{"version":3,"file":"perl.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/perl.js"],"sourcesContent":["/*\nLanguage: Perl\nAuthor: Peter Leonov <gojpeg@yandex.ru>\nWebsite: https://www.perl.org\nCategory: common\n*/\n\n/** @type LanguageFn */\nfunction perl(hljs) {\n  const regex = hljs.regex;\n  const KEYWORDS = [\n    'abs',\n    'accept',\n    'alarm',\n    'and',\n    'atan2',\n    'bind',\n    'binmode',\n    'bless',\n    'break',\n    'caller',\n    'chdir',\n    'chmod',\n    'chomp',\n    'chop',\n    'chown',\n    'chr',\n    'chroot',\n    'class',\n    'close',\n    'closedir',\n    'connect',\n    'continue',\n    'cos',\n    'crypt',\n    'dbmclose',\n    'dbmopen',\n    'defined',\n    'delete',\n    'die',\n    'do',\n    'dump',\n    'each',\n    'else',\n    'elsif',\n    'endgrent',\n    'endhostent',\n    'endnetent',\n    'endprotoent',\n    'endpwent',\n    'endservent',\n    'eof',\n    'eval',\n    'exec',\n    'exists',\n    'exit',\n    'exp',\n    'fcntl',\n    'field',\n    'fileno',\n    'flock',\n    'for',\n    'foreach',\n    'fork',\n    'format',\n    'formline',\n    'getc',\n    'getgrent',\n    'getgrgid',\n    'getgrnam',\n    'gethostbyaddr',\n    'gethostbyname',\n    'gethostent',\n    'getlogin',\n    'getnetbyaddr',\n    'getnetbyname',\n    'getnetent',\n    'getpeername',\n    'getpgrp',\n    'getpriority',\n    'getprotobyname',\n    'getprotobynumber',\n    'getprotoent',\n    'getpwent',\n    'getpwnam',\n    'getpwuid',\n    'getservbyname',\n    'getservbyport',\n    'getservent',\n    'getsockname',\n    'getsockopt',\n    'given',\n    'glob',\n    'gmtime',\n    'goto',\n    'grep',\n    'gt',\n    'hex',\n    'if',\n    'index',\n    'int',\n    'ioctl',\n    'join',\n    'keys',\n    'kill',\n    'last',\n    'lc',\n    'lcfirst',\n    'length',\n    'link',\n    'listen',\n    'local',\n    'localtime',\n    'log',\n    'lstat',\n    'lt',\n    'ma',\n    'map',\n    'method',\n    'mkdir',\n    'msgctl',\n    'msgget',\n    'msgrcv',\n    'msgsnd',\n    'my',\n    'ne',\n    'next',\n    'no',\n    'not',\n    'oct',\n    'open',\n    'opendir',\n    'or',\n    'ord',\n    'our',\n    'pack',\n    'package',\n    'pipe',\n    'pop',\n    'pos',\n    'print',\n    'printf',\n    'prototype',\n    'push',\n    'q|0',\n    'qq',\n    'quotemeta',\n    'qw',\n    'qx',\n    'rand',\n    'read',\n    'readdir',\n    'readline',\n    'readlink',\n    'readpipe',\n    'recv',\n    'redo',\n    'ref',\n    'rename',\n    'require',\n    'reset',\n    'return',\n    'reverse',\n    'rewinddir',\n    'rindex',\n    'rmdir',\n    'say',\n    'scalar',\n    'seek',\n    'seekdir',\n    'select',\n    'semctl',\n    'semget',\n    'semop',\n    'send',\n    'setgrent',\n    'sethostent',\n    'setnetent',\n    'setpgrp',\n    'setpriority',\n    'setprotoent',\n    'setpwent',\n    'setservent',\n    'setsockopt',\n    'shift',\n    'shmctl',\n    'shmget',\n    'shmread',\n    'shmwrite',\n    'shutdown',\n    'sin',\n    'sleep',\n    'socket',\n    'socketpair',\n    'sort',\n    'splice',\n    'split',\n    'sprintf',\n    'sqrt',\n    'srand',\n    'stat',\n    'state',\n    'study',\n    'sub',\n    'substr',\n    'symlink',\n    'syscall',\n    'sysopen',\n    'sysread',\n    'sysseek',\n    'system',\n    'syswrite',\n    'tell',\n    'telldir',\n    'tie',\n    'tied',\n    'time',\n    'times',\n    'tr',\n    'truncate',\n    'uc',\n    'ucfirst',\n    'umask',\n    'undef',\n    'unless',\n    'unlink',\n    'unpack',\n    'unshift',\n    'untie',\n    'until',\n    'use',\n    'utime',\n    'values',\n    'vec',\n    'wait',\n    'waitpid',\n    'wantarray',\n    'warn',\n    'when',\n    'while',\n    'write',\n    'x|0',\n    'xor',\n    'y|0'\n  ];\n\n  // https://perldoc.perl.org/perlre#Modifiers\n  const REGEX_MODIFIERS = /[dualxmsipngr]{0,12}/; // aa and xx are valid, making max length 12\n  const PERL_KEYWORDS = {\n    $pattern: /[\\w.]+/,\n    keyword: KEYWORDS.join(\" \")\n  };\n  const SUBST = {\n    className: 'subst',\n    begin: '[$@]\\\\{',\n    end: '\\\\}',\n    keywords: PERL_KEYWORDS\n  };\n  const METHOD = {\n    begin: /->\\{/,\n    end: /\\}/\n    // contains defined later\n  };\n  const ATTR = {\n    scope: 'attr',\n    match: /\\s+:\\s*\\w+(\\s*\\(.*?\\))?/,\n  };\n  const VAR = {\n    scope: 'variable',\n    variants: [\n      { begin: /\\$\\d/ },\n      { begin: regex.concat(\n        /[$%@](?!\")(\\^\\w\\b|#\\w+(::\\w+)*|\\{\\w+\\}|\\w+(::\\w*)*)/,\n        // negative look-ahead tries to avoid matching patterns that are not\n        // Perl at all like $ident$, @ident@, etc.\n        `(?![A-Za-z])(?![@$%])`\n        )\n      },\n      {\n        // Only $= is a special Perl variable and one can't declare @= or %=.\n        begin: /[$%@](?!\")[^\\s\\w{=]|\\$=/,\n        relevance: 0\n      }\n    ],\n    contains: [ ATTR ],\n  };\n  const NUMBER = {\n    className: 'number',\n    variants: [\n      // decimal numbers:\n      // include the case where a number starts with a dot (eg. .9), and\n      // the leading 0? avoids mixing the first and second match on 0.x cases\n      { match: /0?\\.[0-9][0-9_]+\\b/ },\n      // include the special versioned number (eg. v5.38)\n      { match: /\\bv?(0|[1-9][0-9_]*(\\.[0-9_]+)?|[1-9][0-9_]*)\\b/ },\n      // non-decimal numbers:\n      { match: /\\b0[0-7][0-7_]*\\b/ },\n      { match: /\\b0x[0-9a-fA-F][0-9a-fA-F_]*\\b/ },\n      { match: /\\b0b[0-1][0-1_]*\\b/ },\n    ],\n    relevance: 0\n  };\n  const STRING_CONTAINS = [\n    hljs.BACKSLASH_ESCAPE,\n    SUBST,\n    VAR\n  ];\n  const REGEX_DELIMS = [\n    /!/,\n    /\\//,\n    /\\|/,\n    /\\?/,\n    /'/,\n    /\"/, // valid but infrequent and weird\n    /#/ // valid but infrequent and weird\n  ];\n  /**\n   * @param {string|RegExp} prefix\n   * @param {string|RegExp} open\n   * @param {string|RegExp} close\n   */\n  const PAIRED_DOUBLE_RE = (prefix, open, close = '\\\\1') => {\n    const middle = (close === '\\\\1')\n      ? close\n      : regex.concat(close, open);\n    return regex.concat(\n      regex.concat(\"(?:\", prefix, \")\"),\n      open,\n      /(?:\\\\.|[^\\\\\\/])*?/,\n      middle,\n      /(?:\\\\.|[^\\\\\\/])*?/,\n      close,\n      REGEX_MODIFIERS\n    );\n  };\n  /**\n   * @param {string|RegExp} prefix\n   * @param {string|RegExp} open\n   * @param {string|RegExp} close\n   */\n  const PAIRED_RE = (prefix, open, close) => {\n    return regex.concat(\n      regex.concat(\"(?:\", prefix, \")\"),\n      open,\n      /(?:\\\\.|[^\\\\\\/])*?/,\n      close,\n      REGEX_MODIFIERS\n    );\n  };\n  const PERL_DEFAULT_CONTAINS = [\n    VAR,\n    hljs.HASH_COMMENT_MODE,\n    hljs.COMMENT(\n      /^=\\w/,\n      /=cut/,\n      { endsWithParent: true }\n    ),\n    METHOD,\n    {\n      className: 'string',\n      contains: STRING_CONTAINS,\n      variants: [\n        {\n          begin: 'q[qwxr]?\\\\s*\\\\(',\n          end: '\\\\)',\n          relevance: 5\n        },\n        {\n          begin: 'q[qwxr]?\\\\s*\\\\[',\n          end: '\\\\]',\n          relevance: 5\n        },\n        {\n          begin: 'q[qwxr]?\\\\s*\\\\{',\n          end: '\\\\}',\n          relevance: 5\n        },\n        {\n          begin: 'q[qwxr]?\\\\s*\\\\|',\n          end: '\\\\|',\n          relevance: 5\n        },\n        {\n          begin: 'q[qwxr]?\\\\s*<',\n          end: '>',\n          relevance: 5\n        },\n        {\n          begin: 'qw\\\\s+q',\n          end: 'q',\n          relevance: 5\n        },\n        {\n          begin: '\\'',\n          end: '\\'',\n          contains: [ hljs.BACKSLASH_ESCAPE ]\n        },\n        {\n          begin: '\"',\n          end: '\"'\n        },\n        {\n          begin: '`',\n          end: '`',\n          contains: [ hljs.BACKSLASH_ESCAPE ]\n        },\n        {\n          begin: /\\{\\w+\\}/,\n          relevance: 0\n        },\n        {\n          begin: '-?\\\\w+\\\\s*=>',\n          relevance: 0\n        }\n      ]\n    },\n    NUMBER,\n    { // regexp container\n      begin: '(\\\\/\\\\/|' + hljs.RE_STARTERS_RE + '|\\\\b(split|return|print|reverse|grep)\\\\b)\\\\s*',\n      keywords: 'split return print reverse grep',\n      relevance: 0,\n      contains: [\n        hljs.HASH_COMMENT_MODE,\n        {\n          className: 'regexp',\n          variants: [\n            // allow matching common delimiters\n            { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", regex.either(...REGEX_DELIMS, { capture: true })) },\n            // and then paired delmis\n            { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\(\", \"\\\\)\") },\n            { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\[\", \"\\\\]\") },\n            { begin: PAIRED_DOUBLE_RE(\"s|tr|y\", \"\\\\{\", \"\\\\}\") }\n          ],\n          relevance: 2\n        },\n        {\n          className: 'regexp',\n          variants: [\n            {\n              // could be a comment in many languages so do not count\n              // as relevant\n              begin: /(m|qr)\\/\\//,\n              relevance: 0\n            },\n            // prefix is optional with /regex/\n            { begin: PAIRED_RE(\"(?:m|qr)?\", /\\//, /\\//) },\n            // allow matching common delimiters\n            { begin: PAIRED_RE(\"m|qr\", regex.either(...REGEX_DELIMS, { capture: true }), /\\1/) },\n            // allow common paired delmins\n            { begin: PAIRED_RE(\"m|qr\", /\\(/, /\\)/) },\n            { begin: PAIRED_RE(\"m|qr\", /\\[/, /\\]/) },\n            { begin: PAIRED_RE(\"m|qr\", /\\{/, /\\}/) }\n          ]\n        }\n      ]\n    },\n    {\n      className: 'function',\n      beginKeywords: 'sub method',\n      end: '(\\\\s*\\\\(.*?\\\\))?[;{]',\n      excludeEnd: true,\n      relevance: 5,\n      contains: [ hljs.TITLE_MODE, ATTR ]\n    },\n    {\n      className: 'class',\n      beginKeywords: 'class',\n      end: '[;{]',\n      excludeEnd: true,\n      relevance: 5,\n      contains: [ hljs.TITLE_MODE, ATTR, NUMBER ]\n    },\n    {\n      begin: '-\\\\w\\\\b',\n      relevance: 0\n    },\n    {\n      begin: \"^__DATA__$\",\n      end: \"^__END__$\",\n      subLanguage: 'mojolicious',\n      contains: [\n        {\n          begin: \"^@@.*\",\n          end: \"$\",\n          className: \"comment\"\n        }\n      ]\n    }\n  ];\n  SUBST.contains = PERL_DEFAULT_CONTAINS;\n  METHOD.contains = PERL_DEFAULT_CONTAINS;\n\n  return {\n    name: 'Perl',\n    aliases: [\n      'pl',\n      'pm'\n    ],\n    keywords: PERL_KEYWORDS,\n    contains: PERL_DEFAULT_CONTAINS\n  };\n}\n\nmodule.exports = perl;\n"],"names":["perl","hljs","regex","KEYWORDS","REGEX_MODIFIERS","PERL_KEYWORDS","SUBST","METHOD","ATTR","VAR","NUMBER","STRING_CONTAINS","REGEX_DELIMS","PAIRED_DOUBLE_RE","prefix","open","close","middle","PAIRED_RE","PERL_DEFAULT_CONTAINS","perl_1"],"mappings":";;;;AAQA,WAASA,EAAKC,GAAM;AAClB,UAAMC,IAAQD,EAAK,OACbE,IAAW;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,GAGQC,IAAkB,wBAClBC,IAAgB;AAAA,MACpB,UAAU;AAAA,MACV,SAASF,EAAS,KAAK,GAAG;AAAA,IAC9B,GACQG,IAAQ;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,MACP,KAAK;AAAA,MACL,UAAUD;AAAA,IACd,GACQE,IAAS;AAAA,MACb,OAAO;AAAA,MACP,KAAK;AAAA;AAAA,IAET,GACQC,IAAO;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,IACX,GACQC,IAAM;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,QACR,EAAE,OAAO,OAAM;AAAA,QACf;AAAA,UAAE,OAAOP,EAAM;AAAA,YACb;AAAA;AAAA;AAAA,YAGA;AAAA;;QAGF;AAAA;AAAA,UAEE,OAAO;AAAA,UACP,WAAW;AAAA;;MAGf,UAAU,CAAEM,CAAI;AAAA,IACpB,GACQE,IAAS;AAAA,MACb,WAAW;AAAA,MACX,UAAU;AAAA;AAAA;AAAA;AAAA,QAIR,EAAE,OAAO,qBAAoB;AAAA;AAAA,QAE7B,EAAE,OAAO,kDAAiD;AAAA;AAAA,QAE1D,EAAE,OAAO,oBAAmB;AAAA,QAC5B,EAAE,OAAO,iCAAgC;AAAA,QACzC,EAAE,OAAO,qBAAoB;AAAA;MAE/B,WAAW;AAAA,IACf,GACQC,IAAkB;AAAA,MACtBV,EAAK;AAAA,MACLK;AAAA,MACAG;AAAA,IACJ,GACQG,IAAe;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,MACA;AAAA;AAAA,IACJ,GAMQC,IAAmB,CAACC,GAAQC,GAAMC,IAAQ,UAAU;AACxD,YAAMC,IAAUD,MAAU,QACtBA,IACAd,EAAM,OAAOc,GAAOD,CAAI;AAC5B,aAAOb,EAAM;AAAA,QACXA,EAAM,OAAO,OAAOY,GAAQ,GAAG;AAAA,QAC/BC;AAAA,QACA;AAAA,QACAE;AAAA,QACA;AAAA,QACAD;AAAA,QACAZ;AAAA,MACN;AAAA,IACA,GAMQc,IAAY,CAACJ,GAAQC,GAAMC,MACxBd,EAAM;AAAA,MACXA,EAAM,OAAO,OAAOY,GAAQ,GAAG;AAAA,MAC/BC;AAAA,MACA;AAAA,MACAC;AAAA,MACAZ;AAAA,IACN,GAEQe,IAAwB;AAAA,MAC5BV;AAAA,MACAR,EAAK;AAAA,MACLA,EAAK;AAAA,QACH;AAAA,QACA;AAAA,QACA,EAAE,gBAAgB,GAAI;AAAA;MAExBM;AAAA,MACA;AAAA,QACE,WAAW;AAAA,QACX,UAAUI;AAAA,QACV,UAAU;AAAA,UACR;AAAA,YACE,OAAO;AAAA,YACP,KAAK;AAAA,YACL,WAAW;AAAA;UAEb;AAAA,YACE,OAAO;AAAA,YACP,KAAK;AAAA,YACL,WAAW;AAAA;UAEb;AAAA,YACE,OAAO;AAAA,YACP,KAAK;AAAA,YACL,WAAW;AAAA;UAEb;AAAA,YACE,OAAO;AAAA,YACP,KAAK;AAAA,YACL,WAAW;AAAA;UAEb;AAAA,YACE,OAAO;AAAA,YACP,KAAK;AAAA,YACL,WAAW;AAAA;UAEb;AAAA,YACE,OAAO;AAAA,YACP,KAAK;AAAA,YACL,WAAW;AAAA;UAEb;AAAA,YACE,OAAO;AAAA,YACP,KAAK;AAAA,YACL,UAAU,CAAEV,EAAK,gBAAgB;AAAA;UAEnC;AAAA,YACE,OAAO;AAAA,YACP,KAAK;AAAA;UAEP;AAAA,YACE,OAAO;AAAA,YACP,KAAK;AAAA,YACL,UAAU,CAAEA,EAAK,gBAAgB;AAAA;UAEnC;AAAA,YACE,OAAO;AAAA,YACP,WAAW;AAAA;UAEb;AAAA,YACE,OAAO;AAAA,YACP,WAAW;AAAA;;;MAIjBS;AAAA,MACA;AAAA;AAAA,QACE,OAAO,aAAaT,EAAK,iBAAiB;AAAA,QAC1C,UAAU;AAAA,QACV,WAAW;AAAA,QACX,UAAU;AAAA,UACRA,EAAK;AAAA,UACL;AAAA,YACE,WAAW;AAAA,YACX,UAAU;AAAA;AAAA,cAER,EAAE,OAAOY,EAAiB,UAAUX,EAAM,OAAO,GAAGU,GAAc,EAAE,SAAS,GAAI,CAAE,CAAC,EAAC;AAAA;AAAA,cAErF,EAAE,OAAOC,EAAiB,UAAU,OAAO,KAAK,EAAC;AAAA,cACjD,EAAE,OAAOA,EAAiB,UAAU,OAAO,KAAK,EAAC;AAAA,cACjD,EAAE,OAAOA,EAAiB,UAAU,OAAO,KAAK,EAAC;AAAA;YAEnD,WAAW;AAAA;UAEb;AAAA,YACE,WAAW;AAAA,YACX,UAAU;AAAA,cACR;AAAA;AAAA;AAAA,gBAGE,OAAO;AAAA,gBACP,WAAW;AAAA;;cAGb,EAAE,OAAOK,EAAU,aAAa,MAAM,IAAI,EAAC;AAAA;AAAA,cAE3C,EAAE,OAAOA,EAAU,QAAQhB,EAAM,OAAO,GAAGU,GAAc,EAAE,SAAS,IAAM,GAAG,IAAI,EAAC;AAAA;AAAA,cAElF,EAAE,OAAOM,EAAU,QAAQ,MAAM,IAAI,EAAC;AAAA,cACtC,EAAE,OAAOA,EAAU,QAAQ,MAAM,IAAI,EAAC;AAAA,cACtC,EAAE,OAAOA,EAAU,QAAQ,MAAM,IAAI,EAAC;AAAA;;;;MAK9C;AAAA,QACE,WAAW;AAAA,QACX,eAAe;AAAA,QACf,KAAK;AAAA,QACL,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,UAAU,CAAEjB,EAAK,YAAYO,CAAI;AAAA;MAEnC;AAAA,QACE,WAAW;AAAA,QACX,eAAe;AAAA,QACf,KAAK;AAAA,QACL,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,UAAU,CAAEP,EAAK,YAAYO,GAAME,CAAM;AAAA;MAE3C;AAAA,QACE,OAAO;AAAA,QACP,WAAW;AAAA;MAEb;AAAA,QACE,OAAO;AAAA,QACP,KAAK;AAAA,QACL,aAAa;AAAA,QACb,UAAU;AAAA,UACR;AAAA,YACE,OAAO;AAAA,YACP,KAAK;AAAA,YACL,WAAW;AAAA;;;IAIrB;AACE,WAAAJ,EAAM,WAAWa,GACjBZ,EAAO,WAAWY,GAEX;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,QACP;AAAA,QACA;AAAA;MAEF,UAAUd;AAAA,MACV,UAAUc;AAAA,IACd;AAAA,EACA;AAEA,SAAAC,IAAiBpB;;","x_google_ignoreList":[0]}