{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/sas.js"],"names":["module","exports","hljs","name","aliases","case_insensitive","keywords","literal","meta","contains","className","begin","end","variants","APOS_STRING_MODE","QUOTE_STRING_MODE","COMMENT","C_BLOCK_COMMENT_MODE"],"mappings":"8EAoDAA,EAAOC,QA/CP,SAAaC,GAOX,MAAO,CACLC,KAAM,MACNC,QAAS,CAAC,MAAO,OACjBC,kBAAkB,EAElBC,SAAU,CACRC,QAAS,kGACTC,KAZe,yrBAcjBC,SAAU,CAAC,CAETC,UAAW,UACXC,MAAO,2CACN,CAEDD,UAAW,WACXC,MAAO,iCACN,CAEDD,UAAW,WACXC,MAAO,yBACPC,IAAK,aACJ,CAEDF,UAAW,WACXC,MAAO,gZACN,CAEDD,UAAW,OACXC,MAAO,2BACN,CACDD,UAAW,OACXC,MAAO,y2DACN,CACDD,UAAW,SACXG,SAAU,CAACX,EAAKY,iBAAkBZ,EAAKa,oBACtCb,EAAKc,QAAQ,MAAO,KAAMd,EAAKe","file":"react-syntax-highlighter_languages_highlight_sas-55befab1971ed56d4471.js","sourcesContent":["/*\nLanguage: SAS\nAuthor: Mauricio Caceres <mauricio.caceres.bravo@gmail.com>\nDescription: Syntax Highlighting for SAS\n*/\nfunction sas(hljs) {\n  // Data step and PROC SQL statements\n  var SAS_KEYWORDS = '' + 'do if then else end until while ' + '' + 'abort array attrib by call cards cards4 catname continue ' + 'datalines datalines4 delete delim delimiter display dm drop ' + 'endsas error file filename footnote format goto in infile ' + 'informat input keep label leave length libname link list ' + 'lostcard merge missing modify options output out page put ' + 'redirect remove rename replace retain return select set skip ' + 'startsas stop title update waitsas where window x systask ' + '' + 'add and alter as cascade check create delete describe ' + 'distinct drop foreign from group having index insert into in ' + 'key like message modify msgtype not null on or order primary ' + 'references reset restrict select set table unique update ' + 'validate view where'; // Built-in SAS functions\n\n  var SAS_FUN = '' + 'abs|addr|airy|arcos|arsin|atan|attrc|attrn|band|' + 'betainv|blshift|bnot|bor|brshift|bxor|byte|cdf|ceil|' + 'cexist|cinv|close|cnonct|collate|compbl|compound|' + 'compress|cos|cosh|css|curobs|cv|daccdb|daccdbsl|' + 'daccsl|daccsyd|dacctab|dairy|date|datejul|datepart|' + 'datetime|day|dclose|depdb|depdbsl|depdbsl|depsl|' + 'depsl|depsyd|depsyd|deptab|deptab|dequote|dhms|dif|' + 'digamma|dim|dinfo|dnum|dopen|doptname|doptnum|dread|' + 'dropnote|dsname|erf|erfc|exist|exp|fappend|fclose|' + 'fcol|fdelete|fetch|fetchobs|fexist|fget|fileexist|' + 'filename|fileref|finfo|finv|fipname|fipnamel|' + 'fipstate|floor|fnonct|fnote|fopen|foptname|foptnum|' + 'fpoint|fpos|fput|fread|frewind|frlen|fsep|fuzz|' + 'fwrite|gaminv|gamma|getoption|getvarc|getvarn|hbound|' + 'hms|hosthelp|hour|ibessel|index|indexc|indexw|input|' + 'inputc|inputn|int|intck|intnx|intrr|irr|jbessel|' + 'juldate|kurtosis|lag|lbound|left|length|lgamma|' + 'libname|libref|log|log10|log2|logpdf|logpmf|logsdf|' + 'lowcase|max|mdy|mean|min|minute|mod|month|mopen|' + 'mort|n|netpv|nmiss|normal|note|npv|open|ordinal|' + 'pathname|pdf|peek|peekc|pmf|point|poisson|poke|' + 'probbeta|probbnml|probchi|probf|probgam|probhypr|' + 'probit|probnegb|probnorm|probt|put|putc|putn|qtr|' + 'quote|ranbin|rancau|ranexp|rangam|range|rank|rannor|' + 'ranpoi|rantbl|rantri|ranuni|repeat|resolve|reverse|' + 'rewind|right|round|saving|scan|sdf|second|sign|' + 'sin|sinh|skewness|soundex|spedis|sqrt|std|stderr|' + 'stfips|stname|stnamel|substr|sum|symget|sysget|' + 'sysmsg|sysprod|sysrc|system|tan|tanh|time|timepart|' + 'tinv|tnonct|today|translate|tranwrd|trigamma|' + 'trim|trimn|trunc|uniform|upcase|uss|var|varfmt|' + 'varinfmt|varlabel|varlen|varname|varnum|varray|' + 'varrayx|vartype|verify|vformat|vformatd|vformatdx|' + 'vformatn|vformatnx|vformatw|vformatwx|vformatx|' + 'vinarray|vinarrayx|vinformat|vinformatd|vinformatdx|' + 'vinformatn|vinformatnx|vinformatw|vinformatwx|' + 'vinformatx|vlabel|vlabelx|vlength|vlengthx|vname|' + 'vnamex|vtype|vtypex|weekday|year|yyq|zipfips|zipname|' + 'zipnamel|zipstate'; // Built-in macro functions\n\n  var SAS_MACRO_FUN = 'bquote|nrbquote|cmpres|qcmpres|compstor|' + 'datatyp|display|do|else|end|eval|global|goto|' + 'if|index|input|keydef|label|left|length|let|' + 'local|lowcase|macro|mend|nrbquote|nrquote|' + 'nrstr|put|qcmpres|qleft|qlowcase|qscan|' + 'qsubstr|qsysfunc|qtrim|quote|qupcase|scan|str|' + 'substr|superq|syscall|sysevalf|sysexec|sysfunc|' + 'sysget|syslput|sysprod|sysrc|sysrput|then|to|' + 'trim|unquote|until|upcase|verify|while|window';\n  return {\n    name: 'SAS',\n    aliases: ['sas', 'SAS'],\n    case_insensitive: true,\n    // SAS is case-insensitive\n    keywords: {\n      literal: 'null missing _all_ _automatic_ _character_ _infile_ ' + '_n_ _name_ _null_ _numeric_ _user_ _webout_',\n      meta: SAS_KEYWORDS\n    },\n    contains: [{\n      // Distinct highlight for proc <proc>, data, run, quit\n      className: 'keyword',\n      begin: /^\\s*(proc [\\w\\d_]+|data|run|quit)[\\s\\;]/\n    }, {\n      // Macro variables\n      className: 'variable',\n      begin: /\\&[a-zA-Z_\\&][a-zA-Z0-9_]*\\.?/\n    }, {\n      // Special emphasis for datalines|cards\n      className: 'emphasis',\n      begin: /^\\s*datalines|cards.*;/,\n      end: /^\\s*;\\s*$/\n    }, {\n      // Built-in macro variables take precedence\n      className: 'built_in',\n      begin: '%(' + SAS_MACRO_FUN + ')'\n    }, {\n      // User-defined macro functions highlighted after\n      className: 'name',\n      begin: /%[a-zA-Z_][a-zA-Z_0-9]*/\n    }, {\n      className: 'meta',\n      begin: '[^%](' + SAS_FUN + ')[\\(]'\n    }, {\n      className: 'string',\n      variants: [hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE]\n    }, hljs.COMMENT('\\\\*', ';'), hljs.C_BLOCK_COMMENT_MODE]\n  };\n}\n\nmodule.exports = sas;"],"sourceRoot":""}