var n, r;
function o() {
  if (r)
    return n;
  r = 1;
  function s(e) {
    const i = {
      className: "number",
      begin: /[$%]\d+/
    }, t = {
      className: "number",
      begin: /\b\d+/
    }, a = {
      className: "number",
      begin: /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(:\d{1,5})?/
    }, c = {
      className: "number",
      begin: /:\d{1,5}/
    };
    return {
      name: "Apache config",
      aliases: ["apacheconf"],
      case_insensitive: !0,
      contains: [
        e.HASH_COMMENT_MODE,
        {
          className: "section",
          begin: /<\/?/,
          end: />/,
          contains: [
            a,
            c,
            // low relevance prevents us from claming XML/HTML where this rule would
            // match strings inside of XML tags
            e.inherit(e.QUOTE_STRING_MODE, { relevance: 0 })
          ]
        },
        {
          className: "attribute",
          begin: /\w+/,
          relevance: 0,
          // keywords aren’t needed for highlighting per se, they only boost relevance
          // for a very generally defined mode (starts with a word, ends with line-end
          keywords: { _: [
            "order",
            "deny",
            "allow",
            "setenv",
            "rewriterule",
            "rewriteengine",
            "rewritecond",
            "documentroot",
            "sethandler",
            "errordocument",
            "loadmodule",
            "options",
            "header",
            "listen",
            "serverroot",
            "servername"
          ] },
          starts: {
            end: /$/,
            relevance: 0,
            keywords: { literal: "on off all deny allow" },
            contains: [
              {
                className: "meta",
                begin: /\s\[/,
                end: /\]$/
              },
              {
                className: "variable",
                begin: /[\$%]\{/,
                end: /\}/,
                contains: [
                  "self",
                  i
                ]
              },
              a,
              t,
              e.QUOTE_STRING_MODE
            ]
          }
        }
      ],
      illegal: /\S/
    };
  }
  return n = s, n;
}
export {
  o as __require
};
