{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/string-mask/src/string-mask.js","webpack:///./node_modules/date-fns/toDate/index.js","webpack:///./Content/src/sishab/mensagens.js","webpack:///./node_modules/angular-input-masks/src/helpers/mask-factory.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./Content/src/common/antt.http.service.js","webpack:///./node_modules/date-fns/_lib/startOfUTCISOWeek/index.js","webpack:///./node_modules/br-validations/releases/br-validations.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/_toKey.js","webpack:///./Content/src/common/antt.filter.module.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./Content/src/common/antt.loading.module.js","webpack:///./Content/src/common/antt.module.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./Content/src/common/antt.notification.service.js","webpack:///./node_modules/sweetalert/dist/sweetalert.min.js","webpack:///./Content/src/common/antt.panel.module.js","webpack:///./node_modules/date-fns/_lib/startOfUTCISOWeekYear/index.js","webpack:///./node_modules/angular-input-masks/src/helpers/validators.js","webpack:///./node_modules/angular-input-masks/src/helpers/pre-formatters.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/_isKey.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///(webpack)/buildin/global.js","webpack:///./Content/src/common/antt.notification.module.js","webpack:///./node_modules/lodash/eq.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/identity.js","webpack:///./Content/src/sishab/empresa/empresa.service.js","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./Content/src/common/antt.dialog.service.js","webpack:///./node_modules/date-fns/isValid/index.js","webpack:///./node_modules/date-fns/locale/en-US/index.js","webpack:///./node_modules/date-fns/_lib/getUTCISOWeek/index.js","webpack:///./node_modules/date-fns/_lib/getUTCISOWeekYear/index.js","webpack:///./node_modules/date-fns/_lib/cloneObject/index.js","webpack:///./node_modules/angular-input-masks/src/helpers/number-mask-builder.js","webpack:///./node_modules/lodash/_arrayMap.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_isStrictComparable.js","webpack:///./node_modules/lodash/_matchesStrictComparable.js","webpack:///./node_modules/lodash/_baseGet.js","webpack:///./node_modules/lodash/_castPath.js","webpack:///./node_modules/lodash/sum.js","webpack:///./node_modules/lodash/map.js","webpack:///./node_modules/angular-toastr/index.js","webpack:///./Content/src/common/antt.dialog.module.js","webpack:///./Content/src/common/antt.is-invalid.module.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/ng-file-upload/index.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/angular-input-masks/br.js","webpack:///./node_modules/angular-input-masks/src/angular-input-masks.br.js","webpack:///./node_modules/angular-input-masks/src/global/global-masks.js","webpack:///./node_modules/angular-input-masks/src/global/credit-card/credit-card.js","webpack:///./node_modules/angular-input-masks/src/global/date/date.js","webpack:///./node_modules/date-fns/format/index.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/formatDistance/index.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/formatLong/index.js","webpack:///./node_modules/date-fns/locale/_lib/buildFormatLongFn/index.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/formatRelative/index.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/localize/index.js","webpack:///./node_modules/date-fns/locale/_lib/buildLocalizeFn/index.js","webpack:///./node_modules/date-fns/locale/_lib/buildLocalizeArrayFn/index.js","webpack:///./node_modules/date-fns/locale/en-US/_lib/match/index.js","webpack:///./node_modules/date-fns/locale/_lib/buildMatchFn/index.js","webpack:///./node_modules/date-fns/locale/_lib/buildParseFn/index.js","webpack:///./node_modules/date-fns/locale/_lib/buildMatchPatternFn/index.js","webpack:///./node_modules/date-fns/locale/_lib/parseDecimal/index.js","webpack:///./node_modules/date-fns/format/_lib/formatters/index.js","webpack:///./node_modules/date-fns/_lib/getUTCDayOfYear/index.js","webpack:///./node_modules/date-fns/_lib/addUTCMinutes/index.js","webpack:///./node_modules/date-fns/parse/index.js","webpack:///./node_modules/date-fns/subMinutes/index.js","webpack:///./node_modules/date-fns/addMinutes/index.js","webpack:///./node_modules/date-fns/addMilliseconds/index.js","webpack:///./node_modules/date-fns/parse/_lib/parsers/index.js","webpack:///./node_modules/date-fns/parse/_lib/units/index.js","webpack:///./node_modules/date-fns/_lib/setUTCDay/index.js","webpack:///./node_modules/date-fns/_lib/setUTCISODay/index.js","webpack:///./node_modules/date-fns/_lib/setUTCISOWeek/index.js","webpack:///./node_modules/date-fns/_lib/setUTCISOWeekYear/index.js","webpack:///./node_modules/angular-input-masks/src/global/money/money.js","webpack:///./node_modules/angular-input-masks/src/global/number/number.js","webpack:///./node_modules/angular-input-masks/src/global/percentage/percentage.js","webpack:///./node_modules/angular-input-masks/src/global/scientific-notation/scientific-notation.js","webpack:///./node_modules/angular-input-masks/src/global/time/time.js","webpack:///./node_modules/angular-input-masks/src/br/br-masks.js","webpack:///./node_modules/angular-input-masks/src/br/boleto-bancario/boleto-bancario.js","webpack:///./node_modules/angular-input-masks/src/br/car-plate/car-plate.js","webpack:///./node_modules/angular-input-masks/src/br/cep/cep.js","webpack:///./node_modules/angular-input-masks/src/br/cnpj/cnpj.js","webpack:///./node_modules/angular-input-masks/src/br/cpf/cpf.js","webpack:///./node_modules/angular-input-masks/src/br/cpf-cnpj/cpf-cnpj.js","webpack:///./node_modules/angular-input-masks/src/br/numero-beneficio/numero-beneficio.js","webpack:///./node_modules/angular-input-masks/src/br/inscricao-estadual/ie.js","webpack:///./node_modules/angular-input-masks/src/br/nfe/nfe.js","webpack:///./node_modules/angular-input-masks/src/br/phone/br-phone.js","webpack:///./node_modules/lodash/_baseSum.js","webpack:///./node_modules/lodash/_baseIteratee.js","webpack:///./node_modules/lodash/_baseMatches.js","webpack:///./node_modules/lodash/_baseIsMatch.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/lodash/_mapToArray.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/lodash/_arrayPush.js","webpack:///./node_modules/lodash/_getSymbols.js","webpack:///./node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/lodash/stubArray.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/lodash/_Set.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///./node_modules/lodash/_getMatchData.js","webpack:///./node_modules/lodash/_baseMatchesProperty.js","webpack:///./node_modules/lodash/get.js","webpack:///./node_modules/lodash/_stringToPath.js","webpack:///./node_modules/lodash/_memoizeCapped.js","webpack:///./node_modules/lodash/memoize.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/lodash/_baseToString.js","webpack:///./node_modules/lodash/hasIn.js","webpack:///./node_modules/lodash/_baseHasIn.js","webpack:///./node_modules/lodash/_hasPath.js","webpack:///./node_modules/lodash/property.js","webpack:///./node_modules/lodash/_baseProperty.js","webpack:///./node_modules/lodash/_basePropertyDeep.js","webpack:///./node_modules/lodash/_baseMap.js","webpack:///./node_modules/lodash/_baseEach.js","webpack:///./node_modules/lodash/_baseForOwn.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_createBaseEach.js","webpack:///./node_modules/angular-toastr/dist/angular-toastr.tpls.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/ng-file-upload/dist/ng-file-upload-all.js","webpack:///./Content/src/sishab/acesso/acesso.service.js","webpack:///./Content/src/sishab/acesso/acesso.module.js","webpack:///./Content/src/common/antt.page-title.module.js","webpack:///./Content/src/common/antt.match.module.js","webpack:///./Content/src/sishab/acesso/solicitar/solicitar-acesso.model.js","webpack:///./Content/src/sishab/acesso/solicitar/solicitar-acesso.controller.js","webpack:///./Content/src/sishab/acesso/solicitar/solicitar-acesso.module.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","tokens","pattern","_default","optional","recursive","transform","toLocaleUpperCase","toLocaleLowerCase","escape","isEscaped","pos","count","token","charAt","concatChar","text","character","options","reverse","insertChar","char","position","split","splice","join","StringMask","opt","this","usedefaults","process","result","valid","pattern2","formatted","valuePos","length","patternPos","optionalNumbersToUse","numbersInP","replace","calcOptionalNumbersToUse","escapeNext","inRecursiveMode","steps","start","end","inc","continueCondition","hasMoreTokens","pc","hasMoreRecursiveTokens","shift","push","vc","test","apply","validate","default","argument","dirtyOptions","arguments","TypeError","Date","NaN","additionalDigits","undefined","Number","RangeError","getTime","dateStrings","splitDateString","parseYearResult","parseYear","date","year","restDateString","parseDate","offset","timestamp","time","parseTime","timezone","parseTimezone","getTimezoneOffset","patterns","dateTimeDelimeter","plainTime","YY","YYY","YYYY","YYYYY","MM","DDD","MMDD","Www","WwwD","HH","HHMM","HHMMSS","timezoneZ","timezoneHH","timezoneHHMM","dateString","timeString","array","exec","patternYYY","patternYYYYY","yearString","parseInt","slice","centuryString","month","setUTCFullYear","dayOfYear","day","dayOfISOYear","parseFloat","timezoneString","absoluteOffset","isoYear","week","diff","getUTCDay","setUTCDate","getUTCDate","Mensagens","Alerta","Sucesso","Erro","maskDefinition","restrict","require","link","scope","element","attrs","ctrl","$formatters","$isEmpty","cleanValue","clearValue","toString","format","$parsers","formattedValue","$viewValue","$setViewValue","$render","angular","isUndefined","getModelValue","actualModelType","$modelValue","forEach","validations","validatorFn","validationErrorKey","$validators","modelValue","viewValue","freeGlobal","freeSelf","self","root","Function","isArray","Array","baseIsNative","getValue","getRawTag","objectToString","symToStringTag","BaseHttpService","$http","apiRootUrl","window","dirtyDate","_index2","setUTCHours","obj","_index","CNPJ","b","CPF","cpf","validateDigit","digit","add","init","IE","uf","rules","IErules","rule","_defineRule","str","ruleCandidate","chars","match","algorithmSteps","handleStr","onlyNumbers","mgSpec","substr","sum","normalSum","handledStr","pesos","nums","individualSum","mult","apSpec","ref","rest","mod11","mod10","mod9","expectedDV","minusRestOf11","minusRestOf11v2","minusRestOf10","goSpec","voidFn","validateDV","dvpos","validateIE","dvs","PE","RS","AC","MG","SP","DF","ES","BA","AM","RN","RO","PR","SC","RJ","PA","SE","PB","CE","PI","MA","MT","MS","TO","AL","RR","GO","AP","PIS","pis","pisi","substring","pisd","calculateDigit","ie","cnpj","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","entries","index","clear","entry","set","has","eq","nativeCreate","getNative","isKeyable","map","data","__data__","isSymbol","ErroFilter","input","erro","AlertaFilter","alerta","SucessoFilter","sucesso","StringFormat","stringFormat","template","values","open1","indexOf","close1","Error","brace","colonIndex","argNumber","isNaN","argFormat","arg","toFormattedString","EmptyFilter","emptyFilter","filter","texto","substituicao","trim","PendenciasFilter","pendenciasFilter","pendencias","filtro","isPendenciaExtraordinaria","isPendencia","BooleanTextFilter","booleanTextFilter","MapFilter","mapFilter","propriedade","SumFilter","sumFilter","valorInicial","MaskFilters","maskFilters","apenasLetras","apenasNumeros","placa","$filter","cpfCnpj","naturezaJuridica","codigo","cnae","cep","versao","valor","numeroRequerimento","cpfParcial","telefone","contains","run","moduleName","type","directive","loadingScreen","isLoading","pendingRequests","$watch","show","hide","config","$httpProvider","jwtOptionsProvider","interceptors","tokenGetter","url","loginPath","whiteListedDomains","isFunction","isLength","NotificationKind","NotificationService","toastr","toaster","toasts","message","title","kind","toastId","toast","status","location","href","exceptionMessage","exception","notify","$inject","e","configurable","CLASS_NAMES","MODAL","OVERLAY","SHOW_MODAL","MODAL_TITLE","MODAL_TEXT","ICON","ICON_CUSTOM","CONTENT","FOOTER","BUTTON_CONTAINER","BUTTON","CONFIRM_BUTTON","CANCEL_BUTTON","DANGER_BUTTON","BUTTON_LOADING","BUTTON_LOADER","getNode","document","querySelector","stringToNode","createElement","innerHTML","firstChild","insertAfter","nextSibling","parentNode","insertBefore","removeNode","parentElement","removeChild","throwErr","isPlainObject","getPrototypeOf","ordinalSuffixOf","overlayMarkup","a","iconMarkup","titleMarkup","textMarkup","footerMarkup","CONFIRM_KEY","CANCEL_KEY","visible","className","closeModal","assign","defaultButtonList","cancel","confirm","toUpperCase","u","getButtonListOpts","keys","f","injectElIntoModal","appendChild","textContent","classList","initModalContent","icon","initTitle","initText","content","buttons","dangerMode","modalMarkup","isOpen","promise","actions","timer","resetState","setActionValue","setActionOptionsFor","openModal","onAction","remove","resolve","getState","stopLoading","querySelectorAll","eval","sweetAlert","swal","insertAt","locals","btoa","unescape","encodeURIComponent","JSON","stringify","concat","sources","sourceRoot","id","refs","parts","base","css","media","sourceMap","v","insertInto","w","rel","setAttribute","singleton","h","g","URL","createObjectURL","revokeObjectURL","Blob","styleSheet","cssText","x","createTextNode","childNodes","convertToAbsoluteUrls","y","all","atob","DEBUG","Boolean","protocol","host","pathname","Promise","String","includes","Math","max","abs","Element","CharacterData","DocumentType","writable","_state","_handled","_value","_deferreds","_immediateFn","onFulfilled","onRejected","then","_unhandledRejectionFn","setTimeout","catch","constructor","reject","race","console","_setImmediateFn","_setUnhandledRejectionFn","setImmediate","_id","_clearFn","clearTimeout","setInterval","clearInterval","close","unref","enroll","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","callback","args","nextTick","postMessage","importScripts","onmessage","random","source","addEventListener","attachEvent","MessageChannel","port1","port2","documentElement","onreadystatechange","fun","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","polyfill","getOwnPropertyDescriptor","getOpts","setDefaults","body","errorIconMarkup","warningIconMarkup","successIconMarkup","contentMarkup","buttonMarkup","error","warning","success","src","navigator","userAgent","style","display","offsetHeight","createDocumentFragment","children","target","focus","attributes","preventDefault","shiftKey","tabIndex","closeOnEsc","removeEventListener","_","closeOnClickOutside","k","button","getContentOpts","DEPRECATED_OPTS","logDeprecation","placeholder","onlyRename","replacement","subOption","imageUrl","customClass","imageSize","showCancelButton","showConfirmButton","confirmButtonText","confirmButtonColor","cancelButtonText","closeOnConfirm","closeOnCancel","showLoaderOnConfirm","animation","inputType","inputValue","inputPlaceholder","html","allowEscapeKey","allowClickOutside","PanelController","$transclude","panelHeadingTranscluded","isSlotFilled","panelFooterTranscluded","component","controller","transclude","panelHeading","panelBody","panelFooter","fourthOfJanuary","_index4","_interopRequireDefault","maxNumber","limit","minNumber","min","clearDelimitersAndLeadingZeros","prepareNumberToFormatter","decimals","toFixed","Map","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","arrayLikeKeys","baseKeys","isArrayLike","reIsDeepProp","reIsPlainProp","baseGetTag","isObjectLike","service","toastrConfig","extend","closeButton","positionClass","preventOpenDuplicates","progressBar","timeOut","other","webpackPolyfill","deprecate","paths","EmpresaService","model","post","put","pessoaJuridicaId","pessoaJuridicaConsorciadaId","delete","idEmpresa","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","size","isObject","tag","baseIsArguments","objectProto","propertyIsEnumerable","isArguments","stubFalse","freeExports","nodeType","freeModule","Buffer","isBuffer","reIsUint","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","isTypedArray","DialogService","$q","defaultOptions","when","confirmar","MA5","_index6","_index8","_index10","locale","formatDistance","formatLong","formatRelative","localize","weekStartsOn","firstWeekContainsDate","round","getUTCFullYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","dirtyObject","viewMask","decimalDelimiter","thousandsDelimiter","mask","modelMask","iteratee","global","funcToString","func","baseIsEqualDeep","baseIsEqual","bitmask","customizer","stack","SetCache","arraySome","cacheHas","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","srcValue","castPath","toKey","path","isKey","stringToPath","baseSum","identity","arrayMap","baseIteratee","baseMap","collection","$interpolate","elem","formCtrl","attr","control","$invalid","$submitted","$dirty","isInvalid","toggleClass","Timeout","clearFn","timeout","item","msecs","factory","noGlobal","arr","getProto","flat","class2type","hasOwn","fnToString","ObjectFunctionString","support","isWindow","preservedScriptAttributes","nonce","noModule","DOMEval","code","node","doc","val","script","getAttribute","head","toType","jQuery","selector","context","fn","jquery","toArray","num","pushStack","elems","ret","merge","prevObject","each","first","last","even","grep","_elem","odd","len","j","sort","copy","copyIsArray","clone","deep","expando","isReady","msg","noop","proto","Ctor","isEmptyObject","globalEval","makeArray","results","inArray","second","invert","matches","callbackExpect","guid","iterator","_i","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","pop","pushNative","list","booleans","whitespace","identifier","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","nonHex","high","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","disabled","nodeName","dir","next","els","seed","nid","groups","newSelector","newContext","ownerDocument","getElementById","getElementsByTagName","getElementsByClassName","qsa","testContext","toSelector","qsaError","removeAttribute","cache","cacheLength","markFunction","assert","el","addHandle","handler","attrHandle","siblingCheck","cur","sourceIndex","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","matchIndexes","namespace","namespaceURI","hasCompare","subWindow","defaultView","top","createComment","getById","getElementsByName","attrId","find","getAttributeNode","tmp","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","specified","sel","uniqueSort","duplicates","detectDuplicates","sortStable","nodeValue","selectors","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","operator","check","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","parent","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","matcher","unmatched","lang","elemLang","hash","activeElement","hasFocus","checked","selected","selectedIndex","_matchIndexes","radio","checkbox","file","password","image","submit","reset","combinator","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","rneedsContext","needsContext","rsingleTag","winnow","qualifier","not","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","contents","prev","sibling","targets","closest","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","rnothtmlwhite","Identity","Thrower","ex","adoptValue","noValue","method","fail","Callbacks","flag","createOptions","firing","memory","fired","locked","queue","firingIndex","fire","stopOnFalse","empty","disable","lock","fireWith","Deferred","tuples","state","always","deferred","pipe","fns","newDefer","tuple","returned","progress","onProgress","maxDepth","depth","special","that","mightThrow","notifyWith","resolveWith","exceptionHook","stackTrace","rejectWith","getStackHook","stateString","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","warn","readyException","readyList","completed","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","camelCase","string","acceptData","owner","Data","uid","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","parse","getData","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","defer","pnum","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","showHide","toggle","div","rcheckableType","rtagName","rscriptType","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","types","one","origFn","event","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","trigger","Event","handleObjIn","eventHandle","events","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","originalEvent","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","view","charCode","keyCode","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","fixInput","domManip","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","before","after","replaceWith","replaceChild","appendTo","prependTo","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","offsetWidth","measure","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","borderTopWidth","borderBottomWidth","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","propHooks","percent","eased","duration","step","fx","scrollTop","scrollLeft","linear","swing","cos","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","complete","anim","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","bool","attrNames","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","addClass","classes","curValue","clazz","finalValue","removeClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","valueOrFunction","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","lastModified","etag","isLocal","processData","async","contentType","accepts","json","responseFields","converters","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","abort","statusText","finalText","crossDomain","hasContent","ifModified","headers","beforeSend","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","_jQuery","_$","$","noConflict","Uint8Array","baseTimes","isIndex","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseFor","createBaseFor","maskFactory","ccMask","rawValue","creditCard","formatDate","isValidDate","dateFormatMapByLocale","DateMaskDirective","$locale","dateFormat","uiDateMask","dateMask","formatter","formatedValue","dirtyFormatStr","formatStr","localeFormatters","formatters","formattingTokensRegExp","defaultFormattingTokensRegExp","originalDate","timezoneOffset","utcDate","_index12","formatterOptions","_originalDate","longFormattingTokensRegExp","cleanEscapedString","formatDistanceLocale","addSuffix","comparison","lessThanXSeconds","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","LT","LTS","L","LL","LLL","LLLL","formatLongLocale","buildShortLongFormat","ll","lll","llll","tokensToBeShortedPattern","baseDate","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","weekdayValues","narrow","short","long","monthValues","timeOfDayValues","uppercase","lowercase","ordinalNumber","dirtyNumber","number","rem100","weekday","weekdays","months","timeOfDay","hours","timesOfDay","defaultType","indexCallback","dirtyIndex","ordinalNumbers","any","dirtyString","matchResult","patternsArray","findIndex","getUTCMonth","addLeadingZeros","quarter","getUTCHours","getUTCMinutes","getUTCSeconds","floor","getUTCMilliseconds","formatTimezone","delimeter","sign","absOffset","minutes","targetLength","output","setUTCMonth","startOfYearTimestamp","difference","dirtyAmount","amount","setUTCMinutes","dirtyDateString","dirtyFormatString","dirtyBaseDate","localeParsers","parsers","localeUnits","units","formatString","subFnOptions","parsingTokensRegExp","defaultParsingTokensRegExp","tokensLength","setters","priority","dateToSystemTimezone","parser","unitName","uniquePrioritySetters","setterArray","dateValues","settersLength","singleDigit","twoDigits","threeDigits","fourDigits","anyDigits","parseDecimal","M","parseResult","W","D","H","Z","ZZ","twoDigitYear","isoWeek","dayOfWeek","dayOfISOWeek","dayOfMonth","timeOfDayHours","setTimeOfDay","seconds","setUTCSeconds","milliseconds","setUTCMilliseconds","dirtyDay","localeWeekStartsOn","defaultWeekStartsOn","currentDay","dirtyISOWeek","dirtyISOYear","dateStartOfYear","validators","PreFormatters","MoneyMaskDirective","$parse","NUMBER_FORMATS","DECIMAL_SEP","GROUP_SEP","currencySym","CURRENCY_SYM","symbolSeparation","uiMoneyMask","backspacePressed","decimalsPattern","maskPattern","isDefined","uiCurrencyAfter","uiDecimalDelimiter","uiThousandsDelimiter","uiHideGroupSep","uiHideSpace","currencySymbol","minVal","maxVal","moneyMask","actualNumber","uiNegativeNumber","isNegative","retValue","uiIntegerModel","pow","valueToFormat","_decimals","currency","_currency","$validate","NumberMasks","NumberMaskDirective","uiNumberMask","PercentageMaskDirective","percentageSymbol","uiHidePercentageSign","uiPercentageMask","multiplier","decimalMask","uiPercentageValue","numberDecimals","modelMultiplier","preparePercentageToFormatter","ScientificNotationMaskDirective","uiScientificNotationMask","significandMask","significandMaskBuilder","exponent","splittedNumber","integerPartOfSignificand","decimalPartOfSignificand","splitNumber","toExponential","numberToFormat","isExponentNegative","needsToInvertSign","MAX_VALUE","timeFormat","uiTimeMask","formattedValueLength","unformattedValueLength","timeMask","splittedValue","boletoBancarioMask","tributoBancarioMask","brBoletoBancario","carPlateMask","carPlate","cepMask","BrV","cnpjPattern","cpfPattern","numeroBeneficioPattern","ieMasks","BrIeMaskDirective","applyIEMask","masks","getMask","uiBrIeMask","actualValue","newState","nfeAccessKeyMask","nfeAccessKey","phoneMask8D","countryCode","areaCode","phoneMask9D","phoneMask0800","brPhoneMaskOptions","sliceSize","findOption","brPhoneMaskOption","uiBrPhoneNumberMask","maskOption","originalModelType","brPhoneNumber","valueLength","baseMatches","baseMatchesProperty","baseIsMatch","getMatchData","matchesStrictComparable","matchData","noCustomizer","objValue","COMPARE_PARTIAL_FLAG","assocIndexOf","pairs","LARGE_ARRAY_SIZE","isMasked","toSource","reIsHostCtor","funcProto","reIsNative","nativeObjectToString","isOwn","unmasked","coreJsData","maskSrcKey","IE_PROTO","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","getMapData","equalArrays","equalByTag","equalObjects","getTag","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","setCacheAdd","setCacheHas","predicate","mapToArray","setToArray","symbolProto","symbolValueOf","valueOf","byteLength","byteOffset","buffer","convert","stacked","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","baseGetAllKeys","getSymbols","arrayPush","keysFunc","symbolsFunc","arrayFilter","stubArray","nativeGetSymbols","getOwnPropertySymbols","symbol","resIndex","typedArrayTags","freeProcess","isPrototype","nativeKeys","overArg","DataView","Set","WeakMap","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ArrayBuffer","ctorString","isStrictComparable","hasIn","baseGet","memoizeCapped","rePropName","reEscapeChar","quote","subString","memoize","resolver","memoized","Cache","baseToString","symbolToString","baseHasIn","hasPath","hasFunc","baseProperty","basePropertyDeep","baseEach","baseForOwn","createBaseEach","fromRight","iterable","eachFunc","$animate","$injector","$document","$rootScope","$sce","previousToastMessage","openToasts","containerDefer","optionsOverride","_buildNotification","_getOptions","iconClasses","info","refreshTimer","newTime","isOpened","wasClicked","findToast","deleting","leave","onHidden","$destroy","maxOpened","isDuplicateOfLast","preventDuplicates","isDuplicateOpen","shouldExit","newToast","$new","iconClass","badOptions","cleanOptionsOverride","allowHtml","trustAsHtml","toastType","extraData","extendedTimeOut","messageClass","onShown","generateEvent","onTap","tapToDismiss","titleClass","toastClass","closeHtml","createScope","angularDomEl","$compile","createToastEl","createToast","autoDismiss","ifMaxOpenedAndAutoDismiss","oldToasts","containerId","enter","_createOrGetContainer","newestOnTop","_notify","constant","templates","progressbar","templateUrl","toastCtrl","intervalId","currentTimeOut","hideTime","updateProgress","percentage","$on","startProgressBar","stopProgressBar","$interval","wantsCloseButton","createTimeout","tapToast","$event","$apply","$templateCache","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","runIfPresent","postMessageIsAsynchronous","oldOnMessage","canUsePostMessage","task","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","patchXHR","fnName","newFn","redefineProp","FileAPI","shouldLoad","FormData","forceLoad","initializeUploadListener","__listeners","upload","origAddEventListener","__url","__origError","__fileApiXHR","header","__requestHeaders","__isFileAPIShim","formData","fileApiXHR","isString","__completed","loaded","__loaded","total","__total","lengthComputable","loadend","resp","_this","noContentTimeout","files","hasFlash","__isFileAPIBlobShim","ActiveXObject","mimeTypes","getOffset","offsetLeft","offsetTop","html5","jsUrl","basePath","allScripts","jsPath","search","staticPath","ngfFixIE","fileElem","changeFn","label","fileApiChangeFn","tagName","isInputTypeFile","getFiles","__files_","disableFileInput","FileReader","loadStarted","dispatchEvent","onloadstart","onloadend","onprogress","constructEvent","listener","readAsDataURL","readAsText","ngFileUpload","$timeout","promisesCount","isResumeSupported","resumeSupported","sendHttp","_deferred","notifyProgress","progressFunc","getNotifyEvent","_start","_file","uploadWithAngular","_chunkSize","_finished","fileSize","_end","disableProgress","__setXHR_","__XHR","xhrFn","resumeSizeUrl","resumeSizeResponseReader","resumeSize","pause","origXhrFn","isUploadInProgress","rename","ngfName","jsonBlob","blob","_ngfBlob","toJson","isFile","flashId","internal","addFieldToFormData","isDate","toISOString","toResumeFile","_fileKey","$$ngfCircularDetection","objectKey","arrayKey","_isDigested","translateScalars","resumeChunkSize","transformRequest","fields","formDataAppender","http","defaults","urlToBlob","arrayBufferView","UploadExif","resizeWithParams","ngModel","promises","emptyPromise","handleFile","validatePattern","resizeIf","attrGetter","$width","$height","$file","resize","resizedFile","$error","$errorMessages","$errorParam","$ngfValidations","applyModelValidation","getAttrWithDefaults","def","attrVal","shouldUpdateOn","modelOptions","updateOn","rejectPromise","happyPromise","updateModel","fileChange","noDelay","update","invalidFiles","newFiles","dupFiles","isSingleModel","$$ngfPrevValidFiles","$$ngfPrevInvalidFiles","invalidFile","$files","$newFiles","$duplicateFiles","$invalidFiles","$invalidFile","invalidModel","allNewFiles","prevValidFiles","prevInvalidFiles","invalids","valids","resizeAndUpdate","keep","debounce","change","resizingFiles","validateAfterResize","resizeVal","isResizeSupported","resizeFile","validationResult","validsFiles","invalidsFiles","equals","f1","f2","$ngfOrigSize","isInPrevFiles","removeDuplicates","allowInvalid","validFiles","isExifSupported","applyExifRotation","fixedFile","applyExifRotations","Upload","generatedElems","linkFileSelect","fileChangeAttr","fileList","registerModelChangeValidator","unwatches","$observe","initialTouchStartY","initialTouchStartX","resetModel","updateId","attribute","bindAttrToFileInput","createFileInput","currentX","currentY","detectSwipe","ua","androidFixMinorVersion","isDelayedClickSupported","appVersion","ie10SameFileSelectFix","unwatch","linkFileDirective","directiveName","resizeParams","isBackground","constructDataUrl","disallowObjectUrl","dataUrl","$ngfDataUrl","$ngfBlobUrl","naturalWidth","clientWidth","naturalHeight","clientHeight","UploadBase","base64DataUrl","urls","ff","$$ngfDataUrlPromise","$$ngfBlobUrlPromise","webkitURL","blobUrls","blobUrlsTotalSize","maxMemory","blobUrlsMaxMemory","maxLength","blobUrlsMaxQueueSize","fileReader","$compileProvider","imgSrcSanitizationWhitelist","aHrefSanitizationWhitelist","UploadDataUrl","trustedUrl","trustAsResourceUrl","$ngfDataUrlFilterInProgress","globStringToRegex","regexp","excludes","exclude","ratioToFloat","xIndex","filesArray","$setDirty","markModelAsDirty","validation","$setValidity","getValidationAttr","validationName","dName","prevLength","ignoredErrors","runAllValidation","validateSync","totalSize","validateAsync","asyncFn","resolveResult","resolveInternal","imageDimensions","mediaDuration","$duration","deffer","isValid","$ngfWidth","$ngfHeight","$ngfDimensionPromise","img","secondsCounter","checkLoadErrorInCaseOfNoCallback","$ngfDuration","$ngfDurationPromise","checkLoadError","UploadValidate","imagen","quality","ratio","centerCrop","canvasElement","imageElement","imgWidth","imgHeight","ratioFloat","dimensions","srcWidth","srcHeight","maxHeight","marginX","marginY","calculateAspectRatioFit","getContext","drawImage","toDataURL","dataUrltoBlob","dataurl","origSize","mime","bstr","u8arr","$ngfName","restoreExif","dropAvailable","$window","available","actualDragOverClass","leaveTimeout","dragOverDelay","dataTransfer","effectAllowed","dropEffect","dClass","accept","items","calculateDragOverClass","$isDragging","$class","extractFilesAndUpdateModel","clipboardData","updateOnType","allowDir","multiple","maxFiles","maxTotalSize","includeDir","traverseFileTree","isDirectory","dirReader","createReader","readEntries","webkitGetAsEntry","getAsFile","extractFiles","extractFilesFromHtml","linkDrop","UploadResize","readAsArrayBuffer","readOrientation","reader","slicedFile","orientation","getUint16","getUint32","little","tags","setUint16","fixedArrayBuffer","canvas","ctx","applyTransform","bytes","arrayBufferToBase64","resized","ExifRestorer","chr1","chr2","enc1","enc2","enc3","chr3","enc4","KEY_STR","origFileBase64","resizedFileBase64","rawImage","decode64","segments","slice2Segments","exifManipulation","encode64","exifArray","getExifArray","newImageArray","insertExif","seg","imageData","buf","separatePoint","mae","ato","rawImageArray","endPoint","restore","AcessoService","uploadService","arquivo","codigoDocumento","dataInicio","periodoSolicitacao","startDate","dataFim","endDate","antt","panel","bindings","titulo","subtitulo","ngModelCtrl","SolicitarAcessoModel","email","documentoId","inclusaoManual","SolicitarAcessoController","$scope","dialogService","notificationService","acessoService","empresaService","responsavel","pessoaJuridica","limparCamposSolicitacaoAcesso","isEmpresaJaCadastradaPromise","empresaJaCadastrada","obterPessoaJuridica","obterResponsavel","reason","codigoNaturezaJuridica","EC012","servicoReceitaIndisponivel","handleError","anexarIdentificacao","form","$valid","solicitarAcesso","MS30","reload","cancelar","confirmed","ME115","confirmado","obterPessoaJuridicaDesatualizada","acesso","dialog","notification","pageTitle"],"mappings":"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lBA,KACI,iMACJA,KACI,qHACJA,KAAkB,8BAClBA,KAAkB,qCAClBA,KAAkB,yCAClBA,KAAkB,4CAClBA,KAAkB,wEAClBA,KAAkB,kDAClBA,KAAkB,gCAClBA,KACI,0KACJA,KAAkB,gCAClBA,KAAkB,wCAClBA,KAAkB,yEAClBA,KACI,mHACJA,KAAkB,gDAClBA,KAAkB,8BAClBA,KAAkB,oCAClBA,KAAkB,iCAClBA,KAAkB,kEAClBA,KAAkB,mCAClBA,KAAkB,kCAClBA,KAAkB,0CAElBF,EAAUE,QAAUA,EAEpB,IAAMC,EAAO,CACbA,MAAgB,0DAEhBA,IAAc,0BACdA,IAAc,+DACdA,IACI,2GACJA,IAAc,kBACdA,IAAc,oEACdA,IAAc,uBACdA,IAAc,mDACdA,IAAc,8CACdA,IACI,yFACJA,KAAe,sCACfA,KAAe,sCACfA,KAAe,4DACfA,KAAe,gEACfA,KAAe,oDACfA,KAAe,qDACfA,KAAe,wBACfA,KAAe,2DACfA,KAAe,iEACfA,KAAe,uDACfA,KACI,yNACJA,KAAe,iEACfA,KACI,wIACJA,KACI,uIACJA,KAAe,wEACfA,KAAe,+DACfA,KAAe,4DACfA,KACI,6FACJA,KACI,6IACJA,KAAe,mDACfA,KAAe,kDACfA,KACI,qGACJA,KACI,uFACJA,KACI,yGACJA,KACI,qHACJA,KACI,kFACJA,KACI,2FACJA,KAAe,0CACfA,KAAe,mCACfA,KAAe,mCACfA,KAAe,6EACfA,KAAe,sEACfA,KAAe,6BACfA,KAAe,mBACfA,KAAe,gDACfA,KACI,2GACJA,KAAe,6EACfA,KACI,uHACJA,KACI,8GACJA,KAAe,6DACfA,KAAe,4DACfA,KAAe,gDACfA,KAAe,0DACfA,KAAe,qEACfA,KAAe,sEACfA,KAAe,iTACfA,KAAe,qEACfA,KAAe,8DACfA,KAAe,0EACfA,KAAe,qEACfA,KACI,oHACJA,KAAe,yDACfA,KAAe,2BACfA,KAAe,oEACfA,KACI,4FACJA,KAAe,sBACfA,KACI,qHACJA,KAAe,iBACfA,KAAe,qEACfA,KAAe,8BACfA,KAAe,mDACfA,KAAe,0B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","file":"solicitar-acesso.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 687);\n","(function(root, factory) {\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.StringMask = factory();\n }\n}(this, function() {\n var tokens = {\n '0': {pattern: /\\d/, _default: '0'},\n '9': {pattern: /\\d/, optional: true},\n '#': {pattern: /\\d/, optional: true, recursive: true},\n 'A': {pattern: /[a-zA-Z0-9]/},\n 'S': {pattern: /[a-zA-Z]/},\n 'U': {pattern: /[a-zA-Z]/, transform: function(c) { return c.toLocaleUpperCase(); }},\n 'L': {pattern: /[a-zA-Z]/, transform: function(c) { return c.toLocaleLowerCase(); }},\n '$': {escape: true}\n };\n\n function isEscaped(pattern, pos) {\n var count = 0;\n var i = pos - 1;\n var token = {escape: true};\n while (i >= 0 && token && token.escape) {\n token = tokens[pattern.charAt(i)];\n count += token && token.escape ? 1 : 0;\n i--;\n }\n return count > 0 && count % 2 === 1;\n }\n\n function calcOptionalNumbersToUse(pattern, value) {\n var numbersInP = pattern.replace(/[^0]/g,'').length;\n var numbersInV = value.replace(/[^\\d]/g,'').length;\n return numbersInV - numbersInP;\n }\n\n function concatChar(text, character, options, token) {\n if (token && typeof token.transform === 'function') {\n character = token.transform(character);\n }\n if (options.reverse) {\n return character + text;\n }\n return text + character;\n }\n\n function hasMoreTokens(pattern, pos, inc) {\n var pc = pattern.charAt(pos);\n var token = tokens[pc];\n if (pc === '') {\n return false;\n }\n return token && !token.escape ? true : hasMoreTokens(pattern, pos + inc, inc);\n }\n\n function hasMoreRecursiveTokens(pattern, pos, inc) {\n var pc = pattern.charAt(pos);\n var token = tokens[pc];\n if (pc === '') {\n return false;\n }\n return token && token.recursive ? true : hasMoreRecursiveTokens(pattern, pos + inc, inc);\n }\n\n function insertChar(text, char, position) {\n var t = text.split('');\n t.splice(position, 0, char);\n return t.join('');\n }\n\n function StringMask(pattern, opt) {\n this.options = opt || {};\n this.options = {\n reverse: this.options.reverse || false,\n usedefaults: this.options.usedefaults || this.options.reverse\n };\n this.pattern = pattern;\n }\n\n StringMask.prototype.process = function proccess(value) {\n if (!value) {\n return {result: '', valid: false};\n }\n value = value + '';\n var pattern2 = this.pattern;\n var valid = true;\n var formatted = '';\n var valuePos = this.options.reverse ? value.length - 1 : 0;\n var patternPos = 0;\n var optionalNumbersToUse = calcOptionalNumbersToUse(pattern2, value);\n var escapeNext = false;\n var recursive = [];\n var inRecursiveMode = false;\n\n var steps = {\n start: this.options.reverse ? pattern2.length - 1 : 0,\n end: this.options.reverse ? -1 : pattern2.length,\n inc: this.options.reverse ? -1 : 1\n };\n\n function continueCondition(options) {\n if (!inRecursiveMode && !recursive.length && hasMoreTokens(pattern2, patternPos, steps.inc)) {\n // continue in the normal iteration\n return true;\n } else if (!inRecursiveMode && recursive.length &&\n hasMoreRecursiveTokens(pattern2, patternPos, steps.inc)) {\n // continue looking for the recursive tokens\n // Note: all chars in the patterns after the recursive portion will be handled as static string\n return true;\n } else if (!inRecursiveMode) {\n // start to handle the recursive portion of the pattern\n inRecursiveMode = recursive.length > 0;\n }\n\n if (inRecursiveMode) {\n var pc = recursive.shift();\n recursive.push(pc);\n if (options.reverse && valuePos >= 0) {\n patternPos++;\n pattern2 = insertChar(pattern2, pc, patternPos);\n return true;\n } else if (!options.reverse && valuePos < value.length) {\n pattern2 = insertChar(pattern2, pc, patternPos);\n return true;\n }\n }\n return patternPos < pattern2.length && patternPos >= 0;\n }\n\n /**\n * Iterate over the pattern's chars parsing/matching the input value chars\n * until the end of the pattern. If the pattern ends with recursive chars\n * the iteration will continue until the end of the input value.\n *\n * Note: The iteration must stop if an invalid char is found.\n */\n for (patternPos = steps.start; continueCondition(this.options); patternPos = patternPos + steps.inc) {\n // Value char\n var vc = value.charAt(valuePos);\n // Pattern char to match with the value char\n var pc = pattern2.charAt(patternPos);\n\n var token = tokens[pc];\n if (recursive.length && token && !token.recursive) {\n // In the recursive portion of the pattern: tokens not recursive must be seen as static chars\n token = null;\n }\n\n // 1. Handle escape tokens in pattern\n // go to next iteration: if the pattern char is a escape char or was escaped\n if (!inRecursiveMode || vc) {\n if (this.options.reverse && isEscaped(pattern2, patternPos)) {\n // pattern char is escaped, just add it and move on\n formatted = concatChar(formatted, pc, this.options, token);\n // skip escape token\n patternPos = patternPos + steps.inc;\n continue;\n } else if (!this.options.reverse && escapeNext) {\n // pattern char is escaped, just add it and move on\n formatted = concatChar(formatted, pc, this.options, token);\n escapeNext = false;\n continue;\n } else if (!this.options.reverse && token && token.escape) {\n // mark to escape the next pattern char\n escapeNext = true;\n continue;\n }\n }\n\n // 2. Handle recursive tokens in pattern\n // go to next iteration: if the value str is finished or\n // if there is a normal token in the recursive portion of the pattern\n if (!inRecursiveMode && token && token.recursive) {\n // save it to repeat in the end of the pattern and handle the value char now\n recursive.push(pc);\n } else if (inRecursiveMode && !vc) {\n // in recursive mode but value is finished. Add the pattern char if it is not a recursive token\n formatted = concatChar(formatted, pc, this.options, token);\n continue;\n } else if (!inRecursiveMode && recursive.length > 0 && !vc) {\n // recursiveMode not started but already in the recursive portion of the pattern\n continue;\n }\n\n // 3. Handle the value\n // break iterations: if value is invalid for the given pattern\n if (!token) {\n // add char of the pattern\n formatted = concatChar(formatted, pc, this.options, token);\n if (!inRecursiveMode && recursive.length) {\n // save it to repeat in the end of the pattern\n recursive.push(pc);\n }\n } else if (token.optional) {\n // if token is optional, only add the value char if it matchs the token pattern\n // if not, move on to the next pattern char\n if (token.pattern.test(vc) && optionalNumbersToUse) {\n formatted = concatChar(formatted, vc, this.options, token);\n valuePos = valuePos + steps.inc;\n optionalNumbersToUse--;\n } else if (recursive.length > 0 && vc) {\n valid = false;\n break;\n }\n } else if (token.pattern.test(vc)) {\n // if token isn't optional the value char must match the token pattern\n formatted = concatChar(formatted, vc, this.options, token);\n valuePos = valuePos + steps.inc;\n } else if (!vc && token._default && this.options.usedefaults) {\n // if the token isn't optional and has a default value, use it if the value is finished\n formatted = concatChar(formatted, token._default, this.options, token);\n } else {\n // the string value don't match the given pattern\n valid = false;\n break;\n }\n }\n\n return {result: formatted, valid: valid};\n };\n\n StringMask.prototype.apply = function(value) {\n return this.process(value).result;\n };\n\n StringMask.prototype.validate = function(value) {\n return this.process(value).valid;\n };\n\n StringMask.process = function(value, pattern, options) {\n return new StringMask(pattern, options).process(value);\n };\n\n StringMask.apply = function(value, pattern, options) {\n return new StringMask(pattern, options).apply(value);\n };\n\n StringMask.validate = function(value, pattern, options) {\n return new StringMask(pattern, options).validate(value);\n };\n\n return StringMask;\n}));\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toDate;\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE = 60000;\nvar DEFAULT_ADDITIONAL_DIGITS = 2;\n\nvar patterns = {\n dateTimeDelimeter: /[T ]/,\n plainTime: /:/,\n\n // year tokens\n YY: /^(\\d{2})$/,\n YYY: [/^([+-]\\d{2})$/, // 0 additional digits\n /^([+-]\\d{3})$/, // 1 additional digit\n /^([+-]\\d{4})$/ // 2 additional digits\n ],\n YYYY: /^(\\d{4})/,\n YYYYY: [/^([+-]\\d{4})/, // 0 additional digits\n /^([+-]\\d{5})/, // 1 additional digit\n /^([+-]\\d{6})/ // 2 additional digits\n ],\n\n // date tokens\n MM: /^-(\\d{2})$/,\n DDD: /^-?(\\d{3})$/,\n MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n Www: /^-?W(\\d{2})$/,\n WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n\n HH: /^(\\d{2}([.,]\\d*)?)$/,\n HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n\n // timezone tokens\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-])(\\d{2})$/,\n timezoneHHMM: /^([+-])(\\d{2}):?(\\d{2})$/\n};\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If an argument is a string, the function tries to parse it.\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument is null, it is treated as an invalid date.\n *\n * If all above fails, the function passes the given argument to Date constructor.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n * All *date-fns* functions will throw `RangeError` if `options.additionalDigits` is not 0, 1, 2 or undefined.\n *\n * @param {*} argument - the value to convert\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = toDate('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * var result = toDate('+02014101', {additionalDigits: 1})\n * //=> Fri Apr 11 2014 00:00:00\n */\nfunction toDate(argument, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n if (argument === null) {\n return new Date(NaN);\n }\n\n var options = dirtyOptions || {};\n\n var additionalDigits = options.additionalDigits === undefined ? DEFAULT_ADDITIONAL_DIGITS : Number(options.additionalDigits);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n\n // Clone the date\n if (argument instanceof Date) {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument !== 'string') {\n return new Date(argument);\n }\n\n var dateStrings = splitDateString(argument);\n\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n var year = parseYearResult.year;\n var restDateString = parseYearResult.restDateString;\n\n var date = parseDate(restDateString, year);\n\n if (date) {\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n } else {\n // get offset accurate to hour in timezones that change offset\n offset = new Date(timestamp + time).getTimezoneOffset();\n offset = new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE).getTimezoneOffset();\n }\n\n return new Date(timestamp + time + offset * MILLISECONDS_IN_MINUTE);\n } else {\n return new Date(argument);\n }\n}\n\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimeter);\n var timeString;\n\n if (patterns.plainTime.test(array[0])) {\n dateStrings.date = null;\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n }\n\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n var patternYYY = patterns.YYY[additionalDigits];\n var patternYYYYY = patterns.YYYYY[additionalDigits];\n\n var token;\n\n // YYYY or ±YYYYY\n token = patterns.YYYY.exec(dateString) || patternYYYYY.exec(dateString);\n if (token) {\n var yearString = token[1];\n return {\n year: parseInt(yearString, 10),\n restDateString: dateString.slice(yearString.length)\n };\n }\n\n // YY or ±YYY\n token = patterns.YY.exec(dateString) || patternYYY.exec(dateString);\n if (token) {\n var centuryString = token[1];\n return {\n year: parseInt(centuryString, 10) * 100,\n restDateString: dateString.slice(centuryString.length)\n };\n }\n\n // Invalid ISO-formatted year\n return {\n year: null\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) {\n return null;\n }\n\n var token;\n var date;\n var month;\n var week;\n\n // YYYY\n if (dateString.length === 0) {\n date = new Date(0);\n date.setUTCFullYear(year);\n return date;\n }\n\n // YYYY-MM\n token = patterns.MM.exec(dateString);\n if (token) {\n date = new Date(0);\n month = parseInt(token[1], 10) - 1;\n date.setUTCFullYear(year, month);\n return date;\n }\n\n // YYYY-DDD or YYYYDDD\n token = patterns.DDD.exec(dateString);\n if (token) {\n date = new Date(0);\n var dayOfYear = parseInt(token[1], 10);\n date.setUTCFullYear(year, 0, dayOfYear);\n return date;\n }\n\n // YYYY-MM-DD or YYYYMMDD\n token = patterns.MMDD.exec(dateString);\n if (token) {\n date = new Date(0);\n month = parseInt(token[1], 10) - 1;\n var day = parseInt(token[2], 10);\n date.setUTCFullYear(year, month, day);\n return date;\n }\n\n // YYYY-Www or YYYYWww\n token = patterns.Www.exec(dateString);\n if (token) {\n week = parseInt(token[1], 10) - 1;\n return dayOfISOYear(year, week);\n }\n\n // YYYY-Www-D or YYYYWwwD\n token = patterns.WwwD.exec(dateString);\n if (token) {\n week = parseInt(token[1], 10) - 1;\n var dayOfWeek = parseInt(token[2], 10) - 1;\n return dayOfISOYear(year, week, dayOfWeek);\n }\n\n // Invalid ISO-formatted date\n return null;\n}\n\nfunction parseTime(timeString) {\n var token;\n var hours;\n var minutes;\n\n // hh\n token = patterns.HH.exec(timeString);\n if (token) {\n hours = parseFloat(token[1].replace(',', '.'));\n return hours % 24 * MILLISECONDS_IN_HOUR;\n }\n\n // hh:mm or hhmm\n token = patterns.HHMM.exec(timeString);\n if (token) {\n hours = parseInt(token[1], 10);\n minutes = parseFloat(token[2].replace(',', '.'));\n return hours % 24 * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE;\n }\n\n // hh:mm:ss or hhmmss\n token = patterns.HHMMSS.exec(timeString);\n if (token) {\n hours = parseInt(token[1], 10);\n minutes = parseInt(token[2], 10);\n var seconds = parseFloat(token[3].replace(',', '.'));\n return hours % 24 * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1000;\n }\n\n // Invalid ISO-formatted time\n return null;\n}\n\nfunction parseTimezone(timezoneString) {\n var token;\n var absoluteOffset;\n\n // Z\n token = patterns.timezoneZ.exec(timezoneString);\n if (token) {\n return 0;\n }\n\n // ±hh\n token = patterns.timezoneHH.exec(timezoneString);\n if (token) {\n absoluteOffset = parseInt(token[2], 10) * 60;\n return token[1] === '+' ? -absoluteOffset : absoluteOffset;\n }\n\n // ±hh:mm or ±hhmm\n token = patterns.timezoneHHMM.exec(timezoneString);\n if (token) {\n absoluteOffset = parseInt(token[2], 10) * 60 + parseInt(token[3], 10);\n return token[1] === '+' ? -absoluteOffset : absoluteOffset;\n }\n\n return 0;\n}\n\nfunction dayOfISOYear(isoYear, week, day) {\n week = week || 0;\n day = day || 0;\n var date = new Date(0);\n date.setUTCFullYear(isoYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = week * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\nmodule.exports = exports['default'];","export const Mensagens = {};\r\n\r\nconst Alerta = {};\r\nAlerta['MA1'] =\r\n 'Deseja confirmar a solicita\\u00E7\\u00E3o de habilita\\u00E7\\u00E3o da empresa \\u201C{0}\\u201D, representada por \\u201C{1}\\u201D, para o(s) servi\\u00E7o(s) {3} de transporte rodovi\\u00E1rio de passageiros?';\r\nAlerta['MA2'] =\r\n 'Aten\\u00E7\\u00E3o: Os dados referentes aos campos \\u201CInforma\\u00E7\\u00F5es da empresa\\u201D e \\u201CHabilita\\u00E7\\u00E3o para transporte rodovi\\u00E1rio de passageiros\\u201D devem se referir \\u00E0 empresa cons\\u00F3rcio. As \\u201Cinforma\\u00E7\\u00F5es do representante legal\\u201D devem se referir \\u00E0 empresa l\\u00EDder.';\r\nAlerta['MA3'] = 'Deseja salvar a an\\u00E1lise?';\r\nAlerta['MA4'] = 'Deseja confirmar a exclus\\u00E3o?';\r\nAlerta['MA5'] = 'Tem certeza que deseja sair da tela? Os dados n\\u00E3o salvos ser\\u00E3o perdidos!';\r\nAlerta['MA6'] =\r\n 'Grupo de publica\\u00E7\\u00E3o foi {0} com sucesso, deseja encaminhar o grupo para publica\\u00E7\\u00E3o?';\r\nAlerta['MA7'] = 'Deseja realmente salvar as informa\\u00E7\\u00F5es e reenviar o requerimento para an\\u00E1lise da ANTT?';\r\nAlerta['MA8'] =\r\n 'Os dados da empresa foram atualizados. Ser\\u00E1 necess\\u00E1rio salvar os dados para confirmar a altera\\u00E7\\u00E3o.';\r\nAlerta['MA9'] = 'Deseja incluir outro motorista?';\r\nAlerta['MA10'] = 'Dados recuperados. Ser\\u00E1 necess\\u00E1rio salvar os dados para confirmar a altera\\u00E7\\u00E3o.';\r\nAlerta['MA11'] = '';\r\nAlerta['MA12'] =\r\n 'Empresa possui multa impeditiva. Deseja continuar com a solicita\\u00E7\\u00E3o de habilita\\u00E7\\u00E3o?';\r\nAlerta['MA13'] = 'Deseja atribuir mais requerimentos aos Analistas?';\r\nAlerta['MA14'] = 'Deseja salvar todos os campos?';\r\nAlerta['MA15'] = 'Informe os tipos de servi\\u00E7os de transporte executados pelo ve\\u00EDculo.';\r\nAlerta['MA16'] = 'Data do seguro do ve\\u00EDculo vencida.';\r\nAlerta['MA17'] = 'Deseja cadastrar outro ve\\u00EDculo?';\r\nAlerta['MA18'] = 'Deseja terminar a sess\\u00E3o?';\r\nAlerta['MA19'] = 'Deseja realmente inativar o ve\\u00EDculo da placa {0}?';\r\nAlerta['MA20'] = 'Nenhuma medida judicial cadastrada.';\r\nAlerta['MA21'] = 'Nenhuma pend\\u00EAncia cadastrada.';\r\nAlerta['MA22'] = 'Medida Judicial j\\u00E1 cadastrada.';\r\nAlerta['MA23'] = '';\r\nAlerta['MA24'] = 'Deseja realmente excluir a pend\\u00EAncia?';\r\nAlerta['MA25'] = '';\r\nAlerta['MA26'] = 'Deseja desvincular medida judicial?';\r\nAlerta['MA27'] =\r\n 'O CSV foi atualizado com os dados do DENATRAN. \\u00C9 necess\\u00E1rio salvar o ve\\u00EDculo para confirmar as altera\\u00E7\\u00F5es.';\r\nAlerta['MA28'] = 'Deseja realmente excluir o requerimento?';\r\nAlerta['MA29'] = 'O ve\\u00EDculo j\\u00E1 possui requerimento para o servi\\u00E7o indicado.';\r\nAlerta['MA30'] = 'O servi\\u00E7o de consulta autom\\u00E1tica est\\u00E1 fora do ar. Tente mais tarde!';\r\nAlerta['MA31'] =\r\n 'O (s) Servi\\u00E7o (s) ser\\u00E1 (m) desabilitado (s) e a empresa n\\u00E3o poder\\u00E1 operar. Deseja confirmar?';\r\nAlerta['MA32'] =\r\n 'O ve\\u00EDculo n\\u00E3o possui outros servi\\u00E7os habilitados, ent\\u00E3o o ve\\u00EDculo e o(s) servi\\u00E7o(s) ser\\u00E1(m) inativado(s) e s\\u00F3 poder\\u00E1(m) ser ativado(s) atrav\\u00E9s de um novo requerimento. Deseja continuar?';\r\nAlerta['MA33'] =\r\n '\\u201CFuncionalidade\\u201D atualizada com sucesso! Favor enviar as atualiza\\u00E7\\u00F5es para an\\u00E1lise!';\r\nAlerta['MA34'] = 'Confirma o envio das atualiza\\u00E7\\u00F5es para An\\u00E1lise?';\r\nAlerta['MA35'] = 'A empresa j\\u00E1 est\\u00E1 cadastrada no sistema, deseja recuperar os dados?';\r\nAlerta['MA36'] =\r\n 'Os ve\\u00EDculos relacionados ao servi\\u00E7o \\u201Cnome do servi\\u00E7o\\u201D ser\\u00E3o desabilitados. Deseja continuar?';\r\nAlerta['MA37'] =\r\n 'Os dados do Cadastur foram recuperados com sucesso. Ser\\u00E1 necess\\u00E1rio salvar os dados para confirmar a altera\\u00E7\\u00E3o.';\r\nAlerta['MA38'] = 'Favor preencher os grupos abaixo e enviar o respectivo requerimento.';\r\nAlerta['MA39'] =\r\n 'Verificou-se que sua atividade perante o CADASTUR \\u00E9 diferente de \\u201CTransportadora Tur\\u00EDstica\\u201D ou \\u201CAg\\u00EAncia de Viagem\\u201D. Nesse caso, a empresa n\\u00E3o conseguir\\u00E1 efetuar fretamento eventual ou tur\\u00EDstico. Caso a empresa deseje efetuar fretamento eventual ou tur\\u00EDstico, recomenda-se a regulariza\\u00E7\\u00E3o perante o CADASTUR antes do envio do requerimento.';\r\nAlerta['MA40'] =\r\n 'A atualiza\\u00E7\\u00E3o gerou um Novo requerimento. Caso haja outras atualiza\\u00E7\\u00F5es a serem realizadas, \\u00E9 necess\\u00E1rio que estas sejam realizadas antes do envio do requerimento.';\r\nAlerta['MA41'] =\r\n 'A empresa \\u201Cnome da empresa\\u201D possui multa (s) impeditivas. Favor regularizar as multas perante a ANTT para dar continuidade a solicita\\u00E7\\u00E3o.';\r\nAlerta['MA42'] =\r\n 'A empresa possui grupos Pendentes. Favor regularizar as informa\\u00E7\\u00F5es para enviar o requerimento.';\r\nAlerta['MA43'] =\r\n 'Requerimento ser\\u00E1 cancelado e n\\u00E3o ser\\u00E1 analisado pela ANTT. Deseja confirmar o cancelamento?';\r\nAlerta['MA44'] = 'O CNPJ n\\u00E3o est\\u00E1 registrado no Sistema.';\r\nAlerta['MA45'] = 'O requerimento foi analisado com sucesso. Favor concluir a an\\u00E1lise';\r\nAlerta['MA46'] =\r\n 'Fim dos requerimentos. Aguarde at\\u00E9 que novos requerimentos sejam atribu\\u00EDdos ao seu usu\\u00E1rio. ';\r\nAlerta['MA49'] = 'A medida judicial ser\\u00E1 cancelada. Deseja Confirmar?';\r\nAlerta['MA50'] = 'As pend\\u00EAncias foram finalizadas.';\r\n\r\nMensagens.Alerta = Alerta;\r\n\r\nconst Sucesso = {};\r\nSucesso['MS1'] = '{0} Inclu\\u00EDda(o) com sucesso!';\r\nSucesso['MS2'] = '{0} Alterada(o) com sucesso!';\r\nSucesso['MS3'] = '{0} Exclu\\u00EDda(o) com sucesso!';\r\nSucesso['MS4'] = '{0} realizado(a) com sucesso!';\r\nSucesso['MS5'] = '{0} Salvo(a) com sucesso!';\r\nSucesso['MS6'] = 'Nova solicita\\u00E7\\u00E3o de senha enviada para o e-mail: {0}';\r\nSucesso['MS7'] = 'Arquivo inclu\\u00EDdo com sucesso!';\r\nSucesso['MS8'] = 'Arquivo exclu\\u00EDdo com sucesso!';\r\nSucesso['MS9'] = 'As informa\\u00E7\\u00F5es foram salvas com sucesso!';\r\nSucesso['MS10'] =\r\n 'Foi encaminhado para a SEGER em anexo, as Minutas para a publica\\u00E7\\u00E3o das autoriza\\u00E7\\u00F5es das empresas no Di\\u00E1rio Oficial da Uni\\u00E3o \\u2013 DOU.';\r\nSucesso['MS11'] = 'Requerimento cancelado com sucesso.';\r\nSucesso['MS12'] =\r\n 'O requerimento n\\u00BA xx/AAAA foi criado e o prazo de an\\u00E1lise pela ANTT \\u00E9 de 15 dias. A empresa pode acompanhar seus requerimentos na op\\u00E7\\u00E3o \\u201CRequerimento\\u201D, no menu de \\u201CHabilita\\u00E7\\u00E3o / Motoristas\\u201D.';\r\nSucesso['MS13'] =\r\n 'Foi gerado um n\\u00FAmero de requerimento {0} com a situa\\u00E7\\u00E3o deferido. O motorista j\\u00E1 se encontra habilitado no sistema';\r\nSucesso['MS14'] = 'E-mail enviado com Sucesso!';\r\nSucesso['MS15'] = 'Requerimento deferido com sucesso.';\r\nSucesso['MS16'] = 'Medida Judicial vinculada com sucesso.';\r\nSucesso['MS17'] = 'Medida Judicial desvinculada com sucesso.';\r\nSucesso['MS18'] = 'Requerimento enviado com sucesso!\\n\\rN\\u00FAmero: {0}\\n\\rProtocolo: N\\u00BA {1}';\r\nSucesso['MS19'] = 'Ve\\u00EDculo atualizado como habilitado com sucesso.';\r\nSucesso['MS20'] = 'Pend\\u00EAncia gerada com sucesso.';\r\nSucesso['MS21'] =\r\n 'O requerimento n\\u00BA {0} foi criado e o prazo de an\\u00E1lise pela ANTT \\u00E9 de 45 dias \\u00FAteis. A empresa pode acompanhar seus requerimentos na op\\u00E7\\u00E3o \\u201CHist\\u00F3rico de requerimentos\\u201D.';\r\nSucesso['MS22'] = 'Ve\\u00EDculo inativado com sucesso';\r\nSucesso['MS23'] = 'Acesso concedido ao(s) sistema(s) {0}';\r\nSucesso['MS24'] = 'O requerimento N\\u00BA {0} foi criado e o prazo para an\\u00E1lise \\u00E9 de 15 dias.';\r\nSucesso['MS25'] =\r\n 'O requerimento {0} foi analisado automaticamente e foi deferido. O ve\\u00EDculo j\\u00E1 se encontra habilitado no sistema.';\r\nSucesso['MS26'] = 'Inidoneidade suspensa/ revogada com sucesso! ';\r\nSucesso['MS27'] = '{0} atualizada com sucesso!';\r\nSucesso['MS28'] = 'Servi\\u00E7o desabilitado com sucesso!';\r\nSucesso['MS29'] = 'Ve\\u00EDculo Inativado com sucesso!';\r\nSucesso['MS30'] = 'A solicita\\u00E7\\u00E3o foi encaminhada para an\\u00E1lise da ANTT com sucesso.';\r\nSucesso['MS31'] = 'Avalia\\u00E7\\u00E3o realizada com Sucesso.';\r\nSucesso['MS32'] = 'Consulta realizada com sucesso.';\r\nSucesso['MS35'] = 'Medida Judicial cancelada com sucesso!';\r\n\r\nMensagens.Sucesso = Sucesso;\r\n\r\nconst Erro = {};\r\nErro['EC012'] = 'Servi\\u00E7o da Receita Federal do Brasil est\\u00E1 indispon\\u00EDvel.';\r\n\r\nErro['ME1'] = 'Favor informar o(a) {0}';\r\nErro['ME2'] = 'J\\u00E1 existe solicita\\u00E7\\u00E3o de cadastro em an\\u00E1lise. Favor aguardar';\r\nErro['ME3'] =\r\n 'O representante legal j\\u00E1 possui acesso ao sistema. Favor utilizar login e senha definidos anteriormente.';\r\nErro['ME4'] = '\\u201C{0}\\u201D Inv\\u00E1lido!';\r\nErro['ME5'] = 'Informe ao menos um tipo de transporte rodovi\\u00E1rio de passageiros.';\r\nErro['ME6'] = 'Senhas n\\u00E3o conferem!';\r\nErro['ME7'] = 'N\\u00E3o foi encontrado nenhum resultado na pesquisa!';\r\nErro['ME8'] = 'A senha precisa ter no m\\u00EDnimo 6 caracteres.';\r\nErro['ME9'] =\r\n 'A senha dever\\u00E1 ser composta por, pelo menos, uma letra mai\\u00FAscula, um n\\u00FAmero e letras.\\u201D';\r\nErro['ME10'] = 'Escolha o arquivo que ser\\u00E1 anexado.';\r\nErro['ME11'] = 'Adicione pelo menos um consorciado!';\r\nErro['ME12'] = 'S\\u00E3o permitidos somente arquivos com extens\\u00E3o do tipo PDF.';\r\nErro['ME13'] = 'A solicita\\u00E7\\u00E3o de acesso foi encaminhada para an\\u00E1lise da ANTT.';\r\nErro['ME14'] = 'O usu\\u00E1rio ou senha informada n\\u00E3o est\\u00E1 cadastrado.';\r\nErro['ME15'] = 'O Representante j\\u00E1 est\\u00E1 cadastrado para a empresa.';\r\nErro['ME16'] = 'Senha atual inv\\u00E1lida.';\r\nErro['ME17'] = 'A justificativa dever\\u00E1 possuir pelo menos 10 caracteres.';\r\nErro['ME18'] = 'A justificativa n\\u00E3o permite caracteres repetidos em sequ\\u00EAncia.';\r\nErro['ME19'] = 'O(s) item(s) de an\\u00E1lise {0} n\\u00E3o foram preenchido(s).';\r\nErro['ME20'] =\r\n 'Para efetuar o cadastro de um motorista, \\u00E9 necess\\u00E1rio que a empresa esteja habilitada a prestar os servi\\u00E7os de fretamento ou semiurbano, e, sendo prestadora de servi\\u00E7o regular rodovi\\u00E1rio, tenha autoriza\\u00E7\\u00E3o da ANTT.';\r\nErro['ME21'] = 'Motorista j\\u00E1 habilitado nesta empresa. Inclus\\u00E3o n\\u00E3o permitida.';\r\nErro['ME22'] =\r\n 'J\\u00E1 existe um requerimento em andamento para o CPF selecionado. Para selecionar um requerimento, utilize a p\\u00E1gina \\u201CTratar Pend\\u00EAncias\\u201D.';\r\nErro['ME23'] =\r\n 'Motorista possui certid\\u00E3o de distribui\\u00E7\\u00E3o criminal v\\u00E1lida. Uma nova atualiza\\u00E7\\u00E3o poder\\u00E1 ser feita com 90 dias do prazo de vencimento.';\r\nErro['ME24'] = 'A data de admiss\\u00E3o do motorista deve ser menor ou igual \\u00E0 data atual.';\r\nErro['ME25'] = 'A data de demiss\\u00E3o deve ser maior do que a data de admiss\\u00E3o.';\r\nErro['ME26'] = '\\u00C9 necess\\u00E1rio vincular empresas consorciadas ao cons\\u00F3rcio.';\r\nErro['ME27'] =\r\n 'A data de emiss\\u00E3o da certid\\u00E3o deve ser entre {0} (data atual \\u2013 5 anos) e {1} (data atual).';\r\nErro['ME28'] =\r\n 'Este motorista foi demitido desta empresa em {0} (data da \\u00FAltima demiss\\u00E3o da empresa). A data de admiss\\u00E3o deve ser maior do que esta data.';\r\nErro['ME29'] = 'N\\u00E3o \\u00E9 permitida a inclus\\u00E3o de mais de um arquivo';\r\nErro['ME30'] = 'Ve\\u00EDculo n\\u00E3o encontrado na base de dados do SRC.';\r\nErro['ME31'] =\r\n 'Categoria de servi\\u00E7o j\\u00E1 informada. Para alterar, remova a categoria e insira as novas informa\\u00E7\\u00F5es.';\r\nErro['ME32'] =\r\n 'O n\\u00BA de poltronas informado \\u00E9 {0} ao n\\u00FAmero total de poltronas dispon\\u00EDvel no ve\\u00EDculo';\r\nErro['ME33'] =\r\n \"Os caracteres [O, o, Q, q, I, i, ' '(espa\\u00E7o)] n\\u00E3o s\\u00E3o permitidos. Favor inserir o chassi corretamente.\";\r\nErro['ME34'] =\r\n 'Favor preencher o campo \\u2018Capacidade/N\\u00B0 de poltronas Geral\\u2019, informando o total de poltronas dispon\\u00EDveis no ve\\u00EDculo';\r\nErro['ME35'] =\r\n 'Para o servi\\u00E7o {0} n\\u00E3o \\u00E9 permitido ve\\u00EDculos com mais de {1} anos de fabrica\\u00E7\\u00E3o.';\r\nErro['ME36'] =\r\n 'A quantidade m\\u00E1xima de ve\\u00EDculos permitida para sua empresa \\u00E9 \\u201Cn\\u00BA de ve\\u00EDculos \\u201C ve\\u00EDculos.';\r\nErro['ME37'] = '\\u00C9 necess\\u00E1ria a inclus\\u00E3o do LIT ou CSV.';\r\nErro['ME38'] = 'Favor inclua o documento de LIT.';\r\nErro['ME39'] = 'Favor inclua o documento de CSV.';\r\nErro['ME40'] = 'O sistema possui um requerimento para este ve\\u00EDculo/servi\\u00E7o na situa\\u00E7\\u00E3o {0}';\r\nErro['ME41'] = 'Ve\\u00EDculo j\\u00E1 cadastrado. \\u00C9 necess\\u00E1rio preencher um novo requerimento.';\r\nErro['ME42'] = 'E-mail do(a) {0} inv\\u00E1lido.';\r\nErro['ME43'] = 'E-mail inv\\u00E1lido.';\r\nErro['ME44'] = 'Favor informe a data de emiss\\u00E3o e fechamento.';\r\nErro['ME45'] =\r\n 'Data incorreta. A data de emiss\\u00E3o deve ser menor que a data de vencimento e menor ou igual \\u00E0 data atual.';\r\nErro['ME46'] = 'Data incorreta. A data de vencimento deve ser maior que a data de emiss\\u00E3o.';\r\nErro['ME47'] =\r\n 'Falha ao conectar Servi\\u00E7o de Recupera\\u00E7\\u00E3o autom\\u00E1tica do Seguro de Responsabilidade Civil. Por favor tente mais tarde!';\r\nErro['ME48'] =\r\n 'Data incorreta. A data final dever\\u00E1 ser maior ou igual a data in\\u00EDcio e n\\u00E3o pode ser maior que a data atual.';\r\nErro['ME49'] = 'A Placa informada n\\u00E3o est\\u00E1 no formato correto. EX: 7AA0V03';\r\nErro['ME50'] = 'Favor informar o n\\u00FAmero do telefone com 10 ou 11 d\\u00EDgitos.';\r\nErro['ME51'] = 'O Ve\\u00EDculo esta cadastrado para outra empresa.';\r\nErro['ME52'] = 'Acesso n\\u00E3o permitido. Per\\u00EDodo de legitimidade expirado.';\r\nErro['ME53'] = 'N\\u00E3o \\u00E9 permitida a inclus\\u00E3o de arquivos com tamanho superior \\u00E0 3MB.';\r\nErro['ME54'] = 'A soma dos percentuais de participa\\u00E7\\u00E3o n\\u00E3o pode ser superior a 100%';\r\nErro['ME55'] = 'CNAE prim\\u00E1rio n\\u00E3o \\u00E9 valido para o servi\\u00E7o Regular Rodovi\\u00E1rio. \\u00c9 necess\\u00E1rio que o CNAE da empresa seja ajustado perante a Receita Federal do Brasil - RFB para continuidade da solicita\\u00E7\\u00E3o. CNAE\\'s aceitos <4921-3, 4921-3/01, 4921-3/02, 4922-1, 4922-1/01,4922-1/02, 4922-1/03, 4929-9, 4929-9/01, 4929-9/02>';\r\nErro['ME56'] = 'CNAE Prim\\u00E1rio ou Secund\\u00E1rio n\\u00E3o \\u00E9 valido para o servi\\u00E7o Fretamento';\r\nErro['ME57'] = '\\u00C9 necess\\u00E1rio informar os dados referentes ao documento {0}.';\r\nErro['ME58'] = 'A data Final de validade dever\\u00E1 ser superior a data in\\u00EDcio de validade.';\r\nErro['ME59'] = 'O usu\\u00E1rio informado est\\u00E1 inativo no Sistema de Controle de Acesso.';\r\nErro['ME60'] =\r\n 'Os CNAEs Prim\\u00E1rios ou Secund\\u00E1rios recuperados da Receita n\\u00E3o s\\u00E3o validos. Favor corrigir junto \\u00E0 Receita Federal.';\r\nErro['ME61'] = 'J\\u00E1 existe uma solicita\\u00E7\\u00E3o de acesso em an\\u00E1lise na ANTT';\r\nErro['ME62'] = 'Os e-mails n\\u00E3o conferem!';\r\nErro['ME63'] = 'N\\u00E3o \\u00E9 permitido a exclus\\u00E3o do Representante principal da Empresa.';\r\nErro['ME64'] =\r\n '\\u00C9 obrigat\\u00F3rio informar ao menos o n\\u00FAmero do telefone do SAC (com no m\\u00EDnimo de 11 d\\u00EDgitos)';\r\nErro['ME65'] = 'Cnae j\\u00E1 adicionado!';\r\nErro['ME66'] =\r\n '{0}: Exerc\\u00EDcio social inv\\u00E1lido. Favor informar um ano de exerc\\u00EDcio com no m\\u00E1ximo 2 anos de diferen\\u00E7a do ano atual.';\r\nErro['ME67'] = 'Data inv\\u00E1lida.';\r\nErro['ME68'] = 'O requerimento j\\u00E1 foi encaminhado, n\\u00E3o \\u00E9 poss\\u00EDvel editar os dados.';\r\nErro['ME69'] = 'Favor informar n\\u00FAmero 0800.';\r\nErro['ME70'] = 'Data inicial n\\u00E3o pode ser maior que data final. ';\r\nErro['ME71'] = 'Usu\\u00E1rio n\\u00E3o encontrado!';\r\nErro['ME72'] = 'E-mails n\\u00E3o conferem.';\r\nErro['ME73'] =\r\n '\\u00C9 necess\\u00E1rio informar os dados referentes ao documento ou . Caso a certid\\u00E3o n\\u00E3o seja unificada, \\u00E9 necess\\u00E1rio anexar as duas certid\\u00F5es.';\r\nErro['ME74'] = 'Data inicial maior que a data atual.';\r\nErro['ME75'] = 'Data de vencimento da legitimidade deve ser maior ou igual a data atual';\r\nErro['ME76'] =\r\n 'O CPF informado n\\u00E3o tem permiss\\u00E3o para acessar a empresa no SisHAB. Para libera\\u00E7\\u00E3o de acesso, \\u00E9 necess\\u00E1rio que o representante legal da empresa realize o respectivo cadastro no SisHAB';\r\nErro['ME77'] = '\\u00C9 necess\\u00E1rio selecionar ao menos um sistema para conceder acesso.';\r\nErro['ME78'] = 'Captcha inv\\u00E1lido';\r\nErro['ME79'] = 'Falha ao Salvar a(o) {0}';\r\nErro['ME80'] = 'Necess\\u00E1rio informar os dados da empresa antes de cadastrar a(o) {0}';\r\nErro['ME81'] = 'An\\u00E1lise pendente de avalia\\u00E7\\u00E3o.';\r\nErro['ME82'] =\r\n 'Empresa possui documenta\\u00E7\\u00E3o v\\u00E1lida. Uma nova atualiza\\u00E7\\u00E3o poder\\u00E1 ser feita com 90 dias do prazo de vencimento.';\r\nErro['ME83'] = 'A empresa possui requerimento para o tipo de servi\\u00E7o selecionado em andamento na ANTT. Ap\\u00f3s a finaliza\\u00E7\\u00E3o do processo outro requerimento poder\\u00E1 ser enviado.';\r\nErro['ME84'] = 'Falha ao conectar Servi\\u00E7o. Favor {0} os dados manualmente ou tente mas tarde!';\r\nErro['ME85'] = 'N\\u00E3o identificamos {0} dentro da validade para este ve\\u00EDculo. Favor providenciar.';\r\nErro['ME86'] =\r\n 'N\\u00E3o foi identificado junto ao DENATRAN, CSV v\\u00E1lido para este ve\\u00EDculo. \\u00C9 necess\\u00E1ria a exist\\u00EAncia de CSV ou do LIT v\\u00E1lido para a continuidade do cadastro do requerimento. ';\r\nErro['ME87'] = 'Ve\\u00EDculo n\\u00E3o encontrado na base de dados do DENATRAN';\r\nErro['ME88'] = 'Inidoneidade j\\u00E1 cadastrada para essa empresa.';\r\nErro['ME89'] = 'Data de habilita\\u00E7\\u00E3o menor que data atual. Informe novamente';\r\nErro['ME90'] = 'Data de publica\\u00E7\\u00E3o menor ou igual a data atual. Informe novamente.';\r\nErro['ME91'] = 'Nenhum registro selecionado.';\r\nErro['ME92'] =\r\n 'O rascunho do requerimento foi criado, por\\u00E9m \\u00E9 necess\\u00E1rio informar as demais informa\\u00E7\\u00F5es.';\r\nErro['ME93'] =\r\n 'N\\u00E3o \\u00E9 poss\\u00EDvel realizar a a\\u00E7\\u00E3o, o servi\\u00E7o corporativo (SCA) est\\u00E1 indispon\\u00EDvel.';\r\nErro['ME94'] = 'O CADASTUR continua pendente.';\r\nErro['ME95'] = 'O CNAE prim\\u00E1rio e/ou secund\\u00E1rio n\\u00E3o e v\\u00E1lido para o servi\\u00E7o {0}. E necess\\u00E1rio que o CNAE da empresa seja ajustado perante a Receita Federal do Brasil – RFB e/ou cadastro da Empresa para continuidade da solicita\\u00E7\\u00E3o. Para identificar os CNAE’s aceitos, clicar no icone (?) ao lado do campo CNAEs.';\r\nErro['ME96'] = '\\u00C9 obrigat\\u00F3rio a inclus\\u00E3o de uma empresa l\\u00EDder.';\r\nErro['ME97'] = 'A soma do capital social das consorcias deve ser maior que 2 milh\\u00F5es';\r\nErro['ME98'] = '\\u201C{0}\\u201D n\\u00E3o encontrado.';\r\nErro['ME99'] =\r\n 'Verificamos que a empresa est\\u00E1 registrada em outro cons\\u00F3rcio, esta \\u00E9 uma a\\u00E7\\u00E3o n\\u00E3o indicada pela ANTT.';\r\nErro['ME100'] = '\\u00C9 necess\\u00E1rio que haja um gestor ativo.';\r\nErro['ME101'] = 'N\\u00E3o foi identificado junto ao DENATRAN, CSV v\\u00E1lido para este ve\\u00EDculo.';\r\nErro['ME102'] = 'N\\u00E3o foi identificado junto ao SRV, seguro v\\u00E1lido para este ve\\u00EDculo.';\r\nErro['ME103'] = 'Servi\\u00E7o indispon\\u00EDvel, tente mais tarde ou registre um novo requerimento!';\r\nErro['ME104'] =\r\n 'Ve\\u00EDculos n\\u00E3o habilitados, onde a data do \\u00FAltimo requerimento deferido \\u00E9 maior que 2 anos devem ser atualizados atrav\\u00E9s de um novo requerimento. ';\r\nErro['ME105'] = '\\u00C9 obrigat\\u00F3ria a atualiza\\u00E7\\u00E3o do CLRV.';\r\nErro['ME106'] = 'Data de vencimento da legitimidade deve ser maior que a data de emiss\\u00E3o.';\r\nErro['ME107'] = 'O seguro n\\u00E3o est\\u00E1 em nome do requerente. Favor providenciar!';\r\nErro['ME108'] =\r\n 'A natureza Jur\\u00EDdica da empresa n\\u00E3o est\\u00E1 autorizada a solicitar o Servi\\u00E7o \\u201C{0}\\u201D';\r\nErro['ME109'] =\r\n 'Para cadastrar a empresa, \\u00E9 necess\\u00E1rio que o usu\\u00E1rio seja representante dessa empresa perante a Receita Federal do Brasil \\u2212 RFB.';\r\nErro['ME110'] = 'O Percentual de participa\\u00E7\\u00E3o da Empresa \\u201C{0}\\u201D \\u00E9 obrigat\\u00F3rio! ';\r\nErro['ME111'] = 'Os documentos comprobat\\u00F3rios da Empresa \\u201C{0}\\u201D est\\u00E3o pendentes.';\r\nErro['ME112'] = 'A empresa j\\u00E1 est\\u00E1 cadastrada!';\r\nErro['ME113'] = 'A empresa j\\u00E1 est\\u00E1 habilitada para o servi\\u00E7o informado.';\r\nErro['ME114'] = 'O Representante da Empresa j\\u00E1 solicitou acesso ao sistema, favor aguardar a an\\u00E1lise.';\r\nErro['ME115'] = 'Servi\\u00E7o da Receita Federal Indispon\\u00EDvel. Favor preencher/alterar os dados manualmente.';\r\nErro['ME116'] = 'O CPF informado n\\u00E3o pertence ao Representante Legal/S\\u00F3cios da Empresa.';\r\nErro['ME117'] = 'A solicita\\u00E7\\u00E3o de acesso do representante est\\u00E1 em an\\u00E1lise na ANTT.';\r\nErro['ME120'] = 'Os valores do capital social “Subscrito e Integralizado” n\\u00E3o podem ser menores que 2 milh\\u00F5es de reais. \\u00c9 necess\\u00E1rio que o valor do capital social seja ajustado perante a Receita Federal do Brasil – RFB para continuidade da solicita\\u00E7\\u00E3o.';\r\nErro['ME129'] = '\\u00c9 obrigat\\u00f3rio a inclus\\u00e3o de ao menos um registro.';\r\nErro['ME123'] = '\\u00c9 obrigat\\u00f3rio selecionar ao menos um sistema.';\r\nErro['ME130'] =\r\n 'Ao alterar o tipo de representa\\u00E7\\u00E3o, o representante perde o acesso durante o processo de an\\u00E1lise da ANTT, deseja confirmar?';\r\nErro['ME131'] = '\\u00c9 obrigat\\u00f3rio a inclus\\u00e3o dos dados da empresa.';\r\nErro['ME134'] = '\\u00c9 obrigat\\u00f3rio a inclus\\u00e3o de ao menos um item.';\r\nErro['ME136'] = 'O arquivo do(a) {0} n\\u00e3o foi substitu\\u00EDdo';\r\nErro['ME137'] = 'Data final menor que a data atual.';\r\nErro['ME138'] = 'N\\u00e3o \\u00E9 permitido realizar a edi\\u00E7\\u00e3o, o registro est\\u00E1 vinculado a outro.';\r\nErro['ME139'] = 'O item j\\u00E1 foi {0}.';\r\nErro['ME140'] = '\\u00C9 obrigat\\u00f3rio o tratamento das pend\\u00eancias de todas as empresas que comp\\u00f5em o cons\\u00f3rcio.';\r\nErro['ME141'] = 'A {0} j\\u00E1 est\\u00E1 cadastrada!';\r\nErro['ME152'] = '\\u00C9 obrigat\\u00f3rio selecionar ao menos um registro.';\r\n\r\nMensagens.Erro = Erro;\r\n","'use strict';\n\nmodule.exports = function maskFactory(maskDefinition) {\n\treturn function MaskDirective() {\n\t\treturn {\n\t\t\trestrict: 'A',\n\t\t\trequire: 'ngModel',\n\t\t\tlink: function(scope, element, attrs, ctrl) {\n\t\t\t\tctrl.$formatters.push(function formatter(value) {\n\t\t\t\t\tif (ctrl.$isEmpty(value)) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar cleanValue = maskDefinition.clearValue(value.toString(), attrs);\n\t\t\t\t\treturn maskDefinition.format(cleanValue);\n\t\t\t\t});\n\n\t\t\t\tctrl.$parsers.push(function parser(value) {\n\t\t\t\t\tif (ctrl.$isEmpty(value)) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar cleanValue = maskDefinition.clearValue(value.toString(), attrs);\n\t\t\t\t\tvar formattedValue = maskDefinition.format(cleanValue);\n\n\t\t\t\t\tif (ctrl.$viewValue !== formattedValue) {\n\t\t\t\t\t\tctrl.$setViewValue(formattedValue);\n\t\t\t\t\t\tctrl.$render();\n\t\t\t\t\t}\n\n\t\t\t\t\tif (angular.isUndefined(maskDefinition.getModelValue)) {\n\t\t\t\t\t\treturn cleanValue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar actualModelType = typeof ctrl.$modelValue;\n\t\t\t\t\treturn maskDefinition.getModelValue(formattedValue, actualModelType);\n\t\t\t\t});\n\n\t\t\t\tangular.forEach(maskDefinition.validations, function(validatorFn, validationErrorKey) {\n\t\t\t\t\tctrl.$validators[validationErrorKey] = function validator(modelValue, viewValue) {\n\t\t\t\t\t\treturn ctrl.$isEmpty(modelValue) || validatorFn(modelValue, viewValue, attrs);\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t};\n};\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","export class BaseHttpService {\r\n constructor($http) {\r\n this.$http = $http;\r\n this.apiRootUrl = window.apiRootUrl;\r\n }\r\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = startOfUTCISOWeek;\n\nvar _index = require('../../toDate/index.js');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction startOfUTCISOWeek(dirtyDate, dirtyOptions) {\n var weekStartsOn = 1;\n\n var date = (0, _index2.default)(dirtyDate, dirtyOptions);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}\nmodule.exports = exports['default'];","/**\n * br-validations\n * A library of validations applicable to several Brazilian data like I.E., CNPJ, CPF and others\n * @version v0.3.0\n * @link http://github.com/the-darc/br-validations\n * @license MIT\n */\n(function (root, factory) {\n\t/* istanbul ignore next */\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([], factory);\n\t} else if (typeof exports === 'object') {\n\t\t// Node. Does not work with strict CommonJS, but\n\t\t// only CommonJS-like environments that support module.exports,\n\t\t// like Node.\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// Browser globals (root is window)\n\t\troot.BrV = factory();\n\t}\n}(this, function () {\nvar CNPJ = {};\n\nCNPJ.validate = function(c) {\n\tvar b = [6,5,4,3,2,9,8,7,6,5,4,3,2];\n\tc = c.replace(/[^\\d]/g,'');\n\n\tvar r = /^(0{14}|1{14}|2{14}|3{14}|4{14}|5{14}|6{14}|7{14}|8{14}|9{14})$/;\n\tif (!c || c.length !== 14 || r.test(c)) {\n\t\treturn false;\n\t}\n\tc = c.split('');\n\n\tfor (var i = 0, n = 0; i < 12; i++) {\n\t\tn += c[i] * b[i+1];\n\t}\n\tn = 11 - n%11;\n\tn = n >= 10 ? 0 : n;\n\tif (parseInt(c[12]) !== n) {\n\t\treturn false;\n\t}\n\n\tfor (i = 0, n = 0; i <= 12; i++) {\n\t\tn += c[i] * b[i];\n\t}\n\tn = 11 - n%11;\n\tn = n >= 10 ? 0 : n;\n\tif (parseInt(c[13]) !== n) {\n\t\treturn false;\n\t}\n\treturn true;\n};\n\n\nvar CPF = {};\n\nCPF.validate = function(cpf) {\n\tcpf = cpf.replace(/[^\\d]+/g,'');\n\tvar r = /^(0{11}|1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11})$/;\n\tif (!cpf || cpf.length !== 11 || r.test(cpf)) {\n\t\treturn false;\n\t}\n\tfunction validateDigit(digit) {\n\t\tvar add = 0;\n\t\tvar init = digit - 9;\n\t\tfor (var i = 0; i < 9; i ++) {\n\t\t\tadd += parseInt(cpf.charAt(i + init)) * (i+1);\n\t\t}\n\t\treturn (add%11)%10 === parseInt(cpf.charAt(digit));\n\t}\n\treturn validateDigit(9) && validateDigit(10);\n};\n\nvar IE = function(uf) {\n\tif (!(this instanceof IE)) {\n\t\treturn new IE(uf);\n\t}\n\n\tthis.rules = IErules[uf] || [];\n\tthis.rule;\n\tIE.prototype._defineRule = function(value) {\n\t\tthis.rule = undefined;\n\t\tfor (var r = 0; r < this.rules.length && this.rule === undefined; r++) {\n\t\t\tvar str = value.replace(/[^\\d]/g,'');\n\t\t\tvar ruleCandidate = this.rules[r];\n\t\t\tif (str.length === ruleCandidate.chars && (!ruleCandidate.match || ruleCandidate.match.test(value))) {\n\t\t\t\tthis.rule = ruleCandidate;\n\t\t\t}\n\t\t}\n\t\treturn !!this.rule;\n\t};\n\n\tIE.prototype.validate = function(value) {\n\t\tif (!value || !this._defineRule(value)) {\n\t\t\treturn false;\n\t\t}\n\t\treturn this.rule.validate(value);\n\t};\n};\n\nvar IErules = {};\n\nvar algorithmSteps = {\n\thandleStr: {\n\t\tonlyNumbers: function(str) {\n\t\t\treturn str.replace(/[^\\d]/g,'').split('');\n\t\t},\n\t\tmgSpec: function(str) {\n\t\t\tvar s = str.replace(/[^\\d]/g,'');\n\t\t\ts = s.substr(0,3)+'0'+s.substr(3, s.length);\n\t\t\treturn s.split('');\n\t\t}\n\t},\n\tsum: {\n\t\tnormalSum: function(handledStr, pesos) {\n\t\t\tvar nums = handledStr;\n\t\t\tvar sum = 0;\n\t\t\tfor (var i = 0; i < pesos.length; i++) {\n\t\t\t\tsum += parseInt(nums[i]) * pesos[i];\n\t\t\t}\n\t\t\treturn sum;\n\t\t},\n\t\tindividualSum: function(handledStr, pesos) {\n\t\t\tvar nums = handledStr;\n\t\t\tvar sum = 0;\n\t\t\tfor (var i = 0; i < pesos.length; i++) {\n\t\t\t\tvar mult = parseInt(nums[i]) * pesos[i];\n\t\t\t\tsum += mult%10 + parseInt(mult/10);\n\t\t\t}\n\t\t\treturn sum;\n\t\t},\n\t\tapSpec: function(handledStr, pesos) {\n\t\t\tvar sum = this.normalSum(handledStr, pesos);\n\t\t\tvar ref = handledStr.join('');\n\t\t\tif (ref >= '030000010' && ref <= '030170009') {\n\t\t\t\treturn sum + 5;\n\t\t\t}\n\t\t\tif (ref >= '030170010' && ref <= '030190229') {\n\t\t\t\treturn sum + 9;\n\t\t\t}\n\t\t\treturn sum;\n\t\t}\n\t},\n\trest: {\n\t\tmod11: function(sum) {\n\t\t\treturn sum%11;\n\t\t},\n\t\tmod10: function(sum) {\n\t\t\treturn sum%10;\n\t\t},\n\t\tmod9: function(sum) {\n\t\t\treturn sum%9;\n\t\t}\n\t},\n\texpectedDV: {\n\t\tminusRestOf11: function(rest) {\n\t\t\treturn rest < 2 ? 0 : 11 - rest;\n\t\t},\n\t\tminusRestOf11v2: function(rest) {\n\t\t\treturn rest < 2 ? 11 - rest - 10 : 11 - rest;\n\t\t},\n\t\tminusRestOf10: function(rest) {\n\t\t\treturn rest < 1 ? 0 : 10 - rest;\n\t\t},\n\t\tmod10: function(rest) {\n\t\t\treturn rest%10;\n\t\t},\n\t\tgoSpec: function(rest, handledStr) {\n\t\t\tvar ref = handledStr.join('');\n\t\t\tif (rest === 1) {\n\t\t\t\treturn ref >= '101031050' && ref <= '101199979' ? 1 : 0;\n\t\t\t}\n\t\t\treturn rest === 0 ? 0 : 11 - rest;\n\t\t},\n\t\tapSpec: function(rest, handledStr) {\n\t\t\tvar ref = handledStr.join('');\n\t\t\tif (rest === 0) {\n\t\t\t\treturn ref >= '030170010' && ref <= '030190229' ? 1 : 0;\n\t\t\t}\n\t\t\treturn rest === 1 ? 0 : 11 - rest;\n\t\t},\n\t\tvoidFn: function(rest) {\n\t\t\treturn rest;\n\t\t}\n\t}\n};\n\n\n/**\n * options {\n * pesos: Array of values used to operate in sum step\n * dvPos: Position of the DV to validate considering the handledStr\n * algorithmSteps: The four DV's validation algorithm steps names\n * }\n */\nfunction validateDV(value, options) {\n\tvar steps = options.algorithmSteps;\n\n\t// Step 01: Handle String\n\tvar handledStr = algorithmSteps.handleStr[steps[0]](value);\n\n\t// Step 02: Sum chars\n\tvar sum = algorithmSteps.sum[steps[1]](handledStr, options.pesos);\n\n\t// Step 03: Rest calculation\n\tvar rest = algorithmSteps.rest[steps[2]](sum);\n\n\t// Fixed Step: Get current DV\n\tvar currentDV = parseInt(handledStr[options.dvpos]);\n\n\t// Step 04: Expected DV calculation\n\tvar expectedDV = algorithmSteps.expectedDV[steps[3]](rest, handledStr);\n\n\t// Fixed step: DV verification\n\treturn currentDV === expectedDV;\n}\n\nfunction validateIE(value, rule) {\n\tfor (var i = 0; i < rule.dvs.length; i++) {\n\t\t// console.log('>> >> dv'+i);\n\t\tif (!validateDV(value, rule.dvs[i])) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nIErules.PE = [{\n\t//mask: new StringMask('0000000-00'),\n\tchars: 9,\n\tdvs: [{\n\t\tdvpos: 7,\n\t\tpesos: [8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t},{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n},{\n\t// mask: new StringMask('00.0.000.0000000-0'),\n\tchars: 14,\n\tpesos: [[1,2,3,4,5,9,8,7,6,5,4,3,2]],\n\tdvs: [{\n\t\tdvpos: 13,\n\t\tpesos: [5,4,3,2,1,9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11v2']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.RS = [{\n\t// mask: new StringMask('000/0000000'),\n\tchars: 10,\n\tdvs: [{\n\t\tdvpos: 9,\n\t\tpesos: [2,9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.AC = [{\n\t// mask: new StringMask('00.000.000/000-00'),\n\tchars: 13,\n\tmatch: /^01/,\n\tdvs: [{\n\t\tdvpos: 11,\n\t\tpesos: [4,3,2,9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t},{\n\t\tdvpos: 12,\n\t\tpesos: [5,4,3,2,9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.MG = [{\n\t// mask: new StringMask('000.000.000/0000'),\n\tchars: 13,\n\tdvs: [{\n\t\tdvpos: 12,\n\t\tpesos: [1,2,1,2,1,2,1,2,1,2,1,2],\n\t\talgorithmSteps: ['mgSpec', 'individualSum', 'mod10', 'minusRestOf10']\n\t},{\n\t\tdvpos: 12,\n\t\tpesos: [3,2,11,10,9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.SP = [{\n\t// mask: new StringMask('000.000.000.000'),\n\tchars: 12,\n\tmatch: /^[0-9]/,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [1,3,4,5,6,7,8,10],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'mod10']\n\t},{\n\t\tdvpos: 11,\n\t\tpesos: [3,2,10,9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'mod10']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n},{\n\t// mask: new StringMask('P-00000000.0/000')\n\tchars: 12,\n\tmatch: /^P/i,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [1,3,4,5,6,7,8,10],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'mod10']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.DF = [{\n\t// mask: new StringMask('00000000000-00'),\n\tchars: 13,\n\tdvs: [{\n\t\tdvpos: 11,\n\t\tpesos: [4,3,2,9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t},{\n\t\tdvpos: 12,\n\t\tpesos: [5,4,3,2,9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.ES = [{\n\t// mask: new StringMask('000.000.00-0')\n\tchars: 9,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.BA = [{\n\t// mask: new StringMask('000000-00')\n\tchars: 8,\n\tmatch: /^[0123458]/,\n\tdvs: [{\n\t\tdvpos: 7,\n\t\tpesos: [7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod10', 'minusRestOf10']\n\t},{\n\t\tdvpos: 6,\n\t\tpesos: [8,7,6,5,4,3,0,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod10', 'minusRestOf10']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n},{\n\tchars: 8,\n\tmatch: /^[679]/,\n\tdvs: [{\n\t\tdvpos: 7,\n\t\tpesos: [7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t},{\n\t\tdvpos: 6,\n\t\tpesos: [8,7,6,5,4,3,0,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n},{\n\t// mask: new StringMask('0000000-00')\n\tchars: 9,\n\tmatch: /^[0-9][0123458]/,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod10', 'minusRestOf10']\n\t},{\n\t\tdvpos: 7,\n\t\tpesos: [9,8,7,6,5,4,3,0,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod10', 'minusRestOf10']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n},{\n\tchars: 9,\n\tmatch: /^[0-9][679]/,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t},{\n\t\tdvpos: 7,\n\t\tpesos: [9,8,7,6,5,4,3,0,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.AM = [{\n\t//mask: new StringMask('00.000.000-0')\n\tchars: 9,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.RN = [{\n\t// {mask: new StringMask('00.000.000-0')\n\tchars: 9,\n\tmatch: /^20/,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n},{\n\t// {mask: new StringMask('00.0.000.000-0'), chars: 10}\n\tchars: 10,\n\tmatch: /^20/,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [10,9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.RO = [{\n\t// mask: new StringMask('0000000000000-0')\n\tchars: 14,\n\tdvs: [{\n\t\tdvpos: 13,\n\t\tpesos: [6,5,4,3,2,9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11v2']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.PR = [{\n\t// mask: new StringMask('00000000-00')\n\tchars: 10,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [3,2,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t},{\n\t\tdvpos: 9,\n\t\tpesos: [4,3,2,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.SC = [{\n\t// {mask: new StringMask('000.000.000'), uf: 'SANTA CATARINA'}\n\tchars: 9,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.RJ = [{\n\t// {mask: new StringMask('00.000.00-0'), uf: 'RIO DE JANEIRO'}\n\tchars: 8,\n\tdvs: [{\n\t\tdvpos: 7,\n\t\tpesos: [2,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.PA = [{\n\t// {mask: new StringMask('00-000000-0')\n\tchars: 9,\n\tmatch: /^15/,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.SE = [{\n\t// {mask: new StringMask('00000000-0')\n\tchars: 9,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.PB = [{\n\t// {mask: new StringMask('00000000-0')\n\tchars: 9,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.CE = [{\n\t// {mask: new StringMask('00000000-0')\n\tchars: 9,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.PI = [{\n\t// {mask: new StringMask('000000000')\n\tchars: 9,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.MA = [{\n\t// {mask: new StringMask('000000000')\n\tchars: 9,\n\tmatch: /^12/,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.MT = [{\n\t// {mask: new StringMask('0000000000-0')\n\tchars: 11,\n\tdvs: [{\n\t\tdvpos: 10,\n\t\tpesos: [3,2,9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.MS = [{\n\t// {mask: new StringMask('000000000')\n\tchars: 9,\n\tmatch: /^28/,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.TO = [{\n\t// {mask: new StringMask('00000000000'),\n\tchars: 11,\n\tmatch: /^[0-9]{2}((0[123])|(99))/,\n\tdvs: [{\n\t\tdvpos: 10,\n\t\tpesos: [9,8,0,0,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.AL = [{\n\t// {mask: new StringMask('000000000')\n\tchars: 9,\n\tmatch: /^24[03578]/,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'minusRestOf11']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.RR = [{\n\t// {mask: new StringMask('00000000-0')\n\tchars: 9,\n\tmatch: /^24/,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [1,2,3,4,5,6,7,8],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod9', 'voidFn']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.GO = [{\n\t// {mask: new StringMask('00.000.000-0')\n\tchars: 9,\n\tmatch: /^1[015]/,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'normalSum', 'mod11', 'goSpec']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\nIErules.AP = [{\n\t// {mask: new StringMask('000000000')\n\tchars: 9,\n\tmatch: /^03/,\n\tdvs: [{\n\t\tdvpos: 8,\n\t\tpesos: [9,8,7,6,5,4,3,2],\n\t\talgorithmSteps: ['onlyNumbers', 'apSpec', 'mod11', 'apSpec']\n\t}],\n\tvalidate: function(value) { return validateIE(value, this); }\n}];\n\n\nvar PIS = {};\n\nPIS.validate = function(pis) {\n\tpis = pis.replace(/[^\\d]+/g,'');\n\tvar r = /^(0{11}|1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11})$/;\n\n\tif (!pis || pis.length !== 11 || r.test(pis)) {\n\t\treturn false;\n\t}\n\n\tvar pisi = pis.substring(0,10);\n\tvar pisd = pis.substring(10);\n\n\tfunction calculateDigit(pis){\n var p = [3,2,9,8,7,6,5,4,3,2];\n var s = 0;\n for(var i = 0; i <= 9; i++){\n s += parseInt(pis.charAt(i)) * p[i];\n }\n var r = 11 - (s%11);\n return (r === 10 || r === 11) ? 0 : r;\n\t}\n\n\treturn Number(pisd) === calculateDigit(pisi);\n};\n\n\treturn {\n\t\tie: IE,\n\t\tcpf: CPF,\n\t\tcnpj: CNPJ,\n\t\tpis: PIS\n\t};\n}));","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","import 'angular-input-masks/br';\r\nimport sum from 'lodash/sum';\r\nimport map from 'lodash/map';\r\n\r\nconst moduleName = 'antt.common.filter';\r\n\r\nimport { Mensagens } from 'sishab/mensagens';\r\n\r\n/**\r\n * Retorna a mensagem de erro a partir de seu código.\r\n * @param {string} input Código da mensagem de erro.\r\n * @return {string} Mensagem de erro.\r\n */\r\nfunction ErroFilter(input) {\r\n if (!input) {\r\n return '';\r\n }\r\n\r\n let erro = Mensagens.Erro[input];\r\n if (!erro) {\r\n return '';\r\n }\r\n\r\n return erro;\r\n}\r\n\r\n/**\r\n * Retorna a mensagem de alerta a partir de seu código.\r\n * @param {string} input Código da mensagem de alerta.\r\n * @return {string} Mensagem de alerta.\r\n */\r\nfunction AlertaFilter(input) {\r\n if (!input) {\r\n return '';\r\n }\r\n\r\n let alerta = Mensagens.Alerta[input];\r\n if (!alerta) {\r\n return '';\r\n }\r\n\r\n return alerta;\r\n}\r\n\r\n/**\r\n * Retorna a mensagem de sucesso a partir de seu código.\r\n * @param {string} input Código da mensagem de sucesso.\r\n * @return {string} Mensagem de sucesso.\r\n */\r\nfunction SucessoFilter(input) {\r\n if (!input) {\r\n return '';\r\n }\r\n\r\n let sucesso = Mensagens.Sucesso[input];\r\n if (!sucesso) {\r\n return '';\r\n }\r\n\r\n return sucesso;\r\n}\r\n\r\n/**\r\n * Filtro para formatação de strings em Javascript.\r\n * @example\r\n * // returns \"Bom dia, Fulano! Agora são 12:22.\"\r\n * {{\"Bom dia, {0}! Agora são {1}.\" | format: ['Fulano', new Date().toLocaleTimeString()]}}\r\n */\r\nexport const StringFormat = (function() {\r\n function stringFormat() {}\r\n\r\n stringFormat.format = function() {\r\n const toFormattedString = function(format, values) {\r\n let result = '';\r\n\r\n for (let i = 0; ; ) {\r\n // Find the next opening or closing brace\r\n const open1 = format.indexOf('{', i);\r\n const close1 = format.indexOf('}', i);\r\n\r\n if (open1 < 0 && close1 < 0) {\r\n // Not found: copy the end of the string and break\r\n result += format.slice(i);\r\n break;\r\n }\r\n\r\n if (close1 > 0 && (close1 < open1 || open1 < 0)) {\r\n if (format.charAt(close1 + 1) !== '}') {\r\n throw new Error('format stringFormatBraceMismatch');\r\n }\r\n result += format.slice(i, close1 + 1);\r\n i = close1 + 2;\r\n continue;\r\n }\r\n\r\n // Copy the string before the brace\r\n result += format.slice(i, open1);\r\n i = open1 + 1;\r\n\r\n // Check for double braces (which display as one and are not arguments)\r\n if (format.charAt(i) === '{') {\r\n result += '{';\r\n i++;\r\n continue;\r\n }\r\n\r\n if (close1 < 0) {\r\n throw new Error('format stringFormatBraceMismatch');\r\n }\r\n\r\n // Find the closing brace\r\n // Get the string between the braces, and split it around the ':' (if any)\r\n const brace = format.substring(i, close1);\r\n const colonIndex = brace.indexOf(':');\r\n const argNumber = parseInt(colonIndex < 0 ? brace : brace.substring(0, colonIndex), 10);\r\n\r\n if (isNaN(argNumber)) {\r\n throw new Error('format stringFormatInvalid');\r\n }\r\n\r\n const argFormat = colonIndex < 0 ? '' : brace.substring(colonIndex + 1);\r\n let arg = values[argNumber];\r\n\r\n if (typeof arg === 'undefined' || arg === null) {\r\n arg = '';\r\n }\r\n\r\n // If it has a toFormattedString method, call it. Otherwise, call toString()\r\n if (arg['toFormattedString']) {\r\n result += arg['toFormattedString'](argFormat);\r\n } else if (arg['format']) {\r\n result += arg['format'](argFormat);\r\n } else {\r\n result += arg.toString();\r\n }\r\n\r\n i = close1 + 1;\r\n }\r\n\r\n return result;\r\n };\r\n\r\n return function(template, values) {\r\n if (!values || !values.length || !template) {\r\n return template;\r\n }\r\n\r\n return toFormattedString(template, values);\r\n };\r\n };\r\n return stringFormat;\r\n})();\r\n\r\n/**\r\n * Filtro para substituição de strings vazias.\r\n * @example\r\n * // returns \"-\"\r\n * Markup: {{null | empty: '-'}}\r\n */\r\nexport const EmptyFilter = (function() {\r\n function emptyFilter() {}\r\n\r\n emptyFilter.filter = function() {\r\n return function(texto, substituicao) {\r\n if (substituicao === void 0) {\r\n substituicao = '-';\r\n }\r\n\r\n if (texto === null || texto === undefined || texto === '' || texto.trim() === '') {\r\n return substituicao;\r\n }\r\n\r\n return texto;\r\n };\r\n };\r\n\r\n return emptyFilter;\r\n})();\r\n\r\nexport const PendenciasFilter = (function () {\r\n function pendenciasFilter() { }\r\n\r\n pendenciasFilter.filter = function () {\r\n return function (pendencias, filtro) {\r\n if (!pendencias)\r\n return pendencias;\r\n\r\n return pendencias.filter(i => i.isPendenciaExtraordinaria === filtro.isPendenciaExtraordinaria || i.isPendencia === filtro.isPendencia);\r\n };\r\n };\r\n\r\n return pendenciasFilter;\r\n})();\r\n\r\nexport const BooleanTextFilter = (function() {\r\n function booleanTextFilter() {}\r\n\r\n booleanTextFilter.filter = function() {\r\n return function(value) {\r\n if (!value)\r\n return 'Não';\r\n\r\n return (value === true) ? 'Sim' : 'Não';\r\n };\r\n };\r\n\r\n return booleanTextFilter;\r\n})();\r\n\r\n/**\r\n * Filtro para redução de um array de objetos iguais.\r\n */\r\nexport const MapFilter = (function() {\r\n function mapFilter() {}\r\n\r\n mapFilter.filter = function() {\r\n return function(array, propriedade) {\r\n if (angular.isArray(array)) {\r\n return map(array, propriedade);\r\n }\r\n\r\n return array;\r\n };\r\n };\r\n\r\n return mapFilter;\r\n})();\r\n\r\n/**\r\n * Filtro para soma de um array de valores.\r\n * @example\r\n * // returns 15\r\n * Markup: {{[1,2,3,4] | sum: 5}}\r\n */\r\nexport const SumFilter = (function() {\r\n function sumFilter() {}\r\n\r\n sumFilter.filter = function() {\r\n return function(array, valorInicial) {\r\n if (valorInicial === void 0) {\r\n valorInicial = 0;\r\n }\r\n\r\n if (angular.isArray(array)) {\r\n return valorInicial + sum(array);\r\n }\r\n\r\n return array;\r\n };\r\n };\r\n\r\n return sumFilter;\r\n})();\r\n\r\nexport const MaskFilters = (function() {\r\n function maskFilters() {}\r\n\r\n maskFilters.apenasLetras = function() {\r\n return function(texto) {\r\n if (!texto) {\r\n return '';\r\n }\r\n const regex = /\\W+/g; // Todos caracteres que não são letras\r\n\r\n return texto.replace(regex, '');\r\n };\r\n };\r\n\r\n maskFilters.apenasNumeros = function() {\r\n return function(texto) {\r\n if (!texto) {\r\n return '';\r\n }\r\n const regex = /\\D+/g; // Todos caracteres que não são números\r\n\r\n return texto.replace(regex, '');\r\n };\r\n };\r\n\r\n maskFilters.placa = function() {\r\n return [\r\n '$filter',\r\n function($filter) {\r\n return function(placa) {\r\n if (!placa) {\r\n return '';\r\n }\r\n\r\n if (placa.length === 7) {\r\n const s = $filter('uppercase')(placa);\r\n return s.slice(0, 3) + '-' + s.slice(3);\r\n }\r\n\r\n return placa;\r\n };\r\n }\r\n ];\r\n };\r\n\r\n maskFilters.cpfCnpj = function() {\r\n return function(cpfCnpj) {\r\n if (cpfCnpj && cpfCnpj.length === 11) {\r\n return maskFilters.cpf()(cpfCnpj);\r\n }\r\n if (cpfCnpj && cpfCnpj.length === 14) {\r\n return maskFilters.cnpj()(cpfCnpj);\r\n }\r\n\r\n return '';\r\n };\r\n };\r\n\r\n maskFilters.cnpj = function() {\r\n return function(cnpj) {\r\n if (cnpj && cnpj.length === 14) {\r\n return `${cnpj.slice(0, 2)}.${cnpj.slice(2, 5)}.${cnpj.slice(5, 8)}/${cnpj.slice(8, 12)}-${cnpj.slice(\r\n 12\r\n )}`;\r\n }\r\n\r\n return cnpj;\r\n };\r\n };\r\n\r\n maskFilters.cpf = function() {\r\n return function(cpf) {\r\n if (cpf && cpf.length === 11) {\r\n return `${cpf.slice(0, 3)}.${cpf.slice(3, 6)}.${cpf.slice(6, 9)}-${cpf.slice(9)}`;\r\n }\r\n\r\n return cpf;\r\n };\r\n };\r\n\r\n maskFilters.naturezaJuridica = function() {\r\n return function(codigo) {\r\n if (codigo) {\r\n return `${codigo.slice(0, 3)}-${codigo.slice(3)}`;\r\n }\r\n\r\n return codigo;\r\n };\r\n };\r\n\r\n maskFilters.cnae = function() {\r\n return function(codigo) {\r\n if (codigo) {\r\n if (codigo.length === 5) {\r\n return `${codigo.slice(0, 4)}-${codigo.slice(4, 5)}`;\r\n }\r\n\r\n if (codigo.length > 5) {\r\n return `${codigo.slice(0, 4)}-${codigo.slice(4, 5)}/${codigo.slice(5, 7)}`;\r\n }\r\n }\r\n\r\n return codigo;\r\n };\r\n };\r\n\r\n maskFilters.cep = function () {\r\n return function (codigo) {\r\n if (codigo) {\r\n if (codigo.length === 8) {\r\n return `${codigo.slice(0, 2)}.${codigo.slice(2, 5)}-${codigo.slice(5, 8)}`;\r\n }\r\n }\r\n\r\n return codigo;\r\n };\r\n };\r\n\r\n maskFilters.versao = function() {\r\n return function(valor) {\r\n if (valor) {\r\n return `${valor}.0`;\r\n }\r\n\r\n return valor;\r\n }\r\n };\r\n\r\n maskFilters.numeroRequerimento = function() {\r\n return function(valor) {\r\n if (valor) {\r\n return `${valor.slice(0,6)}/${valor.slice(6)}`;\r\n }\r\n\r\n return valor;\r\n }\r\n };\r\n \r\n maskFilters.cpfParcial = function () {\r\n return function (cpf) {\r\n if (cpf && cpf.length === 11) {\r\n return `${cpf.slice(0, 3)}. *** . *** -${cpf.slice(9)}`;\r\n }\r\n\r\n return cpf;\r\n };\r\n };\r\n\r\n maskFilters.telefone = function() {\r\n return function(telefone) {\r\n\r\n if (!telefone)\r\n return telefone;\r\n\r\n if(telefone.contains(\"0800\") && telefone.length === 13){\r\n return `(${telefone.slice(0, 4)}) ${telefone.slice(4, 3)} ${telefone.slice(7, 4)}`;\r\n }\r\n \r\n if (telefone.length === 10) {\r\n return `(${telefone.slice(0, 2)}) ${telefone.slice(2, 6)}-${telefone.slice(6, 10)}`;\r\n }\r\n\r\n if (telefone.length === 11) {\r\n return `(${telefone.slice(0, 2)}) ${telefone.slice(2, 7)}-${telefone.slice(7, 11)}`;\r\n }\r\n\r\n if (telefone.length === 12) {\r\n return `+${telefone.slice(0, 2)} (${telefone.slice(2, 4)}) ${telefone.slice(4, 8)}-${telefone.slice(\r\n 8,\r\n 12\r\n )}`;\r\n }\r\n\r\n if (telefone.length === 13) {\r\n return `+${telefone.slice(0, 2)} (${telefone.slice(2, 4)}) ${telefone.slice(4, 9)}-${telefone.slice(\r\n 9,\r\n 13\r\n )}`;\r\n }\r\n\r\n return telefone;\r\n };\r\n };\r\n\r\n return maskFilters;\r\n})();\r\n\r\nangular\r\n .module(moduleName, ['ui.utils.masks'])\r\n .filter('format', StringFormat.format)\r\n .filter('placa', MaskFilters.placa)\r\n .filter('apenasLetras', MaskFilters.apenasLetras)\r\n .filter('apenasNumeros', MaskFilters.apenasNumeros)\r\n .filter('sum', SumFilter.filter)\r\n .filter('map', MapFilter.filter)\r\n .filter('telefone', MaskFilters.telefone)\r\n .filter('cpfCnpj', MaskFilters.cpfCnpj)\r\n .filter('cnpj', MaskFilters.cnpj)\r\n .filter('versao', MaskFilters.versao)\r\n .filter('cpf', MaskFilters.cpf)\r\n .filter('cpfParcial', MaskFilters.cpfParcial)\r\n .filter('naturezaJuridica', MaskFilters.naturezaJuridica)\r\n .filter('cnae', MaskFilters.cnae)\r\n .filter('cep', MaskFilters.cep)\r\n .filter('empty', EmptyFilter.filter)\r\n .filter('booleanText', BooleanTextFilter.filter)\r\n .filter('pendencias', PendenciasFilter.filter)\r\n .filter('numeroRequerimento', MaskFilters.numeroRequerimento)\r\n .filter('erro', () => ErroFilter)\r\n .filter('alerta', () => AlertaFilter)\r\n .filter('sucesso', () => SucessoFilter)\r\n .run(() => {\r\n console.debug(`[${moduleName}] inicializado.`);\r\n });\r\n\r\nexport default moduleName;\r\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","const moduleName = 'antt.common.loading';\r\n\r\nangular\r\n .module(moduleName, [])\r\n .directive('loading', [\r\n '$http',\r\n ($http) => {\r\n return {\r\n restrict: 'E',\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `,\r\n link: (scope) => {\r\n let loadingScreen = angular.element('#loading_screen');\r\n\r\n scope.isLoading = () => {\r\n return $http.pendingRequests.length > 0;\r\n };\r\n\r\n scope.$watch(scope.isLoading, (value) => {\r\n value ? loadingScreen.show() : loadingScreen.hide();\r\n });\r\n }\r\n };\r\n }\r\n ])\r\n .run(() => {\r\n console.debug(`[${moduleName}] inicializado.`);\r\n });\r\n\r\nexport default moduleName;\r\n","import loading from 'common/antt.loading.module';\r\n\r\nlet moduleName = 'antt';\r\n\r\nangular\r\n .module('antt', ['ngAnimate', 'ngAria', 'ngSanitize', 'ngMessages', 'ngCookies', 'angular-jwt', loading])\r\n .run(() => {\r\n console.debug(`[${moduleName}] inicializado.`);\r\n })\r\n .config([\r\n '$httpProvider',\r\n 'jwtOptionsProvider',\r\n ($httpProvider, jwtOptionsProvider) => {\r\n $httpProvider.interceptors.push('jwtInterceptor');\r\n\r\n jwtOptionsProvider.config({\r\n tokenGetter: [\r\n 'options',\r\n (options) => {\r\n if (\r\n options &&\r\n (options.url.indexOf('/Template/') !== -1 ||\r\n options.url.substr(options.url.length - 5) === '.html')\r\n ) {\r\n return null;\r\n }\r\n return window.token;\r\n }\r\n ],\r\n loginPath: window.loginPath,\r\n whiteListedDomains: (() => {\r\n let apiRootUrl = window.apiRootUrl.match(/https?:\\/\\/(.[^/:]+)/)[1];\r\n return [apiRootUrl];\r\n })()\r\n });\r\n }\r\n ]);\r\n\r\nexport default moduleName;\r\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","export const NotificationKind = {\r\n Error: 'error',\r\n Warning: 'warning',\r\n Info: 'info',\r\n Success: 'success'\r\n};\r\n\r\nexport class NotificationService {\r\n constructor(toastr) {\r\n this.toaster = toastr;\r\n this.toasts = [];\r\n }\r\n\r\n /**\r\n * Notifica uma mensagem ao usuário.\r\n * @param {string} message Mensagem a ser notificada.\r\n * @param {string} title Título da mensagem.\r\n * @param {NotificationKind} kind Tipo de mensagem: Error, Warning, Info, Success, etc.\r\n * @param {string} toastId Id do toast.\r\n */\r\n notify(message, title, kind, toastId) {\r\n if (!kind) {\r\n return;\r\n }\r\n\r\n let toast = this.toaster[kind](message, title);\r\n\r\n if (toastId) {\r\n this.toasts[toastId] = toast;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param toastId {string[]|string} Lista de toastIds a serem apagados. Se nulo, todos serão apagados.\r\n */\r\n clear(toastId) {\r\n this.toaster.clear(toastId);\r\n // TODO: remover do toasts após o clear.\r\n }\r\n\r\n handleError(object) {\r\n \r\n if (object.status === \"401\") {\r\n window.location.href = \"/Home/NaoAutorizado\";\r\n }\r\n\r\n const erroInesperado = 'Erro inesperado. Por favor tente novamente.';\r\n const message = object.data.message ||\r\n object.data.exceptionMessage ||\r\n object.data.exception.message ||\r\n erroInesperado; \r\n \r\n this.notify(message, void 0, NotificationKind.Error, void 0);\r\n }\r\n}\r\n\r\nNotificationService.$inject = ['toastr'];\r\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.swal=e():t.swal=e()}(this,function(){return function(t){function e(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"\",e(e.s=8)}([function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=\"swal-button\";e.CLASS_NAMES={MODAL:\"swal-modal\",OVERLAY:\"swal-overlay\",SHOW_MODAL:\"swal-overlay--show-modal\",MODAL_TITLE:\"swal-title\",MODAL_TEXT:\"swal-text\",ICON:\"swal-icon\",ICON_CUSTOM:\"swal-icon--custom\",CONTENT:\"swal-content\",FOOTER:\"swal-footer\",BUTTON_CONTAINER:\"swal-button-container\",BUTTON:o,CONFIRM_BUTTON:o+\"--confirm\",CANCEL_BUTTON:o+\"--cancel\",DANGER_BUTTON:o+\"--danger\",BUTTON_LOADING:o+\"--loading\",BUTTON_LOADER:o+\"__loader\"},e.default=e.CLASS_NAMES},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.getNode=function(t){var e=\".\"+t;return document.querySelector(e)},e.stringToNode=function(t){var e=document.createElement(\"div\");return e.innerHTML=t.trim(),e.firstChild},e.insertAfter=function(t,e){var n=e.nextSibling;e.parentNode.insertBefore(t,n)},e.removeNode=function(t){t.parentElement.removeChild(t)},e.throwErr=function(t){throw t=t.replace(/ +(?= )/g,\"\"),\"SweetAlert: \"+(t=t.trim())},e.isPlainObject=function(t){if(\"[object Object]\"!==Object.prototype.toString.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype},e.ordinalSuffixOf=function(t){var e=t%10,n=t%100;return 1===e&&11!==n?t+\"st\":2===e&&12!==n?t+\"nd\":3===e&&13!==n?t+\"rd\":t+\"th\"}},function(t,e,n){\"use strict\";function o(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,\"__esModule\",{value:!0}),o(n(25));var r=n(26);e.overlayMarkup=r.default,o(n(27)),o(n(28)),o(n(29));var i=n(0),a=i.default.MODAL_TITLE,s=i.default.MODAL_TEXT,c=i.default.ICON,l=i.default.FOOTER;e.iconMarkup='\\n
',e.titleMarkup='\\n
\\n',e.textMarkup='\\n
',e.footerMarkup='\\n
\\n'},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(1);e.CONFIRM_KEY=\"confirm\",e.CANCEL_KEY=\"cancel\";var r={visible:!0,text:null,value:null,className:\"\",closeModal:!0},i=Object.assign({},r,{visible:!1,text:\"Cancel\",value:null}),a=Object.assign({},r,{text:\"OK\",value:!0});e.defaultButtonList={cancel:i,confirm:a};var s=function(t){switch(t){case e.CONFIRM_KEY:return a;case e.CANCEL_KEY:return i;default:var n=t.charAt(0).toUpperCase()+t.slice(1);return Object.assign({},r,{text:n,value:t})}},c=function(t,e){var n=s(t);return!0===e?Object.assign({},n,{visible:!0}):\"string\"==typeof e?Object.assign({},n,{visible:!0,text:e}):o.isPlainObject(e)?Object.assign({visible:!0},n,e):Object.assign({},n,{visible:!1})},l=function(t){for(var e={},n=0,o=Object.keys(t);n=0&&w.splice(e,1)}function s(t){var e=document.createElement(\"style\");return t.attrs.type=\"text/css\",l(e,t.attrs),i(t,e),e}function c(t){var e=document.createElement(\"link\");return t.attrs.type=\"text/css\",t.attrs.rel=\"stylesheet\",l(e,t.attrs),i(t,e),e}function l(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}function u(t,e){var n,o,r,i;if(e.transform&&t.css){if(!(i=e.transform(t.css)))return function(){};t.css=i}if(e.singleton){var l=h++;n=g||(g=s(e)),o=f.bind(null,n,l,!1),r=f.bind(null,n,l,!0)}else t.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=c(e),o=p.bind(null,n,e),r=function(){a(n),n.href&&URL.revokeObjectURL(n.href)}):(n=s(e),o=d.bind(null,n),r=function(){a(n)});return o(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;o(t=e)}else r()}}function f(t,e,n,o){var r=n?\"\":o.css;if(t.styleSheet)t.styleSheet.cssText=x(e,r);else{var i=document.createTextNode(r),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function d(t,e){var n=e.css,o=e.media;if(o&&t.setAttribute(\"media\",o),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}function p(t,e,n){var o=n.css,r=n.sourceMap,i=void 0===e.convertToAbsoluteUrls&&r;(e.convertToAbsoluteUrls||i)&&(o=y(o)),r&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+\" */\");var a=new Blob([o],{type:\"text/css\"}),s=t.href;t.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}var m={},b=function(t){var e;return function(){return void 0===e&&(e=t.apply(this,arguments)),e}}(function(){return window&&document&&document.all&&!window.atob}),v=function(t){var e={};return function(n){return void 0===e[n]&&(e[n]=t.call(this,n)),e[n]}}(function(t){return document.querySelector(t)}),g=null,h=0,w=[],y=n(15);t.exports=function(t,e){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");e=e||{},e.attrs=\"object\"==typeof e.attrs?e.attrs:{},e.singleton||(e.singleton=b()),e.insertInto||(e.insertInto=\"head\"),e.insertAt||(e.insertAt=\"bottom\");var n=r(t,e);return o(n,e),function(t){for(var i=[],a=0;athis.length)&&-1!==this.indexOf(t,e)}),Array.prototype.includes||Object.defineProperty(Array.prototype,\"includes\",{value:function(t,e){if(null==this)throw new TypeError('\"this\" is null or not defined');var n=Object(this),o=n.length>>>0;if(0===o)return!1;for(var r=0|e,i=Math.max(r>=0?r:o-Math.abs(r),0);i=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(19),e.setImmediate=setImmediate,e.clearImmediate=clearImmediate},function(t,e,n){(function(t,e){!function(t,n){\"use strict\";function o(t){\"function\"!=typeof t&&(t=new Function(\"\"+t));for(var e=new Array(arguments.length-1),n=0;n1)for(var n=1;n',e.default=e.modalMarkup},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(0),r=o.default.OVERLAY,i='
\\n
';e.default=i},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(0),r=o.default.ICON;e.errorIconMarkup=function(){var t=r+\"--error\",e=t+\"__line\";return'\\n
\\n \\n \\n
\\n '},e.warningIconMarkup=function(){var t=r+\"--warning\";return'\\n \\n \\n \\n '},e.successIconMarkup=function(){var t=r+\"--success\";return'\\n \\n \\n\\n
\\n
\\n '}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(0),r=o.default.CONTENT;e.contentMarkup='\\n
\\n\\n
\\n'},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(0),r=o.default.BUTTON_CONTAINER,i=o.default.BUTTON,a=o.default.BUTTON_LOADER;e.buttonMarkup='\\n
\\n\\n \\n\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n'},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(4),r=n(2),i=n(0),a=i.default.ICON,s=i.default.ICON_CUSTOM,c=[\"error\",\"warning\",\"success\",\"info\"],l={error:r.errorIconMarkup(),warning:r.warningIconMarkup(),success:r.successIconMarkup()},u=function(t,e){var n=a+\"--\"+t;e.classList.add(n);var o=l[t];o&&(e.innerHTML=o)},f=function(t,e){e.classList.add(s);var n=document.createElement(\"img\");n.src=t,e.appendChild(n)},d=function(t){if(t){var e=o.injectElIntoModal(r.iconMarkup);c.includes(t)?u(t,e):f(t,e)}};e.default=d},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(2),r=n(4),i=function(t){navigator.userAgent.includes(\"AppleWebKit\")&&(t.style.display=\"none\",t.offsetHeight,t.style.display=\"\")};e.initTitle=function(t){if(t){var e=r.injectElIntoModal(o.titleMarkup);e.textContent=t,i(e)}},e.initText=function(t){if(t){var e=document.createDocumentFragment();t.split(\"\\n\").forEach(function(t,n,o){e.appendChild(document.createTextNode(t)),n0}).forEach(function(t){b.classList.add(t)})}n&&t===c.CONFIRM_KEY&&b.classList.add(s),b.textContent=r;var g={};return g[t]=i,f.setActionValue(g),f.setActionOptionsFor(t,{closeModal:p}),b.addEventListener(\"click\",function(){return u.onAction(t)}),m},p=function(t,e){var n=r.injectElIntoModal(l.footerMarkup);for(var o in t){var i=t[o],a=d(o,i,e);i.visible&&n.appendChild(a)}0===n.children.length&&n.remove()};e.default=p},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(3),r=n(4),i=n(2),a=n(5),s=n(6),c=n(0),l=c.default.CONTENT,u=function(t){t.addEventListener(\"input\",function(t){var e=t.target,n=e.value;a.setActionValue(n)}),t.addEventListener(\"keyup\",function(t){if(\"Enter\"===t.key)return s.onAction(o.CONFIRM_KEY)}),setTimeout(function(){t.focus(),a.setActionValue(\"\")},0)},f=function(t,e,n){var o=document.createElement(e),r=l+\"__\"+e;o.classList.add(r);for(var i in n){var a=n[i];o[i]=a}\"input\"===e&&u(o),t.appendChild(o)},d=function(t){if(t){var e=r.injectElIntoModal(i.contentMarkup),n=t.element,o=t.attributes;\"string\"==typeof n?f(e,n,o):e.appendChild(n)}};e.default=d},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(1),r=n(2),i=function(){var t=o.stringToNode(r.overlayMarkup);document.body.appendChild(t)};e.default=i},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(5),r=n(6),i=n(1),a=n(3),s=n(0),c=s.default.MODAL,l=s.default.BUTTON,u=s.default.OVERLAY,f=function(t){t.preventDefault(),v()},d=function(t){t.preventDefault(),g()},p=function(t){if(o.default.isOpen)switch(t.key){case\"Escape\":return r.onAction(a.CANCEL_KEY)}},m=function(t){if(o.default.isOpen)switch(t.key){case\"Tab\":return f(t)}},b=function(t){if(o.default.isOpen)return\"Tab\"===t.key&&t.shiftKey?d(t):void 0},v=function(){var t=i.getNode(l);t&&(t.tabIndex=0,t.focus())},g=function(){var t=i.getNode(c),e=t.querySelectorAll(\".\"+l),n=e.length-1,o=e[n];o&&o.focus()},h=function(t){t[t.length-1].addEventListener(\"keydown\",m)},w=function(t){t[0].addEventListener(\"keydown\",b)},y=function(){var t=i.getNode(c),e=t.querySelectorAll(\".\"+l);e.length&&(h(e),w(e))},x=function(t){if(i.getNode(u)===t.target)return r.onAction(a.CANCEL_KEY)},_=function(t){var e=i.getNode(u);e.removeEventListener(\"click\",x),t&&e.addEventListener(\"click\",x)},k=function(t){o.default.timer&&clearTimeout(o.default.timer),t&&(o.default.timer=window.setTimeout(function(){return r.onAction(a.CANCEL_KEY)},t))},O=function(t){t.closeOnEsc?document.addEventListener(\"keyup\",p):document.removeEventListener(\"keyup\",p),t.dangerMode?v():g(),y(),_(t.closeOnClickOutside),k(t.timer)};e.default=O},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(1),r=n(3),i=n(37),a=n(38),s={title:null,text:null,icon:null,buttons:r.defaultButtonList,content:null,className:null,closeOnClickOutside:!0,closeOnEsc:!0,dangerMode:!1,timer:null},c=Object.assign({},s);e.setDefaults=function(t){c=Object.assign({},s,t)};var l=function(t){var e=t&&t.button,n=t&&t.buttons;return void 0!==e&&void 0!==n&&o.throwErr(\"Cannot set both 'button' and 'buttons' options!\"),void 0!==e?{confirm:e}:n},u=function(t){return o.ordinalSuffixOf(t+1)},f=function(t,e){o.throwErr(u(e)+\" argument ('\"+t+\"') is invalid\")},d=function(t,e){var n=t+1,r=e[n];o.isPlainObject(r)||void 0===r||o.throwErr(\"Expected \"+u(n)+\" argument ('\"+r+\"') to be a plain object\")},p=function(t,e){var n=t+1,r=e[n];void 0!==r&&o.throwErr(\"Unexpected \"+u(n)+\" argument (\"+r+\")\")},m=function(t,e,n,r){var i=typeof e,a=\"string\"===i,s=e instanceof Element;if(a){if(0===n)return{text:e};if(1===n)return{text:e,title:r[0]};if(2===n)return d(n,r),{icon:e};f(e,n)}else{if(s&&0===n)return d(n,r),{content:e};if(o.isPlainObject(e))return p(n,r),e;f(e,n)}};e.getOpts=function(){for(var t=[],e=0;e\r\n
\r\n
\r\n
\r\n
\r\n
\r\n `;\r\n this.transclude = {\r\n panelHeading: '?panelHeading',\r\n panelBody: 'panelBody',\r\n panelFooter: '?panelFooter'\r\n };\r\n }\r\n}\r\n\r\nangular\r\n .module(moduleName, [])\r\n .component('panel', new PanelComponent())\r\n .run(() => {\r\n console.debug(`[${moduleName}] inicializado.`);\r\n });\r\n\r\nexport default moduleName;\r\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = startOfUTCISOWeekYear;\n\nvar _index = require('../getUTCISOWeekYear/index.js');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _index3 = require('../startOfUTCISOWeek/index.js');\n\nvar _index4 = _interopRequireDefault(_index3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction startOfUTCISOWeekYear(dirtyDate, dirtyOptions) {\n var year = (0, _index2.default)(dirtyDate, dirtyOptions);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = (0, _index4.default)(fourthOfJanuary, dirtyOptions);\n return date;\n}\nmodule.exports = exports['default'];","'use strict';\n\nmodule.exports = {\n\tmaxNumber: function(ctrl, value, limit) {\n\t\tvar max = parseFloat(limit, 10);\n\t\treturn ctrl.$isEmpty(value) || isNaN(max) || value <= max;\n\t},\n\tminNumber: function(ctrl, value, limit) {\n\t\tvar min = parseFloat(limit, 10);\n\t\treturn ctrl.$isEmpty(value) || isNaN(min) || value >= min;\n\t}\n};\n","'use strict';\n\nfunction clearDelimitersAndLeadingZeros(value) {\n\tif (value === '0') {\n\t\treturn '0';\n\t}\n\n\tvar cleanValue = value.toString().replace(/^-/,'').replace(/^0*/, '');\n\treturn cleanValue.replace(/[^0-9]/g, '');\n}\n\nfunction prepareNumberToFormatter(value, decimals) {\n\treturn clearDelimitersAndLeadingZeros((parseFloat(value)).toFixed(decimals));\n}\n\nmodule.exports = {\n\tclearDelimitersAndLeadingZeros: clearDelimitersAndLeadingZeros,\n\tprepareNumberToFormatter: prepareNumberToFormatter\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","import toastr from 'angular-toastr';\r\nimport { NotificationService } from 'common/antt.notification.service';\r\n\r\nlet moduleName = 'antt.common.notification';\r\n\r\nangular\r\n .module(moduleName, [toastr])\r\n .service('NotificationService', NotificationService)\r\n .config([\r\n 'toastrConfig',\r\n (toastrConfig) => {\r\n angular.extend(toastrConfig, {\r\n closeButton: true,\r\n positionClass: 'toast-top-center',\r\n preventOpenDuplicates: true,\r\n progressBar: true,\r\n timeOut: '30000'\r\n });\r\n }\r\n ])\r\n .run(() => {\r\n console.debug(`[${moduleName}] inicializado.`);\r\n });\r\n\r\nexport default moduleName;\r\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","import { BaseHttpService } from 'common/antt.http.service';\r\n\r\nexport class EmpresaService extends BaseHttpService {\r\n constructor($http) {\r\n super($http);\r\n }\r\n\r\n /**\r\n * Salva os dados da empresa.\r\n * @param {Object} model Dados da empresa.\r\n * @returns {int} - \r\n */\r\n cadastrarEmpresa(model) {\r\n return this.$http.post(`${this.apiRootUrl}/api/empresa`, model);\r\n }\r\n\r\n /**\r\n * Edita os dados da empresa.\r\n * @param {Object} model - Dados da empresa.\r\n * @returns {int} - \r\n */\r\n editarEmpresa(model) {\r\n return this.$http.put(`${this.apiRootUrl}/api/empresa`, model);\r\n }\r\n\r\n /**\r\n * Lista os dados da empresa.\r\n * @param {string} cnpj CNPJ da empresa.\r\n * @returns {Object} Dados da Empresa.\r\n */\r\n obterPessoaJuridica(cnpj) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/${cnpj}`);\r\n }\r\n\r\n /**\r\n * Obter os dados da empresa.\r\n * @param {int} pessoaJuridicaId Identificador único da empresa.\r\n * @returns {Object} Dados da Empresa.\r\n */\r\n obterDadosEmpresa(pessoaJuridicaId) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/dados-empresa/${pessoaJuridicaId}`);\r\n }\r\n \r\n obterDadosEmpresaCompleto(pessoaJuridicaId) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/dados-empresa/${pessoaJuridicaId}/completo`);\r\n }\r\n\r\n /**\r\n * Obtém os dados do endereço da pessoa jurídica.\r\n * @param {string} cnpj CNPJ da empresa.\r\n * @returns {Object} Endereço da empresa.\r\n */\r\n obterEnderecoPessoaJuridica(cnpj) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/${cnpj}/endereco`);\r\n }\r\n\r\n /**\r\n * Obtém os dados de um endereço a partir de seu CEP.\r\n * @param {string} cep CEP do endereço.\r\n * @returns {Object} Dados do endereço.\r\n */\r\n obterEndereco(cep) {\r\n return this.$http.get(`${this.apiRootUrl}/api/endereco/${cep}`);\r\n }\r\n\r\n /**\r\n * Obtém os CNAEs da pessoa jurídica.\r\n * @param {string} cnpj CNPJ da empresa.\r\n * @returns {object[]} CNAEs da empresa.\r\n */\r\n obterCnaesPessoaJuridica(cnpj) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/${cnpj}/cnaes`);\r\n }\r\n\r\n /**\r\n * Obtém o quadro societário da empresa.\r\n * @param {string} cnpj CNPJ da empresa.\r\n * @returns {Object[]} Sócios da empresa.\r\n */\r\n obterSociosPessoaJuridica(cnpj) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/${cnpj}/socios`);\r\n }\r\n\r\n /**\r\n * Obtém as consorciadas da empresa.\r\n * @param {string} cnpj CNPJ da empresa.\r\n * @returns {Object[]} Consorciadas da empresa.\r\n */\r\n obterConsorciadasPessoaJuridica(cnpj) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/${cnpj}/consorciadas`);\r\n }\r\n\r\n\r\n /**\r\n * Lista as empresas cujo o empresário logado possui representação.\r\n * @returns {Object[]} Lista de empresas.\r\n */\r\n obterEmpresas() {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-fisica/empresas`);\r\n }\r\n\r\n pesquisarEmpresasAcesso(model){\r\n return this.$http.post(`${this.apiRootUrl}/api/pessoa-fisica/pesquisar`, model);\r\n }\r\n\r\n /**\r\n * Retorna se a empresa já se encontra cadastrada no sistema.\r\n * @param {string} cnpj CNPJ da empresa.\r\n * @returns {boolean} Se a empresa já existir no sistema.\r\n */\r\n empresaJaCadastrada(cnpj) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/${cnpj}/existe`);\r\n }\r\n\r\n /**\r\n * Retorna se a consorciada já se encontra cadastrada no sistema e está ativa.\r\n * @param {string} cnpj CNPJ da empresa.\r\n * @returns {boolean} Se a empresa consorciada já existir no sistema.\r\n */\r\n consorciadaJaCadastrada(cnpj) {\r\n return this.$http.get(`${this.apiRootUrl}/api/consorciadas/consorciada/${cnpj}/existe`);\r\n }\r\n\r\n /**\r\n * Retorna se a empresa já se encontra cadastrada no sistema.\r\n * @param {string} cnpj CNPJ da empresa.\r\n * @returns {boolean} Se a empresa já existir no sistema.\r\n */\r\n obterPessoaJuridicaId(cnpj) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/id/${cnpj}`);\r\n }\r\n\r\n /**\r\n * Verifica se o usuário logado é o responsável legal da empresa.\r\n * @param {string} cnpj CNPJ da empresa.\r\n * @returns {boolean} Se o usuário logado é o responsável legal da empresa.\r\n */\r\n verificarResponsavelLegal(cnpj) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/${cnpj}/responsavel/verificar`);\r\n }\r\n\r\n /**\r\n * Recupera os dados da empresa.\r\n * @param {int} pessoaJuridicaId Identificador único da empresa.\r\n * @returns {Object} Dados da Empresa.\r\n */\r\n obterEmpresa(pessoaJuridicaId) {\r\n return this.$http.get(`${this.apiRootUrl}/api/empresa/${pessoaJuridicaId}`);\r\n }\r\n\r\n obterConsorcio(pessoaJuridicaId) {\r\n return this.$http.get(`${this.apiRootUrl}/api/empresa/consorcio/obter/${pessoaJuridicaId}`);\r\n }\r\n\r\n /**\r\n * Salva os dados da empresa consorciada.\r\n * @param {Object} model Dados da empresa consorciada.\r\n * @returns {int} - \r\n */\r\n cadastrarEmpresaConsorciada(model) {\r\n return this.$http.post(`${this.apiRootUrl}/api/consorciadas/consorciada`, model);\r\n }\r\n\r\n /**\r\n * Recupera os dados da empresa consorciada.\r\n * @param {int} pessoaJuridicaConsorciadaId Identificador único da empresa consorciada.\r\n * @returns {Object} Dados da Empresa consorciada.\r\n */\r\n obterConsorciada(pessoaJuridicaConsorciadaId) {\r\n return this.$http.get(`${this.apiRootUrl}/api/consorciadas/consorciada/${pessoaJuridicaConsorciadaId}`);\r\n }\r\n\r\n /**\r\n * Edita os dados da empresa consorciada.\r\n * @param {Object} model Dados da empresa consorciada.\r\n * @returns {int} - \r\n */\r\n editarConsorciada(model) {\r\n return this.$http.put(`${this.apiRootUrl}/api/consorciadas/consorciada`, model);\r\n }\r\n\r\n /**\r\n * Exclui uma empresa consorciada.\r\n * @param {int} pessoaJuridicaId - Identificador único da empresa consorciada.\r\n * @returns {int} - \r\n */\r\n excluirConsorciada(pessoaJuridicaId) {\r\n return this.$http.delete(`${this.apiRootUrl}/api/consorciadas/consorciada/${pessoaJuridicaId}`);\r\n }\r\n\r\n /**\r\n * Recupera as empresas consorciadas vinculadas a uma empresa.\r\n * @param {int} pessoaJuridicaId Identificador único da empresa.\r\n * @returns {Object} Dados das Empresas consorciadas.\r\n */\r\n obterConsorciadas(pessoaJuridicaId) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/consorciadas/${pessoaJuridicaId}`);\r\n }\r\n\r\n /**\r\n * Recupera as permissoes de acesso para edição de empresas consorciadas vinculadas a uma empresa.\r\n * @param {int} pessoaJuridicaId Identificador único da empresa.\r\n * @returns {Object} Dados das permissões de acesso à Empresas consorciadas.\r\n */\r\n obterPermissoes(pessoaJuridicaId) {\r\n return this.$http.get(`${this.apiRootUrl}/api/consorciadas/consorciada/${pessoaJuridicaId}/permissoes`);\r\n }\r\n\r\n /**\r\n * Recupera as razões sociais cadastradas no sishab para o usuário logado.\r\n * @returns {Object} Lista de razões sociais.\r\n */\r\n obterRazaoSocial() {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/razao-social`);\r\n }\r\n\r\n /**\r\n * Recupera as nomes das pessoas físicas cadastradas no sishab.\r\n * @returns {Object} Lista de nomes.\r\n */\r\n obterNomes() {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-fisica/nomes`);\r\n }\r\n\r\n validarAcessoUsuarioEmpresa(idEmpresa) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/${idEmpresa}/validar-acesso`);\r\n }\r\n\r\n atualizarPessoaJuridicaReceitaFederal(cnpj) {\r\n return this.$http.get(`${this.apiRootUrl}/api/pessoa-juridica/${cnpj}/receita-federal/atualizar`);\r\n }\r\n\r\n verificarCadastroCompleto(idEmpresa) {\r\n return this.$http.get(`${this.apiRootUrl}/api/empresa/${idEmpresa}/validar-cadastro-completo`);\r\n }\r\n\r\n listarSituacoesEmpresa() {\r\n return this.$http.get(`${this.apiRootUrl}/api/empresa/situacoes`);\r\n }\r\n}\r\n\r\nEmpresaService.$inject = ['$http'];\r\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","import swal from 'sweetalert/dist/sweetalert.min';\r\nimport { Mensagens } from 'sishab/mensagens';\r\n\r\nexport class DialogService {\r\n constructor($q) {\r\n this.$q = $q;\r\n }\r\n\r\n sucesso(title, message, options) {\r\n const defaultOptions = {\r\n title: title,\r\n text: message,\r\n icon: 'success',\r\n buttons: {\r\n confirm: {\r\n visible: true,\r\n text: 'OK',\r\n value: true,\r\n className: '',\r\n closeModal: true\r\n }\r\n },\r\n content: null,\r\n className: null,\r\n closeOnClickOutside: true,\r\n closeOnEsc: true,\r\n dangerMode: false,\r\n timer: null\r\n };\r\n\r\n if (options) {\r\n angular.extend(defaultOptions, options);\r\n }\r\n\r\n return this.$q.when(swal(defaultOptions));\r\n }\r\n\r\n confirmar(title, message, options) {\r\n const defaultOptions = {\r\n title: title,\r\n text: message,\r\n icon: null,\r\n buttons: {\r\n cancel: {\r\n visible: true,\r\n text: 'Cancelar',\r\n value: null,\r\n className: '',\r\n closeModal: true\r\n },\r\n confirm: {\r\n visible: true,\r\n text: 'Confirmar',\r\n value: true,\r\n className: '',\r\n closeModal: true\r\n }\r\n },\r\n content: null,\r\n className: null,\r\n closeOnClickOutside: true,\r\n closeOnEsc: true,\r\n dangerMode: false,\r\n timer: null\r\n };\r\n\r\n if (options) {\r\n angular.extend(defaultOptions, options);\r\n }\r\n\r\n return this.$q.when(swal(defaultOptions));\r\n }\r\n\r\n cancelar(options) {\r\n return this.confirmar('Cancelamento', Mensagens.Alerta.MA5, {\r\n buttons: {\r\n cancel: {\r\n visible: true,\r\n text: 'Não',\r\n value: null,\r\n className: '',\r\n closeModal: true\r\n },\r\n confirm: {\r\n visible: true,\r\n text: 'Sim',\r\n value: true,\r\n className: '',\r\n closeModal: true\r\n }\r\n }\r\n });\r\n }\r\n\r\n alerta(title, message, options) {\r\n const defaultOptions = {\r\n title: title,\r\n text: message,\r\n icon: 'info',\r\n content: null,\r\n className: null,\r\n closeOnClickOutside: true,\r\n closeOnEsc: true,\r\n dangerMode: false,\r\n timer: 5000\r\n };\r\n\r\n if (options) {\r\n angular.extend(defaultOptions, options);\r\n }\r\n\r\n return this.$q.when(swal(defaultOptions));\r\n }\r\n}\r\n\r\nDialogService.$inject = ['$q'];\r\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isValid;\n\nvar _index = require('../toDate/index.js');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @param {Options} [options] - the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // For the valid date:\n * var result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * var result = isValid('2014-02-31')\n * //=> true\n *\n * @example\n * // For the invalid date:\n * var result = isValid(new Date(''))\n * //=> false\n */\nfunction isValid(dirtyDate, dirtyOptions) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n\n var date = (0, _index2.default)(dirtyDate, dirtyOptions);\n return !isNaN(date);\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _index = require('./_lib/formatDistance/index.js');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _index3 = require('./_lib/formatLong/index.js');\n\nvar _index4 = _interopRequireDefault(_index3);\n\nvar _index5 = require('./_lib/formatRelative/index.js');\n\nvar _index6 = _interopRequireDefault(_index5);\n\nvar _index7 = require('./_lib/localize/index.js');\n\nvar _index8 = _interopRequireDefault(_index7);\n\nvar _index9 = require('./_lib/match/index.js');\n\nvar _index10 = _interopRequireDefault(_index9);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n */\nvar locale = {\n formatDistance: _index2.default,\n formatLong: _index4.default,\n formatRelative: _index6.default,\n localize: _index8.default,\n match: _index10.default,\n options: {\n weekStartsOn: 0 /* Sunday */\n , firstWeekContainsDate: 1\n }\n};\n\nexports.default = locale;\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getUTCISOWeek;\n\nvar _index = require('../../toDate/index.js');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _index3 = require('../startOfUTCISOWeek/index.js');\n\nvar _index4 = _interopRequireDefault(_index3);\n\nvar _index5 = require('../startOfUTCISOWeekYear/index.js');\n\nvar _index6 = _interopRequireDefault(_index5);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction getUTCISOWeek(dirtyDate, dirtyOptions) {\n var date = (0, _index2.default)(dirtyDate, dirtyOptions);\n var diff = (0, _index4.default)(date, dirtyOptions).getTime() - (0, _index6.default)(date, dirtyOptions).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getUTCISOWeekYear;\n\nvar _index = require('../../toDate/index.js');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _index3 = require('../startOfUTCISOWeek/index.js');\n\nvar _index4 = _interopRequireDefault(_index3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\nfunction getUTCISOWeekYear(dirtyDate, dirtyOptions) {\n var date = (0, _index2.default)(dirtyDate, dirtyOptions);\n var year = date.getUTCFullYear();\n\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = (0, _index4.default)(fourthOfJanuaryOfNextYear, dirtyOptions);\n\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = (0, _index4.default)(fourthOfJanuaryOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cloneObject;\nfunction cloneObject(dirtyObject) {\n dirtyObject = dirtyObject || {};\n var object = {};\n\n for (var property in dirtyObject) {\n if (dirtyObject.hasOwnProperty(property)) {\n object[property] = dirtyObject[property];\n }\n }\n\n return object;\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\nvar StringMask = require('string-mask');\n\nfunction viewMask(decimals, decimalDelimiter, thousandsDelimiter) {\n\tvar mask = '#' + thousandsDelimiter + '##0';\n\n\tif (decimals > 0) {\n\t\tmask += decimalDelimiter;\n\t\tfor (var i = 0; i < decimals; i++) {\n\t\t\tmask += '0';\n\t\t}\n\t}\n\n\treturn new StringMask(mask, {\n\t\treverse: true\n\t});\n}\n\nfunction modelMask(decimals) {\n\tvar mask = '###0';\n\n\tif (decimals > 0) {\n\t\tmask += '.';\n\t\tfor (var i = 0; i < decimals; i++) {\n\t\t\tmask += '0';\n\t\t}\n\t}\n\n\treturn new StringMask(mask, {\n\t\treverse: true\n\t});\n}\n\nmodule.exports = {\n\tviewMask: viewMask,\n\tmodelMask: modelMask\n};\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var isObject = require('./isObject');\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nmodule.exports = isStrictComparable;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nmodule.exports = matchesStrictComparable;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var baseSum = require('./_baseSum'),\n identity = require('./identity');\n\n/**\n * Computes the sum of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the sum.\n * @example\n *\n * _.sum([4, 2, 8, 6]);\n * // => 20\n */\nfunction sum(array) {\n return (array && array.length)\n ? baseSum(array, identity)\n : 0;\n}\n\nmodule.exports = sum;\n","var arrayMap = require('./_arrayMap'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n isArray = require('./isArray');\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\nmodule.exports = map;\n","require('./dist/angular-toastr.tpls.js');\nmodule.exports = 'toastr';\n\n","import { DialogService } from 'common/antt.dialog.service';\r\n\r\nlet moduleName = 'antt.common.dialog';\r\n\r\nangular\r\n .module(moduleName, [])\r\n .service('DialogService', DialogService)\r\n .run(() => {\r\n console.debug(`[${moduleName}] inicializado.`);\r\n });\r\n\r\nexport default moduleName;\r\n","const moduleName = 'antt.common.is-invalid';\r\n\r\nlet isInvalidDirective = ($interpolate) => {\r\n let linkFn = (scope, elem, attrs, formCtrl) => {\r\n let name = elem.attr('name');\r\n\r\n if (!name) {\r\n throw \"Necessário ter um atributo 'name' configurado.\";\r\n }\r\n\r\n name = $interpolate(name)(scope);\r\n let control = formCtrl[name];\r\n\r\n if (!control) {\r\n throw 'Input não localizado.';\r\n }\r\n\r\n scope.$watch(\r\n () => {\r\n return control.$invalid && (formCtrl.$submitted || control.$dirty);\r\n },\r\n (isInvalid) => {\r\n control.isInvalid = isInvalid;\r\n elem.toggleClass('is-invalid', isInvalid);\r\n elem.toggleClass('error', isInvalid);\r\n }\r\n );\r\n };\r\n\r\n return {\r\n link: linkFn,\r\n restrict: 'A',\r\n require: '^form'\r\n };\r\n};\r\n\r\nangular\r\n .module(moduleName, [])\r\n .directive('isInvalid', ['$interpolate', isInvalidDirective])\r\n .run(() => {\r\n console.debug(`[${moduleName}] inicializado.`);\r\n });\r\n\r\nexport default moduleName;\r\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","/*!\n * jQuery JavaScript Library v3.6.0\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-03-02T17:08Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n\t\t// Support: Chrome <=57, Firefox <=52\n\t\t// In some browsers, typeof returns \"function\" for HTML elements\n\t\t// (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n\t\t// We don't want to classify *any* DOM node as a function.\n\t\t// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n\t\t// Plus for old WebKit, typeof returns \"function\" for HTML collections\n\t\t// (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n\t\treturn typeof obj === \"function\" && typeof obj.nodeType !== \"number\" &&\n\t\t\ttypeof obj.item !== \"function\";\n\t};\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\nvar document = window.document;\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar\n\tversion = \"3.6.0\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teven: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn ( i + 1 ) % 2;\n\t\t} ) );\n\t},\n\n\todd: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn i % 2;\n\t\t} ) );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\t// Evaluates a script in a provided context; falls back to the global one\n\t// if not specified.\n\tglobalEval: function( code, options, doc ) {\n\t\tDOMEval( code, { nonce: options && options.nonce }, doc );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn flat( ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( _i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = toType( obj );\n\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.3.6\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://js.foundation/\n *\n * Date: 2021-02-16\n */\n( function( window ) {\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tnonnativeSelectorCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// Instance methods\n\thasOwn = ( {} ).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpushNative = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\n\t// Use a stripped-down indexOf as it's faster than native\n\t// https://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[ i ] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|\" +\n\t\t\"ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n\tidentifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\n\t\t// \"Attribute values must be CSS identifiers [capture 5]\n\t\t// or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" +\n\t\twhitespace + \"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" +\n\t\twhitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace +\n\t\t\"*\" ),\n\trdescend = new RegExp( whitespace + \"|>\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" +\n\t\t\twhitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" +\n\t\t\twhitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace +\n\t\t\t\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\n\t\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trhtml = /HTML$/i,\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\" ),\n\tfunescape = function( escape, nonHex ) {\n\t\tvar high = \"0x\" + escape.slice( 1 ) - 0x10000;\n\n\t\treturn nonHex ?\n\n\t\t\t// Strip the backslash prefix from a non-hex escape sequence\n\t\t\tnonHex :\n\n\t\t\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\n\t\t\t// Support: IE <=11+\n\t\t\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\n\t\t\t// surrogate pair\n\t\t\thigh < 0 ?\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\trcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n\tfcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" +\n\t\t\t\tch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && elem.nodeName.toLowerCase() === \"fieldset\";\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t( arr = slice.call( preferredDoc.childNodes ) ),\n\t\tpreferredDoc.childNodes\n\t);\n\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\t// eslint-disable-next-line no-unused-expressions\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpushNative.apply( target, slice.call( els ) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( ( target[ j++ ] = els[ i++ ] ) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\t\tsetDocument( context );\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( ( m = match[ 1 ] ) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( ( elem = context.getElementById( m ) ) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && ( elem = newContext.getElementById( m ) ) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[ 2 ] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!nonnativeSelectorCache[ selector + \" \" ] &&\n\t\t\t\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&\n\n\t\t\t\t// Support: IE 8 only\n\t\t\t\t// Exclude object elements\n\t\t\t\t( nodeType !== 1 || context.nodeName.toLowerCase() !== \"object\" ) ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// The technique has to be used as well when a leading combinator is used\n\t\t\t\t// as such selectors are not recognized by querySelectorAll.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 &&\n\t\t\t\t\t( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\n\t\t\t\t\t// We can use :scope instead of the ID hack if the browser\n\t\t\t\t\t// supports it & if we're not changing the context.\n\t\t\t\t\tif ( newContext !== context || !support.scope ) {\n\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( ( nid = context.getAttribute( \"id\" ) ) ) {\n\t\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", ( nid = expando ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[ i ] = ( nid ? \"#\" + nid : \":scope\" ) + \" \" +\n\t\t\t\t\t\t\ttoSelector( groups[ i ] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn ( cache[ key + \" \" ] = value );\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement( \"fieldset\" );\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch ( e ) {\n\t\treturn false;\n\t} finally {\n\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split( \"|\" ),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[ i ] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\ta.sourceIndex - b.sourceIndex;\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( ( cur = cur.nextSibling ) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn ( name === \"input\" || name === \"button\" ) && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\t/* jshint -W018 */\n\t\t\t\t\telem.isDisabled !== !disabled &&\n\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction( function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction( function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ ( j = matchIndexes[ i ] ) ] ) {\n\t\t\t\t\tseed[ j ] = !( matches[ j ] = seed[ j ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t} );\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\tvar namespace = elem && elem.namespaceURI,\n\t\tdocElem = elem && ( elem.ownerDocument || elem ).documentElement;\n\n\t// Support: IE <=8\n\t// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\n\t// https://bugs.jquery.com/ticket/4833\n\treturn !rhtml.test( namespace || docElem && docElem.nodeName || \"HTML\" );\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( preferredDoc != document &&\n\t\t( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 11, Edge\n\t\tif ( subWindow.addEventListener ) {\n\t\t\tsubWindow.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( subWindow.attachEvent ) {\n\t\t\tsubWindow.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,\n\t// Safari 4 - 5 only, Opera <=11.6 - 12.x only\n\t// IE/Edge & older browsers don't support the :scope pseudo-class.\n\t// Support: Safari 6.0 only\n\t// Safari 6.0 supports :scope but it's an alias of :root there.\n\tsupport.scope = assert( function( el ) {\n\t\tdocElem.appendChild( el ).appendChild( document.createElement( \"div\" ) );\n\t\treturn typeof el.querySelectorAll !== \"undefined\" &&\n\t\t\t!el.querySelectorAll( \":scope fieldset div\" ).length;\n\t} );\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert( function( el ) {\n\t\tel.className = \"i\";\n\t\treturn !el.getAttribute( \"className\" );\n\t} );\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert( function( el ) {\n\t\tel.appendChild( document.createComment( \"\" ) );\n\t\treturn !el.getElementsByTagName( \"*\" ).length;\n\t} );\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert( function( el ) {\n\t\tdocElem.appendChild( el ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t} );\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute( \"id\" ) === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode( \"id\" );\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( ( elem = elems[ i++ ] ) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[ \"TAG\" ] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[ \"CLASS\" ] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See https://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {\n\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert( function( el ) {\n\n\t\t\tvar input;\n\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// https://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( el ).innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( el.querySelectorAll( \"[msallowcapture^='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !el.querySelectorAll( \"[selected]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"~=\" );\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 15 - 18+\n\t\t\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\n\t\t\t// Adding a temporary attribute to the document before the selection works\n\t\t\t// around the issue.\n\t\t\t// Interestingly, IE 10 & older don't seem to have the issue.\n\t\t\tinput = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"name\", \"\" );\n\t\t\tel.appendChild( input );\n\t\t\tif ( !el.querySelectorAll( \"[name='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" +\n\t\t\t\t\twhitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !el.querySelectorAll( \":checked\" ).length ) {\n\t\t\t\trbuggyQSA.push( \":checked\" );\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push( \".#.+[+~]\" );\n\t\t\t}\n\n\t\t\t// Support: Firefox <=3.6 - 5 only\n\t\t\t// Old Firefox doesn't throw on a badly-escaped identifier.\n\t\t\tel.querySelectorAll( \"\\\\\\f\" );\n\t\t\trbuggyQSA.push( \"[\\\\r\\\\n\\\\f]\" );\n\t\t} );\n\n\t\tassert( function( el ) {\n\t\t\tel.innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( el.querySelectorAll( \"[name=d]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( el.querySelectorAll( \":enabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t\tdocElem.appendChild( el ).disabled = true;\n\t\t\tif ( el.querySelectorAll( \":disabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: Opera 10 - 11 only\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tel.querySelectorAll( \"*,:x\" );\n\t\t\trbuggyQSA.push( \",.*:\" );\n\t\t} );\n\t}\n\n\tif ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector ) ) ) ) {\n\n\t\tassert( function( el ) {\n\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( el, \"*\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( el, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t} );\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( \"|\" ) );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( \"|\" ) );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t) );\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( ( b = b.parentNode ) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tcompare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( a == document || a.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, a ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( b == document || b.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, b ) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\treturn a == document ? -1 :\n\t\t\t\tb == document ? 1 :\n\t\t\t\t/* eslint-enable eqeqeq */\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[ i ] === bp[ i ] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[ i ], bp[ i ] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\tap[ i ] == preferredDoc ? -1 :\n\t\t\tbp[ i ] == preferredDoc ? 1 :\n\t\t\t/* eslint-enable eqeqeq */\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\tsetDocument( elem );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!nonnativeSelectorCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\n\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t// fragment in IE 9\n\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( context.ownerDocument || context ) != document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( elem.ownerDocument || elem ) != document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.escape = function( sel ) {\n\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( ( node = elem[ i++ ] ) ) {\n\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[ 1 ] = match[ 1 ].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[ 3 ] = ( match[ 3 ] || match[ 4 ] ||\n\t\t\t\tmatch[ 5 ] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[ 2 ] === \"~=\" ) {\n\t\t\t\tmatch[ 3 ] = \" \" + match[ 3 ] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[ 1 ] = match[ 1 ].toLowerCase();\n\n\t\t\tif ( match[ 1 ].slice( 0, 3 ) === \"nth\" ) {\n\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[ 3 ] ) {\n\t\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[ 4 ] = +( match[ 4 ] ?\n\t\t\t\t\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\n\t\t\t\t\t2 * ( match[ 3 ] === \"even\" || match[ 3 ] === \"odd\" ) );\n\t\t\t\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \"odd\" );\n\n\t\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[ 3 ] ) {\n\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[ 6 ] && match[ 2 ];\n\n\t\t\tif ( matchExpr[ \"CHILD\" ].test( match[ 0 ] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[ 3 ] ) {\n\t\t\t\tmatch[ 2 ] = match[ 4 ] || match[ 5 ] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t( excess = tokenize( unquoted, true ) ) &&\n\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t( excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length ) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[ 0 ] = match[ 0 ].slice( 0, excess );\n\t\t\t\tmatch[ 2 ] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() {\n\t\t\t\t\treturn true;\n\t\t\t\t} :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t( pattern = new RegExp( \"(^|\" + whitespace +\n\t\t\t\t\t\")\" + className + \"(\" + whitespace + \"|$)\" ) ) && classCache(\n\t\t\t\t\t\tclassName, function( elem ) {\n\t\t\t\t\t\t\treturn pattern.test(\n\t\t\t\t\t\t\t\ttypeof elem.className === \"string\" && elem.className ||\n\t\t\t\t\t\t\t\ttypeof elem.getAttribute !== \"undefined\" &&\n\t\t\t\t\t\t\t\t\telem.getAttribute( \"class\" ) ||\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t);\n\t\t\t\t} );\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\t/* eslint-disable max-len */\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t\t/* eslint-enable max-len */\n\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, _argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( ( node = node[ dir ] ) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction( function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[ i ] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[ i ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction( function( selector ) {\n\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction( function( seed, matches, _context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\t\t\t\t\tseed[ i ] = !( matches[ i ] = elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} ) :\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tinput[ 0 ] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[ 0 ] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t} ),\n\n\t\t\"has\": markFunction( function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t} ),\n\n\t\t\"contains\": markFunction( function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t} ),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test( lang || \"\" ) ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( ( elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute( \"xml:lang\" ) || elem.getAttribute( \"lang\" ) ) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t} ),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement &&\n\t\t\t\t( !document.hasFocus || document.hasFocus() ) &&\n\t\t\t\t!!( elem.type || elem.href || ~elem.tabIndex );\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": createDisabledPseudo( false ),\n\t\t\"disabled\": createDisabledPseudo( true ),\n\n\t\t\"checked\": function( elem ) {\n\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn ( nodeName === \"input\" && !!elem.checked ) ||\n\t\t\t\t( nodeName === \"option\" && !!elem.selected );\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[ \"empty\" ]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( ( attr = elem.getAttribute( \"type\" ) ) == null ||\n\t\t\t\t\tattr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo( function() {\n\t\t\treturn [ 0 ];\n\t\t} ),\n\n\t\t\"last\": createPositionalPseudo( function( _matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t} ),\n\n\t\t\"eq\": createPositionalPseudo( function( _matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t} ),\n\n\t\t\"even\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"odd\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"lt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ?\n\t\t\t\targument + length :\n\t\t\t\targument > length ?\n\t\t\t\t\tlength :\n\t\t\t\t\targument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"gt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} )\n\t}\n};\n\nExpr.pseudos[ \"nth\" ] = Expr.pseudos[ \"eq\" ];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || ( match = rcomma.exec( soFar ) ) ) {\n\t\t\tif ( match ) {\n\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[ 0 ].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( ( tokens = [] ) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( ( match = rcombinators.exec( soFar ) ) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push( {\n\t\t\t\tvalue: matched,\n\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[ 0 ].replace( rtrim, \" \" )\n\t\t\t} );\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||\n\t\t\t\t( match = preFilters[ type ]( match ) ) ) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push( {\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t} );\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[ i ].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] ||\n\t\t\t\t\t\t\t( outerCache[ elem.uniqueID ] = {} );\n\n\t\t\t\t\t\tif ( skip && skip === elem.nodeName.toLowerCase() ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( ( oldCache = uniqueCache[ key ] ) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn ( newCache[ 2 ] = oldCache[ 2 ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\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\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[ i ]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[ 0 ];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[ i ], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction( function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts(\n\t\t\t\tselector || \"*\",\n\t\t\t\tcontext.nodeType ? [ context ] : context,\n\t\t\t\t[]\n\t\t\t),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( ( elem = temp[ i ] ) ) {\n\t\t\t\t\tmatcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) ) {\n\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( ( matcherIn[ i ] = elem ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, ( matcherOut = [] ), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) &&\n\t\t\t\t\t\t( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {\n\n\t\t\t\t\t\tseed[ temp ] = !( results[ temp ] = elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t} );\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[ 0 ].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[ \" \" ],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t( checkContext = context ).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[ j ].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\n\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\ttokens\n\t\t\t\t\t\t.slice( 0, i - 1 )\n\t\t\t\t\t\t.concat( { value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" } )\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[ \"TAG\" ]( \"*\", outermost ),\n\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\n\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\toutermostContext = context == document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( !context && elem.ownerDocument != document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( ( matcher = elementMatchers[ j++ ] ) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( ( elem = !matcher && elem ) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( ( matcher = setMatchers[ j++ ] ) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !( unmatched[ i ] || setMatched[ i ] ) ) {\n\t\t\t\t\t\t\t\tsetMatched[ i ] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[ i ] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache(\n\t\t\tselector,\n\t\t\tmatcherFromGroupMatchers( elementMatchers, setMatchers )\n\t\t);\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( ( selector = compiled.selector || selector ) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[ 0 ] = match[ 0 ].slice( 0 );\n\t\tif ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === \"ID\" &&\n\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {\n\n\t\t\tcontext = ( Expr.find[ \"ID\" ]( token.matches[ 0 ]\n\t\t\t\t.replace( runescape, funescape ), context ) || [] )[ 0 ];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[ \"needsContext\" ].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[ i ];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ ( type = token.type ) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( ( find = Expr.find[ type ] ) ) {\n\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( ( seed = find(\n\t\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext\n\t\t\t\t) ) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split( \"\" ).sort( sortOrder ).join( \"\" ) === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert( function( el ) {\n\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement( \"fieldset\" ) ) & 1;\n} );\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert( function( el ) {\n\tel.innerHTML = \"\";\n\treturn el.firstChild.getAttribute( \"href\" ) === \"#\";\n} ) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t} );\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert( function( el ) {\n\tel.innerHTML = \"\";\n\tel.firstChild.setAttribute( \"value\", \"\" );\n\treturn el.firstChild.getAttribute( \"value\" ) === \"\";\n} ) ) {\n\taddHandle( \"value\", function( elem, _name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t} );\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert( function( el ) {\n\treturn el.getAttribute( \"disabled\" ) == null;\n} ) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\t\tnull;\n\t\t}\n\t} );\n}\n\nreturn Sizzle;\n\n} )( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\njQuery.escapeSelector = Sizzle.escape;\n\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\n\n\nfunction nodeName( elem, name ) {\n\n\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n}\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\tif ( elem.contentDocument != null &&\n\n\t\t\t// Support: IE 11+\n\t\t\t// elements with no `data` attribute has an object\n\t\t\t// `contentDocument` with a `null` prototype.\n\t\t\tgetProto( elem.contentDocument ) ) {\n\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && toType( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory && !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value && isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value && isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( _i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned &&\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.stackTrace );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the stack, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.stackTrace = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the primary Deferred\n\t\t\tprimary = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tprimary.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining <= 1 ) {\n\t\t\tadoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( primary.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn primary.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );\n\t\t}\n\n\t\treturn primary.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\njQuery.Deferred.exceptionHook = function( error, stack ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message, error.stack, stack );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( toType( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, _key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\t\tvalue :\n\t\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( _all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE <=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (#9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n}\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <=35 - 45\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tisAttached( elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = elem.nodeType &&\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Support: Firefox <=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i );\n\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\n\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android <=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// Support: IE <=9 only\n\t// IE <=9 replaces \";\n\tsupport.option = !!div.lastChild;\n} )();\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting or other required elements.\n\tthead: [ 1, \"\", \"
\" ],\n\tcol: [ 2, \"\", \"
\" ],\n\ttr: [ 2, \"\", \"
\" ],\n\ttd: [ 3, \"\", \"
\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: IE <=9 only\nif ( !support.option ) {\n\twrapMap.optgroup = wrapMap.option = [ 1, \"\" ];\n}\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, attached, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( toType( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tattached = isAttached( elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( attached ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\nvar rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE <=9 - 11+\n// focus() and blur() are asynchronous, except when they are no-op.\n// So expect focus to be synchronous when the element is already active,\n// and blur to be synchronous when the element is not already active.\n// (focus and blur are always synchronous in other supported browsers,\n// this just defines when we can count on it).\nfunction expectSync( elem, type ) {\n\treturn ( elem === safeActiveElement() ) === ( type === \"focus\" );\n}\n\n// Support: IE <=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Only attach events to objects that accept data\n\t\tif ( !acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = Object.create( null );\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\n\t\t\t// Make a writable jQuery.Event from the native event object\n\t\t\tevent = jQuery.event.fix( nativeEvent ),\n\n\t\t\thandlers = (\n\t\t\t\tdataPriv.get( this, \"events\" ) || Object.create( null )\n\t\t\t)[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG instance trees (trac-13180)\n\t\t\tcur.nodeType &&\n\n\t\t\t// Support: Firefox <=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", returnTrue );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) &&\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, expectSync ) {\n\n\t// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !expectSync ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar notAsync, result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\t// Saved data should be false in such cases, but might be a leftover capture object\n\t\t\t\t// from an async native handler (gh-4350)\n\t\t\t\tif ( !saved.length ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t// focus() and blur() are asynchronous\n\t\t\t\t\tnotAsync = expectSync( this, type );\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tif ( saved !== result || notAsync ) {\n\t\t\t\t\t\tdataPriv.set( this, type, false );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult = {};\n\t\t\t\t\t}\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t// Support: Chrome 86+\n\t\t\t\t\t\t// In Chrome, if an element having a focusout handler is blurred by\n\t\t\t\t\t\t// clicking outside of it, it invokes the handler synchronously. If\n\t\t\t\t\t\t// that handler calls `.remove()` on the element, the data is cleared,\n\t\t\t\t\t\t// leaving `result` undefined. We need to guard against this.\n\t\t\t\t\t\treturn result && result.value;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering the\n\t\t\t\t// native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved.length ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, {\n\t\t\t\t\tvalue: jQuery.event.trigger(\n\n\t\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t\t// Extend with the prototype to reset the above stopImmediatePropagation()\n\t\t\t\t\t\tjQuery.extend( saved[ 0 ], jQuery.Event.prototype ),\n\t\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\t\tthis\n\t\t\t\t\t)\n\t\t\t\t} );\n\n\t\t\t\t// Abort handling of the native event\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\t} );\n}\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android <=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari <=6 - 7 only\n\t\t// Target should not be a text node (#504, #13143)\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || Date.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcode: true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\twhich: true\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, expectSync );\n\n\t\t\t// Return false to allow normal processing in the caller\n\t\t\treturn false;\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\t// Suppress native focus or blur as it's already being fired\n\t\t// in leverageNative.\n\t\t_default: function() {\n\t\t\treturn true;\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n} );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t// Support: IE <=10 - 11, Edge 12 - 13 only\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /\\s*$/g;\n\n// Prefer a tbody over its parent table for containing new rows\nfunction manipulationTarget( elem, content ) {\n\tif ( nodeName( elem, \"table\" ) &&\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\n\n\t\treturn jQuery( elem ).children( \"tbody\" )[ 0 ] || elem;\n\t}\n\n\treturn elem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\n\t\telem.type = elem.type.slice( 5 );\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.get( src );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdataPriv.remove( dest, \"handle events\" );\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = flat( args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tvalueIsFunction = isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( valueIsFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src && ( node.type || \"\" ).toLowerCase() !== \"module\" ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl && !node.noModule ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\n\t\t\t\t\t\t\t\t}, doc );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), node, doc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && isAttached( node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html;\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = isAttached( elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE <=11 only, Firefox <=30 (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\nvar swap = function( elem, options, callback ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.call( elem );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\n\n\n\n( function() {\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\n\t\t// This is a singleton, we need to execute it only once\n\t\tif ( !div ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\n\t\t\t\"margin-top:1px;padding:0;border:0\";\n\t\tdiv.style.cssText =\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"width:60%;top:1%\";\n\t\tdocumentElement.appendChild( container ).appendChild( div );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\n\t\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\t\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\n\n\t\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.right = \"60%\";\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\n\n\t\t// Support: IE 9 - 11 only\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\n\n\t\t// Support: IE 9 only\n\t\t// Detect overflow:scroll screwiness (gh-3699)\n\t\t// Support: Chrome <=64\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\n\t\tdiv.style.position = \"absolute\";\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\n\n\t\tdocumentElement.removeChild( container );\n\n\t\t// Nullify the div so it wouldn't be stored in the memory and\n\t\t// it will also be a sign that checks already performed\n\t\tdiv = null;\n\t}\n\n\tfunction roundPixelMeasures( measure ) {\n\t\treturn Math.round( parseFloat( measure ) );\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\n\t\treliableTrDimensionsVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE <=9 - 11 only\n\t// Style of cloned element affects source element cloned (#8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tjQuery.extend( support, {\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelBoxStyles: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelBoxStylesVal;\n\t\t},\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\tscrollboxSize: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn scrollboxSizeVal;\n\t\t},\n\n\t\t// Support: IE 9 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Behavior in IE 9 is more subtle than in newer versions & it passes\n\t\t// some versions of this test; make sure not to make it pass there!\n\t\t//\n\t\t// Support: Firefox 70+\n\t\t// Only Firefox includes border widths\n\t\t// in computed dimensions. (gh-4529)\n\t\treliableTrDimensions: function() {\n\t\t\tvar table, tr, trChild, trStyle;\n\t\t\tif ( reliableTrDimensionsVal == null ) {\n\t\t\t\ttable = document.createElement( \"table\" );\n\t\t\t\ttr = document.createElement( \"tr\" );\n\t\t\t\ttrChild = document.createElement( \"div\" );\n\n\t\t\t\ttable.style.cssText = \"position:absolute;left:-11111px;border-collapse:separate\";\n\t\t\t\ttr.style.cssText = \"border:1px solid\";\n\n\t\t\t\t// Support: Chrome 86+\n\t\t\t\t// Height set through cssText does not get applied.\n\t\t\t\t// Computed height then comes back as 0.\n\t\t\t\ttr.style.height = \"1px\";\n\t\t\t\ttrChild.style.height = \"9px\";\n\n\t\t\t\t// Support: Android 8 Chrome 86+\n\t\t\t\t// In our bodyBackground.html iframe,\n\t\t\t\t// display for all div elements is set to \"inline\",\n\t\t\t\t// which causes a problem only in Android 8 Chrome 86.\n\t\t\t\t// Ensuring the div is display: block\n\t\t\t\t// gets around this issue.\n\t\t\t\ttrChild.style.display = \"block\";\n\n\t\t\t\tdocumentElement\n\t\t\t\t\t.appendChild( table )\n\t\t\t\t\t.appendChild( tr )\n\t\t\t\t\t.appendChild( trChild );\n\n\t\t\t\ttrStyle = window.getComputedStyle( tr );\n\t\t\t\treliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderTopWidth, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;\n\n\t\t\t\tdocumentElement.removeChild( table );\n\t\t\t}\n\t\t\treturn reliableTrDimensionsVal;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\n\t\t// Support: Firefox 51+\n\t\t// Retrieving style before computed somehow\n\t\t// fixes an issue with getting wrong values\n\t\t// on detached elements\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// getPropertyValue is needed for:\n\t// .css('filter') (IE 9 only, #12537)\n\t// .css('--customProperty) (#3144)\n\tif ( computed ) {\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\tif ( ret === \"\" && !isAttached( elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\n\t\tif ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE <=9 - 11 only\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style,\n\tvendorProps = {};\n\n// Return a vendor-prefixed property or undefined\nfunction vendorPropName( name ) {\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\nfunction finalPropName( name ) {\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\n\n\tif ( final ) {\n\t\treturn final;\n\t}\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trcustomProp = /^--/,\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t};\n\nfunction setPositiveNumber( _elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\n\tvar i = dimension === \"width\" ? 1 : 0,\n\t\textra = 0,\n\t\tdelta = 0;\n\n\t// Adjustment may not be necessary\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\treturn 0;\n\t}\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin\n\t\tif ( box === \"margin\" ) {\n\t\t\tdelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\t\tif ( !isBorderBox ) {\n\n\t\t\t// Add padding\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// For \"border\" or \"margin\", add border\n\t\t\tif ( box !== \"padding\" ) {\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\n\t\t\t// But still keep track of it otherwise\n\t\t\t} else {\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n\t\t// \"padding\" or \"margin\"\n\t\t} else {\n\n\t\t\t// For \"content\", subtract padding\n\t\t\tif ( box === \"content\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// For \"content\" or \"padding\", subtract border\n\t\t\tif ( box !== \"margin\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\n\tif ( !isBorderBox && computedVal >= 0 ) {\n\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\n\t\tdelta += Math.max( 0, Math.ceil(\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\tcomputedVal -\n\t\t\tdelta -\n\t\t\textra -\n\t\t\t0.5\n\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\n\t\t) ) || 0;\n\t}\n\n\treturn delta;\n}\n\nfunction getWidthOrHeight( elem, dimension, extra ) {\n\n\t// Start with computed style\n\tvar styles = getStyles( elem ),\n\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n\t\t// Fake content-box until we know it's needed to know the true value.\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\n\t\tisBorderBox = boxSizingNeeded &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\tvalueIsBorderBox = isBorderBox,\n\n\t\tval = curCSS( elem, dimension, styles ),\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\n\n\t// Support: Firefox <=54\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\n\tif ( rnumnonpx.test( val ) ) {\n\t\tif ( !extra ) {\n\t\t\treturn val;\n\t\t}\n\t\tval = \"auto\";\n\t}\n\n\n\t// Support: IE 9 - 11 only\n\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\n\t// In those cases, the computed value can be trusted to be border-box.\n\tif ( ( !support.boxSizingReliable() && isBorderBox ||\n\n\t\t// Support: IE 10 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\n\t\t!support.reliableTrDimensions() && nodeName( elem, \"tr\" ) ||\n\n\t\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\n\t\t// This happens for inline elements with no explicit setting (gh-3571)\n\t\tval === \"auto\" ||\n\n\t\t// Support: Android <=4.1 - 4.3 only\n\t\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n\t\t!parseFloat( val ) && jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) &&\n\n\t\t// Make sure the element is visible & connected\n\t\telem.getClientRects().length ) {\n\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n\t\t// retrieved value as a content box dimension.\n\t\tvalueIsBorderBox = offsetProp in elem;\n\t\tif ( valueIsBorderBox ) {\n\t\t\tval = elem[ offsetProp ];\n\t\t}\n\t}\n\n\t// Normalize \"\" and auto\n\tval = parseFloat( val ) || 0;\n\n\t// Adjust for the element's box model\n\treturn ( val +\n\t\tboxModelAdjustment(\n\t\t\telem,\n\t\t\tdimension,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles,\n\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\n\t\t\tval\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"gridArea\": true,\n\t\t\"gridColumn\": true,\n\t\t\"gridColumnEnd\": true,\n\t\t\"gridColumnStart\": true,\n\t\t\"gridRow\": true,\n\t\t\"gridRowEnd\": true,\n\t\t\"gridRowStart\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name ),\n\t\t\tstyle = elem.style;\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to query the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (#7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n\t\t\t// \"px\" to a few hardcoded values.\n\t\t\tif ( type === \"number\" && !isCustomProp ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tif ( isCustomProp ) {\n\t\t\t\t\tstyle.setProperty( name, value );\n\t\t\t\t} else {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name );\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to modify the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( _i, dimension ) {\n\tjQuery.cssHooks[ dimension ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\n\t\t\t\t\t// Support: Safari 8+\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth & zero\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\n\t\t\t\t\t// Support: IE <=11 only\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\n\t\t\t\t\t// in IE throws an error.\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\n\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\n\t\t\t\t\t} ) :\n\t\t\t\t\tgetWidthOrHeight( elem, dimension, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = getStyles( elem ),\n\n\t\t\t\t// Only read styles.position if the test has a chance to fail\n\t\t\t\t// to avoid forcing a reflow.\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() &&\n\t\t\t\t\tstyles.position === \"absolute\",\n\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\n\t\t\t\tisBorderBox = boxSizingNeeded &&\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\tsubtract = extra ?\n\t\t\t\t\tboxModelAdjustment(\n\t\t\t\t\t\telem,\n\t\t\t\t\t\tdimension,\n\t\t\t\t\t\textra,\n\t\t\t\t\t\tisBorderBox,\n\t\t\t\t\t\tstyles\n\t\t\t\t\t) :\n\t\t\t\t\t0;\n\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\n\t\t\t// faking a content-box to get border and padding (gh-3699)\n\t\t\tif ( isBorderBox && scrollboxSizeBuggy ) {\n\t\t\t\tsubtract -= Math.ceil(\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\n\t\t\t\t\t0.5\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ dimension ] = value;\n\t\t\t\tvalue = jQuery.css( elem, dimension );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( prefix !== \"margin\" ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 && (\n\t\t\t\tjQuery.cssHooks[ tween.prop ] ||\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9 only\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, inProgress,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\nfunction schedule() {\n\tif ( inProgress ) {\n\t\tif ( document.hidden === false && window.requestAnimationFrame ) {\n\t\t\twindow.requestAnimationFrame( schedule );\n\t\t} else {\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\n\t\t}\n\n\t\tjQuery.fx.tick();\n\t}\n}\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = Date.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\n\t\tisBox = \"width\" in props || \"height\" in props,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHiddenWithinTree( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Queue-skipping animations hijack the fx hooks\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Detect show/hide animations\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.test( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\n\t\t\t\t// there is still data from a stopped show/hide\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\n\t\t\t\t// Ignore all other no-op show/hide data\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\t\t}\n\t}\n\n\t// Bail out if this is a no-op like .hide().hide()\n\tpropTween = !jQuery.isEmptyObject( props );\n\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\n\t\treturn;\n\t}\n\n\t// Restrict \"overflow\" and \"display\" styles during box animations\n\tif ( isBox && elem.nodeType === 1 ) {\n\n\t\t// Support: IE <=9 - 11, Edge 12 - 15\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\n\t\t// the overflowX value there.\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\n\t\trestoreDisplay = dataShow && dataShow.display;\n\t\tif ( restoreDisplay == null ) {\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\n\t\t}\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\tif ( display === \"none\" ) {\n\t\t\tif ( restoreDisplay ) {\n\t\t\t\tdisplay = restoreDisplay;\n\t\t\t} else {\n\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\t\t\tshowHide( [ elem ] );\n\t\t\t}\n\t\t}\n\n\t\t// Animate inline elements as inline-block\n\t\tif ( display === \"inline\" || display === \"inline-block\" && restoreDisplay != null ) {\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\n\t\t\t\tif ( !propTween ) {\n\t\t\t\t\tanim.done( function() {\n\t\t\t\t\t\tstyle.display = restoreDisplay;\n\t\t\t\t\t} );\n\t\t\t\t\tif ( restoreDisplay == null ) {\n\t\t\t\t\t\tdisplay = style.display;\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// Implement show/hide animations\n\tpropTween = false;\n\tfor ( prop in orig ) {\n\n\t\t// General show/hide setup for this element animation\n\t\tif ( !propTween ) {\n\t\t\tif ( dataShow ) {\n\t\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\t\thidden = dataShow.hidden;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\n\t\t\t}\n\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\t\t\tif ( toggle ) {\n\t\t\t\tdataShow.hidden = !hidden;\n\t\t\t}\n\n\t\t\t// Show elements before animating them\n\t\t\tif ( hidden ) {\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t}\n\n\t\t\t/* eslint-disable no-loop-func */\n\n\t\t\tanim.done( function() {\n\n\t\t\t\t/* eslint-enable no-loop-func */\n\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\n\t\t\t\tif ( !hidden ) {\n\t\t\t\t\tshowHide( [ elem ] );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\t\tfor ( prop in orig ) {\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Per-property setup\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\t\tif ( !( prop in dataShow ) ) {\n\t\t\tdataShow[ prop ] = propTween.start;\n\t\t\tif ( hidden ) {\n\t\t\t\tpropTween.end = propTween.start;\n\t\t\t\tpropTween.start = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3 only\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\t// If there's more to do, yield\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t}\n\n\t\t\t// If this was an empty animation, synthesize a final progress notification\n\t\t\tif ( !length ) {\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t}\n\n\t\t\t// Resolve the animation and report its conclusion\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\treturn false;\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tresult.stop.bind( result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\t// Attach callbacks from options\n\tanimation\n\t\t.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\treturn animation;\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnothtmlwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tisFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !isFunction( easing ) && easing\n\t};\n\n\t// Go to the end state if fx are off\n\tif ( jQuery.fx.off ) {\n\t\topt.duration = 0;\n\n\t} else {\n\t\tif ( typeof opt.duration !== \"number\" ) {\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\n\n\t\t\t} else {\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\n\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( _i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = Date.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tjQuery.fx.start();\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( inProgress ) {\n\t\treturn;\n\t}\n\n\tinProgress = true;\n\tschedule();\n};\n\njQuery.fx.stop = function() {\n\tinProgress = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: Android <=4.3 only\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE <=11 only\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: IE <=11 only\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// Attribute hooks are determined by the lowercase version\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name,\n\t\t\ti = 0,\n\n\t\t\t// Attribute names can contain non-HTML whitespace characters\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n\t\t\tattrNames = value && value.match( rnothtmlwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( _i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle,\n\t\t\tlowercaseName = name.toLowerCase();\n\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ lowercaseName ];\n\t\t\tattrHandle[ lowercaseName ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tlowercaseName :\n\t\t\t\tnull;\n\t\t\tattrHandle[ lowercaseName ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// Support: IE <=9 - 11 only\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\t// Use proper attribute retrieval(#12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\tif ( tabindex ) {\n\t\t\t\t\treturn parseInt( tabindex, 10 );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\trclickable.test( elem.nodeName ) &&\n\t\t\t\t\telem.href\n\t\t\t\t) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\n// eslint rule \"no-unused-expressions\" is disabled for this code\n// since it considers such accessions noop\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\n\t// Strip and collapse whitespace according to HTML spec\n\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\tfunction stripAndCollapse( value ) {\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\n\t\treturn tokens.join( \" \" );\n\t}\n\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\nfunction classesToArray( value ) {\n\tif ( Array.isArray( value ) ) {\n\t\treturn value;\n\t}\n\tif ( typeof value === \"string\" ) {\n\t\treturn value.match( rnothtmlwhite ) || [];\n\t}\n\treturn [];\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value,\n\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\n\n\t\tif ( typeof stateVal === \"boolean\" && isValidValue ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar className, i, self, classNames;\n\n\t\t\tif ( isValidValue ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\ti = 0;\n\t\t\t\tself = jQuery( this );\n\t\t\t\tclassNames = classesToArray( value );\n\n\t\t\t\twhile ( ( className = classNames[ i++ ] ) ) {\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) > -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, valueIsFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\t// Handle most common string cases\n\t\t\t\tif ( typeof ret === \"string\" ) {\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\n\t\t\t\t}\n\n\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\treturn ret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalueIsFunction = isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( Array.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE <=10 - 11 only\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option, i,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\",\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length;\n\n\t\t\t\tif ( index < 0 ) {\n\t\t\t\t\ti = max;\n\n\t\t\t\t} else {\n\t\t\t\t\ti = one ? index : 0;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t!option.disabled &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t/* eslint-disable no-cond-assign */\n\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* eslint-enable no-cond-assign */\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( Array.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\nsupport.focusin = \"onfocusin\" in window;\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\tstopPropagationCallback = function( e ) {\n\t\te.stopPropagation();\n\t};\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = lastElement = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tlastElement = cur;\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || Object.create( null ) )[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\telem[ type ]();\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\n// Support: Firefox <=44\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n// focus(in | out) events fire after focus & blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\n\t\t\t\t// Handle: regular nodes (via `this.ownerDocument`), window\n\t\t\t\t// (via `this.document`) & document (via `this`).\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdataPriv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\nvar location = window.location;\n\nvar nonce = { guid: Date.now() };\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, parserErrorElem;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE 9 - 11 only\n\t// IE throws on parseFromString with invalid input.\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {}\n\n\tparserErrorElem = xml && xml.getElementsByTagName( \"parsererror\" )[ 0 ];\n\tif ( !xml || parserErrorElem ) {\n\t\tjQuery.error( \"Invalid XML: \" + (\n\t\t\tparserErrorElem ?\n\t\t\t\tjQuery.map( parserErrorElem.childNodes, function( el ) {\n\t\t\t\t\treturn el.textContent;\n\t\t\t\t} ).join( \"\\n\" ) :\n\t\t\t\tdata\n\t\t) );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( Array.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && toType( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, valueOrFunction ) {\n\n\t\t\t// If value is a function, invoke it and use its return value\n\t\t\tvar value = isFunction( valueOrFunction ) ?\n\t\t\t\tvalueOrFunction() :\n\t\t\t\tvalueOrFunction;\n\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\n\t\t};\n\n\tif ( a == null ) {\n\t\treturn \"\";\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} ).filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} ).map( function( _i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\tif ( val == null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( Array.isArray( val ) ) {\n\t\t\t\treturn jQuery.map( val, function( val ) {\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\nvar\n\tr20 = /%20/g,\n\trhash = /#.*$/,\n\trantiCache = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\noriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\n\n\t\tif ( isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\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// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\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\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": JSON.parse,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// Request state (becomes false upon send and true upon completion)\n\t\t\tcompleted,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// uncached part of the url\n\t\t\tuncached,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( completed ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() + \" \" ] =\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\n\t\t\t\t\t\t\t\t\t\t.concat( match[ 2 ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() + \" \" ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match.join( \", \" );\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn completed ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( completed ) {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE <=8 - 11, Edge 12 - 15\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\n\t\t\t// e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE <=8 - 11 only\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( completed ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\t// Remove hash to simplify url manipulation\n\t\tcacheURL = s.url.replace( rhash, \"\" );\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// Remember the hash so we can put it back\n\t\t\tuncached = s.url.slice( cacheURL.length );\n\n\t\t\t// If data is available and should be processed, append data to url\n\t\t\tif ( s.data && ( s.processData || typeof s.data === \"string\" ) ) {\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data;\n\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add or update anti-cache param if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + ( nonce.guid++ ) +\n\t\t\t\t\tuncached;\n\t\t\t}\n\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\n\t\t\ts.url = cacheURL + uncached;\n\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\n\t\t} else if ( s.data && s.processData &&\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\n\t\t\ts.data = s.data.replace( r20, \"+\" );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tcompleteDeferred.add( s.complete );\n\t\tjqXHR.done( s.success );\n\t\tjqXHR.fail( s.error );\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( completed ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcompleted = false;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Rethrow post-completion exceptions\n\t\t\t\tif ( completed ) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\n\t\t\t\t// Propagate others as results\n\t\t\t\tdone( -1, e );\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Ignore repeat invocations\n\t\t\tif ( completed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcompleted = true;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Use a noop converter for missing script but not if jsonp\n\t\t\tif ( !isSuccess &&\n\t\t\t\tjQuery.inArray( \"script\", s.dataTypes ) > -1 &&\n\t\t\t\tjQuery.inArray( \"json\", s.dataTypes ) < 0 ) {\n\t\t\t\ts.converters[ \"text script\" ] = function() {};\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( _i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\njQuery.ajaxPrefilter( function( s ) {\n\tvar i;\n\tfor ( i in s.headers ) {\n\t\tif ( i.toLowerCase() === \"content-type\" ) {\n\t\t\ts.contentType = s.headers[ i ] || \"\";\n\t\t}\n\t}\n} );\n\n\njQuery._evalUrl = function( url, options, doc ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (#11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\n\t\t// Only evaluate the response if it is successful (gh-4126)\n\t\t// dataFilter is not invoked for failure responses, so using it instead\n\t\t// of the default converter is kludgy but it works.\n\t\tconverters: {\n\t\t\t\"text script\": function() {}\n\t\t},\n\t\tdataFilter: function( response ) {\n\t\t\tjQuery.globalEval( response, options, doc );\n\t\t}\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( this[ 0 ] ) {\n\t\t\tif ( isFunction( html ) ) {\n\t\t\t\thtml = html.call( this[ 0 ] );\n\t\t\t}\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar htmlIsFunction = isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function( selector ) {\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t} );\n\t\treturn this;\n\t}\n} );\n\n\njQuery.expr.pseudos.hidden = function( elem ) {\n\treturn !jQuery.expr.pseudos.visible( elem );\n};\njQuery.expr.pseudos.visible = function( elem ) {\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\n};\n\n\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE <=9 only\n\t\t// #1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.ontimeout =\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see #8605, #14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\" ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\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// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \"error\" );\n\n\t\t\t\t// Support: IE 9 only\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\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// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain or forced-by-attrs requests\n\tif ( s.crossDomain || s.scriptAttrs ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"