{"version":3,"sources":["webpack:///./src/components/StickyResponsiveSidebar/StickyResponsiveSidebar.js","webpack:///./src/utils/isItemActive.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/is-array.js","webpack:///./src/components/MarkdownHeader/MarkdownHeader.js","webpack:///./node_modules/gatsby/node_modules/core-js/internals/array-species-create.js","webpack:///./src/components/StickyResponsiveSidebar/index.js","webpack:///./src/templates/components/Sidebar/index.js","webpack:///./src/templates/components/Sidebar/ScrollSyncSection.js","webpack:///./node_modules/slugify/slugify.js","webpack:///./src/utils/createLink.js","webpack:///./src/templates/components/ChevronSvg/index.js","webpack:///./src/utils/findSectionForPath.js","webpack:///./src/components/MarkdownHeader/index.js","webpack:///./node_modules/gatsby/node_modules/core-js/modules/es.array.find.js","webpack:///./src/templates/components/Sidebar/Section.js","webpack:///./src/utils/slugify.js","webpack:///./src/templates/components/Sidebar/Sidebar.js"],"names":["StickyResponsiveSidebar","props","_openNavMenu","setState","open","state","_closeNavMenu","render","this","smallScreenSidebarStyles","top","left","bottom","right","position","backgroundColor","colors","white","zIndex","height","overflowY","WebkitOverflowScrolling","pointerEvents","iconOffset","menuOpacity","menuOffset","style","opacity","transition","css","media","lessThan","greaterThan","marginRight","paddingRight","between","size","borderLeft","transform","marginTop","closeParentMenu","darker","color","brand","display","cursor","borderRadius","border","boxShadow","onClick","role","tabIndex","flexDirection","alignItems","overflow","width","alignSelf","cssProps","Component","isItemActive","location","item","hash","href","index","indexOf","substr","toAnchor","id","includes","pathname","split","slice","slugify","bind","IndexedObject","toObject","toLength","arraySpeciesCreate","push","createMethod","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","that","specificCreate","value","result","O","self","boundFunction","length","create","target","undefined","call","module","exports","forEach","map","filter","some","every","find","findIndex","classof","Array","isArray","arg","MarkdownHeader","title","type","halign","valign","dark","marginBottom","fonts","header","isObject","SPECIES","wellKnownSymbol","originalArray","C","constructor","prototype","Sidebar","ScrollSyncSection","context","activeItemId","itemTopOffsets","calculateItemTopOffsets","handleResize","handleScroll","componentDidMount","window","addEventListener","componentWillUnmount","removeEventListener","section","itemIds","_getItemIds","items","_getElementTopOffsetsById","itemTopOffset","i","nextItemTopOffset","scrollY","offsetTop","isScrollSync","subItemIds","subitems","subitem","reduce","prev","current","concat","ids","element","document","getElementById","factory","charMap","JSON","parse","locales","replace","string","options","Error","locale","replacement","slug","ch","remove","trim","RegExp","lower","toLowerCase","strict","extend","customMap","key","createLinkBlog","isActive","linkCss","activeLinkCss","to","activeLinkBefore","createLinkCommunity","rel","verticalAlign","marginLeft","subtle","createLinkDocs","directory","createLinkTutorial","onLinkClick","fontWeight","paddingLeft","text","borderBottom","ChevronSvg","viewBox","version","x","y","d","fill","findSectionForPath","sections","activeSection","slugId","$","$find","addToUnscopables","arrayMethodUsesToLength","SKIPS_HOLES","USES_TO_LENGTH","proto","forced","arguments","Section","uid","Math","random","createLink","onSectionTitleClick","aria-expanded","aria-controls","fontFeatureSettings","isOrdered","React","filename","defaultActiveSection","enableScrollSync","sectionList","SectionComponent","direction","paddingBottom","_toggleSection"],"mappings":"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","file":"1ed44328c19c4a4d76fd533f20afa4a4705f4d6f-c6cafa3cb9fa298ed729.js","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\nimport Container from 'components/Container';\nimport React, {Component} from 'react';\nimport Sidebar from 'templates/components/Sidebar';\nimport {colors, media} from 'theme';\nimport ChevronSvg from 'templates/components/ChevronSvg';\n\ntype State = {\n open: boolean,\n};\n\ntype Props = {\n enableScrollSync?: boolean,\n createLink: Function, // TODO: Add better flow type once we Flow-type createLink\n defaultActiveSection: string,\n location: Location,\n sectionList: Array, // TODO: Add better flow type once we have the Section component\n};\n\nclass StickyResponsiveSidebar extends Component {\n constructor(props: Props) {\n super(props);\n\n this.state = {\n open: false,\n };\n }\n\n _openNavMenu = () => {\n this.setState({open: !this.state.open});\n };\n\n _closeNavMenu = () => {\n this.setState({open: false});\n };\n\n render() {\n const {open} = this.state;\n const smallScreenSidebarStyles = {\n top:\n 'calc(var(--survey-banner-height-small) + var(--social-banner-height-small))',\n left: 0,\n bottom: 0,\n right: 0,\n position: 'fixed',\n backgroundColor: colors.white,\n zIndex: 2,\n height: '100vh',\n overflowY: 'auto',\n WebkitOverflowScrolling: 'touch',\n pointerEvents: open ? 'auto' : 'none',\n };\n\n const smallScreenBottomBarStyles = {\n display: 'inline-block',\n };\n\n const iconOffset = open ? 8 : -4;\n const menuOpacity = open ? 1 : 0;\n const menuOffset = open ? 0 : 40;\n\n // TODO: role and aria props for 'close' button?\n return (\n
\n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nexport default StickyResponsiveSidebar;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\nimport slugify from 'utils/slugify';\n\nconst toAnchor = (href: string = ''): string => {\n const index = href.indexOf('#');\n return index >= 0 ? href.substr(index) : '';\n};\n\n// TODO Account for redirect_from URLs somehow; they currently won't match.\n// This comment should not be true anymore since we're using 300 redirects\n\ntype Item = {\n id: string,\n href: string,\n};\n\nconst isItemActive = (location: Location, item: Item): boolean => {\n if (location.hash) {\n if (item.href) {\n return location.hash === toAnchor(item.href);\n }\n } else if (item.id.includes('html')) {\n return location.pathname.includes(item.id);\n }\n const slugId = location.pathname.split('/').slice(-1)[0];\n return slugId === slugify(item.id);\n};\n\nexport default isItemActive;\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\nimport Flex from 'components/Flex';\n// $FlowFixMe Update Flow\nimport React from 'react';\nimport {colors, fonts, media} from 'theme';\n\nconst MarkdownHeader = ({title}: {title: string}) => {\n return (\n \n \n {title}\n \n \n );\n};\n\nexport default MarkdownHeader;\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n */\n\nimport StickyResponsiveSidebar from './StickyResponsiveSidebar';\n\nexport default StickyResponsiveSidebar;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n */\n\nimport Sidebar from './Sidebar';\n\nexport default Sidebar;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the CC-BY-4.0 license found\n * in the LICENSE file in the root directory of this source tree.\n *\n * @emails react-core\n */\n\nimport React, {Component} from 'react';\nimport Section from './Section';\n\nclass ScrollSyncSection extends Component {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n activeItemId: '',\n itemTopOffsets: [],\n };\n\n this.calculateItemTopOffsets = this.calculateItemTopOffsets.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.handleScroll = this.handleScroll.bind(this);\n }\n\n componentDidMount() {\n this.calculateItemTopOffsets();\n\n window.addEventListener('resize', this.handleResize);\n window.addEventListener('scroll', this.handleScroll);\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.handleResize);\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n calculateItemTopOffsets() {\n const {section} = this.props;\n\n const itemIds = _getItemIds(section.items);\n this.setState({\n itemTopOffsets: _getElementTopOffsetsById(itemIds),\n });\n }\n\n handleResize() {\n this.calculateItemTopOffsets();\n this.handleScroll();\n }\n\n handleScroll() {\n const {itemTopOffsets} = this.state;\n const item = itemTopOffsets.find((itemTopOffset, i) => {\n const nextItemTopOffset = itemTopOffsets[i + 1];\n if (nextItemTopOffset) {\n return (\n window.scrollY >= itemTopOffset.offsetTop &&\n window.scrollY < nextItemTopOffset.offsetTop\n );\n }\n return window.scrollY >= itemTopOffset.offsetTop;\n });\n this.setState({\n activeItemId: item ? item.id : '',\n });\n }\n\n render() {\n const {activeItemId} = this.state;\n return
;\n }\n}\n\nconst _getItemIds = items =>\n items\n .map(item => {\n let subItemIds = [];\n if (item.subitems) {\n subItemIds = item.subitems.map(subitem => subitem.id);\n }\n return [item.id, ...subItemIds];\n })\n .reduce((prev, current) => prev.concat(current));\n\nconst _getElementTopOffsetsById = ids =>\n ids\n .map(id => {\n const element = document.getElementById(id);\n if (!element) {\n return null;\n }\n return {\n id,\n offsetTop: element.offsetTop,\n };\n })\n .filter(item => item);\n\nexport default ScrollSyncSection;\n",";\n\n(function (name, root, factory) {\n if (typeof exports === 'object') {\n module.exports = factory();\n module.exports['default'] = factory();\n }\n /* istanbul ignore next */\n else if (typeof define === 'function' && define.amd) {\n define(factory);\n } else {\n root[name] = factory();\n }\n})('slugify', this, function () {\n var charMap = JSON.parse('{\"$\":\"dollar\",\"%\":\"percent\",\"&\":\"and\",\"<\":\"less\",\">\":\"greater\",\"|\":\"or\",\"¢\":\"cent\",\"£\":\"pound\",\"¤\":\"currency\",\"¥\":\"yen\",\"©\":\"(c)\",\"ª\":\"a\",\"®\":\"(r)\",\"º\":\"o\",\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"Æ\":\"AE\",\"Ç\":\"C\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"Ð\":\"D\",\"Ñ\":\"N\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"Ý\":\"Y\",\"Þ\":\"TH\",\"ß\":\"ss\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"æ\":\"ae\",\"ç\":\"c\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"ð\":\"d\",\"ñ\":\"n\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"ý\":\"y\",\"þ\":\"th\",\"ÿ\":\"y\",\"Ā\":\"A\",\"ā\":\"a\",\"Ă\":\"A\",\"ă\":\"a\",\"Ą\":\"A\",\"ą\":\"a\",\"Ć\":\"C\",\"ć\":\"c\",\"Č\":\"C\",\"č\":\"c\",\"Ď\":\"D\",\"ď\":\"d\",\"Đ\":\"DJ\",\"đ\":\"dj\",\"Ē\":\"E\",\"ē\":\"e\",\"Ė\":\"E\",\"ė\":\"e\",\"Ę\":\"e\",\"ę\":\"e\",\"Ě\":\"E\",\"ě\":\"e\",\"Ğ\":\"G\",\"ğ\":\"g\",\"Ģ\":\"G\",\"ģ\":\"g\",\"Ĩ\":\"I\",\"ĩ\":\"i\",\"Ī\":\"i\",\"ī\":\"i\",\"Į\":\"I\",\"į\":\"i\",\"İ\":\"I\",\"ı\":\"i\",\"Ķ\":\"k\",\"ķ\":\"k\",\"Ļ\":\"L\",\"ļ\":\"l\",\"Ľ\":\"L\",\"ľ\":\"l\",\"Ł\":\"L\",\"ł\":\"l\",\"Ń\":\"N\",\"ń\":\"n\",\"Ņ\":\"N\",\"ņ\":\"n\",\"Ň\":\"N\",\"ň\":\"n\",\"Ō\":\"O\",\"ō\":\"o\",\"Ő\":\"O\",\"ő\":\"o\",\"Œ\":\"OE\",\"œ\":\"oe\",\"Ŕ\":\"R\",\"ŕ\":\"r\",\"Ř\":\"R\",\"ř\":\"r\",\"Ś\":\"S\",\"ś\":\"s\",\"Ş\":\"S\",\"ş\":\"s\",\"Š\":\"S\",\"š\":\"s\",\"Ţ\":\"T\",\"ţ\":\"t\",\"Ť\":\"T\",\"ť\":\"t\",\"Ũ\":\"U\",\"ũ\":\"u\",\"Ū\":\"u\",\"ū\":\"u\",\"Ů\":\"U\",\"ů\":\"u\",\"Ű\":\"U\",\"ű\":\"u\",\"Ų\":\"U\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"ź\":\"z\",\"Ż\":\"Z\",\"ż\":\"z\",\"Ž\":\"Z\",\"ž\":\"z\",\"ƒ\":\"f\",\"Ơ\":\"O\",\"ơ\":\"o\",\"Ư\":\"U\",\"ư\":\"u\",\"Lj\":\"LJ\",\"lj\":\"lj\",\"Nj\":\"NJ\",\"nj\":\"nj\",\"Ș\":\"S\",\"ș\":\"s\",\"Ț\":\"T\",\"ț\":\"t\",\"˚\":\"o\",\"Ά\":\"A\",\"Έ\":\"E\",\"Ή\":\"H\",\"Ί\":\"I\",\"Ό\":\"O\",\"Ύ\":\"Y\",\"Ώ\":\"W\",\"ΐ\":\"i\",\"Α\":\"A\",\"Β\":\"B\",\"Γ\":\"G\",\"Δ\":\"D\",\"Ε\":\"E\",\"Ζ\":\"Z\",\"Η\":\"H\",\"Θ\":\"8\",\"Ι\":\"I\",\"Κ\":\"K\",\"Λ\":\"L\",\"Μ\":\"M\",\"Ν\":\"N\",\"Ξ\":\"3\",\"Ο\":\"O\",\"Π\":\"P\",\"Ρ\":\"R\",\"Σ\":\"S\",\"Τ\":\"T\",\"Υ\":\"Y\",\"Φ\":\"F\",\"Χ\":\"X\",\"Ψ\":\"PS\",\"Ω\":\"W\",\"Ϊ\":\"I\",\"Ϋ\":\"Y\",\"ά\":\"a\",\"έ\":\"e\",\"ή\":\"h\",\"ί\":\"i\",\"ΰ\":\"y\",\"α\":\"a\",\"β\":\"b\",\"γ\":\"g\",\"δ\":\"d\",\"ε\":\"e\",\"ζ\":\"z\",\"η\":\"h\",\"θ\":\"8\",\"ι\":\"i\",\"κ\":\"k\",\"λ\":\"l\",\"μ\":\"m\",\"ν\":\"n\",\"ξ\":\"3\",\"ο\":\"o\",\"π\":\"p\",\"ρ\":\"r\",\"ς\":\"s\",\"σ\":\"s\",\"τ\":\"t\",\"υ\":\"y\",\"φ\":\"f\",\"χ\":\"x\",\"ψ\":\"ps\",\"ω\":\"w\",\"ϊ\":\"i\",\"ϋ\":\"y\",\"ό\":\"o\",\"ύ\":\"y\",\"ώ\":\"w\",\"Ё\":\"Yo\",\"Ђ\":\"DJ\",\"Є\":\"Ye\",\"І\":\"I\",\"Ї\":\"Yi\",\"Ј\":\"J\",\"Љ\":\"LJ\",\"Њ\":\"NJ\",\"Ћ\":\"C\",\"Џ\":\"DZ\",\"А\":\"A\",\"Б\":\"B\",\"В\":\"V\",\"Г\":\"G\",\"Д\":\"D\",\"Е\":\"E\",\"Ж\":\"Zh\",\"З\":\"Z\",\"И\":\"I\",\"Й\":\"J\",\"К\":\"K\",\"Л\":\"L\",\"М\":\"M\",\"Н\":\"N\",\"О\":\"O\",\"П\":\"P\",\"Р\":\"R\",\"С\":\"S\",\"Т\":\"T\",\"У\":\"U\",\"Ф\":\"F\",\"Х\":\"H\",\"Ц\":\"C\",\"Ч\":\"Ch\",\"Ш\":\"Sh\",\"Щ\":\"Sh\",\"Ъ\":\"U\",\"Ы\":\"Y\",\"Ь\":\"\",\"Э\":\"E\",\"Ю\":\"Yu\",\"Я\":\"Ya\",\"а\":\"a\",\"б\":\"b\",\"в\":\"v\",\"г\":\"g\",\"д\":\"d\",\"е\":\"e\",\"ж\":\"zh\",\"з\":\"z\",\"и\":\"i\",\"й\":\"j\",\"к\":\"k\",\"л\":\"l\",\"м\":\"m\",\"н\":\"n\",\"о\":\"o\",\"п\":\"p\",\"р\":\"r\",\"с\":\"s\",\"т\":\"t\",\"у\":\"u\",\"ф\":\"f\",\"х\":\"h\",\"ц\":\"c\",\"ч\":\"ch\",\"ш\":\"sh\",\"щ\":\"sh\",\"ъ\":\"u\",\"ы\":\"y\",\"ь\":\"\",\"э\":\"e\",\"ю\":\"yu\",\"я\":\"ya\",\"ё\":\"yo\",\"ђ\":\"dj\",\"є\":\"ye\",\"і\":\"i\",\"ї\":\"yi\",\"ј\":\"j\",\"љ\":\"lj\",\"њ\":\"nj\",\"ћ\":\"c\",\"ѝ\":\"u\",\"џ\":\"dz\",\"Ґ\":\"G\",\"ґ\":\"g\",\"Ғ\":\"GH\",\"ғ\":\"gh\",\"Қ\":\"KH\",\"қ\":\"kh\",\"Ң\":\"NG\",\"ң\":\"ng\",\"Ү\":\"UE\",\"ү\":\"ue\",\"Ұ\":\"U\",\"ұ\":\"u\",\"Һ\":\"H\",\"һ\":\"h\",\"Ә\":\"AE\",\"ә\":\"ae\",\"Ө\":\"OE\",\"ө\":\"oe\",\"฿\":\"baht\",\"ა\":\"a\",\"ბ\":\"b\",\"გ\":\"g\",\"დ\":\"d\",\"ე\":\"e\",\"ვ\":\"v\",\"ზ\":\"z\",\"თ\":\"t\",\"ი\":\"i\",\"კ\":\"k\",\"ლ\":\"l\",\"მ\":\"m\",\"ნ\":\"n\",\"ო\":\"o\",\"პ\":\"p\",\"ჟ\":\"zh\",\"რ\":\"r\",\"ს\":\"s\",\"ტ\":\"t\",\"უ\":\"u\",\"ფ\":\"f\",\"ქ\":\"k\",\"ღ\":\"gh\",\"ყ\":\"q\",\"შ\":\"sh\",\"ჩ\":\"ch\",\"ც\":\"ts\",\"ძ\":\"dz\",\"წ\":\"ts\",\"ჭ\":\"ch\",\"ხ\":\"kh\",\"ჯ\":\"j\",\"ჰ\":\"h\",\"Ẁ\":\"W\",\"ẁ\":\"w\",\"Ẃ\":\"W\",\"ẃ\":\"w\",\"Ẅ\":\"W\",\"ẅ\":\"w\",\"ẞ\":\"SS\",\"Ạ\":\"A\",\"ạ\":\"a\",\"Ả\":\"A\",\"ả\":\"a\",\"Ấ\":\"A\",\"ấ\":\"a\",\"Ầ\":\"A\",\"ầ\":\"a\",\"Ẩ\":\"A\",\"ẩ\":\"a\",\"Ẫ\":\"A\",\"ẫ\":\"a\",\"Ậ\":\"A\",\"ậ\":\"a\",\"Ắ\":\"A\",\"ắ\":\"a\",\"Ằ\":\"A\",\"ằ\":\"a\",\"Ẳ\":\"A\",\"ẳ\":\"a\",\"Ẵ\":\"A\",\"ẵ\":\"a\",\"Ặ\":\"A\",\"ặ\":\"a\",\"Ẹ\":\"E\",\"ẹ\":\"e\",\"Ẻ\":\"E\",\"ẻ\":\"e\",\"Ẽ\":\"E\",\"ẽ\":\"e\",\"Ế\":\"E\",\"ế\":\"e\",\"Ề\":\"E\",\"ề\":\"e\",\"Ể\":\"E\",\"ể\":\"e\",\"Ễ\":\"E\",\"ễ\":\"e\",\"Ệ\":\"E\",\"ệ\":\"e\",\"Ỉ\":\"I\",\"ỉ\":\"i\",\"Ị\":\"I\",\"ị\":\"i\",\"Ọ\":\"O\",\"ọ\":\"o\",\"Ỏ\":\"O\",\"ỏ\":\"o\",\"Ố\":\"O\",\"ố\":\"o\",\"Ồ\":\"O\",\"ồ\":\"o\",\"Ổ\":\"O\",\"ổ\":\"o\",\"Ỗ\":\"O\",\"ỗ\":\"o\",\"Ộ\":\"O\",\"ộ\":\"o\",\"Ớ\":\"O\",\"ớ\":\"o\",\"Ờ\":\"O\",\"ờ\":\"o\",\"Ở\":\"O\",\"ở\":\"o\",\"Ỡ\":\"O\",\"ỡ\":\"o\",\"Ợ\":\"O\",\"ợ\":\"o\",\"Ụ\":\"U\",\"ụ\":\"u\",\"Ủ\":\"U\",\"ủ\":\"u\",\"Ứ\":\"U\",\"ứ\":\"u\",\"Ừ\":\"U\",\"ừ\":\"u\",\"Ử\":\"U\",\"ử\":\"u\",\"Ữ\":\"U\",\"ữ\":\"u\",\"Ự\":\"U\",\"ự\":\"u\",\"Ỳ\":\"Y\",\"ỳ\":\"y\",\"Ỵ\":\"Y\",\"ỵ\":\"y\",\"Ỷ\":\"Y\",\"ỷ\":\"y\",\"Ỹ\":\"Y\",\"ỹ\":\"y\",\"‘\":\"\\'\",\"’\":\"\\'\",\"“\":\"\\\\\\\"\",\"”\":\"\\\\\\\"\",\"†\":\"+\",\"•\":\"*\",\"…\":\"...\",\"₠\":\"ecu\",\"₢\":\"cruzeiro\",\"₣\":\"french franc\",\"₤\":\"lira\",\"₥\":\"mill\",\"₦\":\"naira\",\"₧\":\"peseta\",\"₨\":\"rupee\",\"₩\":\"won\",\"₪\":\"new shequel\",\"₫\":\"dong\",\"€\":\"euro\",\"₭\":\"kip\",\"₮\":\"tugrik\",\"₯\":\"drachma\",\"₰\":\"penny\",\"₱\":\"peso\",\"₲\":\"guarani\",\"₳\":\"austral\",\"₴\":\"hryvnia\",\"₵\":\"cedi\",\"₸\":\"kazakhstani tenge\",\"₹\":\"indian rupee\",\"₺\":\"turkish lira\",\"₽\":\"russian ruble\",\"₿\":\"bitcoin\",\"℠\":\"sm\",\"™\":\"tm\",\"∂\":\"d\",\"∆\":\"delta\",\"∑\":\"sum\",\"∞\":\"infinity\",\"♥\":\"love\",\"元\":\"yuan\",\"円\":\"yen\",\"﷼\":\"rial\"}');\n var locales = JSON.parse('{\"de\":{\"Ä\":\"AE\",\"ä\":\"ae\",\"Ö\":\"OE\",\"ö\":\"oe\",\"Ü\":\"UE\",\"ü\":\"ue\"},\"vi\":{\"Đ\":\"D\",\"đ\":\"d\"}}');\n\n function replace(string, options) {\n if (typeof string !== 'string') {\n throw new Error('slugify: string argument expected');\n }\n\n options = typeof options === 'string' ? {\n replacement: options\n } : options || {};\n var locale = locales[options.locale] || {};\n var replacement = options.replacement === undefined ? '-' : options.replacement;\n var slug = string.split('') // replace characters based on charMap\n .reduce(function (result, ch) {\n return result + (locale[ch] || charMap[ch] || ch). // remove not allowed characters\n replace(options.remove || /[^\\w\\s$*_+~.()'\"!\\-:@]+/g, '');\n }, '') // trim leading/trailing spaces\n .trim() // convert spaces to replacement character\n // also remove duplicates of the replacement character\n .replace(new RegExp('[\\\\s' + replacement + ']+', 'g'), replacement);\n\n if (options.lower) {\n slug = slug.toLowerCase();\n }\n\n if (options.strict) {\n // remove anything besides letters, numbers, and the replacement char\n slug = slug.replace(new RegExp('[^a-zA-Z0-9' + replacement + ']', 'g'), '') // remove duplicates of the replacement character\n .replace(new RegExp('[\\\\s' + replacement + ']+', 'g'), replacement);\n }\n\n return slug;\n }\n\n replace.extend = function (customMap) {\n for (var key in customMap) {\n charMap[key] = customMap[key];\n }\n };\n\n return replace;\n});","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\nimport {Link} from 'gatsby';\nimport React from 'react';\nimport ExternalLinkSvg from 'templates/components/ExternalLinkSvg';\nimport slugify from 'utils/slugify';\nimport {colors, media} from 'theme';\n\nimport type {Node} from 'react';\n\ntype CreateLinkBaseProps = {\n isActive: boolean,\n item: Object,\n section: Object,\n};\n\nconst createLinkBlog = ({\n isActive,\n item,\n section,\n}: CreateLinkBaseProps): Node => {\n return (\n \n {isActive && }\n {item.title}\n \n );\n};\n\nconst createLinkCommunity = ({\n isActive,\n item,\n section,\n}: CreateLinkBaseProps): Node => {\n if (item.href) {\n return (\n \n {item.title}\n \n \n );\n }\n return createLinkDocs({\n isActive,\n item,\n section,\n });\n};\n\nconst createLinkDocs = ({\n isActive,\n item,\n section,\n}: CreateLinkBaseProps): Node => {\n return (\n \n {isActive && }\n {item.title}\n \n );\n};\n\ntype CreateLinkTutorialProps = {\n onLinkClick: Function,\n} & CreateLinkBaseProps;\n\nconst createLinkTutorial = ({\n isActive,\n item,\n onLinkClick,\n section,\n}: CreateLinkTutorialProps): Node => {\n return (\n \n {isActive && }\n {item.title}\n \n );\n};\n\nconst activeLinkCss = {\n fontWeight: 700,\n};\n\nconst activeLinkBefore = {\n width: 4,\n height: 25,\n borderLeft: `4px solid ${colors.brand}`,\n paddingLeft: 16,\n position: 'absolute',\n left: 0,\n marginTop: -3,\n\n [media.greaterThan('largerSidebar')]: {\n left: 15,\n },\n};\n\nconst linkCss = {\n color: colors.text,\n display: 'inline-block',\n borderBottom: '1px solid transparent',\n transition: 'border 0.2s ease',\n marginTop: 5,\n\n '&:hover': {\n color: colors.subtle,\n },\n};\n\nexport {\n createLinkBlog,\n createLinkCommunity,\n createLinkDocs,\n createLinkTutorial,\n};\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\nimport React from 'react';\n\ntype Props = {\n size: number,\n cssProps: Object,\n};\n\nconst ChevronSvg = ({size = 10, cssProps = {}}: Props) => (\n \n \n \n \n \n);\n\nexport default ChevronSvg;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\nimport slugify from './slugify';\n\n/**\n * Helper method to locate the section containing the current URL/path.\n * This method specifically works with the nav_*.yml format.\n */\n\ntype Item = {\n id: string,\n subitems: Array,\n};\n\ntype Section = {\n items: Array,\n};\n\nconst findSectionForPath = (\n pathname: string,\n sections: Array
,\n): Section | void => {\n let activeSection;\n const slugId = pathname.split('/').slice(-1)[0];\n\n sections.forEach(section => {\n const match = section.items.some(\n item =>\n slugId === slugify(item.id) ||\n (item.subitems &&\n item.subitems.some(subitem => slugId === slugify(subitem.id))),\n );\n if (match) {\n activeSection = section;\n }\n });\n\n return activeSection;\n};\n\nexport default findSectionForPath;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n */\n\nimport MarkdownHeader from './MarkdownHeader';\n\nexport default MarkdownHeader;\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n */\n\nimport React from 'react';\nimport {colors, media} from 'theme';\nimport isItemActive from 'utils/isItemActive';\nimport MetaTitle from '../MetaTitle';\nimport ChevronSvg from '../ChevronSvg';\n\nclass Section extends React.Component {\n state = {uid: ('' + Math.random()).replace(/\\D/g, '')};\n render() {\n const {\n activeItemId,\n createLink,\n isActive,\n isScrollSync,\n location,\n onLinkClick,\n onSectionTitleClick,\n section,\n } = this.props;\n const uid = 'section_' + this.state.uid;\n return (\n
\n \n \n {section.title}\n \n \n \n \n {section.items.map((item, index) => (\n \n {createLink({\n isActive: isScrollSync\n ? activeItemId === item.id\n : isItemActive(location, item),\n item: section.isOrdered\n ? {...item, title: `${index + 1}. ${item.title}`}\n : item,\n location,\n onLinkClick,\n section,\n })}\n\n {item.subitems && (\n
    \n {item.subitems.map(subitem => (\n
  • \n {createLink({\n isActive: isScrollSync\n ? activeItemId === subitem.id\n : isItemActive(location, subitem),\n item: subitem,\n location,\n onLinkClick,\n section,\n })}\n
  • \n ))}\n
\n )}\n \n ))}\n \n
\n );\n }\n}\n\nexport default Section;\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n * @flow\n */\n\nimport slugify from 'slugify';\n\nexport default (string: string, directory?: string): string => {\n const filename = slugify(string) + '.html';\n\n return directory ? `/${directory}/${filename}` : filename;\n};\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * @emails react-core\n */\n\nimport React, {Component} from 'react';\nimport Flex from 'components/Flex';\nimport Section from './Section';\nimport ScrollSyncSection from './ScrollSyncSection';\nimport {media} from 'theme';\n\nclass Sidebar extends Component {\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n activeSection: props.defaultActiveSection,\n };\n }\n\n render() {\n const {\n closeParentMenu,\n createLink,\n enableScrollSync,\n location,\n sectionList,\n } = this.props;\n const {activeSection} = this.state;\n\n const SectionComponent = enableScrollSync ? ScrollSyncSection : Section;\n\n return (\n \n {sectionList.map((section, index) => (\n this._toggleSection(section)}\n section={section}\n />\n ))}\n \n );\n }\n\n _toggleSection(section) {\n this.setState(state => ({\n activeSection: state.activeSection === section ? null : section,\n }));\n }\n}\n\nexport default Sidebar;\n"],"sourceRoot":""}