{"mappings":";AAAA,IAAMA,EAAO,OAAO,OAAO,KAAK,MAAM,ytrCAA+vwC,CAAC,EAE/xwCC,EAAQ,CACfD,CACA","names":["lang","bird2_default"],"sources":["../esm/npm/@shikijs/langs@4.4.3/node_modules/@shikijs/langs/dist/bird2.mjs"],"sourcesContent":["const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"BIRD2 Configuration\\\",\\\"fileTypes\\\":[\\\"conf\\\",\\\"bird\\\",\\\"bird2\\\",\\\"bird3\\\",\\\"bird.conf\\\",\\\"bird2.conf\\\",\\\"bird3.conf\\\"],\\\"foldingStartMarker\\\":\\\"\\\\\\\\{\\\\\\\\s*$\\\",\\\"foldingStopMarker\\\":\\\"^\\\\\\\\s*}\\\",\\\"name\\\":\\\"bird2\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#ip-addresses\\\"},{\\\"include\\\":\\\"#prefixes\\\"},{\\\"include\\\":\\\"#vpn-rd\\\"},{\\\"include\\\":\\\"#bytestrings\\\"},{\\\"include\\\":\\\"#bgp-paths\\\"},{\\\"include\\\":\\\"#print-statements\\\"},{\\\"include\\\":\\\"#template-definitions\\\"},{\\\"include\\\":\\\"#filter-definitions\\\"},{\\\"include\\\":\\\"#function-definitions\\\"},{\\\"include\\\":\\\"#protocol-definitions\\\"},{\\\"include\\\":\\\"#next-hop-statements\\\"},{\\\"include\\\":\\\"#neighbor-statements\\\"},{\\\"include\\\":\\\"#import-export-statements\\\"},{\\\"include\\\":\\\"#variable-declarations\\\"},{\\\"include\\\":\\\"#method-calls\\\"},{\\\"include\\\":\\\"#function-calls\\\"},{\\\"include\\\":\\\"#method-properties\\\"},{\\\"include\\\":\\\"#route-attributes\\\"},{\\\"include\\\":\\\"#data-types\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#protocol-phrases\\\"},{\\\"include\\\":\\\"#structural-keywords\\\"},{\\\"include\\\":\\\"#functional-keywords\\\"},{\\\"include\\\":\\\"#semantic-modifiers\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#filter-names\\\"},{\\\"include\\\":\\\"#user-variables\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#symbols\\\"},{\\\"include\\\":\\\"#blocks\\\"}],\\\"repository\\\":{\\\"bgp-paths\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bgp-path.begin.bird\\\"}},\\\"end\\\":\\\"=]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bgp-path.end.bird\\\"}},\\\"name\\\":\\\"meta.bgp-path.bird\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[*+?]\\\",\\\"name\\\":\\\"keyword.operator.wildcard.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.asn.bird\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#symbols\\\"}]}]},\\\"blocks\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.bird\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.bird\\\"}},\\\"name\\\":\\\"meta.block.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.set.begin.bird\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.set.end.bird\\\"}},\\\"name\\\":\\\"meta.set.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tuple.begin.bird\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tuple.end.bird\\\"}},\\\"name\\\":\\\"meta.tuple.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.bird\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.bird\\\"}]},\\\"builtin-functions\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:defined|unset|roa_check|aspa_check|aspa_check_downstream|aspa_check_upstream|from_hex|format|append|prepend|add|delete|empty|reset|bt_assert|bt_check_assign|bt_test_suite|bt_test_same)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.builtin.bird\\\"}]},\\\"bytestrings\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bhex:\\\\\\\\h{2}(?:[-.:\\\\\\\\s]*\\\\\\\\h{2})*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.bytestring.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:\\\\\\\\h{2}[-.:\\\\\\\\s]*){15,}\\\\\\\\h{2}\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.bytestring.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\h{32,}\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.bytestring.bird\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.bird\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.number-sign.bird\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.bird\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.bird\\\"}},\\\"name\\\":\\\"comment.block.bird\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:on|off|yes|no|true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:empty|unknown|generic|rt|ro|one|ten)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.special.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bSCOPE_(?:HOST|LINK|SITE|ORGANIZATION|UNIVERSE|UNDEFINED)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.scope.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bRTS_(?:STATIC|INHERIT|DEVICE|STATIC_DEVICE|REDIRECT|RIP|OSPF|OSPF_IA|OSPF_EXT1|OSPF_EXT2|BGP|PIPE|BABEL|RPKI|L3VPN|AGGREGATED|BRIDGE|EVPN)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.source.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bRTD_(?:UNICAST|ROUTER|DEVICE|MULTIPATH|BLACKHOLE|UNREACHABLE|PROHIBIT)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.dest.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bROA_(?:UNKNOWN|INVALID|VALID)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.roa.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bASPA_(?:UNKNOWN|INVALID|VALID)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.aspa.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bORIGIN_(?:IGP|EGP|INCOMPLETE)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.bgp-origin.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bRA_PREF_(?:LOW|MEDIUM|HIGH)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.ra-preference.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bAF_IPV[46]\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.address-family.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bKBR_SRC_(?:BIRD|LOCAL|STATIC|DYNAMIC)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.bridge-source.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bNET_(?:IP4|IP6|IP6_SADR|VPN4|VPN6|ROA4|ROA6|FLOW4|FLOW6|MPLS|ETH|ASPA|EVPN|EVPN_EAD|EVPN_MAC|EVPN_IMET|EVPN_ES|NEIGHBOR)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.net-type.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bMPLS_POLICY_(?:NONE|STATIC|PREFIX|AGGREGATE|VRF)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.mpls.bird\\\"}]},\\\"data-types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:(?:int|pair|quad|ip|prefix|mac|ec|lc|rd|enum)\\\\\\\\s+set|int|bool|ip|prefix|mac|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.bird\\\"}]},\\\"filter-definitions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(filter)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.filter.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.filter.bird\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.bird\\\"}},\\\"name\\\":\\\"meta.filter-definition.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"filter-names\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[A-Z_a-z][0-9A-Z_a-z]*_filter\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.filter.bird\\\"}]},\\\"function-calls\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.bird\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.function-call.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"function-definitions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(function)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.function.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.user-defined.bird\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.bird\\\"}},\\\"name\\\":\\\"meta.function-definition.bird\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bird\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bird\\\"}},\\\"name\\\":\\\"meta.function-parameters.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#data-types\\\"},{\\\"include\\\":\\\"#symbols\\\"}]},{\\\"begin\\\":\\\"-\u003e\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.return-type.bird\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.function-return-type.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#data-types\\\"}]},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"functional-keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:static|rip|ospf|bgp|babel|rpki|bfd|bmp|device|direct|kernel|pipe|perf|mrt|aggregator|l3vpn|radv|bridge|evpn)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.protocol-type.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:graceful|restart|preference|disabled|hold|keepalive|connect|retry|start|delay|error|wait|forget|scan|randomize|router|id)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.routing.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:interface|type|wired|wireless|tunnel|rxcost|limit|hello|update|interval|port|tx|class|dscp|priority|rx|buffer|length|check|link|rtt|cost|min|max|decay|send|timestamps)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.interface.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bpreferred\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.device.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:(?:refresh\\\\\\\\s+keep|retry\\\\\\\\s+keep|expire\\\\\\\\s+keep|transport\\\\\\\\s+tcp|transport\\\\\\\\s+ssh|authentication\\\\\\\\s+none|authentication\\\\\\\\s+md5|local\\\\\\\\s+address|ignore\\\\\\\\s+max\\\\\\\\s+length|min\\\\\\\\s+version|max\\\\\\\\s+version|bird\\\\\\\\s+private\\\\\\\\s+key|remote\\\\\\\\s+public\\\\\\\\s+key)|(?:refresh|retry|expire|transport|ssh|tcp|user|address|version|ignore|private|public|key))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.rpki.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:cmac\\\\\\\\s+aes128|authentication|none|mac|permissive|ao|password|keys??|secret|deprecated|preferred|generate|accept|from|to|algorithm|hmac|cmac|aes128|sha1|sha224|sha256|sha384|sha512|blake2s128|blake2s256|blake2b256|blake2b512)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.auth.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\btime\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.time.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:hostname|description|debug|log|syslog|stderr|udp|cli|bird|protocols|tables|channels|timeouts|passwords|bfd|confederation|cluster|stub|dead|neighbors|area|md5|multihop|passive|rfc1583compat|tick|ls|retransmit|transmit|ack|state|database|summary|external|nssa|translator|always|candidate|never|role|stability|election|action|warn|warning|auth|bug|fatal|info|trace|block|disable|keep|filtered|receive|modify|add|delete|withdraw|unreachable|blackhole|prohibit|unreach|igp_metric|localpref|med|origin|community|large_community|ext_community|as_path|prepend|weight|gateway|scope|onlink|recursive|multipath|igp|channel|sadr|src|learn|persist|via|ng|threads?|group|cork|threshold|settle|digest|fixed|ping|wakeup|scheduling|sockets|allocator|timers|mrtdump|timeformat|preexport|noexport|exported|stats|count|rpki|reload)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.config.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:flow4|flow6|dst|src|proto|header|dport|sport|icmp|code|tcp|flags|dscp|dont_fragment|is_fragment|first_fragment|last_fragment|fragment|label|offset)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.flowspec.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:ipv4-mpls|ipv6-mpls|ipv6-sadr|vpn4-mc|vpn4-mpls|vpn6-mc|vpn6-mpls|ipv4_mc|ipv6_mc|vpn4|vpn6|mpls|aspa|roa4|roa6|eth|evpn|neighbor|pri|sec)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.address.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:all|none)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.quick-declaration.bird\\\"}]},\\\"import-export-statements\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import-export.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.filter.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.filter.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(import)\\\\\\\\s+(filter)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\\\\\b\\\",\\\"name\\\":\\\"meta.import-statement.bird\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(import)\\\\\\\\s+(filter)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import-export.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.filter.bird\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.bird\\\"}},\\\"name\\\":\\\"meta.import-filter-inline.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(export)\\\\\\\\s+(where)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import-export.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.where.bird\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.bird\\\"}},\\\"name\\\":\\\"meta.export-where-clause.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(export\\\\\\\\s+in)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import-export.bird\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.bird\\\"}},\\\"name\\\":\\\"meta.export-prefilter-clause.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import-export.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.filter.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.filter.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(export)\\\\\\\\s+(filter)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\\\\\b\\\",\\\"name\\\":\\\"meta.export-statement.bird\\\"}]},\\\"ip-addresses\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:[0-9]{1,3}\\\\\\\\.){3}[0-9]{1,3}(?:/[0-9]{1,2})?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.ip.ipv4.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:\\\\\\\\h{0,4}:){2,7}\\\\\\\\h{0,4}(?:/[0-9]{1,3})?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.ip.ipv6.bird\\\"},{\\\"match\\\":\\\"::(?:\\\\\\\\h{0,4}:){0,6}\\\\\\\\h{0,4}(?:/[0-9]{1,3})?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.ip.ipv6.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:\\\\\\\\h{0,4}:){1,6}::(?:\\\\\\\\h{0,4}:){0,5}\\\\\\\\h{0,4}(?:/[0-9]{1,3})?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.ip.ipv6.bird\\\"}]},\\\"method-calls\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.method.bird\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.method-call.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.property.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"meta.method-access.bird\\\"}]},\\\"method-properties\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?\u003c=\\\\\\\\.)\\\\\\\\s*(?:first|last|last_nonaggregated|len|asn|data1??|data2|is_v4|ip|src|dst|rd|maxlen|type|mask|min|max|mac|vlan_id|evpn_type|evpn_tag|evpn_esi|router_ip)\\\\\\\\b(?!\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"support.variable.property.bird\\\"}]},\\\"neighbor-statements\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.local.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.symbol.local-address.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.port.bird\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.port.bird\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.as.bird\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.asn.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(local)\\\\\\\\s+([.:\\\\\\\\h]+|[A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')(?:\\\\\\\\s+(port)\\\\\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\\\\\s+(as)\\\\\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.local-as-statement.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.local.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.asn.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(local)\\\\\\\\s+(as)\\\\\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.local-as-template-statement.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.neighbor.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.ip-address.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.interface-reference.bird\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.quoted.single.interface.bird\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.interface.bird\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.control.as.bird\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.asn.bird\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.control.port.bird\\\"},\\\"9\\\":{\\\"name\\\":\\\"constant.numeric.port.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(neighbor)\\\\\\\\s+([.:\\\\\\\\h]+)\\\\\\\\s*(%\\\\\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?(?:\\\\\\\\s+(as)\\\\\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\\\\\s+(port)\\\\\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.neighbor-port-statement.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.neighbor.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.symbol.neighbor-address.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.interface-reference.bird\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.quoted.single.interface.bird\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.interface.bird\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.control.as.bird\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.asn.bird\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.control.port.bird\\\"},\\\"9\\\":{\\\"name\\\":\\\"constant.numeric.port.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(neighbor)\\\\\\\\s+('[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*(%\\\\\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?(?:\\\\\\\\s+(as)\\\\\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*))?\\\\\\\\s+(port)\\\\\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.neighbor-port-symbolic-statement.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.neighbor.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.ip-address.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.interface-reference.bird\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.quoted.single.interface.bird\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.interface.bird\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.control.as.bird\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.asn.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(neighbor)\\\\\\\\s+([.:\\\\\\\\h]+)\\\\\\\\s*(%\\\\\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?\\\\\\\\s+(as)\\\\\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.neighbor-statement.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.neighbor.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.symbol.neighbor-address.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.interface-reference.bird\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.quoted.single.interface.bird\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.interface.bird\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.control.as.bird\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.asn.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(neighbor)\\\\\\\\s+('[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\\\\\b)[A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*(%\\\\\\\\s*(?:'([-.0-:A-Z_a-z]+)'|([-.0-:A-Z_a-z]+)))?\\\\\\\\s+(as)\\\\\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.neighbor-symbolic-statement.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.neighbor.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.asn.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(neighbor)\\\\\\\\s+(as)\\\\\\\\s+([0-9]+|[A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.neighbor-template-statement.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.neighbor.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.symbol.neighbor-address.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.semantic-modifier.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(neighbor)\\\\\\\\s+([.:\\\\\\\\h]+|(?:'[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\\\\\b)[A-Z_a-z][0-9A-Z_a-z]*))\\\\\\\\s+((?:in|ex)ternal)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.neighbor-role-statement.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.neighbor.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.symbol.neighbor-address.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.semantic-modifier.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(neighbor)\\\\\\\\s+([.:\\\\\\\\h]+|(?:'[-.0-:A-Z_a-z]+'|(?!(?:as|range)\\\\\\\\b)[A-Z_a-z][0-9A-Z_a-z]*))\\\\\\\\s+(onlink)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.neighbor-onlink-statement.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.source.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.ip-address.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(source address)\\\\\\\\s+([.:\\\\\\\\h]+)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.source-address-statement.bird\\\"}]},\\\"next-hop-statements\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.routing.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ip-version.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.ip-address.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(next hop)\\\\\\\\s+(ipv4)\\\\\\\\s+([.0-9]+)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.next-hop-ipv4.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.routing.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ip-version.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.ip-address.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(next hop)\\\\\\\\s+(ipv6)\\\\\\\\s+([:\\\\\\\\h]+)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.next-hop-ipv6.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.routing.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.semantic-modifier.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(next hop)\\\\\\\\s+(self)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.next-hop-simple.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.routing.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.semantic-modifier.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(next hop prefer)\\\\\\\\s+(global|local|native|ipv6)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.next-hop-prefer-statement.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.routing.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.semantic-modifier.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(next hop keep)(?:\\\\\\\\s+([ei]bgp))?\\\\\\\\b\\\",\\\"name\\\":\\\"meta.next-hop-keep-statement.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.routing.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.semantic-modifier.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(extended next hop)\\\\\\\\s+(o(?:n|ff))\\\\\\\\b\\\",\\\"name\\\":\\\"meta.extended-next-hop-statement.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.routing.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.semantic-modifier.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b(require extended next hop)\\\\\\\\s+(yes|no|on|off|true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.require-extended-next-hop-statement.bird\\\"}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b0x\\\\\\\\h+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hex.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.bird\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\s*([mu]??s)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.time.bird\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"==|!=|\u003c=|\u003e=|!~|[\u003c=\u003e~]\\\",\\\"name\\\":\\\"keyword.operator.comparison.bird\\\"},{\\\"match\\\":\\\"\u0026\u0026|\\\\\\\\|\\\\\\\\||!|-\u003e\\\",\\\"name\\\":\\\"keyword.operator.logical.bird\\\"},{\\\"match\\\":\\\"(?\u003c!\u0026)\u0026(?!\u0026)|(?\u003c!\\\\\\\\|)\\\\\\\\|(?!\\\\\\\\|)\\\",\\\"name\\\":\\\"keyword.operator.bitwise.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.concat.bird\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.range.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.accessor.bird\\\"}]},\\\"prefixes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?\u003c![0-:A-Z_a-z])(?:(?:[0-9]{1,3}\\\\\\\\.){3}[0-9]{1,3}|(?:\\\\\\\\h{0,4}:){1,7}\\\\\\\\h{0,4})/[0-9]{1,3}(?:[-+]|\\\\\\\\{[0-9]+,[0-9]+})?(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"constant.numeric.prefix.bird\\\"}]},\\\"print-statements\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(printn??)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.print.bird\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.bird\\\"}},\\\"name\\\":\\\"meta.print-statement.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"protocol-definitions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(protocol)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\\\\\s+(from)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.protocol.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.protocol.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.protocol.bird\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.template-reference.bird\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.template.bird\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.bird\\\"}},\\\"name\\\":\\\"meta.protocol-definition-with-template.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(protocol)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.protocol.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.protocol.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.protocol.bird\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.bird\\\"}},\\\"name\\\":\\\"meta.protocol-definition-with-name.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(protocol)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.protocol.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.protocol.bird\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.bird\\\"}},\\\"name\\\":\\\"meta.protocol-definition-anonymous.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"protocol-phrases\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:strict\\\\\\\\s+bind|zero\\\\\\\\s+udp6\\\\\\\\s+checksum\\\\\\\\s+rx|idle\\\\\\\\s+tx\\\\\\\\s+interval|min\\\\\\\\s+rx\\\\\\\\s+interval|min\\\\\\\\s+tx\\\\\\\\s+interval|accept\\\\\\\\s+ipv4|accept\\\\\\\\s+multihop|authentication\\\\\\\\s+meticulous\\\\\\\\s+keyed\\\\\\\\s+sha1|keyed\\\\\\\\s+md5|keyed\\\\\\\\s+sha1|meticulous\\\\\\\\s+keyed\\\\\\\\s+md5|meticulous\\\\\\\\s+keyed\\\\\\\\s+sha1|express\\\\\\\\s+thread\\\\\\\\s+group|multiplier|keyed|meticulous)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.bfd.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:hello\\\\\\\\s+interval|update\\\\\\\\s+interval|send\\\\\\\\s+timestamps|rtt\\\\\\\\s+(?:cost|min|max|decay)|next\\\\\\\\s+hop\\\\\\\\s+prefer\\\\\\\\s+ipv6|next\\\\\\\\s+hop\\\\\\\\s+prefer|next\\\\\\\\s+hop\\\\\\\\s+ipv4|next\\\\\\\\s+hop\\\\\\\\s+ipv6|authentication\\\\\\\\s+mac\\\\\\\\s+permissive|authentication\\\\\\\\s+mac|randomize\\\\\\\\s+router\\\\\\\\s+id|show\\\\\\\\s+babel\\\\\\\\s+interfaces|show\\\\\\\\s+babel\\\\\\\\s+neighbors|show\\\\\\\\s+babel\\\\\\\\s+entries|show\\\\\\\\s+babel\\\\\\\\s+routes|prefer|native)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.babel.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:ipv4\\\\\\\\s+multicast|ipv4\\\\\\\\s+mpls|ipv6\\\\\\\\s+multicast|ipv6\\\\\\\\s+mpls|vpn4\\\\\\\\s+multicast|vpn4\\\\\\\\s+mpls|vpn6\\\\\\\\s+multicast|vpn6\\\\\\\\s+mpls|rr\\\\\\\\s+cluster\\\\\\\\s+id|confederation\\\\\\\\s+member|hold\\\\\\\\s+time|min\\\\\\\\s+hold\\\\\\\\s+time|startup\\\\\\\\s+hold\\\\\\\\s+time|path\\\\\\\\s+metric|prefer\\\\\\\\s+older|connect\\\\\\\\s+delay\\\\\\\\s+time|connect\\\\\\\\s+retry\\\\\\\\s+time|keepalive\\\\\\\\s+time|min\\\\\\\\s+keepalive\\\\\\\\s+time|send\\\\\\\\s+hold\\\\\\\\s+time|error\\\\\\\\s+forget\\\\\\\\s+time|error\\\\\\\\s+wait\\\\\\\\s+time|min\\\\\\\\s+graceful\\\\\\\\s+restart\\\\\\\\s+time|max\\\\\\\\s+graceful\\\\\\\\s+restart\\\\\\\\s+time|long\\\\\\\\s+lived\\\\\\\\s+graceful\\\\\\\\s+restart\\\\\\\\s+aware|min\\\\\\\\s+long\\\\\\\\s+lived\\\\\\\\s+stale\\\\\\\\s+time|max\\\\\\\\s+long\\\\\\\\s+lived\\\\\\\\s+stale\\\\\\\\s+time|disable\\\\\\\\s+rx|send\\\\\\\\s+id|recv\\\\\\\\s+id|next\\\\\\\\s+hop\\\\\\\\s+self|next\\\\\\\\s+hop\\\\\\\\s+address|next\\\\\\\\s+hop\\\\\\\\s+ibgp|next\\\\\\\\s+hop\\\\\\\\s+ebgp|next\\\\\\\\s+hop\\\\\\\\s+prefer\\\\\\\\s+global|next\\\\\\\\s+hop\\\\\\\\s+prefer\\\\\\\\s+local|next\\\\\\\\s+hop\\\\\\\\s+keep|link\\\\\\\\s+local\\\\\\\\s+next\\\\\\\\s+hop\\\\\\\\s+format|import\\\\\\\\s+table|export\\\\\\\\s+table|base\\\\\\\\s+table|igp\\\\\\\\s+table|add\\\\\\\\s+paths\\\\\\\\s+rx|add\\\\\\\\s+paths\\\\\\\\s+tx|add\\\\\\\\s+paths|require\\\\\\\\s+add\\\\\\\\s+paths|gateway\\\\\\\\s+direct|aigp\\\\\\\\s+originate|long\\\\\\\\s+lived\\\\\\\\s+graceful\\\\\\\\s+restart|long\\\\\\\\s+lived\\\\\\\\s+stale\\\\\\\\s+time|dynamic\\\\\\\\s+name(?:\\\\\\\\s+digits)?|free\\\\\\\\s+bind|ttl\\\\\\\\s+security|multihop\\\\\\\\s+password|authentication\\\\\\\\s+ao|tx\\\\\\\\s+size\\\\\\\\s+warning|rr\\\\\\\\s+client|rs\\\\\\\\s+client|advertise\\\\\\\\s+hostname|interpret\\\\\\\\s+communities|deterministic\\\\\\\\s+med|default\\\\\\\\s+bgp_local_pref|default\\\\\\\\s+bgp_med|med\\\\\\\\s+metric|igp\\\\\\\\s+metric|missing\\\\\\\\s+lladdr|gateway\\\\\\\\s+address|forwarding\\\\\\\\s+addressed|gateway\\\\\\\\s+recursive|allow\\\\\\\\s+local\\\\\\\\s+as|allow\\\\\\\\s+bogus\\\\\\\\s+as|allow\\\\\\\\s+bgp_local_pref|allow\\\\\\\\s+bgp_med|allow\\\\\\\\s+as\\\\\\\\s+sets|enable\\\\\\\\s+route\\\\\\\\s+refresh|enable\\\\\\\\s+enhanced\\\\\\\\s+route\\\\\\\\s+refresh|require\\\\\\\\s+route\\\\\\\\s+refresh|require\\\\\\\\s+enhanced\\\\\\\\s+route\\\\\\\\s+refresh|enable\\\\\\\\s+as4|require\\\\\\\\s+as4|enable\\\\\\\\s+extended\\\\\\\\s+messages|require\\\\\\\\s+extended\\\\\\\\s+messages|require\\\\\\\\s+hostname|require\\\\\\\\s+graceful\\\\\\\\s+restart|require\\\\\\\\s+long\\\\\\\\s+lived\\\\\\\\s+graceful\\\\\\\\s+restart|require\\\\\\\\s+extended\\\\\\\\s+next\\\\\\\\s+hop|disable\\\\\\\\s+after\\\\\\\\s+error|disable\\\\\\\\s+after\\\\\\\\s+cease|prefix\\\\\\\\s+limit\\\\\\\\s+hit|administrative\\\\\\\\s+shutdown|peer\\\\\\\\s+deconfigured|administrative\\\\\\\\s+reset|connection\\\\\\\\s+rejected|configuration\\\\\\\\s+change|connection\\\\\\\\s+collision|out\\\\\\\\s+of\\\\\\\\s+resources|enforce\\\\\\\\s+first\\\\\\\\s+as|neighbor\\\\\\\\s+range|interface\\\\\\\\s+range|originate\\\\\\\\s+community|full\\\\\\\\s+route\\\\\\\\s+table|link\\\\\\\\s+local\\\\\\\\s+next\\\\\\\\s+hop\\\\\\\\s+format\\\\\\\\s+(?:native|single|double)|mandatory|secondary|validate|capabilities|primary|aigp|setkey|drop|single|double)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.bgp.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:local\\\\\\\\s+role|require\\\\\\\\s+roles)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.bgp-role.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:provider|customer|rs_server|rs_client)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.bgp-role.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:mpls\\\\\\\\s+domain|label\\\\\\\\s+range\\\\\\\\s+static|label\\\\\\\\s+range\\\\\\\\s+dynamic|label\\\\\\\\s+range|label\\\\\\\\s+policy|static\\\\\\\\s+label|dynamic\\\\\\\\s+label)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.mpls.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:recursive\\\\\\\\s+mpls|show\\\\\\\\s+static|igp\\\\\\\\s+table|check\\\\\\\\s+link)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.static.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:generate\\\\\\\\s+from|generate\\\\\\\\s+to|accept\\\\\\\\s+from|accept\\\\\\\\s+to)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.auth-window.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:import\\\\\\\\s+|export\\\\\\\\s+)limit\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.channel-limit.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\btx(?:\\\\\\\\s+class|\\\\\\\\s+dscp|\\\\\\\\s+priority)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.socket.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:rx\\\\\\\\s+buffer|tx\\\\\\\\s+length|check\\\\\\\\s+link)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.interface.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:debug\\\\\\\\s+latency\\\\\\\\s+limit|debug\\\\\\\\s+latency|debug\\\\\\\\s+show\\\\\\\\s+route|debug\\\\\\\\s+protocols|debug\\\\\\\\s+channels|debug\\\\\\\\s+tables|debug\\\\\\\\s+commands|debug\\\\\\\\s+all|debug\\\\\\\\s+(?:events|filters|interfaces|off|packets|routes|states)|watchdog\\\\\\\\s+warning|watchdog\\\\\\\\s+timeout|states|routes|filters|interfaces|events|packets|messages)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.diagnostics.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:min\\\\\\\\s+settle\\\\\\\\s+time|max\\\\\\\\s+settle\\\\\\\\s+time|gc\\\\\\\\s+threshold|gc\\\\\\\\s+period|export\\\\\\\\s+settle\\\\\\\\s+time|sorted|trie|roa)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.table.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:peer\\\\\\\\s+table|aggregate\\\\\\\\s+on|merge\\\\\\\\s+by)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.aggregator.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:merge\\\\\\\\s+paths\\\\\\\\s+limit|merge\\\\\\\\s+paths|kernel\\\\\\\\s+table|netlink\\\\\\\\s+rx\\\\\\\\s+buffer)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.kernel.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:route\\\\\\\\s+distinguisher|import\\\\\\\\s+target|export\\\\\\\\s+target|route\\\\\\\\s+target)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.l3vpn.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:encapsulation\\\\\\\\s+vxlan|vlan\\\\\\\\s+filtering|vlan\\\\\\\\s+range|vni|vid|bridge\\\\\\\\s+device|kbr\\\\\\\\s+source)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.evpn-bridge.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:tunnel\\\\\\\\s+device|router\\\\\\\\s+address|evpn\\\\\\\\s+(?:ead|mac|imet|es)|tag)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.evpn.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:monitoring\\\\\\\\s+rib\\\\\\\\s+in\\\\\\\\s+pre_policy|monitoring\\\\\\\\s+rib\\\\\\\\s+in\\\\\\\\s+post_policy|system\\\\\\\\s+description|system\\\\\\\\s+name|tx\\\\\\\\s+buffer\\\\\\\\s+limit|station\\\\\\\\s+address|station)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.bmp.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:solicited\\\\\\\\s+ra\\\\\\\\s+unicast|router\\\\\\\\s+discovery|min\\\\\\\\s+ra\\\\\\\\s+interval|max\\\\\\\\s+ra\\\\\\\\s+interval|min\\\\\\\\s+delay|link\\\\\\\\s+mtu|default\\\\\\\\s+lifetime|route\\\\\\\\s+lifetime|default\\\\\\\\s+preference|route\\\\\\\\s+preference|prefix\\\\\\\\s+linger\\\\\\\\s+time|route\\\\\\\\s+linger\\\\\\\\s+time|current\\\\\\\\s+hop\\\\\\\\s+limit|propagate\\\\\\\\s+routes|other\\\\\\\\s+config|reachable\\\\\\\\s+time|retrans\\\\\\\\s+timer|valid\\\\\\\\s+lifetime|preferred\\\\\\\\s+lifetime|lifetime\\\\\\\\s+mult|pd\\\\\\\\s+preferred|rdnss\\\\\\\\s+local|dnssl\\\\\\\\s+local|custom\\\\\\\\s+option\\\\\\\\s+type|custom\\\\\\\\s+option\\\\\\\\s+local|managed|trigger|sensitive|autonomous|skip|low|medium|high|rdnss|dnssl|domain|lifetime|value|ns)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.radv.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:rip\\\\\\\\s+ng|mode\\\\\\\\s+multicast|mode\\\\\\\\s+broadcast|version\\\\\\\\s+only|check\\\\\\\\s+zero|update\\\\\\\\s+time|timeout\\\\\\\\s+time|garbage\\\\\\\\s+time|retransmit\\\\\\\\s+time|split\\\\\\\\s+horizon|poison\\\\\\\\s+reverse|demand\\\\\\\\s+circuit|ecmp\\\\\\\\s+limit|ecmp\\\\\\\\s+weight|infinity|show\\\\\\\\s+rip\\\\\\\\s+interfaces|show\\\\\\\\s+rip\\\\\\\\s+neighbors|ttl\\\\\\\\s+security\\\\\\\\s+tx\\\\\\\\s+only|authentication\\\\\\\\s+plaintext|authentication\\\\\\\\s+cryptographic)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.rip.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:link\\\\\\\\s+lsa\\\\\\\\s+suppression|stub\\\\\\\\s+router|graceful\\\\\\\\s+restart\\\\\\\\s+aware|graceful\\\\\\\\s+restart\\\\\\\\s+time|ecmp\\\\\\\\s+limit|merge\\\\\\\\s+external|rfc5838|vpn\\\\\\\\s+pe|instance\\\\\\\\s+id|default\\\\\\\\s+nssa|default\\\\\\\\s+cost2?|stub\\\\\\\\s+cost|summary|networks|stubnet|hidden|translator\\\\\\\\s+stability|virtual\\\\\\\\s+link|transmit\\\\\\\\s+delay|dead\\\\\\\\s+count|poll|type\\\\\\\\s+bcast|type\\\\\\\\s+nbma|type\\\\\\\\s+pointopoint|type\\\\\\\\s+ptp|type\\\\\\\\s+ptmp|type\\\\\\\\s+pointomultipoint|eligible|real\\\\\\\\s+broadcast|ptp\\\\\\\\s+netmask|ptp\\\\\\\\s+address|strict\\\\\\\\s+nonbroadcast|rx\\\\\\\\s+buffer\\\\\\\\s+normal|rx\\\\\\\\s+buffer\\\\\\\\s+large|authentication\\\\\\\\s+simple|show\\\\\\\\s+ospf\\\\\\\\s+interface|show\\\\\\\\s+ospf\\\\\\\\s+neighbors|show\\\\\\\\s+ospf\\\\\\\\s+topology\\\\\\\\s+all|show\\\\\\\\s+ospf\\\\\\\\s+topology|show\\\\\\\\s+ospf\\\\\\\\s+state\\\\\\\\s+all|show\\\\\\\\s+ospf\\\\\\\\s+state|show\\\\\\\\s+ospf\\\\\\\\s+lsadb\\\\\\\\s+global|show\\\\\\\\s+ospf\\\\\\\\s+lsadb\\\\\\\\s+area|show\\\\\\\\s+ospf\\\\\\\\s+lsadb\\\\\\\\s+link|show\\\\\\\\s+ospf\\\\\\\\s+lsadb\\\\\\\\s+type|show\\\\\\\\s+ospf\\\\\\\\s+lsadb\\\\\\\\s+lsid|show\\\\\\\\s+ospf\\\\\\\\s+lsadb\\\\\\\\s+self|show\\\\\\\\s+ospf\\\\\\\\s+lsadb\\\\\\\\s+router|show\\\\\\\\s+ospf\\\\\\\\s+lsadb|show\\\\\\\\s+ospf|ospf\\\\\\\\s+v2|ospf\\\\\\\\s+v3|instance|tag|v2|v3)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.ospf.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:aspa\\\\\\\\s+providers|transit\\\\\\\\s+providers|route\\\\\\\\s+aspa)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.aspa.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:next\\\\\\\\s+header|icmp\\\\\\\\s+type|icmp\\\\\\\\s+code|tcp\\\\\\\\s+flags)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.flowspec.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:thread\\\\\\\\s+group|show\\\\\\\\s+threads\\\\\\\\s+all|show\\\\\\\\s+threads|cork\\\\\\\\s+threshold|route\\\\\\\\s+refresh\\\\\\\\s+export\\\\\\\\s+settle\\\\\\\\s+time|digest\\\\\\\\s+settle\\\\\\\\s+time|filter\\\\\\\\s+stacks|max\\\\\\\\s+generation)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.threading.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:always\\\\\\\\s+add\\\\\\\\s+path|filename)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.mrt.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:mode\\\\\\\\s+import|mode\\\\\\\\s+export|exp\\\\\\\\s+from|exp\\\\\\\\s+to|threshold\\\\\\\\s+min|threshold\\\\\\\\s+max|repeat)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.perf.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:router\\\\\\\\s+id\\\\\\\\s+from|graceful\\\\\\\\s+restart\\\\\\\\s+wait|vrf\\\\\\\\s+default|receive\\\\\\\\s+limit|import\\\\\\\\s+keep\\\\\\\\s+filtered|export\\\\\\\\s+in|rpki\\\\\\\\s+reload|mrtdump\\\\\\\\s+protocols)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.operations.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bshow(?:\\\\\\\\s+status|\\\\\\\\s+protocols\\\\\\\\s+all|\\\\\\\\s+protocols|\\\\\\\\s+interfaces\\\\\\\\s+summary|\\\\\\\\s+interfaces|\\\\\\\\s+symbols\\\\\\\\s+table|\\\\\\\\s+symbols\\\\\\\\s+filter|\\\\\\\\s+symbols\\\\\\\\s+function|\\\\\\\\s+symbols\\\\\\\\s+protocol|\\\\\\\\s+symbols\\\\\\\\s+template|\\\\\\\\s+symbols|\\\\\\\\s+route\\\\\\\\s+for|\\\\\\\\s+route\\\\\\\\s+in|\\\\\\\\s+route\\\\\\\\s+table|\\\\\\\\s+route\\\\\\\\s+filter|\\\\\\\\s+route\\\\\\\\s+where|\\\\\\\\s+route\\\\\\\\s+all|\\\\\\\\s+route\\\\\\\\s+primary|\\\\\\\\s+route\\\\\\\\s+filtered|\\\\\\\\s+route\\\\\\\\s+import|\\\\\\\\s+route\\\\\\\\s+export|\\\\\\\\s+route\\\\\\\\s+exported|\\\\\\\\s+route\\\\\\\\s+preexport|\\\\\\\\s+route\\\\\\\\s+noexport|\\\\\\\\s+route\\\\\\\\s+protocol|\\\\\\\\s+route\\\\\\\\s+stats|\\\\\\\\s+route\\\\\\\\s+count|\\\\\\\\s+bfd\\\\\\\\s+sessions\\\\\\\\s+address|\\\\\\\\s+bfd\\\\\\\\s+sessions\\\\\\\\s+direct|\\\\\\\\s+bfd\\\\\\\\s+sessions\\\\\\\\s+multihop|\\\\\\\\s+bfd\\\\\\\\s+sessions\\\\\\\\s+interface|\\\\\\\\s+bfd\\\\\\\\s+sessions\\\\\\\\s+dev|\\\\\\\\s+bfd\\\\\\\\s+sessions\\\\\\\\s+all|\\\\\\\\s+bfd\\\\\\\\s+sessions\\\\\\\\s+ipv4|\\\\\\\\s+bfd\\\\\\\\s+sessions\\\\\\\\s+ipv6|\\\\\\\\s+bfd\\\\\\\\s+sessions|\\\\\\\\s+mpls\\\\\\\\s+ranges|\\\\\\\\s+memory|\\\\\\\\s+route)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.cli-show.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\breload(?:\\\\\\\\s+filters\\\\\\\\s+in|\\\\\\\\s+filters\\\\\\\\s+out|\\\\\\\\s+filters|\\\\\\\\s+bgp\\\\\\\\s+in|\\\\\\\\s+bgp\\\\\\\\s+out|\\\\\\\\s+bgp|\\\\\\\\s+in|\\\\\\\\s+out)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.cli-reload.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\bpartial\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.cli-reload-modifier.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:dump\\\\\\\\s+tables|dump\\\\\\\\s+attribute\\\\\\\\s+stats|dump\\\\\\\\s+ao\\\\\\\\s+keys|dump\\\\\\\\s+filter\\\\\\\\s+all|dump\\\\\\\\s+resources|dump\\\\\\\\s+sockets|dump\\\\\\\\s+events|dump\\\\\\\\s+interfaces|dump\\\\\\\\s+neighbors|dump\\\\\\\\s+attributes|dump\\\\\\\\s+routes|dump\\\\\\\\s+protocols|mrt\\\\\\\\s+dump\\\\\\\\s+table|mrt\\\\\\\\s+dump\\\\\\\\s+where|mrt\\\\\\\\s+dump\\\\\\\\s+to|mrt\\\\\\\\s+dump\\\\\\\\s+filter|mrt\\\\\\\\s+dump|timeformat\\\\\\\\s+route|timeformat\\\\\\\\s+protocol|timeformat\\\\\\\\s+base|timeformat\\\\\\\\s+log|timeformat\\\\\\\\s+iso|configure\\\\\\\\s+soft\\\\\\\\s+timeout|configure\\\\\\\\s+soft|configure\\\\\\\\s+timeout|configure\\\\\\\\s+confirm|configure\\\\\\\\s+undo|configure\\\\\\\\s+status|configure\\\\\\\\s+check|restrict|echo|enable|disable|restart|debug|mrtdump|quit|exit|help)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.cli-dump.phrase.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:configure|down|graceful\\\\\\\\s+restart|timeformat\\\\\\\\s+(?:short|long|ms|us))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.cli-control.phrase.bird\\\"}]},\\\"route-attributes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:net|scope|preference|from|gw|proto|source|dest|ifname|ifindex|weight|gw_mpls|gw_mpls_stack|onlink|igp_metric|local_metric|nexthop|hostentry|flowspec_valid|aspa_providers|roa_aggregated|mpls_label|mpls_policy|mpls_class|bgp_path|bgp_origin|bgp_next_hop|bgp_med|bgp_local_pref|bgp_community|bgp_ext_community|bgp_large_community|bgp_originator_id|bgp_cluster_list|bgp_atomic_aggr|bgp_aggregator|bgp_aigp|bgp_pmsi_tunnel|bgp_otc|bgp_mpls_label_stack|bgp_mp_reach_nlri|bgp_mp_unreach_nlri|bgp_as4_path|bgp_as4_aggregator|bgp_unknown_0x\\\\\\\\h{2}|ospf_metric1|ospf_metric2|ospf_tag|ospf_router_id|rip_metric|rip_tag|rip_from|babel_metric|babel_router_id|babel_seqno|radv_preference|radv_lifetime|ra_preference|ra_lifetime|krt_source|krt_metric|krt_prefsrc|krt_realm|krt_scope|krt_mtu|krt_window|krt_rtt|krt_rttvar|krt_ssthresh|krt_sstresh|krt_cwnd|krt_advmss|krt_reordering|krt_hoplimit|krt_initcwnd|krt_rto_min|krt_initrwnd|krt_quickack|krt_congctl|krt_fastopen_no_cookie|krt_lock_mtu|krt_lock_window|krt_lock_rtt|krt_lock_rttvar|krt_lock_ssthresh|krt_lock_sstresh|krt_lock_cwnd|krt_lock_advmss|krt_lock_reordering|krt_lock_hoplimit|krt_lock_initcwnd|krt_lock_rto_min|krt_lock_initrwnd|krt_lock_quickack|krt_lock_congctl|krt_lock_fastopen_no_cookie|krt_feature_allfrag|krt_feature_ecn|kbr_source|iface_type|iface_bridge_vlan_filtering|iface_vxlan_id|iface_vxlan_learning|iface_vxlan_ip_addr|mypath|mylclist)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.route-attribute.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:proto_name|proto_protocol_name|proto_protocol_type|proto_main_table_id|proto_state|proto_last_modified|proto_info|proto_proto_id|ea_proto_channel_list|proto_channel_id|channel_in_keep|rtable|proto_bgp_rem_id|proto_bgp_rem_as|proto_bgp_loc_as|proto_bgp_rem_ip|bgp_afi|bgp_peer_type|bgp_extended_next_hop|bgp_add_path_rx|bgp_in_conn_local_open_msg|bgp_in_conn_remote_open_msg|bgp_out_conn_local_open_msg|bgp_out_conn_remote_open_msg|bgp_in_conn_state|bgp_out_conn_state|bgp_in_conn_sk|bgp_out_conn_sk|bgp_state_startup|bgp_close_bmp|bgp_as4_session|bgp_as4_in_conn|bgp_as4_out_conn)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.runtime.bird\\\"}]},\\\"semantic-modifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:self|on|off|remote|extended|native|ipv6|internal|external)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.semantic-modifier.bird\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.bird\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.bird\\\"}},\\\"name\\\":\\\"string.quoted.double.bird\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.bird\\\"}]},{\\\"match\\\":\\\"'[-.0-:A-Z_a-z]+'\\\",\\\"name\\\":\\\"entity.name.symbol.quoted.bird\\\"}]},\\\"structural-keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:if|then|else|case|for|do|while|break|continue|return|in)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\belse\\\\\\\\s*:\\\",\\\"name\\\":\\\"keyword.control.case.else.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:accept|reject|error)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flow.bird\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:protocol|table|define|include|attribute|eval|ipv6\\\\\\\\s+sadr|ipv4\\\\\\\\s+mpls|ipv6\\\\\\\\s+mpls|vpn4\\\\\\\\s+mpls|vpn6\\\\\\\\s+mpls|ipv4|ipv6|local|as|from|where|cost|limit|action)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.structure.bird\\\"}]},\\\"symbols\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.bird\\\"}]},\\\"template-definitions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(template)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\\\\\s+(from)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.template.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.protocol.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.template.bird\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.template-reference.bird\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.template.bird\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.bird\\\"}},\\\"name\\\":\\\"meta.template-definition-with-from.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(template)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*|'[-.0-:A-Z_a-z]+')\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.template.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.protocol.bird\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.template.bird\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.bird\\\"}},\\\"name\\\":\\\"meta.template-definition-with-name.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(template)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.template.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.protocol.bird\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.bird\\\"}},\\\"name\\\":\\\"meta.template-definition-anonymous.bird\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"user-variables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b[A-Z][0-9A-Z_a-z]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.user-defined.bird\\\"}]},\\\"variable-declarations\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.bird\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.declaration.bird\\\"}},\\\"match\\\":\\\"\\\\\\\\b((?:int|pair|quad|ip|prefix|mac|ec|lc|rd|enum)\\\\\\\\s+set|int|bool|ip|prefix|mac|rd|pair|quad|ec|lc|string|bytestring|bgpmask|bgppath|clist|eclist|lclist|set|enum|route)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)(?:\\\\\\\\s*=|;)\\\",\\\"name\\\":\\\"meta.variable-declaration.bird\\\"}]},\\\"vpn-rd\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:[0-9]+:[0-9]+|[012]:[0-9]+:[0-9]+|(?:[0-9]{1,3}\\\\\\\\.){3}[0-9]{1,3}:[0-9]+)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.vpn-rd.bird\\\"}},\\\"scopeName\\\":\\\"source.bird2\\\",\\\"aliases\\\":[\\\"bird\\\"]}\"))\n\nexport default [\nlang\n]\n"],"version":3}
