\n\n\n\n\n\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??ref--4-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PricesComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??ref--4-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PricesComponent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PricesOffertComponent.vue?vue&type=template&id=6beca7c6&scoped=true&\"\nimport script from \"./PricesOffertComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./PricesOffertComponent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PricesOffertComponent.vue?vue&type=style&index=0&id=6beca7c6&prod&lang=css&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6beca7c6\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"btn-group dropup\"},[_c('img',{staticClass:\"cursor imgBradgeimg\",attrs:{\"src\":_vm.ubk+'icons/offert.svg',\"alt\":\"icon offert to vol\",\"data-toggle\":\"dropdown\",\"aria-haspopup\":\"true\",\"aria-expanded\":\"false\",\"data-placement\":\"top\",\"title\":\"Oferta por volumen\"}}),_vm._v(\" \"),_c('div',{staticClass:\"dropdown-menu dropdown-menu-right dropdown-menu-lg-left\",staticStyle:{\"min-width\":\"200px\"}},[_c('div',{staticClass:\"p-2 text-muted\"},[_c('h6',{staticClass:\"text-center\"},[_vm._v(\"Oferta x volumen\")]),_vm._v(\" \"),_c('table',{staticClass:\"table\"},[_vm._m(0),_vm._v(\" \"),_vm._l((_vm.offerts),function(row,index){return _c('tr',{key:index},[(row.Type==='S')?_c('td',{staticClass:\"text-left\"},[_vm._v(\"+ \"+_vm._s(_vm._f(\"number\")(row.Amount,'0,0')))]):_vm._e(),_vm._v(\" \"),(row.Type==='S')?_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm._f(\"currency\")(row.Price)))]):_vm._e(),_vm._v(\" \"),(row.Type==='S')?_c('td',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm._f(\"percent\")(row.Discount)))]):_vm._e()])})],2)])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('tr',[_c('th',[_vm._v(\"Cantidad\")]),_c('th',[_vm._v(\"Precio\")]),_c('th',[_vm._v(\"Descuento\")])])\n}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./PricesComponent.vue?vue&type=template&id=058761db&scoped=true&\"\nimport script from \"./PricesComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./PricesComponent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PricesComponent.vue?vue&type=style&index=0&id=058761db&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"058761db\",\n null\n \n)\n\nexport default component.exports","module.exports = require('./lib/axios');","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"product-card product-card--hidden-actions\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.seeFav),expression:\"seeFav\"}]},[(_vm.item.idfav==='0')?_c('button',{staticClass:\"product-favorite\",attrs:{\"title\":\"Agregar a favorito\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.addFavorite($event, _vm.item.ItemCode)}}},[_c('svg',{attrs:{\"width\":\"16px\",\"height\":\"16px\"}},[_c('use',{attrs:{\"xlink:href\":_vm.ubk+'images/sprite.svg#heart-20'}})]),_vm._v(\" \"),_c('span',{staticClass:\"fake-svg-icon\"})]):_c('button',{staticClass:\"product-favorite\",attrs:{\"title\":\"Eliminar de favorito\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.addFavorite($event, _vm.item.ItemCode)}}},[_c('svg',{attrs:{\"width\":\"16px\",\"height\":\"16px\"}},[_c('use',{attrs:{\"xlink:href\":_vm.ubk+'images/sprite.svg#wishlist-16'}})]),_vm._v(\" \"),_c('span',{staticClass:\"fake-svg-icon\"})])]),_vm._v(\" \"),_c('div',{staticClass:\"product-card__badges-list\"},[(_vm.item.News==='Y')?_c('div',{staticClass:\"new-badge\"},[_c('img',{attrs:{\"src\":_vm.ubk+'media/nuevo.svg',\"alt\":\"producto nuevo\",\"width\":\"15\"}})]):_vm._e(),_vm._v(\" \"),(_vm.item.Offert==='YY')?_c('div',{staticClass:\"new-badge\"},[_c('img',{attrs:{\"src\":_vm.ubk+'media/oferta.svg',\"alt\":\"producto con oferta\",\"width\":\"15\"}})]):_vm._e(),_vm._v(\" \"),(_vm.item.Liquidation==='Y')?_c('div',{staticClass:\"new-badge\"},[_c('img',{attrs:{\"src\":_vm.ubk+'media/liquidations.svg',\"alt\":\"producto en liquidacion\",\"width\":\"15\"}})]):_vm._e(),_vm._v(\" \"),(_vm.item.OnRequest==='Y')?_c('div',{staticClass:\"new-badge\"},[_c('img',{attrs:{\"src\":_vm.ubk+'media/sobrepedido.svg',\"alt\":\"producto sobre pedido\",\"width\":\"15\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"product-card__image product-image\"},[_c('a',{staticClass:\"product-image__body\",attrs:{\"href\":_vm.ubk+'details/product/'+_vm.item.ItemCode+'/'+_vm.sanitizeTitle(_vm.item.ItemName)}},[_c('img',{staticClass:\"product-image__img\",attrs:{\"src\":_vm.ubk+'Items/'+_vm.item.ItemCode+'.jpg',\"alt\":_vm.item.ItemCode},on:{\"error\":_vm.imageUrlAlt}})])]),_vm._v(\" \"),_c('div',{staticClass:\"product-card__info\"},[_c('div',{staticClass:\"product-card__name\"},[_c('div',{staticClass:\"text-right\"},[_c('small',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.item.ItemCode))])]),_vm._v(\" \"),_c('a',{attrs:{\"href\":_vm.ubk+'details/product/'+_vm.item.ItemCode+'/'+_vm.sanitizeTitle(_vm.item.ItemName)}},[_vm._v(_vm._s(_vm.item.ItemName))])]),_vm._v(\" \"),_c('ul',{staticClass:\"product-card__features-list\"},[_c('li',[_vm._v(\"Categoria: \"),_c('a',{attrs:{\"href\":_vm.links+'&fam_in='+_vm.item.CodeCat}},[_vm._v(_vm._s(_vm.item.Categorie))])]),_vm._v(\" \"),_c('li',[_vm._v(\"Marca: \"),_c('a',{attrs:{\"href\":_vm.links+'&brand_in='+_vm.item.CodeBrand}},[_vm._v(_vm._s(_vm.item.Brand))])]),_vm._v(\" \"),( _vm.userData.SALESMAN==='Y' || _vm.userData.see_stock35==='Y')?_c('li',[(_vm.userData.SALESMAN==='Y')?_c('span',{staticClass:\"text-success\"},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"number\")(_vm.item.Stock,'0,0'))+\" Disponible(s)\\n \")]):_c('div',[(_vm.item.Stock>500)?_c('span',{staticClass:\"text-success\"},[_vm._v(\"\\n +500 Disponibles\\n \")]):_c('span',{staticClass:\"text-success\"},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"number\")(_vm.item.Stock,'0,0'))+\" Disponible(s)\\n \")])])]):_vm._e(),_vm._v(\" \"),( _vm.userData.SALESMAN==='Y' || _vm.userData.WHOLESALER==='Y')?_c('li',[_vm._v(\"\\n Pzas x multiplo: \"+_vm._s(_vm._f(\"number\")(_vm.item.StockPack,'0,0'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isSugerido)?_c('li',[_c('settingscomponent',{attrs:{\"cardcode\":_vm.userData.CardCode,\"item\":_vm.item.ItemCode}}),_c('br')],1):_c('div',[_c('br')])])]),_vm._v(\" \"),_c('div',{staticClass:\"product-card__actions\"},[_c('div',{staticClass:\"product__actions-item\"},[_c('div',{staticClass:\"input-number product__quantity qty-action\"},[_c('input',{staticClass:\"input-number__input form-control form-control-lg\",attrs:{\"id\":'qty_'+_vm.action+'_'+_vm.item.ItemCode,\"type\":\"number\",\"min\":\"1\",\"value\":\"1\"},on:{\"blur\":function($event){return _vm.onAction(_vm.action,_vm.item.ItemCode,_vm.item.Stock,'W')}}}),_vm._v(\" \"),_c('div',{staticClass:\"input-number__add more\",on:{\"click\":function($event){return _vm.onAction(_vm.action,_vm.item.ItemCode,_vm.item.Stock,'A')}}}),_vm._v(\" \"),_c('div',{staticClass:\"input-number__sub less\",on:{\"click\":function($event){return _vm.onAction(_vm.action,_vm.item.ItemCode,_vm.item.Stock,'R')}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"product-card__prices\"},[_c('pricescomponent',{attrs:{\"op\":\"item\",\"item\":_vm.item.ItemCode,\"price\":_vm.item.Price,\"stock\":_vm.item.Stock,\"options\":_vm.userData,\"action\":_vm.action,\"ubk\":_vm.ubk,\"row\":_vm.item,\"home\":\"floatbtn\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"product-card__buttons\"},[(_vm.showPrice)?_c('button',{staticClass:\"btn btn-primary btn-block product-card__addtocart showbtn\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.addProductCartNew(_vm.item)}}},[_vm._v(\"\\n Agregar al carro\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.showPrice)?_c('a',{staticClass:\"btn btn-secondary btn-block product-card__addtocart showbtn\",attrs:{\"href\":_vm.ubk+'login'}},[_vm._v(\"\\n Iniciar sesión\\n \")]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??ref--4-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintProductComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??ref--4-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrintProductComponent.vue?vue&type=script&lang=js&\"","\n
\n\n\n\n\n","import { render, staticRenderFns } from \"./PrintProductComponent.vue?vue&type=template&id=2cc93867&\"\nimport script from \"./PrintProductComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./PrintProductComponent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PrintProductComponent.vue?vue&type=style&index=0&id=2cc93867&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*!\n * jQuery JavaScript Library v3.7.0\n * https://jquery.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2023-05-11T18:29Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket trac-14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n\t\t// Support: Chrome <=57, Firefox <=52\n\t\t// In some browsers, typeof returns \"function\" for HTML