�PNG  IHDR��;���IDATx��ܻn�0���K�� �)(�pA��� ���7�LeG{�� �§㻢|��ذaÆ 6lذaÆ 6lذaÆ 6lom��$^�y���ذag�5bÆ 6lذaÆ 6lذa{���� 6lذaÆ �`����}H�Fkm�,�m����Ӫ���ô�ô!� �x�|'ܢ˟;�E:���9�&ᶒ�}�{�v]�n&�6� �h��_��t�ڠ͵-ҫ���Z;��Z$�.�P���k�ž)�!��o���>}l�eQfJ�T��u і���چ��\��X=8��Rن4`Vw�l�>����n�G�^��i�s��"ms�$�u��i��?w�bs[m�6�K4���O���.�4��%����/����b�C%��t ��M�ז� �-l�G6�mrz2���s�%�9��s@���-�k�9�=���)������k�B5����\��+͂�Zsٲ ��Rn��~G���R���C����� �wIcI��n7jJ���hۛNCS|���j0��8y�iHKֶۛ�k�Ɉ+;Sz������L/��F�*\��Ԕ�#"5��m�2��[S��������=�g��n�a�P�e�ғ�L�� lذaÆ 6l�^k��̱aÆ 6lذaÆ 6lذa;���� �_��ذaÆ 6lذaÆ 6lذaÆ ���R���IEND�B` import { Type, YAMLSyntaxError } from './util' export default function parseCST(str: string): ParsedCST export interface ParsedCST extends Array { setOrigRanges(): boolean } export namespace CST { interface Range { start: number end: number origStart?: number origEnd?: number isEmpty(): boolean } interface ParseContext { /** Node starts at beginning of line */ atLineStart: boolean /** true if currently in a collection context */ inCollection: boolean /** true if currently in a flow context */ inFlow: boolean /** Current level of indentation */ indent: number /** Start of the current line */ lineStart: number /** The parent of the node */ parent: Node /** Source of the YAML document */ src: string } interface Node { context: ParseContext | null /** if not null, indicates a parser failure */ error: YAMLSyntaxError | null /** span of context.src parsed into this node */ range: Range | null valueRange: Range | null /** anchors, tags and comments */ props: Range[] /** specific node type */ type: Type /** if non-null, overrides source value */ value: string | null readonly anchor: string | null readonly comment: string | null readonly hasComment: boolean readonly hasProps: boolean readonly jsonLike: boolean readonly rangeAsLinePos: null | { start: { line: number; col: number } end?: { line: number; col: number } } readonly rawValue: string | null readonly tag: | null | { verbatim: string } | { handle: string; suffix: string } readonly valueRangeContainsNewline: boolean } interface Alias extends Node { type: Type.ALIAS /** contain the anchor without the * prefix */ readonly rawValue: string } type Scalar = BlockValue | PlainValue | QuoteValue interface BlockValue extends Node { type: Type.BLOCK_FOLDED | Type.BLOCK_LITERAL chomping: 'CLIP' | 'KEEP' | 'STRIP' blockIndent: number | null header: Range readonly strValue: string | null } interface BlockFolded extends BlockValue { type: Type.BLOCK_FOLDED } interface BlockLiteral extends BlockValue { type: Type.BLOCK_LITERAL } interface PlainValue extends Node { type: Type.PLAIN readonly strValue: string | null } interface QuoteValue extends Node { type: Type.QUOTE_DOUBLE | Type.QUOTE_SINGLE readonly strValue: | null | string | { str: string; errors: YAMLSyntaxError[] } } interface QuoteDouble extends QuoteValue { type: Type.QUOTE_DOUBLE } interface QuoteSingle extends QuoteValue { type: Type.QUOTE_SINGLE } interface Comment extends Node { type: Type.COMMENT readonly anchor: null readonly comment: string readonly rawValue: null readonly tag: null } interface BlankLine extends Node { type: Type.BLANK_LINE } interface MapItem extends Node { type: Type.MAP_KEY | Type.MAP_VALUE node: ContentNode | null } interface MapKey extends MapItem { type: Type.MAP_KEY } interface MapValue extends MapItem { type: Type.MAP_VALUE } interface Map extends Node { type: Type.MAP /** implicit keys are not wrapped */ items: Array } interface SeqItem extends Node { type: Type.SEQ_ITEM node: ContentNode | null } interface Seq extends Node { type: Type.SEQ items: Array } interface FlowChar { char: '{' | '}' | '[' | ']' | ',' | '?' | ':' offset: number origOffset?: number } interface FlowCollection extends Node { type: Type.FLOW_MAP | Type.FLOW_SEQ items: Array< FlowChar | BlankLine | Comment | Alias | Scalar | FlowCollection > } interface FlowMap extends FlowCollection { type: Type.FLOW_MAP } interface FlowSeq extends FlowCollection { type: Type.FLOW_SEQ } type ContentNode = Alias | Scalar | Map | Seq | FlowCollection interface Directive extends Node { type: Type.DIRECTIVE name: string readonly anchor: null readonly parameters: string[] readonly tag: null } interface Document extends Node { type: Type.DOCUMENT directives: Array contents: Array readonly anchor: null readonly comment: null readonly tag: null } }