{"version":3,"sources":["webpack://_N_E/../../../next-server/lib/amp.ts","webpack://_N_E/./node_modules/next/router.js","webpack://_N_E/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://_N_E/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://_N_E/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://_N_E/./node_modules/core-js/modules/es.array.iterator.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/inherits.js","webpack://_N_E/../../../next-server/lib/head.tsx","webpack://_N_E/./node_modules/core-js/internals/internal-metadata.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://_N_E/./constants/index.ts","webpack://_N_E/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://_N_E/../../../next-server/lib/head-manager-context.ts","webpack://_N_E/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://_N_E/./pages-components/auto/images/detail/aside.tsx","webpack://_N_E/./pages-components/auto/images/detail/image-riding-lantern.tsx","webpack://_N_E/./pages-components/auto/images/detail/request.ts","webpack://_N_E/./pages-components/auto/images/detail/home.tsx","webpack://_N_E/./pages/auto/images/detail.tsx","webpack://_N_E/./components/breadcrumb.tsx","webpack://_N_E/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://_N_E/./node_modules/core-js/modules/es.string.iterator.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://_N_E/./node_modules/core-js/modules/es.map.js","webpack://_N_E/./node_modules/@arsenal/arsenal/modules/event.js","webpack://_N_E/../../../next-server/lib/side-effect.tsx","webpack://_N_E/./node_modules/core-js/internals/collection-strong.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://_N_E/./lib/get-link-href.ts","webpack://_N_E/./node_modules/core-js/internals/collection.js","webpack://_N_E/./node_modules/core-js/internals/define-iterator.js","webpack://_N_E/./node_modules/next/head.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://_N_E/../../../next-server/lib/amp-context.ts","webpack://_N_E/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://_N_E/./node_modules/core-js/internals/iterators-core.js","webpack://_N_E/./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?c502","webpack://_N_E/./components/head.tsx","webpack://_N_E/./node_modules/core-js/internals/freezing.js","webpack://_N_E/./node_modules/core-js/modules/es.array.find-index.js"],"names":["isInAmpMode","React","AmpStateContext","ampFirst","hybrid","hasQuery","module","exports","global","DOMIterables","ArrayIteratorMethods","createNonEnumerableProperty","wellKnownSymbol","ITERATOR","TO_STRING_TAG","ArrayValues","values","COLLECTION_NAME","Collection","CollectionPrototype","prototype","error","METHOD_NAME","has","toObject","sharedKey","CORRECT_PROTOTYPE_GETTER","IE_PROTO","ObjectPrototype","Object","getPrototypeOf","O","constructor","fails","F","toIndexedObject","addToUnscopables","Iterators","InternalStateModule","defineIterator","setInternalState","set","getInternalState","getterFor","Array","iterated","kind","this","type","target","index","state","length","undefined","value","done","Arguments","setPrototypeOf","subClass","superClass","TypeError","create","writable","configurable","defaultHead","inAmpMode","head","charSet","name","content","onlyReactElement","child","list","fragmentChild","fragmentList","METATYPES","reduceComponents","headElements","headElementChildren","headElement","props","keys","tags","metaTypes","metaCategories","h","isUnique","key","i","len","metatype","category","categories","unique","c","Head","ampState","useContext","headManager","HeadManagerContext","reduceComponentsToState","hiddenKeys","isObject","defineProperty","f","uid","FREEZING","METADATA","id","isExtensible","setMetadata","it","objectID","weakData","meta","REQUIRED","fastKey","getWeakData","onFreeze","DEFAULT_VIDEO_KEYWORDS","DEFAULT_VIDEO_DESCRIPTION","DEFAULT_ARTICLE_KEYWORDS","DEFAULT_ARTICLE_DESCRIPTION","ICON_VIDEO_PLAYER_LOADING","aid","appName","iter","Symbol","iterator","from","arrayLikeToArray","arr","isArray","Aside","carId","seriesId","color","price","categoryImages","useMemo","findIndex","item","map","text","href","onClick","sendTeaCommEvent","car_series_id","car_style_id","sub_tab","body_color","classnames","active","disabled","filter","background","carIds","car_ids","colors","split","disabledColor","indexOf","join","style","title","color_name","eve","stopPropagation","preventDefault","checked","getZT","as","translateX","x","webkitTransform","MozTransform","msTransform","OTransform","transform","transitionSpeed","Arrows","isHover","setHover","onClickLeft","onClickRight","max","onMouseEnter","onMouseLeave","ImageRidingLantern","data","defIndex","setDefIndex","loadMoreData","shouldMove","canLoadData","hasInit","abbrRef","useRef","mainRef","useState","firstAbbrIndex","setFirstAbbrIndex","router","useRouter","moveAbbrBy","d","diff","Math","min","current","moveMainTo","openToast","duration","loadStatus","setLoadStatus","handleKeyPress","e","keyCode","push","useEffect","window","addEventListener","removeEventListener","ref","info","toutiaourl","car_name","onError","src","applyHttpsImage","replace","alt","current_pic_rank","obj_text","url","history","replaceState","otherParams","sendTeaStayEvent","sendTeaEnterEvent","page_id","pre_page_id","border","fetchList","params","offset","fetch","getUrl","then","res","fetchCategoryList","category_list","fetchCategoryImageCount","opt","serializeObject","series_id","car_id","fetchSeriesInfo","req","concern_obj","brand_name","getQueryParams","query","categoryList","initCarId","initIndex","initColor","cacheData","Map","first","hasSendRequest","ImageDetail","seriesInfo","initCategory","queryCarId","queryIndex","queryColor","carsData","categoryListData","asPath","imageData","Number","setData","dataRange","setDataRange","setImages","categoryOptions","setCategoryOptions","setShouldMove","setCanLoadData","setHasInit","getCategoryImageCount","catch","serverRenderRef","getData","direction","cData","get","offsets","newData","paging","has_more","concat","floor","parseInt","car_list","label","category_text","options","carItem","car_text","carInfo","find","ele","String","year","toUpperCase","categoryText","brandName","seriesName","pageIndex","keywords","description","canonical","renderHeaderTDK","path","className","hideLine","defaultText","onChange","car_style_name","getInitialProps","a","Promise","allSettled","status","_pageType","isNewVersion","_isNewVersion","console","Breadcrumb","handleCrumbClick","icon","getLinkHref","_getPrototypeOf","o","__proto__","self","ReferenceError","charAt","string","point","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","collection","collectionStrong","init","arguments","on","el","eventName","callback","opts","supportsPassive","passive","_opts","attachEvent","off","detachEvent","one","handler","call","event","_hasHeadManager","emitChange","Component","redefineAll","bind","anInstance","iterate","setSpecies","DESCRIPTORS","internalStateGetterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","IS_MAP","ADDER","C","that","iterable","last","size","define","previous","entry","getEntry","next","removed","clear","prev","forEach","callbackfn","boundFunction","add","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","_typeof","assertThisInitialized","$","isForced","redefine","InternalMetadataModule","checkCorrectnessOfIteration","setToStringTag","inheritIfRequired","common","IS_WEAK","NativeConstructor","NativePrototype","Constructor","exported","fixMethod","KEY","nativeMethod","entries","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","forced","createIteratorConstructor","IS_PURE","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","methods","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","proto","obj","enumerable","createPropertyDescriptor","PrototypeOfArrayIteratorPrototype","arrayIterator","__NEXT_P","memo","rel","preventExtensions","$findIndex","arrayMethodUsesToLength","SKIPS_HOLES","USES_TO_LENGTH"],"mappings":"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","file":"static/chunks/pages/auto/images/detail-131f5d8944bdf58d0fa8.js","sourcesContent":["import React from 'react'\nimport { AmpStateContext } from './amp-context'\n\nexport function isInAmpMode({\n ampFirst = false,\n hybrid = false,\n hasQuery = false,\n} = {}): boolean {\n return ampFirst || (hybrid && hasQuery)\n}\n\nexport function useAmp(): boolean {\n // Don't assign the context value to a variable to save bytes\n return isInAmpMode(React.useContext(AmpStateContext))\n}\n","module.exports = require('./dist/client/router')\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","import React, { useContext } from 'react'\nimport Effect from './side-effect'\nimport { AmpStateContext } from './amp-context'\nimport { HeadManagerContext } from './head-manager-context'\nimport { isInAmpMode } from './amp'\n\ntype WithInAmpMode = {\n inAmpMode?: boolean\n}\n\nexport function defaultHead(inAmpMode = false): JSX.Element[] {\n const head = []\n if (!inAmpMode) {\n head.push()\n }\n return head\n}\n\nfunction onlyReactElement(\n list: Array>,\n child: React.ReactChild\n): Array> {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === 'string' || typeof child === 'number') {\n return list\n }\n // Adds support for React.Fragment\n if (child.type === React.Fragment) {\n return list.concat(\n React.Children.toArray(child.props.children).reduce(\n (\n fragmentList: Array>,\n fragmentChild: React.ReactChild\n ): Array> => {\n if (\n typeof fragmentChild === 'string' ||\n typeof fragmentChild === 'number'\n ) {\n return fragmentList\n }\n return fragmentList.concat(fragmentChild)\n },\n []\n )\n )\n }\n return list.concat(child)\n}\n\nconst METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp']\n\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like \n Also adds support for deduplicated `key` properties\n*/\nfunction unique() {\n const keys = new Set()\n const tags = new Set()\n const metaTypes = new Set()\n const metaCategories: { [metatype: string]: Set<string> } = {}\n\n return (h: React.ReactElement<any>) => {\n let isUnique = true\n\n if (h.key && typeof h.key !== 'number' && h.key.indexOf('$') > 0) {\n const key = h.key.slice(h.key.indexOf('$') + 1)\n if (keys.has(key)) {\n isUnique = false\n } else {\n keys.add(key)\n }\n }\n\n // eslint-disable-next-line default-case\n switch (h.type) {\n case 'title':\n case 'base':\n if (tags.has(h.type)) {\n isUnique = false\n } else {\n tags.add(h.type)\n }\n break\n case 'meta':\n for (let i = 0, len = METATYPES.length; i < len; i++) {\n const metatype = METATYPES[i]\n if (!h.props.hasOwnProperty(metatype)) continue\n\n if (metatype === 'charSet') {\n if (metaTypes.has(metatype)) {\n isUnique = false\n } else {\n metaTypes.add(metatype)\n }\n } else {\n const category = h.props[metatype]\n const categories = metaCategories[metatype] || new Set()\n if (categories.has(category)) {\n isUnique = false\n } else {\n categories.add(category)\n metaCategories[metatype] = categories\n }\n }\n }\n break\n }\n\n return isUnique\n }\n}\n\n/**\n *\n * @param headElements List of multiple <Head> instances\n */\nfunction reduceComponents(\n headElements: Array<React.ReactElement<any>>,\n props: WithInAmpMode\n) {\n return headElements\n .reduce(\n (list: React.ReactChild[], headElement: React.ReactElement<any>) => {\n const headElementChildren = React.Children.toArray(\n headElement.props.children\n )\n return list.concat(headElementChildren)\n },\n []\n )\n .reduce(onlyReactElement, [])\n .reverse()\n .concat(defaultHead(props.inAmpMode))\n .filter(unique())\n .reverse()\n .map((c: React.ReactElement<any>, i: number) => {\n const key = c.key || i\n if (process.env.__NEXT_OPTIMIZE_FONTS && !props.inAmpMode) {\n if (\n c.type === 'link' &&\n c.props['href'] &&\n // TODO(prateekbh@): Replace this with const from `constants` when the tree shaking works.\n ['https://fonts.googleapis.com/css'].some((url) =>\n c.props['href'].startsWith(url)\n )\n ) {\n const newProps = { ...(c.props || {}) }\n newProps['data-href'] = newProps['href']\n newProps['href'] = undefined\n return React.cloneElement(c, newProps)\n }\n }\n return React.cloneElement(c, { key })\n })\n}\n\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */\nfunction Head({ children }: { children: React.ReactNode }) {\n const ampState = useContext(AmpStateContext)\n const headManager = useContext(HeadManagerContext)\n return (\n <Effect\n reduceComponentsToState={reduceComponents}\n headManager={headManager}\n inAmpMode={isInAmpMode(ampState)}\n >\n {children}\n </Effect>\n )\n}\n\n// TODO: Remove in the next major release\nHead.rewind = () => {}\n\nexport default Head\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","export const DEFAULT_VIDEO_KEYWORDS =\n '懂车帝,汽车,汽车网站,评测,视频,试驾,试乘,汽车视频,新车试驾视频,新车评测,汽车视频车评视频,帝造计划,懂车帝出品'\nexport const DEFAULT_VIDEO_DESCRIPTION =\n '懂车帝为您提供最新最全的汽车视频信息,包括汽车评测、新车试驾、热点事件评测、汽车保养、车展视频、美女车模视频、汽车碰撞视频、维修视频、漂移视频等精彩内容,看车选车买车就上懂车帝'\nexport const DEFAULT_ARTICLE_KEYWORDS =\n '最新汽车资讯,最新汽车,汽车资讯,汽车文章,文章,图文,试驾,试乘,帝造计划,懂车帝出品'\nexport const DEFAULT_ARTICLE_DESCRIPTION =\n '懂车帝是一个汽车资讯平台,懂车更懂你。它会聪明地分析你的兴趣爱好,自动为你推荐喜欢的内容,看车选车买车就上懂车帝。懂车帝为您提供最新汽车视频,汽车碰撞视频,汽车评测视频,车展视频,美女车模视频,车祸视频,维修视频,漂移视频等'\n\n// 视频播放器loading 懂车帝logo\nexport const ICON_VIDEO_PLAYER_LOADING =\n 'https://sf1-ttcdn-tos.pstatp.com/obj/motor-img/f18f575471aab5f997767e7a9292405c'\n\n// 侧边栏资讯阅读器的id\nexport const NAV_FEED_ID = 'nav-feed-reader'\n\nexport const aid = 1839\nexport const appName = 'auto_web_pc'\n","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","import React from 'react'\n\nexport const HeadManagerContext: React.Context<{\n updateHead?: (state: any) => void\n mountedInstances?: any\n}> = React.createContext({})\n\nif (process.env.NODE_ENV !== 'production') {\n HeadManagerContext.displayName = 'HeadManagerContext'\n}\n","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","import React, { useMemo } from 'react'\nimport Link from 'next/link'\nimport classnames from 'classnames'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport { getZT } from 'lib/zt-util'\n\ninterface IColor {\n color: string\n key: string\n color_name: string\n car_ids?: number[]\n}\nexport interface IList {\n text: string\n key: string\n filter: {\n color: IColor[]\n }\n}\ninterface IAside {\n list: IList[]\n category: string\n color: string\n categoryImages: {\n [key: string]: number\n }\n seriesId: string\n carId: number\n price?: string\n}\n\nconst Aside: React.FC<IAside> = (props) => {\n const { carId, seriesId, category, color, list, price, categoryImages } =\n props\n if (!list || !list.length) return null\n const index = useMemo(() => {\n return list.findIndex((item) => item.key === category)\n }, [category, list])\n return (\n <aside>\n {list.map(({ text, key }) => {\n return (\n <Link\n href={`/auto/series/${seriesId}/images/${key}-${carId}-x-x`}\n key={text}\n >\n <div\n className={classnames(`hover:tw-text-current`, {\n 'space-filter': true,\n active: key === category,\n disabled: categoryImages[key] === 0,\n })}\n onClick={() => {\n sendTeaCommEvent('click_series_picture_detail_category', {\n car_series_id: seriesId,\n car_style_id: carId,\n sub_tab: key,\n body_color: color,\n })\n }}\n >\n <span>{text}</span>\n <span>{categoryImages[key] || 0}张图</span>\n </div>\n </Link>\n )\n })}\n {list[index]?.filter && (\n <div className=\"color-picker\">\n <span>颜色选择</span>\n <span>\n {list[index].filter.color.map((item, index) => {\n const carIds = item.car_ids || []\n const colors = item.key.split('_').filter((color) => color)\n const disabledColor = carId && carIds.indexOf(carId) <= -1\n\n let background\n if (colors.length > 1) {\n background = `linear-gradient(to right, ${colors\n .map((color, index) => {\n return `#${color} 50%${\n index !== colors.length - 1 ? ', ' : ''\n }`\n })\n .join('')})`\n } else if (colors.length === 1) {\n background = `#${colors[0]}`\n } else {\n background = `#ffffff`\n }\n return (\n <Link\n href={`/auto/series/${seriesId}/images/${category}-${\n carId || 'x'\n }-${item.key || 'x'}-x`}\n key={item.key}\n >\n <i\n key={item.key}\n style={{ background }}\n className={classnames({\n checked: color === item.key,\n 'icon-oval-ic': index === 0,\n 'disabled-color': disabledColor,\n })}\n title={`${disabledColor ? '暂无 ' : ''}${item.color_name}`}\n onClick={(eve) => {\n if (disabledColor) {\n eve.stopPropagation()\n eve.preventDefault()\n return\n }\n sendTeaCommEvent('click_series_picture_detail_color', {\n car_series_id: seriesId,\n car_style_id: carId,\n sub_tab: category,\n body_color: item.key,\n })\n }}\n />\n </Link>\n )\n })}\n </span>\n </div>\n )}\n <Link\n href={`/dealer?seriesId=${seriesId}&zt=${getZT('pc_series_pic')}`}\n as={`/dealer/${seriesId}?zt=${getZT('pc_series_pic')}`}\n >\n <a target=\"_blank\">\n <div\n className=\"card\"\n onClick={() => {\n sendTeaCommEvent('click_series_picture_detail_inquiry', {\n car_series_id: seriesId,\n car_style_id: carId,\n sub_tab: category,\n body_color: color,\n })\n }}\n >\n <span>{price}</span>\n <span>询底价</span>\n </div>\n </a>\n </Link>\n <style jsx>\n {`\n aside {\n position: relative;\n width: 118px;\n height: 715px;\n font-family: PingFangSC;\n font-size: 12px;\n font-weight: 500;\n text-align: center;\n color: rgba(255, 255, 255, 0.4);\n }\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n width: 118px;\n height: 80px;\n box-sizing: border-box;\n background-color: rgba(255, 255, 255, 0.2);\n }\n .space-filter {\n cursor: pointer;\n user-select: none;\n }\n div + div {\n margin-top: 4px;\n }\n span:first-child {\n display: block;\n font-size: 20px;\n }\n .active {\n border-top: 6px solid #ffe100;\n color: #000;\n background-color: #fff;\n }\n .disabled {\n pointer-events: none;\n cursor: disabled;\n }\n .checked {\n border: solid 2px #ffe100;\n }\n .color-picker {\n display: block;\n height: auto;\n text-align: center;\n background-color: rgba(0, 0, 0, 0);\n }\n .color-picker span:first-child {\n margin: 16px 0;\n height: 22px;\n font-size: 16px;\n color: #ffffff;\n }\n .color-picker span:last-child {\n font-size: 0;\n }\n i {\n display: inline-block;\n margin: 0 4px 12px 4px;\n width: 28px;\n height: 28px;\n line-height: 25px;\n font-size: 0;\n border: solid 1px #e6e6e6;\n cursor: pointer;\n }\n .icon-oval-ic {\n font-size: 16px;\n color: #b5b5b5;\n margin-top: 0px;\n vertical-align: text-bottom;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n .disabled-color {\n opacity: 0.2;\n cursor: auto;\n }\n .card {\n position: absolute;\n bottom: 0;\n right: 0;\n width: 100%;\n height: auto;\n background-color: transparent;\n }\n .card span {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n }\n .card span:first-child {\n height: 36px;\n font-size: 14px;\n color: #ffffff;\n background-color: rgba(255, 255, 255, 0.2);\n }\n .card span:last-child {\n height: 52px;\n font-size: 20px;\n font-weight: 500;\n text-align: center;\n color: #1a1a1a;\n background-color: #ffe100;\n }\n `}\n </style>\n </aside>\n )\n}\n\nexport default Aside\n","/* eslint-disable no-multi-assign */\n/* eslint-disable no-unused-expressions */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useState, useRef, useEffect } from 'react'\nimport { IListItem, IImgRL } from './interface'\nimport { openToast } from 'Components/toast'\nimport {\n sendTeaCommEvent,\n sendTeaEnterEvent,\n sendTeaStayEvent,\n} from 'lib/tea-analyze'\nimport applyHttpsImage from 'lib/apply-https-img'\nimport Link from 'next/link'\nimport Category from '../list/category'\nimport { useRouter } from 'next/router'\nimport { Data } from 'Pages/auto/compare/types'\n\nconst translateX = (style: any, x: number) => {\n // eslint-disable-next-line no-multi-assign\n style.webkitTransform =\n // eslint-disable-next-line no-multi-assign\n style.MozTransform =\n // eslint-disable-next-line no-multi-assign\n style.msTransform =\n // eslint-disable-next-line no-multi-assign\n style.OTransform =\n // eslint-disable-next-line no-multi-assign\n style.transform =\n `translateX(${x}px)`\n}\n\nconst abbrImgWidth = 136\nconst mainImgWidth = 1068\nlet transitionSpeed = 0.3\n\nconst Arrows = ({\n isHover,\n setHover,\n onClickLeft,\n onClickRight,\n index,\n max,\n carId,\n category,\n seriesId,\n color,\n}: {\n isHover: boolean\n setHover: (b: boolean) => void\n onClickLeft?: () => void\n onClickRight?: () => void\n index: number\n max: number\n carId: number | ''\n seriesId: string\n category: string\n color: string\n}) => {\n return (\n <>\n {index > 0 && (\n <Link\n href={`/auto/series/${seriesId}/images/${category || 'x'}-${\n carId || 'x'\n }-${color || 'x'}-${index - 1}`}\n >\n <i\n className={`icon-left icon-next-arrow arrow-left arrow ${\n isHover ? 'hover' : ''\n }`}\n onMouseEnter={() => setHover(true)}\n onMouseLeave={() => setHover(false)}\n onClick={onClickLeft}\n />\n </Link>\n )}\n {index < max - 1 && (\n <Link\n href={`/auto/series/${seriesId}/images/${category || 'x'}-${\n carId || 'x'\n }-${color || 'x'}-${index + 1}`}\n >\n <i\n className={`icon-right icon-next-arrow arrow ${\n isHover ? 'hover' : ''\n }`}\n onMouseEnter={() => {\n setHover(true)\n }}\n onMouseLeave={() => {\n setHover(false)\n }}\n onClick={onClickRight}\n />\n </Link>\n )}\n\n <style jsx>\n {`\n .arrow {\n font-size: 38px;\n color: #fff;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n transition: opacity 0.1s;\n width: 100px;\n height: 100px;\n opacity: 0;\n border-radius: 50px;\n background-color: rgba(255, 255, 255, 0.4);\n }\n\n .arrow-left::before {\n transform: rotate(180deg);\n }\n .icon {\n font-size: 32px;\n color: #909090;\n }\n .icon-right {\n right: 20px;\n }\n .hover {\n opacity: 1 !important;\n }\n i {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n cursor: pointer;\n }\n `}\n </style>\n </>\n )\n}\n\nconst ImageRidingLantern: React.FC<\n IImgRL & {\n hasInit: boolean\n setDefIndex: (index: number) => void\n }\n> = (props) => {\n const {\n data,\n defIndex,\n setDefIndex,\n category,\n color,\n seriesId,\n carId,\n loadMoreData,\n shouldMove,\n canLoadData,\n hasInit,\n } = props\n const abbrRef = useRef<HTMLDivElement>(null)\n const mainRef = useRef<HTMLDivElement>(null)\n\n const [isHover, setHover] = useState(false)\n const [firstAbbrIndex, setFirstAbbrIndex] = useState(0)\n const router = useRouter()\n const moveAbbrBy = (d: number) => {\n // 将缩略图移动d张\n const diff =\n d > 0\n ? Math.min(data.list.length - firstAbbrIndex - 7, d)\n : Math.max(-firstAbbrIndex, d)\n\n if (canLoadData) {\n if (d < 0 && firstAbbrIndex + diff < 5) {\n loadMoreData('left')\n } else if (d > 0 && firstAbbrIndex + 7 + diff > data.list.length - 5) {\n loadMoreData('right')\n }\n }\n\n if (!abbrRef.current || !diff) return\n\n setFirstAbbrIndex(firstAbbrIndex + diff)\n translateX(\n abbrRef.current.style,\n -(firstAbbrIndex + diff) * (abbrImgWidth + 2)\n )\n }\n\n const moveMainTo = (index: number) => {\n // 大图显示第index张\n if (!mainRef.current) return\n if (index < 0) {\n openToast({\n type: 'warning',\n title: '已经是第一张了',\n duration: 1000,\n })\n return\n }\n if (index <= data.list.length - 1) {\n translateX(mainRef.current.style, -index * mainImgWidth)\n }\n moveAbbrBy(index - (firstAbbrIndex + 3)) // 移动缩略图\n }\n\n const [loadStatus, setLoadStatus] = useState(0) // 0 加载中; 1 成功; 2 失败\n\n useEffect(() => {\n if (shouldMove) {\n transitionSpeed = 0.3\n }\n }, [shouldMove])\n\n useEffect(() => {\n moveMainTo(defIndex)\n if (!shouldMove) {\n transitionSpeed = 0\n moveAbbrBy(firstAbbrIndex + 30)\n }\n\n /* 绑定按键图片左右翻页 */\n window.addEventListener('keydown', handleKeyPress, false)\n return () => {\n window.removeEventListener('keydown', handleKeyPress, false)\n }\n }, [data, defIndex])\n\n /* 绑定按键图片左右翻页 */\n function handleKeyPress(e: any) {\n if (e.keyCode === 39) {\n // 需要添加条件使用,否则页面其他输入框无法输入\n e.preventDefault()\n if (defIndex < data.list.length) {\n router.push(\n `/auto/series/${seriesId}/images/${category || 'x'}-${carId || 'x'}-${\n color || 'x'\n }-${defIndex + 1}`\n )\n }\n }\n if (e.keyCode === 37) {\n // 需要添加条件使用,否则页面其他输入框无法输入\n e.preventDefault()\n if (defIndex > 0) {\n router.push(\n `/auto/series/${seriesId}/images/${category || 'x'}-${carId || 'x'}-${\n color || 'x'\n }-${defIndex - 1}`\n )\n }\n }\n }\n\n if (data.list.length === 0 && mainRef.current && hasInit) {\n translateX(mainRef.current.style, 0)\n }\n\n return (\n <div>\n <div className=\"image-list\">\n <div className=\"img-container\" ref={mainRef}>\n {data.list.length > 0\n ? data.list.map(\n ({ info: { toutiaourl, car_name, color_name } }: IListItem) => (\n <img\n onError={() => {\n setLoadStatus(2)\n }}\n key={toutiaourl}\n src={applyHttpsImage(\n toutiaourl &&\n toutiaourl.replace(\n 'tplv-resize:1024:0',\n 'tplv-resize:2048:0'\n )\n )}\n alt={`${car_name} ${color_name}`}\n />\n )\n )\n : null}\n </div>\n {data.list.length === 0 ? (\n <div className=\"no-image\">\n {hasInit ? '暂无图片' : loadStatus === 0 ? '加载中' : '暂无图片'}\n </div>\n ) : null}\n <Arrows\n isHover={isHover}\n setHover={setHover}\n index={defIndex}\n max={data.list.length}\n seriesId={seriesId}\n carId={carId}\n color={color}\n category={category}\n />\n </div>\n {data.list.length > 0 ? (\n <div className=\"wheel-plant\">\n <i\n className=\"icon-left icon-next-arrow-s arrow-left icon\"\n onClick={() => {\n sendTeaCommEvent('click_series_picture_detail_flip_over', {\n car_series_id: seriesId,\n car_style_id: carId,\n current_pic_rank: defIndex - 3,\n obj_text: '左翻',\n sub_tab: category,\n body_color: color,\n })\n moveAbbrBy(-3)\n }}\n />\n <div>\n <div ref={abbrRef}>\n {data.list.map(\n (\n { info: { toutiaourl, car_name, color_name } }: IListItem,\n index: number\n ) => (\n <a\n href={\n index !== defIndex\n ? `/series-${seriesId}/images/${category || 'x'}-${\n carId || 'x'\n }-${color || 'x'}-${index}`\n : ''\n }\n key={toutiaourl}\n onClick={(e) => {\n e.preventDefault()\n e.stopPropagation()\n if (index !== defIndex) {\n moveMainTo(index)\n setDefIndex?.(index)\n const url = `/series-${seriesId}/images/${\n category || 'x'\n }-${carId || 'x'}-${color || 'x'}-${index}`\n window.history?.replaceState(\n { ...window?.history?.state, as: url, url },\n '',\n url\n )\n const otherParams = {\n current_pic_rank: index,\n car_series_id: seriesId,\n }\n sendTeaStayEvent()\n sendTeaEnterEvent({\n page_id: 'page_series_picture_detail',\n pre_page_id: 'page_series_picture_detail',\n ...otherParams,\n })\n }\n }}\n >\n <img\n style={{\n border: index === defIndex ? 'solid 4px #ffe100' : '',\n }}\n src={applyHttpsImage(toutiaourl)}\n alt={`${car_name} ${color_name}`}\n onClick={() => {\n sendTeaCommEvent('click_series_mini_picture_index', {\n car_series_id: seriesId,\n car_style_id: carId,\n current_pic_rank: index,\n sub_tab: category,\n body_color: color,\n })\n }}\n />\n </a>\n )\n )}\n </div>\n </div>\n <i\n className=\"icon-right icon-next-arrow-s icon\"\n onClick={() => {\n sendTeaCommEvent('click_series_picture_detail_flip_over', {\n car_series_id: seriesId,\n car_style_id: carId,\n current_pic_rank: defIndex + 3,\n obj_text: '右翻',\n sub_tab: category,\n body_color: color,\n })\n moveAbbrBy(3)\n }}\n />\n </div>\n ) : null}\n\n <style jsx>\n {`\n div {\n ${hasInit ? `transition: all ${transitionSpeed}s` : ''};\n }\n .img-container {\n white-space: nowrap;\n transform: translateX(${-defIndex * mainImgWidth}px);\n }\n .img-container img {\n object-fit: contain;\n }\n .no-image {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 715px;\n background-color: #3a3a3a;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 28px;\n color: #999999;\n }\n img,\n .image-list {\n position: relative;\n width: ${mainImgWidth}px;\n height: 715px;\n line-height: 0;\n }\n img {\n display: inline-block;\n }\n .image-list {\n position: relative;\n overflow: hidden;\n }\n .image-list > i {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n transition: opacity 0.1s;\n width: 100px;\n height: 100px;\n opacity: 0;\n border-radius: 50px;\n background-color: rgba(255, 255, 255, 0.4);\n }\n .image-list .icon-left {\n left: 20px;\n }\n .arrow {\n font-size: 38px;\n color: #fff;\n }\n .arrow-left::before {\n transform: rotate(180deg);\n }\n .icon {\n font-size: 32px;\n color: #909090;\n }\n .image-list .icon-right {\n right: 20px;\n }\n .hover {\n opacity: 1 !important;\n }\n i {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n cursor: pointer;\n }\n .wheel-plant {\n display: flex;\n justify-content: space-between;\n width: ${mainImgWidth}px;\n height: 90px;\n margin-top: 2px;\n }\n .wheel-plant i {\n width: 50px;\n height: 90px;\n background-color: rgba(255, 255, 255, 0.2);\n }\n .wheel-plant i:hover {\n background-color: rgba(255, 255, 255, 0.4);\n }\n .wheel-plant > div {\n flex: 1;\n width: 100%;\n position: relative;\n overflow: hidden;\n white-space: nowrap;\n }\n .wheel-plant img {\n display: inline-block;\n width: ${abbrImgWidth}px;\n height: 90px;\n margin: 0 1px;\n object-fit: cover;\n object-position: center;\n cursor: pointer;\n }\n `}\n </style>\n </div>\n )\n}\n\nexport default ImageRidingLantern\n","import fetch from 'lib/decorated-fetch'\nimport serializeObject from '@arsenal/arsenal/modules/serializeObject'\n\nimport getUrl from 'lib/url'\n\ninterface ICarItem {\n text: string\n value: number\n}\n\nexport const fetchList = (params: any) => {\n const BASE_URL = '/motor/car_page/v3/get_picture/?version_code=445&'\n\n const { category, seriesId, offset, color, carId } = params\n\n return fetch(\n getUrl(\n `${BASE_URL}category=${category}&car_id=${carId}&series_id=${seriesId}&offset=${offset}&color=${color}`\n )\n ).then(res => {\n const { list = [] } = res.data\n res.data.list = list.filter((item: any) => !item.info.title)\n return res.data\n })\n}\n\nexport const fetchCategoryList = (seriesId: string) => {\n const BASE_URL = '/motor/car_page/v3/get_picture_head/'\n\n return fetch(getUrl(`${BASE_URL}?series_id=${seriesId}`)).then(\n res => res.data.category_list\n )\n}\n\ninterface IGetImageCount {\n seriesId: string | number\n category: string\n carId?: string | number\n color?: string\n}\nexport function fetchCategoryImageCount(params: IGetImageCount) {\n const { seriesId, carId, ...opt } = params\n return fetch(\n getUrl(\n `/cloud/api/invoke/get_image_count?${serializeObject({\n ...opt,\n series_id: seriesId,\n car_id: carId,\n })}`\n )\n )\n}\n\nexport const fetchSeriesInfo = (seriesId: string, req?: any) => {\n return fetch(\n getUrl(\n `/motor/car_page/m/v1/get_head/?series_id=${seriesId}`,\n 'motor.car_page.api'\n ),\n { req }\n ).then(({ concern_obj: { brand_name, name } }) => ({ brand_name, name }))\n}\n\nexport const fetchCar = ({ seriesId }: any) => {\n return fetch(\n getUrl(\n `/motor/car_page/m/v2/series_all_json/?series_id=${seriesId}&req_type=online`\n )\n ).then(({ data = [] }) => {\n const list: ICarItem[] = []\n data.forEach(({ info: { car_id, name } }: any) => {\n if (car_id) {\n list.push({\n text: name,\n value: car_id,\n })\n }\n })\n return list\n })\n}\n\nexport const fetchCityName = () =>\n fetch(getUrl('/motor/car_service/open_api/get_ip_city/')).then(\n ({ data: { city_name } }) => city_name\n )\n\nexport default {\n fetchList,\n fetchCar,\n fetchSeriesInfo,\n fetchCategoryList,\n}\n","/* eslint-disable indent */\nimport React, { useEffect, useMemo, useState, useRef } from 'react'\nimport get from 'lodash/get'\n\nimport Aside, { IList } from './aside'\nimport ImageRidingLantern from './image-riding-lantern'\n\nimport Select from 'Components/select'\nimport Breadcrumb from 'Components/breadcrumb'\nimport FooterStatement from 'Components/footer-statement'\nimport { sendTeaCommEvent } from 'lib/tea-analyze'\nimport { useRouter } from 'next/router'\n\nimport {\n fetchList,\n fetchSeriesInfo,\n fetchCategoryList,\n fetchCategoryImageCount,\n} from './request'\nimport { IData, IImgDetail } from './interface'\nimport getQuery from '@arsenal/arsenal/modules/getQuery'\nimport { CategoryCarList, CarInfo } from '../list/home'\n\nimport { isNewVersion } from 'lib/version'\nimport Head from 'Components/head'\n\ninterface ICacheData {\n offsets: number[]\n data: IData\n}\n\ninterface IParams {\n color: string\n index: number\n carId: number\n}\n\nfunction getQueryParams<T>(query: T | T[]) {\n return Array.isArray(query) ? query[query.length - 1] : query\n}\n\n// 数据缓存\nconst cacheData: Map<string, ICacheData> = new Map()\nlet first = true\nlet hasSendRequest = false\nlet categoryList: IList[]\nlet initCarId: number\nlet initIndex: number\nlet initColor: string\n\nfunction ImageDetail(props: IImgDetail) {\n const {\n seriesId,\n seriesInfo,\n initCategory,\n carId: queryCarId,\n index: queryIndex,\n color: queryColor,\n carsData,\n categoryListData,\n asPath,\n imageData,\n } = props\n\n const router = useRouter()\n\n if (first) {\n initCarId = Number(getQueryParams(queryCarId)) || 0\n initIndex = Number(getQueryParams(queryIndex)) || 0\n initColor = getQueryParams(\n queryColor !== 'x' && queryColor ? queryColor : ''\n )\n }\n\n const [data, setData] = useState<IData>(carsData)\n const [dataRange, setDataRange] = useState<number[]>([])\n const [categoryImages, setImages] = useState({})\n const [defIndex, setDefIndex] = useState<number>(initIndex % 30)\n const [categoryOptions, setCategoryOptions] = useState([])\n const [shouldMove, setShouldMove] = useState(true)\n const [canLoadData, setCanLoadData] = useState(true)\n const [hasInit, setHasInit] = useState(false)\n\n // 获取汽车各特性图片数量\n function getCategoryImageCount() {\n fetchCategoryImageCount({\n seriesId,\n carId: initCarId,\n category: categoryList.map((c: any) => c.key).join(','),\n })\n .then(data => {\n setImages(data.data)\n })\n .catch(e => {\n // no-op\n })\n }\n\n useEffect(() => {\n if (!categoryList) return\n getCategoryImageCount()\n }, [initCarId])\n\n const serverRenderRef = useRef(true)\n\n function getData(offset: number, direction?: string) {\n if (hasSendRequest) return\n let cData = cacheData.get(`${initCategory}-${initColor}-${initCarId}`)\n if (cData && cData.offsets.indexOf(offset) !== -1) {\n setData(cData.data)\n setHasInit(true)\n setDataRange(get(cData, 'offsets') || [offset])\n } else {\n hasSendRequest = true\n fetchList({\n seriesId,\n color: initColor,\n offset,\n category: initCategory,\n carId: initCarId,\n })\n .then(newData => {\n if (cData) {\n const { offsets, data } = cData\n offsets.push(offset)\n if (!newData.paging.has_more) {\n offsets.push(-1) // 缓存添加标记位,表示后面已经没有数据了\n }\n if (direction === 'left') {\n data.list = newData.list.concat(data.list)\n } else {\n data.list = data.list.concat(newData.list)\n }\n } else {\n cacheData.set(`${initCategory}-${initColor}-${initCarId}`, {\n offsets: [offset],\n data: newData,\n })\n }\n cData = cacheData.get(`${initCategory}-${initColor}-${initCarId}`)\n\n if (serverRenderRef.current) {\n serverRenderRef.current = false\n } else {\n setData(get(cData, 'data') || newData)\n }\n setHasInit(true)\n setDataRange(get(cData, 'offsets') || [])\n if (direction === 'left') {\n setShouldMove(false)\n setDefIndex(defIndex + 30)\n setShouldMove(true)\n }\n setCanLoadData(true)\n hasSendRequest = false\n })\n .catch(e => {\n // no-op\n setHasInit(true)\n })\n }\n }\n\n // const colors = useMemo(() => {\n // return categoryList?.find(ele => ele.key === initCategory)?.filter?.color || []\n // }, [initCategory, categoryList])\n\n // 获取更新数据\n useEffect(() => {\n if (first) return\n getData(0)\n }, [initColor, seriesId, initCategory, initCarId])\n\n useEffect(() => {\n first = false\n getData(Math.floor(initIndex / 30) * 30)\n fetchCategoryList(seriesId)\n .then(data => {\n categoryList = data\n getCategoryImageCount()\n\n // 获取当前特性下标\n let current = 0\n for (const index in categoryList) {\n if (\n get(categoryList, `${[index]}.key`) === initCategory ||\n get(categoryList, `${[index]}.text`) === initCategory\n ) {\n current = parseInt(index, 10)\n break\n }\n }\n\n // 获取车型列表\n const list = get(categoryList[current], 'filter.car', []).map(\n (item: CategoryCarList) => {\n if (!item.car_list.length) {\n return { value: '', text: item.category_text }\n } else {\n return {\n label: item.category_text,\n // eslint-disable-next-line max-nested-callbacks\n options: item.car_list.map((carItem: CarInfo) => ({\n value: carItem.car_id,\n text: carItem.car_text,\n })),\n }\n }\n }\n )\n setCategoryOptions(list)\n })\n .catch(e => {\n // no-op\n })\n }, [])\n\n function loadMoreData(direction: string) {\n const cData = cacheData.get(`${initCategory}-${initColor}-${initCarId}`)\n const offset =\n direction === 'left'\n ? dataRange[0] - 30\n : dataRange[dataRange.length - 1] === -1\n ? -1\n : dataRange[dataRange.length - 1] + 30\n if (\n (!offset && offset !== 0) ||\n offset < 0 ||\n (cData && cData.offsets.indexOf(offset) !== -1)\n ) {\n return\n }\n getData(offset, direction)\n }\n\n const car_name = useMemo(() => {\n const carInfo = carsData?.list?.find(\n ele => String(ele?.info?.car_id) === String(initCarId)\n )\n if (carInfo) {\n return `${carInfo?.info?.year ? `${carInfo?.info?.year}年款` : ''} ${\n carInfo?.info?.car_name\n }`\n }\n return ''\n }, [carsData, initCarId])\n\n const color_name = useMemo(() => {\n return carsData?.list.find(\n ele =>\n String(ele.info?.color)?.toUpperCase() ===\n `#${initColor.split('_')[0]}`?.toUpperCase()\n )?.info?.color_name\n }, [carsData, initColor])\n\n const categoryText = useMemo(() => {\n return categoryListData?.find(ele => ele.key === initCategory)?.text\n }, [categoryListData, data])\n\n const renderHeaderTDK = () => {\n const brandName = seriesInfo?.brand_name\n const seriesName = seriesInfo?.name\n const pageIndex = defIndex + 1\n\n let title = `${brandName}_${seriesName}_${categoryText}${\n color_name ? `_${color_name}` : ''\n }_懂车帝`\n let keywords = `${brandName}, ${seriesName},${categoryText}${\n color_name ? `,${color_name}` : ''\n }`\n let description = `懂车帝提供最新最全的《${seriesName}》汽车图片大全,包括《${seriesName}》《${categoryText}》图片等,想了解更多《${car_name ||\n seriesName}》《${categoryText}》汽车图片尽在懂车帝。`\n\n if (car_name) {\n title = `${car_name}_${categoryText}_${pageIndex}/${imageData?.[initCategory]}张图片_汽车图片大全_懂车帝`\n keywords = `${car_name},${car_name}${categoryText},汽车图片大全`\n description = `懂车帝为您提供${car_name}高清图片大全,有车身外观、车舱内饰、空间细节等图片。看${car_name}汽车图片,就上懂车帝。`\n }\n if (pageIndex > 1) {\n description += `您当前浏览的是第${pageIndex}张。`\n }\n\n // 选择车型\n return (\n <Head\n title={title}\n keywords={keywords}\n description={description}\n canonical={`https://www.dongchedi.com${asPath}`}\n />\n )\n }\n\n return (\n <>\n {renderHeaderTDK()}\n <div className=\"image-detail\">\n <div className=\"body-container\">\n <header>\n <div>\n <Breadcrumb\n path={[\n { name: '首页', href: '/home', as: '/' },\n { name: seriesInfo?.brand_name, href: '/auto', as: '/auto' },\n {\n name: seriesInfo?.name,\n href: `/auto/series?seriesId=${seriesId}`,\n as: `/auto/series/${seriesId}`,\n },\n {\n name: '实拍大图',\n href: `/auto/images/list?seriesId=${seriesId}`,\n as: `/auto/series/${seriesId}/images`,\n },\n { name: '图片详情' },\n ]}\n className={'inverse-color'}\n hideLine\n />\n </div>\n <Select\n className=\"search-select\"\n value={initCarId}\n color={initColor}\n category={initCategory}\n seriesId={seriesId}\n defaultText=\"不限车型\"\n options={categoryOptions}\n onChange={({ value, text }) => {\n sendTeaCommEvent('click_series_style_filter', {\n car_series_id: seriesId,\n car_style_id: value,\n car_style_name: text,\n })\n router.push(\n `/auto/series/${seriesId}/images/${initCategory ||\n 'x'}-${value || 'x'}-x-x`\n )\n }}\n />\n </header>\n <section>\n <ImageRidingLantern\n data={data as IData}\n hasInit={hasInit}\n defIndex={defIndex}\n setDefIndex={setDefIndex}\n loadMoreData={loadMoreData}\n seriesId={seriesId}\n carId={initCarId}\n color={initColor}\n category={initCategory}\n canLoadData={canLoadData}\n shouldMove={shouldMove}\n />\n <Aside\n price={\n data?.list?.[defIndex] && data?.list?.[defIndex]?.info?.price\n }\n seriesId={seriesId}\n carId={initCarId}\n color={initColor}\n category={initCategory}\n list={categoryList}\n categoryImages={categoryImages}\n />\n </section>\n </div>\n <footer>\n <FooterStatement />\n </footer>\n </div>\n <style jsx>\n {`\n .image-detail {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n min-width: 1200px;\n width: 100%;\n min-height: calc(100% + 80px);\n font-family: PingFangSC;\n background-color: #000000;\n }\n .body-container {\n width: 1190px;\n height: 100%;\n margin-bottom: 80px;\n }\n header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 60px;\n margin-right: 122px;\n }\n section {\n display: flex;\n justify-content: space-between;\n }\n footer {\n width: 100%;\n align-self: flex-end;\n }\n header :global(.search-select) {\n text-align: left;\n width: 340px;\n height: 36px;\n font-size: 14px;\n }\n header :global(.search-select .text) {\n color: #fff;\n }\n header :global(.search-select .list) {\n color: #1a1a1a;\n }\n header :global(.icon-up-arrow-ic) {\n color: #fff;\n }\n .image-detail .statement {\n background: rgba(248, 248, 248, 0.1);\n }\n .image-detail .hide-line,\n .image-detail .hide-line span {\n color: #fff;\n }\n `}\n </style>\n </>\n )\n}\n\nImageDetail.getInitialProps = async ({ query, req, asPath }: any) => {\n let seriesInfo\n let carsData\n const category =\n query?.category === 'x' || !query?.category ? 'wg' : query?.category\n const carId = Number(query?.carId) || 0\n const index = Number(query?.index) || 0\n const color = query?.color !== 'x' && query?.color ? query?.color : ''\n const seriesId = query?.seriesId\n\n try {\n const data = (\n await Promise.allSettled([\n fetchSeriesInfo(seriesId, req),\n fetchList({\n seriesId,\n color,\n offset: Math.floor(index / 30) * 30,\n category,\n carId,\n }),\n fetchCategoryList(seriesId),\n ])\n ).map(d => (d.status === 'fulfilled' ? d.value : null))\n\n const imageData = await fetchCategoryImageCount({\n seriesId,\n carId,\n category: data?.[2]?.map((c: any) => c.key).join(','),\n })\n return {\n ...query,\n seriesInfo: data[0],\n carsData: data[1],\n categoryListData: data[2],\n imageData: imageData?.data,\n initCategory: category,\n asPath,\n _pageType: isNewVersion(req?._isNewVersion) ? 'full auto-nav' : '',\n }\n } catch (error) {\n console.error('[Series.getInitialProps]', error)\n return {\n ...query,\n seriesInfo,\n carsData,\n initCategory: category,\n asPath,\n _pageType: isNewVersion(req?._isNewVersion) ? 'full auto-nav' : '',\n }\n }\n}\n\nexport default ImageDetail\n","import ImageDetail from 'Pages/auto/images/detail/home'\n\nexport default ImageDetail\n","/* 当前位置路径 */\nimport React from 'react'\nimport classnames from 'classnames'\nimport Link from 'next/link'\n\nimport getLinkHref from 'lib/get-link-href'\n\ninterface IProps {\n /* 当前页面路径 */\n path: {\n [prop: string]: string\n }[]\n hideLine?: boolean\n style?: React.CSSProperties\n className?: string\n handleCrumbClick?: (path: { [prop: string]: string }) => void\n}\n\nexport default function Breadcrumb({\n path,\n hideLine = false,\n style,\n className,\n handleCrumbClick,\n}: IProps) {\n return (\n <div style={style} className={className}>\n <p\n className={classnames({\n 'hide-line': hideLine,\n })}\n >\n <span className=\"pos\">当前位置:</span>\n {path.map(\n (\n text: {\n [prop: string]: string\n },\n index: number\n ) => (\n <span\n key={text.name}\n className={classnames({\n 'pos-item': true,\n icon: index !== path.length - 1,\n 'icon-arrow-ic-r': index !== 0,\n })}\n >\n {text.href && text.as ? (\n <Link href={text.href} as={getLinkHref(text.as)}>\n <a\n target=\"_blank\"\n onClick={() =>\n typeof handleCrumbClick === 'function' &&\n handleCrumbClick(text)\n }\n >\n {text.name}\n </a>\n </Link>\n ) : (\n text.name\n )}\n </span>\n )\n )}\n </p>\n <style jsx>\n {`\n .pos {\n font-size: 16px;\n color: #999999;\n }\n p.hide-line {\n border-bottom: 0;\n }\n div {\n width: 100%;\n height: 60px;\n line-height: 60px;\n }\n p {\n font-size: 16px;\n height: 100%;\n color: #999;\n border-bottom: 1px solid #ededed;\n }\n span {\n color: #1a1a1a;\n }\n .icon-arrow-ic-r {\n margin-top: -2px;\n }\n .icon-arrow-ic-r::before {\n margin: 0 8px;\n vertical-align: middle;\n height: 20px;\n line-height: 20px;\n }\n .inverse-color .pos-item {\n color: #ffffff;\n }\n `}\n </style>\n </div>\n )\n}\n","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.on = on;\nexports.one = one;\nexports.off = off;\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nfunction on(el, eventName, callback, opts) {\n var supportsPassive = false;\n var passive = true;\n\n if (opts) {\n passive = opts.passive;\n }\n\n try {\n var _opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n\n window.addEventListener('test', null, _opts);\n } catch (e) {\n return null;\n }\n\n if (el.addEventListener) {\n el.addEventListener(eventName, callback, supportsPassive ? {\n passive: passive\n } : false);\n } else if (el.attachEvent) {\n el.attachEvent(\"on\".concat(eventName), callback);\n }\n\n return callback;\n}\n\nfunction one(el, eventName, callback, opts) {\n var handler = on(el, eventName, function (e) {\n callback.call(el, e || window.event);\n off(el, eventName, handler);\n }, opts);\n return handler;\n}\n\nfunction off(el, eventName, callback) {\n if (el.removeEventListener) {\n el.removeEventListener(eventName, callback);\n } else if (el.detachEvent) {\n el.detachEvent(\"on\".concat(eventName), callback);\n }\n}","import React, { Component } from 'react'\n\nconst isServer = typeof window === 'undefined'\n\ntype State = JSX.Element[] | undefined\n\ntype SideEffectProps = {\n reduceComponentsToState: <T>(\n components: Array<React.ReactElement<any>>,\n props: T\n ) => State\n handleStateChange?: (state: State) => void\n headManager: any\n inAmpMode?: boolean\n}\n\nexport default class extends Component<SideEffectProps> {\n private _hasHeadManager: boolean\n\n emitChange = (): void => {\n if (this._hasHeadManager) {\n this.props.headManager.updateHead(\n this.props.reduceComponentsToState(\n [...this.props.headManager.mountedInstances],\n this.props\n )\n )\n }\n }\n\n constructor(props: any) {\n super(props)\n this._hasHeadManager =\n this.props.headManager && this.props.headManager.mountedInstances\n\n if (isServer && this._hasHeadManager) {\n this.props.headManager.mountedInstances.add(this)\n this.emitChange()\n }\n }\n componentDidMount() {\n if (this._hasHeadManager) {\n this.props.headManager.mountedInstances.add(this)\n }\n this.emitChange()\n }\n componentDidUpdate() {\n this.emitChange()\n }\n componentWillUnmount() {\n if (this._hasHeadManager) {\n this.props.headManager.mountedInstances.delete(this)\n }\n this.emitChange()\n }\n\n render() {\n return null\n }\n}\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","/**\n * 获取Link组件的href值,方便线上测试\n */\nexport default (path: string) => {\n const prefixer = process.env.NODE_ENV === 'production' ? '' : ''\n // const prefixer = '/test'\n return prefixer + path\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","module.exports = require('./dist/next-server/lib/head')\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","import React from 'react'\n\nexport const AmpStateContext: React.Context<any> = React.createContext({})\n\nif (process.env.NODE_ENV !== 'production') {\n AmpStateContext.displayName = 'AmpStateContext'\n}\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/auto/images/detail\",\n function () {\n return require(\"private-next-pages/auto/images/detail.tsx\");\n }\n ]);\n ","import React from 'react'\nimport Head from 'next/head'\n\nimport {\n DEFAULT_ARTICLE_KEYWORDS,\n DEFAULT_ARTICLE_DESCRIPTION,\n} from 'Constants/index'\n\ninterface IProps {\n title?: string\n keywords?: string\n description?: string\n canonical?: string\n}\n\nexport default React.memo(\n ({ title, keywords, description, canonical }: IProps) => (\n <Head>\n <title key=\"title\">{title}\n \n \n \n {canonical ? : ''}\n \n )\n)\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $findIndex = require('../internals/array-iteration').findIndex;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND_INDEX = 'findIndex';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);\n\n// Shouldn't skip holes\nif (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.findIndex` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.findindex\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND_INDEX);\n"],"sourceRoot":""}