function errorIfNotEmpty(e) {
  var t = e.match(/^\s*\S/);
  return e.skipToEnd(), t ? "error" : null;
}
const asciiArmor = {
  name: "asciiarmor",
  token: function(t, n) {
    var r;
    if (n.state == "top") return t.sol() && (r = t.match(/^-----BEGIN (.*)?-----\s*$/)) ? (n.state = "headers", n.type = r[1], "tag") : errorIfNotEmpty(t);
    if (n.state == "headers") {
      if (t.sol() && t.match(/^\w+:/)) return n.state = "header", "atom";
      var i = errorIfNotEmpty(t);
      return i && (n.state = "body"), i;
    } else if (n.state == "header") return t.skipToEnd(), n.state = "headers", "string";
    else if (n.state == "body") return t.sol() && (r = t.match(/^-----END (.*)?-----\s*$/)) ? r[1] == n.type ? (n.state = "end", "tag") : "error" : t.eatWhile(/[A-Za-z0-9+\/=]/) ? null : (t.next(), "error");
    else if (n.state == "end") return errorIfNotEmpty(t);
  },
  blankLine: function(e) {
    e.state == "headers" && (e.state = "body");
  },
  startState: function() {
    return {
      state: "top",
      type: null
    };
  }
};
export {
  asciiArmor as t
};
