{"version":3,"file":"for-widgets-server.js","sources":["webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Hash.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_ListCache.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Map.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_MapCache.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayMap.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assocIndexOf.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsNative.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseToString.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_castPath.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_coreJsData.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getMapData.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getNative.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getValue.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashClear.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashDelete.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashGet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashHas.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashSet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isKey.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isKeyable.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isMasked.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheClear.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheDelete.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheGet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheHas.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheSet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheClear.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheDelete.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheGet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheHas.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheSet.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_memoizeCapped.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeCreate.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stringToPath.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toKey.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toSource.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/eq.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/get.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArray.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isFunction.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObjectLike.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isSymbol.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/memoize.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toString.js","webpack://@jotforminc/umd-bundler/../../libs/constants/src/texts/index.js","webpack://@jotforminc/umd-bundler/../../libs/widgets-js-sdk/src/widgetsServer/client.js","webpack://@jotforminc/umd-bundler/../../libs/router-bridge/src/jfrouter.js","webpack://@jotforminc/umd-bundler/../../libs/widgets-js-sdk/src/utils/widgetAutofill.js","webpack://@jotforminc/umd-bundler/../../libs/widgets-js-sdk/src/utils/loadWidgetImageAsBase64.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_object_spread_props.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_object_spread.js","webpack://@jotforminc/umd-bundler/../../../node_modules/.pnpm/@swc+helpers@0.5.12/node_modules/@swc/helpers/esm/_define_property.js","webpack://@jotforminc/umd-bundler/../../cdns/for-widgets-server/src/index.js","webpack://@jotforminc/umd-bundler/../../libs/widgets-js-sdk/src/utils/postmessage.js","webpack://@jotforminc/umd-bundler/../../libs/widgets-js-sdk/src/utils/getStyle.js","webpack://@jotforminc/umd-bundler/../../libs/widgets-js-sdk/src/utils/makeJCFServerCommonChecks.js"],"sourcesContent":["var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(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 `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\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 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 root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\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","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 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 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","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\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 root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\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 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","var Symbol = require('./_Symbol');\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/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\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/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\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","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\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","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\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","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\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","/** 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","/**\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","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\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 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","/**\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","/**\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 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 MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","export const twoFactorTypeKeys = {\n sms: 'phone',\n authenticatorApp: 'totp'\n};\n\nexport const Texts = {\n MY_FORMS: 'My Forms',\n PROFILE: 'Profile',\n SKIP_CREATE_ACCOUNT: 'Skip Create an Account',\n CONTINUE_DRAFT: 'Continue With Draft',\n DISCARD_START_BLANK: 'You can continue your draft or discard and start with a blank form',\n SAVED_DRAFT_SUBMISSION: 'You have a draft for this form.',\n HELLO_TEXT: 'Hello,',\n LOG_OUT: 'Log out',\n LOGOUT: 'Logout',\n LOGIN_TEXT: 'Log in',\n GET_SHARE_LINK: 'Get Shareable Link',\n EMAIL: 'Email',\n RE_EMAIL: 'Resend Email',\n COPIED_CLIPBOARD: 'Link copied to clipboard!',\n SENT_TO: 'Email sent to',\n DOESNT_SUPPORT_BROWSER: 'Your browser doesn\\'t support this operation',\n SEND_LINK_COMPLETE: 'We’ve sent you an email with a link to complete your submission.',\n START_OVER: `Discard ${encodeURIComponent('&')} Start Over`,\n SAVE_PROGRESS: 'Save your progress',\n ALREADY_HAVE_ACCOUNT: 'Already have an account?',\n DONT_HAVE_ACCOUNT: 'Don’t have an account?',\n ARE_YOU_JOTFORM_ENTERPRISE_USER: 'Are you a Jotform Enterprise user?',\n LOGIN_TO_JOTFORM_ENTERPRISE: 'Log into Jotform Enterprise',\n LOGIN_CAPITAL: 'LOG IN',\n SIGN_UP: 'Sign up',\n CREATE_ACCOUNT: 'Create an Account',\n OTHER_OPTIONS: 'More sign up options',\n SIGN_UP_EMAIL: 'Sign up with Email',\n SIGN_UP_EMAIL_LOWERCASE: 'Sign up with email',\n FULL_NAME: 'Full Name',\n NAME_TEXT: 'Name',\n EMAIL_TEXT: 'Email',\n PASSWORD_TEXT: 'Password',\n CONF_PASSWORD_TEXT: 'Confirm Password',\n TERMS_SERVICE: 'Terms of Service',\n TERMS_OF_USE: 'Terms of Use',\n PRIVACY_POLICY: 'Privacy Policy',\n AND_KEY: 'and',\n OR_KEY: 'OR',\n SUBMISSIONS_SAVED_DRAFT: 'Your form has been saved as a draft.',\n SEND_DRAFT_CONTINUE: 'We’ve sent you an email with a link to continue your form.',\n ENTER_EMAIL: 'If you want to continue your form later, please enter the email address you would like to send the link to:',\n EMAIL_NOT_BLANK: 'Email cannot be left blank',\n SEND_LINK: 'Send link',\n SEND: 'Send',\n BACK_KEY: 'Back',\n SAVE_SUBMISSION: 'Save Submission',\n SAVE_KEY: 'Save',\n SKIP_KEY: 'Skip',\n USERNAME_EMAIL: 'Username or Email',\n LOGIN_SAVE: 'Login and Save Submission',\n AGREE_SERVICE_POLICY: 'I agree to the [1[Terms of Service]] and [2[Privacy Policy]].',\n AGREE_FOR_TURKISH_USERS: 'I have read the [1[KVKK Clarification Text]] and I accept the processing of my personal data in accordance with the [2[Explicit Consent Text]].',\n MORE_HELP_CONTACT: 'If you need more help, please [1[contact our support team.]]',\n MORE_HELP_CONTACT_ENTERPRISE: 'If you need help, please contact with your administrator.',\n FORGOT_PASSWORD: 'Forgot password?',\n FORGOT_YOUR_PASSWORD: 'Forgot your password?',\n PASSWORD_RESET_SENT: 'Password reset instructions have been sent successfully via email.',\n FIELD_REQUIRED: 'This field is required',\n EMAIL_FIELD_REQUIRED: 'Username or email field is required',\n PASS_FIELD_REQUIRED: 'Password field is required',\n ENTER_A_PASSWORD: 'Please enter a password.',\n PASSWORD_OK: 'Password ok',\n PASSWORD_CONFIRMATION_OK: 'Password confirmation ok',\n PASSWORD_CANNOT_BLANK: 'Password cannot be left blank',\n PASS_MIN_CHAR_COUNT: 'Should have minimum 8 characters',\n PASS_INCL_CHARS: 'Should be a mix of upper case, lower case characters, and numbers or special characters',\n FIELDS_SHOULD_MATCH: 'Passwords don\\'t match.',\n SECURE_PASS_DESC: 'Your password must contain at least',\n SECURE_PASS_REUSE: 'Your password must be different from your last 6 passwords',\n SECURE_PASS_REUSE_CONT: ' and contain at least',\n SECURE_PASS_CHAR_COUNT: '8 characters',\n SECURE_PASS_TEST_DESC: 'Your password must include at least',\n SECURE_PASS_UPPERCASE: '1 uppercase letter',\n SECURE_PASS_LOWERCASE: '1 lowercase letter',\n SECURE_PASS_NUMBER: '1 number',\n SECURE_PASS_SPECIAL_CHAR: '1 special character',\n SECURE_PASS_NO_LEADING_OR_TRAILING_WHITESPACE: 'No blank spaces, either at the beginning or at the end',\n PASS_DIFF_PREV: 'Should be different from your last 6 passwords',\n CONNECT_SALESFORCE: 'Connect with Salesforce',\n CONNECT_APPLE: 'Connect with Apple',\n CONNECT_GOOGLE: 'Connect with Google',\n CONNECT_MICROSOFT: 'Connect with Microsoft',\n CONNECT_FACEBOOK: 'Connect with Facebook',\n SIGN_UP_SALESFORCE: 'Sign up with Salesforce',\n SIGN_UP_SALESFORCE_MOBILE: 'Salesforce',\n SIGN_UP_APPLE: 'Sign up with Apple',\n SIGN_UP_GOOGLE: 'Sign up with Google',\n SIGN_UP_GOOGLE_MOBILE: 'Google',\n SIGN_UP_FACEBOOK: 'Sign up with Facebook',\n SIGN_UP_FACEBOOK_MOBILE: 'Facebook',\n SIGN_UP_MICROSOFT: 'Sign up with Microsoft',\n SIGN_UP_MICROSOFT_MOBILE: 'Microsoft',\n SIGN_UP_NOW: 'Sign Up Now!',\n SIGN_UP_NOW_NO_EXCLAMATION_MARK: 'Sign Up Now',\n LOGIN_WITH: 'Log in with',\n LOGIN_SALESFORCE: 'Login with Salesforce',\n SALESFORCE: 'Salesforce',\n LOGIN_GOOGLE: 'Login with Google',\n GOOGLE: 'Google',\n LOGIN_FACEBOOK: 'Login with Facebook',\n FACEBOOK: 'Facebook',\n LOGIN_APPLE: 'Login with Apple',\n APPLE: 'Apple',\n LOGIN_MICROSOFT: 'Login with Microsoft',\n MICROSOFT: 'Microsoft',\n ENTER_USERNAME_EMAIL: 'Enter your username or email',\n SEND_INSTRUCTIONS: 'Send Reset Instructions',\n GO_BACK_TEXT: 'Go back',\n BACK_TO_PRIMARY_METHOD: 'Back to Primary Method',\n CAN_NOT_ACCESS_MY_DEVICE: \"I can't access my authentication device\",\n // eslint-disable-next-line max-len\n RECOVER_ACCOUNT_TEXT: \"If you can't access your authentication device or recovery codes, you can ask for assistance from Jotform support. Click the button below to start your recovery process.\",\n RECOVER_ACCOUNT_MAIL_HAS_BEEN_SENT: 'Your request to have your account recovered has already been sent in. You are unable to submit another request to recover your account until it is finished.',\n RECOVER_YOUR_ACCOUNT: 'Recover Your Account',\n VIEW_SUPPORT_TICKET: 'View Support Ticket',\n VERIFICATION_EMAIL_SENT_TO: 'The verification email has been sent to',\n RECOVER_ACCOUNT_EMAIL_INFO_TEXT: 'Click on the button in the email to create a ticket.',\n RECOVER_ACCOUNT_NOTIFICATION_TEXT: 'After you submit, a member of our support staff will examine your request and get in touch with you to offer assistance within 48 to 72 hours.',\n BACK_TO_LOGIN: 'Back to Login',\n VALID_EMAIL: 'Please type a valid email',\n SENDING: 'Sending...',\n AGREE_TERMS_CONDITIONS: 'Please agree terms and conditions',\n NEED_TO_ACCEPT_TERMS: 'You need to accept our Terms of Service and Privacy Policy to create an account.',\n CHECK_SPAM_FOLDER: 'If you don’t get the email, please check your spam folder.',\n GET_INSTRUCTION_EMAIL: 'You should get the password reset instructions via email soon.',\n OK_TEXT: 'OK',\n CHECK_EMAIL: 'Check your email',\n EMAIL_IS_USE: 'Email is in use:',\n EMAIL_IS_NOTVALID: 'Email is not valid.',\n CURRENT_PASSWORD: 'Current Password',\n SHOW_PASSWORD: 'Show Password',\n HIDE_PASSWORD: 'Hide Password',\n PLEASE_WAIT: 'Please wait',\n WELCOME_BACK: 'Welcome Back!',\n CREATE_MY_ACCOUNT: 'CREATE MY ACCOUNT',\n BY_CLICKING_YOU_AGREE: 'By clicking \"Signup\" you agree our [1[Terms of Service]] and [2[Privacy Policy]]',\n ERROR_TRY_AGAIN: 'There was an error. Please try again later.',\n VERIFY_ITS_YOU: 'Verify it\\'s you!',\n TWO_FACTOR_DESCRIPTION: {\n [twoFactorTypeKeys.sms]: \"We've sent an authentication code to [1[receiver]]. Please check your messages and enter the six-digit code to enable 2FA\",\n [twoFactorTypeKeys.authenticatorApp]: 'Enter the six-digit code from your configured Authenticator App below.'\n },\n EMAIL_AUTHENTICATION_DESCRIPTION: \"We've sent an authentication code to [1[receiver]]. Please check your inbox and enter the six-digit code.\",\n VERIFICATION_CODE: 'Authentication code',\n RECOVERY_CODE: 'Recovery code',\n VERIFY: 'VERIFY',\n VERIFY_BUTTON_TEXT: 'Verify',\n NO_CODE: 'No code?',\n SEND_AGAIN: 'Send again',\n HAVING_PROBLEMS: 'Having problems?',\n SEE_OTHER_AUTHENTICATION_METHODS: 'See Other Methods',\n SEND_CODE_TO: {\n [twoFactorTypeKeys.sms]: 'Send code to [1[receiver]]',\n [twoFactorTypeKeys.authenticatorApp]: 'Use authenticator app'\n },\n USE_YOUR_RECOVERY_CODES: 'Use your recovery codes',\n USE_YOUR_AUTHENTICATOR_APP: 'Use code from Authenticator App',\n TWO_FACTOR_AUTHENTICATION: 'Two-Factor Authentication',\n EMAIL_AUTHENTICATION: 'E-mail Authentication',\n ENTER_RECOVERY_CODES: 'Enter one of your 6-digit recovery codes below.',\n DAILY_LIMIT: 'You\\'ve reached the daily text message limit',\n INVALID_TOKEN: 'Invalid code; please try again',\n BACKUP_CODES_ERROR: 'You entered a wrong or already used recovery code',\n BLANK_VERIFICATION_CODE: 'Code cannot be blank.',\n GREETING_DESCRIPTION: '',\n SHOW_MORE: 'Show More',\n CHOOSE_A_METHOD: 'Choose a method',\n CHOOSE_A_METHOD_DESCRIPTION: 'Select a verification method to login your account',\n REACH_DAILY_LIMIT_FORCE_TO_EMAIL: 'Your verification code has been sent to your email due to you have reached the daily SMS limit.',\n USED_RECOVERY_CODES: 'Used recovery codes will be invalidated.',\n ENTER_YOUR_EMAIL: 'Enter your email',\n THANK_YOU: 'THANK YOU!',\n VIEW_COMPLETED_APPROVALS: 'View your completed approvals',\n COMPLETED_TASK: 'The task has been completed.',\n PLEASE_LOGIN: 'Please [1[Log in]].',\n EMAIL_ERROR: 'This email address is already associated with a Jotform account.',\n EMAIL_ERROR_ENTERPRISE: 'This email address is already associated with an account.',\n // Delete my account flow\n ARE_YOU_SURE_YOU_WANT_TO_DELETE_YOUR_ACCOUNT: 'Are you sure you want to delete your account?',\n YOU_ARE_ABOUT_TO_DELETE_YOUR_ACCOUNT_NAMELY: 'You’re about to delete your account namely:',\n GET_IN_TOUCH_WITH_US: '[1[Get in touch]] with us if you have any questions.',\n YES_DELETE: 'Yes, Delete',\n CANCEL: 'Cancel',\n VERIFY_THAT_ITS_YOU_TO_DELETE_YOUR_ACCOUNT: 'Verify That It’s You to Delete Your Account',\n VERIFY_WITH: 'Verify with',\n PLEASE_ENTER_YOUR_PASSWORD: 'Please enter your password',\n YOU_HAVE_ENTERED_YOUR_CURRENT_PASSWORD_WRONG: 'You have entered your current password wrong',\n YOU_HAVE_VERIFIED_SUCCESSFULLY: 'You have verified successfully',\n DELETE_MY_ACCOUNT: 'Delete My Account',\n YOUR_ACCOUNT_COULD_NOT_BE_DELETED: 'Your account could not be deleted. Please try again.',\n YOU_COULD_NOT_BE_VERIFIED: 'You could not be verified. Try again later',\n VERIFY_DELETE: 'Verify',\n CONTINUE_LATER: 'We’ve emailed you a link you can use to continue it later.',\n DRAFT_SAVED: 'Submission saved as draft',\n INCOMPLETE_SUBMISSION: 'You have an incomplete submission for this form',\n DRAFT_TEXT: 'Discard this submission draft to start over, or continue with your saved draft.',\n DISCARD_DRAFT: 'Discard and start over',\n CONTINUE_WITH_DRAFT: 'Continue with draft',\n SAVE_AS_DRAFT: 'Sign up to save submission as a draft',\n PLEASE_WAIT_SAVE: 'Please wait while we save your submission.',\n SAVE_ERROR: \"Your submission couldn't be saved\",\n PLEASE_TRY_AGAIN: 'Please try again.',\n TRY_AGAIN: 'Try Again',\n GET_DRAFT_LINK: 'Get Draft Link',\n DRAFT_BEING_SAVED: 'Your submission is being saved',\n ENTER_EMAIL_ADDRESS: 'Enter your email address',\n PLEASE_ENTER_VALID_EMAIL: 'Please enter valid email',\n CONTINUE_FORM_LATER: 'If you want to continue your form later, please enter your email address.',\n TO_KEY: 'To',\n DONT_ACCESS_DRAFT: 'You don’t have access to this submission draft',\n FILL_OUT_DRAFT: 'Fill out the form to create a new submission.',\n CHANGE_ACCOUNT: 'Change Account',\n START_OVER_FORM: 'Start Over',\n NOT_FOUND: 'Submission draft not found',\n DELETED_DRAFT: 'This draft was deleted or has already been submitted.',\n USER_IS_SSO_ERROR: 'Email already in use by SSO user.'\n};\n\nexport const AlertLabelTypes = {\n WARNING: 'WARNING',\n SUCCESS: 'SUCCESS',\n INFO: 'INFO'\n};\n\nexport const prepareLoginFlowDefaultGreetings = () => {\n const isPartnershipPages = window.location.href.indexOf('/partnership/') >= 0;\n const isAffiliateSignup = window.location.href.indexOf('/affiliate/') >= 0;\n const isJotformForBeginners = window.location.href.indexOf('/jotform-for-beginners/') >= 0;\n if (isPartnershipPages) {\n return `You will need a free Jotform account\n in order to access your Dashboard. If you already have a Jotform account,\n please log in to your account first to be able to fill out your application.\n If you have more than one Jotform account, please use the registered account to the\n Jotform ${isAffiliateSignup ? 'Affiliate Program' : 'Solutions Program'}.`;\n }\n if (isJotformForBeginners) {\n return 'Create a free Jotform account to download the book, Jotform for Beginners.';\n }\n if (window.JOTFORM_ENV !== 'ENTERPRISE') {\n return 'Collect information, payments, and signatures with custom online forms.';\n }\n return '';\n};\n\nexport const FORM_TEXTS = {\n confirmEmail: 'E-mail does not match',\n pleaseWait: 'Please wait...',\n validateEmail: 'You need to validate this e-mail',\n confirmClearForm: 'Are you sure you want to clear the form',\n lessThan: 'Your score should be less than or equal to',\n incompleteFields: 'There are incomplete required fields. Please complete them.',\n required: 'This field is required.',\n requireOne: 'At least one field required.',\n requireEveryRow: 'Every row is required.',\n requireEveryCell: 'Every cell is required.',\n email: 'Enter a valid e-mail address',\n alphabetic: 'This field can only contain letters',\n numeric: 'This field can only contain numeric values',\n alphanumeric: 'This field can only contain letters and numbers.',\n cyrillic: 'This field can only contain cyrillic characters',\n url: 'This field can only contain a valid URL',\n currency: 'This field can only contain currency values.',\n fillMask: 'Field value must fill mask.',\n uploadExtensions: 'You can only upload following files:',\n noUploadExtensions: 'File has no extension file type (e.g. .txt, .png, .jpeg)',\n uploadFilesize: 'File size cannot be bigger than:',\n uploadFilesizemin: 'File size cannot be smaller than:',\n gradingScoreError: 'Score total should only be less than or equal to',\n inputCarretErrorA: 'Input should not be less than the minimum value:',\n inputCarretErrorB: 'Input should not be greater than the maximum value:',\n maxDigitsError: 'The maximum digits allowed is',\n minCharactersError: 'The number of characters should not be less than the minimum value:',\n maxCharactersError: 'The number of characters should not be more than the maximum value:',\n freeEmailError: 'Free email accounts are not allowed',\n minSelectionsError: 'The minimum required number of selections is ',\n maxSelectionsError: 'The maximum number of selections allowed is ',\n pastDatesDisallowed: 'Date must not be in the past.',\n dateLimited: 'This date is unavailable.',\n dateInvalid: 'This date is not valid. The date format is {format}',\n dateInvalidSeparate: 'This date is not valid. Enter a valid {element}.',\n ageVerificationError: 'You must be older than {minAge} years old to submit this form.',\n multipleFileUploads_typeError: '{file} has invalid extension. Only {extensions} are allowed.',\n multipleFileUploads_sizeError: '{file} is too large, maximum file size is {sizeLimit}.',\n multipleFileUploads_minSizeError: '{file} is too small, minimum file size is {minSizeLimit}.',\n multipleFileUploads_emptyError: '{file} is empty, please select files again without it.',\n multipleFileUploads_uploadFailed: 'File upload failed, please remove it and upload the file again.',\n multipleFileUploads_onLeave: 'The files are being uploaded, if you leave now the upload will be cancelled.',\n multipleFileUploads_fileLimitError: 'Only {fileLimit} file uploads allowed.',\n dragAndDropFilesHere_infoMessage: 'Drag and drop files here',\n chooseAFile_infoMessage: 'Choose a file',\n maxFileSize_infoMessage: 'Max. file size',\n generalError: 'There are errors on the form. Please fix them before continuing.',\n generalPageError: 'There are errors on this page. Please fix them before continuing.',\n wordLimitError: 'Too many words. The limit is',\n wordMinLimitError: 'Too few words. The minimum is',\n characterLimitError: 'Too many Characters. The limit is',\n characterMinLimitError: 'Too few characters. The minimum is',\n ccInvalidNumber: 'Credit Card Number is invalid.',\n ccInvalidCVC: 'CVC number is invalid.',\n ccInvalidExpireDate: 'Expire date is invalid.',\n ccInvalidExpireMonth: 'Expiration month is invalid.',\n ccInvalidExpireYear: 'Expiration year is invalid.',\n ccMissingDetails: 'Please fill up the credit card details.',\n ccMissingProduct: 'Please select at least one product.',\n ccMissingDonation: 'Please enter numeric values for donation amount.',\n disallowDecimals: 'Please enter a whole number.',\n restrictedDomain: 'This domain is not allowed',\n ccDonationMinLimitError: 'Minimum amount is {minAmount} {currency}',\n requiredLegend: 'All fields marked with * are required and must be filled.',\n geoPermissionTitle: 'Permission Denied',\n geoPermissionDesc: 'Check your browser\\'s privacy settings.',\n geoNotAvailableTitle: 'Position Unavailable',\n geoNotAvailableDesc: 'Location provider not available. Please enter the address manually.',\n geoTimeoutTitle: 'Timeout',\n geoTimeoutDesc: 'Please check your internet connection and try again.',\n selectedTime: 'Selected Time',\n formerSelectedTime: 'Former Time',\n cancelAppointment: 'Cancel Appointment',\n cancelSelection: 'Cancel Selection',\n noSlotsAvailable: 'No slots available',\n slotUnavailable: '{time} on {date} has been selected is unavailable. Please select another slot.',\n multipleError: 'There are {count} errors on this page. Please correct them before moving on.',\n oneError: 'There is {count} error on this page. Please correct it before moving on.',\n doneMessage: 'Well done! All errors are fixed.',\n invalidTime: 'Enter a valid time',\n doneButton: 'Done',\n reviewSubmitText: 'Review and Submit',\n nextButtonText: 'Next',\n prevButtonText: 'Previous',\n seeErrorsButton: 'See Errors',\n notEnoughStock: 'Not enough stock for the current selection',\n notEnoughStock_remainedItems: 'Not enough stock for the current selection ({count} items left)',\n soldOut: 'Sold Out',\n justSoldOut: 'Just Sold Out',\n selectionSoldOut: 'Selection Sold Out',\n subProductItemsLeft: '({count} items left)',\n startButtonText: 'START',\n submitButtonText: 'Submit',\n submissionLimit: 'Sorry! Only one entry is allowed. Multiple submissions are disabled for this form.',\n reviewBackText: 'Back to Form',\n seeAllText: 'See All',\n progressMiddleText: 'of',\n fieldError: 'field has an error.',\n error: 'Error'\n};\n","/* eslint-disable */\n\nimport { FORM_TEXTS } from '@jotforminc/constants';\nimport { getActiveApp, isEU, isHIPAA } from '@jotforminc/router-bridge';\n\nimport widgetAutoFill from '../utils/widgetAutofill';\nimport { loadWidgetImageInParentWindow, isBase64LoadedField } from '../utils/loadWidgetImageAsBase64';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n if (!JotForm.EventObserver) return;\n const form = document.querySelector('form.jotform-form');\n if (!(form instanceof HTMLFormElement)) return;\n form.addEventListener('submit', function allWidgetsAreValid(e) {\n e.valid = document.querySelectorAll('.custom-field-frame[data-type=\"iframe\"]').length === (JCFServerCommon.submitFrames || []).length;\n if (JotForm.debug) console.log('allWidgetsAreValid init: e.valid: ', e.valid);\n JCFServerCommon.allWidgetsValidEvent = e;\n })\n});\n\n/**\n * @description widgetFrameLoaded->debounce is declared for each widget in a form, we need a debounce function which will\n * debounce across all widgets to perform only one submit event.\n * @param fn\n * @param delay\n * @returns {(function(): void)|*}\n */\nfunction debounceFn(fn, delay) {\n var timer = null;\n return function () {\n var context = this;\n var args = arguments;\n clearTimeout(timer);\n timer = setTimeout(() => {\n fn.apply(context, args);\n }, delay);\n };\n}\n\n/**\n * @description A debounced submit function across all instances of `widgetFrameLoaded`. Ensures forms with\n * multiple widgets will only call submit once.\n * @param form An HTML Form element\n * @type {(function(): void)|*}\n */\nvar debouncedSubmit = debounceFn(function(form) {\n form.submit();\n // Some servers forms need extra time for the widgets to process. https://www.jotform.com/answers/14223291\n}, ['maloneyproperties.jotform.com'].indexOf(window.location.host) > -1 ? 300 : 50);\n\n/*\n function runs when widget iframe loaded\n look at onload attribute of related widget iframe\n it is passing iframe id\n */\nfunction widgetFrameLoaded(id) {\n // iframe DOM object\n var frameObj = document.getElementById(`customFieldFrame_${id}`);\n var frameHeight = document.documentElement.clientHeight;\n var frameWidth = document.documentElement.clientWidth;\n var themeVersion = (window && window.newDefaultTheme) || '';\n // flag to show or hide console logs\n let enableLog = JotForm.debug\n\n /**\n * @type {{ id: string; submitEvent: { valid: boolean | null }}}\n */\n const localWidgetState = { id, validationEvent: null };\n \n const widgetActions = {\n get allWidgetsSubmitted() {\n const iframes = document.querySelectorAll('.custom-field-frame[data-type=\"iframe\"]');\n return iframes.length === (JCFServerCommon.submitFrames || []).length;\n },\n get validationEvent() {\n return localWidgetState.validationEvent;\n },\n /**\n * @param {{ valid: boolean | null }} event\n */\n set validationEvent(event) {\n localWidgetState.validationEvent = event;\n }\n };\n\n // form DOM object\n var thisForm = (JotForm.forms[0] == undefined || typeof JotForm.forms[0] === 'undefined') ? $($$('.jotform-form')[0].id) : JotForm.forms[0];\n\n // enable log for certain form\n if (~['241261768412051', '70261670492960', '62754049811963', '62261204289958', '62702584435962', '62802961818967', '72134468218962'].indexOf(thisForm.id)) {\n enableLog = true;\n }\n\n // if the iframe not full rendered don't do anything at it first\n if (!frameObj.hasClassName('custom-field-frame-rendered')) {\n enableLog && console.log('Not rendered yet for', id);\n return;\n }\n\n // if oEmbed, ignore\n if (isOembedWidget(id)) {\n return;\n }\n\n // register widget to JCFServerCommon object\n // useful while debugging forms with widgets\n JCFServerCommon.frames[id] = {};\n JCFServerCommon.frames[id].obj = frameObj;\n var { src } = frameObj;\n\n JCFServerCommon.frames[id].src = src;\n JCFServerCommon.submitFrames = [];\n\n // to determine whether submit message passed form submit or next page\n var nextPage = true;\n // to determine which section is open actually\n var section = false;\n\n // we are changing iframe src dynamically\n // at first load iframe does not have src attribute that is why it behaves like it has form's URL\n // to prevent dublicate events if it is form url return\n // if(src.match('/form/')) {\n // console.log(\"returning from here\");\n // return;\n // }\n\n var referer = src;\n\n // detect IE version\n function getIEVersion() {\n var match = navigator.userAgent.match(/(?:MSIE |Trident\\/.*; rv:)(\\d+)/);\n return match ? parseInt(match[1]) : undefined;\n }\n\n // check if the form is valid and no errors\n function isTheFormValidated() {\n return $$('.form-line-error').length === 0;\n }\n\n // check a valid json string\n function IsValidJsonString(str) {\n try {\n JSON.parse(str);\n } catch (e) {\n return false;\n }\n return true;\n }\n\n // check if object is empty\n function isEmpty(obj) {\n if (obj == null) return true;\n if (obj.constructor === Array\n || obj.constructor === String) return obj.length === 0;\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n return false;\n }\n }\n\n return true;\n }\n\n // trim a string\n function trim(str) {\n if (getIEVersion() === 8) {\n return str.replace(/^\\s+|\\s+$/g, '');\n }\n\n return str.trim();\n }\n\n // check if oEmbed widget\n function isOembedWidget(id) {\n var isOembed = false;\n var iframeElement = document.getElementById(`customFieldFrame_${id}`);\n if (iframeElement.hasAttribute('data-type')) {\n var type = iframeElement.readAttribute('data-type');\n if (type === 'oembed') {\n isOembed = true;\n }\n }\n\n return isOembed;\n }\n\n // send message to widget iframe\n function sendMessage(msg, id, to) {\n var ref = referer;\n if (to !== undefined) { // to option is necesaary for messaging between widgets and themes page\n ref = to;\n }\n\n var iframeElement = document.getElementById(`customFieldFrame_${id}`);\n\n // if no iframe do not send postmessage\n if (iframeElement === null) {\n return;\n }\n\n if (navigator.userAgent.indexOf('Firefox') != -1) {\n XD.postMessage(msg, ref, getIframeWindow(iframeElement));\n } else if (getIEVersion() !== undefined) { // if IE\n XD.postMessage(msg, ref, iframeElement);\n } else {\n XD.postMessage(msg, ref, getIframeWindow(iframeElement));\n }\n }\n\n window.sendMessage2Widget = sendMessage;\n\n function resize() {\n var frameSizes = {\n width: document.documentElement.clientWidth,\n height: document.documentElement.clientHeight\n };\n sendMessage(JSON.stringify({\n type: 'frame:resize',\n frameSizes: frameSizes\n }), id);\n }\n\n window.onresize = resize;\n\n // function that gets the widget settings from data-settings attribute of the iframe\n function getWidgetSettings() {\n var el = document.getElementById(`widget_settings_${id}`);\n return (el) ? el.value : null;\n }\n\n // debounce for key events\n function debounce(fn, delay) {\n var timer = null;\n return function () {\n var context = this; var\n args = arguments;\n clearTimeout(timer);\n timer = setTimeout(() => {\n fn.apply(context, args);\n }, delay);\n };\n }\n\n // function to check if a widget is static\n function isWidgetStatic(id) {\n var el = document.getElementById(`input_${id}`);\n return (el && el.hasClassName('widget-static')) ? true : false;\n }\n\n // function to check if a widget is required\n function isWidgetRequired(id) {\n var classNames = document.getElementById(`id_${id}`).className;\n return classNames.indexOf('jf-required') > -1;\n }\n\n function isWidgetLabelEnabled(id) {\n var labelElement = document.getElementById(`label_${id}`);\n if (labelElement) {\n return labelElement.className.indexOf('form-label') > -1;\n }\n return false;\n }\n\n function getWidgetLabel(id) {\n var labelElement = document.getElementById(`label_${id}`);\n if (labelElement && labelElement.textContent) {\n return labelElement.textContent;\n }\n return '';\n }\n\n // check if the whole iframe is rendered\n // before processing the data from post message\n function isWidgetFrameReady(id) {\n var targetWidgetFrame = document.getElementById(`customFieldFrame_${id}`);\n return (!targetWidgetFrame.hasClassName('frame-ready')\n && !targetWidgetFrame.retrieve('frame-ready')) ? false : true;\n }\n\n // better way to check if edit mode\n function isEditMode() {\n return (JotForm.isEditMode()\n || !!~window.location.href.indexOf('/edit/')\n || !!~window.location.href.indexOf('inlineEdit'));\n }\n\n // insert new theme css directly if request comes from offline forms\n const isExtendedTheme = (window && window.JotForm.extendsNewTheme) || '';\n const params = global.location.search.split('?').join('');\n const isOfflineForms = params.indexOf('offline_forms=true') > -1 || params.indexOf('offline_forms=si') > -1;\n if(isOfflineForms && themeVersion === 'v2') {\n sendMessage(JSON.stringify({type: 'theme', themeVersion, isExtendedTheme}), id);\n }\n\n // send message to widget iframe and change data-status to ready\n function sendReadyMessage(id, eventType) {\n var formAll = document.querySelector('.form-all');\n var background = (window.getComputedStyle)\n ? window.getComputedStyle(formAll, null).getPropertyValue('background-color')\n : getStyle(formAll, 'background');\n var fontFamily = (window.getComputedStyle)\n ? window.getComputedStyle(formAll, null).getPropertyValue('font-family')\n : getStyle(formAll, 'font-family');\n\n // send ready message to widget\n // including background-color, formId, questionID and value if it is edit mode (through submissions page)\n\n // Check if card form or card builder\n var isCardForm = (window.FORM_MODE == 'cardform' || window.buildermode === 'card');\n\n //get form environment\n var appPath = !! getActiveApp() ? getActiveApp(): false ;\n var isEu = !! isEU() || JotForm.forwardToEu ? true: false;\n var isHipaa = !! isHIPAA() || JotForm.hipaa ? true: false;\n\n if (window.JotForm.uploadServerURL !== undefined) {\n var uploadServerURL = window.JotForm.uploadServerURL;\n }\n\n\n // Check theme version\n var themeVersion = (window && window.newDefaultTheme) || '';\n if (!themeVersion && window.JotForm.newDefaultTheme) {\n themeVersion = 'v2';\n }\n var isExtendedTheme = (window && window.JotForm.extendsNewTheme) || '';\n var msg = {\n type: 'ready',\n qid: `${id}`,\n isEditMode: window.JotForm.isEditMode(),\n sid: window.JotForm.submissionID,\n formID: document.getElementsByName('formID')[0].value,\n required: isWidgetRequired(id),\n static: isWidgetStatic(id),\n isWidgetLabelEnabled: isWidgetLabelEnabled(id),\n qlabel: getWidgetLabel(id),\n jotformNext: window.location.href.indexOf('jotformNext=1') > -1 || window.isComingFromJotFormNext == 1,\n cardform: isCardForm,\n background: background,\n fontFamily: fontFamily,\n origin: window.location.origin || (`${window.location.protocol}//${window.location.hostname}${window.location.port ? `:${window.location.port}` : ''}`),\n enterprise: JotForm.enterprise,\n themeVersion: themeVersion,\n isExtendedTheme: isExtendedTheme,\n isEu,\n isHipaa,\n isApp : appPath,\n lang: document.documentElement.lang,\n uploadServerURL: uploadServerURL\n };\n\n if (eventType) {\n msg.type = eventType;\n }\n\n // if settings not null, include it\n var _settings = getWidgetSettings();\n if (_settings && decodeURIComponent(_settings) !== '[]') {\n msg.settings = _settings;\n }\n\n // data-value attribute is set if form is in editMode.\n var wframe = document.getElementById(`customFieldFrame_${id}`);\n if (isCardForm && wframe && typeof wframe.up === 'function') {\n var jfFieldDiv = wframe.up('.jfField') || false;\n var widgetID = jfFieldDiv && typeof jfFieldDiv.getAttribute === 'function' ? jfFieldDiv.getAttribute('data-widget-id') : false;\n if (widgetID) {\n msg.widgetID = widgetID;\n }\n }\n\n // include initial width and height of the widget from the properties\n var fwidth = wframe.readAttribute('data-width') || wframe.parentNode.clientWidth;\n var fheight = wframe.readAttribute('data-height') || wframe.parentNode.clientHeight;\n msg.width = parseInt(fwidth);\n msg.height = parseInt(fheight);\n\n // get the view size of the iframe\n // this is the actual size when the form is loaded\n msg.viewWidth = wframe.parentNode.clientWidth;\n msg.viewHeight = wframe.parentNode.clientHeight;\n\n // helper function\n function _sendReadyMessage(id, msg) {\n // put a custom class when ready\n $(document.getElementById(`customFieldFrame_${id}`)).addClassName('frame-ready').store('frame-ready', true);\n\n // send ready message\n sendMessage(JSON.stringify(msg), id);\n }\n\n // make sure we get the data first before sending ready message, only when msg.value undefined\n var isEditMode = (JotForm.isEditMode()\n || !!~window.location.href.indexOf('/edit/')\n || !!~window.location.href.indexOf('inlineEdit'));\n\n enableLog && console.log('ready message inline', msg);\n\n if (isEditMode) {\n // if edit mode do some polling with timeout\n // interval number for each check in ms\n var interval = 50;\n // lets give the check interval a timeout in ms\n var timeout = 5000;\n // will determine the timeout value\n var currentTime = 0;\n\n var editCheckInterval = setInterval(() => {\n // clear interval when data-value attribute is set on the iframe\n // that means the 'getSubmissionResults' request has now the question data\n if (wframe.hasAttribute('data-value') || (currentTime >= timeout)) {\n // clear interval\n clearInterval(editCheckInterval);\n\n // renew value, whether its empty\n msg.value = wframe.getAttribute('data-value');\n\n // send message\n enableLog && console.log('Ready message sent in', currentTime, msg);\n if (isBase64LoadedField(msg, wframe.getAttribute('data-client-id'))) {\n loadWidgetImageInParentWindow(`/${msg.value}?${(new Date()).getTime()}`)\n .then((base64Image) => _sendReadyMessage(id, { ...msg, value: base64Image }))\n .catch(() => _sendReadyMessage(id, msg))\n } else {\n _sendReadyMessage(id, msg);\n }\n }\n\n currentTime += interval;\n }, interval);\n } else {\n // set value\n if (wframe.hasAttribute('data-value')) {\n msg.value = wframe.getAttribute('data-value');\n } else {\n // check if the hidden input has a value\n // TODO: improve this to make only work from back history\n var input = wframe.parentNode.select(`#input_${id}`);\n\n // if not empty, pass it to ready event value\n if (input.first().getValue()) {\n msg.state = 'oldvalue';\n msg.value = input.first().getValue();\n }\n }\n\n // send message\n enableLog && console.log('Sending normal ready message', msg);\n _sendReadyMessage(id, msg);\n }\n }\n\n // A hacky way to decode/unescape html entities on a string\n function unescapeEntities(str) {\n var txt = document.createElement('textarea');\n txt.innerHTML = str;\n return txt.value;\n }\n\n // A hacky way to encode/escape html entities on a string\n function escapeEntities(str) {\n var txt = document.createElement('textarea');\n txt.textContent = str;\n return txt.innerHTML;\n }\n\n // expose ready message function\n window.JCFServerCommon.frames[id].sendReadyMessage = sendReadyMessage;\n\n // bind receive message event\n // a message comes from form\n XD.receiveMessage(message => {\n // don't parse some unknown text from third party api of widgets like google recapthca\n if (!IsValidJsonString(message.data)) {\n return;\n }\n\n // parse message\n var data = JSON.parse(message.data);\n\n enableLog && console.log('Data from widget', data.qid, data);\n\n // filter out events from other frames which cause form hang up\n // specially if there are multiple widgets on 1 form\n if (parseInt(id) !== parseInt(data.qid)) {\n return;\n }\n\n // sendSubmit\n if (data.type === 'submit') {\n const validationEvent = widgetActions.validationEvent;\n enableLog && console.log('widget submit', document.getElementById(`input_${data.qid}`));\n // make sure thats its not an oEmbed widget\n // oEmbed widgets has no hidden input to read\n if (document.getElementById(`input_${data.qid}`)) {\n if (enableLog && !data.value) {\n console.log('received Data ', data);\n data.value = document.getElementById(`input_${data.qid}`).value;\n }\n\n if (typeof data.value === 'number') {\n data.value = `${data.value}`;\n }\n var required = $(document.getElementById(`input_${data.qid}`)).hasClassName('widget-required') || $(document.getElementById(`input_${data.qid}`)).hasClassName('validate[required]');\n var input_id_elem = document.getElementById(`input_${data.qid}`);\n var inputLineParent = input_id_elem.up('.form-line');\n\n var hasExludedEncryptWidgets = function (formData) {\n return formData.match(/^data:image\\/png;base64/ig)\n || !!~formData.indexOf('widget_metadata')\n || IsValidJsonString(formData);\n };\n\n // if the element/question was set to required, we do some necessary validation to display and error or not\n var isParentVisible = JotForm.isVisible(inputLineParent);\n var isElemVisible = (inputLineParent.hasClassName('form-field-hidden')\n || input_id_elem.hasClassName('always-hidden') || !isParentVisible) ? false : true;\n if (required) {\n enableLog && console.log(data.qid, 'isVisible', isElemVisible);\n if (isElemVisible && 'valid' in data\n && ((data.valid === false) || (data.valid === true && !data.value))\n ) {\n\n if (validationEvent) validationEvent.valid = false;\n // only set empty value if the widget is ready\n // for non ready widgets, if theres an existing value\n // avoid getting it overwrite, like for example under collapse\n if (isWidgetFrameReady(data.qid)) {\n input_id_elem.setValue('');\n enableLog && console.log('LogA: Setting empty input value for', data.qid, data);\n } else {\n enableLog && console.log(\"LogA: Setting nothing because isn't ready\", data.qid, data);\n }\n\n // put a custom error msg if necessary, only if error object is present\n // only error if its empty\n if (!input_id_elem.getValue()) {\n var jotformReqError = JotForm.texts && JotForm.texts.required ? JotForm.texts.required : FORM_TEXTS.required;\n var req_errormsg = jotformReqError || 'This field is required';\n if (typeof data.error !== 'undefined' && data.error !== false) {\n req_errormsg = (data.error.hasOwnProperty('msg')) ? data.error.msg : req_errormsg;\n }\n\n enableLog && console.log('Errored required element', input_id_elem, data);\n JotForm.errored(input_id_elem, req_errormsg);\n }\n } else {\n // do not correct errored widget under closed form collapse\n // as well as hidden widget fields\n if (isElemVisible && !JotForm.isCollapsed(input_id_elem)) {\n enableLog && console.log('Correcting required element', input_id_elem, data);\n JotForm.corrected(input_id_elem);\n }\n\n // for not visible widgets(for example already at the previouspage)\n // correct them if their data is valid\n if (!isElemVisible && data.valid === true) {\n enableLog && console.log('Correcting not visible element but valid', input_id_elem, data);\n JotForm.corrected(input_id_elem);\n }\n\n // only modify value if the widget frame is ready\n if (isWidgetFrameReady(data.qid)) {\n if (data.value !== undefined) {\n // if form encrypted, encrypt value\n var finalvalue = data.value;\n if (JotForm.isEncrypted && data.value && !hasExludedEncryptWidgets(data.value) && JotForm.encryptionProtocol !== \"JF-CSE-V2\") {\n finalvalue = JotEncrypted.encrypt(data.value);\n }\n input_id_elem.setValue(escapeEntities(finalvalue));\n enableLog && console.log('LogB: Setting input value for', data.qid, data);\n } else {\n input_id_elem.setValue('');\n enableLog && console.log('LogC: Setting input value for', data.qid, data);\n }\n } else {\n enableLog && console.log('LogA: Widget frame not ready, no value set', data.qid, data);\n }\n }\n } else {\n // if not required and value property has a value set\n // make it as the hidden input value\n if (typeof data !== 'undefined') {\n if ('value' in data) {\n // only modify value if the widget frame is ready\n if (isWidgetFrameReady(data.qid)) {\n var finalvalue = data.value;\n if (JotForm.isEncrypted && data.value && !hasExludedEncryptWidgets(data.value) && JotForm.encryptionProtocol !== \"JF-CSE-V2\") {\n finalvalue = JotEncrypted.encrypt(data.value);\n }\n input_id_elem.setValue(escapeEntities(finalvalue));\n } else {\n enableLog && console.log('LogB: Widget frame not ready, no value set', data.qid, data);\n }\n } else if (input_id_elem.hasClassName('widget-static')) {\n input_id_elem.setValue('');\n input_id_elem.removeAttribute('name');\n }\n }\n }\n\n // remove value if field is totally hidden or conditionally hidden\n // only when the Clear Hidden Field Values option is set\n if (input_id_elem && inputLineParent\n && inputLineParent.hasClassName('form-field-hidden')\n && JotForm.clearFieldOnHide === 'disable') {\n input_id_elem.setValue('');\n // input_id_elem.removeAttribute('name');\n }\n\n // flag the iframe widget already submitted\n if (JCFServerCommon.submitFrames.indexOf(parseInt(data.qid)) < 0) {\n // for required widgets and value not valid\n // removed them from submitted frames\n if (isElemVisible && required && !data.valid) {\n if (validationEvent) validationEvent.valid = false;\n // quiet\n enableLog && console.log('Waiting for frame submission, required but not valid', data.qid);\n } else {\n JCFServerCommon.submitFrames.push(parseInt(data.qid));\n }\n }\n }\n\n // check for widget required/errors and prevent submission\n var allInputs = $$('.widget-required, .widget-errored');\n var sendSubmit = true;\n for (var i = 0; i < allInputs.length; i++) {\n if (allInputs[i].value.length === 0 && JotForm.isVisible(allInputs[i])) {\n sendSubmit = false;\n }\n }\n // if widget is made required by condition\n // var requiredByConditionInputs = document.getElementsByClassName(\"form-widget validate[required]\");\n // console.log(\"requiredByConditionInputs\". requiredByConditionInputs.length);\n\n // for(var i=0; i -1\n && JotForm.isPaymentSelected()\n && (JotForm.paymentTotal > 0)\n && !isEditMode) || JotForm.isEncrypted || JotForm.disableSubmitButton || window.offlineForm)) {\n // we will submit the form if all widgets already submitted\n // because some widgets need to do their own processes before sending submit\n // check if all frames submitted a message, thats the time we fire a form submit\n if ($$('.custom-field-frame[data-type=\"iframe\"]').length === JCFServerCommon.submitFrames.length) {\n enableLog && console.log('All frames submitted', JCFServerCommon.submitFrames);\n\n if (JotForm.EventObserver) {\n const allWidgetsValidationEvent = window.JCFServerCommon.allWidgetsValidEvent;\n if (enableLog) console.log('JCFServerCommon.allWidgetsValidEvent', allWidgetsValidationEvent);\n if (allWidgetsValidationEvent && widgetActions.allWidgetsSubmitted) {\n if (enableLog) console.log('widget_' + localWidgetState.id, ': allWidgetsValidationEvent set to:', true);\n allWidgetsValidationEvent.valid = true;\n window.JCFServerCommon.allWidgetsValidEvent = null;\n }\n }\n \n\n // TODO: Find an alternate method of deciding when a widget is finished processing.\n if (!JotForm.EventObserver) debouncedSubmit(tf);\n } else {\n enableLog && console.log('Not all frames submitted', JCFServerCommon.submitFrames);\n }\n }\n } else {\n if (validationEvent) validationEvent.valid = false;\n // if not valid and unableto submit\n // reset the form submission button\n JotForm.enableButtons();\n JotForm.showButtonMessage();\n\n // reset submitted frames, to avoid race submissions\n JCFServerCommon.submitFrames = [];\n }\n } else {\n if (validationEvent) validationEvent.valid = false;\n // var proceedSection = true;\n // section.select(\".widget-required\").each(function(inp) {\n // if (inp.value.length === 0) {\n // proceedSection = false;\n // }\n // });\n\n // //@diki\n // //validate current section\n // var sectionValidated = true;\n // section.select('*[class*=\"validate\"]').each(function(inp) {\n // if (inp.validateInput === undefined) {\n // return; /* continue; */\n // }\n // if (!( !! inp.validateInput && inp.validateInput())) {\n // sectionValidated = JotForm.hasHiddenValidationConflicts(inp);\n // }\n // });\n\n // if (proceedSection && sectionValidated) {\n // if (window.parent && window.parent != window) {\n // window.parent.postMessage('scrollIntoView', '*');\n // }\n // if (JotForm.nextPage) {\n // JotForm.backStack.push(section.hide()); // Hide current\n // JotForm.currentSection = JotForm.nextPage.show();\n // //Emre: to prevent page to jump to the top (55389)\n // if (typeof $this !== \"undefined\" && !$this.noJump) {\n // JotForm.currentSection.scrollIntoView(true);\n // }\n // JotForm.enableDisableButtonsInMultiForms();\n // } else if (section.next()) { // If there is a next page\n // if(section.select(\".widget-required\").length > 0) {\n // JotForm.backStack.push(section.hide()); // Hide current\n // // This code will be replaced with condition selector\n // JotForm.currentSection = section.next().show();\n // JotForm.enableDisableButtonsInMultiForms();\n // }\n // }\n // JotForm.nextPage = false;\n // }\n }\n }\n\n //sendCalcValue\n else if (data.type === 'calcvalue') {\n const inputEl = document.getElementById(`input_${data.qid}`);\n if (inputEl) {\n inputEl.setAttribute('data-calc', data.value);\n }\n }\n\n // sendData\n else if (data.type === 'data') {\n try {\n var el = document.getElementById(`input_${data.qid}`);\n if (el) {\n el.value = data.value;\n !!el.triggerEvent && el.triggerEvent('change');\n if (data.value && themeVersion && themeVersion === 'v2') {\n JotForm.corrected(el);\n }\n }\n } catch (e) {\n console.log(e);\n }\n\n JotForm.triggerWidgetCondition(data.qid);\n JotForm.triggerWidgetCalculation(data.qid);\n }\n\n // show/hide form errors\n else if (data.type === 'errors') {\n var inputElem = document.getElementById(`input_${data.qid}`);\n // check the action\n if (data.action === 'show') {\n // show error\n if (JotForm.isVisible(inputElem)) {\n JotForm.corrected(inputElem);\n inputElem.value = '';\n inputElem.addClassName('widget-errored');\n JotForm.errored(inputElem, data.msg);\n\n if ('resetForm' in data && data.resetForm === true) {\n JotForm.enableButtons();\n }\n }\n } else if (data.action === 'hide') {\n // hide error\n inputElem.removeClassName('widget-errored');\n JotForm.corrected(inputElem);\n }\n }\n\n // make a question/widget required\n else if (data.type === 'required') {\n var inputElem = document.getElementById(`input_${data.qid}`);\n // check the action\n if (data.action === 'set' && !inputElem.hasClassName('widget-required')) {\n inputElem.addClassName('widget-required');\n } else if (data.action === 'unset') {\n inputElem.removeClassName('widget-required');\n JotForm.corrected(inputElem);\n }\n } else if (data.type === 'form:trackerID') {\n sendMessage(JSON.stringify({\n eventID: data.eventID,\n type: 'event:receiver',\n data: $$('[name=\"event_id\"]')[0] ? $$('[name=\"event_id\"]')[0].value : ''\n }), data.qid);\n }\n\n // requestFrameSize\n else if (data.type === 'size') {\n var { width } = data;\n var { height } = data;\n\n if (width !== undefined && width !== null) {\n if (Number(width) === 0) {\n width = 'auto';\n }\n\n if (typeof width === 'number') {\n width = `${width}px`;\n }\n\n document.getElementById(`customFieldFrame_${data.qid}`).style.width = width;\n }\n\n if (height !== undefined && height !== null) {\n if (Number(height === 0)) {\n height = 'auto';\n }\n\n if (typeof height === 'number') {\n height = `${height}px`;\n }\n\n document.getElementById(`customFieldFrame_${data.qid}`).style.height = height;\n\n // for IE8 : also update height of li element\n if (getIEVersion() !== undefined) {\n document.getElementById(`cid_${data.qid}`).style.height = height;\n }\n }\n\n JotForm.iframeHeightCaller();\n }\n\n // setFrameStyles\n else if (data.type === 'styles') {\n if ('styles' in data && !isEmpty(data.styles)) {\n $(`customFieldFrame_${data.qid}`).setStyle(data.styles);\n }\n }\n\n // replaceWidget\n else if (data.type === 'replace') {\n try {\n var { inputType } = data;\n var { isMobile } = data;\n var isRequired = data.required;\n\n var parentDiv = $(`customFieldFrame_${data.qid}`).up();\n var inputName = $(`input_${data.qid}`).readAttribute('name');\n\n // remove frame\n $(`customFieldFrame_${data.qid}`).remove();\n $(`input_${data.qid}`).up().remove();\n var newInput = '';\n var validationClass = (isRequired) ? 'validate[required] widget-required widget-replaced' : '';\n switch (inputType) {\n case 'control_fileupload':\n var tf = (JotForm.forms[0] == undefined || typeof JotForm.forms[0] === 'undefined') ? $($$('.jotform-form')[0].id) : JotForm.forms[0];\n tf.setAttribute('enctype', 'multipart/form-data');\n\n if (!isMobile) {\n validationClass = (validationClass === '') ? 'validate[upload]' : validationClass;\n newInput = `';\n }\n // console.log(\"widget is mobile\", widget.isMobile);\n parentDiv.insert(newInput);\n break;\n case 'control_textbox':\n newInput = ``;\n parentDiv.insert(newInput);\n break;\n case 'control_textarea':\n newInput = ``;\n parentDiv.insert(newInput);\n break;\n default:\n break;\n }\n } catch (e) {\n console.log(e);\n }\n }\n\n // listen events\n else if (data.type === 'event:listener') {\n // check if target field exist\n var field = document.getElementById(data.field);\n if (field) {\n // only allow certain events for now\n if (['keyup', 'change'].indexOf(data.event) > -1) {\n enableLog && console.log('Event registered from ', data.qid);\n // listen event from a certain field\n var handler = function (el) {\n var fieldValue = el.target.value;\n fieldValue = (typeof fieldValue !== 'undefined') ? fieldValue : '';\n enableLog && console.log('Handler for ', data.qid, 'triggered', fieldValue, el.target.id);\n if (el.target.id === data.field) {\n enableLog && console.log('event:receiver: Sending message to ', data.qid, 'with value', fieldValue);\n sendMessage(JSON.stringify({\n eventID: data.eventID,\n type: 'event:receiver',\n value: fieldValue\n }), data.qid);\n }\n };\n\n // debounce keyup event if set\n Event.observe(field, data.event, (data.event === 'keyup') ? debounce(handler, 100) : handler);\n }\n }\n }\n\n // store data to field\n else if (data.type === 'event:store') {\n // check if target field exist\n var field = document.getElementById(data.field);\n if (field) {\n // trigger diff events for other field types\n var targetQID = $(data.field).up('.form-line').id.split('_')[1];\n var messageData = {\n eventID: data.eventID,\n type: 'event:receiver',\n value: data.value\n };\n\n // send data to widget, if the target is a widget\n // TODO improve this\n if (JotForm.getInputType(targetQID) === 'widget' || ('isWidget' in data && data.isWidget)) {\n if (window.console && 'warn' in console) {\n console.warn('Sending value to destination(widget) from a source(widget) is not recommended.');\n }\n delete messageData.eventID;\n messageData.field = data.field;\n messageData.isWidget = true;\n messageData.targetQID = targetQID;\n enableLog && console.log('Sending data to widget field', targetQID, messageData);\n sendMessage(JSON.stringify(messageData), targetQID);\n } else {\n field.setValue(data.value);\n // if there is a callback, emit an event back to widget\n if ('hasCallback' in data && data.hasCallback) {\n enableLog && console.log('Sending data to native field', data);\n sendMessage(JSON.stringify(messageData), data.qid);\n }\n }\n }\n }\n\n // hide widget container\n else if (data.type === 'field:hide') {\n $(`input_${data.qid}`).up('.form-line').hide();\n\n if (window.FORM_MODE && window.FORM_MODE == 'cardform') {\n window.CardForm.setCardVisibility(window.CardForm.cards.filter(card => {\n return card.question.id == data.qid;\n })[0], false);\n }\n }\n\n // make invisible widget container\n else if (data.type === 'field:invisible') {\n var parentEl, inputEl = document.getElementById(`input_${data.qid}`);\n if (inputEl && (parentEl = inputEl.closest('.form-line'))) {\n parentEl.style.cssText =\n 'opacity: 0;' +\n 'height: 0;' +\n 'margin: 0;' +\n 'padding: 0;' +\n 'width: 0 !important;';\n }\n\n if (window.FORM_MODE && window.FORM_MODE == 'cardform') {\n window.CardForm.setCardVisibility(window.CardForm.cards.filter(card => {\n return card.question.id == data.qid;\n })[0], false);\n }\n }\n\n //reset widget container\n else if (data.type === 'reset') {\n sendReadyMessage(data.qid, data.type);\n }\n\n // show widget container\n else if (data.type === 'field:show') {\n $(`input_${data.qid}`).up('.form-line').show();\n } else if (data.type === 'fields:capture') {\n var allowedFieldTypes = [\n 'control_textbox',\n 'control_textarea',\n 'control_dropdown',\n 'control_datetime',\n 'control_phone',\n 'control_fullname',\n 'control_hidden',\n 'control_email'\n ];\n var fieldValues = []; var\n question;\n\n // fieldSelector can be field ID or field name; field name can be specific like fullname[first] or date[month]\n data.fields.forEach(fieldSelector => {\n var value = '';\n var parent;\n var questionType;\n\n if (!fieldSelector.match(/\\[\\w+\\]/)) {\n if (data.identifier === 'name') {\n $$('.form-textbox, .form-dropdown, .form-textarea, .form-hidden').some(field => {\n if (field.name.match(new RegExp(`(${fieldSelector}$)|(${fieldSelector}\\\\[)`))) {\n return parent = field.up('li');\n }\n });\n } else {\n parent = $(`id_${fieldSelector}`);\n }\n questionType = parent ? parent.getAttribute('data-type') : '';\n // question is non-existent or not allowed\n if (!parent || allowedFieldTypes.indexOf(questionType) === -1) {\n fieldValues.push({ selector: fieldSelector, value: '' });\n return;\n }\n // get value for allowed fields\n value = $$(`#${parent.id} input, #${parent.id} select, #${parent.id} textarea`).map(field => {\n if (field.id == `lite_mode_${parent.id}`) { return ''; }\n return field.tagName === 'SELECT' ? field.getSelected().value : field.value;\n }).filter(value => { return !!value; });\n\n if (questionType === 'control_datetime' && parent.down('[id*=lite_mode_]')) {\n value = parent.down('[id*=lite_mode_]').value;\n }\n value = value.length <= 1 ? (value[0] || '') : value;\n } else {\n var question = $$(`[name$=\"_${fieldSelector}\"]`)[0] || false;\n if (question) {\n value = question.tagName === 'SELECT' ? question.getSelected().value : question.value;\n parent = question.up('li.form-line');\n questionType = question.up('li.form-line').getAttribute('data-type');\n }\n }\n if (typeof value === 'object') {\n var separator = ' ';\n switch (questionType) {\n case 'control_datetime':\n separator = parent.down('.date-separate')\n ? parent.down('.date-separate').innerHTML.replace(/\\s|\\ /g, '') : '/';\n break;\n case 'control_phone':\n separator = '-';\n default:\n }\n value = value.join(separator);\n }\n fieldValues.push({ selector: fieldSelector, value: value, type: questionType || '' });\n });\n\n sendMessage(JSON.stringify({\n eventID: data.eventID,\n type: 'event:receiver',\n data: fieldValues\n }), data.qid);\n }\n\n // autofill fields\n else if (data.type === 'fields:fill') {\n // let's fill some fields using their labels/qid\n var dataprops = {};\n $$('.form-line').filter(node => {\n // supported types as of the moment\n return [\n 'control_textbox',\n 'control_scale',\n 'control_radio',\n 'control_checkbox',\n 'control_dropdown',\n 'control_rating',\n 'control_datetime',\n 'control_fullname',\n 'control_phone',\n 'control_birthdate',\n 'control_address',\n 'control_time',\n 'control_email',\n 'control_textarea',\n 'control_emojislider',\n 'control_yesno',\n 'control_number'\n ].include(node.readAttribute('data-type'));\n }).each((node, index) => {\n // get the id and labelText\n var qid = node.id.split('_')[1];\n var qtype = node.readAttribute('data-type');\n var labelEl;\n\n if (window.FORM_MODE && window.FORM_MODE == 'cardform') {\n labelEl = node.select('.jfQuestion-label').first();\n } else {\n labelEl = node.select('.form-label').first();\n }\n\n // handle labels with required(*) text\n var cloneLabelEl = labelEl.clone(true);\n var labelRequiredEl = cloneLabelEl.select('.form-required').first()\n || cloneLabelEl.select('.jfRequiredStar').first();\n if (labelRequiredEl) {\n labelRequiredEl.remove();\n }\n\n var labelText = (cloneLabelEl) ? cloneLabelEl.innerText || cloneLabelEl.textContent || '' : '';\n var props = {\n name: '',\n value: '',\n items: '',\n text: trim(labelText.toLowerCase()),\n type: qtype\n };\n\n // find labelText on each fields and assign the right value\n for (var x = 0; x < data.fields.length; x++) {\n var found = false;\n if (data.identifier === 'label') {\n var dataFieldLabel = (data.fields[x].label || '').toString().toLowerCase();\n found = (props.text === dataFieldLabel) ? true : false;\n } else if (data.identifier === 'id') {\n found = (Number(qid) === Number(data.fields[x].id)) ? true : false;\n } else {\n console.error('Unknown identifier', data.identifier, 'use the question label or qid');\n break;\n }\n\n if (found && $(`cid_${qid}`)) {\n // first look for inputs\n var el = $(`cid_${qid}`).select('input, select, textarea').first();\n if (el) {\n // read type and name attibute\n props.name = el.readAttribute('name').replace(`q${qid}_`, '');\n props.value = data.fields[x].value;\n\n // for specific types there is `items` props\n var items = data.fields[x].items ? data.fields[x].items : widgetAutoFill().generateCtrlItems(qtype, props.value);\n if (!isEmpty(items)) {\n props.items = items;\n }\n\n // create qid inside dataprops if not present\n if (!(qid in dataprops)) {\n dataprops[qid] = {};\n }\n\n // assign qid and value to data variable\n dataprops[qid] = props;\n }\n break;\n }\n }\n });\n\n // parse dataprops only if not empty\n if (!isEmpty(dataprops)) {\n enableLog && console.log('data props', dataprops);\n widgetAutoFill().parse(dataprops);\n }\n JotForm.runAllCalculations();\n } else if (data.type === 'fields:clear') {\n var fields = [];\n data.fields = data.fields.map(field => {\n return field.toLowerCase();\n });\n $$('.form-label, .jfQuestion-label').each(label => {\n var tempLabel = label.clone(true);\n var requiredElement = tempLabel.select('.form-required, .jfRequiredStar').first();\n if (requiredElement) {\n requiredElement.remove();\n }\n var text = tempLabel.innerText.trim().toLowerCase();\n\n if (data.fields.indexOf(text) > -1) {\n // get field id and types\n var qid = label.id.match(/_(\\d+)$/)[1] || '';\n var type = label.up('.form-line').getAttribute('data-type') || '';\n if (qid && type) {\n fields.push({\n qid: qid,\n type: type\n });\n }\n }\n });\n try {\n widgetAutoFill().clear(fields);\n } catch (e) {\n console.error(e);\n }\n }\n\n // for submitted frames\n else if (data.type === 'submit:frame:remove') {\n if (JCFServerCommon.submitFrames.length > 0) {\n var findex = JCFServerCommon.submitFrames.indexOf(parseInt(data.qid));\n // remove the submitted reframe\n if (findex >= 0) {\n JCFServerCommon.submitFrames.splice(findex, 1);\n }\n }\n }\n\n // detects when the frame is moved to another Y position\n else if (data.type === 'frame:move') {\n // get initial Y position of framee\n var documentTop = document.body.getBoundingClientRect().top;\n var frameYPosition = frameObj.getBoundingClientRect().top - documentTop;\n var section = frameObj.up('ul.form-section.page-section');\n if (section) {\n // get initial section height\n var sectionHeight = section.getHeight();\n // observe siblings of iframe for class/style changes\n var widgetPositionObserver = new MutationObserver(mutations => {\n if (JotForm.isVisible(frameObj) && section.getHeight() !== sectionHeight) {\n var newPosition = frameObj.getBoundingClientRect().top - documentTop;\n if (Math.abs(frameYPosition - newPosition) > 5) {\n sectionHeight = section.getHeight();\n frameYPosition = newPosition;\n sendMessage(JSON.stringify({\n eventID: data.eventID,\n type: 'event:receiver',\n data: {\n position: frameYPosition\n }\n }), data.qid);\n }\n }\n });\n widgetPositionObserver.observe(section, {\n subtree: true,\n attributes: true,\n attributeFilter: ['class', 'style']\n });\n }\n } else if (data.type === 'frame:getdata') {\n var labelHeight = 0;\n var actionHeight = 0;\n var jfProgressHeight = 0;\n if (window.FORM_MODE == 'cardform' || window.buildermode === 'card') {\n labelHeight = document.getElementById(`label_${id}`).clientHeight;\n actionHeight = document.getElementsByClassName('jfCard-actions')[0].clientHeight;\n jfProgressHeight = document.querySelectorAll('.jfProgress, .no-animate')[0].clientHeight;\n }\n var frameData = {\n width: frameWidth,\n height: frameHeight,\n labelHeight: labelHeight,\n actionHeight: actionHeight,\n jfProgressHeight: jfProgressHeight\n };\n sendMessage(JSON.stringify({\n type: 'event:receiver',\n eventID: data.eventID,\n frameData: frameData\n }), data.qid);\n } else if (data.type === 'disableButtons') {\n JotForm.disableButtons();\n\n } else if (data.type === 'enableButtons') {\n JotForm.enableButtons();\n }\n }, frameObj.src.replace(/([^:]+:\\/\\/[^\\/]+).*/, '$1'));\n\n // add widget xd ready class\n frameObj.addClassName('frame-xd-ready').store('frame-xd-ready', true);\n\n // immediately send the settings to widget\n enableLog && console.log('sending settings', getWidgetSettings(), (new Date()).getTime());\n sendMessage(JSON.stringify({\n type: 'settings',\n settings: getWidgetSettings()\n }), id);\n\n // immediately send the form strings to widget\n enableLog && console.log('sending form strings', FORM_TEXTS, (new Date()).getTime());\n sendMessage(JSON.stringify({\n type: 'formstrings',\n formTexts: FORM_TEXTS\n }), id);\n\n // if widget is not visible do not send ready message (it may be on next page)\n // instead send ready message on next page click\n const widgetSection = JotForm.getSection(frameObj);\n const visibleWidgetSection = JotForm.isVisible(widgetSection);\n const visibleFrameObj = JotForm.isVisible(frameObj);\n const isAdvancedDesigner = window.JotForm.isAdvancedDesigner;\n // we need to make widget visible when we use the Section Collapse basic element - ticket #4704578\n const closedSection = frameObj.closest('.form-section-closed');\n var isSectionClosed = closedSection == undefined;\n if(!isSectionClosed && closedSection.querySelector('[data-type=\"control_collapse\"]') != undefined) {\n isSectionClosed = true;\n }\n const isWidgetVisible = frameObj && visibleWidgetSection && (visibleFrameObj || isAdvancedDesigner) && isSectionClosed;\n const allowedWidgets = JotForm.getWidgetType(id) && JotForm.getWidgetType(id).includes('maskedInput');\n\n const handleJumpToPage = () => {\n const jumpToPage = parseInt(document.get.jumpToPage);\n if (!isNaN(jumpToPage)) {\n const formSections = $$('.form-section:not([id^=section_])');\n const targetSection = formSections[jumpToPage - 1];\n\n if (widgetSection === targetSection) {\n const jumpInterval = setInterval(() => {\n if (visibleFrameObj) {\n enableLog && console.log(`Form jump to widget page (${jumpToPage}); sending ready message...`);\n sendReadyMessage(id);\n clearInterval(jumpInterval);\n }\n }, 200);\n }\n }\n }\n\n if(isWidgetVisible || allowedWidgets){\n enableLog && console.log('Frame widget object is visible', visibleWidgetSection, visibleFrameObj, isSectionClosed);\n sendReadyMessage(id);\n } else if (document.get.jumpToPage) {\n // send ready message if the widget's page is to be jumped to\n handleJumpToPage();\n }\n\n // send message when window was resized\n window.onresize = function () {\n var frameSizes = {\n width: document.documentElement.clientWidth,\n height: document.documentElement.clientHeight\n };\n sendMessage(JSON.stringify({\n type: 'frameresize',\n frameSizes: frameSizes\n }), id);\n };\n\n // on form submit\n thisForm.addEventListener('submit', function widgetServerSubmit(e) {\n if (document.getElementById(`customFieldFrame_${id}`) === null) {\n return;\n }\n widgetActions.validationEvent = e;\n\n // do not proceed if submit button is missing\n if ($$('.form-submit-button') && $$('.form-submit-button').length > 0) {\n // if the form submit button is hidden\n // do not submit the form\n var isSubmitBtnVisible = false;\n $$('.form-submit-button').each(el => {\n if (JotForm.isVisible(el.parentNode)) {\n isSubmitBtnVisible = true;\n }\n });\n\n e.stop();\n e.valid = false;\n\n if (!isSubmitBtnVisible) {\n JotForm.enableButtons();\n } else {\n nextPage = false;\n enableLog && console.log('Form stopped from widget server event, submitting form from widge submit event');\n sendMessage(JSON.stringify({\n type: 'submit',\n qid: `${id}`\n }), `${id}`);\n }\n }\n });\n\n // on back click\n $$('.form-pagebreak-back').each(b => {\n $(b).observe('click', function() {\n // get widget iframe\n var frameObj = $(this).up('.form-section').select(`#customFieldFrame_${id}`);\n // we need to send the disable message to Iframe Embed widget from the previous page\n if (frameObj.length > 0 && frameObj[0].readAttribute('data-client-id') === '5295629cba137d764f000004') { // check Iframe Embed widget's client ID\n JotForm.disableWidget(id);\n }\n if (JotForm.currentSection.down(`#customFieldFrame_${id}`) && !isWidgetFrameReady(id)) {\n enableLog && console.log('Sending ready message to unready widget');\n sendReadyMessage(id);\n }\n });\n });\n\n // on pagebreak click\n $$('.form-pagebreak-next').each((b, i) => {\n enableLog && console.log('Going to next page');\n $(b).observe('click', function (e) {\n // get the section where the button is clicked\n // this is to identify what section we were previously in\n // so that we only need to send the submit message to that previous widget from the previous page\n section = this.up('.form-section');\n nextPage = true;\n if (section.select(`#customFieldFrame_${id}`).length > 0) {\n enableLog && console.log('Sending submit message for iframe id', id, 'from section', this.up('.form-section'), 'and iframe', frameObj);\n sendMessage(JSON.stringify({\n type: 'submit',\n method: 'next',\n qid: `${id}`\n }), `${id}`);\n Event.stop(e);\n }\n\n // send ready message to the next widget of the page only if the section is fully visible\n // we need to get the actual frameobj and section of the next widget on the next page\n // for us to send the ready for that widget\n var checkIntevarl = setInterval(() => {\n // get the actual widget attach to this event\n frameObj = document.getElementById(`customFieldFrame_${id}`);\n if (frameObj) {\n // get its form section\n section = $(frameObj).up('.form-section');\n\n if (JotForm.isVisible(section) && JotForm.isVisible(frameObj)) {\n // if frame and section is visible\n // throw ready message to every widget that was inside of it\n clearInterval(checkIntevarl);\n enableLog && console.log('Sending ready message for iframe id', id, 'from section', section);\n if (frameObj.getAttribute('data-client-id') === '5295629cba137d764f000004') { // check Iframe Embed widget's client ID\n if(isWidgetFrameReady(id)) {\n JotForm.showWidget(id);\n } else {\n sendReadyMessage(id);\n }\n } else {\n sendReadyMessage(id);\n }\n } else {\n enableLog && console.log('Section and frameObj not visible', section, frameObj);\n clearInterval(checkIntevarl);\n }\n } else {\n // missing iframe - it was replace by a normal question field\n // usually happens on ie8 browsers - for widgets that using JFCustomWidget.replaceWidget method\n clearInterval(checkIntevarl);\n }\n }, 100);\n });\n });\n\n // observe custom events from widget inputs, then notify client for it\n if ($(`input_${id}`)) {\n ['widget:clear', 'widget:populate', 'widget:shift'].forEach(widgetEvent => {\n $(`input_${id}`).observe(widgetEvent, e => {\n var { qid } = e.memo;\n var message = {\n type: widgetEvent.replace(':', ''),\n qid: qid\n };\n if (widgetEvent == 'widget:populate') {\n message.value = e.memo.value || '';\n }\n sendMessage(JSON.stringify(message), qid);\n });\n });\n }\n}\nexport default widgetFrameLoaded\n","// import path from 'path';\n\nimport get from 'lodash/get';\n\nexport const getRouterValue = (key, defaultValue) => {\n return get(window.__jfrouter, key, defaultValue);\n};\n\nexport const getEnv = () => {\n return getRouterValue('JOTFORM_ENV', 'development');\n};\n\nexport const getAppPath = () => {\n return getRouterValue('APP_PATH', '/');\n};\n\nexport const getBaseURL = () => {\n return getRouterValue('BASE_URL', 'http://localhost');\n};\n\nexport const getAssetPath = () => {\n return getRouterValue('ASSET_PATH', '/');\n};\n\nexport const getRevision = () => {\n return getRouterValue('REVISION_HASH', '/');\n};\n\nexport const getPublicURL = () => {\n return `${getBaseURL()}${getAssetPath()}`;\n};\n\nexport const getCDNURL = () => {\n return getRouterValue('CDN_URL', getPublicURL());\n};\n\n// export const getAssetURL = assetPath => {\n// return `${getBaseURL()}${path.join(getAssetPath(), assetPath)}`;\n// };\n\nexport const getAppURL = () => {\n return `${getBaseURL()}${getAppPath()}`;\n};\n\nexport const getRoutePath = () => {\n return window.location.pathname.replace(getAppPath(), '');\n};\n\nexport const getActiveAlias = () => {\n return getRouterValue('ACTIVE_ALIAS', '');\n};\n\nexport const getActiveApp = () => {\n return getRouterValue('ACTIVE_APP', '');\n};\n\nexport const getInitialRoutePath = () => {\n return getRouterValue('INITIAL_ROUTE_PATH', '');\n};\n\nexport const getFullPath = () => {\n return getRouterValue('FULL_PATH', '');\n};\n\nexport const isHIPAA = () => {\n return getRouterValue('IS_HIPAA', '0') === '1';\n};\n\nexport const isEU = () => {\n return getRouterValue('IS_EU', '0') === '1';\n};\n\nexport const isSSO = () => {\n return getRouterValue('IS_SSO', '0') === '1';\n};\n\nexport const getRootPath = () => {\n return getRouterValue('ROOT_PATH', '');\n};\n","/* eslint-disable */\n/**\n * This was based from form.edit.mode.js\n */\n\nexport default function widgetAutoFill() {\n var isCardForm = !!window.CardForm;\n\n /**\n * Parse data for autofill\n */\n function parse(res) {\n window.$H(res).each(pair => {\n var qid = pair.key;\n var question = pair.value;\n try {\n switch (question.type) {\n case 'control_scale':\n case 'control_radio':\n // Emre: when session is used, \"question.name\" seems undefined in forms (42176)\n if (question.name == undefined) {\n var radios = window.$$(`#id_${qid} input[type=\"radio\"]`);\n } else {\n var radios = document.getElementsByName(`q${qid}_${(question.type == 'control_radio' || question.type == 'control_scale') ? question.name : qid}`);\n }\n\n window.$A(radios).each(rad => {\n if (rad.value == question.value) {\n rad.checked = true;\n rad.writeAttribute('checked', 'checked');\n triggerChangeEvent(rad);\n rad.checked = true; // for ms edge\n } else if (question.items.other != null) {\n window.$(`other_${qid}`).checked = true;\n window.$(`other_${qid}`).writeAttribute('checked', 'checked');\n window.$(`input_${qid}`).value = question.items.other;\n triggerChangeEvent(window.$(`input_${qid}`));\n window.$(`input_${qid}`).checked = true; // for ms edge\n }\n });\n break;\n case 'control_checkbox':\n var checks = window.$$(`#id_${qid} input[type=\"checkbox\"]`);\n window.$A(checks).each(chk => {\n chk.checked = false;\n chk.removeAttribute('checked');\n\n // if item selected do not include 'other', question.items is array. else, object\n if (Object.prototype.toString.call(question.items) === '[object Array]') {\n if (question.items.include(chk.value)) {\n chk.checked = true;\n chk.writeAttribute('checked', 'checked');\n triggerChangeEvent(chk);\n chk.checked = true; // for ms edge\n }\n } else {\n // question.items is object. find a different means of getting data\n if (Object.values(question.items).include(chk.value)) {\n chk.checked = true;\n chk.writeAttribute('checked', 'checked');\n triggerChangeEvent(chk);\n chk.checked = true; // for ms edge\n } else if (question.items.other != null) {\n window.$(`other_${qid}`).checked = true;\n window.$(`other_${qid}`).writeAttribute('checked', 'checked');\n window.$(`input_${qid}`).disabled = false;\n window.$(`input_${qid}`).value = question.items.other;\n triggerChangeEvent(chk);\n window.$(`input_${qid}`).checked = true; // for ms edge\n }\n }\n });\n break;\n case 'control_yesno':\n var radioInputs = window.$$(`#id_${qid} input[type=\"radio\"]`);\n window.$A(radioInputs).each(radio => {\n if (radio.value === question.value) {\n radio.checked = true;\n radio.writeAttribute('checked', 'checked');\n triggerChangeEvent(radio);\n radio.checked = true; // for ms edge\n }\n });\n break;\n case 'control_dropdown':\n var selectInput = window.$(`input_${qid}`);\n if (selectInput) {\n if (isCardForm) {\n var isMultiple = selectInput.up().querySelector('div.jfInput-dropdown')\n .classList.contains('isMultiple');\n if (isMultiple) {\n var selectedOptionValues = question.items[0].split(',');\n selectedOptionValues.forEach(eachValue => {\n selectInput.querySelector(`option[value=\"${eachValue}\"]`).selected = true;\n });\n } else {\n selectInput.putValue(question.value);\n }\n } else if (selectInput.hasAttribute('multiple')) { // for multiple\n var options = window.$$(`#id_${qid} option`);\n window.$A(options).each(option => {\n if (question.items.include(option.value)) {\n option.selected = true;\n }\n });\n } else { // for single\n selectInput.putValue(question.value);\n }\n\n selectInput.triggerEvent('change');\n }\n break;\n case 'control_rating':\n if (isCardForm) {\n var element = document.getElementById(`input_${qid}_${question.value}`);\n element.checked = true;\n triggerChangeEvent(element);\n } else if (window.$(`input_${qid}`)) {\n window.$(`input_${qid}`).setRating(question.value);\n }\n break;\n case 'control_datetime':\n case 'control_fullname':\n window.$H(question.items).each(item => {\n if (window.$(`${item.key}_${qid}`)) {\n (window.$(`${item.key}_${qid}`).value = item.value || '');\n window.$(`${item.key}_${qid}`).triggerEvent('change');\n }\n });\n if (window.$(`lite_mode_${qid}`)) {\n var date = question.items;\n if ('year' in date && 'month' in date && 'day' in date && date.year !== '' && date.month !== '' && date.day !== '') {\n JotForm.formatDate({\n date: new Date(date.year, date.month - 1, date.day),\n dateField: window.$(`id_${qid}`)\n });\n }\n }\n break;\n case 'control_emojislider':\n var cardWrapper = document.getElementById(`cid_${qid}`);\n var radioInputs = cardWrapper.querySelectorAll('input[type=radio]');\n var selectedIndex = 0;\n var radioInput;\n\n for (var i = 0; radioInput = radioInputs[i]; i++) {\n if (radioInput.value === question.value) {\n radioInput.checked = true;\n selectedIndex = i;\n }\n }\n\n var sliderWrapper = cardWrapper.querySelector('.js-emojiSlider');\n sliderWrapper.addClassName('isFilled');\n\n var sliderScaleList = sliderWrapper.querySelectorAll('.js-emojiScaleSep');\n var selectedScale = sliderScaleList[selectedIndex].getAttribute('data-scale');\n\n var faceListSlider = sliderWrapper.querySelector('.js-emojiSlider-faceList');\n faceListSlider.style.width = `${selectedScale}%`;\n\n var faces = faceListSlider.querySelectorAll('.js-emojiFaces');\n faces.forEach(eachFace => { eachFace.removeClassName('isVisible'); });\n faces[selectedIndex].addClassName('isVisible');\n break;\n case 'control_phone':\n case 'control_birthdate':\n case 'control_address':\n case 'control_time':\n window.$H(question.items).each(item => {\n if (window.$(`input_${qid}_${item.key}`)) {\n window.$(`input_${qid}_${item.key}`).putValue(item.value);\n }\n });\n if (question.type === 'control_time' && window.$(`input_${qid}_hourSelect`)) {\n var hourSelect = question.items.hourSelect ? question.items.hourSelect : '';\n if (hourSelect && window.$(`input_${qid}_hourSelect`).triggerEvent) {\n if (window.$(`input_${qid}_timeInput`)) {\n if (hourSelect.length === 1 && hourSelect < 10) {\n hourSelect = `0${hourSelect}`;\n window.$(`input_${qid}_hourSelect`).putValue(hourSelect);\n }\n \n var minuteSelect = window.$(`input_${qid}_minuteSelect`).value;\n if (minuteSelect.length === 1 && minuteSelect < 10) {\n minuteSelect = `0${minuteSelect}`;\n }\n \n window.$(`input_${qid}_timeInput`).putValue(`${hourSelect}:${minuteSelect}`);\n } else { // handle values in old theme too\n if (hourSelect.length === 2 && hourSelect.charAt(0) == '0') {\n hourSelect = hourSelect.slice(1);\n window.$(`input_${qid}_hourSelect`).putValue(hourSelect);\n }\n }\n window.$(`input_${qid}_hourSelect`).triggerEvent('change'); \n }\n }\n break;\n case 'control_email':\n var emailInput = window.$(`input_${qid}`);\n if (emailInput) {\n emailInput.putValue(question.value);\n emailInput.triggerEvent('change');\n\n // set confirm\n var emailInputConfirm = window.$(`input_${qid}_confirm`);\n if (emailInputConfirm) {\n emailInputConfirm.putValue(question.value);\n emailInputConfirm.triggerEvent('change');\n }\n }\n break;\n case 'control_textarea':\n if (question.value.length > 0) {\n var input = window.$(`input_${qid}`);\n // Set nicEditor content if exists\n if (input.up('div').down('.nicEdit-main') && nicEditors && nicEditors.findEditor(`input_${qid}`)) {\n nicEditors.findEditor(`input_${qid}`).setContent(question.value);\n }\n\n // Set input value\n input.putValue(question.value);\n triggerChangeEvent(input);\n\n if (isCardForm) { // ie8 & isCardForm Checks\n Array.prototype.forEach.call(CardForm.cards, (card, index) => {\n if (card.question.id === qid && card.markdownEditor && card.markdownEditor.setHtmlFromMarkdown) {\n // change the value to HTML syntax on edit mode\n card.markdownEditor.setHtmlFromMarkdown();\n }\n });\n }\n\n if (input.hasClassName('form-custom-hint')) {\n input.removeClassName('form-custom-hint').removeAttribute('spellcheck');\n input.hasContent = true;\n input.run('focus');\n }\n } else if (input.hasClassName('form-custom-hint')) {\n input.run('blur');\n }\n break;\n default:\n if (window.$(`input_${qid}`)) {\n window.$(`input_${qid}`).putValue(question.value);\n window.$(`input_${qid}`).triggerEvent('change');\n }\n break;\n }\n } catch (e) {\n // console.error(e);\n }\n });\n }\n\n function clear(res) {\n res.forEach(field => {\n var { qid } = field;\n var question = window.$(`input_${qid}`);\n var { type } = field;\n switch (type) {\n case 'control_scale':\n case 'control_radio':\n var radios = window.$$(`#id_${qid} input[type=\"radio\"]`);\n window.$A(radios).each(rad => {\n rad.checked = false;\n rad.removeAttribute('checked');\n triggerChangeEvent(rad);\n });\n break;\n case 'control_checkbox':\n var checks = window.$$(`#id_${qid} input[type=\"checkbox\"]`);\n window.$A(checks).each(chk => {\n chk.checked = false;\n chk.removeAttribute('checked');\n triggerChangeEvent(chk);\n });\n break;\n case 'control_yesno':\n break;\n case 'control_rating':\n if (isCardForm) {\n var radios = window.$$(`#id_${qid} input[type=\"radio\"]`);\n window.$A(radios).each(rad => {\n if (rad.checked) {\n rad.checked = false;\n rad.click();\n }\n });\n window.$$(`#id_${qid} li`).invoke('removeClassName', 'checked');\n window.$$(`#id_${qid} input[type=\"hidden\"]`).last().putValue('');\n } else {\n window.$(`input_${qid}`).setRating('');\n }\n break;\n case 'control_datetime':\n case 'control_fullname':\n window.$$(`input[id*=_${qid}]`).each(input => { input.putValue(''); });\n break;\n case 'control_emojislider':\n break;\n case 'control_phone':\n case 'control_birthdate':\n case 'control_address':\n case 'control_time':\n window.$$(`[id*=input_${qid}]`).each(input => {\n input.putValue('');\n });\n if (type === 'control_time' && window.$(`input_${qid}_hourSelect`) && window.$(`input_${qid}_hourSelect`).triggerEvent) {\n window.$(`input_${qid}_hourSelect`).triggerEvent('change');\n }\n break;\n case 'control_email':\n case 'control_textarea':\n case 'control_dropdown':\n default:\n if (question) {\n question.putValue('');\n question.triggerEvent('change');\n if (type === 'control_email') {\n // set confirm\n var emailInputConfirm = window.$(`input_${qid}_confirm`);\n if (emailInputConfirm) {\n emailInputConfirm.putValue('');\n emailInputConfirm.triggerEvent('change');\n }\n }\n }\n break;\n }\n });\n }\n\n function triggerChangeEvent(field) {\n if (field.type && field.type.match(/checkbox|radio/)) {\n var posX = window.scrollX;\n var posY = window.scrollY;\n ['click', 'change'].forEach(e => {\n field.triggerEvent(e);\n });\n // scroll back to avoid the \"jump\" effect\n if (posY !== window.scrollY) {\n window.scrollTo(posX, posY);\n }\n return;\n }\n field.triggerEvent('change');\n }\n\n /**\n * Generate prop items for each controls\n */\n function generateCtrlItems(qtype, value) {\n var items = {};\n\n // convert value to string\n value = `${value}`;\n\n switch (qtype) {\n case 'control_fullname':\n var name = value.replace(/^\\s+|\\s+$/g, '');\n name = name.split(/\\s+/g);\n items = {\n first: name[0],\n last: name[1]\n };\n if (name.length == 3) {\n items.middle = name[1];\n items.last = name[2];\n }\n break;\n case 'control_checkbox':\n case 'control_dropdown':\n // split every comma, new line, br line\n items = value.split(/\\r\\n|\\r|\\n|\\,|\\ /g);\n break;\n case 'control_phone':\n var number = value.split(/\\s+/g);\n items = {\n area: number[0],\n phone: number[1],\n full: value\n };\n break;\n case 'control_time':\n // make sure a valid time\n if (/^([0]?\\d|[1][0-2]):([0-5]\\d)\\s?(?:AM|PM)$/.test(value) || /^(2[0-3]|[01]?[0-9]):([0-5]?[0-9])$/.test(value)) {\n var timeParts = value.split(' ');\n if (timeParts.length > 0) {\n var time = timeParts[0].split(':');\n items = {\n ampm: timeParts[1],\n hourSelect: time[0],\n minuteSelect: time[1]\n };\n }\n }\n break;\n }\n\n return items;\n }\n\n return {\n parse: parse,\n clear: clear,\n generateCtrlItems: generateCtrlItems\n };\n}\n","export const loadWidgetImageInParentWindow = imageUrl => {\n let url;\n try {\n url = new URL(imageUrl, window.location.origin);\n url.hostname = window.location.hostname;\n url = url.toString();\n } catch (e) {\n url = imageUrl;\n }\n return new Promise((resolve, reject) => {\n const xhr = new window.XMLHttpRequest();\n\n xhr.open('GET', url, true);\n xhr.withCredentials = true;\n xhr.responseType = 'blob';\n xhr.onerror = reject;\n xhr.onload = () => {\n const reader = new global.FileReader();\n reader.onloadend = () => {\n if (typeof reader.result === 'string' && (reader.result.substr(0, 10) === 'data:image' || reader.result.substr(0, 29) === 'data:application/octet-stream')) {\n resolve(reader.result.replace('data:application/octet-stream', 'data:image/png'));\n } else {\n reject(new Error('Blob is not an image'));\n }\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.send();\n });\n};\n\nexport const isBase64LoadedField = (msg, clientId) => (!!msg.enterprise || msg.isHipaa) && [\n '529467003477f3512000001f', // Smooth Signature\n '533a8c19a3f5fec35d00009a', // Initials\n '5d493b3b3ecd623d69000045', // Annotate Picture\n '535a49d40a05fdff5200002b' // Draw on Image\n].includes(clientId);\n","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n\n if (Object.getOwnPropertyDescriptors) Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\nexport { _object_spread_props as _ };\n","import { _ as _define_property } from \"./_define_property.js\";\n\nfunction _object_spread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(\n Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n })\n );\n }\n\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n\n return target;\n}\nexport { _object_spread as _ };\n","function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });\n } else obj[key] = value;\n\n return obj;\n}\nexport { _define_property as _ };\n","import {\n injectPostMessage, clientWidgetFrameLoaded, makeJCFServerCommonChecks, injectGetStyle\n} from '@jotforminc/widgets-js-sdk';\n\ninjectPostMessage();\ninjectGetStyle();\nmakeJCFServerCommonChecks();\nwindow.widgetFrameLoaded = clientWidgetFrameLoaded;\n\nexport default {\n widgetFrameLoaded: clientWidgetFrameLoaded\n};\n","/* eslint-disable camelcase */\nconst injectPostMessage = () => {\n if (window.getIframeWindow === undefined) {\n window.getIframeWindow = function getIframeWindow(iframeObject) {\n let doc;\n if (iframeObject.contentWindow) {\n return iframeObject.contentWindow;\n }\n if (iframeObject.window) {\n return iframeObject.window;\n }\n if (!doc && iframeObject.contentDocument) {\n doc = iframeObject.contentDocument;\n }\n if (!doc && iframeObject.document) {\n doc = iframeObject.document;\n }\n if (doc && doc.defaultView) {\n return doc.defaultView;\n }\n if (doc && doc.parentWindow) {\n return doc.parentWindow;\n }\n };\n }\n\n // postMessage utility function\n if (typeof window.XD === 'undefined') {\n window.XD = (() => {\n let interval_id;\n let last_hash;\n let cache_bust = 1;\n let attached_callback;\n return {\n postMessage: (message, target_url, _target) => {\n if (!target_url) {\n return;\n }\n\n let target = _target || window.parent; // default to parent\n if (window.postMessage) {\n let postMessageTarget = target_url.replace(/([^:]+:\\/\\/[^/]+).*/, '$1');\n // the browser supports window.postMessage, so call it with a targetOrigin\n // set appropriately, based on the target_url parameter.\n if (!('postMessage' in target)) {\n // we have a problem, update target\n target = window.getIframeWindow(target);\n }\n if (!target) {\n return;\n }\n if (postMessageTarget.indexOf('file://') === 0) { // This means we are using file locally. (like offline forms)\n postMessageTarget = '*';\n }\n target.postMessage(message, postMessageTarget);\n } else if (target_url) {\n // the browser does not support window.postMessage, so use the window.location.hash fragment hack\n target.location = `${target_url.replace(/#.*$/, '')}#${+new Date()}${cache_bust++}&${message}`;\n }\n },\n receiveMessage: (callback, source_origin) => {\n // browser supports window.postMessage\n if (window.postMessage) {\n // bind the callback to the actual event associated with window.postMessage\n\n if (callback) {\n attached_callback = e => {\n const params = window.location.search.split('?').join('');\n const isOfflineForms = params.indexOf('offline_forms=true') > -1 || params.indexOf('offline_forms=si') > -1;\n\n // eslint-disable-next-line max-len\n if (!isOfflineForms && ((typeof source_origin === 'string' && e.origin !== source_origin) || (Object.prototype.toString.call(source_origin) === '[object Function]' && source_origin(e.origin) === !1))) {\n return !1;\n }\n callback(e);\n };\n }\n if (window.addEventListener) {\n window[callback ? 'addEventListener' : 'removeEventListener']('message', attached_callback, !1);\n } else {\n window[callback ? 'attachEvent' : 'detachEvent']('onmessage', attached_callback);\n }\n } else {\n // a polling loop is started & callback is called whenever the location.hash changes\n if (interval_id) {\n clearInterval(interval_id);\n }\n interval_id = null;\n if (callback) {\n interval_id = setInterval(() => {\n const { hash } = document.location;\n const re = /^#?\\d+&/;\n if (hash !== last_hash && re.test(hash)) {\n last_hash = hash;\n callback({\n data: hash.replace(re, '')\n });\n }\n }, 100);\n }\n }\n }\n };\n })();\n }\n};\nexport default injectPostMessage;\n","/* eslint-disable no-param-reassign */\n\nconst injectGetStyle = () => {\n function getStyle(el, styleProp) {\n let value; const\n { defaultView } = el.ownerDocument || document;\n // W3C standard way:\n if (defaultView && defaultView.getComputedStyle) {\n // sanitize property name to css notation\n // (hypen separated words eg. font-Size)\n styleProp = styleProp.replace(/([A-Z])/g, '-$1').toLowerCase();\n return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);\n } if (el.currentStyle) { // IE\n // sanitize property name to camelCase\n styleProp = styleProp.replace(/-(\\w)/g, (str, letter) => {\n return letter.toUpperCase();\n });\n value = el.currentStyle[styleProp];\n // convert other units to pixels on IE\n if (/^\\d+(em|pt|%|ex)?$/i.test(value)) {\n return (val => {\n const oldLeft = el.style.left;\n const oldRsLeft = el.runtimeStyle.left;\n el.runtimeStyle.left = el.currentStyle.left;\n el.style.left = val || 0;\n val = `${el.style.pixelLeft}px`;\n el.style.left = oldLeft;\n el.runtimeStyle.left = oldRsLeft;\n return val;\n })(value);\n }\n return value;\n }\n }\n\n if (!window.getStyle) {\n window.getStyle = getStyle;\n }\n};\n\nexport default injectGetStyle;\n","const makeJCFServerCommonChecks = () => {\n if (window.JCFServerCommon === undefined) {\n window.JCFServerCommon = {\n frames: {},\n func: {}\n };\n }\n};\n\nexport default makeJCFServerCommonChecks;\n"],"names":["hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","entries","index","length","clear","entry","set","prototype","get","has","module","exports","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","Map","getNative","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","Symbol","root","array","iteratee","result","Array","eq","key","castPath","toKey","object","path","undefined","getRawTag","objectToString","symToStringTag","toStringTag","value","Object","isFunction","isMasked","isObject","toSource","reIsHostCtor","objectProto","funcToString","funcProto","toString","hasOwnProperty","reIsNative","RegExp","call","replace","pattern","test","arrayMap","isArray","isSymbol","INFINITY","symbolProto","symbolToString","baseToString","isKey","stringToPath","coreJsData","freeGlobal","g","isKeyable","map","data","__data__","baseIsNative","getValue","nativeObjectToString","isOwn","tag","unmasked","e","nativeCreate","size","reIsDeepProp","reIsPlainProp","type","uid","maskSrcKey","exec","keys","IE_PROTO","func","assocIndexOf","splice","arrayProto","pop","push","getMapData","memoize","cache","freeSelf","self","Function","memoizeCapped","rePropName","reEscapeChar","string","charCodeAt","match","number","quote","subString","other","baseGet","defaultValue","baseGetTag","isObjectLike","resolver","memoized","args","arguments","apply","Cache","encodeURIComponent","FORM_TEXTS","confirmEmail","pleaseWait","validateEmail","confirmClearForm","lessThan","incompleteFields","required","requireOne","requireEveryRow","requireEveryCell","email","alphabetic","numeric","alphanumeric","cyrillic","url","currency","fillMask","uploadExtensions","noUploadExtensions","uploadFilesize","uploadFilesizemin","gradingScoreError","inputCarretErrorA","inputCarretErrorB","maxDigitsError","minCharactersError","maxCharactersError","freeEmailError","minSelectionsError","maxSelectionsError","pastDatesDisallowed","dateLimited","dateInvalid","dateInvalidSeparate","ageVerificationError","multipleFileUploads_typeError","multipleFileUploads_sizeError","multipleFileUploads_minSizeError","multipleFileUploads_emptyError","multipleFileUploads_uploadFailed","multipleFileUploads_onLeave","multipleFileUploads_fileLimitError","dragAndDropFilesHere_infoMessage","chooseAFile_infoMessage","maxFileSize_infoMessage","generalError","generalPageError","wordLimitError","wordMinLimitError","characterLimitError","characterMinLimitError","ccInvalidNumber","ccInvalidCVC","ccInvalidExpireDate","ccInvalidExpireMonth","ccInvalidExpireYear","ccMissingDetails","ccMissingProduct","ccMissingDonation","disallowDecimals","restrictedDomain","ccDonationMinLimitError","requiredLegend","geoPermissionTitle","geoPermissionDesc","geoNotAvailableTitle","geoNotAvailableDesc","geoTimeoutTitle","geoTimeoutDesc","selectedTime","formerSelectedTime","cancelAppointment","cancelSelection","noSlotsAvailable","slotUnavailable","multipleError","oneError","doneMessage","invalidTime","doneButton","reviewSubmitText","nextButtonText","prevButtonText","seeErrorsButton","notEnoughStock","notEnoughStock_remainedItems","soldOut","justSoldOut","selectionSoldOut","subProductItemsLeft","startButtonText","submitButtonText","submissionLimit","reviewBackText","seeAllText","progressMiddleText","fieldError","error","fn","delay","timer","getRouterValue","window","__jfrouter","getActiveApp","isHIPAA","isEU","widgetAutoFill","isCardForm","CardForm","triggerChangeEvent","field","posX","scrollX","posY","scrollY","forEach","triggerEvent","scrollTo","parse","res","$H","each","pair","qid","question","name","radios","$$","document","getElementsByName","$A","rad","checked","writeAttribute","items","$","checks","chk","removeAttribute","include","values","disabled","radioInputs","radio","selectInput","up","querySelector","classList","contains","selectedOptionValues","split","eachValue","selected","putValue","hasAttribute","options","option","element","getElementById","setRating","item","date","year","month","day","JotForm","formatDate","Date","dateField","radioInput","cardWrapper","querySelectorAll","selectedIndex","i","sliderWrapper","addClassName","selectedScale","sliderScaleList","getAttribute","faceListSlider","style","width","faces","eachFace","removeClassName","hourSelect","minuteSelect","charAt","slice","emailInput","emailInputConfirm","input","down","nicEditors","findEditor","setContent","cards","card","id","markdownEditor","setHtmlFromMarkdown","hasClassName","hasContent","run","click","invoke","last","generateCtrlItems","qtype","first","middle","area","phone","full","timeParts","time","ampm","loadWidgetImageInParentWindow","imageUrl","URL","location","origin","hostname","Promise","resolve","reject","xhr","XMLHttpRequest","open","withCredentials","responseType","onerror","onload","reader","global","FileReader","onloadend","substr","readAsDataURL","response","send","isBase64LoadedField","msg","clientId","enterprise","isHipaa","includes","addEventListener","EventObserver","form","HTMLFormElement","valid","JCFServerCommon","submitFrames","debug","console","log","allWidgetsValidEvent","debouncedSubmit","submit","indexOf","host","context","clearTimeout","setTimeout","isOembed","iframeElement","frameObj","frameHeight","documentElement","clientHeight","frameWidth","clientWidth","themeVersion","newDefaultTheme","enableLog","localWidgetState","validationEvent","widgetActions","allWidgetsSubmitted","iframes","event","thisForm","forms","readAttribute","frames","obj","src","nextPage","section","getIEVersion","navigator","userAgent","parseInt","isTheFormValidated","IsValidJsonString","str","JSON","isEmpty","constructor","String","sendMessage","to","ref","XD","postMessage","getIframeWindow","getWidgetSettings","el","isWidgetFrameReady","targetWidgetFrame","retrieve","sendMessage2Widget","onresize","stringify","frameSizes","height","isExtendedTheme","extendsNewTheme","params","search","join","sendReadyMessage","eventType","labelElement","formAll","background","getComputedStyle","getPropertyValue","getStyle","fontFamily","FORM_MODE","buildermode","appPath","isEu","forwardToEu","hipaa","uploadServerURL","isEditMode","sid","submissionID","formID","classNames","className","static","isWidgetLabelEnabled","qlabel","textContent","jotformNext","href","isComingFromJotFormNext","cardform","protocol","port","isApp","lang","_settings","decodeURIComponent","settings","wframe","jfFieldDiv","widgetID","fwidth","parentNode","fheight","_sendReadyMessage","store","viewWidth","viewHeight","currentTime","editCheckInterval","setInterval","clearInterval","getTime","then","target","source","ownKeys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","enumerable","defineProperty","configurable","writable","base64Image","getOwnPropertyDescriptors","defineProperties","enumerableOnly","symbols","catch","select","state","escapeEntities","txt","createElement","innerHTML","receiveMessage","message","input_id_elem","inputLineParent","hasExludedEncryptWidgets","formData","isParentVisible","isVisible","isElemVisible","setValue","req_errormsg","jotformReqError","texts","errored","isCollapsed","corrected","finalvalue","isEncrypted","encryptionProtocol","JotEncrypted","encrypt","clearFieldOnHide","allInputs","sendSubmit","tf","autoSubmit","paymentType","payment","isPaymentSelected","paymentTotal","disableSubmitButton","offlineForm","allWidgetsValidationEvent","enableButtons","showButtonMessage","inputEl","setAttribute","triggerWidgetCondition","triggerWidgetCalculation","inputElem","action","resetForm","eventID","Number","iframeHeightCaller","styles","setStyle","inputType","isMobile","isRequired","parentDiv","inputName","remove","newInput","validationClass","insert","handler","fieldValue","Event","observe","targetQID","messageData","getInputType","isWidget","warn","hasCallback","hide","setCardVisibility","parentEl","closest","cssText","show","allowedFieldTypes","fieldValues","fields","fieldSelector","parent","questionType","tagName","getSelected","identifier","some","selector","separator","dataprops","node","cloneLabelEl","labelEl","clone","labelRequiredEl","props","text","labelText","innerText","toLowerCase","trim","x","found","dataFieldLabel","label","runAllCalculations","tempLabel","requiredElement","findex","documentTop","body","getBoundingClientRect","top","frameYPosition","sectionHeight","getHeight","widgetPositionObserver","MutationObserver","mutations","newPosition","Math","abs","position","subtree","attributes","attributeFilter","labelHeight","actionHeight","jfProgressHeight","getElementsByClassName","frameData","disableButtons","formTexts","widgetSection","getSection","visibleWidgetSection","visibleFrameObj","isAdvancedDesigner","closedSection","isSectionClosed","isWidgetVisible","allowedWidgets","getWidgetType","jumpToPage","handleJumpToPage","isNaN","formSections","jumpInterval","isSubmitBtnVisible","stop","b","disableWidget","currentSection","method","checkIntevarl","showWidget","widgetEvent","memo","injectPostMessage","iframeObject","doc","contentWindow","contentDocument","defaultView","parentWindow","interval_id","last_hash","attached_callback","cache_bust","target_url","_target","postMessageTarget","callback","source_origin","hash","re","styleProp","ownerDocument","currentStyle","letter","toUpperCase","val","oldLeft","left","oldRsLeft","runtimeStyle","pixelLeft","widgetFrameLoaded","clientWidgetFrameLoaded"],"mappings":"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"}