{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es7.object.entries.js","webpack:///./node_modules/@material-ui/core/TableCell/index.js","webpack:///./node_modules/@material-ui/core/Grid/index.js","webpack:///./node_modules/@material-ui/core/utils/deprecatedPropType.js","webpack:///./node_modules/@material-ui/core/CardContent/index.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/state.js","webpack:///./node_modules/@material-ui/core/Card/index.js","webpack:///./node_modules/linkifyjs/lib/linkify/utils/class.js","webpack:///./node_modules/linkifyjs/lib/linkify.js","webpack:///./node_modules/linkifyjs/lib/linkify/utils/options.js","webpack:///./node_modules/@material-ui/core/Table/index.js","webpack:///./node_modules/@material-ui/core/Grid/Grid.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/parser.js","webpack:///./node_modules/@material-ui/core/TableRow/index.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js","webpack:///./node_modules/@material-ui/core/Card/Card.js","webpack:///./node_modules/linkifyjs/lib/linkify-react.js","webpack:///./node_modules/@material-ui/core/TableCell/TableCell.js","webpack:///./src/components/BestPracticesGrid.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/text.js","webpack:///./node_modules/@material-ui/core/TableBody/TableBody.js","webpack:///./node_modules/@material-ui/core/utils/requirePropFactory.js","webpack:///./node_modules/@material-ui/core/Table/Tablelvl2Context.js","webpack:///./node_modules/@material-ui/core/TableBody/index.js","webpack:///./node_modules/@material-ui/core/CardActionArea/index.js","webpack:///./node_modules/@material-ui/core/CardActionArea/CardActionArea.js","webpack:///./src/components/BestPractice.js","webpack:///./node_modules/linkifyjs/react.js","webpack:///./node_modules/@material-ui/core/Table/Table.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/scanner.js","webpack:///./node_modules/@material-ui/core/Table/TableContext.js","webpack:///./src/config/npo_fields.js","webpack:///./src/templates/npo.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js","webpack:///./node_modules/@material-ui/core/CardContent/CardContent.js","webpack:///./node_modules/@material-ui/core/TableRow/TableRow.js"],"names":["$export","$entries","S","entries","it","_interopRequireDefault","Object","defineProperty","exports","value","enumerable","get","_TableCell","_Grid","_default","validator","reason","_CardContent","__esModule","stateify","TokenState","CharacterState","undefined","_class","BaseState","tClass","this","j","T","prototype","defaultTransition","on","symbol","state","Array","i","length","push","next","item","jump","test","accepts","emit","inherits","character","charOrRegExp","RegExp","token","arguments","constructor","tokenClass","str","start","endToken","defaultToken","len","newStates","nextState","_Card","parent","child","props","extended","create","p","tokenize","scanner","parser","options","find","_interopRequireWildcard","obj","newObj","key","hasOwnProperty","call","isArray","arg","toString","run","type","tokens","filtered","isLink","toObject","_typeof","Symbol","iterator","defaults","defaultProtocol","events","format","noop","formatHref","nl2br","tagName","target","href","validate","ignoreTags","attributes","className","Options","opts","linkAttributes","linkClass","ignoredTags","toUpperCase","val","contains","arr","resolve","toHref","formatted","formattedHref","getObject","check","operator","optionValue","option","_Table","styles","_defineProperty2","_objectWithoutProperties2","_extends2","_react","_classnames","_withStyles","_createBreakpoints","GUTTERS","GRID_SIZES","theme","container","boxSizing","display","flexWrap","width","margin","zeroMinWidth","minWidth","flexDirection","alignItems","alignContent","justifyContent","breakpoint","forEach","spacing","index","concat","padding","generateGutter","keys","reduce","accumulator","globalStyles","size","Math","round","flexBasis","flexGrow","maxWidth","breakpoints","up","generateGrid","Grid","_classNames","classes","classNameProp","Component","component","direction","justify","lg","md","sm","wrap","xl","xs","other","String","defaultProps","createElement","name","TOKENS","State","_state","_multi","MULTI_TOKENS","_text","makeState","S_START","S_PROTOCOL","S_MAILTO","S_PROTOCOL_SLASH","S_PROTOCOL_SLASH_SLASH","S_DOMAIN","S_DOMAIN_DOT","S_TLD","URL","S_TLD_COLON","S_TLD_PORT","S_URL","S_URL_NON_ACCEPTING","S_URL_OPENBRACE","S_URL_OPENBRACKET","S_URL_OPENANGLEBRACKET","S_URL_OPENPAREN","S_URL_OPENBRACE_Q","S_URL_OPENBRACKET_Q","S_URL_OPENANGLEBRACKET_Q","S_URL_OPENPAREN_Q","S_URL_OPENBRACE_SYMS","S_URL_OPENBRACKET_SYMS","S_URL_OPENANGLEBRACKET_SYMS","S_URL_OPENPAREN_SYMS","S_EMAIL_DOMAIN","S_EMAIL_DOMAIN_DOT","S_EMAIL","EMAIL","S_EMAIL_COLON","S_EMAIL_PORT","S_MAILTO_EMAIL","MAILTOEMAIL","S_MAILTO_EMAIL_NON_ACCEPTING","S_LOCALPART","S_LOCALPART_AT","S_LOCALPART_DOT","S_NL","NL","PROTOCOL","MAILTO","SLASH","TLD","DOMAIN","LOCALHOST","NUM","DOT","COLON","qsAccepting","AT","PLUS","POUND","UNDERSCORE","SYM","AMPERSAND","qsNonAccepting","QUERY","PUNCTUATION","CLOSEBRACE","CLOSEBRACKET","CLOSEANGLEBRACKET","CLOSEPAREN","OPENBRACE","OPENBRACKET","OPENANGLEBRACKET","OPENPAREN","localpartAccepting","cursor","multis","textTokens","secondState","multiLength","latestAccepting","sinceAccepts","TEXT","MULTI","slice","_TableRow","createTokenClass","v","_Paper","root","overflow","Card","raised","elevation","_react2","linkify","linkifyReactElement","element","elementId","Children","count","children","apply","elements","linkId","_opts$resolve","attr","stringToElements","isValidElement","newProps","prop","cloneElement","Linkify","_React$Component","instance","Constructor","TypeError","_classCallCheck","self","ReferenceError","_possibleConstructorReturn","subClass","superClass","writable","configurable","setPrototypeOf","__proto__","_inherits","render","_helpers","_colorManipulator","_TableContext","_Tablelvl2Context","verticalAlign","borderBottom","palette","lighten","fade","divider","darken","textAlign","paddingRight","head","color","text","secondary","fontSize","typography","pxToRem","fontWeight","fontWeightMedium","body","primary","fontWeightRegular","footer","numeric","paddingDense","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","TableCell","align","sortDirection","_props$numeric","paddingProp","scopeProp","scope","variant","Consumer","table","tablelvl2","capitalize","ariaSort","withStyles","card","best_practices_elements","best_practices","map","id","title","url","WS","Base","_createTokenClass","TextToken","inheritsToken","contextValue","TableBody","Provider","componentNameInError","createContext","_TableBody","_CardActionArea","_ButtonBase","opacity","action","hoverOpacity","focusVisible","focusHighlight","pointerEvents","position","backgroundColor","top","right","bottom","left","transition","transitions","duration","focusVisibleClassName","minHeight","link","textDecoration","to","module","_classCallCheck2","_createClass2","_possibleConstructorReturn2","_getPrototypeOf3","_inherits2","fontFamily","borderCollapse","borderSpacing","Table","_getPrototypeOf2","_this","_len","args","_key","memoizedContextValue","objectKeys","objectKey","_this$props","useMemo","tlds","split","NUMBERS","ALPHANUM","WHITESPACE","domainStates","S_NUM","S_DOMAIN_HYPHEN","S_WS","partialProtocolFileStates","partialProtocolFtpStates","partialProtocolHttpStates","partialProtocolMailtoStates","S_PROTOCOL_FILE","pop","S_PROTOCOL_FTP","S_PROTOCOL_HTTP","S_PROTOCOL_SECURE","S_FULL_PROTOCOL","S_FULL_MAILTO","partialLocalhostStates","_i","lowerStr","replace","c","toLowerCase","tokenLength","TOKEN","substr","registration_date","ogrn","head_name","site_url","email","phone","legal_address","query","marginTop","unit","overflowX","row","background","default","key_cell","best_practices_title","value_p","data","best_practice","hasura","npo","best_practice_rows","filter","key_name","fields_names","value_cell","result","line","JSON","stringify","show_content","gutterBottom","BestPracticesGrid","isDomainToken","MultiToken","join","protocol","hasProtocol","hasSlashSlash","paddingBottom","CardContent","height","outline","selected","hover","TableRow"],"mappings":"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","file":"component---src-templates-npo-js-fddf521a5c46a1b2b53b.js","sourcesContent":["// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _TableCell[\"default\"];\n }\n});\n\nvar _TableCell = _interopRequireDefault(require(\"./TableCell\"));","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Grid[\"default\"];\n }\n});\n\nvar _Grid = _interopRequireDefault(require(\"./Grid\"));","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction deprecatedPropType(validator, reason) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV === 'production') {\n return function () {\n return null;\n };\n }\n\n return function (props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<>';\n var propFullNameSafe = propFullName || propName;\n\n if (typeof props[propName] !== 'undefined') {\n return new Error(\"The \".concat(location, \" `\").concat(propFullNameSafe, \"` of \") + \"`\".concat(componentNameSafe, \"` is deprecated. \").concat(reason));\n }\n\n return null;\n };\n}\n\nvar _default = deprecatedPropType;\nexports[\"default\"] = _default;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _CardContent[\"default\"];\n }\n});\n\nvar _CardContent = _interopRequireDefault(require(\"./CardContent\"));","'use strict';\n\nrequire(\"core-js/modules/es6.regexp.constructor\");\n\nexports.__esModule = true;\nexports.stateify = exports.TokenState = exports.CharacterState = undefined;\n\nvar _class = require('../utils/class');\n\nfunction createStateClass() {\n return function (tClass) {\n this.j = [];\n this.T = tClass || null;\n };\n}\n/**\n\tA simple state machine that can emit token classes\n\n\tThe `j` property in this class refers to state jumps. It's a\n\tmultidimensional array where for each element:\n\n\t* index [0] is a symbol or class of symbols to transition to.\n\t* index [1] is a State instance which matches\n\n\tThe type of symbol will depend on the target implementation for this class.\n\tIn Linkify, we have a two-stage scanner. Each stage uses this state machine\n\tbut with a slighly different (polymorphic) implementation.\n\n\tThe `T` property refers to the token class.\n\n\tTODO: Can the `on` and `next` methods be combined?\n\n\t@class BaseState\n*/\n\n\nvar BaseState = createStateClass();\nBaseState.prototype = {\n defaultTransition: false,\n\n /**\n \t@method constructor\n \t@param {Class} tClass Pass in the kind of token to emit if there are\n \t\tno jumps after this state and the state is accepting.\n */\n\n /**\n \tOn the given symbol(s), this machine should go to the given state\n \t\t@method on\n \t@param {Array|Mixed} symbol\n \t@param {BaseState} state Note that the type of this state should be the\n \t\tsame as the current instance (i.e., don't pass in a different\n \t\tsubclass)\n */\n on: function on(symbol, state) {\n if (symbol instanceof Array) {\n for (var i = 0; i < symbol.length; i++) {\n this.j.push([symbol[i], state]);\n }\n\n return this;\n }\n\n this.j.push([symbol, state]);\n return this;\n },\n\n /**\n \tGiven the next item, returns next state for that item\n \t@method next\n \t@param {Mixed} item Should be an instance of the symbols handled by\n \t\tthis particular machine.\n \t@return {State} state Returns false if no jumps are available\n */\n next: function next(item) {\n for (var i = 0; i < this.j.length; i++) {\n var jump = this.j[i];\n var symbol = jump[0]; // Next item to check for\n\n var state = jump[1]; // State to jump to if items match\n // compare item with symbol\n\n if (this.test(item, symbol)) {\n return state;\n }\n } // Nowhere left to jump!\n\n\n return this.defaultTransition;\n },\n\n /**\n \tDoes this state accept?\n \t`true` only of `this.T` exists\n \t\t@method accepts\n \t@return {Boolean}\n */\n accepts: function accepts() {\n return !!this.T;\n },\n\n /**\n \tDetermine whether a given item \"symbolizes\" the symbol, where symbol is\n \ta class of items handled by this state machine.\n \t\tThis method should be overriden in extended classes.\n \t\t@method test\n \t@param {Mixed} item Does this item match the given symbol?\n \t@param {Mixed} symbol\n \t@return {Boolean}\n */\n test: function test(item, symbol) {\n return item === symbol;\n },\n\n /**\n \tEmit the token for this State (just return it in this case)\n \tIf this emits a token, this instance is an accepting state\n \t@method emit\n \t@return {Class} T\n */\n emit: function emit() {\n return this.T;\n }\n};\n/**\n\tState machine for string-based input\n\n\t@class CharacterState\n\t@extends BaseState\n*/\n\nvar CharacterState = (0, _class.inherits)(BaseState, createStateClass(), {\n /**\n \tDoes the given character match the given character or regular\n \texpression?\n \t\t@method test\n \t@param {String} char\n \t@param {String|RegExp} charOrRegExp\n \t@return {Boolean}\n */\n test: function test(character, charOrRegExp) {\n return character === charOrRegExp || charOrRegExp instanceof RegExp && charOrRegExp.test(character);\n }\n});\n/**\n\tState machine for input in the form of TextTokens\n\n\t@class TokenState\n\t@extends BaseState\n*/\n\nvar TokenState = (0, _class.inherits)(BaseState, createStateClass(), {\n /**\n * Similar to `on`, but returns the state the results in the transition from\n * the given item\n * @method jump\n * @param {Mixed} item\n * @param {Token} [token]\n * @return state\n */\n jump: function jump(token) {\n var tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var state = this.next(new token('')); // dummy temp token\n\n if (state === this.defaultTransition) {\n // Make a new state!\n state = new this.constructor(tClass);\n this.on(token, state);\n } else if (tClass) {\n state.T = tClass;\n }\n\n return state;\n },\n\n /**\n \tIs the given token an instance of the given token class?\n \t\t@method test\n \t@param {TextToken} token\n \t@param {Class} tokenClass\n \t@return {Boolean}\n */\n test: function test(token, tokenClass) {\n return token instanceof tokenClass;\n }\n});\n/**\n\tGiven a non-empty target string, generates states (if required) for each\n\tconsecutive substring of characters in str starting from the beginning of\n\tthe string. The final state will have a special value, as specified in\n\toptions. All other \"in between\" substrings will have a default end state.\n\n\tThis turns the state machine into a Trie-like data structure (rather than a\n\tintelligently-designed DFA).\n\n\tNote that I haven't really tried these with any strings other than\n\tDOMAIN.\n\n\t@param {String} str\n\t@param {CharacterState} start State to jump from the first character\n\t@param {Class} endToken Token class to emit when the given string has been\n\t\tmatched and no more jumps exist.\n\t@param {Class} defaultToken \"Filler token\", or which token type to emit when\n\t\twe don't have a full match\n\t@return {Array} list of newly-created states\n*/\n\nfunction stateify(str, start, endToken, defaultToken) {\n var i = 0,\n len = str.length,\n state = start,\n newStates = [],\n nextState = void 0; // Find the next state without a jump to the next character\n\n while (i < len && (nextState = state.next(str[i]))) {\n state = nextState;\n i++;\n }\n\n if (i >= len) {\n return [];\n } // no new tokens were added\n\n\n while (i < len - 1) {\n nextState = new CharacterState(defaultToken);\n newStates.push(nextState);\n state.on(str[i], nextState);\n state = nextState;\n i++;\n }\n\n nextState = new CharacterState(endToken);\n newStates.push(nextState);\n state.on(str[len - 1], nextState);\n return newStates;\n}\n\nexports.CharacterState = CharacterState;\nexports.TokenState = TokenState;\nexports.stateify = stateify;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Card[\"default\"];\n }\n});\n\nvar _Card = _interopRequireDefault(require(\"./Card\"));","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.create\");\n\nexports.__esModule = true;\nexports.inherits = inherits;\n\nfunction inherits(parent, child) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var extended = Object.create(parent.prototype);\n\n for (var p in props) {\n extended[p] = props[p];\n }\n\n extended.constructor = child;\n child.prototype = extended;\n return child;\n}","'use strict';\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.array.is-array\");\n\nrequire(\"core-js/modules/es6.array.find\");\n\nexports.__esModule = true;\nexports.tokenize = exports.test = exports.scanner = exports.parser = exports.options = exports.inherits = exports.find = undefined;\n\nvar _class = require('./linkify/utils/class');\n\nvar _options = require('./linkify/utils/options');\n\nvar options = _interopRequireWildcard(_options);\n\nvar _scanner = require('./linkify/core/scanner');\n\nvar scanner = _interopRequireWildcard(_scanner);\n\nvar _parser = require('./linkify/core/parser');\n\nvar parser = _interopRequireWildcard(_parser);\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj[\"default\"] = obj;\n return newObj;\n }\n}\n\nif (!Array.isArray) {\n Array.isArray = function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n };\n}\n/**\n\tConverts a string into tokens that represent linkable and non-linkable bits\n\t@method tokenize\n\t@param {String} str\n\t@return {Array} tokens\n*/\n\n\nvar tokenize = function tokenize(str) {\n return parser.run(scanner.run(str));\n};\n/**\n\tReturns a list of linkable items in the given string.\n*/\n\n\nvar find = function find(str) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var tokens = tokenize(str);\n var filtered = [];\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (token.isLink && (!type || token.type === type)) {\n filtered.push(token.toObject());\n }\n }\n\n return filtered;\n};\n/**\n\tIs the given string valid linkable text of some sort\n\tNote that this does not trim the text for you.\n\n\tOptionally pass in a second `type` param, which is the type of link to test\n\tfor.\n\n\tFor example,\n\n\t\ttest(str, 'email');\n\n\tWill return `true` if str is a valid email.\n*/\n\n\nvar test = function test(str) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var tokens = tokenize(str);\n return tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].type === type);\n}; // Scanner and parser provide states and tokens for the lexicographic stage\n// (will be used to add additional link types)\n\n\nexports.find = find;\nexports.inherits = _class.inherits;\nexports.options = options;\nexports.parser = parser;\nexports.scanner = scanner;\nexports.test = test;\nexports.tokenize = tokenize;","'use strict';\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es7.symbol.async-iterator\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar defaults = {\n defaultProtocol: 'http',\n events: null,\n format: noop,\n formatHref: noop,\n nl2br: false,\n tagName: 'a',\n target: typeToTarget,\n validate: true,\n ignoreTags: [],\n attributes: null,\n className: 'linkified' // Deprecated value - no default class will be provided in the future\n\n};\nexports.defaults = defaults;\nexports.Options = Options;\nexports.contains = contains;\n\nfunction Options(opts) {\n opts = opts || {};\n this.defaultProtocol = opts.hasOwnProperty('defaultProtocol') ? opts.defaultProtocol : defaults.defaultProtocol;\n this.events = opts.hasOwnProperty('events') ? opts.events : defaults.events;\n this.format = opts.hasOwnProperty('format') ? opts.format : defaults.format;\n this.formatHref = opts.hasOwnProperty('formatHref') ? opts.formatHref : defaults.formatHref;\n this.nl2br = opts.hasOwnProperty('nl2br') ? opts.nl2br : defaults.nl2br;\n this.tagName = opts.hasOwnProperty('tagName') ? opts.tagName : defaults.tagName;\n this.target = opts.hasOwnProperty('target') ? opts.target : defaults.target;\n this.validate = opts.hasOwnProperty('validate') ? opts.validate : defaults.validate;\n this.ignoreTags = []; // linkAttributes and linkClass is deprecated\n\n this.attributes = opts.attributes || opts.linkAttributes || defaults.attributes;\n this.className = opts.hasOwnProperty('className') ? opts.className : opts.linkClass || defaults.className; // Make all tags names upper case\n\n var ignoredTags = opts.hasOwnProperty('ignoreTags') ? opts.ignoreTags : defaults.ignoreTags;\n\n for (var i = 0; i < ignoredTags.length; i++) {\n this.ignoreTags.push(ignoredTags[i].toUpperCase());\n }\n}\n\nOptions.prototype = {\n /**\n * Given the token, return all options for how it should be displayed\n */\n resolve: function resolve(token) {\n var href = token.toHref(this.defaultProtocol);\n return {\n formatted: this.get('format', token.toString(), token),\n formattedHref: this.get('formatHref', href, token),\n tagName: this.get('tagName', href, token),\n className: this.get('className', href, token),\n target: this.get('target', href, token),\n events: this.getObject('events', href, token),\n attributes: this.getObject('attributes', href, token)\n };\n },\n\n /**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options. By default,\n */\n check: function check(token) {\n return this.get('validate', token.toString(), token);\n },\n // Private methods\n\n /**\n * Resolve an option's value based on the value of the option and the given\n * params.\n * @param {String} key Name of option to use\n * @param operator will be passed to the target option if it's method\n * @param {MultiToken} token The token from linkify.tokenize\n */\n get: function get(key, operator, token) {\n var optionValue = void 0,\n option = this[key];\n\n if (!option) {\n return option;\n }\n\n switch (typeof option === 'undefined' ? 'undefined' : _typeof(option)) {\n case 'function':\n return option(operator, token.type);\n\n case 'object':\n optionValue = option.hasOwnProperty(token.type) ? option[token.type] : defaults[key];\n return typeof optionValue === 'function' ? optionValue(operator, token.type) : optionValue;\n }\n\n return option;\n },\n getObject: function getObject(key, operator, token) {\n var option = this[key];\n return typeof option === 'function' ? option(operator, token.type) : option;\n }\n};\n/**\n * Quick indexOf replacement for checking the ignoreTags option\n */\n\nfunction contains(arr, value) {\n for (var i = 0; i < arr.length; i++) {\n if (arr[i] === value) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction noop(val) {\n return val;\n}\n\nfunction typeToTarget(href, type) {\n return type === 'url' ? '_blank' : null;\n}","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Table[\"default\"];\n }\n});\n\nvar _Table = _interopRequireDefault(require(\"./Table\"));","\"use strict\";\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.array.reduce\");\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.styles = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"@material-ui/utils\");\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _createBreakpoints = require(\"../styles/createBreakpoints\");\n\nvar _requirePropFactory = _interopRequireDefault(require(\"../utils/requirePropFactory\")); // A grid component using the following libs as inspiration.\n//\n// For the implementation:\n// - http://v4-alpha.getbootstrap.com/layout/flexbox-grid/\n// - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css\n// - https://github.com/roylee0704/react-flexbox-grid\n// - https://material.angularjs.org/latest/layout/introduction\n//\n// Follow this flexbox Guide to better understand the underlying model:\n// - https://css-tricks.com/snippets/css/a-guide-to-flexbox/\n\n\nvar GUTTERS = [0, 8, 16, 24, 32, 40];\nvar GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n\nfunction generateGrid(globalStyles, theme, breakpoint) {\n var styles = {};\n GRID_SIZES.forEach(function (size) {\n var key = \"grid-\".concat(breakpoint, \"-\").concat(size);\n\n if (size === true) {\n // For the auto layouting\n styles[key] = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n return;\n }\n\n if (size === 'auto') {\n styles[key] = {\n flexBasis: 'auto',\n flexGrow: 0,\n maxWidth: 'none'\n };\n return;\n } // Keep 7 significant numbers.\n\n\n var width = \"\".concat(Math.round(size / 12 * 10e7) / 10e5, \"%\"); // Close to the bootstrap implementation:\n // https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41\n\n styles[key] = {\n flexBasis: width,\n flexGrow: 0,\n maxWidth: width\n };\n }); // No need for a media query for the first size.\n\n if (breakpoint === 'xs') {\n (0, _extends2[\"default\"])(globalStyles, styles);\n } else {\n globalStyles[theme.breakpoints.up(breakpoint)] = styles;\n }\n}\n\nfunction generateGutter(theme, breakpoint) {\n var styles = {};\n GUTTERS.forEach(function (spacing, index) {\n if (index === 0) {\n // Skip the default style.\n return;\n }\n\n styles[\"spacing-\".concat(breakpoint, \"-\").concat(spacing)] = {\n margin: -spacing / 2,\n width: \"calc(100% + \".concat(spacing, \"px)\"),\n '& > $item': {\n padding: spacing / 2\n }\n };\n });\n return styles;\n} // Default CSS values\n// flex: '0 1 auto',\n// flexDirection: 'row',\n// alignItems: 'flex-start',\n// flexWrap: 'nowrap',\n// justifyContent: 'flex-start',\n\n\nvar styles = function styles(theme) {\n return (0, _extends2[\"default\"])({\n /* Styles applied to the root element if `container={true}`. */\n container: {\n boxSizing: 'border-box',\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%'\n },\n\n /* Styles applied to the root element if `item={true}`. */\n item: {\n boxSizing: 'border-box',\n margin: '0' // For instance, it's useful when used with a `figure` element.\n\n },\n\n /* Styles applied to the root element if `zeroMinWidth={true}`. */\n zeroMinWidth: {\n minWidth: 0\n },\n\n /* Styles applied to the root element if `direction=\"column\"`. */\n 'direction-xs-column': {\n flexDirection: 'column'\n },\n\n /* Styles applied to the root element if `direction=\"column-reverse\"`. */\n 'direction-xs-column-reverse': {\n flexDirection: 'column-reverse'\n },\n\n /* Styles applied to the root element if `direction=\"rwo-reverse\"`. */\n 'direction-xs-row-reverse': {\n flexDirection: 'row-reverse'\n },\n\n /* Styles applied to the root element if `wrap=\"nowrap\"`. */\n 'wrap-xs-nowrap': {\n flexWrap: 'nowrap'\n },\n\n /* Styles applied to the root element if `wrap=\"reverse\"`. */\n 'wrap-xs-wrap-reverse': {\n flexWrap: 'wrap-reverse'\n },\n\n /* Styles applied to the root element if `alignItems=\"center\"`. */\n 'align-items-xs-center': {\n alignItems: 'center'\n },\n\n /* Styles applied to the root element if `alignItems=\"flex-start\"`. */\n 'align-items-xs-flex-start': {\n alignItems: 'flex-start'\n },\n\n /* Styles applied to the root element if `alignItems=\"flex-end\"`. */\n 'align-items-xs-flex-end': {\n alignItems: 'flex-end'\n },\n\n /* Styles applied to the root element if `alignItems=\"baseline\"`. */\n 'align-items-xs-baseline': {\n alignItems: 'baseline'\n },\n\n /* Styles applied to the root element if `alignContent=\"center\"`. */\n 'align-content-xs-center': {\n alignContent: 'center'\n },\n\n /* Styles applied to the root element if `alignContent=\"flex-start\"`. */\n 'align-content-xs-flex-start': {\n alignContent: 'flex-start'\n },\n\n /* Styles applied to the root element if `alignContent=\"flex-end\"`. */\n 'align-content-xs-flex-end': {\n alignContent: 'flex-end'\n },\n\n /* Styles applied to the root element if `alignContent=\"space-between\"`. */\n 'align-content-xs-space-between': {\n alignContent: 'space-between'\n },\n\n /* Styles applied to the root element if `alignContent=\"space-around\"`. */\n 'align-content-xs-space-around': {\n alignContent: 'space-around'\n },\n\n /* Styles applied to the root element if `justify=\"center\"`. */\n 'justify-xs-center': {\n justifyContent: 'center'\n },\n\n /* Styles applied to the root element if `justify=\"flex-end\"`. */\n 'justify-xs-flex-end': {\n justifyContent: 'flex-end'\n },\n\n /* Styles applied to the root element if `justify=\"space-between\"`. */\n 'justify-xs-space-between': {\n justifyContent: 'space-between'\n },\n\n /* Styles applied to the root element if `justify=\"space-around\"`. */\n 'justify-xs-space-around': {\n justifyContent: 'space-around'\n },\n\n /* Styles applied to the root element if `justify=\"space-evenly\"`. */\n 'justify-xs-space-evenly': {\n justifyContent: 'space-evenly'\n }\n }, generateGutter(theme, 'xs'), _createBreakpoints.keys.reduce(function (accumulator, key) {\n // Use side effect over immutability for better performance.\n generateGrid(accumulator, theme, key);\n return accumulator;\n }, {}));\n};\n\nexports.styles = styles;\n\nfunction Grid(props) {\n var _classNames;\n\n var alignContent = props.alignContent,\n alignItems = props.alignItems,\n classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n container = props.container,\n direction = props.direction,\n item = props.item,\n justify = props.justify,\n lg = props.lg,\n md = props.md,\n sm = props.sm,\n spacing = props.spacing,\n wrap = props.wrap,\n xl = props.xl,\n xs = props.xs,\n zeroMinWidth = props.zeroMinWidth,\n other = (0, _objectWithoutProperties2[\"default\"])(props, [\"alignContent\", \"alignItems\", \"classes\", \"className\", \"component\", \"container\", \"direction\", \"item\", \"justify\", \"lg\", \"md\", \"sm\", \"spacing\", \"wrap\", \"xl\", \"xs\", \"zeroMinWidth\"]);\n var className = (0, _classnames[\"default\"])((_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, classes.container, container), (0, _defineProperty2[\"default\"])(_classNames, classes.item, item), (0, _defineProperty2[\"default\"])(_classNames, classes.zeroMinWidth, zeroMinWidth), (0, _defineProperty2[\"default\"])(_classNames, classes[\"spacing-xs-\".concat(String(spacing))], container && spacing !== 0), (0, _defineProperty2[\"default\"])(_classNames, classes[\"direction-xs-\".concat(String(direction))], direction !== Grid.defaultProps.direction), (0, _defineProperty2[\"default\"])(_classNames, classes[\"wrap-xs-\".concat(String(wrap))], wrap !== Grid.defaultProps.wrap), (0, _defineProperty2[\"default\"])(_classNames, classes[\"align-items-xs-\".concat(String(alignItems))], alignItems !== Grid.defaultProps.alignItems), (0, _defineProperty2[\"default\"])(_classNames, classes[\"align-content-xs-\".concat(String(alignContent))], alignContent !== Grid.defaultProps.alignContent), (0, _defineProperty2[\"default\"])(_classNames, classes[\"justify-xs-\".concat(String(justify))], justify !== Grid.defaultProps.justify), (0, _defineProperty2[\"default\"])(_classNames, classes[\"grid-xs-\".concat(String(xs))], xs !== false), (0, _defineProperty2[\"default\"])(_classNames, classes[\"grid-sm-\".concat(String(sm))], sm !== false), (0, _defineProperty2[\"default\"])(_classNames, classes[\"grid-md-\".concat(String(md))], md !== false), (0, _defineProperty2[\"default\"])(_classNames, classes[\"grid-lg-\".concat(String(lg))], lg !== false), (0, _defineProperty2[\"default\"])(_classNames, classes[\"grid-xl-\".concat(String(xl))], xl !== false), _classNames), classNameProp);\n return _react[\"default\"].createElement(Component, (0, _extends2[\"default\"])({\n className: className\n }, other));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? Grid.propTypes = {\n /**\n * Defines the `align-content` style property.\n * It's applied for all screen sizes.\n */\n alignContent: _propTypes[\"default\"].oneOf(['stretch', 'center', 'flex-start', 'flex-end', 'space-between', 'space-around']),\n\n /**\n * Defines the `align-items` style property.\n * It's applied for all screen sizes.\n */\n alignItems: _propTypes[\"default\"].oneOf(['flex-start', 'center', 'flex-end', 'stretch', 'baseline']),\n\n /**\n * The content of the component.\n */\n children: _propTypes[\"default\"].node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css-api) below for more details.\n */\n classes: _propTypes[\"default\"].object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _utils.componentPropType,\n\n /**\n * If `true`, the component will have the flex *container* behavior.\n * You should be wrapping *items* with a *container*.\n */\n container: _propTypes[\"default\"].bool,\n\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n */\n direction: _propTypes[\"default\"].oneOf(['row', 'row-reverse', 'column', 'column-reverse']),\n\n /**\n * If `true`, the component will have the flex *item* behavior.\n * You should be wrapping *items* with a *container*.\n */\n item: _propTypes[\"default\"].bool,\n\n /**\n * Defines the `justify-content` style property.\n * It is applied for all screen sizes.\n */\n justify: _propTypes[\"default\"].oneOf(['flex-start', 'center', 'flex-end', 'space-between', 'space-around', 'space-evenly']),\n\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for the `lg` breakpoint and wider screens if not overridden.\n */\n lg: _propTypes[\"default\"].oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),\n\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for the `md` breakpoint and wider screens if not overridden.\n */\n md: _propTypes[\"default\"].oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),\n\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for the `sm` breakpoint and wider screens if not overridden.\n */\n sm: _propTypes[\"default\"].oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),\n\n /**\n * Defines the space between the type `item` component.\n * It can only be used on a type `container` component.\n */\n spacing: _propTypes[\"default\"].oneOf(GUTTERS),\n\n /**\n * Defines the `flex-wrap` style property.\n * It's applied for all screen sizes.\n */\n wrap: _propTypes[\"default\"].oneOf(['nowrap', 'wrap', 'wrap-reverse']),\n\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for the `xl` breakpoint and wider screens.\n */\n xl: _propTypes[\"default\"].oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),\n\n /**\n * Defines the number of grids the component is going to use.\n * It's applied for all the screen sizes with the lowest priority.\n */\n xs: _propTypes[\"default\"].oneOf([false, 'auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]),\n\n /**\n * If `true`, it sets `min-width: 0` on the item.\n * Refer to the limitations section of the documentation to better understand the use case.\n */\n zeroMinWidth: _propTypes[\"default\"].bool\n} : void 0;\nGrid.defaultProps = {\n alignContent: 'stretch',\n alignItems: 'stretch',\n component: 'div',\n container: false,\n direction: 'row',\n item: false,\n justify: 'flex-start',\n lg: false,\n md: false,\n sm: false,\n spacing: 0,\n wrap: 'wrap',\n xl: false,\n xs: false,\n zeroMinWidth: false\n};\nvar StyledGrid = (0, _withStyles[\"default\"])(styles, {\n name: 'MuiGrid'\n})(Grid);\n\nif (process.env.NODE_ENV !== 'production') {\n var requireProp = (0, _requirePropFactory[\"default\"])('Grid');\n StyledGrid.propTypes = (0, _extends2[\"default\"])({}, StyledGrid.propTypes, {\n alignContent: requireProp('container'),\n alignItems: requireProp('container'),\n direction: requireProp('container'),\n justify: requireProp('container'),\n lg: requireProp('item'),\n md: requireProp('item'),\n sm: requireProp('item'),\n spacing: requireProp('container'),\n wrap: requireProp('container'),\n xs: requireProp('item'),\n zeroMinWidth: requireProp('zeroMinWidth')\n });\n}\n\nvar _default = StyledGrid;\nexports[\"default\"] = _default;","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _multi = require('./tokens/multi');\n\nvar MULTI_TOKENS = _interopRequireWildcard(_multi);\n\nvar _text = require('./tokens/text');\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj[\"default\"] = obj;\n return newObj;\n }\n}\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/Email_address (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main parser\n*/\n\n\nvar makeState = function makeState(tokenClass) {\n return new _state.TokenState(tokenClass);\n}; // The universal starting state.\n\n\nvar S_START = makeState(); // Intermediate states for URLs. Note that domains that begin with a protocol\n// are treated slighly differently from those that don't.\n\nvar S_PROTOCOL = makeState(); // e.g., 'http:'\n\nvar S_MAILTO = makeState(); // 'mailto:'\n\nvar S_PROTOCOL_SLASH = makeState(); // e.g., '/', 'http:/''\n\nvar S_PROTOCOL_SLASH_SLASH = makeState(); // e.g., '//', 'http://'\n\nvar S_DOMAIN = makeState(); // parsed string ends with a potential domain name (A)\n\nvar S_DOMAIN_DOT = makeState(); // (A) domain followed by DOT\n\nvar S_TLD = makeState(_multi.URL); // (A) Simplest possible URL with no query string\n\nvar S_TLD_COLON = makeState(); // (A) URL followed by colon (potential port number here)\n\nvar S_TLD_PORT = makeState(_multi.URL); // TLD followed by a port number\n\nvar S_URL = makeState(_multi.URL); // Long URL with optional port and maybe query string\n\nvar S_URL_NON_ACCEPTING = makeState(); // URL followed by some symbols (will not be part of the final URL)\n\nvar S_URL_OPENBRACE = makeState(); // URL followed by {\n\nvar S_URL_OPENBRACKET = makeState(); // URL followed by [\n\nvar S_URL_OPENANGLEBRACKET = makeState(); // URL followed by <\n\nvar S_URL_OPENPAREN = makeState(); // URL followed by (\n\nvar S_URL_OPENBRACE_Q = makeState(_multi.URL); // URL followed by { and some symbols that the URL can end it\n\nvar S_URL_OPENBRACKET_Q = makeState(_multi.URL); // URL followed by [ and some symbols that the URL can end it\n\nvar S_URL_OPENANGLEBRACKET_Q = makeState(_multi.URL); // URL followed by < and some symbols that the URL can end it\n\nvar S_URL_OPENPAREN_Q = makeState(_multi.URL); // URL followed by ( and some symbols that the URL can end it\n\nvar S_URL_OPENBRACE_SYMS = makeState(); // S_URL_OPENBRACE_Q followed by some symbols it cannot end it\n\nvar S_URL_OPENBRACKET_SYMS = makeState(); // S_URL_OPENBRACKET_Q followed by some symbols it cannot end it\n\nvar S_URL_OPENANGLEBRACKET_SYMS = makeState(); // S_URL_OPENANGLEBRACKET_Q followed by some symbols it cannot end it\n\nvar S_URL_OPENPAREN_SYMS = makeState(); // S_URL_OPENPAREN_Q followed by some symbols it cannot end it\n\nvar S_EMAIL_DOMAIN = makeState(); // parsed string starts with local email info + @ with a potential domain name (C)\n\nvar S_EMAIL_DOMAIN_DOT = makeState(); // (C) domain followed by DOT\n\nvar S_EMAIL = makeState(_multi.EMAIL); // (C) Possible email address (could have more tlds)\n\nvar S_EMAIL_COLON = makeState(); // (C) URL followed by colon (potential port number here)\n\nvar S_EMAIL_PORT = makeState(_multi.EMAIL); // (C) Email address with a port\n\nvar S_MAILTO_EMAIL = makeState(_multi.MAILTOEMAIL); // Email that begins with the mailto prefix (D)\n\nvar S_MAILTO_EMAIL_NON_ACCEPTING = makeState(); // (D) Followed by some non-query string chars\n\nvar S_LOCALPART = makeState(); // Local part of the email address\n\nvar S_LOCALPART_AT = makeState(); // Local part of the email address plus @\n\nvar S_LOCALPART_DOT = makeState(); // Local part of the email address plus '.' (localpart cannot end in .)\n\nvar S_NL = makeState(_multi.NL); // single new line\n// Make path from start to protocol (with '//')\n\nS_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.MAILTO, S_MAILTO).on(_text.SLASH, S_PROTOCOL_SLASH);\nS_PROTOCOL.on(_text.SLASH, S_PROTOCOL_SLASH);\nS_PROTOCOL_SLASH.on(_text.SLASH, S_PROTOCOL_SLASH_SLASH); // The very first potential domain name\n\nS_START.on(_text.TLD, S_DOMAIN).on(_text.DOMAIN, S_DOMAIN).on(_text.LOCALHOST, S_TLD).on(_text.NUM, S_DOMAIN); // Force URL for protocol followed by anything sane\n\nS_PROTOCOL_SLASH_SLASH.on(_text.TLD, S_URL).on(_text.DOMAIN, S_URL).on(_text.NUM, S_URL).on(_text.LOCALHOST, S_URL); // Account for dots and hyphens\n// hyphens are usually parts of domain names\n\nS_DOMAIN.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL_DOMAIN.on(_text.DOT, S_EMAIL_DOMAIN_DOT); // Hyphen can jump back to a domain name\n// After the first domain and a dot, we can find either a URL or another domain\n\nS_DOMAIN_DOT.on(_text.TLD, S_TLD).on(_text.DOMAIN, S_DOMAIN).on(_text.NUM, S_DOMAIN).on(_text.LOCALHOST, S_DOMAIN);\nS_EMAIL_DOMAIN_DOT.on(_text.TLD, S_EMAIL).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.NUM, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL_DOMAIN); // S_TLD accepts! But the URL could be longer, try to find a match greedily\n// The `run` function should be able to \"rollback\" to the accepting state\n\nS_TLD.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL.on(_text.DOT, S_EMAIL_DOMAIN_DOT); // Become real URLs after `SLASH` or `COLON NUM SLASH`\n// Here PSS and non-PSS converge\n\nS_TLD.on(_text.COLON, S_TLD_COLON).on(_text.SLASH, S_URL);\nS_TLD_COLON.on(_text.NUM, S_TLD_PORT);\nS_TLD_PORT.on(_text.SLASH, S_URL);\nS_EMAIL.on(_text.COLON, S_EMAIL_COLON);\nS_EMAIL_COLON.on(_text.NUM, S_EMAIL_PORT); // Types of characters the URL can definitely end in\n\nvar qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND]; // Types of tokens that can follow a URL and be part of the query string\n// but cannot be the very last characters\n// Characters that cannot appear in the URL at all should be excluded\n\nvar qsNonAccepting = [_text.COLON, _text.DOT, _text.QUERY, _text.PUNCTUATION, _text.CLOSEBRACE, _text.CLOSEBRACKET, _text.CLOSEANGLEBRACKET, _text.CLOSEPAREN, _text.OPENBRACE, _text.OPENBRACKET, _text.OPENANGLEBRACKET, _text.OPENPAREN]; // These states are responsible primarily for determining whether or not to\n// include the final round bracket.\n// URL, followed by an opening bracket\n\nS_URL.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN); // URL with extra symbols at the end, followed by an opening bracket\n\nS_URL_NON_ACCEPTING.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN); // Closing bracket component. This character WILL be included in the URL\n\nS_URL_OPENBRACE.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_Q.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_Q.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_Q.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_Q.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_SYMS.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_SYMS.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_SYMS.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_SYMS.on(_text.CLOSEPAREN, S_URL); // URL that beings with an opening bracket, followed by a symbols.\n// Note that the final state can still be `S_URL_OPENBRACE_Q` (if the URL only\n// has a single opening bracket for some reason).\n\nS_URL_OPENBRACE.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN.on(qsNonAccepting, S_URL_OPENPAREN_SYMS); // URL that begins with an opening bracket, followed by some symbols\n\nS_URL_OPENBRACE_Q.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_Q.on(qsNonAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsNonAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsNonAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_SYMS.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_SYMS.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_SYMS.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_SYMS.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN_SYMS.on(qsNonAccepting, S_URL_OPENPAREN_SYMS); // Account for the query string\n\nS_URL.on(qsAccepting, S_URL);\nS_URL_NON_ACCEPTING.on(qsAccepting, S_URL);\nS_URL.on(qsNonAccepting, S_URL_NON_ACCEPTING);\nS_URL_NON_ACCEPTING.on(qsNonAccepting, S_URL_NON_ACCEPTING); // Email address-specific state definitions\n// Note: We are not allowing '/' in email addresses since this would interfere\n// with real URLs\n// For addresses with the mailto prefix\n// 'mailto:' followed by anything sane is a valid email\n\nS_MAILTO.on(_text.TLD, S_MAILTO_EMAIL).on(_text.DOMAIN, S_MAILTO_EMAIL).on(_text.NUM, S_MAILTO_EMAIL).on(_text.LOCALHOST, S_MAILTO_EMAIL); // Greedily get more potential valid email values\n\nS_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\nS_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING); // For addresses without the mailto prefix\n// Tokens allowed in the localpart of the email\n\nvar localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND, _text.TLD]; // Some of the tokens in `localpartAccepting` are already accounted for here and\n// will not be overwritten (don't worry)\n\nS_DOMAIN.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_TLD.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_DOMAIN_DOT.on(localpartAccepting, S_LOCALPART); // Okay we're on a localpart. Now what?\n// TODO: IP addresses and what if the email starts with numbers?\n\nS_LOCALPART.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT) // close to an email address now\n.on(_text.DOT, S_LOCALPART_DOT);\nS_LOCALPART_DOT.on(localpartAccepting, S_LOCALPART);\nS_LOCALPART_AT.on(_text.TLD, S_EMAIL_DOMAIN).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL); // States following `@` defined above\n\nvar run = function run(tokens) {\n var len = tokens.length;\n var cursor = 0;\n var multis = [];\n var textTokens = [];\n\n while (cursor < len) {\n var state = S_START;\n var secondState = null;\n var nextState = null;\n var multiLength = 0;\n var latestAccepting = null;\n var sinceAccepts = -1;\n\n while (cursor < len && !(secondState = state.next(tokens[cursor]))) {\n // Starting tokens with nowhere to jump to.\n // Consider these to be just plain text\n textTokens.push(tokens[cursor++]);\n }\n\n while (cursor < len && (nextState = secondState || state.next(tokens[cursor]))) {\n // Get the next state\n secondState = null;\n state = nextState; // Keep track of the latest accepting state\n\n if (state.accepts()) {\n sinceAccepts = 0;\n latestAccepting = state;\n } else if (sinceAccepts >= 0) {\n sinceAccepts++;\n }\n\n cursor++;\n multiLength++;\n }\n\n if (sinceAccepts < 0) {\n // No accepting state was found, part of a regular text token\n // Add all the tokens we looked at to the text tokens array\n for (var i = cursor - multiLength; i < cursor; i++) {\n textTokens.push(tokens[i]);\n }\n } else {\n // Accepting state!\n // First close off the textTokens (if available)\n if (textTokens.length > 0) {\n multis.push(new _multi.TEXT(textTokens));\n textTokens = [];\n } // Roll back to the latest accepting state\n\n\n cursor -= sinceAccepts;\n multiLength -= sinceAccepts; // Create a new multitoken\n\n var MULTI = latestAccepting.emit();\n multis.push(new MULTI(tokens.slice(cursor - multiLength, cursor)));\n }\n } // Finally close off the textTokens (if available)\n\n\n if (textTokens.length > 0) {\n multis.push(new _multi.TEXT(textTokens));\n }\n\n return multis;\n};\n\nexports.State = _state.TokenState;\nexports.TOKENS = MULTI_TOKENS;\nexports.run = run;\nexports.start = S_START;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _TableRow[\"default\"];\n }\n});\n\nvar _TableRow = _interopRequireDefault(require(\"./TableRow\"));","\"use strict\";\n\nexports.__esModule = true;\n\nfunction createTokenClass() {\n return function (value) {\n if (value) {\n this.v = value;\n }\n };\n}\n\nexports.createTokenClass = createTokenClass;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Paper = _interopRequireDefault(require(\"../Paper\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\")); // @inheritedComponent Paper\n\n\nvar styles = {\n /* Styles applied to the root element. */\n root: {\n overflow: 'hidden'\n }\n};\nexports.styles = styles;\n\nfunction Card(props) {\n var classes = props.classes,\n className = props.className,\n raised = props.raised,\n other = (0, _objectWithoutProperties2[\"default\"])(props, [\"classes\", \"className\", \"raised\"]);\n return _react[\"default\"].createElement(_Paper[\"default\"], (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(classes.root, className),\n elevation: raised ? 8 : 1\n }, other));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? Card.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css-api) below for more details.\n */\n classes: _propTypes[\"default\"].object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * If `true`, the card will use raised styling.\n */\n raised: _propTypes[\"default\"].bool\n} : void 0;\nCard.defaultProps = {\n raised: false\n};\n\nvar _default = (0, _withStyles[\"default\"])(styles, {\n name: 'MuiCard'\n})(Card);\n\nexports[\"default\"] = _default;","'use strict';\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _linkify = require('./linkify');\n\nvar linkify = _interopRequireWildcard(_linkify);\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj[\"default\"] = obj;\n return newObj;\n }\n}\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\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, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar options = linkify.options;\nvar Options = options.Options; // Given a string, converts to an array of valid React components\n// (which may include strings)\n\nfunction stringToElements(str, opts) {\n var tokens = linkify.tokenize(str);\n var elements = [];\n var linkId = 0;\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n\n if (token.type === 'nl' && opts.nl2br) {\n elements.push(_react2[\"default\"].createElement('br', {\n key: 'linkified-' + ++linkId\n }));\n continue;\n } else if (!token.isLink || !opts.check(token)) {\n // Regular text\n elements.push(token.toString());\n continue;\n }\n\n var _opts$resolve = opts.resolve(token),\n formatted = _opts$resolve.formatted,\n formattedHref = _opts$resolve.formattedHref,\n tagName = _opts$resolve.tagName,\n className = _opts$resolve.className,\n target = _opts$resolve.target,\n attributes = _opts$resolve.attributes;\n\n var props = {\n key: 'linkified-' + ++linkId,\n href: formattedHref\n };\n\n if (className) {\n props.className = className;\n }\n\n if (target) {\n props.target = target;\n } // Build up additional attributes\n // Support for events via attributes hash\n\n\n if (attributes) {\n for (var attr in attributes) {\n props[attr] = attributes[attr];\n }\n }\n\n elements.push(_react2[\"default\"].createElement(tagName, props, formatted));\n }\n\n return elements;\n} // Recursively linkify the contents of the given React Element instance\n\n\nfunction linkifyReactElement(element, opts) {\n var elementId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n if (_react2[\"default\"].Children.count(element.props.children) === 0) {\n // No need to clone if the element had no children\n return element;\n }\n\n var children = [];\n\n _react2[\"default\"].Children.forEach(element.props.children, function (child) {\n if (typeof child === 'string') {\n // ensure that we always generate unique element IDs for keys\n elementId = elementId + 1;\n children.push.apply(children, stringToElements(child, opts));\n } else if (_react2[\"default\"].isValidElement(child)) {\n if (typeof child.type === 'string' && options.contains(opts.ignoreTags, child.type.toUpperCase())) {\n // Don't linkify this element\n children.push(child);\n } else {\n children.push(linkifyReactElement(child, opts, ++elementId));\n }\n } else {\n // Unknown element type, just push\n children.push(child);\n }\n }); // Set a default unique key, copy over remaining props\n\n\n var newProps = {\n key: 'linkified-element-' + elementId\n };\n\n for (var prop in element.props) {\n newProps[prop] = element.props[prop];\n }\n\n return _react2[\"default\"].cloneElement(element, newProps, children);\n}\n\nvar Linkify = function (_React$Component) {\n _inherits(Linkify, _React$Component);\n\n function Linkify() {\n _classCallCheck(this, Linkify);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Linkify.prototype.render = function render() {\n // Copy over all non-linkify-specific props\n var newProps = {\n key: 'linkified-element-0'\n };\n\n for (var prop in this.props) {\n if (prop !== 'options' && prop !== 'tagName') {\n newProps[prop] = this.props[prop];\n }\n }\n\n var opts = new Options(this.props.options);\n var tagName = this.props.tagName || 'span';\n\n var element = _react2[\"default\"].createElement(tagName, newProps);\n\n return linkifyReactElement(element, opts, 0);\n };\n\n return Linkify;\n}(_react2[\"default\"].Component);\n\nexports[\"default\"] = Linkify;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"@material-ui/utils\");\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _helpers = require(\"../utils/helpers\");\n\nvar _deprecatedPropType = _interopRequireDefault(require(\"../utils/deprecatedPropType\"));\n\nvar _colorManipulator = require(\"../styles/colorManipulator\");\n\nvar _TableContext = _interopRequireDefault(require(\"../Table/TableContext\"));\n\nvar _Tablelvl2Context = _interopRequireDefault(require(\"../Table/Tablelvl2Context\"));\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'table-cell',\n verticalAlign: 'inherit',\n // Workaround for a rendering bug with spanned columns in Chrome 62.0.\n // Removes the alpha (sets it to 1), and lightens or darkens the theme color.\n borderBottom: \"1px solid\\n \".concat(theme.palette.type === 'light' ? (0, _colorManipulator.lighten)((0, _colorManipulator.fade)(theme.palette.divider, 1), 0.88) : (0, _colorManipulator.darken)((0, _colorManipulator.fade)(theme.palette.divider, 1), 0.68)),\n textAlign: 'left',\n padding: '4px 56px 4px 24px',\n '&:last-child': {\n paddingRight: 24\n }\n },\n\n /* Styles applied to the root element if `variant=\"head\"` or `context.table.head`. */\n head: {\n color: theme.palette.text.secondary,\n fontSize: theme.typography.pxToRem(12),\n fontWeight: theme.typography.fontWeightMedium\n },\n\n /* Styles applied to the root element if `variant=\"body\"` or `context.table.body`. */\n body: {\n color: theme.palette.text.primary,\n fontSize: theme.typography.pxToRem(13),\n fontWeight: theme.typography.fontWeightRegular\n },\n\n /* Styles applied to the root element if `variant=\"footer\"` or `context.table.footer`. */\n footer: {\n borderBottom: 0,\n color: theme.palette.text.secondary,\n fontSize: theme.typography.pxToRem(12)\n },\n\n /* Styles applied to the root element if `numeric={true}`. */\n numeric: {\n textAlign: 'right',\n flexDirection: 'row-reverse' // can be dynamically inherited at runtime by contents\n\n },\n\n /* Styles applied to the root element if `padding=\"dense\"`. */\n paddingDense: {\n paddingRight: 24\n },\n\n /* Styles applied to the root element if `padding=\"checkbox\"`. */\n paddingCheckbox: {\n padding: '0 12px',\n '&:last-child': {\n paddingRight: 12\n }\n },\n\n /* Styles applied to the root element if `padding=\"none\"`. */\n paddingNone: {\n padding: 0,\n '&:last-child': {\n padding: 0\n }\n },\n\n /* Styles applied to the root element if `align=\"left\"`. */\n alignLeft: {\n textAlign: 'left'\n },\n\n /* Styles applied to the root element if `align=\"center\"`. */\n alignCenter: {\n textAlign: 'center'\n },\n\n /* Styles applied to the root element if `align=\"right\"`. */\n alignRight: {\n textAlign: 'right',\n flexDirection: 'row-reverse'\n },\n\n /* Styles applied to the root element if `align=\"justify\"`. */\n alignJustify: {\n textAlign: 'justify'\n }\n };\n};\n\nexports.styles = styles;\n\nfunction TableCell(props) {\n var align = props.align,\n children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n component = props.component,\n sortDirection = props.sortDirection,\n _props$numeric = props.numeric,\n numeric = _props$numeric === void 0 ? false : _props$numeric,\n paddingProp = props.padding,\n scopeProp = props.scope,\n variant = props.variant,\n other = (0, _objectWithoutProperties2[\"default\"])(props, [\"align\", \"children\", \"classes\", \"className\", \"component\", \"sortDirection\", \"numeric\", \"padding\", \"scope\", \"variant\"]);\n return _react[\"default\"].createElement(_TableContext[\"default\"].Consumer, null, function (table) {\n return _react[\"default\"].createElement(_Tablelvl2Context[\"default\"].Consumer, null, function (tablelvl2) {\n var _classNames;\n\n var Component;\n\n if (component) {\n Component = component;\n } else {\n Component = tablelvl2 && tablelvl2.variant === 'head' ? 'th' : 'td';\n }\n\n var scope = scopeProp;\n\n if (!scope && tablelvl2 && tablelvl2.variant === 'head') {\n scope = 'col';\n }\n\n var padding = paddingProp || (table && table.padding ? table.padding : 'default');\n var className = (0, _classnames[\"default\"])(classes.root, (_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, classes.head, variant ? variant === 'head' : tablelvl2 && tablelvl2.variant === 'head'), (0, _defineProperty2[\"default\"])(_classNames, classes.body, variant ? variant === 'body' : tablelvl2 && tablelvl2.variant === 'body'), (0, _defineProperty2[\"default\"])(_classNames, classes.footer, variant ? variant === 'footer' : tablelvl2 && tablelvl2.variant === 'footer'), (0, _defineProperty2[\"default\"])(_classNames, classes[\"align\".concat((0, _helpers.capitalize)(align))], align !== 'inherit'), (0, _defineProperty2[\"default\"])(_classNames, classes.numeric, numeric), (0, _defineProperty2[\"default\"])(_classNames, classes[\"padding\".concat((0, _helpers.capitalize)(padding))], padding !== 'default'), _classNames), classNameProp);\n var ariaSort = null;\n\n if (sortDirection) {\n ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';\n }\n\n return _react[\"default\"].createElement(Component, (0, _extends2[\"default\"])({\n className: className,\n \"aria-sort\": ariaSort,\n scope: scope\n }, other), children);\n });\n });\n}\n\nprocess.env.NODE_ENV !== \"production\" ? TableCell.propTypes = {\n /**\n * Set the text-align on the table cell content.\n *\n * Monetary or generally number fields **should be right aligned** as that allows\n * you to add them up quickly in your head without having to worry about decimals.\n */\n align: _propTypes[\"default\"].oneOf(['inherit', 'left', 'center', 'right', 'justify']),\n\n /**\n * The table cell contents.\n */\n children: _propTypes[\"default\"].node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css-api) below for more details.\n */\n classes: _propTypes[\"default\"].object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _utils.componentPropType,\n\n /**\n * If `true`, content will align to the right.\n */\n numeric: (0, _deprecatedPropType[\"default\"])(_propTypes[\"default\"].bool, 'Instead, use the `align` property.'),\n\n /**\n * Sets the padding applied to the cell.\n * By default, the Table parent component set the value.\n */\n padding: _propTypes[\"default\"].oneOf(['default', 'checkbox', 'dense', 'none']),\n\n /**\n * Set scope attribute.\n */\n scope: _propTypes[\"default\"].string,\n\n /**\n * Set aria-sort direction.\n */\n sortDirection: _propTypes[\"default\"].oneOf(['asc', 'desc', false]),\n\n /**\n * Specify the cell type.\n * By default, the TableHead, TableBody or TableFooter parent component set the value.\n */\n variant: _propTypes[\"default\"].oneOf(['head', 'body', 'footer'])\n} : void 0;\nTableCell.defaultProps = {\n align: 'inherit'\n};\n\nvar _default = (0, _withStyles[\"default\"])(styles, {\n name: 'MuiTableCell'\n})(TableCell);\n\nexports[\"default\"] = _default;","import React from \"react\";\nimport { useStaticQuery, graphql } from \"gatsby\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport BestPractice from \"./BestPractice\";\n// import Layout from \"../components/layout\";\n\nconst styles = {\n card: {\n maxWidth: 345\n }\n // media: {\n // height: 140\n // }\n};\n\nconst BestPracticesGrid = ({ classes, best_practices }) => {\n const best_practices_elements = best_practices.map(({ id, title }) => (\n \n \n \n ));\n return (\n \n {best_practices_elements}\n \n );\n};\nexport default withStyles(styles)(BestPracticesGrid);\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\n\n\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n toString: function toString() {\n return this.v + '';\n }\n};\n\nfunction inheritsToken(value) {\n var props = value ? {\n v: value\n } : {};\n return (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\n\n\nvar DOMAIN = inheritsToken();\n/**\n\t@class AT\n\t@extends TextToken\n*/\n\nvar AT = inheritsToken('@');\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\n\nvar COLON = inheritsToken(':');\n/**\n\t@class DOT\n\t@extends TextToken\n*/\n\nvar DOT = inheritsToken('.');\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\n\nvar PUNCTUATION = inheritsToken();\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\n\nvar LOCALHOST = inheritsToken();\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\n\nvar NL = inheritsToken('\\n');\n/**\n\t@class NUM\n\t@extends TextToken\n*/\n\nvar NUM = inheritsToken();\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\n\nvar PLUS = inheritsToken('+');\n/**\n\t@class POUND\n\t@extends TextToken\n*/\n\nvar POUND = inheritsToken('#');\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\n\nvar PROTOCOL = inheritsToken();\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\n\nvar MAILTO = inheritsToken('mailto:');\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\n\nvar QUERY = inheritsToken('?');\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\n\nvar SLASH = inheritsToken('/');\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\n\nvar UNDERSCORE = inheritsToken('_');\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\n\nvar SYM = inheritsToken();\n/**\n\t@class TLD\n\t@extends TextToken\n*/\n\nvar TLD = inheritsToken();\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\n\nvar WS = inheritsToken();\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\nvar AMPERSAND = inheritsToken('&');\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"@material-ui/utils\");\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Tablelvl2Context = _interopRequireDefault(require(\"../Table/Tablelvl2Context\"));\n\nvar styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'table-row-group'\n }\n};\nexports.styles = styles;\nvar contextValue = {\n variant: 'body'\n};\n\nfunction TableBody(props) {\n var classes = props.classes,\n className = props.className,\n Component = props.component,\n other = (0, _objectWithoutProperties2[\"default\"])(props, [\"classes\", \"className\", \"component\"]);\n return _react[\"default\"].createElement(_Tablelvl2Context[\"default\"].Provider, {\n value: contextValue\n }, _react[\"default\"].createElement(Component, (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(classes.root, className)\n }, other)));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? TableBody.propTypes = {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes[\"default\"].node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css-api) below for more details.\n */\n classes: _propTypes[\"default\"].object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _utils.componentPropType\n} : void 0;\nTableBody.defaultProps = {\n component: 'tbody'\n};\n\nvar _default = (0, _withStyles[\"default\"])(styles, {\n name: 'MuiTableBody'\n})(TableBody);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction requirePropFactory(componentNameInError) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV === 'production') {\n return function () {\n return null;\n };\n }\n\n var requireProp = function requireProp(requiredProp) {\n return function (props, propName, componentName, location, propFullName) {\n var propFullNameSafe = propFullName || propName;\n\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(\"The property `\".concat(propFullNameSafe, \"` of \") + \"`\".concat(componentNameInError, \"` must be used on `\").concat(requiredProp, \"`.\"));\n }\n\n return null;\n };\n };\n\n return requireProp;\n}\n\nvar _default = requirePropFactory;\nexports[\"default\"] = _default;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n/**\n * @ignore - internal component.\n */\n\n\nvar Tablelvl2Context = _react[\"default\"].createContext();\n\nvar _default = Tablelvl2Context;\nexports[\"default\"] = _default;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _TableBody[\"default\"];\n }\n});\n\nvar _TableBody = _interopRequireDefault(require(\"./TableBody\"));","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _CardActionArea[\"default\"];\n }\n});\n\nvar _CardActionArea = _interopRequireDefault(require(\"./CardActionArea\"));","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _ButtonBase = _interopRequireDefault(require(\"../ButtonBase\")); // @inheritedComponent ButtonBase\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'block',\n textAlign: 'inherit',\n width: '100%',\n '&:hover $focusHighlight': {\n opacity: theme.palette.action.hoverOpacity\n },\n '&$focusVisible $focusHighlight': {\n opacity: 0.12\n }\n },\n\n /* Styles applied to the ButtonBase root element if the action area is keyboard focused. */\n focusVisible: {},\n\n /* Styles applied to the overlay that covers the action area when it is keyboard focused. */\n focusHighlight: {\n pointerEvents: 'none',\n position: 'absolute',\n backgroundColor: 'currentcolor',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n opacity: 0,\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration[\"short\"]\n })\n }\n };\n};\n\nexports.styles = styles;\n\nfunction CardActionArea(props) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n focusVisibleClassName = props.focusVisibleClassName,\n other = (0, _objectWithoutProperties2[\"default\"])(props, [\"children\", \"classes\", \"className\", \"focusVisibleClassName\"]);\n return _react[\"default\"].createElement(_ButtonBase[\"default\"], (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(classes.root, className),\n focusVisibleClassName: (0, _classnames[\"default\"])(focusVisibleClassName, classes.focusVisible)\n }, other), children, _react[\"default\"].createElement(\"span\", {\n className: classes.focusHighlight\n }));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? CardActionArea.propTypes = {\n /**\n * The content of the component.\n */\n children: _propTypes[\"default\"].node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css-api) below for more details.\n */\n classes: _propTypes[\"default\"].object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * @ignore\n */\n focusVisibleClassName: _propTypes[\"default\"].string\n} : void 0;\n\nvar _default = (0, _withStyles[\"default\"])(styles, {\n name: 'MuiCardActionArea'\n})(CardActionArea);\n\nexports[\"default\"] = _default;","import React from \"react\";\nimport Card from \"@material-ui/core/Card\";\nimport Typography from \"@material-ui/core/Typography\";\nimport CardContent from \"@material-ui/core/CardContent\";\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { Link } from \"gatsby\";\n\nconst styles = {\n card: {\n width: 245,\n minHeight: 145,\n textAlign: \"center\"\n },\n link: {\n textDecoration: \"none\"\n }\n // media: {\n // height: 140\n // }\n};\n\nconst BestPractice = ({ classes, url, title }) => {\n return (\n // \n \n \n \n {/* */}\n {/* */}\n {/* */}\n \n {/* */}\n {title}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(BestPractice);\n","module.exports = require('./lib/linkify-react')[\"default\"];","\"use strict\";\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.object.keys\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf3 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"@material-ui/utils\");\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _TableContext = _interopRequireDefault(require(\"./TableContext\"));\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n display: 'table',\n fontFamily: theme.typography.fontFamily,\n width: '100%',\n borderCollapse: 'collapse',\n borderSpacing: 0\n }\n };\n};\n\nexports.styles = styles;\n\nvar Table =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2[\"default\"])(Table, _React$Component);\n\n function Table() {\n var _getPrototypeOf2;\n\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, Table);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = (0, _possibleConstructorReturn2[\"default\"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3[\"default\"])(Table)).call.apply(_getPrototypeOf2, [this].concat(args)));\n _this.memoizedContextValue = {};\n return _this;\n }\n\n (0, _createClass2[\"default\"])(Table, [{\n key: \"useMemo\",\n // To replace with the corresponding Hook once Material-UI v4 is out:\n // https://reactjs.org/docs/hooks-reference.html#usememo\n value: function useMemo(contextValue) {\n var objectKeys = Object.keys(contextValue);\n\n for (var i = 0; i < objectKeys.length; i += 1) {\n var objectKey = objectKeys[i];\n\n if (contextValue[objectKey] !== this.memoizedContextValue[objectKey]) {\n this.memoizedContextValue = contextValue;\n break;\n }\n }\n\n return this.memoizedContextValue;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n classes = _this$props.classes,\n className = _this$props.className,\n Component = _this$props.component,\n padding = _this$props.padding,\n other = (0, _objectWithoutProperties2[\"default\"])(_this$props, [\"classes\", \"className\", \"component\", \"padding\"]);\n return _react[\"default\"].createElement(_TableContext[\"default\"].Provider, {\n value: this.useMemo({\n padding: padding\n })\n }, _react[\"default\"].createElement(Component, (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(classes.root, className)\n }, other)));\n }\n }]);\n return Table;\n}(_react[\"default\"].Component);\n\nprocess.env.NODE_ENV !== \"production\" ? Table.propTypes = {\n /**\n * The content of the table, normally `TableHead` and `TableBody`.\n */\n children: _propTypes[\"default\"].node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css-api) below for more details.\n */\n classes: _propTypes[\"default\"].object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _utils.componentPropType,\n\n /**\n * Allows TableCells to inherit padding of the Table.\n */\n padding: _propTypes[\"default\"].oneOf(['default', 'checkbox', 'dense', 'none'])\n} : void 0;\nTable.defaultProps = {\n component: 'table',\n padding: 'default'\n};\n\nvar _default = (0, _withStyles[\"default\"])(styles, {\n name: 'MuiTable'\n})(Table);\n\nexports[\"default\"] = _default;","'use strict';\n\nrequire(\"core-js/modules/es6.regexp.replace\");\n\nrequire(\"core-js/modules/es6.regexp.split\");\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _text = require('./tokens/text');\n\nvar TOKENS = _interopRequireWildcard(_text);\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj[\"default\"] = obj;\n return newObj;\n }\n}\n\nvar tlds = 'aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|boots|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chintai|chloe|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodhands|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|htc|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|iwc|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jlc|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|panerai|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|srt|st|stada|staples|star|starhub|statebank|statefarm|statoil|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telecity|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vista|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--30rr7y|xn--3bst00m|xn--3ds443g|xn--3e0b707e|xn--3hcrj9c|xn--3oq18vl8pn36a|xn--3pxu8k|xn--42c2d9a|xn--45br5cyl|xn--45brj9c|xn--45q11c|xn--4gbrim|xn--54b7fta0cc|xn--55qw42g|xn--55qx5d|xn--5su34j936bgsg|xn--5tzm5g|xn--6frz82g|xn--6qq986b3xl|xn--80adxhks|xn--80ao21a|xn--80aqecdr1a|xn--80asehdb|xn--80aswg|xn--8y0a063a|xn--90a3ac|xn--90ae|xn--90ais|xn--9dbq2a|xn--9et52u|xn--9krt00a|xn--b4w605ferd|xn--bck1b9a5dre4c|xn--c1avg|xn--c2br7g|xn--cck2b3b|xn--cg4bki|xn--clchc0ea0b2g2a9gcd|xn--czr694b|xn--czrs0t|xn--czru2d|xn--d1acj3b|xn--d1alf|xn--e1a4c|xn--eckvdtc9d|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fhbei|xn--fiq228c5hs|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--fjq720a|xn--flw351e|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--fzys8d69uvgm|xn--g2xx48c|xn--gckr3f0f|xn--gecrj9c|xn--gk3at1e|xn--h2breg3eve|xn--h2brj9c|xn--h2brj9c8c|xn--hxt814e|xn--i1b6b1a6a2e|xn--imr513n|xn--io0a7i|xn--j1aef|xn--j1amh|xn--j6w193g|xn--jlq61u9w7b|xn--jvr189m|xn--kcrx77d1x4a|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--kput3i|xn--l1acc|xn--lgbbat1ad8j|xn--mgb9awbf|xn--mgba3a3ejt|xn--mgba3a4f16a|xn--mgba7c0bbn0a|xn--mgbaakc7dvf|xn--mgbaam7a8h|xn--mgbab2bd|xn--mgbai9azgqp6j|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a|xn--mgbbh1a71e|xn--mgbc0a9azcg|xn--mgbca7dzdo|xn--mgberp4a5d4ar|xn--mgbgu82a|xn--mgbi4ecexp|xn--mgbpl2fh|xn--mgbt3dhd|xn--mgbtx2b|xn--mgbx4cd0ab|xn--mix891f|xn--mk1bu44c|xn--mxtq1m|xn--ngbc5azd|xn--ngbe9e0a|xn--ngbrx|xn--node|xn--nqv7f|xn--nqv7fs00ema|xn--nyqy26a|xn--o3cw4h|xn--ogbpf8fl|xn--p1acf|xn--p1ai|xn--pbt977c|xn--pgbs0dh|xn--pssy2u|xn--q9jyb4c|xn--qcka1pmc|xn--qxam|xn--rhqv96g|xn--rovu88b|xn--rvc1e0am3e|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--tckwe|xn--tiq49xqyj|xn--unup4y|xn--vermgensberater-ctb|xn--vermgensberatung-pwb|xn--vhquv|xn--vuq861b|xn--w4r85el8fhu5dnra|xn--w4rs40l|xn--wgbh1c|xn--wgbl6a|xn--xhq521b|xn--xkc2al3hye2a|xn--xkc2dl3a5ee0h|xn--y9a3aq|xn--yfro4i67o|xn--ygbi2ammx|xn--zfr164b|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw'.split('|'); // macro, see gulpfile.js\n\n/**\n\tThe scanner provides an interface that takes a string of text as input, and\n\toutputs an array of tokens instances that can be used for easy URL parsing.\n\n\t@module linkify\n\t@submodule scanner\n\t@main scanner\n*/\n\nvar NUMBERS = '0123456789'.split('');\nvar ALPHANUM = '0123456789abcdefghijklmnopqrstuvwxyz'.split('');\nvar WHITESPACE = [' ', '\\f', '\\r', '\\t', '\\v', '\\xA0', \"\\u1680\", \"\\u180E\"]; // excluding line breaks\n\nvar domainStates = []; // states that jump to DOMAIN on /[a-z0-9]/\n\nvar makeState = function makeState(tokenClass) {\n return new _state.CharacterState(tokenClass);\n}; // Frequently used states\n\n\nvar S_START = makeState();\nvar S_NUM = makeState(_text.NUM);\nvar S_DOMAIN = makeState(_text.DOMAIN);\nvar S_DOMAIN_HYPHEN = makeState(); // domain followed by 1 or more hyphen characters\n\nvar S_WS = makeState(_text.WS); // States for special URL symbols\n\nS_START.on('@', makeState(_text.AT)).on('.', makeState(_text.DOT)).on('+', makeState(_text.PLUS)).on('#', makeState(_text.POUND)).on('?', makeState(_text.QUERY)).on('/', makeState(_text.SLASH)).on('_', makeState(_text.UNDERSCORE)).on(':', makeState(_text.COLON)).on('{', makeState(_text.OPENBRACE)).on('[', makeState(_text.OPENBRACKET)).on('<', makeState(_text.OPENANGLEBRACKET)).on('(', makeState(_text.OPENPAREN)).on('}', makeState(_text.CLOSEBRACE)).on(']', makeState(_text.CLOSEBRACKET)).on('>', makeState(_text.CLOSEANGLEBRACKET)).on(')', makeState(_text.CLOSEPAREN)).on('&', makeState(_text.AMPERSAND)).on([',', ';', '!', '\"', '\\''], makeState(_text.PUNCTUATION)); // Whitespace jumps\n// Tokens of only non-newline whitespace are arbitrarily long\n\nS_START.on('\\n', makeState(_text.NL)).on(WHITESPACE, S_WS); // If any whitespace except newline, more whitespace!\n\nS_WS.on(WHITESPACE, S_WS); // Generates states for top-level domains\n// Note that this is most accurate when tlds are in alphabetical order\n\nfor (var i = 0; i < tlds.length; i++) {\n var newStates = (0, _state.stateify)(tlds[i], S_START, _text.TLD, _text.DOMAIN);\n domainStates.push.apply(domainStates, newStates);\n} // Collect the states generated by different protocls\n\n\nvar partialProtocolFileStates = (0, _state.stateify)('file', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolFtpStates = (0, _state.stateify)('ftp', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolHttpStates = (0, _state.stateify)('http', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolMailtoStates = (0, _state.stateify)('mailto', S_START, _text.DOMAIN, _text.DOMAIN); // Add the states to the array of DOMAINeric states\n\ndomainStates.push.apply(domainStates, partialProtocolFileStates);\ndomainStates.push.apply(domainStates, partialProtocolFtpStates);\ndomainStates.push.apply(domainStates, partialProtocolHttpStates);\ndomainStates.push.apply(domainStates, partialProtocolMailtoStates); // Protocol states\n\nvar S_PROTOCOL_FILE = partialProtocolFileStates.pop();\nvar S_PROTOCOL_FTP = partialProtocolFtpStates.pop();\nvar S_PROTOCOL_HTTP = partialProtocolHttpStates.pop();\nvar S_MAILTO = partialProtocolMailtoStates.pop();\nvar S_PROTOCOL_SECURE = makeState(_text.DOMAIN);\nvar S_FULL_PROTOCOL = makeState(_text.PROTOCOL); // Full protocol ends with COLON\n\nvar S_FULL_MAILTO = makeState(_text.MAILTO); // Mailto ends with COLON\n// Secure protocols (end with 's')\n\nS_PROTOCOL_FTP.on('s', S_PROTOCOL_SECURE).on(':', S_FULL_PROTOCOL);\nS_PROTOCOL_HTTP.on('s', S_PROTOCOL_SECURE).on(':', S_FULL_PROTOCOL);\ndomainStates.push(S_PROTOCOL_SECURE); // Become protocol tokens after a COLON\n\nS_PROTOCOL_FILE.on(':', S_FULL_PROTOCOL);\nS_PROTOCOL_SECURE.on(':', S_FULL_PROTOCOL);\nS_MAILTO.on(':', S_FULL_MAILTO); // Localhost\n\nvar partialLocalhostStates = (0, _state.stateify)('localhost', S_START, _text.LOCALHOST, _text.DOMAIN);\ndomainStates.push.apply(domainStates, partialLocalhostStates); // Everything else\n// DOMAINs make more DOMAINs\n// Number and character transitions\n\nS_START.on(NUMBERS, S_NUM);\nS_NUM.on('-', S_DOMAIN_HYPHEN).on(NUMBERS, S_NUM).on(ALPHANUM, S_DOMAIN); // number becomes DOMAIN\n\nS_DOMAIN.on('-', S_DOMAIN_HYPHEN).on(ALPHANUM, S_DOMAIN); // All the generated states should have a jump to DOMAIN\n\nfor (var _i = 0; _i < domainStates.length; _i++) {\n domainStates[_i].on('-', S_DOMAIN_HYPHEN).on(ALPHANUM, S_DOMAIN);\n}\n\nS_DOMAIN_HYPHEN.on('-', S_DOMAIN_HYPHEN).on(NUMBERS, S_DOMAIN).on(ALPHANUM, S_DOMAIN); // Set default transition\n\nS_START.defaultTransition = makeState(_text.SYM);\n/**\n\tGiven a string, returns an array of TOKEN instances representing the\n\tcomposition of that string.\n\n\t@method run\n\t@param {String} str Input string to scan\n\t@return {Array} Array of TOKEN instances\n*/\n\nvar run = function run(str) {\n // The state machine only looks at lowercase strings.\n // This selective `toLowerCase` is used because lowercasing the entire\n // string causes the length and character position to vary in some in some\n // non-English strings. This happens only on V8-based runtimes.\n var lowerStr = str.replace(/[A-Z]/g, function (c) {\n return c.toLowerCase();\n });\n var len = str.length;\n var tokens = []; // return value\n\n var cursor = 0; // Tokenize the string\n\n while (cursor < len) {\n var state = S_START;\n var nextState = null;\n var tokenLength = 0;\n var latestAccepting = null;\n var sinceAccepts = -1;\n\n while (cursor < len && (nextState = state.next(lowerStr[cursor]))) {\n state = nextState; // Keep track of the latest accepting state\n\n if (state.accepts()) {\n sinceAccepts = 0;\n latestAccepting = state;\n } else if (sinceAccepts >= 0) {\n sinceAccepts++;\n }\n\n tokenLength++;\n cursor++;\n }\n\n if (sinceAccepts < 0) {\n continue;\n } // Should never happen\n // Roll back to the latest accepting state\n\n\n cursor -= sinceAccepts;\n tokenLength -= sinceAccepts; // Get the class for the new token\n\n var TOKEN = latestAccepting.emit(); // Current token class\n // No more jumps, just make a new token\n\n tokens.push(new TOKEN(str.substr(cursor - tokenLength, tokenLength)));\n }\n\n return tokens;\n};\n\nvar start = S_START;\nexports.State = _state.CharacterState;\nexports.TOKENS = TOKENS;\nexports.run = run;\nexports.start = start;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n/**\n * @ignore - internal component.\n */\n\n\nvar TableContext = _react[\"default\"].createContext();\n\nvar _default = TableContext;\nexports[\"default\"] = _default;","export default {\n id: \"ID\",\n title: \"Название\",\n registration_date: \"Дата регистрации\",\n ogrn: \"ОГРН\",\n // federal_subject_id: \"Федеральный округ\",\n head_name: \"ФИО руководителя\",\n site_url: \"Сайт\",\n email: \"E-mail\",\n phone: \"Контактный телефон\",\n legal_address: \"Юридический адрес\"\n};\n","import React from \"react\";\nimport { graphql } from \"gatsby\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport Table from \"@material-ui/core/Table\";\nimport TableBody from \"@material-ui/core/TableBody\";\nimport TableCell from \"@material-ui/core/TableCell\";\nimport TableHead from \"@material-ui/core/TableHead\";\nimport TableRow from \"@material-ui/core/TableRow\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Linkify from \"linkifyjs/react\";\nimport fields_names from \"../config/npo_fields\";\nimport Check from \"@material-ui/icons/Check\";\nimport Cancel from \"@material-ui/icons/Cancel\";\nimport BestPracticesGrid from \"../components/BestPracticesGrid\";\n\nconst styles = theme => ({\n root: {\n width: \"100%\",\n marginTop: theme.spacing.unit * 3,\n overflowX: \"auto\"\n },\n table: {\n // minWidth: 700\n },\n row: {\n verticalAlign: \"top\",\n \"&:nth-of-type(odd)\": {\n backgroundColor: theme.palette.background.default\n }\n },\n key_cell: {\n fontWeight: \"bold\"\n // verticalAlign: \"top\"\n },\n best_practices_title: {\n marginTop: \"30px\"\n },\n value_p: {\n marginTop: 0\n }\n});\n\nfunction BestPractice({ data, classes }) {\n const best_practice = data.hasura.npo;\n\n const show_content = (key, value) => {\n let result = \"\";\n switch (key) {\n case \"id\":\n case \"title\":\n case \"ogrn\":\n case \"head_name\":\n case \"phone\":\n case \"legal_address\":\n result = value\n ?.toString()\n ?.split(\"\\n\")\n ?.map(line =>

{line}

);\n break;\n case \"registration_date\":\n result = value;\n break;\n case \"site_url\":\n case \"email\": {\n result = {value};\n break;\n }\n // case \"replication_prospects\":\n // case \"national_project_part\":\n // case \"approved\":\n // result = value ? : ;\n // break;\n default: {\n result = JSON.stringify(value);\n break;\n }\n }\n return result;\n };\n const best_practice_rows = Object.entries(best_practice)\n ?.filter(([key, value]) => {\n if (value === null || value.toString() === \"\") {\n return false;\n }\n\n return true;\n })\n ?.map(([key, value], index) => {\n const key_name = fields_names[key];\n return (\n \n \n {key_name}\n \n \n {show_content(key, value)}\n \n \n );\n });\n\n return (\n
\n \n {data.hasura.npo.title}\n \n \n \n {best_practice_rows}\n
\n
\n \n Лучшие практики\n \n \n
\n );\n}\n\nexport const query = graphql`\n query($id: Int!) {\n hasura {\n npo: npos_by_pk(id: $id) {\n id\n title\n registration_date\n ogrn\n head_name\n site_url\n email\n phone\n legal_address\n }\n best_practices(where: { npo_id: { _eq: $id } }) {\n id\n title\n }\n }\n }\n`;\nexport default withStyles(styles)(BestPractice);\n","'use strict';\n\nrequire(\"core-js/modules/es6.regexp.to-string\");\n\nrequire(\"core-js/modules/es6.date.to-string\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nexports.__esModule = true;\nexports.URL = exports.TEXT = exports.NL = exports.EMAIL = exports.MAILTOEMAIL = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\nvar _text = require('./text');\n/******************************************************************************\n\tMulti-Tokens\n\tTokens composed of arrays of TextTokens\n******************************************************************************/\n// Is the given token a valid domain token?\n// Should nums be included here?\n\n\nfunction isDomainToken(token) {\n return token instanceof _text.DOMAIN || token instanceof _text.TLD;\n}\n/**\n\tAbstract class used for manufacturing tokens of text tokens. That is rather\n\tthan the value for a token being a small string of text, it's value an array\n\tof text tokens.\n\n\tUsed for grouping together URLs, emails, hashtags, and other potential\n\tcreations.\n\n\t@class MultiToken\n\t@abstract\n*/\n\n\nvar MultiToken = (0, _createTokenClass.createTokenClass)();\nMultiToken.prototype = {\n /**\n \tString representing the type for this token\n \t@property type\n \t@default 'TOKEN'\n */\n type: 'token',\n\n /**\n \tIs this multitoken a link?\n \t@property isLink\n \t@default false\n */\n isLink: false,\n\n /**\n \tReturn the string this token represents.\n \t@method toString\n \t@return {String}\n */\n toString: function toString() {\n var result = [];\n\n for (var i = 0; i < this.v.length; i++) {\n result.push(this.v[i].toString());\n }\n\n return result.join('');\n },\n\n /**\n \tWhat should the value for this token be in the `href` HTML attribute?\n \tReturns the `.toString` value by default.\n \t\t@method toHref\n \t@return {String}\n */\n toHref: function toHref() {\n return this.toString();\n },\n\n /**\n \tReturns a hash of relevant values for this token, which includes keys\n \t* type - Kind of token ('url', 'email', etc.)\n \t* value - Original text\n \t* href - The value that should be added to the anchor tag's href\n \t\tattribute\n \t\t@method toObject\n \t@param {String} [protocol] `'http'` by default\n \t@return {Object}\n */\n toObject: function toObject() {\n var protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';\n return {\n type: this.type,\n value: this.toString(),\n href: this.toHref(protocol)\n };\n }\n};\n/**\n\tRepresents an arbitrarily mailto email address with the prefix included\n\t@class MAILTO\n\t@extends MultiToken\n*/\n\nvar MAILTOEMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n type: 'email',\n isLink: true\n});\n/**\n\tRepresents a list of tokens making up a valid email address\n\t@class EMAIL\n\t@extends MultiToken\n*/\n\nvar EMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n type: 'email',\n isLink: true,\n toHref: function toHref() {\n return 'mailto:' + this.toString();\n }\n});\n/**\n\tRepresents some plain text\n\t@class TEXT\n\t@extends MultiToken\n*/\n\nvar TEXT = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n type: 'text'\n});\n/**\n\tMulti-linebreak token - represents a line break\n\t@class NL\n\t@extends MultiToken\n*/\n\nvar NL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n type: 'nl'\n});\n/**\n\tRepresents a list of tokens making up a valid URL\n\t@class URL\n\t@extends MultiToken\n*/\n\nvar URL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n type: 'url',\n isLink: true,\n\n /**\n \tLowercases relevant parts of the domain and adds the protocol if\n \trequired. Note that this will not escape unsafe HTML characters in the\n \tURL.\n \t\t@method href\n \t@param {String} protocol\n \t@return {String}\n */\n toHref: function toHref() {\n var protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';\n var hasProtocol = false;\n var hasSlashSlash = false;\n var tokens = this.v;\n var result = [];\n var i = 0; // Make the first part of the domain lowercase\n // Lowercase protocol\n\n while (tokens[i] instanceof _text.PROTOCOL) {\n hasProtocol = true;\n result.push(tokens[i].toString().toLowerCase());\n i++;\n } // Skip slash-slash\n\n\n while (tokens[i] instanceof _text.SLASH) {\n hasSlashSlash = true;\n result.push(tokens[i].toString());\n i++;\n } // Lowercase all other characters in the domain\n\n\n while (isDomainToken(tokens[i])) {\n result.push(tokens[i].toString().toLowerCase());\n i++;\n } // Leave all other characters as they were written\n\n\n for (; i < tokens.length; i++) {\n result.push(tokens[i].toString());\n }\n\n result = result.join('');\n\n if (!(hasProtocol || hasSlashSlash)) {\n result = protocol + '://' + result;\n }\n\n return result;\n },\n hasProtocol: function hasProtocol() {\n return this.v[0] instanceof _text.PROTOCOL;\n }\n});\nexports.Base = MultiToken;\nexports.MAILTOEMAIL = MAILTOEMAIL;\nexports.EMAIL = EMAIL;\nexports.NL = NL;\nexports.TEXT = TEXT;\nexports.URL = URL;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"@material-ui/utils\");\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = {\n /* Styles applied to the root element. */\n root: {\n padding: 16,\n '&:last-child': {\n paddingBottom: 24\n }\n }\n};\nexports.styles = styles;\n\nfunction CardContent(props) {\n var classes = props.classes,\n className = props.className,\n Component = props.component,\n other = (0, _objectWithoutProperties2[\"default\"])(props, [\"classes\", \"className\", \"component\"]);\n return _react[\"default\"].createElement(Component, (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(classes.root, className)\n }, other));\n}\n\nprocess.env.NODE_ENV !== \"production\" ? CardContent.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css-api) below for more details.\n */\n classes: _propTypes[\"default\"].object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _utils.componentPropType\n} : void 0;\nCardContent.defaultProps = {\n component: 'div'\n};\n\nvar _default = (0, _withStyles[\"default\"])(styles, {\n name: 'MuiCardContent'\n})(CardContent);\n\nexports[\"default\"] = _default;","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _utils = require(\"@material-ui/utils\");\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Tablelvl2Context = _interopRequireDefault(require(\"../Table/Tablelvl2Context\"));\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n color: 'inherit',\n display: 'table-row',\n height: 48,\n verticalAlign: 'middle',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none',\n '&$selected': {\n backgroundColor: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.04)' // grey[100]\n : 'rgba(255, 255, 255, 0.08)'\n },\n '&$hover:hover': {\n backgroundColor: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.07)' // grey[200]\n : 'rgba(255, 255, 255, 0.14)'\n }\n },\n\n /* Styles applied to the root element if `selected={true}`. */\n selected: {},\n\n /* Styles applied to the root element if `hover={true}`. */\n hover: {},\n\n /* Styles applied to the root element if table variant = 'head'. */\n head: {\n height: 56\n },\n\n /* Styles applied to the root element if table variant = 'footer'. */\n footer: {\n height: 56\n }\n };\n};\n/**\n * Will automatically set dynamic row height\n * based on the material table element parent (head, body, etc).\n */\n\n\nexports.styles = styles;\n\nfunction TableRow(props) {\n var classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n hover = props.hover,\n selected = props.selected,\n other = (0, _objectWithoutProperties2[\"default\"])(props, [\"classes\", \"className\", \"component\", \"hover\", \"selected\"]);\n return _react[\"default\"].createElement(_Tablelvl2Context[\"default\"].Consumer, null, function (tablelvl2) {\n var _classNames;\n\n var className = (0, _classnames[\"default\"])(classes.root, (_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, classes.head, tablelvl2 && tablelvl2.variant === 'head'), (0, _defineProperty2[\"default\"])(_classNames, classes.footer, tablelvl2 && tablelvl2.variant === 'footer'), (0, _defineProperty2[\"default\"])(_classNames, classes.hover, hover), (0, _defineProperty2[\"default\"])(_classNames, classes.selected, selected), _classNames), classNameProp);\n return _react[\"default\"].createElement(Component, (0, _extends2[\"default\"])({\n className: className\n }, other));\n });\n}\n\nprocess.env.NODE_ENV !== \"production\" ? TableRow.propTypes = {\n /**\n * Should be valid children such as `TableCell`.\n */\n children: _propTypes[\"default\"].node,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css-api) below for more details.\n */\n classes: _propTypes[\"default\"].object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes[\"default\"].string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _utils.componentPropType,\n\n /**\n * If `true`, the table row will shade on hover.\n */\n hover: _propTypes[\"default\"].bool,\n\n /**\n * If `true`, the table row will have the selected shading.\n */\n selected: _propTypes[\"default\"].bool\n} : void 0;\nTableRow.defaultProps = {\n component: 'tr',\n hover: false,\n selected: false\n};\n\nvar _default = (0, _withStyles[\"default\"])(styles, {\n name: 'MuiTableRow'\n})(TableRow);\n\nexports[\"default\"] = _default;"],"sourceRoot":""}