[ {"type":"NameNamespace","value":"---"}, {"type":"TextWhitespace","value":" "}, {"type":"Comment","value":"# document start"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# Comments in YAML look like this."}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"NameTag","value":"comment_after_string_key"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"string value"}, {"type":"TextWhitespace","value":" "}, {"type":"Comment","value":"# comments can follow on same line"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"nested_comment"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Comment","value":"# this is a comment right next to a key"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"sub_key"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"sub string value"}, {"type":"TextWhitespace","value":" "}, {"type":"Comment","value":"# sub comment"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"inline_not_comment"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"string#hash"}, {"type":"TextWhitespace","value":" "}, {"type":"Comment","value":"#nospacecomment"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"bool_comment"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"KeywordConstant","value":"True"}, {"type":"TextWhitespace","value":" "}, {"type":"Comment","value":"# comment after bool"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"int_comment"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumber","value":"123"}, {"type":"TextWhitespace","value":" "}, {"type":"Comment","value":"# comment after int"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"date_comment"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralDate","value":"2010-11-12"}, {"type":"TextWhitespace","value":" "}, {"type":"Comment","value":"# comment after date"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"single_quote"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralStringSingle","value":"'single # quote string'"}, {"type":"TextWhitespace","value":" "}, {"type":"Comment","value":"# comment after single quote string"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"double_quote"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralStringDouble","value":"\"double # quote string\""}, {"type":"TextWhitespace","value":" "}, {"type":"Comment","value":"# comment after double quote string"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"key"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"KeywordConstant","value":"no"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"comment"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"################"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# SCALAR TYPES #"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"################"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# Our root object (which continues for the entire document) will be a map,"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# which is equivalent to a dictionary, hash or object in other languages."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"key"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"value"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"another_key"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"Another value goes here."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"a_number_value"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumber","value":"100"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"scientific_notation"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumber","value":"1e+12"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# The number 1 will be interpreted as a number, not a boolean. if you want"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# it to be interpreted as a boolean, use true"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"boolean"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"KeywordConstant","value":"true"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"boolean_different_case"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"KeywordConstant","value":"False"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"boolean_yes"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"KeywordConstant","value":"YES"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"null_value"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"KeywordConstant","value":"null"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"key with spaces"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"value"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# Notice that strings don't need to be quoted. However, they can be."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"however"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralStringSingle","value":"'A string, enclosed in quotes.'"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"'Keys can be quoted too.'"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralStringDouble","value":"\"Useful if you want to put a ':' in your key.\""}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"single quotes"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralStringSingle","value":"'have ''one'' escape pattern'"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"double quotes"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralStringDouble","value":"\"have many: \\\", \\0, \\t, \\u263A, \\x0d\\x0a == \\r\\n, and more.\""}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# UTF-8/16/32 characters need to be encoded"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"Superscript two"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"\\u00B2"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# Multi-line flow scalars can be unquoted or quoted."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"unquoted_scalar"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"Multiline scalar"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Literal","value":"with 'quotes' in the middle."}, {"type":"TextWhitespace","value":"\n "}, {"type":"Literal","value":"This is the last line."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"single_quoted_scalar"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralStringSingle","value":"'Multiline single quoted scalar\n with \"quotes\" in the middle\n Last line'"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"double_quoted_scalar"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralStringDouble","value":"\"Multiline double quoted scalar\n with 'quotes' in the middle\n end\""}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# Multiple-line strings can be written either as a 'literal block' (using |),"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# or a 'folded block' (using '\u003e')."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"literal_block"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|"}, {"type":"LiteralStringDoc","value":"\n This entire block of text will be the value of the 'literal_block' key,\n with line breaks being preserved.\n\n The literal continues until de-dented, and the leading indentation is\n stripped.\n\n Any lines that are 'more-indented' keep the rest of their indentation -\n these lines will be indented by 4 spaces."}, {"type":"TextWhitespace","value":" \n"}, {"type":"NameTag","value":"folded_style"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"\u003e"}, {"type":"LiteralStringDoc","value":"\n This entire block of text will be the value of 'folded_style', but this\n time, all newlines will be replaced with a single space.\n\n Blank lines, like above, are converted to a newline character.\n\n 'More-indented' lines keep their newlines, too -\n this text will appear over two lines."}, {"type":"TextWhitespace","value":" \n"}, {"type":"NameTag","value":"literal_block_with_strip_chomping"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|-"}, {"type":"LiteralStringDoc","value":"\n This entire block of text will be the value of the 'literal_block' key,\n with line breaks being preserved and the strip chomping indicator.\n\n The literal continues until de-dented, and the leading indentation is\n stripped.\n\n Any lines that are 'more-indented' keep the rest of their indentation -\n these lines will be indented by 4 spaces."}, {"type":"TextWhitespace","value":" \n"}, {"type":"NameTag","value":"literal_block_with_keep_chomping"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|+"}, {"type":"LiteralStringDoc","value":"\n This entire block of text will be the value of the 'literal_block' key,\n with line breaks being preserved and the keep chomping indicator.\n\n The literal continues until de-dented, and the leading indentation is\n stripped."}, {"type":"TextWhitespace","value":" \n\n"}, {"type":"NameTag","value":"a"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|"}, {"type":"LiteralStringDoc","value":"\n multiline literal\n line 2"}, {"type":"TextWhitespace","value":" \n"}, {"type":"NameTag","value":"b"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"\u003e"}, {"type":"LiteralStringDoc","value":"\n multiline: folded\n line 2"}, {"type":"TextWhitespace","value":" \n"}, {"type":"NameTag","value":"c"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|-"}, {"type":"LiteralStringDoc","value":"\n multiline # literal strip\n line 2"}, {"type":"TextWhitespace","value":" \n"}, {"type":"NameTag","value":"d"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"\u003e-"}, {"type":"LiteralStringDoc","value":"\n multiline folded strip\n line 2: test\n\n # not a comment\n indented by 1"}, {"type":"TextWhitespace","value":" \n"}, {"type":"NameTag","value":"e"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|+"}, {"type":"LiteralStringDoc","value":"\n multiline literal keep\n line: 2"}, {"type":"TextWhitespace","value":" \n"}, {"type":"Comment","value":"# this is a comment"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"f"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"\u003e+"}, {"type":"LiteralStringDoc","value":"\n multiline folded keep one space\n line 2"}, {"type":"TextWhitespace","value":" \n"}, {"type":"NameTag","value":"g"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|"}, {"type":"LiteralStringDoc","value":"\n multiline literal with only one line"}, {"type":"TextWhitespace","value":" \n"}, {"type":"NameTag","value":"h"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"test"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"NameTag","value":"block_scalars_with_indent"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"a"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|"}, {"type":"LiteralStringDoc","value":"\n multiline literal\n line 2"}, {"type":"TextWhitespace","value":" \n "}, {"type":"NameTag","value":"b"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"\u003e"}, {"type":"LiteralStringDoc","value":"\n multiline: folded\n line 2"}, {"type":"TextWhitespace","value":" \n "}, {"type":"NameTag","value":"c"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|-"}, {"type":"LiteralStringDoc","value":"\n multiline # literal strip\n line 2 6 leading spaces"}, {"type":"TextWhitespace","value":" \n\n "}, {"type":"NameTag","value":"d"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"\u003e-"}, {"type":"LiteralStringDoc","value":"\n multiline folded strip\n line 2: test\n # not a comment"}, {"type":"TextWhitespace","value":" \n "}, {"type":"NameTag","value":"e"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|+"}, {"type":"LiteralStringDoc","value":"\n multiline literal keep\n line: 2"}, {"type":"TextWhitespace","value":" \n "}, {"type":"Comment","value":"# this is a comment"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"f"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"\u003e+"}, {"type":"LiteralStringDoc","value":"\n multiline folded keep\n line 2"}, {"type":"TextWhitespace","value":" \n "}, {"type":"NameTag","value":"g"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|"}, {"type":"LiteralStringDoc","value":"\n multiline literal with only one line"}, {"type":"TextWhitespace","value":" \n "}, {"type":"NameTag","value":"h"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"test"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"####################"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# COLLECTION TYPES #"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"####################"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# Nesting uses indentation. 2 space indent is preferred (but not required)."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"a_nested_map"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"key"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"value"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"another_key"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"Another Value"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"another_nested_map"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"hello"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"hello"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# Maps don't have to have string keys."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"0.25"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"a float key"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# Keys can also be complex, like multi-line objects"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# We use ? followed by a space to indicate the start of a complex key."}, {"type":"TextWhitespace","value":"\n"}, {"type":"Punctuation","value":"?"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|"}, {"type":"LiteralStringDoc","value":"\n This is a key\n that has multiple lines"}, {"type":"TextWhitespace","value":" \n"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"and this is its value"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# YAML also allows mapping between sequences with the complex key syntax"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# Some language parsers might complain"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# An example"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Text","value":"? - "}, {"type":"Literal","value":"Manchester United"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Text","value":"- "}, {"type":"Literal","value":"Real Madrid"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralDate","value":"2001-01-01"}, {"type":"Punctuation","value":","}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralDate","value":"2002-02-02"}, {"type":"Punctuation","value":"]"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# Sequences (equivalent to lists or arrays) look like this"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# (note that the '-' counts as indentation):"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"a_sequence"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Text","value":"- "}, {"type":"Literal","value":"Item 1"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Text","value":"- "}, {"type":"Literal","value":"Item 2"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Text","value":"- "}, {"type":"LiteralNumber","value":"0.5"}, {"type":"TextWhitespace","value":" "}, {"type":"Comment","value":"# sequences can contain disparate types."}, {"type":"TextWhitespace","value":"\n "}, {"type":"Text","value":"- "}, {"type":"Literal","value":"Item 4"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Text","value":"- "}, {"type":"NameTag","value":"key"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"value"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"another_key"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"another_value"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Text","value":"-"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Text","value":"- "}, {"type":"Literal","value":"This is a sequence"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Text","value":"- "}, {"type":"Literal","value":"inside another sequence"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Text","value":"- - - "}, {"type":"Literal","value":"Nested sequence indicators"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Text","value":"- "}, {"type":"Literal","value":"can be collapsed"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# Since YAML is a superset of JSON, you can also write JSON-style maps and"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# sequences:"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"json_map"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Text","value":"{"}, {"type":"NameTag","value":"\"key\": "}, {"type":"LiteralStringDouble","value":"\"value\""}, {"type":"Text","value":"}"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"json_seq"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumber","value":"3"}, {"type":"Punctuation","value":","}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumber","value":"2"}, {"type":"Punctuation","value":","}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumber","value":"1"}, {"type":"Punctuation","value":","}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralStringDouble","value":"\"takeoff\""}, {"type":"Punctuation","value":"]"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"and quotes are optional"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Text","value":"{"}, {"type":"NameTag","value":"key"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumber","value":"3"}, {"type":"Punctuation","value":","}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumber","value":"2"}, {"type":"Punctuation","value":","}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumber","value":"1"}, {"type":"Punctuation","value":","}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"takeoff]}"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"#######################"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# EXTRA YAML FEATURES #"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"#######################"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# YAML also has a handy feature called 'anchors', which let you easily duplicate"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# content across your document. Both of these keys will have the same value:"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"anchored_content"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"CommentPreproc","value":"\u0026anchor_name"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"This string will appear as the value of two keys."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"other_anchor"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"CommentPreproc","value":"*anchor_name"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# Anchors can be used to duplicate/inherit properties"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"base"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"CommentPreproc","value":"\u0026base"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"name"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"Everyone has same name"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# The regexp \u003c\u003c is called Merge Key Language-Independent Type. It is used to"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# indicate that all the keys of one or more specified maps should be inserted"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# into the current map."}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"NameTag","value":"foo"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"CommentPreproc","value":"\u0026foo"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"\u003c\u003c"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"CommentPreproc","value":"*base"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"age"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumber","value":"10"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"NameTag","value":"bar"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"CommentPreproc","value":"\u0026bar"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"\u003c\u003c"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"CommentPreproc","value":"*base"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"age"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumber","value":"20"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# foo and bar would also have name: Everyone has same name"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# YAML also has tags, which you can use to explicitly declare types."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"explicit_string"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"CommentPreproc","value":"!!str"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumber","value":"0.5"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# Some parsers implement language specific tags, like this one for Python's"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# complex number type."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"python_complex_number"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"CommentPreproc","value":"!!python/complex"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumber","value":"1"}, {"type":"Literal","value":"+2j"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# We can also use yaml complex keys with language specific tags"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Punctuation","value":"?"}, {"type":"TextWhitespace","value":" "}, {"type":"CommentPreproc","value":"!!python/tuple"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"["}, {"type":"LiteralNumber","value":"5"}, {"type":"Punctuation","value":","}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralNumber","value":"7"}, {"type":"Punctuation","value":"]"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"Fifty Seven"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# Would be {(5, 7): 'Fifty Seven'} in Python"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"####################"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# EXTRA YAML TYPES #"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"####################"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# Strings and numbers aren't the only scalars that YAML can understand."}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# ISO-formatted date and datetime literals are also parsed."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"datetime"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralDate","value":"2001-12-15T02:59:43.1Z"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"datetime_with_spaces"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralDate","value":"2001-12-14 21:59:43.10 -5"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"date"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"LiteralDate","value":"2002-12-14"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# The !!binary tag indicates that a string is actually a base64-encoded"}, {"type":"TextWhitespace","value":"\n"}, {"type":"Comment","value":"# representation of a binary blob."}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"gif_file"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"CommentPreproc","value":"!!binary"}, {"type":"TextWhitespace","value":" "}, {"type":"Punctuation","value":"|"}, {"type":"LiteralStringDoc","value":"\n R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5\n OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+\n +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC\n AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs="}, {"type":"TextWhitespace","value":" \n\n"}, {"type":"Comment","value":"# YAML also has a set type, which looks like this:"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"set"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Punctuation","value":"?"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"item1"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Punctuation","value":"?"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"item2"}, {"type":"TextWhitespace","value":"\n "}, {"type":"Punctuation","value":"?"}, {"type":"TextWhitespace","value":" "}, {"type":"Literal","value":"item3"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"or"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"Text","value":"{"}, {"type":"Literal","value":"item1, item2, item3}"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"Comment","value":"# Sets are just maps with null values; the above is equivalent to:"}, {"type":"TextWhitespace","value":"\n"}, {"type":"NameTag","value":"set2"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"item1"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"KeywordConstant","value":"null"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"item2"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"KeywordConstant","value":"null"}, {"type":"TextWhitespace","value":"\n "}, {"type":"NameTag","value":"item3"}, {"type":"Punctuation","value":":"}, {"type":"TextWhitespace","value":" "}, {"type":"KeywordConstant","value":"null"}, {"type":"TextWhitespace","value":"\n\n"}, {"type":"NameNamespace","value":"..."}, {"type":"TextWhitespace","value":" "}, {"type":"Comment","value":"# document end"}, {"type":"TextWhitespace","value":"\n"} ]