diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/__404error.html b/__404error.html new file mode 100644 index 0000000..6e02e21 --- /dev/null +++ b/__404error.html @@ -0,0 +1,111 @@ + + + + + + + + qs_dart - Dart API docs + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
qs_dart
+ +
+ +
+
+
+ +
+

404: Something's gone wrong :-(

+ +
+

You've tried to visit a page that doesn't exist. Luckily this site + has other pages.

+

If you were looking for something specific, try searching: +

+

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/categories.json b/categories.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/categories.json @@ -0,0 +1 @@ +[] diff --git a/index.html b/index.html new file mode 100644 index 0000000..0d88df5 --- /dev/null +++ b/index.html @@ -0,0 +1,1127 @@ + + + + + + + + qs_dart - Dart API docs + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
qs_dart
+ +
+ +
+
+
+ +
+ +
+

qs_dart

+

A query string encoding and decoding library for Dart.

+

Ported from qs for JavaScript.

+

Pub Version +Pub Publisher +Pub Likes +Pub Points +Pub Popularity +Test +codecov +Codacy Badge +GitHub +GitHub Sponsors +GitHub Repo stars

+

Usage

+

A simple usage example:

+
import 'package:qs_dart/qs_dart.dart';
+import 'package:test/test.dart';
+
+void main() {
+  test('Simple example', () {
+    expect(
+      QS.decode('a=c'),
+      equals({'a': 'c'}),
+    );
+
+    expect(
+      QS.encode({'a': 'c'}),
+      equals('a=c'),
+    );
+  });
+  
+  test('Uri Extension usage', () {
+    expect(
+      Uri.parse('https://test.local/example?a[b][c]=d').queryParametersQs(),
+      equals({
+        'a': {
+          'b': {'c': 'd'}
+        }
+      }),
+    );
+    
+    expect(
+      Uri.https('test.local', '/example', {'a': '1', 'b': '2'}).toStringQs(), 
+      equals('https://test.local/example?a=1&b=2'),
+    );
+  });
+}
+
+

Decoding Maps

+
Map<String, dynamic> decode(
+  dynamic str, [
+  DecodeOptions options = const DecodeOptions(),
+]);
+
+

decode allows you to create nested Maps within your query strings, by surrounding the name of sub-keys with +square brackets []. For example, the string 'foo[bar]=baz' converts to:

+
expect(
+  QS.decode('foo[bar]=baz'),
+  equals({'foo': {'bar': 'baz'}}),
+);
+
+

URI encoded strings work too:

+
expect(
+  QS.decode('a%5Bb%5D=c'),
+  equals({'a': {'b': 'c'}}),
+);
+
+

You can also nest your Maps, like 'foo[bar][baz]=foobarbaz':

+
expect(
+  QS.decode('foo[bar][baz]=foobarbaz'),
+  equals({'foo': {'bar': {'baz': 'foobarbaz'}}}),
+);
+
+

By default, when nesting Maps decode will only decode up to 5 children deep. This means if you attempt to decode +a string like 'a[b][c][d][e][f][g][h][i]=j' your resulting Map will be:

+
expect(
+  QS.decode('a[b][c][d][e][f][g][h][i]=j'),
+  equals({
+    'a': {
+      'b': {
+        'c': {
+          'd': {
+            'e': {
+              'f': {
+                '[g][h][i]': 'j'
+              }
+            }
+          }
+        }
+      }
+    }
+  }),
+);
+
+

This depth can be overridden by passing a depth option to DecodeOptions.depth:

+
expect(
+  QS.decode(
+    'a[b][c][d][e][f][g][h][i]=j',
+    const DecodeOptions(depth: 1),
+  ),
+  equals({
+    'a': {
+      'b': {'[c][d][e][f][g][h][i]': 'j'},
+    },
+  }),
+);
+
+

You can configure decode to throw an error when parsing nested input beyond this depth using +DecodeOptions.strictDepth (defaults to false):

+
expect(
+  () => QS.decode(
+    'a[b][c][d][e][f][g][h][i]=j',
+    const DecodeOptions(
+      depth: 1,
+      strictDepth: true,
+    ),
+  ),
+  throwsA(isA<RangeError>()),
+);
+
+

The depth limit helps mitigate abuse when decode is used to parse user input, and it is recommended to keep it a +reasonably small number. DecodeOptions.strictDepth adds a layer of protection by throwing a RangeError when the +limit is exceeded, allowing you to catch and handle such cases.

+

For similar reasons, by default decode will only parse up to 1000 parameters. This can be overridden by passing +a DecodeOptions.parameterLimit option:

+
expect(
+  QS.decode(
+    'a=b&c=d',
+    const DecodeOptions(parameterLimit: 1),
+  ),
+  equals({'a': 'b'}),
+);
+
+

To bypass the leading question mark, use DecodeOptions.ignoreQueryPrefix:

+
expect(
+  QS.decode(
+    '?a=b&c=d',
+    const DecodeOptions(ignoreQueryPrefix: true),
+  ),
+  equals(
+    {'a': 'b', 'c': 'd'},
+  ),
+);
+
+

An optional DecodeOptions.delimiter can also be passed:

+
expect(
+  QS.decode(
+    'a=b;c=d',
+    const DecodeOptions(delimiter: ';'),
+  ),
+  equals({'a': 'b', 'c': 'd'}),
+);
+
+

DecodeOptions.delimiter can be a RegExp too:

+
expect(
+  QS.decode(
+    'a=b;c=d',
+    DecodeOptions(delimiter: RegExp(r'[;,]')),
+  ),
+  equals({'a': 'b', 'c': 'd'}),
+);
+
+

Option DecodeOptions.allowDots can be used to enable dot notation:

+
expect(
+  QS.decode(
+    'a.b=c',
+    const DecodeOptions(allowDots: true),
+  ),
+  equals({'a': {'b': 'c'}}),
+);
+
+

Option DecodeOptions.decodeDotInKeys can be used to decode dots in keys

+

Note: it implies DecodeOptions.allowDots, so decode will error if you set DecodeOptions.decodeDotInKeys +to true, and DecodeOptions.allowDots to false.

+
expect(
+  QS.decode(
+    'name%252Eobj.first=John&name%252Eobj.last=Doe',
+    const DecodeOptions(decodeDotInKeys: true),
+  ),
+  equals({
+    'name.obj': {'first': 'John', 'last': 'Doe'}
+  }),
+);
+
+

Option DecodeOptions.allowEmptyLists can be used to allow empty List values in a Map.

+
expect(
+  QS.decode(
+    'foo[]&bar=baz',
+    const DecodeOptions(allowEmptyLists: true),
+  ),
+  equals({
+    'foo': [],
+    'bar': 'baz',
+  }),
+);
+
+

Option DecodeOptions.duplicates can be used to change the behavior when duplicate keys are encountered.

+
expect(
+  QS.decode('foo=bar&foo=baz'),
+  equals({
+    'foo': ['bar', 'baz']
+  }),
+);
+
+expect(
+  QS.decode(
+    'foo=bar&foo=baz',
+    const DecodeOptions(duplicates: Duplicates.combine),
+  ),
+  equals({
+    'foo': ['bar', 'baz']
+  }),
+);
+
+expect(
+  QS.decode(
+    'foo=bar&foo=baz',
+    const DecodeOptions(duplicates: Duplicates.first),
+  ),
+  equals({'foo': 'bar'}),
+);
+
+expect(
+  QS.decode(
+    'foo=bar&foo=baz',
+    const DecodeOptions(duplicates: Duplicates.last),
+  ),
+  equals({'foo': 'baz'}),
+);
+
+

If you have to deal with legacy browsers or services, there's also support for decoding percent-encoded octets as +latin1:

+
expect(
+  QS.decode(
+    'a=%A7',
+    const DecodeOptions(charset: latin1),
+  ),
+  equals({'a': '§'}),
+);
+
+

Some services add an initial utf8=✓ value to forms so that old Internet Explorer versions are more likely to submit the +form as utf-8. Additionally, the server can check the value against wrong encodings of the checkmark character and detect +that a query string or application/x-www-form-urlencoded body was not sent as utf-8, eg. if the form had an +accept-charset parameter or the containing page had a different character set.

+

QS supports this mechanism via the DecodeOptions.charsetSentinel option. +If specified, the utf8 parameter will be omitted from the returned Map. +It will be used to switch to latin1 or utf8 mode depending on how the checkmark is encoded.

+

Important: When you specify both the DecodeOptions.charset option and the DecodeOptions.charsetSentinel option, +the DecodeOptions.charset will be overridden when the request contains a utf8 parameter from which the actual charset +can be deduced. In that sense the DecodeOptions.charset will behave as the default charset rather than the authoritative +charset.

+
expect(
+  QS.decode(
+    'utf8=%E2%9C%93&a=%C3%B8',
+    const DecodeOptions(
+      charset: latin1,
+      charsetSentinel: true,
+    ),
+  ),
+  equals({'a': 'ø'}),
+);
+
+expect(
+  QS.decode(
+    'utf8=%26%2310003%3B&a=%F8',
+    const DecodeOptions(
+      charset: utf8,
+      charsetSentinel: true,
+    ),
+  ),
+  equals({'a': 'ø'}),
+);
+
+

If you want to decode the &#...; syntax to the actual character, +you can specify the DecodeOptions.interpretNumericEntities option as well:

+
expect(
+  QS.decode(
+    'a=%26%239786%3B',
+    const DecodeOptions(
+      charset: latin1,
+      interpretNumericEntities: true,
+    ),
+  ),
+  equals({'a': '☺'}),
+);
+
+

It also works when the charset has been detected in DecodeOptions.charsetSentinel mode.

+

Decoding Lists

+

decode can also decode Lists using a similar [] notation:

+
expect(
+  QS.decode('a[]=b&a[]=c'),
+  equals({
+    'a': ['b', 'c']
+  }),
+);
+
+

You may specify an index as well:

+
expect(
+  QS.decode('a[1]=c&a[0]=b'),
+  equals({
+    'a': ['b', 'c']
+  }),
+);
+
+

Note that the only difference between an index in a List and a key in a Map is that the value between the brackets +must be a number to create a List. When creating Lists with specific indices, decode will compact a sparse +List to only the existing values preserving their order:

+
expect(
+  QS.decode('a[1]=b&a[15]=c'),
+  equals({
+    'a': ['b', 'c']
+  }),
+);
+
+

Note that an empty string is also a value, and will be preserved:

+
expect(
+  QS.decode('a[]=&a[]=b'),
+  equals({
+    'a': ['', 'b']
+  }),
+);
+expect(
+  QS.decode('a[0]=b&a[1]=&a[2]=c'),
+  equals({
+    'a': ['b', '', 'c']
+  }),
+);
+
+

decode will also limit specifying indices in a List to a maximum index of 20. +Any List members with an index of greater than 20 will instead be converted to a Map with the index as the key. +This is needed to handle cases when someone sent, for example, a[999999999] and it will take significant time to iterate +over this huge List.

+
expect(
+  QS.decode('a[100]=b'),
+  equals({
+    'a': {'100': 'b'}
+  }),
+);
+
+

This limit can be overridden by passing an DecodeOptions.listLimit option:

+
expect(
+  QS.decode(
+    'a[1]=b',
+    const DecodeOptions(listLimit: 0),
+  ),
+  equals({
+    'a': {'1': 'b'}
+  }),
+);
+
+

To disable List parsing entirely, set DecodeOptions.parseLists to false.

+
expect(
+  QS.decode(
+    'a[]=b',
+    const DecodeOptions(parseLists: false),
+  ),
+  equals({
+    'a': {'0': 'b'}
+  }),
+);
+
+

If you mix notations, decode will merge the two items into a Map:

+
expect(
+  QS.decode('a[0]=b&a[b]=c'),
+  equals({
+    'a': {'0': 'b', 'b': 'c'}
+  }),
+);
+
+

You can also create Lists of Maps:

+
expect(
+  QS.decode('a[][b]=c'),
+  equals({
+    'a': [
+      {'b': 'c'}
+    ]
+  }),
+);
+
+

Some people use commas to join Lists, decode can parse it by setting the DecodeOptions.comma option to true:

+
expect(
+  QS.decode(
+    'a=b,c',
+    const DecodeOptions(comma: true),
+  ),
+  equals({
+    'a': ['b', 'c']
+  }),
+);
+
+

(decode cannot convert nested Maps, such as 'a={b:1},{c:d}')

+

Decoding primitive/scalar values (num, bool, null, etc.)

+

By default, all values are parsed as Strings.

+
expect(
+  QS.decode('a=15&b=true&c=null'),
+  equals({
+    'a': '15',
+    'b': 'true',
+    'c': 'null',
+  }),
+);
+
+

Encoding

+
String encode(
+  Object? object, [
+  EncodeOptions options = const EncodeOptions(),
+]);
+
+

encode will by default URI encode the output. Maps are stringified as you would expect:

+
expect(
+  QS.encode({'a': 'b'}),
+  equals('a=b'),
+);
+expect(
+  QS.encode({'a': {'b': 'c'}}),
+  equals('a%5Bb%5D=c'),
+);
+
+

This encoding can be disabled by setting the EncodeOptions.encode option to false:

+
expect(
+  QS.encode(
+    {
+      'a': {'b': 'c'}
+    },
+    const EncodeOptions(encode: false),
+  ),
+  equals('a[b]=c'),
+);
+
+

Encoding can be disabled for keys by setting the EncodeOptions.encodeValuesOnly option to true:

+
expect(
+  QS.encode(
+    {
+      'a': 'b',
+      'c': ['d', 'e=f'],
+      'f': [
+        ['g'],
+        ['h']
+      ]
+    },
+    const EncodeOptions(encodeValuesOnly: true),
+  ),
+  equals('a=b&c[0]=d&c[1]=e%3Df&f[0][0]=g&f[1][0]=h'),
+);
+
+

This encoding can also be replaced by a custom Encoder set as EncodeOptions.encoder option:

+
expect(
+  QS.encode(
+    {
+      'a': {'b': 'č'}
+    },
+    EncodeOptions(
+      encoder: (
+        str, {
+        Encoding? charset,
+        Format? format,
+      }) =>
+          switch (str) {
+        'č' => 'c',
+        _ => str,
+      },
+    ),
+  ),
+  equals('a[b]=c'),
+);
+
+

(Note: the EncodeOptions.encoder option does not apply if EncodeOptions.encode is false)

+

Similar to EncodeOptions.encoder there is a DecodeOptions.decoder option for decode to override decoding of +properties and values:

+
expect(
+  QS.decode(
+    'foo=123', 
+    DecodeOptions(
+      decoder: (String? str, {Encoding? charset}) =>
+        num.tryParse(str ?? '') ?? str,
+    ),
+  ),
+  equals({'foo': 123}),
+);
+
+

Examples beyond this point will be shown as though the output is not URI encoded for clarity. +Please note that the return values in these cases will be URI encoded during real usage.

+

When Lists are encoded, they follow the EncodeOptions.listFormat option, which defaults to ListFormat.indices:

+
expect(
+  QS.encode(
+    {
+      'a': ['b', 'c', 'd']
+    },
+    const EncodeOptions(encode: false),
+  ),
+  equals('a[0]=b&a[1]=c&a[2]=d'),
+);
+
+

You may override this by setting the EncodeOptions.indices option to false, or to be more explicit, the +EncodeOptions.listFormat option to ListFormat.repeat:

+
expect(
+  QS.encode(
+    {
+      'a': ['b', 'c', 'd']
+    },
+    const EncodeOptions(
+      encode: false,
+      indices: false,
+    ),
+  ),
+  equals('a=b&a=c&a=d'),
+);
+
+

You may use the EncodeOptions.listFormat option to specify the format of the output List:

+
expect(
+  QS.encode(
+    {
+      'a': ['b', 'c']
+    },
+    const EncodeOptions(
+      encode: false,
+      listFormat: ListFormat.indices,
+    ),
+  ),
+  equals('a[0]=b&a[1]=c'),
+);
+
+expect(
+  QS.encode(
+    {
+      'a': ['b', 'c']
+    },
+    const EncodeOptions(
+      encode: false,
+      listFormat: ListFormat.brackets,
+    ),
+  ),
+  equals('a[]=b&a[]=c'),
+);
+
+expect(
+  QS.encode(
+    {
+      'a': ['b', 'c']
+    },
+    const EncodeOptions(
+      encode: false,
+      listFormat: ListFormat.repeat,
+    ),
+  ),
+  equals('a=b&a=c'),
+);
+
+expect(
+  QS.encode(
+    {
+      'a': ['b', 'c']
+    },
+    const EncodeOptions(
+      encode: false,
+      listFormat: ListFormat.comma,
+    ),
+  ),
+  equals('a=b,c'),
+);
+
+

Note: When using EncodeOptions.listFormat set to ListFormat.comma, you can also pass the EncodeOptions.commaRoundTrip +option set to true or false, to append [] on single-item Lists, so that they can round trip through a parse.

+

When Maps are encoded, by default they use bracket notation:

+
expect(
+  QS.encode(
+    {
+      'a': {
+        'b': {'c': 'd', 'e': 'f'}
+      }
+    },
+    const EncodeOptions(encode: false),
+  ),
+  equals('a[b][c]=d&a[b][e]=f'),
+);
+
+

You may override this to use dot notation by setting the EncodeOptions.allowDots option to true:

+
expect(
+  QS.encode(
+    {
+      'a': {
+        'b': {'c': 'd', 'e': 'f'}
+      }
+    },
+    const EncodeOptions(
+      encode: false,
+      allowDots: true,
+    ),
+  ),
+  equals('a.b.c=d&a.b.e=f'),
+);
+
+

You may encode the dot notation in the keys of Map with option EncodeOptions.encodeDotInKeys by setting it to true:

+
expect(
+  QS.encode(
+    {
+      'name.obj': {'first': 'John', 'last': 'Doe'}
+    },
+    const EncodeOptions(
+      allowDots: true,
+      encodeDotInKeys: true,
+    ),
+  ),
+  equals('name%252Eobj.first=John&name%252Eobj.last=Doe'),
+);
+
+

Caveat: when EncodeOptions.encodeValuesOnly is true as well as EncodeOptions.encodeDotInKeys, only dots in +keys and nothing else will be encoded.

+

You may allow empty List values by setting the EncodeOptions.allowEmptyLists option to true:

+
expect(
+  QS.encode(
+    {
+      'foo': [],
+      'bar': 'baz',
+    },
+    const EncodeOptions(
+      encode: false,
+      allowEmptyLists: true,
+    ),
+  ),
+  equals('foo[]&bar=baz'),
+);
+
+

Empty strings and null values will omit the value, but the equals sign (=) remains in place:

+
expect(
+  QS.encode(
+    {
+      'a': '',
+    },
+  ),
+  equals('a='),
+);
+
+

Key with no values (such as an empty Map or List) will return nothing:

+
expect(
+  QS.encode(
+    {
+      'a': [],
+    },
+  ),
+  equals(''),
+);
+
+expect(
+  QS.encode(
+    {
+      'a': {},
+    },
+  ),
+  equals(''),
+);
+
+expect(
+  QS.encode(
+    {
+      'a': [{}],
+    },
+  ),
+  equals('')
+);
+
+expect(
+  QS.encode(
+    {
+      'a': {'b': []},
+    },
+  ),
+  equals('')
+);
+
+expect(
+  QS.encode(
+    {
+      'a': {'b': {}},
+    },
+  ),
+  equals('')
+);
+
+

Properties that are Undefined will be omitted entirely:

+
expect(
+  QS.encode(
+    {
+      'a': null,
+      'b': const Undefined(),
+    },
+  ),
+  equals('a='),
+);
+
+

The query string may optionally be prepended with a question mark:

+
expect(
+  QS.encode(
+    {
+      'a': 'b',
+      'c': 'd',
+    },
+    const EncodeOptions(addQueryPrefix: true),
+  ),
+  equals('?a=b&c=d'),
+);
+
+

The delimiter may be overridden as well:

+
expect(
+  QS.encode(
+    {
+      'a': 'b',
+      'c': 'd',
+    },
+    const EncodeOptions(delimiter: ';'),
+  ),
+  equals('a=b;c=d'),
+);
+
+

If you only want to override the serialization of DateTime objects, you can provide a custom DateSerializer in the +EncodeOptions.serializeDate option:

+
expect(
+  QS.encode(
+    {
+      'a': DateTime.fromMillisecondsSinceEpoch(7).toUtc(),
+    },
+    const EncodeOptions(encode: false),
+  ),
+  equals('a=1970-01-01T00:00:00.007Z'),
+);
+expect(
+  QS.encode(
+    {
+      'a': DateTime.fromMillisecondsSinceEpoch(7).toUtc(),
+    },
+    EncodeOptions(
+      encode: false,
+      serializeDate: (DateTime date) =>
+          date.millisecondsSinceEpoch.toString(),
+    ),
+  ),
+  equals('a=7'),
+);
+
+

You may use the EncodeOptions.sort option to affect the order of parameter keys:

+
expect(
+  QS.encode(
+    {
+      'a': 'c',
+      'z': 'y',
+      'b': 'f',
+    },
+    EncodeOptions(
+      encode: false,
+      sort: (a, b) => a.compareTo(b),
+    ),
+  ),
+  equals('a=c&b=f&z=y'),
+);
+
+

Finally, you can use the EncodeOptions.filter option to restrict which keys will be included in the encoded output. +If you pass a Function, it will be called for each key to obtain the replacement value. +Otherwise, if you pass a List, it will be used to select properties and List indices to be encoded:

+
expect(
+  QS.encode(
+    {
+      'a': 'b',
+      'c': 'd',
+      'e': {
+        'f': DateTime.fromMillisecondsSinceEpoch(123),
+        'g': [2],
+      },
+    },
+    EncodeOptions(
+      encode: false,
+      filter: (prefix, value) => switch (prefix) {
+        'b' => const Undefined(),
+        'e[f]' => (value as DateTime).millisecondsSinceEpoch,
+        'e[g][0]' => (value as num) * 2,
+        _ => value,
+      },
+    ),
+  ),
+  equals('a=b&c=d&e[f]=123&e[g][0]=4'),
+);
+
+expect(
+  QS.encode(
+    {
+      'a': 'b',
+      'c': 'd',
+      'e': 'f',
+    },
+    const EncodeOptions(
+      encode: false,
+      filter: ['a', 'e'],
+    ),
+  ),
+  equals('a=b&e=f'),
+);
+
+expect(
+  QS.encode(
+    {
+      'a': ['b', 'c', 'd'],
+      'e': 'f',
+    },
+    const EncodeOptions(
+      encode: false,
+      filter: ['a', 0, 2],
+    ),
+  ),
+  equals('a[0]=b&a[2]=d'),
+);
+
+

Handling of null values

+

By default, null values are treated like empty strings:

+
expect(
+  QS.encode(
+    {
+      'a': null,
+      'b': '',
+    },
+  ),
+  equals('a=&b='),
+);
+
+

Decoding does not distinguish between parameters with and without equal signs. +Both are converted to empty strings.

+
expect(
+  QS.decode('a&b='),
+  equals({
+    'a': '',
+    'b': '',
+  }),
+);
+
+

To distinguish between null values and empty Strings use the EncodeOptions.strictNullHandling flag. +In the result string the null values have no = sign:

+
expect(
+  QS.encode(
+    {
+      'a': null,
+      'b': '',
+    },
+    const EncodeOptions(strictNullHandling: true),
+  ),
+  equals('a&b='),
+);
+
+

To decode values without = back to null use the DecodeOptions.strictNullHandling flag:

+
expect(
+  QS.decode(
+    'a&b=',
+    const DecodeOptions(strictNullHandling: true),
+  ),
+  equals({
+    'a': null,
+    'b': '',
+  }),
+);
+
+

To completely skip rendering keys with null values, use the EncodeOptions.skipNulls flag:

+
expect(
+  QS.encode(
+    {
+      'a': 'b',
+      'c': null,
+    },
+    const EncodeOptions(skipNulls: true),
+  ),
+  equals('a=b'),
+);
+
+

If you're communicating with legacy systems, you can switch to latin1 using the EncodeOptions.charset option:

+
expect(
+  QS.encode(
+    {
+      'æ': 'æ',
+    },
+    const EncodeOptions(charset: latin1),
+  ),
+  equals('%E6=%E6'),
+);
+
+

Characters that don't exist in latin1 will be converted to numeric entities, similar to what browsers do:

+
expect(
+  QS.encode(
+    {
+      'a': '☺',
+    },
+    const EncodeOptions(charset: latin1),
+  ),
+  equals('a=%26%239786%3B'),
+);
+
+

You can use the EncodeOptions.charsetSentinel option to announce the character by including an utf8=✓ parameter with +the proper encoding of the checkmark, similar to what Ruby on Rails and others do when submitting forms.

+
expect(
+  QS.encode(
+    {
+      'a': '☺',
+    },
+    const EncodeOptions(charsetSentinel: true),
+  ),
+  equals('utf8=%E2%9C%93&a=%E2%98%BA'),
+);
+expect(
+  QS.encode(
+    {
+      'a': 'æ',
+    },
+    const EncodeOptions(
+      charset: latin1,
+      charsetSentinel: true,
+    ),
+  ),
+  equals('utf8=%26%2310003%3B&a=%E6'),
+);
+
+

Dealing with special character sets

+

By default, the encoding and decoding of characters is done in utf8, and latin1 support is also built in via +the EncodeOptions.charset and DecodeOptions.charset parameter, respectively.

+

If you wish to encode query strings to a different character set (i.e. +Shift JIS) you can use the euc package

+
expect(
+  QS.encode(
+    {
+      'a': 'こんにちは!',
+    },
+    EncodeOptions(
+      encoder: (str, {Encoding? charset, Format? format}) {
+        if ((str as String?)?.isNotEmpty ?? false) {
+          final Uint8List buf = Uint8List.fromList(
+            ShiftJIS().encode(str!),
+          );
+          final List<String> result = [
+            for (int i = 0; i < buf.length; ++i) buf[i].toRadixString(16)
+          ];
+          return '%${result.join('%')}';
+        }
+        return '';
+      },
+    ),
+  ),
+  equals('%61=%82%b1%82%f1%82%c9%82%bf%82%cd%81%49'),
+);
+
+

This also works for decoding of query strings:

+
expect(
+  QS.decode(
+    '%61=%82%b1%82%f1%82%c9%82%bf%82%cd%81%49',
+    DecodeOptions(
+      decoder: (str, {Encoding? charset}) {
+        if (str == null) {
+          return null;
+        }
+
+        final RegExp reg = RegExp(r'%([0-9A-F]{2})', caseSensitive: false);
+        final List<int> result = [];
+        Match? parts;
+        while ((parts = reg.firstMatch(str!)) != null && parts != null) {
+          result.add(int.parse(parts.group(1)!, radix: 16));
+          str = str.substring(parts.end);
+        }
+        return ShiftJIS().decode(
+          Uint8List.fromList(result),
+        );
+      },
+    ),
+  ),
+  equals({
+    'a': 'こんにちは!',
+  }),
+);
+
+

RFC 3986 and RFC 1738 space encoding

+

The default EncodeOptions.format is Format.rfc3986 which encodes ' ' to %20 which is backward compatible. +You can also set the EncodeOptions.format to Format.rfc1738 which encodes ' ' to +.

+
expect(
+  QS.encode(
+    {
+      'a': 'b c',
+    },
+  ),
+  equals('a=b%20c'),
+);
+
+expect(
+  QS.encode(
+    {
+      'a': 'b c',
+    },
+    const EncodeOptions(format: Format.rfc3986),
+  ),
+  equals('a=b%20c'),
+);
+
+expect(
+  QS.encode(
+    {
+      'a': 'b c',
+    },
+    const EncodeOptions(format: Format.rfc1738),
+  ),
+  equals('a=b+c'),
+);
+
+
+

Special thanks to the authors of qs for JavaScript:

+ +
+ + +
+

Libraries

+
+
+ qs_dart + +
+
A query string decoder (parser) and encoder (stringifier). +
+ +
+
+ +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/index.json b/index.json new file mode 100644 index 0000000..1743c67 --- /dev/null +++ b/index.json @@ -0,0 +1 @@ +[{"name":"qs_dart","qualifiedName":"qs_dart","href":"qs_dart/qs_dart-library.html","kind":9,"overriddenDepth":0,"packageRank":0,"desc":"A query string decoder (parser) and encoder (stringifier)."},{"name":"DateSerializer","qualifiedName":"qs_dart.DateSerializer","href":"qs_dart/DateSerializer.html","kind":21,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"DecodeOptions","qualifiedName":"qs_dart.DecodeOptions","href":"qs_dart/DecodeOptions-class.html","kind":3,"overriddenDepth":0,"packageRank":0,"desc":"Options that configure the output of QS.decode.","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"DecodeOptions","qualifiedName":"qs_dart.DecodeOptions.DecodeOptions","href":"qs_dart/DecodeOptions/DecodeOptions.html","kind":2,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"allowDots","qualifiedName":"qs_dart.DecodeOptions.allowDots","href":"qs_dart/DecodeOptions/allowDots.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to decode dot Map notation in the encoded input.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"allowEmptyLists","qualifiedName":"qs_dart.DecodeOptions.allowEmptyLists","href":"qs_dart/DecodeOptions/allowEmptyLists.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to allow empty List values inside Maps in the encoded input.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"charset","qualifiedName":"qs_dart.DecodeOptions.charset","href":"qs_dart/DecodeOptions/charset.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"The character encoding to use when decoding the input.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"charsetSentinel","qualifiedName":"qs_dart.DecodeOptions.charsetSentinel","href":"qs_dart/DecodeOptions/charsetSentinel.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Some services add an initial utf8=✓ value to forms so that old InternetExplorer versions are more likely to submit the\nform as utf8. Additionally, the server can check the value against wrong encodings of the checkmark character and detect\nthat a query string or application/x-www-form-urlencoded body was not sent as utf8, eg. if the form had an\naccept-charset parameter or the containing page had a different character set.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"comma","qualifiedName":"qs_dart.DecodeOptions.comma","href":"qs_dart/DecodeOptions/comma.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to parse the input as a comma-separated value.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"copyWith","qualifiedName":"qs_dart.DecodeOptions.copyWith","href":"qs_dart/DecodeOptions/copyWith.html","kind":10,"overriddenDepth":0,"packageRank":0,"desc":"Returns a new DecodeOptions instance with updated values.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"decodeDotInKeys","qualifiedName":"qs_dart.DecodeOptions.decodeDotInKeys","href":"qs_dart/DecodeOptions/decodeDotInKeys.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to decode dots in keys.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"decoder","qualifiedName":"qs_dart.DecodeOptions.decoder","href":"qs_dart/DecodeOptions/decoder.html","kind":10,"overriddenDepth":0,"packageRank":0,"desc":"Decode the input using the specified Decoder.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"delimiter","qualifiedName":"qs_dart.DecodeOptions.delimiter","href":"qs_dart/DecodeOptions/delimiter.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"The delimiter to use when splitting key-value pairs in the encoded input.\nCan be a String or a RegExp.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"depth","qualifiedName":"qs_dart.DecodeOptions.depth","href":"qs_dart/DecodeOptions/depth.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"By default, when nesting Maps QS will only decode up to 5 children deep.\nThis depth can be overridden by setting the depth.\nThe depth limit helps mitigate abuse when qs is used to parse user input,\nand it is recommended to keep it a reasonably small number.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"duplicates","qualifiedName":"qs_dart.DecodeOptions.duplicates","href":"qs_dart/DecodeOptions/duplicates.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Change the duplicate key handling strategy","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"ignoreQueryPrefix","qualifiedName":"qs_dart.DecodeOptions.ignoreQueryPrefix","href":"qs_dart/DecodeOptions/ignoreQueryPrefix.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to ignore the leading question mark query prefix in the encoded input.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"interpretNumericEntities","qualifiedName":"qs_dart.DecodeOptions.interpretNumericEntities","href":"qs_dart/DecodeOptions/interpretNumericEntities.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to interpret HTML numeric entities (&#...;) in the encoded input.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"listLimit","qualifiedName":"qs_dart.DecodeOptions.listLimit","href":"qs_dart/DecodeOptions/listLimit.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"QS will limit specifying indices in a List to a maximum index of 20.\nAny List members with an index of greater than 20 will instead be converted to a Map with the index as the key.\nThis is needed to handle cases when someone sent, for example, a[999999999] and it will take significant time to iterate\nover this huge List.\nThis limit can be overridden by passing an listLimit option.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"parameterLimit","qualifiedName":"qs_dart.DecodeOptions.parameterLimit","href":"qs_dart/DecodeOptions/parameterLimit.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"For similar reasons, by default QS will only parse up to 1000\nparameters. This can be overridden by passing a parameterLimit\noption.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"parseLists","qualifiedName":"qs_dart.DecodeOptions.parseLists","href":"qs_dart/DecodeOptions/parseLists.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"To disable List parsing entirely, set parseLists to false.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"props","qualifiedName":"qs_dart.DecodeOptions.props","href":"qs_dart/DecodeOptions/props.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"The list of properties that will be used to determine whether\ntwo instances are equal.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"strictDepth","qualifiedName":"qs_dart.DecodeOptions.strictDepth","href":"qs_dart/DecodeOptions/strictDepth.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to add a layer of protection by throwing an error when the\nlimit is exceeded, allowing you to catch and handle such cases.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"strictNullHandling","qualifiedName":"qs_dart.DecodeOptions.strictNullHandling","href":"qs_dart/DecodeOptions/strictNullHandling.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to decode values without = to null.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"toString","qualifiedName":"qs_dart.DecodeOptions.toString","href":"qs_dart/DecodeOptions/toString.html","kind":10,"overriddenDepth":1,"packageRank":0,"desc":"A string representation of this object.","enclosedBy":{"name":"DecodeOptions","kind":3,"href":"qs_dart/DecodeOptions-class.html"}},{"name":"Decoder","qualifiedName":"qs_dart.Decoder","href":"qs_dart/Decoder.html","kind":21,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"Duplicates","qualifiedName":"qs_dart.Duplicates","href":"qs_dart/Duplicates.html","kind":5,"overriddenDepth":0,"packageRank":0,"desc":"An enum of all available duplicate key handling strategies.","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"Duplicates","qualifiedName":"qs_dart.Duplicates.Duplicates","href":"qs_dart/Duplicates/Duplicates.html","kind":2,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"Duplicates","kind":5,"href":"qs_dart/Duplicates.html"}},{"name":"toString","qualifiedName":"qs_dart.Duplicates.toString","href":"qs_dart/Duplicates/toString.html","kind":10,"overriddenDepth":1,"packageRank":0,"desc":"A string representation of this object.","enclosedBy":{"name":"Duplicates","kind":5,"href":"qs_dart/Duplicates.html"}},{"name":"values","qualifiedName":"qs_dart.Duplicates.values","href":"qs_dart/Duplicates/values-constant.html","kind":1,"overriddenDepth":0,"packageRank":0,"desc":"A constant List of the values in this enum, in order of their declaration.","enclosedBy":{"name":"Duplicates","kind":5,"href":"qs_dart/Duplicates.html"}},{"name":"EncodeOptions","qualifiedName":"qs_dart.EncodeOptions","href":"qs_dart/EncodeOptions-class.html","kind":3,"overriddenDepth":0,"packageRank":0,"desc":"Options that configure the output of QS.encode.","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"EncodeOptions","qualifiedName":"qs_dart.EncodeOptions.EncodeOptions","href":"qs_dart/EncodeOptions/EncodeOptions.html","kind":2,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"addQueryPrefix","qualifiedName":"qs_dart.EncodeOptions.addQueryPrefix","href":"qs_dart/EncodeOptions/addQueryPrefix.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to add a question mark ? prefix to the encoded output.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"allowDots","qualifiedName":"qs_dart.EncodeOptions.allowDots","href":"qs_dart/EncodeOptions/allowDots.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to use dot Map notation in the encoded output.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"allowEmptyLists","qualifiedName":"qs_dart.EncodeOptions.allowEmptyLists","href":"qs_dart/EncodeOptions/allowEmptyLists.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to allow empty Lists in the encoded output.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"charset","qualifiedName":"qs_dart.EncodeOptions.charset","href":"qs_dart/EncodeOptions/charset.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"The character encoding to use.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"charsetSentinel","qualifiedName":"qs_dart.EncodeOptions.charsetSentinel","href":"qs_dart/EncodeOptions/charsetSentinel.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to announce the character by including an utf8=✓ parameter\nwith the proper encoding of the checkmark, similar to what Ruby on Rails\nand others do when submitting forms.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"commaRoundTrip","qualifiedName":"qs_dart.EncodeOptions.commaRoundTrip","href":"qs_dart/EncodeOptions/commaRoundTrip.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"When listFormat is set to ListFormat.comma, you can also set\ncommaRoundTrip option to true or false, to append [] on\nsingle-item Lists, so that they can round trip through a parse.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"copyWith","qualifiedName":"qs_dart.EncodeOptions.copyWith","href":"qs_dart/EncodeOptions/copyWith.html","kind":10,"overriddenDepth":0,"packageRank":0,"desc":"Returns a new EncodeOptions instance with updated values.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"delimiter","qualifiedName":"qs_dart.EncodeOptions.delimiter","href":"qs_dart/EncodeOptions/delimiter.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"The delimiter to use when joining key-value pairs in the encoded output.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"encode","qualifiedName":"qs_dart.EncodeOptions.encode","href":"qs_dart/EncodeOptions/encode.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to false to disable encoding.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"encodeDotInKeys","qualifiedName":"qs_dart.EncodeOptions.encodeDotInKeys","href":"qs_dart/EncodeOptions/encodeDotInKeys.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Encode Map keys using dot notation by setting encodeDotInKeys to true:","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"encodeValuesOnly","qualifiedName":"qs_dart.EncodeOptions.encodeValuesOnly","href":"qs_dart/EncodeOptions/encodeValuesOnly.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Encoding can be disabled for keys by setting the encodeValuesOnly to true","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"encoder","qualifiedName":"qs_dart.EncodeOptions.encoder","href":"qs_dart/EncodeOptions/encoder.html","kind":10,"overriddenDepth":0,"packageRank":0,"desc":"Encodes a value to a String.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"filter","qualifiedName":"qs_dart.EncodeOptions.filter","href":"qs_dart/EncodeOptions/filter.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Use the filter option to restrict which keys will be included in the encoded output.\nIf you pass a Function, it will be called for each key to obtain the replacement value.\nIf you pass a List, it will be used to select properties and List indices to be encoded.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"format","qualifiedName":"qs_dart.EncodeOptions.format","href":"qs_dart/EncodeOptions/format.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"The encoding format to use.\nThe default format is Format.rfc3986 which encodes ' ' to %20\nwhich is backward compatible.\nYou can also set format to Format.rfc1738 which encodes ' ' to +.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"formatter","qualifiedName":"qs_dart.EncodeOptions.formatter","href":"qs_dart/EncodeOptions/formatter.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Convenience getter for accessing the format's Format.formatter","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"listFormat","qualifiedName":"qs_dart.EncodeOptions.listFormat","href":"qs_dart/EncodeOptions/listFormat.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"The List encoding format to use.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"props","qualifiedName":"qs_dart.EncodeOptions.props","href":"qs_dart/EncodeOptions/props.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"The list of properties that will be used to determine whether\ntwo instances are equal.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"serializeDate","qualifiedName":"qs_dart.EncodeOptions.serializeDate","href":"qs_dart/EncodeOptions/serializeDate.html","kind":10,"overriddenDepth":0,"packageRank":0,"desc":"Serializes a DateTime instance to a String.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"skipNulls","qualifiedName":"qs_dart.EncodeOptions.skipNulls","href":"qs_dart/EncodeOptions/skipNulls.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to completely skip encoding keys with null values","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"sort","qualifiedName":"qs_dart.EncodeOptions.sort","href":"qs_dart/EncodeOptions/sort.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set a Sorter to affect the order of parameter keys.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"strictNullHandling","qualifiedName":"qs_dart.EncodeOptions.strictNullHandling","href":"qs_dart/EncodeOptions/strictNullHandling.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"Set to true to distinguish between null values and empty Strings.\nThis way the encoded string null values will have no = sign.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"toString","qualifiedName":"qs_dart.EncodeOptions.toString","href":"qs_dart/EncodeOptions/toString.html","kind":10,"overriddenDepth":1,"packageRank":0,"desc":"A string representation of this object.","enclosedBy":{"name":"EncodeOptions","kind":3,"href":"qs_dart/EncodeOptions-class.html"}},{"name":"Encoder","qualifiedName":"qs_dart.Encoder","href":"qs_dart/Encoder.html","kind":21,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"Format","qualifiedName":"qs_dart.Format","href":"qs_dart/Format.html","kind":5,"overriddenDepth":0,"packageRank":0,"desc":"An enum of all supported URI component encoding formats.","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"Format","qualifiedName":"qs_dart.Format.Format","href":"qs_dart/Format/Format.html","kind":2,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"Format","kind":5,"href":"qs_dart/Format.html"}},{"name":"formatter","qualifiedName":"qs_dart.Format.formatter","href":"qs_dart/Format/formatter.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"Format","kind":5,"href":"qs_dart/Format.html"}},{"name":"toString","qualifiedName":"qs_dart.Format.toString","href":"qs_dart/Format/toString.html","kind":10,"overriddenDepth":1,"packageRank":0,"desc":"A string representation of this object.","enclosedBy":{"name":"Format","kind":5,"href":"qs_dart/Format.html"}},{"name":"values","qualifiedName":"qs_dart.Format.values","href":"qs_dart/Format/values-constant.html","kind":1,"overriddenDepth":0,"packageRank":0,"desc":"A constant List of the values in this enum, in order of their declaration.","enclosedBy":{"name":"Format","kind":5,"href":"qs_dart/Format.html"}},{"name":"Formatter","qualifiedName":"qs_dart.Formatter","href":"qs_dart/Formatter.html","kind":21,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"ListFormat","qualifiedName":"qs_dart.ListFormat","href":"qs_dart/ListFormat.html","kind":5,"overriddenDepth":0,"packageRank":0,"desc":"An enum of all available list format options.","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"ListFormat","qualifiedName":"qs_dart.ListFormat.ListFormat","href":"qs_dart/ListFormat/ListFormat.html","kind":2,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"ListFormat","kind":5,"href":"qs_dart/ListFormat.html"}},{"name":"generator","qualifiedName":"qs_dart.ListFormat.generator","href":"qs_dart/ListFormat/generator.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"ListFormat","kind":5,"href":"qs_dart/ListFormat.html"}},{"name":"toString","qualifiedName":"qs_dart.ListFormat.toString","href":"qs_dart/ListFormat/toString.html","kind":10,"overriddenDepth":1,"packageRank":0,"desc":"A string representation of this object.","enclosedBy":{"name":"ListFormat","kind":5,"href":"qs_dart/ListFormat.html"}},{"name":"values","qualifiedName":"qs_dart.ListFormat.values","href":"qs_dart/ListFormat/values-constant.html","kind":1,"overriddenDepth":0,"packageRank":0,"desc":"A constant List of the values in this enum, in order of their declaration.","enclosedBy":{"name":"ListFormat","kind":5,"href":"qs_dart/ListFormat.html"}},{"name":"ListFormatGenerator","qualifiedName":"qs_dart.ListFormatGenerator","href":"qs_dart/ListFormatGenerator.html","kind":21,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"QS","qualifiedName":"qs_dart.QS","href":"qs_dart/QS-class.html","kind":3,"overriddenDepth":0,"packageRank":0,"desc":"A query string decoder (parser) and encoder (stringifier) class.","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"QS","qualifiedName":"qs_dart.QS.QS","href":"qs_dart/QS/QS.html","kind":2,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"QS","kind":3,"href":"qs_dart/QS-class.html"}},{"name":"decode","qualifiedName":"qs_dart.QS.decode","href":"qs_dart/QS/decode.html","kind":10,"overriddenDepth":0,"packageRank":0,"desc":"Decodes a String or Map<String, dynamic> into a Map<String, dynamic>.\nProviding custom options will override the default behavior.","enclosedBy":{"name":"QS","kind":3,"href":"qs_dart/QS-class.html"}},{"name":"encode","qualifiedName":"qs_dart.QS.encode","href":"qs_dart/QS/encode.html","kind":10,"overriddenDepth":0,"packageRank":0,"desc":"Encodes an Object into a query String.\nProviding custom options will override the default behavior.","enclosedBy":{"name":"QS","kind":3,"href":"qs_dart/QS-class.html"}},{"name":"Sentinel","qualifiedName":"qs_dart.Sentinel","href":"qs_dart/Sentinel.html","kind":5,"overriddenDepth":0,"packageRank":0,"desc":"An enum of all available sentinels.","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"Sentinel","qualifiedName":"qs_dart.Sentinel.Sentinel","href":"qs_dart/Sentinel/Sentinel.html","kind":2,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"Sentinel","kind":5,"href":"qs_dart/Sentinel.html"}},{"name":"encoded","qualifiedName":"qs_dart.Sentinel.encoded","href":"qs_dart/Sentinel/encoded.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"Sentinel","kind":5,"href":"qs_dart/Sentinel.html"}},{"name":"toString","qualifiedName":"qs_dart.Sentinel.toString","href":"qs_dart/Sentinel/toString.html","kind":10,"overriddenDepth":1,"packageRank":0,"desc":"A string representation of this object.","enclosedBy":{"name":"Sentinel","kind":5,"href":"qs_dart/Sentinel.html"}},{"name":"value","qualifiedName":"qs_dart.Sentinel.value","href":"qs_dart/Sentinel/value.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"Sentinel","kind":5,"href":"qs_dart/Sentinel.html"}},{"name":"values","qualifiedName":"qs_dart.Sentinel.values","href":"qs_dart/Sentinel/values-constant.html","kind":1,"overriddenDepth":0,"packageRank":0,"desc":"A constant List of the values in this enum, in order of their declaration.","enclosedBy":{"name":"Sentinel","kind":5,"href":"qs_dart/Sentinel.html"}},{"name":"Sorter","qualifiedName":"qs_dart.Sorter","href":"qs_dart/Sorter.html","kind":21,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"Undefined","qualifiedName":"qs_dart.Undefined","href":"qs_dart/Undefined-class.html","kind":3,"overriddenDepth":0,"packageRank":0,"desc":"Internal model to distinguish between null and not set value","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"Undefined","qualifiedName":"qs_dart.Undefined.Undefined","href":"qs_dart/Undefined/Undefined.html","kind":2,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"Undefined","kind":3,"href":"qs_dart/Undefined-class.html"}},{"name":"copyWith","qualifiedName":"qs_dart.Undefined.copyWith","href":"qs_dart/Undefined/copyWith.html","kind":10,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"Undefined","kind":3,"href":"qs_dart/Undefined-class.html"}},{"name":"props","qualifiedName":"qs_dart.Undefined.props","href":"qs_dart/Undefined/props.html","kind":16,"overriddenDepth":0,"packageRank":0,"desc":"The list of properties that will be used to determine whether\ntwo instances are equal.","enclosedBy":{"name":"Undefined","kind":3,"href":"qs_dart/Undefined-class.html"}},{"name":"UriExtension","qualifiedName":"qs_dart.UriExtension","href":"qs_dart/UriExtension.html","kind":6,"overriddenDepth":0,"packageRank":0,"desc":"","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"queryParametersQs","qualifiedName":"qs_dart.UriExtension.queryParametersQs","href":"qs_dart/UriExtension/queryParametersQs.html","kind":10,"overriddenDepth":0,"packageRank":0,"desc":"The URI query split into a map.\nProviding custom options will override the default behavior.","enclosedBy":{"name":"UriExtension","kind":6,"href":"qs_dart/UriExtension.html"}},{"name":"toStringQs","qualifiedName":"qs_dart.UriExtension.toStringQs","href":"qs_dart/UriExtension/toStringQs.html","kind":10,"overriddenDepth":0,"packageRank":0,"desc":"The normalized string representation of the URI.\nProviding custom options will override the default behavior.","enclosedBy":{"name":"UriExtension","kind":6,"href":"qs_dart/UriExtension.html"}},{"name":"decode","qualifiedName":"qs_dart.decode","href":"qs_dart/decode.html","kind":8,"overriddenDepth":0,"packageRank":0,"desc":"Convenience method for QS.decode","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}},{"name":"encode","qualifiedName":"qs_dart.encode","href":"qs_dart/encode.html","kind":8,"overriddenDepth":0,"packageRank":0,"desc":"Convenience method for QS.encode","enclosedBy":{"name":"qs_dart","kind":9,"href":"qs_dart/qs_dart-library.html"}}] diff --git a/qs_dart/DateSerializer.html b/qs_dart/DateSerializer.html new file mode 100644 index 0000000..0923859 --- /dev/null +++ b/qs_dart/DateSerializer.html @@ -0,0 +1,123 @@ + + + + + + + + DateSerializer typedef - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
DateSerializer
+ +
+ +
+
+
+ +
+
+

DateSerializer typedef + +

+ +
+ DateSerializer = + String? Function(DateTime date) + +
+ + + + +
+

Implementation

+
typedef DateSerializer = String? Function(DateTime date);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions-class-sidebar.html b/qs_dart/DecodeOptions-class-sidebar.html new file mode 100644 index 0000000..0ce44fa --- /dev/null +++ b/qs_dart/DecodeOptions-class-sidebar.html @@ -0,0 +1,46 @@ +
    + +
  1. Constructors
  2. +
  3. DecodeOptions
  4. + + + +
  5. + Properties +
  6. +
  7. allowDots
  8. +
  9. allowEmptyLists
  10. +
  11. charset
  12. +
  13. charsetSentinel
  14. +
  15. comma
  16. +
  17. decodeDotInKeys
  18. +
  19. delimiter
  20. +
  21. depth
  22. +
  23. duplicates
  24. +
  25. hashCode
  26. +
  27. ignoreQueryPrefix
  28. +
  29. interpretNumericEntities
  30. +
  31. listLimit
  32. +
  33. parameterLimit
  34. +
  35. parseLists
  36. +
  37. props
  38. +
  39. runtimeType
  40. +
  41. strictDepth
  42. +
  43. strictNullHandling
  44. +
  45. stringify
  46. + +
  47. Methods
  48. +
  49. copyWith
  50. +
  51. decoder
  52. +
  53. noSuchMethod
  54. +
  55. toString
  56. + +
  57. Operators
  58. +
  59. operator ==
  60. + + + + + + +
diff --git a/qs_dart/DecodeOptions-class.html b/qs_dart/DecodeOptions-class.html new file mode 100644 index 0000000..63233b8 --- /dev/null +++ b/qs_dart/DecodeOptions-class.html @@ -0,0 +1,500 @@ + + + + + + + + DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
DecodeOptions
+ +
+ +
+
+
+ +
+
+

DecodeOptions class + final + +

+ + +
+

Options that configure the output of QS.decode.

+
+ + +
+
+ + + + +
Mixed in types
+
+ +
+ + + + + + +
+
+ + +
+

Constructors

+ +
+
+ DecodeOptions({bool? allowDots, Decoder? decoder, bool? decodeDotInKeys, bool allowEmptyLists = false, int listLimit = 20, Encoding charset = utf8, bool charsetSentinel = false, bool comma = false, Pattern delimiter = '&', int depth = 5, Duplicates duplicates = Duplicates.combine, bool ignoreQueryPrefix = false, bool interpretNumericEntities = false, num parameterLimit = 1000, bool parseLists = true, bool strictDepth = false, bool strictNullHandling = false}) +
+
+ +
const
+
+
+
+ +
+

Properties

+
+
+ allowDots + bool + + +
+
+ Set to true to decode dot Map notation in the encoded input. +
final
+ +
+ +
+ allowEmptyLists + bool + + +
+
+ Set to true to allow empty List values inside Maps in the encoded input. +
final
+ +
+ +
+ charset + Encoding + + +
+
+ The character encoding to use when decoding the input. +
final
+ +
+ +
+ charsetSentinel + bool + + +
+
+ Some services add an initial utf8=✓ value to forms so that old InternetExplorer versions are more likely to submit the +form as utf8. Additionally, the server can check the value against wrong encodings of the checkmark character and detect +that a query string or application/x-www-form-urlencoded body was not sent as utf8, eg. if the form had an +accept-charset parameter or the containing page had a different character set. +
final
+ +
+ +
+ comma + bool + + +
+
+ Set to true to parse the input as a comma-separated value. +
final
+ +
+ +
+ decodeDotInKeys + bool + + +
+
+ Set to true to decode dots in keys. +
final
+ +
+ +
+ delimiter + Pattern + + +
+
+ The delimiter to use when splitting key-value pairs in the encoded input. +Can be a String or a RegExp. +
final
+ +
+ +
+ depth + int + + +
+
+ By default, when nesting Maps QS will only decode up to 5 children deep. +This depth can be overridden by setting the depth. +The depth limit helps mitigate abuse when qs is used to parse user input, +and it is recommended to keep it a reasonably small number. +
final
+ +
+ +
+ duplicates + Duplicates + + +
+
+ Change the duplicate key handling strategy +
final
+ +
+ +
+ hashCode + int + + +
+
+ The hash code for this object. +
no setterinherited
+ +
+ +
+ ignoreQueryPrefix + bool + + +
+
+ Set to true to ignore the leading question mark query prefix in the encoded input. +
final
+ +
+ +
+ interpretNumericEntities + bool + + +
+
+ Set to true to interpret HTML numeric entities (&#...;) in the encoded input. +
final
+ +
+ +
+ listLimit + int + + +
+
+ QS will limit specifying indices in a List to a maximum index of 20. +Any List members with an index of greater than 20 will instead be converted to a Map with the index as the key. +This is needed to handle cases when someone sent, for example, a[999999999] and it will take significant time to iterate +over this huge List. +This limit can be overridden by passing an listLimit option. +
final
+ +
+ +
+ parameterLimit + num + + +
+
+ For similar reasons, by default QS will only parse up to 1000 +parameters. This can be overridden by passing a parameterLimit +option. +
final
+ +
+ +
+ parseLists + bool + + +
+
+ To disable List parsing entirely, set parseLists to false. +
final
+ +
+ +
+ props + List<Object?> + + +
+
+ The list of properties that will be used to determine whether +two instances are equal. +
no setteroverride
+ +
+ +
+ runtimeType + Type + + +
+
+ A representation of the runtime type of the object. +
no setterinherited
+ +
+ +
+ strictDepth + bool + + +
+
+ Set to true to add a layer of protection by throwing an error when the +limit is exceeded, allowing you to catch and handle such cases. +
final
+ +
+ +
+ strictNullHandling + bool + + +
+
+ Set to true to decode values without = to null. +
final
+ +
+ +
+ stringify + bool? + + +
+
+ If set to true, the toString method will be overridden to output +this instance's props. +
no setterinherited
+ +
+ +
+
+ +
+

Methods

+
+
+ copyWith({bool? allowDots, bool? allowEmptyLists, int? listLimit, Encoding? charset, bool? charsetSentinel, bool? comma, bool? decodeDotInKeys, Pattern? delimiter, int? depth, Duplicates? duplicates, bool? ignoreQueryPrefix, bool? interpretNumericEntities, num? parameterLimit, bool? parseLists, bool? strictNullHandling, bool? strictDepth, Decoder? decoder}) + DecodeOptions + + + +
+
+ Returns a new DecodeOptions instance with updated values. + + +
+ +
+ decoder(String? value, {Encoding? charset}) + → dynamic + + + +
+
+ Decode the input using the specified Decoder. + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a nonexistent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/DecodeOptions.html b/qs_dart/DecodeOptions/DecodeOptions.html new file mode 100644 index 0000000..79a5629 --- /dev/null +++ b/qs_dart/DecodeOptions/DecodeOptions.html @@ -0,0 +1,165 @@ + + + + + + + + DecodeOptions constructor - DecodeOptions - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
DecodeOptions
+ +
+ +
+
+
+ +
+
+

DecodeOptions constructor +

+ +
+ const + DecodeOptions({
  1. bool? allowDots,
  2. +
  3. Decoder? decoder,
  4. +
  5. bool? decodeDotInKeys,
  6. +
  7. bool allowEmptyLists = false,
  8. +
  9. int listLimit = 20,
  10. +
  11. Encoding charset = utf8,
  12. +
  13. bool charsetSentinel = false,
  14. +
  15. bool comma = false,
  16. +
  17. Pattern delimiter = '&',
  18. +
  19. int depth = 5,
  20. +
  21. Duplicates duplicates = Duplicates.combine,
  22. +
  23. bool ignoreQueryPrefix = false,
  24. +
  25. bool interpretNumericEntities = false,
  26. +
  27. num parameterLimit = 1000,
  28. +
  29. bool parseLists = true,
  30. +
  31. bool strictDepth = false,
  32. +
  33. bool strictNullHandling = false,
  34. +
}) +
+ + + + + +
+

Implementation

+
const DecodeOptions({
+  bool? allowDots,
+  Decoder? decoder,
+  bool? decodeDotInKeys,
+  this.allowEmptyLists = false,
+  this.listLimit = 20,
+  this.charset = utf8,
+  this.charsetSentinel = false,
+  this.comma = false,
+  this.delimiter = '&',
+  this.depth = 5,
+  this.duplicates = Duplicates.combine,
+  this.ignoreQueryPrefix = false,
+  this.interpretNumericEntities = false,
+  this.parameterLimit = 1000,
+  this.parseLists = true,
+  this.strictDepth = false,
+  this.strictNullHandling = false,
+})  : allowDots = allowDots ?? decodeDotInKeys == true || false,
+      decodeDotInKeys = decodeDotInKeys ?? false,
+      _decoder = decoder,
+      assert(
+        charset == utf8 || charset == latin1,
+        'Invalid charset',
+      );
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/allowDots.html b/qs_dart/DecodeOptions/allowDots.html new file mode 100644 index 0000000..566d6a9 --- /dev/null +++ b/qs_dart/DecodeOptions/allowDots.html @@ -0,0 +1,128 @@ + + + + + + + + allowDots property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
allowDots
+ +
+ +
+
+
+ +
+
+

allowDots property +

+ +
+ + bool + allowDots +
final
+ +
+ +
+

Set to true to decode dot Map notation in the encoded input.

+
+ + +
+

Implementation

+
final bool allowDots;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/allowEmptyLists.html b/qs_dart/DecodeOptions/allowEmptyLists.html new file mode 100644 index 0000000..8421d37 --- /dev/null +++ b/qs_dart/DecodeOptions/allowEmptyLists.html @@ -0,0 +1,128 @@ + + + + + + + + allowEmptyLists property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
allowEmptyLists
+ +
+ +
+
+
+ +
+
+

allowEmptyLists property +

+ +
+ + bool + allowEmptyLists +
final
+ +
+ +
+

Set to true to allow empty List values inside Maps in the encoded input.

+
+ + +
+

Implementation

+
final bool allowEmptyLists;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/charset.html b/qs_dart/DecodeOptions/charset.html new file mode 100644 index 0000000..0c01c79 --- /dev/null +++ b/qs_dart/DecodeOptions/charset.html @@ -0,0 +1,128 @@ + + + + + + + + charset property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
charset
+ +
+ +
+
+
+ +
+
+

charset property +

+ +
+ + Encoding + charset +
final
+ +
+ +
+

The character encoding to use when decoding the input.

+
+ + +
+

Implementation

+
final Encoding charset;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/charsetSentinel.html b/qs_dart/DecodeOptions/charsetSentinel.html new file mode 100644 index 0000000..a9aa315 --- /dev/null +++ b/qs_dart/DecodeOptions/charsetSentinel.html @@ -0,0 +1,138 @@ + + + + + + + + charsetSentinel property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
charsetSentinel
+ +
+ +
+
+
+ +
+
+

charsetSentinel property +

+ +
+ + bool + charsetSentinel +
final
+ +
+ +
+

Some services add an initial utf8=✓ value to forms so that old InternetExplorer versions are more likely to submit the +form as utf8. Additionally, the server can check the value against wrong encodings of the checkmark character and detect +that a query string or application/x-www-form-urlencoded body was not sent as utf8, eg. if the form had an +accept-charset parameter or the containing page had a different character set.

+

QS supports this mechanism via the charsetSentinel option. +If specified, the utf8 parameter will be omitted from the returned Map. +It will be used to switch to latin1/utf8 mode depending on how the checkmark is encoded.

+

Important: When you specify both the charset option and the charsetSentinel option, +the charset will be overridden when the request contains a utf8 parameter from which the actual charset +can be deduced. In that sense the charset will behave as the default charset rather than the authoritative +charset.

+
+ + +
+

Implementation

+
final bool charsetSentinel;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/comma.html b/qs_dart/DecodeOptions/comma.html new file mode 100644 index 0000000..403d899 --- /dev/null +++ b/qs_dart/DecodeOptions/comma.html @@ -0,0 +1,129 @@ + + + + + + + + comma property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
comma
+ +
+ +
+
+
+ +
+
+

comma property +

+ +
+ + bool + comma +
final
+ +
+ +
+

Set to true to parse the input as a comma-separated value.

+

Note: nested Maps, such as 'a={b:1},{c:d}' are not supported.

+
+ + +
+

Implementation

+
final bool comma;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/copyWith.html b/qs_dart/DecodeOptions/copyWith.html new file mode 100644 index 0000000..6fa931b --- /dev/null +++ b/qs_dart/DecodeOptions/copyWith.html @@ -0,0 +1,186 @@ + + + + + + + + copyWith method - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
copyWith
+ +
+ +
+
+
+ +
+
+

copyWith method +

+ +
+ + +DecodeOptions +copyWith({
  1. bool? allowDots,
  2. +
  3. bool? allowEmptyLists,
  4. +
  5. int? listLimit,
  6. +
  7. Encoding? charset,
  8. +
  9. bool? charsetSentinel,
  10. +
  11. bool? comma,
  12. +
  13. bool? decodeDotInKeys,
  14. +
  15. Pattern? delimiter,
  16. +
  17. int? depth,
  18. +
  19. Duplicates? duplicates,
  20. +
  21. bool? ignoreQueryPrefix,
  22. +
  23. bool? interpretNumericEntities,
  24. +
  25. num? parameterLimit,
  26. +
  27. bool? parseLists,
  28. +
  29. bool? strictNullHandling,
  30. +
  31. bool? strictDepth,
  32. +
  33. Decoder? decoder,
  34. +
}) + + + +
+ +
+

Returns a new DecodeOptions instance with updated values.

+
+ + + +
+

Implementation

+
DecodeOptions copyWith({
+  bool? allowDots,
+  bool? allowEmptyLists,
+  int? listLimit,
+  Encoding? charset,
+  bool? charsetSentinel,
+  bool? comma,
+  bool? decodeDotInKeys,
+  Pattern? delimiter,
+  int? depth,
+  Duplicates? duplicates,
+  bool? ignoreQueryPrefix,
+  bool? interpretNumericEntities,
+  num? parameterLimit,
+  bool? parseLists,
+  bool? strictNullHandling,
+  bool? strictDepth,
+  Decoder? decoder,
+}) =>
+    DecodeOptions(
+      allowDots: allowDots ?? this.allowDots,
+      allowEmptyLists: allowEmptyLists ?? this.allowEmptyLists,
+      listLimit: listLimit ?? this.listLimit,
+      charset: charset ?? this.charset,
+      charsetSentinel: charsetSentinel ?? this.charsetSentinel,
+      comma: comma ?? this.comma,
+      decodeDotInKeys: decodeDotInKeys ?? this.decodeDotInKeys,
+      delimiter: delimiter ?? this.delimiter,
+      depth: depth ?? this.depth,
+      duplicates: duplicates ?? this.duplicates,
+      ignoreQueryPrefix: ignoreQueryPrefix ?? this.ignoreQueryPrefix,
+      interpretNumericEntities:
+          interpretNumericEntities ?? this.interpretNumericEntities,
+      parameterLimit: parameterLimit ?? this.parameterLimit,
+      parseLists: parseLists ?? this.parseLists,
+      strictNullHandling: strictNullHandling ?? this.strictNullHandling,
+      strictDepth: strictDepth ?? this.strictDepth,
+      decoder: decoder ?? _decoder,
+    );
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/decodeDotInKeys.html b/qs_dart/DecodeOptions/decodeDotInKeys.html new file mode 100644 index 0000000..ee569b5 --- /dev/null +++ b/qs_dart/DecodeOptions/decodeDotInKeys.html @@ -0,0 +1,130 @@ + + + + + + + + decodeDotInKeys property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
decodeDotInKeys
+ +
+ +
+
+
+ +
+
+

decodeDotInKeys property +

+ +
+ + bool + decodeDotInKeys +
final
+ +
+ +
+

Set to true to decode dots in keys.

+

Note: it implies allowDots, so QS.decode will error if you set +decodeDotInKeys to true, and allowDots to false.

+
+ + +
+

Implementation

+
final bool decodeDotInKeys;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/decoder.html b/qs_dart/DecodeOptions/decoder.html new file mode 100644 index 0000000..21e34a6 --- /dev/null +++ b/qs_dart/DecodeOptions/decoder.html @@ -0,0 +1,135 @@ + + + + + + + + decoder method - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
decoder
+ +
+ +
+
+
+ +
+
+

decoder method +

+ +
+ + +dynamic +decoder(
  1. String? value, {
  2. +
  3. Encoding? charset,
  4. +
}) + + + +
+ +
+

Decode the input using the specified Decoder.

+
+ + + +
+

Implementation

+
dynamic decoder(String? value, {Encoding? charset}) => _decoder is Function
+    ? _decoder?.call(value, charset: charset)
+    : Utils.decode(value, charset: charset);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/delimiter.html b/qs_dart/DecodeOptions/delimiter.html new file mode 100644 index 0000000..c64e739 --- /dev/null +++ b/qs_dart/DecodeOptions/delimiter.html @@ -0,0 +1,129 @@ + + + + + + + + delimiter property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
delimiter
+ +
+ +
+
+
+ +
+
+

delimiter property +

+ +
+ + Pattern + delimiter +
final
+ +
+ +
+

The delimiter to use when splitting key-value pairs in the encoded input. +Can be a String or a RegExp.

+
+ + +
+

Implementation

+
final Pattern delimiter;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/depth.html b/qs_dart/DecodeOptions/depth.html new file mode 100644 index 0000000..680e4b3 --- /dev/null +++ b/qs_dart/DecodeOptions/depth.html @@ -0,0 +1,131 @@ + + + + + + + + depth property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
depth
+ +
+ +
+
+
+ +
+
+

depth property +

+ +
+ + int + depth +
final
+ +
+ +
+

By default, when nesting Maps QS will only decode up to 5 children deep. +This depth can be overridden by setting the depth. +The depth limit helps mitigate abuse when qs is used to parse user input, +and it is recommended to keep it a reasonably small number.

+
+ + +
+

Implementation

+
final int depth;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/duplicates.html b/qs_dart/DecodeOptions/duplicates.html new file mode 100644 index 0000000..2b01fd1 --- /dev/null +++ b/qs_dart/DecodeOptions/duplicates.html @@ -0,0 +1,128 @@ + + + + + + + + duplicates property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
duplicates
+ +
+ +
+
+
+ +
+
+

duplicates property +

+ +
+ + Duplicates + duplicates +
final
+ +
+ +
+

Change the duplicate key handling strategy

+
+ + +
+

Implementation

+
final Duplicates duplicates;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/ignoreQueryPrefix.html b/qs_dart/DecodeOptions/ignoreQueryPrefix.html new file mode 100644 index 0000000..c2ce390 --- /dev/null +++ b/qs_dart/DecodeOptions/ignoreQueryPrefix.html @@ -0,0 +1,128 @@ + + + + + + + + ignoreQueryPrefix property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
ignoreQueryPrefix
+ +
+ +
+
+
+ +
+
+

ignoreQueryPrefix property +

+ +
+ + bool + ignoreQueryPrefix +
final
+ +
+ +
+

Set to true to ignore the leading question mark query prefix in the encoded input.

+
+ + +
+

Implementation

+
final bool ignoreQueryPrefix;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/interpretNumericEntities.html b/qs_dart/DecodeOptions/interpretNumericEntities.html new file mode 100644 index 0000000..a480ec7 --- /dev/null +++ b/qs_dart/DecodeOptions/interpretNumericEntities.html @@ -0,0 +1,128 @@ + + + + + + + + interpretNumericEntities property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
interpretNumericEntities
+ +
+ +
+
+
+ +
+
+

interpretNumericEntities property +

+ +
+ + bool + interpretNumericEntities +
final
+ +
+ +
+

Set to true to interpret HTML numeric entities (&#...;) in the encoded input.

+
+ + +
+

Implementation

+
final bool interpretNumericEntities;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/listLimit.html b/qs_dart/DecodeOptions/listLimit.html new file mode 100644 index 0000000..f9cb8e8 --- /dev/null +++ b/qs_dart/DecodeOptions/listLimit.html @@ -0,0 +1,132 @@ + + + + + + + + listLimit property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
listLimit
+ +
+ +
+
+
+ +
+
+

listLimit property +

+ +
+ + int + listLimit +
final
+ +
+ +
+

QS will limit specifying indices in a List to a maximum index of 20. +Any List members with an index of greater than 20 will instead be converted to a Map with the index as the key. +This is needed to handle cases when someone sent, for example, a[999999999] and it will take significant time to iterate +over this huge List. +This limit can be overridden by passing an listLimit option.

+
+ + +
+

Implementation

+
final int listLimit;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/parameterLimit.html b/qs_dart/DecodeOptions/parameterLimit.html new file mode 100644 index 0000000..35888b3 --- /dev/null +++ b/qs_dart/DecodeOptions/parameterLimit.html @@ -0,0 +1,130 @@ + + + + + + + + parameterLimit property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
parameterLimit
+ +
+ +
+
+
+ +
+
+

parameterLimit property +

+ +
+ + num + parameterLimit +
final
+ +
+ +
+

For similar reasons, by default QS will only parse up to 1000 +parameters. This can be overridden by passing a parameterLimit +option.

+
+ + +
+

Implementation

+
final num parameterLimit;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/parseLists.html b/qs_dart/DecodeOptions/parseLists.html new file mode 100644 index 0000000..5dbd593 --- /dev/null +++ b/qs_dart/DecodeOptions/parseLists.html @@ -0,0 +1,128 @@ + + + + + + + + parseLists property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
parseLists
+ +
+ +
+
+
+ +
+
+

parseLists property +

+ +
+ + bool + parseLists +
final
+ +
+ +
+

To disable List parsing entirely, set parseLists to false.

+
+ + +
+

Implementation

+
final bool parseLists;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/props.html b/qs_dart/DecodeOptions/props.html new file mode 100644 index 0000000..5ea19d3 --- /dev/null +++ b/qs_dart/DecodeOptions/props.html @@ -0,0 +1,160 @@ + + + + + + + + props property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
props
+ +
+ +
+
+
+ +
+
+

props property +

+ + + +
+ +
+ +
+
    +
  1. @override
  2. +
+
+ List<Object?> + props +
override
+ +
+ + +
+

The list of properties that will be used to determine whether +two instances are equal.

+
+ + +
+

Implementation

+
@override
+List<Object?> get props => [
+      allowDots,
+      allowEmptyLists,
+      listLimit,
+      charset,
+      charsetSentinel,
+      comma,
+      decodeDotInKeys,
+      delimiter,
+      depth,
+      duplicates,
+      ignoreQueryPrefix,
+      interpretNumericEntities,
+      parameterLimit,
+      parseLists,
+      strictDepth,
+      strictNullHandling,
+      _decoder,
+    ];
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/strictDepth.html b/qs_dart/DecodeOptions/strictDepth.html new file mode 100644 index 0000000..2cd7e82 --- /dev/null +++ b/qs_dart/DecodeOptions/strictDepth.html @@ -0,0 +1,129 @@ + + + + + + + + strictDepth property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
strictDepth
+ +
+ +
+
+
+ +
+
+

strictDepth property +

+ +
+ + bool + strictDepth +
final
+ +
+ +
+

Set to true to add a layer of protection by throwing an error when the +limit is exceeded, allowing you to catch and handle such cases.

+
+ + +
+

Implementation

+
final bool strictDepth;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/strictNullHandling.html b/qs_dart/DecodeOptions/strictNullHandling.html new file mode 100644 index 0000000..8b468d6 --- /dev/null +++ b/qs_dart/DecodeOptions/strictNullHandling.html @@ -0,0 +1,128 @@ + + + + + + + + strictNullHandling property - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
strictNullHandling
+ +
+ +
+
+
+ +
+
+

strictNullHandling property +

+ +
+ + bool + strictNullHandling +
final
+ +
+ +
+

Set to true to decode values without = to null.

+
+ + +
+

Implementation

+
final bool strictNullHandling;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/DecodeOptions/toString.html b/qs_dart/DecodeOptions/toString.html new file mode 100644 index 0000000..c57f807 --- /dev/null +++ b/qs_dart/DecodeOptions/toString.html @@ -0,0 +1,163 @@ + + + + + + + + toString method - DecodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
toString
+ +
+ +
+
+
+ +
+
+

toString method +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() => 'DecodeOptions(\n'
+    '  allowDots: $allowDots,\n'
+    '  allowEmptyLists: $allowEmptyLists,\n'
+    '  listLimit: $listLimit,\n'
+    '  charset: $charset,\n'
+    '  charsetSentinel: $charsetSentinel,\n'
+    '  comma: $comma,\n'
+    '  decodeDotInKeys: $decodeDotInKeys,\n'
+    '  delimiter: $delimiter,\n'
+    '  depth: $depth,\n'
+    '  duplicates: $duplicates,\n'
+    '  ignoreQueryPrefix: $ignoreQueryPrefix,\n'
+    '  interpretNumericEntities: $interpretNumericEntities,\n'
+    '  parameterLimit: $parameterLimit,\n'
+    '  parseLists: $parseLists,\n'
+    '  strictDepth: $strictDepth,\n'
+    '  strictNullHandling: $strictNullHandling\n'
+    ')';
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Decoder.html b/qs_dart/Decoder.html new file mode 100644 index 0000000..1270650 --- /dev/null +++ b/qs_dart/Decoder.html @@ -0,0 +1,123 @@ + + + + + + + + Decoder typedef - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
Decoder
+ +
+ +
+
+
+ +
+
+

Decoder typedef + +

+ +
+ Decoder = + dynamic Function(String? value, {Encoding? charset}) + +
+ + + + +
+

Implementation

+
typedef Decoder = dynamic Function(String? value, {Encoding? charset});
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Duplicates-enum-sidebar.html b/qs_dart/Duplicates-enum-sidebar.html new file mode 100644 index 0000000..fc0c3c7 --- /dev/null +++ b/qs_dart/Duplicates-enum-sidebar.html @@ -0,0 +1,33 @@ +
    + +
  1. Constructors
  2. +
  3. Duplicates
  4. + +
  5. Values
  6. +
  7. combine
  8. +
  9. first
  10. +
  11. last
  12. + + +
  13. + Properties +
  14. +
  15. hashCode
  16. +
  17. index
  18. +
  19. runtimeType
  20. + +
  21. Methods
  22. +
  23. noSuchMethod
  24. +
  25. toString
  26. + +
  27. Operators
  28. +
  29. operator ==
  30. + + + + + + +
  31. Constants
  32. +
  33. values
  34. +
diff --git a/qs_dart/Duplicates.html b/qs_dart/Duplicates.html new file mode 100644 index 0000000..358d805 --- /dev/null +++ b/qs_dart/Duplicates.html @@ -0,0 +1,318 @@ + + + + + + + + Duplicates enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
Duplicates
+ +
+ +
+
+
+ +
+
+ +

+ Duplicates + enum + + +

+
+ + +
+

An enum of all available duplicate key handling strategies.

+
+ + +
+
+ +
Inheritance
+
+ +
+ + + + + + +
+
+ + +
+

Constructors

+ +
+
+ Duplicates() +
+
+ +
const
+
+
+
+ +
+

Values

+ +
+
+ combine + → const Duplicates + + +
+
+

Combine duplicate keys into a single key with an array of values.

+ + +
+ +
+ first + → const Duplicates + + +
+
+

Use the first value for duplicate keys.

+ + +
+ +
+ last + → const Duplicates + + +
+
+

Use the last value for duplicate keys.

+ + +
+ +
+
+ + +
+

Properties

+
+
+ hashCode + int + + +
+
+ The hash code for this object. +
no setterinherited
+ +
+ +
+ index + int + + +
+
+ A numeric identifier for the enumerated value. +
no setterinherited
+ +
+ +
+ runtimeType + Type + + +
+
+ A representation of the runtime type of the object. +
no setterinherited
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a nonexistent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + +
+

Constants

+ +
+
+ values + → const List<Duplicates> + + +
+
+ A constant List of the values in this enum, in order of their declaration. + + +
+ +
+
+
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Duplicates/Duplicates.html b/qs_dart/Duplicates/Duplicates.html new file mode 100644 index 0000000..6c62e55 --- /dev/null +++ b/qs_dart/Duplicates/Duplicates.html @@ -0,0 +1,120 @@ + + + + + + + + Duplicates constructor - Duplicates - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
Duplicates
+ +
+ +
+
+
+ +
+
+

Duplicates constructor +

+ +
+ const + Duplicates() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Duplicates/toString.html b/qs_dart/Duplicates/toString.html new file mode 100644 index 0000000..941d700 --- /dev/null +++ b/qs_dart/Duplicates/toString.html @@ -0,0 +1,146 @@ + + + + + + + + toString method - Duplicates enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
toString
+ +
+ +
+
+
+ +
+
+

toString method +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() => name;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Duplicates/values-constant.html b/qs_dart/Duplicates/values-constant.html new file mode 100644 index 0000000..b8210b3 --- /dev/null +++ b/qs_dart/Duplicates/values-constant.html @@ -0,0 +1,124 @@ + + + + + + + + values constant - Duplicates enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
values
+ +
+ +
+
+
+ +
+
+

values constant +

+ +
+ + List<Duplicates> + const values + + +
+ +
+

A constant List of the values in this enum, in order of their declaration.

+
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions-class-sidebar.html b/qs_dart/EncodeOptions-class-sidebar.html new file mode 100644 index 0000000..61dbb5b --- /dev/null +++ b/qs_dart/EncodeOptions-class-sidebar.html @@ -0,0 +1,48 @@ +
    + +
  1. Constructors
  2. +
  3. EncodeOptions
  4. + + + +
  5. + Properties +
  6. +
  7. addQueryPrefix
  8. +
  9. allowDots
  10. +
  11. allowEmptyLists
  12. +
  13. charset
  14. +
  15. charsetSentinel
  16. +
  17. commaRoundTrip
  18. +
  19. delimiter
  20. +
  21. encode
  22. +
  23. encodeDotInKeys
  24. +
  25. encodeValuesOnly
  26. +
  27. filter
  28. +
  29. format
  30. +
  31. formatter
  32. +
  33. hashCode
  34. +
  35. listFormat
  36. +
  37. props
  38. +
  39. runtimeType
  40. +
  41. skipNulls
  42. +
  43. sort
  44. +
  45. strictNullHandling
  46. +
  47. stringify
  48. + +
  49. Methods
  50. +
  51. copyWith
  52. +
  53. encoder
  54. +
  55. noSuchMethod
  56. +
  57. serializeDate
  58. +
  59. toString
  60. + +
  61. Operators
  62. +
  63. operator ==
  64. + + + + + + +
diff --git a/qs_dart/EncodeOptions-class.html b/qs_dart/EncodeOptions-class.html new file mode 100644 index 0000000..286684f --- /dev/null +++ b/qs_dart/EncodeOptions-class.html @@ -0,0 +1,521 @@ + + + + + + + + EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
EncodeOptions
+ +
+ +
+
+
+ +
+
+

EncodeOptions class + final + +

+ + +
+

Options that configure the output of QS.encode.

+
+ + +
+
+ + + + +
Mixed in types
+
+ +
+ + + + + + +
+
+ + +
+

Constructors

+ +
+
+ EncodeOptions({Encoder? encoder, DateSerializer? serializeDate, ListFormat? listFormat, @Deprecated('Use listFormat instead') bool? indices, bool? allowDots, bool addQueryPrefix = false, bool allowEmptyLists = false, Encoding charset = utf8, bool charsetSentinel = false, String delimiter = '&', bool encode = true, bool encodeDotInKeys = false, bool encodeValuesOnly = false, Format format = Format.rfc3986, dynamic filter, bool skipNulls = false, bool strictNullHandling = false, bool? commaRoundTrip, Sorter? sort}) +
+
+ +
const
+
+
+
+ +
+

Properties

+
+
+ addQueryPrefix + bool + + +
+
+ Set to true to add a question mark ? prefix to the encoded output. +
final
+ +
+ +
+ allowDots + bool + + +
+
+ Set to true to use dot Map notation in the encoded output. +
final
+ +
+ +
+ allowEmptyLists + bool + + +
+
+ Set to true to allow empty Lists in the encoded output. +
final
+ +
+ +
+ charset + Encoding + + +
+
+ The character encoding to use. +
final
+ +
+ +
+ charsetSentinel + bool + + +
+
+ Set to true to announce the character by including an utf8=✓ parameter +with the proper encoding of the checkmark, similar to what Ruby on Rails +and others do when submitting forms. +
final
+ +
+ +
+ commaRoundTrip + bool? + + +
+
+ When listFormat is set to ListFormat.comma, you can also set +commaRoundTrip option to true or false, to append [] on +single-item Lists, so that they can round trip through a parse. +
final
+ +
+ +
+ delimiter + String + + +
+
+ The delimiter to use when joining key-value pairs in the encoded output. +
final
+ +
+ +
+ encode + bool + + +
+
+ Set to false to disable encoding. +
final
+ +
+ +
+ encodeDotInKeys + bool + + +
+
+ Encode Map keys using dot notation by setting encodeDotInKeys to true: +
final
+ +
+ +
+ encodeValuesOnly + bool + + +
+
+ Encoding can be disabled for keys by setting the encodeValuesOnly to true +
final
+ +
+ +
+ filter + → dynamic + + +
+
+ Use the filter option to restrict which keys will be included in the encoded output. +If you pass a Function, it will be called for each key to obtain the replacement value. +If you pass a List, it will be used to select properties and List indices to be encoded. +
final
+ +
+ +
+ format + Format + + +
+
+ The encoding format to use. +The default format is Format.rfc3986 which encodes ' ' to %20 +which is backward compatible. +You can also set format to Format.rfc1738 which encodes ' ' to +. +
final
+ +
+ +
+ formatter + Formatter + + +
+
+ Convenience getter for accessing the format's Format.formatter +
no setter
+ +
+ +
+ hashCode + int + + +
+
+ The hash code for this object. +
no setterinherited
+ +
+ +
+ listFormat + ListFormat + + +
+
+ The List encoding format to use. +
final
+ +
+ +
+ props + List<Object?> + + +
+
+ The list of properties that will be used to determine whether +two instances are equal. +
no setteroverride
+ +
+ +
+ runtimeType + Type + + +
+
+ A representation of the runtime type of the object. +
no setterinherited
+ +
+ +
+ skipNulls + bool + + +
+
+ Set to true to completely skip encoding keys with null values +
final
+ +
+ +
+ sort + Sorter? + + +
+
+ Set a Sorter to affect the order of parameter keys. +
final
+ +
+ +
+ strictNullHandling + bool + + +
+
+ Set to true to distinguish between null values and empty Strings. +This way the encoded string null values will have no = sign. +
final
+ +
+ +
+ stringify + bool? + + +
+
+ If set to true, the toString method will be overridden to output +this instance's props. +
no setterinherited
+ +
+ +
+
+ +
+

Methods

+
+
+ copyWith({bool? addQueryPrefix, bool? allowDots, bool? allowEmptyLists, ListFormat? listFormat, Encoding? charset, bool? charsetSentinel, String? delimiter, bool? encode, bool? encodeDotInKeys, bool? encodeValuesOnly, Format? format, bool? skipNulls, bool? strictNullHandling, bool? commaRoundTrip, Sorter? sort, dynamic filter, DateSerializer? serializeDate, Encoder? encoder}) + EncodeOptions + + + +
+
+ Returns a new EncodeOptions instance with updated values. + + +
+ +
+ encoder(dynamic value, {Encoding? charset, Format? format}) + String + + + +
+
+ Encodes a value to a String. + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a nonexistent method or property is accessed. +
inherited
+ +
+ +
+ serializeDate(DateTime date) + String? + + + +
+
+ Serializes a DateTime instance to a String. + + +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/EncodeOptions.html b/qs_dart/EncodeOptions/EncodeOptions.html new file mode 100644 index 0000000..fc3e501 --- /dev/null +++ b/qs_dart/EncodeOptions/EncodeOptions.html @@ -0,0 +1,176 @@ + + + + + + + + EncodeOptions constructor - EncodeOptions - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
EncodeOptions
+ +
+ +
+
+
+ +
+
+

EncodeOptions constructor +

+ +
+ const + EncodeOptions({
  1. Encoder? encoder,
  2. +
  3. DateSerializer? serializeDate,
  4. +
  5. ListFormat? listFormat,
  6. +
  7. @Deprecated('Use listFormat instead') bool? indices,
  8. +
  9. bool? allowDots,
  10. +
  11. bool addQueryPrefix = false,
  12. +
  13. bool allowEmptyLists = false,
  14. +
  15. Encoding charset = utf8,
  16. +
  17. bool charsetSentinel = false,
  18. +
  19. String delimiter = '&',
  20. +
  21. bool encode = true,
  22. +
  23. bool encodeDotInKeys = false,
  24. +
  25. bool encodeValuesOnly = false,
  26. +
  27. Format format = Format.rfc3986,
  28. +
  29. dynamic filter,
  30. +
  31. bool skipNulls = false,
  32. +
  33. bool strictNullHandling = false,
  34. +
  35. bool? commaRoundTrip,
  36. +
  37. Sorter? sort,
  38. +
}) +
+ + + + + +
+

Implementation

+
const EncodeOptions({
+  Encoder? encoder,
+  DateSerializer? serializeDate,
+  ListFormat? listFormat,
+  @Deprecated('Use listFormat instead') bool? indices,
+  bool? allowDots,
+  this.addQueryPrefix = false,
+  this.allowEmptyLists = false,
+  this.charset = utf8,
+  this.charsetSentinel = false,
+  this.delimiter = '&',
+  this.encode = true,
+  this.encodeDotInKeys = false,
+  this.encodeValuesOnly = false,
+  this.format = Format.rfc3986,
+  this.filter,
+  this.skipNulls = false,
+  this.strictNullHandling = false,
+  this.commaRoundTrip,
+  this.sort,
+})  : allowDots = allowDots ?? encodeDotInKeys || false,
+      listFormat = listFormat ??
+          (indices == false ? ListFormat.repeat : null) ??
+          ListFormat.indices,
+      _serializeDate = serializeDate,
+      _encoder = encoder,
+      assert(
+        charset == utf8 || charset == latin1,
+        'Invalid charset',
+      ),
+      assert(
+        filter == null || filter is Function || filter is Iterable,
+        'Invalid filter',
+      );
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/addQueryPrefix.html b/qs_dart/EncodeOptions/addQueryPrefix.html new file mode 100644 index 0000000..6287a9e --- /dev/null +++ b/qs_dart/EncodeOptions/addQueryPrefix.html @@ -0,0 +1,128 @@ + + + + + + + + addQueryPrefix property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
addQueryPrefix
+ +
+ +
+
+
+ +
+
+

addQueryPrefix property +

+ +
+ + bool + addQueryPrefix +
final
+ +
+ +
+

Set to true to add a question mark ? prefix to the encoded output.

+
+ + +
+

Implementation

+
final bool addQueryPrefix;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/allowDots.html b/qs_dart/EncodeOptions/allowDots.html new file mode 100644 index 0000000..63f55e1 --- /dev/null +++ b/qs_dart/EncodeOptions/allowDots.html @@ -0,0 +1,128 @@ + + + + + + + + allowDots property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
allowDots
+ +
+ +
+
+
+ +
+
+

allowDots property +

+ +
+ + bool + allowDots +
final
+ +
+ +
+

Set to true to use dot Map notation in the encoded output.

+
+ + +
+

Implementation

+
final bool allowDots;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/allowEmptyLists.html b/qs_dart/EncodeOptions/allowEmptyLists.html new file mode 100644 index 0000000..97867ee --- /dev/null +++ b/qs_dart/EncodeOptions/allowEmptyLists.html @@ -0,0 +1,128 @@ + + + + + + + + allowEmptyLists property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
allowEmptyLists
+ +
+ +
+
+
+ +
+
+

allowEmptyLists property +

+ +
+ + bool + allowEmptyLists +
final
+ +
+ +
+

Set to true to allow empty Lists in the encoded output.

+
+ + +
+

Implementation

+
final bool allowEmptyLists;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/charset.html b/qs_dart/EncodeOptions/charset.html new file mode 100644 index 0000000..f00542e --- /dev/null +++ b/qs_dart/EncodeOptions/charset.html @@ -0,0 +1,128 @@ + + + + + + + + charset property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
charset
+ +
+ +
+
+
+ +
+
+

charset property +

+ +
+ + Encoding + charset +
final
+ +
+ +
+

The character encoding to use.

+
+ + +
+

Implementation

+
final Encoding charset;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/charsetSentinel.html b/qs_dart/EncodeOptions/charsetSentinel.html new file mode 100644 index 0000000..3e8302b --- /dev/null +++ b/qs_dart/EncodeOptions/charsetSentinel.html @@ -0,0 +1,130 @@ + + + + + + + + charsetSentinel property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
charsetSentinel
+ +
+ +
+
+
+ +
+
+

charsetSentinel property +

+ +
+ + bool + charsetSentinel +
final
+ +
+ +
+

Set to true to announce the character by including an utf8=✓ parameter +with the proper encoding of the checkmark, similar to what Ruby on Rails +and others do when submitting forms.

+
+ + +
+

Implementation

+
final bool charsetSentinel;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/commaRoundTrip.html b/qs_dart/EncodeOptions/commaRoundTrip.html new file mode 100644 index 0000000..442c13d --- /dev/null +++ b/qs_dart/EncodeOptions/commaRoundTrip.html @@ -0,0 +1,130 @@ + + + + + + + + commaRoundTrip property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
commaRoundTrip
+ +
+ +
+
+
+ +
+
+

commaRoundTrip property +

+ +
+ + bool? + commaRoundTrip +
final
+ +
+ +
+

When listFormat is set to ListFormat.comma, you can also set +commaRoundTrip option to true or false, to append [] on +single-item Lists, so that they can round trip through a parse.

+
+ + +
+

Implementation

+
final bool? commaRoundTrip;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/copyWith.html b/qs_dart/EncodeOptions/copyWith.html new file mode 100644 index 0000000..fe6fef9 --- /dev/null +++ b/qs_dart/EncodeOptions/copyWith.html @@ -0,0 +1,188 @@ + + + + + + + + copyWith method - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
copyWith
+ +
+ +
+
+
+ +
+
+

copyWith method +

+ +
+ + +EncodeOptions +copyWith({
  1. bool? addQueryPrefix,
  2. +
  3. bool? allowDots,
  4. +
  5. bool? allowEmptyLists,
  6. +
  7. ListFormat? listFormat,
  8. +
  9. Encoding? charset,
  10. +
  11. bool? charsetSentinel,
  12. +
  13. String? delimiter,
  14. +
  15. bool? encode,
  16. +
  17. bool? encodeDotInKeys,
  18. +
  19. bool? encodeValuesOnly,
  20. +
  21. Format? format,
  22. +
  23. bool? skipNulls,
  24. +
  25. bool? strictNullHandling,
  26. +
  27. bool? commaRoundTrip,
  28. +
  29. Sorter? sort,
  30. +
  31. dynamic filter,
  32. +
  33. DateSerializer? serializeDate,
  34. +
  35. Encoder? encoder,
  36. +
}) + + + +
+ +
+

Returns a new EncodeOptions instance with updated values.

+
+ + + +
+

Implementation

+
EncodeOptions copyWith({
+  bool? addQueryPrefix,
+  bool? allowDots,
+  bool? allowEmptyLists,
+  ListFormat? listFormat,
+  Encoding? charset,
+  bool? charsetSentinel,
+  String? delimiter,
+  bool? encode,
+  bool? encodeDotInKeys,
+  bool? encodeValuesOnly,
+  Format? format,
+  bool? skipNulls,
+  bool? strictNullHandling,
+  bool? commaRoundTrip,
+  Sorter? sort,
+  dynamic filter,
+  DateSerializer? serializeDate,
+  Encoder? encoder,
+}) =>
+    EncodeOptions(
+      addQueryPrefix: addQueryPrefix ?? this.addQueryPrefix,
+      allowDots: allowDots ?? this.allowDots,
+      allowEmptyLists: allowEmptyLists ?? this.allowEmptyLists,
+      listFormat: listFormat ?? this.listFormat,
+      charset: charset ?? this.charset,
+      charsetSentinel: charsetSentinel ?? this.charsetSentinel,
+      delimiter: delimiter ?? this.delimiter,
+      encode: encode ?? this.encode,
+      encodeDotInKeys: encodeDotInKeys ?? this.encodeDotInKeys,
+      encodeValuesOnly: encodeValuesOnly ?? this.encodeValuesOnly,
+      format: format ?? this.format,
+      skipNulls: skipNulls ?? this.skipNulls,
+      strictNullHandling: strictNullHandling ?? this.strictNullHandling,
+      commaRoundTrip: commaRoundTrip ?? this.commaRoundTrip,
+      sort: sort ?? this.sort,
+      filter: filter ?? this.filter,
+      serializeDate: serializeDate ?? _serializeDate,
+      encoder: encoder ?? _encoder,
+    );
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/delimiter.html b/qs_dart/EncodeOptions/delimiter.html new file mode 100644 index 0000000..0fa86f6 --- /dev/null +++ b/qs_dart/EncodeOptions/delimiter.html @@ -0,0 +1,128 @@ + + + + + + + + delimiter property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
delimiter
+ +
+ +
+
+
+ +
+
+

delimiter property +

+ +
+ + String + delimiter +
final
+ +
+ +
+

The delimiter to use when joining key-value pairs in the encoded output.

+
+ + +
+

Implementation

+
final String delimiter;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/encode.html b/qs_dart/EncodeOptions/encode.html new file mode 100644 index 0000000..72d28f9 --- /dev/null +++ b/qs_dart/EncodeOptions/encode.html @@ -0,0 +1,128 @@ + + + + + + + + encode property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
encode
+ +
+ +
+
+
+ +
+
+

encode property +

+ +
+ + bool + encode +
final
+ +
+ +
+

Set to false to disable encoding.

+
+ + +
+

Implementation

+
final bool encode;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/encodeDotInKeys.html b/qs_dart/EncodeOptions/encodeDotInKeys.html new file mode 100644 index 0000000..e9f954e --- /dev/null +++ b/qs_dart/EncodeOptions/encodeDotInKeys.html @@ -0,0 +1,130 @@ + + + + + + + + encodeDotInKeys property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
encodeDotInKeys
+ +
+ +
+
+
+ +
+
+

encodeDotInKeys property +

+ +
+ + bool + encodeDotInKeys +
final
+ +
+ +
+

Encode Map keys using dot notation by setting encodeDotInKeys to true:

+

Caveat: When encodeValuesOnly is true as well as encodeDotInKeys, +only dots in keys and nothing else will be encoded.

+
+ + +
+

Implementation

+
final bool encodeDotInKeys;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/encodeValuesOnly.html b/qs_dart/EncodeOptions/encodeValuesOnly.html new file mode 100644 index 0000000..ff12863 --- /dev/null +++ b/qs_dart/EncodeOptions/encodeValuesOnly.html @@ -0,0 +1,128 @@ + + + + + + + + encodeValuesOnly property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
encodeValuesOnly
+ +
+ +
+
+
+ +
+
+

encodeValuesOnly property +

+ +
+ + bool + encodeValuesOnly +
final
+ +
+ +
+

Encoding can be disabled for keys by setting the encodeValuesOnly to true

+
+ + +
+

Implementation

+
final bool encodeValuesOnly;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/encoder.html b/qs_dart/EncodeOptions/encoder.html new file mode 100644 index 0000000..98b721d --- /dev/null +++ b/qs_dart/EncodeOptions/encoder.html @@ -0,0 +1,145 @@ + + + + + + + + encoder method - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
encoder
+ +
+ +
+
+
+ +
+
+

encoder method +

+ +
+ + +String +encoder(
  1. dynamic value, {
  2. +
  3. Encoding? charset,
  4. +
  5. Format? format,
  6. +
}) + + + +
+ +
+

Encodes a value to a String.

+

Uses the provided encoder if available, otherwise uses Utils.encode.

+
+ + + +
+

Implementation

+
String encoder(dynamic value, {Encoding? charset, Format? format}) =>
+    _encoder?.call(
+      value,
+      charset: charset ?? this.charset,
+      format: format ?? this.format,
+    ) ??
+    Utils.encode(
+      value,
+      charset: charset ?? this.charset,
+      format: format ?? this.format,
+    );
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/filter.html b/qs_dart/EncodeOptions/filter.html new file mode 100644 index 0000000..42a34e9 --- /dev/null +++ b/qs_dart/EncodeOptions/filter.html @@ -0,0 +1,130 @@ + + + + + + + + filter property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
filter
+ +
+ +
+
+
+ +
+
+

filter property +

+ +
+ + dynamic + filter +
final
+ +
+ +
+

Use the filter option to restrict which keys will be included in the encoded output. +If you pass a Function, it will be called for each key to obtain the replacement value. +If you pass a List, it will be used to select properties and List indices to be encoded.

+
+ + +
+

Implementation

+
final dynamic filter;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/format.html b/qs_dart/EncodeOptions/format.html new file mode 100644 index 0000000..5b16e97 --- /dev/null +++ b/qs_dart/EncodeOptions/format.html @@ -0,0 +1,131 @@ + + + + + + + + format property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
format
+ +
+ +
+
+
+ +
+
+

format property +

+ +
+ + Format + format +
final
+ +
+ +
+

The encoding format to use. +The default format is Format.rfc3986 which encodes ' ' to %20 +which is backward compatible. +You can also set format to Format.rfc1738 which encodes ' ' to +.

+
+ + +
+

Implementation

+
final Format format;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/formatter.html b/qs_dart/EncodeOptions/formatter.html new file mode 100644 index 0000000..cade65b --- /dev/null +++ b/qs_dart/EncodeOptions/formatter.html @@ -0,0 +1,135 @@ + + + + + + + + formatter property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
formatter
+ +
+ +
+
+
+ +
+
+

formatter property +

+ + + +
+ +
+ + Formatter + formatter + + +
+ + +
+

Convenience getter for accessing the format's Format.formatter

+
+ + +
+

Implementation

+
Formatter get formatter => format.formatter;
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/listFormat.html b/qs_dart/EncodeOptions/listFormat.html new file mode 100644 index 0000000..783bb4f --- /dev/null +++ b/qs_dart/EncodeOptions/listFormat.html @@ -0,0 +1,128 @@ + + + + + + + + listFormat property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
listFormat
+ +
+ +
+
+
+ +
+
+

listFormat property +

+ +
+ + ListFormat + listFormat +
final
+ +
+ +
+

The List encoding format to use.

+
+ + +
+

Implementation

+
final ListFormat listFormat;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/props.html b/qs_dart/EncodeOptions/props.html new file mode 100644 index 0000000..2fe8163 --- /dev/null +++ b/qs_dart/EncodeOptions/props.html @@ -0,0 +1,161 @@ + + + + + + + + props property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
props
+ +
+ +
+
+
+ +
+
+

props property +

+ + + +
+ +
+ +
+
    +
  1. @override
  2. +
+
+ List<Object?> + props +
override
+ +
+ + +
+

The list of properties that will be used to determine whether +two instances are equal.

+
+ + +
+

Implementation

+
@override
+List<Object?> get props => [
+      addQueryPrefix,
+      allowDots,
+      allowEmptyLists,
+      listFormat,
+      charset,
+      charsetSentinel,
+      delimiter,
+      encode,
+      encodeDotInKeys,
+      encodeValuesOnly,
+      format,
+      skipNulls,
+      strictNullHandling,
+      commaRoundTrip,
+      sort,
+      filter,
+      _serializeDate,
+      _encoder,
+    ];
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/serializeDate.html b/qs_dart/EncodeOptions/serializeDate.html new file mode 100644 index 0000000..a40ac78 --- /dev/null +++ b/qs_dart/EncodeOptions/serializeDate.html @@ -0,0 +1,136 @@ + + + + + + + + serializeDate method - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
serializeDate
+ +
+ +
+
+
+ +
+
+

serializeDate method +

+ +
+ + +String? +serializeDate(
  1. DateTime date
  2. +
) + + + +
+ +
+

Serializes a DateTime instance to a String.

+

Uses the provided serializeDate function if available, otherwise uses +DateTime.toIso8601String.

+
+ + + +
+

Implementation

+
String? serializeDate(DateTime date) => _serializeDate != null
+    ? _serializeDate!.call(date)
+    : date.toIso8601String();
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/skipNulls.html b/qs_dart/EncodeOptions/skipNulls.html new file mode 100644 index 0000000..ed7be06 --- /dev/null +++ b/qs_dart/EncodeOptions/skipNulls.html @@ -0,0 +1,128 @@ + + + + + + + + skipNulls property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
skipNulls
+ +
+ +
+
+
+ +
+
+

skipNulls property +

+ +
+ + bool + skipNulls +
final
+ +
+ +
+

Set to true to completely skip encoding keys with null values

+
+ + +
+

Implementation

+
final bool skipNulls;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/sort.html b/qs_dart/EncodeOptions/sort.html new file mode 100644 index 0000000..aacc191 --- /dev/null +++ b/qs_dart/EncodeOptions/sort.html @@ -0,0 +1,128 @@ + + + + + + + + sort property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
sort
+ +
+ +
+
+
+ +
+
+

sort property +

+ +
+ + Sorter? + sort +
final
+ +
+ +
+

Set a Sorter to affect the order of parameter keys.

+
+ + +
+

Implementation

+
final Sorter? sort;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/strictNullHandling.html b/qs_dart/EncodeOptions/strictNullHandling.html new file mode 100644 index 0000000..1482018 --- /dev/null +++ b/qs_dart/EncodeOptions/strictNullHandling.html @@ -0,0 +1,129 @@ + + + + + + + + strictNullHandling property - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
strictNullHandling
+ +
+ +
+
+
+ +
+
+

strictNullHandling property +

+ +
+ + bool + strictNullHandling +
final
+ +
+ +
+

Set to true to distinguish between null values and empty Strings. +This way the encoded string null values will have no = sign.

+
+ + +
+

Implementation

+
final bool strictNullHandling;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/EncodeOptions/toString.html b/qs_dart/EncodeOptions/toString.html new file mode 100644 index 0000000..be203f4 --- /dev/null +++ b/qs_dart/EncodeOptions/toString.html @@ -0,0 +1,165 @@ + + + + + + + + toString method - EncodeOptions class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
toString
+ +
+ +
+
+
+ +
+
+

toString method +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() => 'EncodeOptions(\n'
+    '  addQueryPrefix: $addQueryPrefix,\n'
+    '  allowDots: $allowDots,\n'
+    '  allowEmptyLists: $allowEmptyLists,\n'
+    '  listFormat: $listFormat,\n'
+    '  charset: $charset,\n'
+    '  charsetSentinel: $charsetSentinel,\n'
+    '  delimiter: $delimiter,\n'
+    '  encode: $encode,\n'
+    '  encodeDotInKeys: $encodeDotInKeys,\n'
+    '  encodeValuesOnly: $encodeValuesOnly,\n'
+    '  format: $format,\n'
+    '  skipNulls: $skipNulls,\n'
+    '  strictNullHandling: $strictNullHandling,\n'
+    '  commaRoundTrip: $commaRoundTrip,\n'
+    '  sort: $sort,\n'
+    '  filter: $filter,\n'
+    '  serializeDate: $_serializeDate,\n'
+    '  encoder: $_encoder,\n'
+    ')';
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Encoder.html b/qs_dart/Encoder.html new file mode 100644 index 0000000..b7e3dcb --- /dev/null +++ b/qs_dart/Encoder.html @@ -0,0 +1,127 @@ + + + + + + + + Encoder typedef - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
Encoder
+ +
+ +
+
+
+ +
+
+

Encoder typedef + +

+ +
+ Encoder = + String Function(dynamic value, {Encoding? charset, Format? format}) + +
+ + + + +
+

Implementation

+
typedef Encoder = String Function(
+  dynamic value, {
+  Encoding? charset,
+  Format? format,
+});
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Format-enum-sidebar.html b/qs_dart/Format-enum-sidebar.html new file mode 100644 index 0000000..b0a6e39 --- /dev/null +++ b/qs_dart/Format-enum-sidebar.html @@ -0,0 +1,33 @@ +
    + +
  1. Constructors
  2. +
  3. Format
  4. + +
  5. Values
  6. +
  7. rfc1738
  8. +
  9. rfc3986
  10. + + +
  11. + Properties +
  12. +
  13. formatter
  14. +
  15. hashCode
  16. +
  17. index
  18. +
  19. runtimeType
  20. + +
  21. Methods
  22. +
  23. noSuchMethod
  24. +
  25. toString
  26. + +
  27. Operators
  28. +
  29. operator ==
  30. + + + + + + +
  31. Constants
  32. +
  33. values
  34. +
diff --git a/qs_dart/Format.html b/qs_dart/Format.html new file mode 100644 index 0000000..5f9c4ee --- /dev/null +++ b/qs_dart/Format.html @@ -0,0 +1,325 @@ + + + + + + + + Format enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
Format
+ +
+ +
+
+
+ +
+
+ +

+ Format + enum + + +

+
+ + +
+

An enum of all supported URI component encoding formats.

+
+ + +
+
+ +
Inheritance
+
+ +
+ + + + + + +
+
+ + +
+

Constructors

+ +
+
+ Format(Formatter formatter) +
+
+ +
const
+
+
+
+ +
+

Values

+ +
+
+ rfc1738 + → const Format + + +
+
+

https://datatracker.ietf.org/doc/html/rfc1738

+ + +
+ const Format(_rfc1738Formatter) +
+
+ +
+ rfc3986 + → const Format + + +
+
+

https://datatracker.ietf.org/doc/html/rfc3986 +(default)

+ + +
+ const Format(_rfc3986Formatter) +
+
+ +
+
+ + +
+

Properties

+
+
+ formatter + Formatter + + +
+
+ +
final
+ +
+ +
+ hashCode + int + + +
+
+ The hash code for this object. +
no setterinherited
+ +
+ +
+ index + int + + +
+
+ A numeric identifier for the enumerated value. +
no setterinherited
+ +
+ +
+ runtimeType + Type + + +
+
+ A representation of the runtime type of the object. +
no setterinherited
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a nonexistent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + +
+

Constants

+ +
+
+ values + → const List<Format> + + +
+
+ A constant List of the values in this enum, in order of their declaration. + + +
+ +
+
+
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Format/Format.html b/qs_dart/Format/Format.html new file mode 100644 index 0000000..37cc392 --- /dev/null +++ b/qs_dart/Format/Format.html @@ -0,0 +1,125 @@ + + + + + + + + Format constructor - Format - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
Format
+ +
+ +
+
+
+ +
+
+

Format constructor +

+ +
+ const + Format(
  1. Formatter formatter
  2. +
) +
+ + + + + +
+

Implementation

+
const Format(this.formatter);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Format/formatter.html b/qs_dart/Format/formatter.html new file mode 100644 index 0000000..4d84807 --- /dev/null +++ b/qs_dart/Format/formatter.html @@ -0,0 +1,125 @@ + + + + + + + + formatter property - Format enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
formatter
+ +
+ +
+
+
+ +
+
+

formatter property +

+ +
+ + Formatter + formatter +
final
+ +
+ + + +
+

Implementation

+
final Formatter formatter;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Format/toString.html b/qs_dart/Format/toString.html new file mode 100644 index 0000000..6e4480e --- /dev/null +++ b/qs_dart/Format/toString.html @@ -0,0 +1,146 @@ + + + + + + + + toString method - Format enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
toString
+ +
+ +
+
+
+ +
+
+

toString method +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() => name;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Format/values-constant.html b/qs_dart/Format/values-constant.html new file mode 100644 index 0000000..d397c09 --- /dev/null +++ b/qs_dart/Format/values-constant.html @@ -0,0 +1,124 @@ + + + + + + + + values constant - Format enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
values
+ +
+ +
+
+
+ +
+
+

values constant +

+ +
+ + List<Format> + const values + + +
+ +
+

A constant List of the values in this enum, in order of their declaration.

+
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Formatter.html b/qs_dart/Formatter.html new file mode 100644 index 0000000..d27fb8f --- /dev/null +++ b/qs_dart/Formatter.html @@ -0,0 +1,123 @@ + + + + + + + + Formatter typedef - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
Formatter
+ +
+ +
+
+
+ +
+
+

Formatter typedef + +

+ +
+ Formatter = + String Function(String value) + +
+ + + + +
+

Implementation

+
typedef Formatter = String Function(String value);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/ListFormat-enum-sidebar.html b/qs_dart/ListFormat-enum-sidebar.html new file mode 100644 index 0000000..2e703a3 --- /dev/null +++ b/qs_dart/ListFormat-enum-sidebar.html @@ -0,0 +1,35 @@ +
    + +
  1. Constructors
  2. +
  3. ListFormat
  4. + +
  5. Values
  6. +
  7. brackets
  8. +
  9. comma
  10. +
  11. repeat
  12. +
  13. indices
  14. + + +
  15. + Properties +
  16. +
  17. generator
  18. +
  19. hashCode
  20. +
  21. index
  22. +
  23. runtimeType
  24. + +
  25. Methods
  26. +
  27. noSuchMethod
  28. +
  29. toString
  30. + +
  31. Operators
  32. +
  33. operator ==
  34. + + + + + + +
  35. Constants
  36. +
  37. values
  38. +
diff --git a/qs_dart/ListFormat.html b/qs_dart/ListFormat.html new file mode 100644 index 0000000..3954c18 --- /dev/null +++ b/qs_dart/ListFormat.html @@ -0,0 +1,358 @@ + + + + + + + + ListFormat enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
ListFormat
+ +
+ +
+
+
+ +
+
+ +

+ ListFormat + enum + + +

+
+ + +
+

An enum of all available list format options.

+
+ + +
+
+ +
Inheritance
+
+ +
+ + + + + + +
+
+ + +
+

Constructors

+ +
+
+ ListFormat(ListFormatGenerator generator) +
+
+ +
const
+
+
+
+ +
+

Values

+ +
+
+ brackets + → const ListFormat + + +
+
+

Use brackets to represent list items, for example +foo[]=123&foo[]=456&foo[]=789

+ + +
+ const ListFormat(_brackets) +
+
+ +
+ comma + → const ListFormat + + +
+
+

Use commas to represent list items, for example +foo=123,456,789

+ + +
+ const ListFormat(_comma) +
+
+ +
+ repeat + → const ListFormat + + +
+
+

Repeat the same key to represent list items, for example +foo=123&foo=456&foo=789

+ + +
+ const ListFormat(_repeat) +
+
+ +
+ indices + → const ListFormat + + +
+
+

Use indices in brackets to represent list items, for example +foo[0]=123&foo[1]=456&foo[2]=789

+ + +
+ const ListFormat(_indices) +
+
+ +
+
+ + +
+

Properties

+
+
+ generator + ListFormatGenerator + + +
+
+ +
final
+ +
+ +
+ hashCode + int + + +
+
+ The hash code for this object. +
no setterinherited
+ +
+ +
+ index + int + + +
+
+ A numeric identifier for the enumerated value. +
no setterinherited
+ +
+ +
+ runtimeType + Type + + +
+
+ A representation of the runtime type of the object. +
no setterinherited
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a nonexistent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + +
+

Constants

+ +
+
+ values + → const List<ListFormat> + + +
+
+ A constant List of the values in this enum, in order of their declaration. + + +
+ +
+
+
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/ListFormat/ListFormat.html b/qs_dart/ListFormat/ListFormat.html new file mode 100644 index 0000000..5f1543d --- /dev/null +++ b/qs_dart/ListFormat/ListFormat.html @@ -0,0 +1,125 @@ + + + + + + + + ListFormat constructor - ListFormat - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
ListFormat
+ +
+ +
+
+
+ +
+
+

ListFormat constructor +

+ +
+ const + ListFormat(
  1. ListFormatGenerator generator
  2. +
) +
+ + + + + +
+

Implementation

+
const ListFormat(this.generator);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/ListFormat/generator.html b/qs_dart/ListFormat/generator.html new file mode 100644 index 0000000..d5ac65e --- /dev/null +++ b/qs_dart/ListFormat/generator.html @@ -0,0 +1,125 @@ + + + + + + + + generator property - ListFormat enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
generator
+ +
+ +
+
+
+ +
+
+

generator property +

+ +
+ + ListFormatGenerator + generator +
final
+ +
+ + + +
+

Implementation

+
final ListFormatGenerator generator;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/ListFormat/toString.html b/qs_dart/ListFormat/toString.html new file mode 100644 index 0000000..b653077 --- /dev/null +++ b/qs_dart/ListFormat/toString.html @@ -0,0 +1,146 @@ + + + + + + + + toString method - ListFormat enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
toString
+ +
+ +
+
+
+ +
+
+

toString method +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() => name;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/ListFormat/values-constant.html b/qs_dart/ListFormat/values-constant.html new file mode 100644 index 0000000..00d8081 --- /dev/null +++ b/qs_dart/ListFormat/values-constant.html @@ -0,0 +1,124 @@ + + + + + + + + values constant - ListFormat enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
values
+ +
+ +
+
+
+ +
+
+

values constant +

+ +
+ + List<ListFormat> + const values + + +
+ +
+

A constant List of the values in this enum, in order of their declaration.

+
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/ListFormatGenerator.html b/qs_dart/ListFormatGenerator.html new file mode 100644 index 0000000..c16be94 --- /dev/null +++ b/qs_dart/ListFormatGenerator.html @@ -0,0 +1,123 @@ + + + + + + + + ListFormatGenerator typedef - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
ListFormatGenerator
+ +
+ +
+
+
+ +
+
+

ListFormatGenerator typedef + +

+ +
+ ListFormatGenerator = + String Function(String prefix, [String? key]) + +
+ + + + +
+

Implementation

+
typedef ListFormatGenerator = String Function(String prefix, [String? key]);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/QS-class-sidebar.html b/qs_dart/QS-class-sidebar.html new file mode 100644 index 0000000..8ecf9cc --- /dev/null +++ b/qs_dart/QS-class-sidebar.html @@ -0,0 +1,29 @@ +
    + +
  1. Constructors
  2. +
  3. QS
  4. + + + +
  5. + Properties +
  6. +
  7. hashCode
  8. +
  9. runtimeType
  10. + +
  11. Methods
  12. +
  13. noSuchMethod
  14. +
  15. toString
  16. + +
  17. Operators
  18. +
  19. operator ==
  20. + + + + + +
  21. Static methods
  22. +
  23. decode
  24. +
  25. encode
  26. + +
diff --git a/qs_dart/QS-class.html b/qs_dart/QS-class.html new file mode 100644 index 0000000..c5fdece --- /dev/null +++ b/qs_dart/QS-class.html @@ -0,0 +1,254 @@ + + + + + + + + QS class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
QS
+ +
+ +
+
+
+ +
+
+

QS class + final + +

+ + +
+

A query string decoder (parser) and encoder (stringifier) class.

+
+ + + + +
+

Constructors

+ +
+
+ QS() +
+
+ +
+
+
+ +
+

Properties

+
+
+ hashCode + int + + +
+
+ The hash code for this object. +
no setterinherited
+ +
+ +
+ runtimeType + Type + + +
+
+ A representation of the runtime type of the object. +
no setterinherited
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a nonexistent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + +
+

Static Methods

+
+
+ decode(dynamic input, [DecodeOptions options = const DecodeOptions()]) + Map<String, dynamic> + + + +
+
+ Decodes a String or Map<String, dynamic> into a Map<String, dynamic>. +Providing custom options will override the default behavior. + + +
+ +
+ encode(Object? object, [EncodeOptions options = const EncodeOptions()]) + String + + + +
+
+ Encodes an Object into a query String. +Providing custom options will override the default behavior. + + +
+ +
+
+ + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/QS/QS.html b/qs_dart/QS/QS.html new file mode 100644 index 0000000..3eeec0d --- /dev/null +++ b/qs_dart/QS/QS.html @@ -0,0 +1,120 @@ + + + + + + + + QS constructor - QS - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
QS
+ +
+ +
+
+
+ +
+
+

QS constructor +

+ +
+ + QS() +
+ + + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/QS/decode.html b/qs_dart/QS/decode.html new file mode 100644 index 0000000..056cef3 --- /dev/null +++ b/qs_dart/QS/decode.html @@ -0,0 +1,174 @@ + + + + + + + + decode method - QS class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
decode
+ +
+ +
+
+
+ +
+
+

decode static method +

+ +
+ + +Map<String, dynamic> +decode(
  1. dynamic input, [
  2. +
  3. DecodeOptions options = const DecodeOptions()
  4. +
]) + + + +
+ +
+

Decodes a String or Map<String, dynamic> into a Map<String, dynamic>. +Providing custom options will override the default behavior.

+
+ + + +
+

Implementation

+
static Map<String, dynamic> decode(
+  dynamic input, [
+  DecodeOptions options = const DecodeOptions(),
+]) {
+  if (!(input is String? || input is Map<String, dynamic>?)) {
+    throw ArgumentError.value(
+      input,
+      'input',
+      'The input must be a String or a Map<String, dynamic>',
+    );
+  }
+
+  if (input?.isEmpty ?? true) {
+    return <String, dynamic>{};
+  }
+
+  Map<String, dynamic>? tempObj = input is String
+      ? _$Decode._parseQueryStringValues(input, options)
+      : input;
+  Map<String, dynamic> obj = {};
+
+  // Iterate over the keys and setup the new object
+  if (tempObj?.isNotEmpty ?? false) {
+    for (final MapEntry<String, dynamic> entry in tempObj!.entries) {
+      final newObj = _$Decode._parseKeys(
+        entry.key,
+        entry.value,
+        options,
+        input is String,
+      );
+
+      obj = Utils.merge(
+        obj,
+        newObj,
+        options,
+      );
+    }
+  }
+
+  return Utils.compact(obj);
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/QS/encode.html b/qs_dart/QS/encode.html new file mode 100644 index 0000000..ccd6130 --- /dev/null +++ b/qs_dart/QS/encode.html @@ -0,0 +1,231 @@ + + + + + + + + encode method - QS class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
encode
+ +
+ +
+
+
+ +
+
+

encode static method +

+ +
+ + +String +encode(
  1. Object? object, [
  2. +
  3. EncodeOptions options = const EncodeOptions()
  4. +
]) + + + +
+ +
+

Encodes an Object into a query String. +Providing custom options will override the default behavior.

+
+ + + +
+

Implementation

+
static String encode(
+  Object? object, [
+  EncodeOptions options = const EncodeOptions(),
+]) {
+  if (object == null) {
+    return '';
+  }
+
+  late Map<String, dynamic> obj;
+  if (object is Map<String, dynamic>) {
+    obj = {...?object as Map<String, dynamic>?};
+  } else if (object is Iterable) {
+    obj = object.toList().asMap().map((k, v) => MapEntry(k.toString(), v));
+  } else {
+    obj = {};
+  }
+
+  final List keys = [];
+
+  if (obj.isEmpty) {
+    return '';
+  }
+
+  List? objKeys;
+
+  if (options.filter is Function) {
+    obj = options.filter?.call('', obj);
+  } else if (options.filter is Iterable) {
+    objKeys = List.of(options.filter);
+  }
+
+  final bool commaRoundTrip =
+      options.listFormat.generator == ListFormat.comma.generator &&
+          options.commaRoundTrip == true;
+
+  objKeys ??= obj.keys.toList();
+
+  if (options.sort is Function) {
+    objKeys.sort(options.sort);
+  }
+
+  final WeakMap sideChannel = WeakMap();
+  for (int i = 0; i < objKeys.length; i++) {
+    final key = objKeys[i];
+    if (key is! String?) {
+      continue;
+    }
+    if (obj[key] == null && options.skipNulls) {
+      continue;
+    }
+
+    final encoded = _$Encode._encode(
+      obj[key],
+      undefined: !obj.containsKey(key),
+      prefix: key,
+      generateArrayPrefix: options.listFormat.generator,
+      commaRoundTrip: commaRoundTrip,
+      allowEmptyLists: options.allowEmptyLists,
+      strictNullHandling: options.strictNullHandling,
+      skipNulls: options.skipNulls,
+      encodeDotInKeys: options.encodeDotInKeys,
+      encoder: options.encode ? options.encoder : null,
+      serializeDate: options.serializeDate,
+      filter: options.filter,
+      sort: options.sort,
+      allowDots: options.allowDots,
+      format: options.format,
+      formatter: options.formatter,
+      encodeValuesOnly: options.encodeValuesOnly,
+      charset: options.charset,
+      addQueryPrefix: options.addQueryPrefix,
+      sideChannel: sideChannel,
+    );
+
+    if (encoded is Iterable) {
+      keys.addAll(encoded);
+    } else {
+      keys.add(encoded);
+    }
+  }
+
+  final String joined = keys.join(options.delimiter);
+  String prefix = options.addQueryPrefix ? '?' : '';
+
+  if (options.charsetSentinel) {
+    prefix += switch (options.charset) {
+      /// encodeURIComponent('&#10003;')
+      /// the "numeric entity" representation of a checkmark
+      latin1 => '${Sentinel.iso}&',
+
+      /// encodeURIComponent('✓')
+      utf8 => '${Sentinel.charset}&',
+      _ => '',
+    };
+  }
+
+  return joined.isNotEmpty ? prefix + joined : '';
+}
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Sentinel-enum-sidebar.html b/qs_dart/Sentinel-enum-sidebar.html new file mode 100644 index 0000000..1d54d85 --- /dev/null +++ b/qs_dart/Sentinel-enum-sidebar.html @@ -0,0 +1,34 @@ +
    + +
  1. Constructors
  2. +
  3. Sentinel
  4. + +
  5. Values
  6. +
  7. iso
  8. +
  9. charset
  10. + + +
  11. + Properties +
  12. +
  13. encoded
  14. +
  15. hashCode
  16. +
  17. index
  18. +
  19. runtimeType
  20. +
  21. value
  22. + +
  23. Methods
  24. +
  25. noSuchMethod
  26. +
  27. toString
  28. + +
  29. Operators
  30. +
  31. operator ==
  32. + + + + + + +
  33. Constants
  34. +
  35. values
  36. +
diff --git a/qs_dart/Sentinel.html b/qs_dart/Sentinel.html new file mode 100644 index 0000000..ce3f05f --- /dev/null +++ b/qs_dart/Sentinel.html @@ -0,0 +1,341 @@ + + + + + + + + Sentinel enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
Sentinel
+ +
+ +
+
+
+ +
+
+ +

+ Sentinel + enum + + +

+
+ + +
+

An enum of all available sentinels.

+
+ + +
+
+ +
Inheritance
+
+ +
+ + + + + + +
+
+ + +
+

Constructors

+ +
+
+ Sentinel({required String value, required String encoded}) +
+
+ +
const
+
+
+
+ +
+

Values

+ +
+
+ iso + → const Sentinel + + +
+
+

This is what browsers will submit when the ✓ character occurs in an +application/x-www-form-urlencoded body and the encoding of the page containing +the form is iso-8859-1, or when the submitted form has an accept-charset +attribute of iso-8859-1. Presumably also with other charsets that do not contain +the ✓ character, such as us-ascii.

+ + +
+ const Sentinel(value: r'&#10003;', encoded: r'utf8=%26%2310003%3B') +
+
+ +
+ charset + → const Sentinel + + +
+
+

These are the percent-encoded utf-8 octets representing a checkmark, +indicating that the request actually is utf-8 encoded.

+ + +
+ const Sentinel(value: r'✓', encoded: r'utf8=%E2%9C%93') +
+
+ +
+
+ + +
+

Properties

+
+
+ encoded + String + + +
+
+ +
final
+ +
+ +
+ hashCode + int + + +
+
+ The hash code for this object. +
no setterinherited
+ +
+ +
+ index + int + + +
+
+ A numeric identifier for the enumerated value. +
no setterinherited
+ +
+ +
+ runtimeType + Type + + +
+
+ A representation of the runtime type of the object. +
no setterinherited
+ +
+ +
+ value + String + + +
+
+ +
final
+ +
+ +
+
+ +
+

Methods

+
+
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a nonexistent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
override
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + +
+

Constants

+ +
+
+ values + → const List<Sentinel> + + +
+
+ A constant List of the values in this enum, in order of their declaration. + + +
+ +
+
+
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Sentinel/Sentinel.html b/qs_dart/Sentinel/Sentinel.html new file mode 100644 index 0000000..580acd5 --- /dev/null +++ b/qs_dart/Sentinel/Sentinel.html @@ -0,0 +1,129 @@ + + + + + + + + Sentinel constructor - Sentinel - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
Sentinel
+ +
+ +
+
+
+ +
+
+

Sentinel constructor +

+ +
+ const + Sentinel({
  1. required String value,
  2. +
  3. required String encoded,
  4. +
}) +
+ + + + + +
+

Implementation

+
const Sentinel({
+  required this.value,
+  required this.encoded,
+});
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Sentinel/encoded.html b/qs_dart/Sentinel/encoded.html new file mode 100644 index 0000000..497427b --- /dev/null +++ b/qs_dart/Sentinel/encoded.html @@ -0,0 +1,125 @@ + + + + + + + + encoded property - Sentinel enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
encoded
+ +
+ +
+
+
+ +
+
+

encoded property +

+ +
+ + String + encoded +
final
+ +
+ + + +
+

Implementation

+
final String encoded;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Sentinel/toString.html b/qs_dart/Sentinel/toString.html new file mode 100644 index 0000000..68d740e --- /dev/null +++ b/qs_dart/Sentinel/toString.html @@ -0,0 +1,146 @@ + + + + + + + + toString method - Sentinel enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
toString
+ +
+ +
+
+
+ +
+
+

toString method +

+ +
+ +
+
    +
  1. @override
  2. +
+
+ +String +toString() + +
override
+ +
+ +
+

A string representation of this object.

+

Some classes have a default textual representation, +often paired with a static parse function (like int.parse). +These classes will provide the textual representation as +their string representation.

+

Other classes have no meaningful textual representation +that a program will care about. +Such classes will typically override toString to provide +useful information when inspecting the object, +mainly for debugging or logging.

+
+ + + +
+

Implementation

+
@override
+String toString() => encoded;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Sentinel/value.html b/qs_dart/Sentinel/value.html new file mode 100644 index 0000000..810967d --- /dev/null +++ b/qs_dart/Sentinel/value.html @@ -0,0 +1,125 @@ + + + + + + + + value property - Sentinel enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
value
+ +
+ +
+
+
+ +
+
+

value property +

+ +
+ + String + value +
final
+ +
+ + + +
+

Implementation

+
final String value;
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Sentinel/values-constant.html b/qs_dart/Sentinel/values-constant.html new file mode 100644 index 0000000..02095df --- /dev/null +++ b/qs_dart/Sentinel/values-constant.html @@ -0,0 +1,124 @@ + + + + + + + + values constant - Sentinel enum - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
values
+ +
+ +
+
+
+ +
+
+

values constant +

+ +
+ + List<Sentinel> + const values + + +
+ +
+

A constant List of the values in this enum, in order of their declaration.

+
+ + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Sorter.html b/qs_dart/Sorter.html new file mode 100644 index 0000000..ff0df98 --- /dev/null +++ b/qs_dart/Sorter.html @@ -0,0 +1,123 @@ + + + + + + + + Sorter typedef - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
Sorter
+ +
+ +
+
+
+ +
+
+

Sorter typedef + +

+ +
+ Sorter = + int Function(dynamic a, dynamic b) + +
+ + + + +
+

Implementation

+
typedef Sorter = int Function(dynamic a, dynamic b);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Undefined-class-sidebar.html b/qs_dart/Undefined-class-sidebar.html new file mode 100644 index 0000000..7f250d7 --- /dev/null +++ b/qs_dart/Undefined-class-sidebar.html @@ -0,0 +1,29 @@ +
    + +
  1. Constructors
  2. +
  3. Undefined
  4. + + + +
  5. + Properties +
  6. +
  7. hashCode
  8. +
  9. props
  10. +
  11. runtimeType
  12. +
  13. stringify
  14. + +
  15. Methods
  16. +
  17. copyWith
  18. +
  19. noSuchMethod
  20. +
  21. toString
  22. + +
  23. Operators
  24. +
  25. operator ==
  26. + + + + + + +
diff --git a/qs_dart/Undefined-class.html b/qs_dart/Undefined-class.html new file mode 100644 index 0000000..bb56338 --- /dev/null +++ b/qs_dart/Undefined-class.html @@ -0,0 +1,281 @@ + + + + + + + + Undefined class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
Undefined
+ +
+ +
+
+
+ +
+
+

Undefined class + final + +

+ + +
+

Internal model to distinguish between null and not set value

+
+ + +
+
+ + + + +
Mixed in types
+
+ +
+ + + + + + +
+
+ + +
+

Constructors

+ +
+
+ Undefined() +
+
+ +
const
+
+
+
+ +
+

Properties

+
+
+ hashCode + int + + +
+
+ The hash code for this object. +
no setterinherited
+ +
+ +
+ props + List<Object> + + +
+
+ The list of properties that will be used to determine whether +two instances are equal. +
no setteroverride
+ +
+ +
+ runtimeType + Type + + +
+
+ A representation of the runtime type of the object. +
no setterinherited
+ +
+ +
+ stringify + bool? + + +
+
+ If set to true, the toString method will be overridden to output +this instance's props. +
no setterinherited
+ +
+ +
+
+ +
+

Methods

+
+
+ copyWith() + Undefined + + + +
+
+ + + +
+ +
+ noSuchMethod(Invocation invocation) + → dynamic + + + +
+
+ Invoked when a nonexistent method or property is accessed. +
inherited
+ +
+ +
+ toString() + String + + + +
+
+ A string representation of this object. +
inherited
+ +
+ +
+
+ +
+

Operators

+
+
+ operator ==(Object other) + bool + + + +
+
+ The equality operator. +
inherited
+ +
+ +
+
+ + + + + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Undefined/Undefined.html b/qs_dart/Undefined/Undefined.html new file mode 100644 index 0000000..7140025 --- /dev/null +++ b/qs_dart/Undefined/Undefined.html @@ -0,0 +1,124 @@ + + + + + + + + Undefined constructor - Undefined - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
Undefined
+ +
+ +
+
+
+ +
+
+

Undefined constructor +

+ +
+ const + Undefined() +
+ + + + + +
+

Implementation

+
const Undefined();
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Undefined/copyWith.html b/qs_dart/Undefined/copyWith.html new file mode 100644 index 0000000..9333802 --- /dev/null +++ b/qs_dart/Undefined/copyWith.html @@ -0,0 +1,128 @@ + + + + + + + + copyWith method - Undefined class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
copyWith
+ +
+ +
+
+
+ +
+
+

copyWith method +

+ +
+ + +Undefined +copyWith() + + + +
+ + + + +
+

Implementation

+
Undefined copyWith() => const Undefined();
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/Undefined/props.html b/qs_dart/Undefined/props.html new file mode 100644 index 0000000..cc1e8e4 --- /dev/null +++ b/qs_dart/Undefined/props.html @@ -0,0 +1,142 @@ + + + + + + + + props property - Undefined class - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
props
+ +
+ +
+
+
+ +
+
+

props property +

+ + + +
+ +
+ +
+
    +
  1. @override
  2. +
+
+ List<Object> + props +
override
+ +
+ + +
+

The list of properties that will be used to determine whether +two instances are equal.

+
+ + +
+

Implementation

+
@override
+List<Object> get props => [];
+
+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/UriExtension-extension-sidebar.html b/qs_dart/UriExtension-extension-sidebar.html new file mode 100644 index 0000000..30b9f5f --- /dev/null +++ b/qs_dart/UriExtension-extension-sidebar.html @@ -0,0 +1,17 @@ +
    + + + + + + + +
  1. Methods
  2. +
  3. queryParametersQs
  4. +
  5. toStringQs
  6. + + + + + +
diff --git a/qs_dart/UriExtension.html b/qs_dart/UriExtension.html new file mode 100644 index 0000000..5ec1264 --- /dev/null +++ b/qs_dart/UriExtension.html @@ -0,0 +1,168 @@ + + + + + + + + UriExtension extension - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
UriExtension
+ +
+ +
+
+
+
+
+

UriExtension extension + +

+ + + +
+
+
on
+
+ +
+
+ + + +
+ + + +
+

Methods

+
+
+ queryParametersQs([DecodeOptions options = const DecodeOptions()]) + Map<String, dynamic> + + + +
+
+ The URI query split into a map. +Providing custom options will override the default behavior. + + +
+ +
+ toStringQs([EncodeOptions options = const EncodeOptions()]) + String + + + +
+
+ The normalized string representation of the URI. +Providing custom options will override the default behavior. + + +
+ +
+
+ + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + diff --git a/qs_dart/UriExtension/queryParametersQs.html b/qs_dart/UriExtension/queryParametersQs.html new file mode 100644 index 0000000..95bcd27 --- /dev/null +++ b/qs_dart/UriExtension/queryParametersQs.html @@ -0,0 +1,136 @@ + + + + + + + + queryParametersQs method - UriExtension extension - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
queryParametersQs
+ +
+ +
+
+
+ +
+
+

queryParametersQs method +

+ +
+ + +Map<String, dynamic> +queryParametersQs([
  1. DecodeOptions options = const DecodeOptions()
  2. +
]) + + + +
+ +
+

The URI query split into a map. +Providing custom options will override the default behavior.

+
+ + + +
+

Implementation

+
Map<String, dynamic> queryParametersQs([
+  DecodeOptions options = const DecodeOptions(),
+]) =>
+    query.isNotEmpty ? QS.decode(query, options) : const <String, dynamic>{};
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/UriExtension/toStringQs.html b/qs_dart/UriExtension/toStringQs.html new file mode 100644 index 0000000..06b1805 --- /dev/null +++ b/qs_dart/UriExtension/toStringQs.html @@ -0,0 +1,138 @@ + + + + + + + + toStringQs method - UriExtension extension - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
toStringQs
+ +
+ +
+
+
+ +
+
+

toStringQs method +

+ +
+ + +String +toStringQs([
  1. EncodeOptions options = const EncodeOptions()
  2. +
]) + + + +
+ +
+

The normalized string representation of the URI. +Providing custom options will override the default behavior.

+
+ + + +
+

Implementation

+
String toStringQs([EncodeOptions options = const EncodeOptions()]) => replace(
+      query: queryParameters.isNotEmpty
+          ? QS.encode(queryParameters, options)
+          : null,
+      queryParameters: null,
+    ).toString();
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/decode.html b/qs_dart/decode.html new file mode 100644 index 0000000..102d28b --- /dev/null +++ b/qs_dart/decode.html @@ -0,0 +1,136 @@ + + + + + + + + decode function - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
decode
+ +
+ +
+
+
+ +
+
+

decode function + +

+ +
+ + +Map<String, dynamic> +decode(
  1. dynamic input, [
  2. +
  3. DecodeOptions options = const DecodeOptions()
  4. +
]) + + + +
+ +
+

Convenience method for QS.decode

+
+ + + +
+

Implementation

+
Map<String, dynamic> decode(
+  dynamic input, [
+  DecodeOptions options = const DecodeOptions(),
+]) =>
+    QS.decode(input, options);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/encode.html b/qs_dart/encode.html new file mode 100644 index 0000000..b92eebb --- /dev/null +++ b/qs_dart/encode.html @@ -0,0 +1,136 @@ + + + + + + + + encode function - qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
encode
+ +
+ +
+
+
+ +
+
+

encode function + +

+ +
+ + +String +encode(
  1. Object? object, [
  2. +
  3. EncodeOptions options = const EncodeOptions()
  4. +
]) + + + +
+ +
+

Convenience method for QS.encode

+
+ + + +
+

Implementation

+
String encode(
+  Object? object, [
+  EncodeOptions options = const EncodeOptions(),
+]) =>
+    QS.encode(object, options);
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/qs_dart/qs_dart-library-sidebar.html b/qs_dart/qs_dart-library-sidebar.html new file mode 100644 index 0000000..d7ce510 --- /dev/null +++ b/qs_dart/qs_dart-library-sidebar.html @@ -0,0 +1,33 @@ +
    +
  1. Classes
  2. +
  3. DecodeOptions
  4. +
  5. EncodeOptions
  6. +
  7. QS
  8. +
  9. Undefined
  10. + +
  11. Enums
  12. +
  13. Duplicates
  14. +
  15. Format
  16. +
  17. ListFormat
  18. +
  19. Sentinel
  20. + + + + + +
  21. Functions
  22. +
  23. decode
  24. +
  25. encode
  26. + +
  27. Typedefs
  28. +
  29. DateSerializer
  30. +
  31. Decoder
  32. +
  33. Encoder
  34. +
  35. Formatter
  36. +
  37. ListFormatGenerator
  38. +
  39. Sorter
  40. + + +
  41. Extensions
  42. +
  43. UriExtension
  44. +
diff --git a/qs_dart/qs_dart-library.html b/qs_dart/qs_dart-library.html new file mode 100644 index 0000000..920722a --- /dev/null +++ b/qs_dart/qs_dart-library.html @@ -0,0 +1,349 @@ + + + + + + + + qs_dart library - Dart API + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
qs_dart
+ +
+ +
+
+
+ +
+ +
+ + +

+ qs_dart + library + + +

+
+ + +
+

A query string decoder (parser) and encoder (stringifier).

+
+ + +
+

Classes

+ +
+
+ DecodeOptions + +
+
+ Options that configure the output of QS.decode. +
+ +
+ EncodeOptions + +
+
+ Options that configure the output of QS.encode. +
+ +
+ QS + +
+
+ A query string decoder (parser) and encoder (stringifier) class. +
+ +
+ Undefined + +
+
+ Internal model to distinguish between null and not set value +
+ +
+
+ +
+

Enums

+ +
+
+ Duplicates + +
+
+ An enum of all available duplicate key handling strategies. +
+ +
+ Format + +
+
+ An enum of all supported URI component encoding formats. +
+ +
+ ListFormat + +
+
+ An enum of all available list format options. +
+ +
+ Sentinel + +
+
+ An enum of all available sentinels. +
+ +
+
+ + + +
+

Extensions

+ +
+
+ UriExtension + on Uri + + +
+
+ +
+ + +
+
+ + + +
+

Functions

+ +
+
+ decode(dynamic input, [DecodeOptions options = const DecodeOptions()]) + Map<String, dynamic> + + + +
+
+ Convenience method for QS.decode + + +
+ +
+ encode(Object? object, [EncodeOptions options = const EncodeOptions()]) + String + + + +
+
+ Convenience method for QS.encode + + +
+ +
+
+ +
+

Typedefs

+ +
+ +
+ DateSerializer + = String? Function(DateTime date) + + + +
+
+ + + +
+ + +
+ Decoder + = dynamic Function(String? value, {Encoding? charset}) + + + +
+
+ + + +
+ + +
+ Encoder + = String Function(dynamic value, {Encoding? charset, Format? format}) + + + +
+
+ + + +
+ + +
+ Formatter + = String Function(String value) + + + +
+
+ + + +
+ + +
+ ListFormatGenerator + = String Function(String prefix, [String? key]) + + + +
+
+ + + +
+ + +
+ Sorter + = int Function(dynamic a, dynamic b) + + + +
+
+ + + +
+ +
+
+ + +
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/search.html b/search.html new file mode 100644 index 0000000..7a882c9 --- /dev/null +++ b/search.html @@ -0,0 +1,101 @@ + + + + + + + + qs_dart - Dart API docs + + + + + + + + + + + + + + + + + +
+ +
+ menu + +
qs_dart
+ +
+ +
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + diff --git a/static-assets/docs.dart.js b/static-assets/docs.dart.js new file mode 100644 index 0000000..9fb9f41 --- /dev/null +++ b/static-assets/docs.dart.js @@ -0,0 +1,4800 @@ +(function dartProgram(){function copyProperties(a,b){var s=Object.keys(a) +for(var r=0;r=0)return true +if(typeof version=="function"&&version.length==0){var q=version() +if(/^\d+\.\d+\.\d+\.\d+$/.test(q))return true}}catch(p){}return false}() +function inherit(a,b){a.prototype.constructor=a +a.prototype["$i"+a.name]=a +if(b!=null){if(z){Object.setPrototypeOf(a.prototype,b.prototype) +return}var s=Object.create(b.prototype) +copyProperties(a.prototype,s) +a.prototype=s}}function inheritMany(a,b){for(var s=0;s4294967295)throw A.a(A.H(a,0,4294967295,"length",null)) +return J.hS(new Array(a),b)}, +hR(a,b){if(a<0)throw A.a(A.a_("Length must be a non-negative integer: "+a,null)) +return A.h(new Array(a),b.i("o<0>"))}, +eX(a,b){if(a<0)throw A.a(A.a_("Length must be a non-negative integer: "+a,null)) +return A.h(new Array(a),b.i("o<0>"))}, +hS(a,b){return J.eg(A.h(a,b.i("o<0>")))}, +eg(a){a.fixed$length=Array +return a}, +eY(a){a.fixed$length=Array +a.immutable$list=Array +return a}, +hT(a,b){return J.hu(a,b)}, +X(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.aP.prototype +return J.bI.prototype}if(typeof a=="string")return J.ai.prototype +if(a==null)return J.aQ.prototype +if(typeof a=="boolean")return J.bH.prototype +if(Array.isArray(a))return J.o.prototype +if(typeof a!="object"){if(typeof a=="function")return J.a1.prototype +if(typeof a=="symbol")return J.aU.prototype +if(typeof a=="bigint")return J.aS.prototype +return a}if(a instanceof A.l)return a +return J.eG(a)}, +ao(a){if(typeof a=="string")return J.ai.prototype +if(a==null)return a +if(Array.isArray(a))return J.o.prototype +if(typeof a!="object"){if(typeof a=="function")return J.a1.prototype +if(typeof a=="symbol")return J.aU.prototype +if(typeof a=="bigint")return J.aS.prototype +return a}if(a instanceof A.l)return a +return J.eG(a)}, +e_(a){if(a==null)return a +if(Array.isArray(a))return J.o.prototype +if(typeof a!="object"){if(typeof a=="function")return J.a1.prototype +if(typeof a=="symbol")return J.aU.prototype +if(typeof a=="bigint")return J.aS.prototype +return a}if(a instanceof A.l)return a +return J.eG(a)}, +jJ(a){if(typeof a=="number")return J.aR.prototype +if(typeof a=="string")return J.ai.prototype +if(a==null)return a +if(!(a instanceof A.l))return J.ax.prototype +return a}, +F(a,b){if(a==null)return b==null +if(typeof a!="object")return b!=null&&a===b +return J.X(a).F(a,b)}, +hr(a,b){if(typeof b==="number")if(Array.isArray(a)||typeof a=="string"||A.h4(a,a[v.dispatchPropertyName]))if(b>>>0===b&&b>>0===b&&b").b(a))return new A.b9(a,b.i("@<0>").A(c).i("b9<1,2>")) +return new A.af(a,b.i("@<0>").A(c).i("af<1,2>"))}, +e0(a){var s,r=a^48 +if(r<=9)return r +s=a|32 +if(97<=s&&s<=102)return s-87 +return-1}, +a6(a,b){a=a+b&536870911 +a=a+((a&524287)<<10)&536870911 +return a^a>>>6}, +en(a){a=a+((a&67108863)<<3)&536870911 +a^=a>>>11 +return a+((a&16383)<<15)&536870911}, +cn(a,b,c){return a}, +eI(a){var s,r +for(s=$.ap.length,r=0;r").A(d).i("aM<1,2>")) +return new A.aj(a,b,c.i("@<0>").A(d).i("aj<1,2>"))}, +eV(){return new A.b5("No element")}, +a8:function a8(){}, +bA:function bA(a,b){this.a=a +this.$ti=b}, +af:function af(a,b){this.a=a +this.$ti=b}, +b9:function b9(a,b){this.a=a +this.$ti=b}, +b8:function b8(){}, +M:function M(a,b){this.a=a +this.$ti=b}, +aV:function aV(a){this.a=a}, +bB:function bB(a){this.a=a}, +cR:function cR(){}, +c:function c(){}, +J:function J(){}, +au:function au(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +aj:function aj(a,b,c){this.a=a +this.b=b +this.$ti=c}, +aM:function aM(a,b,c){this.a=a +this.b=b +this.$ti=c}, +av:function av(a,b,c){var _=this +_.a=null +_.b=a +_.c=b +_.$ti=c}, +ak:function ak(a,b,c){this.a=a +this.b=b +this.$ti=c}, +aO:function aO(){}, +c1:function c1(){}, +ay:function ay(){}, +a5:function a5(a){this.a=a}, +bp:function bp(){}, +hG(){throw A.a(A.T("Cannot modify unmodifiable Map"))}, +h9(a){var s=v.mangledGlobalNames[a] +if(s!=null)return s +return"minified:"+a}, +h4(a,b){var s +if(b!=null){s=b.x +if(s!=null)return s}return t.p.b(a)}, +i(a){var s +if(typeof a=="string")return a +if(typeof a=="number"){if(a!==0)return""+a}else if(!0===a)return"true" +else if(!1===a)return"false" +else if(a==null)return"null" +s=J.aq(a) +return s}, +bY(a){var s,r=$.f2 +if(r==null)r=$.f2=Symbol("identityHashCode") +s=a[r] +if(s==null){s=Math.random()*0x3fffffff|0 +a[r]=s}return s}, +f3(a,b){var s,r,q,p,o,n=null,m=/^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(a) +if(m==null)return n +s=m[3] +if(b==null){if(s!=null)return parseInt(a,10) +if(m[2]!=null)return parseInt(a,16) +return n}if(b<2||b>36)throw A.a(A.H(b,2,36,"radix",n)) +if(b===10&&s!=null)return parseInt(a,10) +if(b<10||s==null){r=b<=10?47+b:86+b +q=m[1] +for(p=q.length,o=0;or)return n}return parseInt(a,b)}, +cQ(a){return A.i0(a)}, +i0(a){var s,r,q,p +if(a instanceof A.l)return A.C(A.aG(a),null) +s=J.X(a) +if(s===B.I||s===B.K||t.o.b(a)){r=B.l(a) +if(r!=="Object"&&r!=="")return r +q=a.constructor +if(typeof q=="function"){p=q.name +if(typeof p=="string"&&p!=="Object"&&p!=="")return p}}return A.C(A.aG(a),null)}, +f4(a){if(a==null||typeof a=="number"||A.ez(a))return J.aq(a) +if(typeof a=="string")return JSON.stringify(a) +if(a instanceof A.ag)return a.h(0) +if(a instanceof A.bf)return a.aH(!0) +return"Instance of '"+A.cQ(a)+"'"}, +i3(a,b,c){var s,r,q,p +if(c<=500&&b===0&&c===a.length)return String.fromCharCode.apply(null,a) +for(s=b,r="";s>>0,s&1023|56320)}}throw A.a(A.H(a,0,1114111,null,null))}, +a3(a,b,c){var s,r,q={} +q.a=0 +s=[] +r=[] +q.a=b.length +B.b.aI(s,b) +q.b="" +if(c!=null&&c.a!==0)c.C(0,new A.cP(q,r,s)) +return J.hx(a,new A.cD(B.ac,0,s,r,0))}, +i1(a,b,c){var s,r,q +if(Array.isArray(b))s=c==null||c.a===0 +else s=!1 +if(s){r=b.length +if(r===0){if(!!a.$0)return a.$0()}else if(r===1){if(!!a.$1)return a.$1(b[0])}else if(r===2){if(!!a.$2)return a.$2(b[0],b[1])}else if(r===3){if(!!a.$3)return a.$3(b[0],b[1],b[2])}else if(r===4){if(!!a.$4)return a.$4(b[0],b[1],b[2],b[3])}else if(r===5)if(!!a.$5)return a.$5(b[0],b[1],b[2],b[3],b[4]) +q=a[""+"$"+r] +if(q!=null)return q.apply(a,b)}return A.i_(a,b,c)}, +i_(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g=Array.isArray(b)?b:A.bL(b,!0,t.z),f=g.length,e=a.$R +if(fn)return A.a3(a,g,null) +if(fe)return A.a3(a,g,c) +if(g===b)g=A.bL(g,!0,t.z) +l=Object.keys(q) +if(c==null)for(r=l.length,k=0;k=s)return A.eU(b,s,a,r) +return A.i4(b,r)}, +jG(a,b,c){if(a>c)return A.H(a,0,c,"start",null) +if(b!=null)if(bc)return A.H(b,a,c,"end",null) +return new A.G(!0,b,"end",null)}, +jz(a){return new A.G(!0,a,null,null)}, +a(a){return A.h3(new Error(),a)}, +h3(a,b){var s +if(b==null)b=new A.R() +a.dartException=b +s=A.k5 +if("defineProperty" in Object){Object.defineProperty(a,"message",{get:s}) +a.name=""}else a.toString=s +return a}, +k5(){return J.aq(this.dartException)}, +aH(a){throw A.a(a)}, +h8(a,b){throw A.h3(b,a)}, +co(a){throw A.a(A.as(a))}, +S(a){var s,r,q,p,o,n +a=A.k_(a.replace(String({}),"$receiver$")) +s=a.match(/\\\$[a-zA-Z]+\\\$/g) +if(s==null)s=A.h([],t.s) +r=s.indexOf("\\$arguments\\$") +q=s.indexOf("\\$argumentsExpr\\$") +p=s.indexOf("\\$expr\\$") +o=s.indexOf("\\$method\\$") +n=s.indexOf("\\$receiver\\$") +return new A.cU(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)}, +cV(a){return function($expr$){var $argumentsExpr$="$arguments$" +try{$expr$.$method$($argumentsExpr$)}catch(s){return s.message}}(a)}, +fd(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, +ei(a,b){var s=b==null,r=s?null:b.method +return new A.bJ(a,r,s?null:b.receiver)}, +ae(a){if(a==null)return new A.cO(a) +if(a instanceof A.aN)return A.ad(a,a.a) +if(typeof a!=="object")return a +if("dartException" in a)return A.ad(a,a.dartException) +return A.jy(a)}, +ad(a,b){if(t.Q.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a +return b}, +jy(a){var s,r,q,p,o,n,m,l,k,j,i,h,g +if(!("message" in a))return a +s=a.message +if("number" in a&&typeof a.number=="number"){r=a.number +q=r&65535 +if((B.c.V(r,16)&8191)===10)switch(q){case 438:return A.ad(a,A.ei(A.i(s)+" (Error "+q+")",null)) +case 445:case 5007:A.i(s) +return A.ad(a,new A.b1())}}if(a instanceof TypeError){p=$.ha() +o=$.hb() +n=$.hc() +m=$.hd() +l=$.hg() +k=$.hh() +j=$.hf() +$.he() +i=$.hj() +h=$.hi() +g=p.D(s) +if(g!=null)return A.ad(a,A.ei(s,g)) +else{g=o.D(s) +if(g!=null){g.method="call" +return A.ad(a,A.ei(s,g))}else if(n.D(s)!=null||m.D(s)!=null||l.D(s)!=null||k.D(s)!=null||j.D(s)!=null||m.D(s)!=null||i.D(s)!=null||h.D(s)!=null)return A.ad(a,new A.b1())}return A.ad(a,new A.c0(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.b4() +s=function(b){try{return String(b)}catch(f){}return null}(a) +return A.ad(a,new A.G(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.b4() +return a}, +ac(a){var s +if(a instanceof A.aN)return a.b +if(a==null)return new A.bg(a) +s=a.$cachedTrace +if(s!=null)return s +s=new A.bg(a) +if(typeof a==="object")a.$cachedTrace=s +return s}, +h5(a){if(a==null)return J.Z(a) +if(typeof a=="object")return A.bY(a) +return J.Z(a)}, +jI(a,b){var s,r,q,p=a.length +for(s=0;s=0}, +k_(a){if(/[[\]{}()*+?.\\^$|]/.test(a))return a.replace(/[[\]{}()*+?.\\^$|]/g,"\\$&") +return a}, +fX(a){return a}, +k3(a,b,c,d){var s,r,q,p=new A.d3(b,a,0),o=t.F,n=0,m="" +for(;p.m();){s=p.d +if(s==null)s=o.a(s) +r=s.b +q=r.index +m=m+A.i(A.fX(B.a.j(a,n,q)))+A.i(c.$1(s)) +n=q+r[0].length}p=m+A.i(A.fX(B.a.K(a,n))) +return p.charCodeAt(0)==0?p:p}, +cg:function cg(a,b){this.a=a +this.b=b}, +aL:function aL(a,b){this.a=a +this.$ti=b}, +aK:function aK(){}, +ah:function ah(a,b,c){this.a=a +this.b=b +this.$ti=c}, +cD:function cD(a,b,c,d,e){var _=this +_.a=a +_.c=b +_.d=c +_.e=d +_.f=e}, +cP:function cP(a,b,c){this.a=a +this.b=b +this.c=c}, +cU:function cU(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +b1:function b1(){}, +bJ:function bJ(a,b,c){this.a=a +this.b=b +this.c=c}, +c0:function c0(a){this.a=a}, +cO:function cO(a){this.a=a}, +aN:function aN(a,b){this.a=a +this.b=b}, +bg:function bg(a){this.a=a +this.b=null}, +ag:function ag(){}, +cs:function cs(){}, +ct:function ct(){}, +cT:function cT(){}, +cS:function cS(){}, +aJ:function aJ(a,b){this.a=a +this.b=b}, +c8:function c8(a){this.a=a}, +bZ:function bZ(a){this.a=a}, +dp:function dp(){}, +N:function N(a){var _=this +_.a=0 +_.f=_.e=_.d=_.c=_.b=null +_.r=0 +_.$ti=a}, +cG:function cG(a){this.a=a}, +cJ:function cJ(a,b){this.a=a +this.b=b +this.c=null}, +O:function O(a,b){this.a=a +this.$ti=b}, +bK:function bK(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +e1:function e1(a){this.a=a}, +e2:function e2(a){this.a=a}, +e3:function e3(a){this.a=a}, +bf:function bf(){}, +cf:function cf(){}, +cE:function cE(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +ce:function ce(a){this.b=a}, +d3:function d3(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=null}, +j0(a){return a}, +hX(a){return new Int8Array(a)}, +hY(a){return new Uint8Array(a)}, +V(a,b,c){if(a>>>0!==a||a>=c)throw A.a(A.eF(b,a))}, +iX(a,b,c){var s +if(!(a>>>0!==a))s=b>>>0!==b||a>b||b>c +else s=!0 +if(s)throw A.a(A.jG(a,b,c)) +return b}, +bM:function bM(){}, +aZ:function aZ(){}, +bN:function bN(){}, +aw:function aw(){}, +aX:function aX(){}, +aY:function aY(){}, +bO:function bO(){}, +bP:function bP(){}, +bQ:function bQ(){}, +bR:function bR(){}, +bS:function bS(){}, +bT:function bT(){}, +bU:function bU(){}, +b_:function b_(){}, +b0:function b0(){}, +bb:function bb(){}, +bc:function bc(){}, +bd:function bd(){}, +be:function be(){}, +f7(a,b){var s=b.c +return s==null?b.c=A.er(a,b.x,!0):s}, +em(a,b){var s=b.c +return s==null?b.c=A.bj(a,"a0",[b.x]):s}, +f8(a){var s=a.w +if(s===6||s===7||s===8)return A.f8(a.x) +return s===12||s===13}, +i5(a){return a.as}, +bt(a){return A.ck(v.typeUniverse,a,!1)}, +aa(a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=a2.w +switch(a0){case 5:case 1:case 2:case 3:case 4:return a2 +case 6:s=a2.x +r=A.aa(a1,s,a3,a4) +if(r===s)return a2 +return A.fs(a1,r,!0) +case 7:s=a2.x +r=A.aa(a1,s,a3,a4) +if(r===s)return a2 +return A.er(a1,r,!0) +case 8:s=a2.x +r=A.aa(a1,s,a3,a4) +if(r===s)return a2 +return A.fq(a1,r,!0) +case 9:q=a2.y +p=A.aD(a1,q,a3,a4) +if(p===q)return a2 +return A.bj(a1,a2.x,p) +case 10:o=a2.x +n=A.aa(a1,o,a3,a4) +m=a2.y +l=A.aD(a1,m,a3,a4) +if(n===o&&l===m)return a2 +return A.ep(a1,n,l) +case 11:k=a2.x +j=a2.y +i=A.aD(a1,j,a3,a4) +if(i===j)return a2 +return A.fr(a1,k,i) +case 12:h=a2.x +g=A.aa(a1,h,a3,a4) +f=a2.y +e=A.jv(a1,f,a3,a4) +if(g===h&&e===f)return a2 +return A.fp(a1,g,e) +case 13:d=a2.y +a4+=d.length +c=A.aD(a1,d,a3,a4) +o=a2.x +n=A.aa(a1,o,a3,a4) +if(c===d&&n===o)return a2 +return A.eq(a1,n,c,!0) +case 14:b=a2.x +if(b") +for(r=1;r=0)p+=" "+r[q];++q}return p+"})"}, +fN(a3,a4,a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=", " +if(a5!=null){s=a5.length +if(a4==null){a4=A.h([],t.s) +r=null}else r=a4.length +q=a4.length +for(p=s;p>0;--p)a4.push("T"+(q+p)) +for(o=t.X,n=t._,m="<",l="",p=0;p0){a0+=a1+"[" +for(a1="",p=0;p0){a0+=a1+"{" +for(a1="",p=0;p "+a}, +C(a,b){var s,r,q,p,o,n,m=a.w +if(m===5)return"erased" +if(m===2)return"dynamic" +if(m===3)return"void" +if(m===1)return"Never" +if(m===4)return"any" +if(m===6)return A.C(a.x,b) +if(m===7){s=a.x +r=A.C(s,b) +q=s.w +return(q===12||q===13?"("+r+")":r)+"?"}if(m===8)return"FutureOr<"+A.C(a.x,b)+">" +if(m===9){p=A.jx(a.x) +o=a.y +return o.length>0?p+("<"+A.fU(o,b)+">"):p}if(m===11)return A.jp(a,b) +if(m===12)return A.fN(a,b,null) +if(m===13)return A.fN(a.x,b,a.y) +if(m===14){n=a.x +return b[b.length-1-n]}return"?"}, +jx(a){var s=v.mangledGlobalNames[a] +if(s!=null)return s +return"minified:"+a}, +iz(a,b){var s=a.tR[b] +for(;typeof s=="string";)s=a.tR[s] +return s}, +iy(a,b){var s,r,q,p,o,n=a.eT,m=n[b] +if(m==null)return A.ck(a,b,!1) +else if(typeof m=="number"){s=m +r=A.bk(a,5,"#") +q=A.dI(s) +for(p=0;p0)p+="<"+A.bi(c)+">" +s=a.eC.get(p) +if(s!=null)return s +r=new A.I(null,null) +r.w=9 +r.x=b +r.y=c +if(c.length>0)r.c=c[0] +r.as=p +q=A.U(a,r) +a.eC.set(p,q) +return q}, +ep(a,b,c){var s,r,q,p,o,n +if(b.w===10){s=b.x +r=b.y.concat(c)}else{r=c +s=b}q=s.as+(";<"+A.bi(r)+">") +p=a.eC.get(q) +if(p!=null)return p +o=new A.I(null,null) +o.w=10 +o.x=s +o.y=r +o.as=q +n=A.U(a,o) +a.eC.set(q,n) +return n}, +fr(a,b,c){var s,r,q="+"+(b+"("+A.bi(c)+")"),p=a.eC.get(q) +if(p!=null)return p +s=new A.I(null,null) +s.w=11 +s.x=b +s.y=c +s.as=q +r=A.U(a,s) +a.eC.set(q,r) +return r}, +fp(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.bi(m) +if(j>0){s=l>0?",":"" +g+=s+"["+A.bi(k)+"]"}if(h>0){s=l>0?",":"" +g+=s+"{"+A.iq(i)+"}"}r=n+(g+")") +q=a.eC.get(r) +if(q!=null)return q +p=new A.I(null,null) +p.w=12 +p.x=b +p.y=c +p.as=r +o=A.U(a,p) +a.eC.set(r,o) +return o}, +eq(a,b,c,d){var s,r=b.as+("<"+A.bi(c)+">"),q=a.eC.get(r) +if(q!=null)return q +s=A.is(a,b,c,r,d) +a.eC.set(r,s) +return s}, +is(a,b,c,d,e){var s,r,q,p,o,n,m,l +if(e){s=c.length +r=A.dI(s) +for(q=0,p=0;p0){n=A.aa(a,b,r,0) +m=A.aD(a,c,r,0) +return A.eq(a,n,m,c!==m)}}l=new A.I(null,null) +l.w=13 +l.x=b +l.y=c +l.as=d +return A.U(a,l)}, +fl(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, +fn(a){var s,r,q,p,o,n,m,l=a.r,k=a.s +for(s=l.length,r=0;r=48&&q<=57)r=A.ii(r+1,q,l,k) +else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.fm(a,r,l,k,!1) +else if(q===46)r=A.fm(a,r,l,k,!0) +else{++r +switch(q){case 44:break +case 58:k.push(!1) +break +case 33:k.push(!0) +break +case 59:k.push(A.a9(a.u,a.e,k.pop())) +break +case 94:k.push(A.iv(a.u,k.pop())) +break +case 35:k.push(A.bk(a.u,5,"#")) +break +case 64:k.push(A.bk(a.u,2,"@")) +break +case 126:k.push(A.bk(a.u,3,"~")) +break +case 60:k.push(a.p) +a.p=k.length +break +case 62:A.ik(a,k) +break +case 38:A.ij(a,k) +break +case 42:p=a.u +k.push(A.fs(p,A.a9(p,a.e,k.pop()),a.n)) +break +case 63:p=a.u +k.push(A.er(p,A.a9(p,a.e,k.pop()),a.n)) +break +case 47:p=a.u +k.push(A.fq(p,A.a9(p,a.e,k.pop()),a.n)) +break +case 40:k.push(-3) +k.push(a.p) +a.p=k.length +break +case 41:A.ih(a,k) +break +case 91:k.push(a.p) +a.p=k.length +break +case 93:o=k.splice(a.p) +A.fo(a.u,a.e,o) +a.p=k.pop() +k.push(o) +k.push(-1) +break +case 123:k.push(a.p) +a.p=k.length +break +case 125:o=k.splice(a.p) +A.im(a.u,a.e,o) +a.p=k.pop() +k.push(o) +k.push(-2) +break +case 43:n=l.indexOf("(",r) +k.push(l.substring(r,n)) +k.push(-4) +k.push(a.p) +a.p=k.length +r=n+1 +break +default:throw"Bad character "+q}}}m=k.pop() +return A.a9(a.u,a.e,m)}, +ii(a,b,c,d){var s,r,q=b-48 +for(s=c.length;a=48&&r<=57))break +q=q*10+(r-48)}d.push(q) +return a}, +fm(a,b,c,d,e){var s,r,q,p,o,n,m=b+1 +for(s=c.length;m>>0)-97&65535)<26||r===95||r===36||r===124))q=r>=48&&r<=57 +else q=!0 +if(!q)break}}p=c.substring(b,m) +if(e){s=a.u +o=a.e +if(o.w===10)o=o.x +n=A.iz(s,o.x)[p] +if(n==null)A.aH('No "'+p+'" in "'+A.i5(o)+'"') +d.push(A.bl(s,o,n))}else d.push(p) +return m}, +ik(a,b){var s,r=a.u,q=A.fk(a,b),p=b.pop() +if(typeof p=="string")b.push(A.bj(r,p,q)) +else{s=A.a9(r,a.e,p) +switch(s.w){case 12:b.push(A.eq(r,s,q,a.n)) +break +default:b.push(A.ep(r,s,q)) +break}}}, +ih(a,b){var s,r,q,p,o,n=null,m=a.u,l=b.pop() +if(typeof l=="number")switch(l){case-1:s=b.pop() +r=n +break +case-2:r=b.pop() +s=n +break +default:b.push(l) +r=n +s=r +break}else{b.push(l) +r=n +s=r}q=A.fk(a,b) +l=b.pop() +switch(l){case-3:l=b.pop() +if(s==null)s=m.sEA +if(r==null)r=m.sEA +p=A.a9(m,a.e,l) +o=new A.cb() +o.a=q +o.b=s +o.c=r +b.push(A.fp(m,p,o)) +return +case-4:b.push(A.fr(m,b.pop(),q)) +return +default:throw A.a(A.by("Unexpected state under `()`: "+A.i(l)))}}, +ij(a,b){var s=b.pop() +if(0===s){b.push(A.bk(a.u,1,"0&")) +return}if(1===s){b.push(A.bk(a.u,4,"1&")) +return}throw A.a(A.by("Unexpected extended operation "+A.i(s)))}, +fk(a,b){var s=b.splice(a.p) +A.fo(a.u,a.e,s) +a.p=b.pop() +return s}, +a9(a,b,c){if(typeof c=="string")return A.bj(a,c,a.sEA) +else if(typeof c=="number"){b.toString +return A.il(a,b,c)}else return c}, +fo(a,b,c){var s,r=c.length +for(s=0;sn)return!1 +m=n-o +l=s.b +k=r.b +j=l.length +i=k.length +if(o+j=d)return!1 +a1=f[b] +b+=3 +if(a00?new Array(q):v.typeUniverse.sEA +for(o=0;o0?new Array(a):v.typeUniverse.sEA}, +I:function I(a,b){var _=this +_.a=a +_.b=b +_.r=_.f=_.d=_.c=null +_.w=0 +_.as=_.Q=_.z=_.y=_.x=null}, +cb:function cb(){this.c=this.b=this.a=null}, +dA:function dA(a){this.a=a}, +ca:function ca(){}, +bh:function bh(a){this.a=a}, +ib(){var s,r,q={} +if(self.scheduleImmediate!=null)return A.jA() +if(self.MutationObserver!=null&&self.document!=null){s=self.document.createElement("div") +r=self.document.createElement("span") +q.a=null +new self.MutationObserver(A.aF(new A.d5(q),1)).observe(s,{childList:true}) +return new A.d4(q,s,r)}else if(self.setImmediate!=null)return A.jB() +return A.jC()}, +ic(a){self.scheduleImmediate(A.aF(new A.d6(a),0))}, +id(a){self.setImmediate(A.aF(new A.d7(a),0))}, +ie(a){A.io(0,a)}, +io(a,b){var s=new A.dy() +s.bf(a,b) +return s}, +fS(a){return new A.c5(new A.v($.r,a.i("v<0>")),a.i("c5<0>"))}, +fK(a,b){a.$2(0,null) +b.b=!0 +return b.a}, +fH(a,b){A.iV(a,b)}, +fJ(a,b){b.ae(a)}, +fI(a,b){b.af(A.ae(a),A.ac(a))}, +iV(a,b){var s,r,q=new A.dK(b),p=new A.dL(b) +if(a instanceof A.v)a.aG(q,p,t.z) +else{s=t.z +if(a instanceof A.v)a.au(q,p,s) +else{r=new A.v($.r,t.e) +r.a=8 +r.c=a +r.aG(q,p,s)}}}, +fZ(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e) +break}catch(r){e=r +d=c}}}}(a,1) +return $.r.b1(new A.dY(s))}, +cp(a,b){var s=A.cn(a,"error",t.K) +return new A.bz(s,b==null?A.eN(a):b)}, +eN(a){var s +if(t.Q.b(a)){s=a.gR() +if(s!=null)return s}return B.H}, +fj(a,b){var s,r +for(;s=a.a,(s&4)!==0;)a=a.c +if(a===b){b.S(new A.G(!0,a,null,"Cannot complete a future with itself"),A.f9()) +return}s|=b.a&1 +a.a=s +if((s&24)!==0){r=b.ab() +b.T(a) +A.ba(b,r)}else{r=b.c +b.aE(a) +a.aa(r)}}, +ig(a,b){var s,r,q={},p=q.a=a +for(;s=p.a,(s&4)!==0;){p=p.c +q.a=p}if(p===b){b.S(new A.G(!0,p,null,"Cannot complete a future with itself"),A.f9()) +return}if((s&24)===0){r=b.c +b.aE(p) +q.a.aa(r) +return}if((s&16)===0&&b.c==null){b.T(p) +return}b.a^=2 +A.aC(null,null,b.b,new A.dd(q,b))}, +ba(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g={},f=g.a=a +for(;!0;){s={} +r=f.a +q=(r&16)===0 +p=!q +if(b==null){if(p&&(r&1)===0){f=f.c +A.eB(f.a,f.b)}return}s.a=b +o=b.a +for(f=b;o!=null;f=o,o=n){f.a=null +A.ba(g.a,f) +s.a=o +n=o.a}r=g.a +m=r.c +s.b=p +s.c=m +if(q){l=f.c +l=(l&1)!==0||(l&15)===8}else l=!0 +if(l){k=f.b.b +if(p){r=r.b===k +r=!(r||r)}else r=!1 +if(r){A.eB(m.a,m.b) +return}j=$.r +if(j!==k)$.r=k +else j=null +f=f.c +if((f&15)===8)new A.dk(s,g,p).$0() +else if(q){if((f&1)!==0)new A.dj(s,m).$0()}else if((f&2)!==0)new A.di(g,s).$0() +if(j!=null)$.r=j +f=s.c +if(f instanceof A.v){r=s.a.$ti +r=r.i("a0<2>").b(f)||!r.y[1].b(f)}else r=!1 +if(r){i=s.a.b +if((f.a&24)!==0){h=i.c +i.c=null +b=i.U(h) +i.a=f.a&30|i.a&1 +i.c=f.c +g.a=f +continue}else A.fj(f,i) +return}}i=s.a.b +h=i.c +i.c=null +b=i.U(h) +f=s.b +r=s.c +if(!f){i.a=8 +i.c=r}else{i.a=i.a&1|16 +i.c=r}g.a=i +f=i}}, +jq(a,b){if(t.C.b(a))return b.b1(a) +if(t.v.b(a))return a +throw A.a(A.eM(a,"onError",u.c))}, +jn(){var s,r +for(s=$.aB;s!=null;s=$.aB){$.bs=null +r=s.b +$.aB=r +if(r==null)$.br=null +s.a.$0()}}, +ju(){$.eA=!0 +try{A.jn()}finally{$.bs=null +$.eA=!1 +if($.aB!=null)$.eL().$1(A.h0())}}, +fW(a){var s=new A.c6(a),r=$.br +if(r==null){$.aB=$.br=s +if(!$.eA)$.eL().$1(A.h0())}else $.br=r.b=s}, +jt(a){var s,r,q,p=$.aB +if(p==null){A.fW(a) +$.bs=$.br +return}s=new A.c6(a) +r=$.bs +if(r==null){s.b=p +$.aB=$.bs=s}else{q=r.b +s.b=q +$.bs=r.b=s +if(q==null)$.br=s}}, +k0(a){var s=null,r=$.r +if(B.d===r){A.aC(s,s,B.d,a) +return}A.aC(s,s,r,r.aJ(a))}, +kb(a){A.cn(a,"stream",t.K) +return new A.ci()}, +eB(a,b){A.jt(new A.dW(a,b))}, +fT(a,b,c,d){var s,r=$.r +if(r===c)return d.$0() +$.r=c +s=r +try{r=d.$0() +return r}finally{$.r=s}}, +js(a,b,c,d,e){var s,r=$.r +if(r===c)return d.$1(e) +$.r=c +s=r +try{r=d.$1(e) +return r}finally{$.r=s}}, +jr(a,b,c,d,e,f){var s,r=$.r +if(r===c)return d.$2(e,f) +$.r=c +s=r +try{r=d.$2(e,f) +return r}finally{$.r=s}}, +aC(a,b,c,d){if(B.d!==c)d=c.aJ(d) +A.fW(d)}, +d5:function d5(a){this.a=a}, +d4:function d4(a,b,c){this.a=a +this.b=b +this.c=c}, +d6:function d6(a){this.a=a}, +d7:function d7(a){this.a=a}, +dy:function dy(){}, +dz:function dz(a,b){this.a=a +this.b=b}, +c5:function c5(a,b){this.a=a +this.b=!1 +this.$ti=b}, +dK:function dK(a){this.a=a}, +dL:function dL(a){this.a=a}, +dY:function dY(a){this.a=a}, +bz:function bz(a,b){this.a=a +this.b=b}, +c7:function c7(){}, +b7:function b7(a,b){this.a=a +this.$ti=b}, +az:function az(a,b,c,d,e){var _=this +_.a=null +_.b=a +_.c=b +_.d=c +_.e=d +_.$ti=e}, +v:function v(a,b){var _=this +_.a=0 +_.b=a +_.c=null +_.$ti=b}, +da:function da(a,b){this.a=a +this.b=b}, +dh:function dh(a,b){this.a=a +this.b=b}, +de:function de(a){this.a=a}, +df:function df(a){this.a=a}, +dg:function dg(a,b,c){this.a=a +this.b=b +this.c=c}, +dd:function dd(a,b){this.a=a +this.b=b}, +dc:function dc(a,b){this.a=a +this.b=b}, +db:function db(a,b,c){this.a=a +this.b=b +this.c=c}, +dk:function dk(a,b,c){this.a=a +this.b=b +this.c=c}, +dl:function dl(a){this.a=a}, +dj:function dj(a,b){this.a=a +this.b=b}, +di:function di(a,b){this.a=a +this.b=b}, +c6:function c6(a){this.a=a +this.b=null}, +ci:function ci(){}, +dJ:function dJ(){}, +dW:function dW(a,b){this.a=a +this.b=b}, +dq:function dq(){}, +dr:function dr(a,b){this.a=a +this.b=b}, +f_(a,b,c){return A.jI(a,new A.N(b.i("@<0>").A(c).i("N<1,2>")))}, +ej(a,b){return new A.N(a.i("@<0>").A(b).i("N<1,2>"))}, +ek(a){var s,r={} +if(A.eI(a))return"{...}" +s=new A.y("") +try{$.ap.push(a) +s.a+="{" +r.a=!0 +a.C(0,new A.cK(r,s)) +s.a+="}"}finally{$.ap.pop()}r=s.a +return r.charCodeAt(0)==0?r:r}, +e:function e(){}, +P:function P(){}, +cK:function cK(a,b){this.a=a +this.b=b}, +cl:function cl(){}, +aW:function aW(){}, +a7:function a7(a,b){this.a=a +this.$ti=b}, +bm:function bm(){}, +jo(a,b){var s,r,q,p=null +try{p=JSON.parse(a)}catch(r){s=A.ae(r) +q=A.z(String(s),null,null) +throw A.a(q)}q=A.dM(p) +return q}, +dM(a){var s +if(a==null)return null +if(typeof a!="object")return a +if(!Array.isArray(a))return new A.cc(a,Object.create(null)) +for(s=0;s")) +for(s=J.L(a);s.m();)r.push(s.gp()) +if(b)return r +return J.eg(r)}, +bL(a,b,c){var s=A.hU(a,c) +return s}, +hU(a,b){var s,r +if(Array.isArray(a))return A.h(a.slice(0),b.i("o<0>")) +s=A.h([],b.i("o<0>")) +for(r=J.L(a);r.m();)s.push(r.gp()) +return s}, +fc(a,b,c){var s,r +A.f5(b,"start") +if(c!=null){s=c-b +if(s<0)throw A.a(A.H(c,b,null,"end",null)) +if(s===0)return""}r=A.i6(a,b,c) +return r}, +i6(a,b,c){var s=a.length +if(b>=s)return"" +return A.i3(a,b,c==null||c>s?s:c)}, +f6(a,b){return new A.cE(a,A.eZ(a,!1,b,!1,!1,!1))}, +fb(a,b,c){var s=J.L(b) +if(!s.m())return a +if(c.length===0){do a+=A.i(s.gp()) +while(s.m())}else{a+=A.i(s.gp()) +for(;s.m();)a=a+c+A.i(s.gp())}return a}, +f1(a,b){return new A.bV(a,b.gbN(),b.gbQ(),b.gbO())}, +fA(a,b,c,d){var s,r,q,p,o,n="0123456789ABCDEF" +if(c===B.e){s=$.hl() +s=s.b.test(b)}else s=!1 +if(s)return b +r=B.G.I(b) +for(s=r.length,q=0,p="";q>>4]&1<<(o&15))!==0)p+=A.Q(o) +else p=d&&o===32?p+"+":p+"%"+n[o>>>4&15]+n[o&15]}return p.charCodeAt(0)==0?p:p}, +iH(a){var s,r,q +if(!$.hm())return A.iI(a) +s=new URLSearchParams() +a.C(0,new A.dD(s)) +r=s.toString() +q=r.length +if(q>0&&r[q-1]==="=")r=B.a.j(r,0,q-1) +return r.replace(/=&|\*|%7E/g,b=>b==="=&"?"&":b==="*"?"%2A":"~")}, +f9(){return A.ac(new Error())}, +at(a){if(typeof a=="number"||A.ez(a)||a==null)return J.aq(a) +if(typeof a=="string")return JSON.stringify(a) +return A.f4(a)}, +hI(a,b){A.cn(a,"error",t.K) +A.cn(b,"stackTrace",t.l) +A.hH(a,b)}, +by(a){return new A.bx(a)}, +a_(a,b){return new A.G(!1,null,b,a)}, +eM(a,b,c){return new A.G(!0,a,b,c)}, +i4(a,b){return new A.b2(null,null,!0,a,b,"Value not in range")}, +H(a,b,c,d,e){return new A.b2(b,c,!0,a,d,"Invalid value")}, +b3(a,b,c){if(0>a||a>c)throw A.a(A.H(a,0,c,"start",null)) +if(b!=null){if(a>b||b>c)throw A.a(A.H(b,a,c,"end",null)) +return b}return c}, +f5(a,b){if(a<0)throw A.a(A.H(a,0,null,b,null)) +return a}, +eU(a,b,c,d){return new A.bF(b,!0,a,d,"Index out of range")}, +T(a){return new A.c2(a)}, +fe(a){return new A.c_(a)}, +fa(a){return new A.b5(a)}, +as(a){return new A.bD(a)}, +z(a,b,c){return new A.cw(a,b,c)}, +hP(a,b,c){var s,r +if(A.eI(a)){if(b==="("&&c===")")return"(...)" +return b+"..."+c}s=A.h([],t.s) +$.ap.push(a) +try{A.jl(a,s)}finally{$.ap.pop()}r=A.fb(b,s,", ")+c +return r.charCodeAt(0)==0?r:r}, +eW(a,b,c){var s,r +if(A.eI(a))return b+"..."+c +s=new A.y(b) +$.ap.push(a) +try{r=s +r.a=A.fb(r.a,a,", ")}finally{$.ap.pop()}s.a+=c +r=s.a +return r.charCodeAt(0)==0?r:r}, +jl(a,b){var s,r,q,p,o,n,m,l=a.gB(a),k=0,j=0 +while(!0){if(!(k<80||j<3))break +if(!l.m())return +s=A.i(l.gp()) +b.push(s) +k+=s.length+2;++j}if(!l.m()){if(j<=5)return +r=b.pop() +q=b.pop()}else{p=l.gp();++j +if(!l.m()){if(j<=4){b.push(A.i(p)) +return}r=A.i(p) +q=b.pop() +k+=r.length+2}else{o=l.gp();++j +for(;l.m();p=o,o=n){n=l.gp();++j +if(j>100){while(!0){if(!(k>75&&j>3))break +k-=b.pop().length+2;--j}b.push("...") +return}}q=A.i(p) +r=A.i(o) +k+=r.length+q.length+4}}if(j>b.length+2){k+=5 +m="..."}else m=null +while(!0){if(!(k>80&&b.length>3))break +k-=b.pop().length+2 +if(m==null){k+=5 +m="..."}}if(m!=null)b.push(m) +b.push(q) +b.push(r)}, +hZ(a,b,c,d){var s +if(B.i===c){s=B.c.gn(a) +b=J.Z(b) +return A.en(A.a6(A.a6($.ee(),s),b))}if(B.i===d){s=B.c.gn(a) +b=J.Z(b) +c=J.Z(c) +return A.en(A.a6(A.a6(A.a6($.ee(),s),b),c))}s=B.c.gn(a) +b=J.Z(b) +c=J.Z(c) +d=J.Z(d) +d=A.en(A.a6(A.a6(A.a6(A.a6($.ee(),s),b),c),d)) +return d}, +c4(a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=null,a4=a5.length +if(a4>=5){s=((a5.charCodeAt(4)^58)*3|a5.charCodeAt(0)^100|a5.charCodeAt(1)^97|a5.charCodeAt(2)^116|a5.charCodeAt(3)^97)>>>0 +if(s===0)return A.ff(a4=14)r[7]=a4 +q=r[1] +if(q>=0)if(A.fV(a5,0,q,20,r)===20)r[7]=q +p=r[2]+1 +o=r[3] +n=r[4] +m=r[5] +l=r[6] +if(lq+3){j=a3 +k=!1}else{i=o>0 +if(i&&o+1===n){j=a3 +k=!1}else{if(!B.a.v(a5,"\\",n))if(p>0)h=B.a.v(a5,"\\",p-1)||B.a.v(a5,"\\",p-2) +else h=!1 +else h=!0 +if(h){j=a3 +k=!1}else{if(!(mn+2&&B.a.v(a5,"/..",m-3) +else h=!0 +if(h)j=a3 +else if(q===4)if(B.a.v(a5,"file",0)){if(p<=0){if(!B.a.v(a5,"/",n)){g="file:///" +s=3}else{g="file://" +s=2}a5=g+B.a.j(a5,n,a4) +m+=s +l+=s +a4=a5.length +p=7 +o=7 +n=7}else if(n===m){++l +f=m+1 +a5=B.a.J(a5,n,m,"/");++a4 +m=f}j="file"}else if(B.a.v(a5,"http",0)){if(i&&o+3===n&&B.a.v(a5,"80",o+1)){l-=3 +e=n-3 +m-=3 +a5=B.a.J(a5,o,n,"") +a4-=3 +n=e}j="http"}else j=a3 +else if(q===5&&B.a.v(a5,"https",0)){if(i&&o+4===n&&B.a.v(a5,"443",o+1)){l-=4 +e=n-4 +m-=4 +a5=B.a.J(a5,o,n,"") +a4-=3 +n=e}j="https"}else j=a3 +k=!h}}}else j=a3 +if(k)return new A.ch(a40)j=A.iJ(a5,0,q) +else{if(q===0)A.aA(a5,0,"Invalid empty scheme") +j=""}if(p>0){d=q+3 +c=d9)k.$2("invalid character",s)}else{if(q===3)k.$2(m,s) +o=A.e8(B.a.j(a,r,s),null) +if(o>255)k.$2(l,r) +n=q+1 +j[q]=o +r=s+1 +q=n}}if(q!==3)k.$2(m,c) +o=A.e8(B.a.j(a,r,c),null) +if(o>255)k.$2(l,r) +j[q]=o +return j}, +fg(a,b,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null,d=new A.cY(a),c=new A.cZ(d,a) +if(a.length<2)d.$2("address is too short",e) +s=A.h([],t.t) +for(r=b,q=r,p=!1,o=!1;r>>0) +s.push((k[2]<<8|k[3])>>>0)}if(p){if(s.length>7)d.$2("an address with a wildcard must have less than 7 parts",e)}else if(s.length!==8)d.$2("an address without a wildcard must contain exactly 8 parts",e) +j=new Uint8Array(16) +for(l=s.length,i=9-l,r=0,h=0;r=b&&q=b&&s>>4]&1<<(p&15))!==0){if(q&&65<=p&&90>=p){if(i==null)i=new A.y("") +if(r>>4]&1<<(o&15))!==0){if(p&&65<=o&&90>=o){if(q==null)q=new A.y("") +if(r>>4]&1<<(o&15))!==0)A.aA(a,s,"Invalid character") +else{if((o&64512)===55296&&s+1>>4]&1<<(q&15))!==0))A.aA(a,s,"Illegal scheme character") +if(65<=q&&q<=90)r=!0}a=B.a.j(a,b,c) +return A.iA(r?a.toLowerCase():a)}, +iA(a){if(a==="http")return"http" +if(a==="file")return"file" +if(a==="https")return"https" +if(a==="package")return"package" +return a}, +iK(a,b,c){return A.bo(a,b,c,B.a8,!1,!1)}, +iF(a,b,c,d,e,f){var s,r=e==="file",q=r||f +if(a==null)return r?"/":"" +else s=A.bo(a,b,c,B.p,!0,!0) +if(s.length===0){if(r)return"/"}else if(q&&!B.a.u(s,"/"))s="/"+s +return A.iL(s,e,f)}, +iL(a,b,c){var s=b.length===0 +if(s&&!c&&!B.a.u(a,"/")&&!B.a.u(a,"\\"))return A.iN(a,!s||c) +return A.iO(a)}, +eu(a,b,c,d){if(a!=null){if(d!=null)throw A.a(A.a_("Both query and queryParameters specified",null)) +return A.bo(a,b,c,B.f,!0,!1)}if(d==null)return null +return A.iH(d)}, +iI(a){var s={},r=new A.y("") +s.a="" +a.C(0,new A.dB(new A.dC(s,r))) +s=r.a +return s.charCodeAt(0)==0?s:s}, +iD(a,b,c){return A.bo(a,b,c,B.f,!0,!1)}, +ev(a,b,c){var s,r,q,p,o,n=b+2 +if(n>=a.length)return"%" +s=a.charCodeAt(b+1) +r=a.charCodeAt(n) +q=A.e0(s) +p=A.e0(r) +if(q<0||p<0)return"%" +o=q*16+p +if(o<127&&(B.h[B.c.V(o,4)]&1<<(o&15))!==0)return A.Q(c&&65<=o&&90>=o?(o|32)>>>0:o) +if(s>=97||r>=97)return B.a.j(a,b,b+3).toUpperCase() +return null}, +et(a){var s,r,q,p,o,n="0123456789ABCDEF" +if(a<128){s=new Uint8Array(3) +s[0]=37 +s[1]=n.charCodeAt(a>>>4) +s[2]=n.charCodeAt(a&15)}else{if(a>2047)if(a>65535){r=240 +q=4}else{r=224 +q=3}else{r=192 +q=2}s=new Uint8Array(3*q) +for(p=0;--q,q>=0;r=128){o=B.c.bv(a,6*q)&63|r +s[p]=37 +s[p+1]=n.charCodeAt(o>>>4) +s[p+2]=n.charCodeAt(o&15) +p+=3}}return A.fc(s,0,null)}, +bo(a,b,c,d,e,f){var s=A.fy(a,b,c,d,e,f) +return s==null?B.a.j(a,b,c):s}, +fy(a,b,c,d,e,f){var s,r,q,p,o,n,m,l,k,j,i=null +for(s=!e,r=b,q=r,p=i;r>>4]&1<<(o&15))!==0)++r +else{if(o===37){n=A.ev(a,r,!1) +if(n==null){r+=3 +continue}if("%"===n){n="%25" +m=1}else m=3}else if(o===92&&f){n="/" +m=1}else if(s&&o<=93&&(B.r[o>>>4]&1<<(o&15))!==0){A.aA(a,r,"Invalid character") +m=i +n=m}else{if((o&64512)===55296){l=r+1 +if(l=2&&A.fw(a.charCodeAt(0)))for(s=1;s127||(B.o[r>>>4]&1<<(r&15))===0)break}return a}, +iC(a,b){var s,r,q +for(s=0,r=0;r<2;++r){q=a.charCodeAt(b+r) +if(48<=q&&q<=57)s=s*16+q-48 +else{q|=32 +if(97<=q&&q<=102)s=s*16+q-87 +else throw A.a(A.a_("Invalid URL encoding",null))}}return s}, +ew(a,b,c,d,e){var s,r,q,p,o=b +while(!0){if(!(o127)throw A.a(A.a_("Illegal percent encoding in URI",null)) +if(r===37){if(o+3>q)throw A.a(A.a_("Truncated URI",null)) +p.push(A.iC(a,o+1)) +o+=2}else if(r===43)p.push(32) +else p.push(r)}}return B.ap.I(p)}, +fw(a){var s=a|32 +return 97<=s&&s<=122}, +ff(a,b,c){var s,r,q,p,o,n,m,l,k="Invalid MIME type",j=A.h([b-1],t.t) +for(s=a.length,r=b,q=-1,p=null;rb)throw A.a(A.z(k,a,r)) +for(;p!==44;){j.push(r);++r +for(o=-1;r=0)j.push(o) +else{n=B.b.ga_(j) +if(p!==44||r!==n+7||!B.a.v(a,"base64",n+1))throw A.a(A.z("Expecting '='",a,r)) +break}}j.push(r) +m=r+1 +if((j.length&1)===1)a=B.x.bP(a,m,s) +else{l=A.fy(a,m,s,B.f,!0,!1) +if(l!=null)a=B.a.J(a,m,s,l)}return new A.cW(a,j,c)}, +j_(){var s,r,q,p,o,n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",m=".",l=":",k="/",j="\\",i="?",h="#",g="/\\",f=J.eX(22,t.D) +for(s=0;s<22;++s)f[s]=new Uint8Array(96) +r=new A.dP(f) +q=new A.dQ() +p=new A.dR() +o=r.$2(0,225) +q.$3(o,n,1) +q.$3(o,m,14) +q.$3(o,l,34) +q.$3(o,k,3) +q.$3(o,j,227) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(14,225) +q.$3(o,n,1) +q.$3(o,m,15) +q.$3(o,l,34) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(15,225) +q.$3(o,n,1) +q.$3(o,"%",225) +q.$3(o,l,34) +q.$3(o,k,9) +q.$3(o,j,233) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(1,225) +q.$3(o,n,1) +q.$3(o,l,34) +q.$3(o,k,10) +q.$3(o,j,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(2,235) +q.$3(o,n,139) +q.$3(o,k,131) +q.$3(o,j,131) +q.$3(o,m,146) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(3,235) +q.$3(o,n,11) +q.$3(o,k,68) +q.$3(o,j,68) +q.$3(o,m,18) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(4,229) +q.$3(o,n,5) +p.$3(o,"AZ",229) +q.$3(o,l,102) +q.$3(o,"@",68) +q.$3(o,"[",232) +q.$3(o,k,138) +q.$3(o,j,138) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(5,229) +q.$3(o,n,5) +p.$3(o,"AZ",229) +q.$3(o,l,102) +q.$3(o,"@",68) +q.$3(o,k,138) +q.$3(o,j,138) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(6,231) +p.$3(o,"19",7) +q.$3(o,"@",68) +q.$3(o,k,138) +q.$3(o,j,138) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(7,231) +p.$3(o,"09",7) +q.$3(o,"@",68) +q.$3(o,k,138) +q.$3(o,j,138) +q.$3(o,i,172) +q.$3(o,h,205) +q.$3(r.$2(8,8),"]",5) +o=r.$2(9,235) +q.$3(o,n,11) +q.$3(o,m,16) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(16,235) +q.$3(o,n,11) +q.$3(o,m,17) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(17,235) +q.$3(o,n,11) +q.$3(o,k,9) +q.$3(o,j,233) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(10,235) +q.$3(o,n,11) +q.$3(o,m,18) +q.$3(o,k,10) +q.$3(o,j,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(18,235) +q.$3(o,n,11) +q.$3(o,m,19) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(19,235) +q.$3(o,n,11) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(11,235) +q.$3(o,n,11) +q.$3(o,k,10) +q.$3(o,j,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(12,236) +q.$3(o,n,12) +q.$3(o,i,12) +q.$3(o,h,205) +o=r.$2(13,237) +q.$3(o,n,13) +q.$3(o,i,13) +p.$3(r.$2(20,245),"az",21) +o=r.$2(21,245) +p.$3(o,"az",21) +p.$3(o,"09",21) +q.$3(o,"+-.",21) +return f}, +fV(a,b,c,d,e){var s,r,q,p,o=$.hq() +for(s=b;s95?31:q] +d=p&31 +e[p>>>5]=s}return d}, +cM:function cM(a,b){this.a=a +this.b=b}, +dD:function dD(a){this.a=a}, +d8:function d8(){}, +k:function k(){}, +bx:function bx(a){this.a=a}, +R:function R(){}, +G:function G(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +b2:function b2(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.a=c +_.b=d +_.c=e +_.d=f}, +bF:function bF(a,b,c,d,e){var _=this +_.f=a +_.a=b +_.b=c +_.c=d +_.d=e}, +bV:function bV(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +c2:function c2(a){this.a=a}, +c_:function c_(a){this.a=a}, +b5:function b5(a){this.a=a}, +bD:function bD(a){this.a=a}, +bW:function bW(){}, +b4:function b4(){}, +d9:function d9(a){this.a=a}, +cw:function cw(a,b,c){this.a=a +this.b=b +this.c=c}, +n:function n(){}, +u:function u(){}, +l:function l(){}, +cj:function cj(){}, +y:function y(a){this.a=a}, +d_:function d_(a){this.a=a}, +cX:function cX(a){this.a=a}, +cY:function cY(a){this.a=a}, +cZ:function cZ(a,b){this.a=a +this.b=b}, +bn:function bn(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.z=_.y=_.w=$}, +dC:function dC(a,b){this.a=a +this.b=b}, +dB:function dB(a){this.a=a}, +cW:function cW(a,b,c){this.a=a +this.b=b +this.c=c}, +dP:function dP(a){this.a=a}, +dQ:function dQ(){}, +dR:function dR(){}, +ch:function ch(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=null}, +c9:function c9(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.z=_.y=_.w=$}, +iY(a){var s,r=a.$dart_jsFunction +if(r!=null)return r +s=function(b,c){return function(){return b(c,Array.prototype.slice.apply(arguments))}}(A.iW,a) +s[$.eK()]=a +a.$dart_jsFunction=s +return s}, +iW(a,b){return A.i1(a,b,null)}, +ab(a){if(typeof a=="function")return a +else return A.iY(a)}, +eb(a,b){var s=new A.v($.r,b.i("v<0>")),r=new A.b7(s,b.i("b7<0>")) +a.then(A.aF(new A.ec(r),1),A.aF(new A.ed(r),1)) +return s}, +ec:function ec(a){this.a=a}, +ed:function ed(a){this.a=a}, +cN:function cN(a){this.a=a}, +m:function m(a,b){this.a=a +this.b=b}, +hL(a){var s,r,q,p,o,n,m,l,k="enclosedBy" +if(a.k(0,k)!=null){s=t.a.a(a.k(0,k)) +r=new A.cu(A.fG(s.k(0,"name")),B.q[A.fE(s.k(0,"kind"))],A.fG(s.k(0,"href")))}else r=null +q=a.k(0,"name") +p=a.k(0,"qualifiedName") +o=A.fF(a.k(0,"packageRank")) +if(o==null)o=0 +n=a.k(0,"href") +m=B.q[A.fE(a.k(0,"kind"))] +l=A.fF(a.k(0,"overriddenDepth")) +if(l==null)l=0 +return new A.w(q,p,o,m,n,l,a.k(0,"desc"),r)}, +A:function A(a,b){this.a=a +this.b=b}, +cz:function cz(a){this.a=a}, +cC:function cC(a,b){this.a=a +this.b=b}, +cA:function cA(){}, +cB:function cB(){}, +w:function w(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +cu:function cu(a,b,c){this.a=a +this.b=b +this.c=c}, +jN(){var s=self,r=s.document.getElementById("search-box"),q=s.document.getElementById("search-body"),p=s.document.getElementById("search-sidebar") +A.eb(s.window.fetch($.bw()+"index.json"),t.m).ar(new A.e5(new A.e6(r,q,p),r,q,p),t.P)}, +eo(a){var s=A.h([],t.O),r=A.h([],t.M) +return new A.ds(a,A.c4(self.window.location.href),s,r)}, +iZ(a,b){var s,r,q,p,o,n,m,l,k=self,j=k.document.createElement("div"),i=b.e +if(i==null)i="" +j.setAttribute("data-href",i) +j.classList.add("tt-suggestion") +s=k.document.createElement("span") +s.classList.add("tt-suggestion-title") +s.innerHTML=A.ex(b.a+" "+b.d.h(0).toLowerCase(),a) +j.appendChild(s) +r=b.w +i=r!=null +if(i){q=k.document.createElement("span") +q.classList.add("tt-suggestion-container") +q.innerHTML="(in "+A.ex(r.a,a)+")" +j.appendChild(q)}p=b.r +if(p!=null&&p.length!==0){o=k.document.createElement("blockquote") +o.classList.add("one-line-description") +q=k.document.createElement("textarea") +q.innerHTML=p +o.setAttribute("title",q.value) +o.innerHTML=A.ex(p,a) +j.appendChild(o)}q=t.g +j.addEventListener("mousedown",q.a(A.ab(new A.dN()))) +j.addEventListener("click",q.a(A.ab(new A.dO(b)))) +if(i){i=r.a +q=r.b.h(0) +n=r.c +m=k.document.createElement("div") +m.classList.add("tt-container") +l=k.document.createElement("p") +l.textContent="Results from " +l.classList.add("tt-container-text") +k=k.document.createElement("a") +k.setAttribute("href",n) +k.innerHTML=i+" "+q +l.appendChild(k) +m.appendChild(l) +A.jm(m,j)}return j}, +jm(a,b){var s,r=a.innerHTML +if(r.length===0)return +s=$.bq.k(0,r) +if(s!=null)s.appendChild(b) +else{a.appendChild(b) +$.bq.q(0,r,a)}}, +ex(a,b){return A.k3(a,A.f6(b,!1),new A.dS(),null)}, +dT:function dT(){}, +e6:function e6(a,b,c){this.a=a +this.b=b +this.c=c}, +e5:function e5(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +ds:function ds(a,b,c,d){var _=this +_.a=a +_.b=b +_.e=_.d=_.c=$ +_.f=null +_.r="" +_.w=c +_.x=d +_.y=-1}, +dt:function dt(a){this.a=a}, +du:function du(a,b){this.a=a +this.b=b}, +dv:function dv(a,b){this.a=a +this.b=b}, +dw:function dw(a,b){this.a=a +this.b=b}, +dx:function dx(a,b){this.a=a +this.b=b}, +dN:function dN(){}, +dO:function dO(a){this.a=a}, +dS:function dS(){}, +j6(){var s=self,r=s.document.getElementById("sidenav-left-toggle"),q=s.document.querySelector(".sidebar-offcanvas-left"),p=s.document.getElementById("overlay-under-drawer"),o=t.g.a(A.ab(new A.dU(q,p))) +if(p!=null)p.addEventListener("click",o) +if(r!=null)r.addEventListener("click",o)}, +j5(){var s,r,q,p,o=self,n=o.document.body +if(n==null)return +s=n.getAttribute("data-using-base-href") +if(s==null)return +if(s!=="true"){r=n.getAttribute("data-base-href") +if(r==null)return +q=r}else q="" +p=o.document.getElementById("dartdoc-main-content") +if(p==null)return +A.fR(q,p.getAttribute("data-above-sidebar"),o.document.getElementById("dartdoc-sidebar-left-content")) +A.fR(q,p.getAttribute("data-below-sidebar"),o.document.getElementById("dartdoc-sidebar-right"))}, +fR(a,b,c){if(b==null||b.length===0||c==null)return +A.eb(self.window.fetch(a+A.i(b)),t.m).ar(new A.dV(c,a),t.P)}, +fY(a,b){var s,r,q,p +if(b.nodeName.toLowerCase()==="a"){s=b.getAttribute("href") +if(s!=null)if(!A.c4(s).gaX())b.href=a+s}r=b.childNodes +for(q=0;q").A(b).i("M<1,2>"))}, +ad(a,b){if(!!a.fixed$length)A.aH(A.T("add")) +a.push(b)}, +aI(a,b){var s +if(!!a.fixed$length)A.aH(A.T("addAll")) +if(Array.isArray(b)){this.bg(a,b) +return}for(s=J.L(b);s.m();)a.push(s.gp())}, +bg(a,b){var s,r=b.length +if(r===0)return +if(a===b)throw A.a(A.as(a)) +for(s=0;ss)throw A.a(A.H(b,0,s,"start",null)) +if(cs)throw A.a(A.H(c,b,s,"end",null)) +if(b===c)return A.h([],A.am(a)) +return A.h(a.slice(b,c),A.am(a))}, +gbF(a){if(a.length>0)return a[0] +throw A.a(A.eV())}, +ga_(a){var s=a.length +if(s>0)return a[s-1] +throw A.a(A.eV())}, +bc(a,b){var s,r,q,p,o +if(!!a.immutable$list)A.aH(A.T("sort")) +s=a.length +if(s<2)return +if(b==null)b=J.ja() +if(s===2){r=a[0] +q=a[1] +if(b.$2(r,q)>0){a[0]=q +a[1]=r}return}if(A.am(a).c.b(null)){for(p=0,o=0;o0)this.bt(a,p)}, +bt(a,b){var s,r=a.length +for(;s=r-1,r>0;r=s)if(a[s]===null){a[s]=void 0;--b +if(b===0)break}}, +h(a){return A.eW(a,"[","]")}, +gB(a){return new J.ar(a,a.length,A.am(a).i("ar<1>"))}, +gn(a){return A.bY(a)}, +gl(a){return a.length}, +k(a,b){if(!(b>=0&&b=0&&b=p){r.d=null +return!1}r.d=q[s] +r.c=s+1 +return!0}} +J.aR.prototype={ +aL(a,b){var s +if(ab)return 1 +else if(a===b){if(a===0){s=this.gam(b) +if(this.gam(a)===s)return 0 +if(this.gam(a))return-1 +return 1}return 0}else if(isNaN(a)){if(isNaN(b))return 0 +return 1}else return-1}, +gam(a){return a===0?1/a<0:a<0}, +h(a){if(a===0&&1/a<0)return"-0.0" +else return""+a}, +gn(a){var s,r,q,p,o=a|0 +if(a===o)return o&536870911 +s=Math.abs(a) +r=Math.log(s)/0.6931471805599453|0 +q=Math.pow(2,r) +p=s<1?s/q:q/s +return((p*9007199254740992|0)+(p*3542243181176521|0))*599197+r*1259&536870911}, +a1(a,b){var s=a%b +if(s===0)return 0 +if(s>0)return s +return s+b}, +bw(a,b){return(a|0)===a?a/b|0:this.bx(a,b)}, +bx(a,b){var s=a/b +if(s>=-2147483648&&s<=2147483647)return s|0 +if(s>0){if(s!==1/0)return Math.floor(s)}else if(s>-1/0)return Math.ceil(s) +throw A.a(A.T("Result of truncating division is "+A.i(s)+": "+A.i(a)+" ~/ "+b))}, +V(a,b){var s +if(a>0)s=this.aF(a,b) +else{s=b>31?31:b +s=a>>s>>>0}return s}, +bv(a,b){if(0>b)throw A.a(A.jz(b)) +return this.aF(a,b)}, +aF(a,b){return b>31?0:a>>>b}, +gt(a){return A.an(t.H)}, +$it:1} +J.aP.prototype={ +gt(a){return A.an(t.S)}, +$ij:1, +$ib:1} +J.bI.prototype={ +gt(a){return A.an(t.i)}, +$ij:1} +J.ai.prototype={ +b6(a,b){return a+b}, +J(a,b,c,d){var s=A.b3(b,c,a.length) +return a.substring(0,b)+d+a.substring(s)}, +v(a,b,c){var s +if(c<0||c>a.length)throw A.a(A.H(c,0,a.length,null,null)) +s=c+b.length +if(s>a.length)return!1 +return b===a.substring(c,s)}, +u(a,b){return this.v(a,b,0)}, +j(a,b,c){return a.substring(b,A.b3(b,c,a.length))}, +K(a,b){return this.j(a,b,null)}, +b9(a,b){var s,r +if(0>=b)return"" +if(b===1||a.length===0)return a +if(b!==b>>>0)throw A.a(B.F) +for(s=a,r="";!0;){if((b&1)===1)r=s+r +b=b>>>1 +if(b===0)break +s+=s}return r}, +Z(a,b,c){var s +if(c<0||c>a.length)throw A.a(A.H(c,0,a.length,null,null)) +s=a.indexOf(b,c) +return s}, +aU(a,b){return this.Z(a,b,0)}, +ag(a,b){return A.k2(a,b,0)}, +aL(a,b){var s +if(a===b)s=0 +else s=a>6}r=r+((r&67108863)<<3)&536870911 +r^=r>>11 +return r+((r&16383)<<15)&536870911}, +gt(a){return A.an(t.N)}, +gl(a){return a.length}, +$ij:1, +$id:1} +A.a8.prototype={ +gB(a){var s=A.E(this) +return new A.bA(J.L(this.gN()),s.i("@<1>").A(s.y[1]).i("bA<1,2>"))}, +gl(a){return J.aI(this.gN())}, +E(a,b){return A.E(this).y[1].a(J.ef(this.gN(),b))}, +h(a){return J.aq(this.gN())}} +A.bA.prototype={ +m(){return this.a.m()}, +gp(){return this.$ti.y[1].a(this.a.gp())}} +A.af.prototype={ +gN(){return this.a}} +A.b9.prototype={$ic:1} +A.b8.prototype={ +k(a,b){return this.$ti.y[1].a(J.hr(this.a,b))}, +q(a,b,c){J.hs(this.a,b,this.$ti.c.a(c))}, +$ic:1, +$if:1} +A.M.prototype={ +X(a,b){return new A.M(this.a,this.$ti.i("@<1>").A(b).i("M<1,2>"))}, +gN(){return this.a}} +A.aV.prototype={ +h(a){return"LateInitializationError: "+this.a}} +A.bB.prototype={ +gl(a){return this.a.length}, +k(a,b){return this.a.charCodeAt(b)}} +A.cR.prototype={} +A.c.prototype={} +A.J.prototype={ +gB(a){var s=this +return new A.au(s,s.gl(s),A.E(s).i("au"))}} +A.au.prototype={ +gp(){var s=this.d +return s==null?this.$ti.c.a(s):s}, +m(){var s,r=this,q=r.a,p=J.ao(q),o=p.gl(q) +if(r.b!==o)throw A.a(A.as(q)) +s=r.c +if(s>=o){r.d=null +return!1}r.d=p.E(q,s);++r.c +return!0}} +A.aj.prototype={ +gB(a){var s=A.E(this) +return new A.av(J.L(this.a),this.b,s.i("@<1>").A(s.y[1]).i("av<1,2>"))}, +gl(a){return J.aI(this.a)}, +E(a,b){return this.b.$1(J.ef(this.a,b))}} +A.aM.prototype={$ic:1} +A.av.prototype={ +m(){var s=this,r=s.b +if(r.m()){s.a=s.c.$1(r.gp()) +return!0}s.a=null +return!1}, +gp(){var s=this.a +return s==null?this.$ti.y[1].a(s):s}} +A.ak.prototype={ +gl(a){return J.aI(this.a)}, +E(a,b){return this.b.$1(J.ef(this.a,b))}} +A.aO.prototype={} +A.c1.prototype={ +q(a,b,c){throw A.a(A.T("Cannot modify an unmodifiable list"))}} +A.ay.prototype={} +A.a5.prototype={ +gn(a){var s=this._hashCode +if(s!=null)return s +s=664597*B.a.gn(this.a)&536870911 +this._hashCode=s +return s}, +h(a){return'Symbol("'+this.a+'")'}, +F(a,b){if(b==null)return!1 +return b instanceof A.a5&&this.a===b.a}, +$ib6:1} +A.bp.prototype={} +A.cg.prototype={$r:"+item,matchPosition(1,2)",$s:1} +A.aL.prototype={} +A.aK.prototype={ +h(a){return A.ek(this)}, +q(a,b,c){A.hG()}, +$ix:1} +A.ah.prototype={ +gl(a){return this.b.length}, +gbq(){var s=this.$keys +if(s==null){s=Object.keys(this.a) +this.$keys=s}return s}, +H(a){if("__proto__"===a)return!1 +return this.a.hasOwnProperty(a)}, +k(a,b){if(!this.H(b))return null +return this.b[this.a[b]]}, +C(a,b){var s,r,q=this.gbq(),p=this.b +for(s=q.length,r=0;r>>0}, +h(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.cQ(this.a)+"'")}} +A.c8.prototype={ +h(a){return"Reading static variable '"+this.a+"' during its initialization"}} +A.bZ.prototype={ +h(a){return"RuntimeError: "+this.a}} +A.dp.prototype={} +A.N.prototype={ +gl(a){return this.a}, +gO(){return new A.O(this,A.E(this).i("O<1>"))}, +gb5(){var s=A.E(this) +return A.hW(new A.O(this,s.i("O<1>")),new A.cG(this),s.c,s.y[1])}, +H(a){var s=this.b +if(s==null)return!1 +return s[a]!=null}, +k(a,b){var s,r,q,p,o=null +if(typeof b=="string"){s=this.b +if(s==null)return o +r=s[b] +q=r==null?o:r.b +return q}else if(typeof b=="number"&&(b&0x3fffffff)===b){p=this.c +if(p==null)return o +r=p[b] +q=r==null?o:r.b +return q}else return this.bL(b)}, +bL(a){var s,r,q=this.d +if(q==null)return null +s=q[this.aV(a)] +r=this.aW(s,a) +if(r<0)return null +return s[r].b}, +q(a,b,c){var s,r,q,p,o,n,m=this +if(typeof b=="string"){s=m.b +m.av(s==null?m.b=m.a8():s,b,c)}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=m.c +m.av(r==null?m.c=m.a8():r,b,c)}else{q=m.d +if(q==null)q=m.d=m.a8() +p=m.aV(b) +o=q[p] +if(o==null)q[p]=[m.a9(b,c)] +else{n=m.aW(o,b) +if(n>=0)o[n].b=c +else o.push(m.a9(b,c))}}}, +Y(a){var s=this +if(s.a>0){s.b=s.c=s.d=s.e=s.f=null +s.a=0 +s.aC()}}, +C(a,b){var s=this,r=s.e,q=s.r +for(;r!=null;){b.$2(r.a,r.b) +if(q!==s.r)throw A.a(A.as(s)) +r=r.c}}, +av(a,b,c){var s=a[b] +if(s==null)a[b]=this.a9(b,c) +else s.b=c}, +aC(){this.r=this.r+1&1073741823}, +a9(a,b){var s=this,r=new A.cJ(a,b) +if(s.e==null)s.e=s.f=r +else s.f=s.f.c=r;++s.a +s.aC() +return r}, +aV(a){return J.Z(a)&1073741823}, +aW(a,b){var s,r +if(a==null)return-1 +s=a.length +for(r=0;r"]=s +delete s[""] +return s}} +A.cG.prototype={ +$1(a){var s=this.a,r=s.k(0,a) +return r==null?A.E(s).y[1].a(r):r}, +$S(){return A.E(this.a).i("2(1)")}} +A.cJ.prototype={} +A.O.prototype={ +gl(a){return this.a.a}, +gB(a){var s=this.a,r=new A.bK(s,s.r) +r.c=s.e +return r}} +A.bK.prototype={ +gp(){return this.d}, +m(){var s,r=this,q=r.a +if(r.b!==q.r)throw A.a(A.as(q)) +s=r.c +if(s==null){r.d=null +return!1}else{r.d=s.a +r.c=s.c +return!0}}} +A.e1.prototype={ +$1(a){return this.a(a)}, +$S:10} +A.e2.prototype={ +$2(a,b){return this.a(a,b)}, +$S:11} +A.e3.prototype={ +$1(a){return this.a(a)}, +$S:12} +A.bf.prototype={ +h(a){return this.aH(!1)}, +aH(a){var s,r,q,p,o,n=this.bo(),m=this.aB(),l=(a?""+"Record ":"")+"(" +for(s=n.length,r="",q=0;q0;){--q;--s +j[q]=r[s]}}return J.eY(A.hV(j,!1,k))}} +A.cf.prototype={ +aB(){return[this.a,this.b]}, +F(a,b){if(b==null)return!1 +return b instanceof A.cf&&this.$s===b.$s&&J.F(this.a,b.a)&&J.F(this.b,b.b)}, +gn(a){return A.hZ(this.$s,this.a,this.b,B.i)}} +A.cE.prototype={ +h(a){return"RegExp/"+this.a+"/"+this.b.flags}, +gbr(){var s=this,r=s.c +if(r!=null)return r +r=s.b +return s.c=A.eZ(s.a,r.multiline,!r.ignoreCase,r.unicode,r.dotAll,!0)}, +bn(a,b){var s,r=this.gbr() +r.lastIndex=b +s=r.exec(a) +if(s==null)return null +return new A.ce(s)}} +A.ce.prototype={ +gbD(){var s=this.b +return s.index+s[0].length}, +k(a,b){return this.b[b]}, +$icL:1, +$iel:1} +A.d3.prototype={ +gp(){var s=this.d +return s==null?t.F.a(s):s}, +m(){var s,r,q,p,o,n=this,m=n.b +if(m==null)return!1 +s=n.c +r=m.length +if(s<=r){q=n.a +p=q.bn(m,s) +if(p!=null){n.d=p +o=p.gbD() +if(p.b.index===o){if(q.b.unicode){s=n.c +q=s+1 +if(q=55296&&s<=56319){s=m.charCodeAt(q) +s=s>=56320&&s<=57343}else s=!1}else s=!1}else s=!1 +o=(s?o+1:o)+1}n.c=o +return!0}}n.b=n.d=null +return!1}} +A.bM.prototype={ +gt(a){return B.ad}, +$ij:1} +A.aZ.prototype={} +A.bN.prototype={ +gt(a){return B.ae}, +$ij:1} +A.aw.prototype={ +gl(a){return a.length}, +$iD:1} +A.aX.prototype={ +k(a,b){A.V(b,a,a.length) +return a[b]}, +q(a,b,c){A.V(b,a,a.length) +a[b]=c}, +$ic:1, +$if:1} +A.aY.prototype={ +q(a,b,c){A.V(b,a,a.length) +a[b]=c}, +$ic:1, +$if:1} +A.bO.prototype={ +gt(a){return B.af}, +$ij:1} +A.bP.prototype={ +gt(a){return B.ag}, +$ij:1} +A.bQ.prototype={ +gt(a){return B.ah}, +k(a,b){A.V(b,a,a.length) +return a[b]}, +$ij:1} +A.bR.prototype={ +gt(a){return B.ai}, +k(a,b){A.V(b,a,a.length) +return a[b]}, +$ij:1} +A.bS.prototype={ +gt(a){return B.aj}, +k(a,b){A.V(b,a,a.length) +return a[b]}, +$ij:1} +A.bT.prototype={ +gt(a){return B.al}, +k(a,b){A.V(b,a,a.length) +return a[b]}, +$ij:1} +A.bU.prototype={ +gt(a){return B.am}, +k(a,b){A.V(b,a,a.length) +return a[b]}, +$ij:1} +A.b_.prototype={ +gt(a){return B.an}, +gl(a){return a.length}, +k(a,b){A.V(b,a,a.length) +return a[b]}, +$ij:1} +A.b0.prototype={ +gt(a){return B.ao}, +gl(a){return a.length}, +k(a,b){A.V(b,a,a.length) +return a[b]}, +$ij:1, +$ial:1} +A.bb.prototype={} +A.bc.prototype={} +A.bd.prototype={} +A.be.prototype={} +A.I.prototype={ +i(a){return A.bl(v.typeUniverse,this,a)}, +A(a){return A.ft(v.typeUniverse,this,a)}} +A.cb.prototype={} +A.dA.prototype={ +h(a){return A.C(this.a,null)}} +A.ca.prototype={ +h(a){return this.a}} +A.bh.prototype={$iR:1} +A.d5.prototype={ +$1(a){var s=this.a,r=s.a +s.a=null +r.$0()}, +$S:5} +A.d4.prototype={ +$1(a){var s,r +this.a.a=a +s=this.b +r=this.c +s.firstChild?s.removeChild(r):s.appendChild(r)}, +$S:13} +A.d6.prototype={ +$0(){this.a.$0()}, +$S:6} +A.d7.prototype={ +$0(){this.a.$0()}, +$S:6} +A.dy.prototype={ +bf(a,b){if(self.setTimeout!=null)self.setTimeout(A.aF(new A.dz(this,b),0),a) +else throw A.a(A.T("`setTimeout()` not found."))}} +A.dz.prototype={ +$0(){this.b.$0()}, +$S:0} +A.c5.prototype={ +ae(a){var s,r=this +if(a==null)a=r.$ti.c.a(a) +if(!r.b)r.a.aw(a) +else{s=r.a +if(r.$ti.i("a0<1>").b(a))s.az(a) +else s.a4(a)}}, +af(a,b){var s=this.a +if(this.b)s.L(a,b) +else s.S(a,b)}} +A.dK.prototype={ +$1(a){return this.a.$2(0,a)}, +$S:3} +A.dL.prototype={ +$2(a,b){this.a.$2(1,new A.aN(a,b))}, +$S:14} +A.dY.prototype={ +$2(a,b){this.a(a,b)}, +$S:15} +A.bz.prototype={ +h(a){return A.i(this.a)}, +$ik:1, +gR(){return this.b}} +A.c7.prototype={ +af(a,b){var s +A.cn(a,"error",t.K) +s=this.a +if((s.a&30)!==0)throw A.a(A.fa("Future already completed")) +if(b==null)b=A.eN(a) +s.S(a,b)}, +aM(a){return this.af(a,null)}} +A.b7.prototype={ +ae(a){var s=this.a +if((s.a&30)!==0)throw A.a(A.fa("Future already completed")) +s.aw(a)}} +A.az.prototype={ +bM(a){if((this.c&15)!==6)return!0 +return this.b.b.aq(this.d,a.a)}, +bI(a){var s,r=this.e,q=null,p=a.a,o=this.b.b +if(t.C.b(r))q=o.bU(r,p,a.b) +else q=o.aq(r,p) +try{p=q +return p}catch(s){if(t.c.b(A.ae(s))){if((this.c&1)!==0)throw A.a(A.a_("The error handler of Future.then must return a value of the returned future's type","onError")) +throw A.a(A.a_("The error handler of Future.catchError must return a value of the future's type","onError"))}else throw s}}} +A.v.prototype={ +aE(a){this.a=this.a&1|4 +this.c=a}, +au(a,b,c){var s,r,q=$.r +if(q===B.d){if(b!=null&&!t.C.b(b)&&!t.v.b(b))throw A.a(A.eM(b,"onError",u.c))}else if(b!=null)b=A.jq(b,q) +s=new A.v(q,c.i("v<0>")) +r=b==null?1:3 +this.a3(new A.az(s,r,a,b,this.$ti.i("@<1>").A(c).i("az<1,2>"))) +return s}, +ar(a,b){return this.au(a,null,b)}, +aG(a,b,c){var s=new A.v($.r,c.i("v<0>")) +this.a3(new A.az(s,19,a,b,this.$ti.i("@<1>").A(c).i("az<1,2>"))) +return s}, +bu(a){this.a=this.a&1|16 +this.c=a}, +T(a){this.a=a.a&30|this.a&1 +this.c=a.c}, +a3(a){var s=this,r=s.a +if(r<=3){a.a=s.c +s.c=a}else{if((r&4)!==0){r=s.c +if((r.a&24)===0){r.a3(a) +return}s.T(r)}A.aC(null,null,s.b,new A.da(s,a))}}, +aa(a){var s,r,q,p,o,n=this,m={} +m.a=a +if(a==null)return +s=n.a +if(s<=3){r=n.c +n.c=a +if(r!=null){q=a.a +for(p=a;q!=null;p=q,q=o)o=q.a +p.a=r}}else{if((s&4)!==0){s=n.c +if((s.a&24)===0){s.aa(a) +return}n.T(s)}m.a=n.U(a) +A.aC(null,null,n.b,new A.dh(m,n))}}, +ab(){var s=this.c +this.c=null +return this.U(s)}, +U(a){var s,r,q +for(s=a,r=null;s!=null;r=s,s=q){q=s.a +s.a=r}return r}, +bi(a){var s,r,q,p=this +p.a^=2 +try{a.au(new A.de(p),new A.df(p),t.P)}catch(q){s=A.ae(q) +r=A.ac(q) +A.k0(new A.dg(p,s,r))}}, +a4(a){var s=this,r=s.ab() +s.a=8 +s.c=a +A.ba(s,r)}, +L(a,b){var s=this.ab() +this.bu(A.cp(a,b)) +A.ba(this,s)}, +aw(a){if(this.$ti.i("a0<1>").b(a)){this.az(a) +return}this.bh(a)}, +bh(a){this.a^=2 +A.aC(null,null,this.b,new A.dc(this,a))}, +az(a){if(this.$ti.b(a)){A.ig(a,this) +return}this.bi(a)}, +S(a,b){this.a^=2 +A.aC(null,null,this.b,new A.db(this,a,b))}, +$ia0:1} +A.da.prototype={ +$0(){A.ba(this.a,this.b)}, +$S:0} +A.dh.prototype={ +$0(){A.ba(this.b,this.a.a)}, +$S:0} +A.de.prototype={ +$1(a){var s,r,q,p=this.a +p.a^=2 +try{p.a4(p.$ti.c.a(a))}catch(q){s=A.ae(q) +r=A.ac(q) +p.L(s,r)}}, +$S:5} +A.df.prototype={ +$2(a,b){this.a.L(a,b)}, +$S:16} +A.dg.prototype={ +$0(){this.a.L(this.b,this.c)}, +$S:0} +A.dd.prototype={ +$0(){A.fj(this.a.a,this.b)}, +$S:0} +A.dc.prototype={ +$0(){this.a.a4(this.b)}, +$S:0} +A.db.prototype={ +$0(){this.a.L(this.b,this.c)}, +$S:0} +A.dk.prototype={ +$0(){var s,r,q,p,o,n,m=this,l=null +try{q=m.a.a +l=q.b.b.bS(q.d)}catch(p){s=A.ae(p) +r=A.ac(p) +q=m.c&&m.b.a.c.a===s +o=m.a +if(q)o.c=m.b.a.c +else o.c=A.cp(s,r) +o.b=!0 +return}if(l instanceof A.v&&(l.a&24)!==0){if((l.a&16)!==0){q=m.a +q.c=l.c +q.b=!0}return}if(l instanceof A.v){n=m.b.a +q=m.a +q.c=l.ar(new A.dl(n),t.z) +q.b=!1}}, +$S:0} +A.dl.prototype={ +$1(a){return this.a}, +$S:17} +A.dj.prototype={ +$0(){var s,r,q,p,o +try{q=this.a +p=q.a +q.c=p.b.b.aq(p.d,this.b)}catch(o){s=A.ae(o) +r=A.ac(o) +q=this.a +q.c=A.cp(s,r) +q.b=!0}}, +$S:0} +A.di.prototype={ +$0(){var s,r,q,p,o,n,m=this +try{s=m.a.a.c +p=m.b +if(p.a.bM(s)&&p.a.e!=null){p.c=p.a.bI(s) +p.b=!1}}catch(o){r=A.ae(o) +q=A.ac(o) +p=m.a.a.c +n=m.b +if(p.a===r)n.c=p +else n.c=A.cp(r,q) +n.b=!0}}, +$S:0} +A.c6.prototype={} +A.ci.prototype={} +A.dJ.prototype={} +A.dW.prototype={ +$0(){A.hI(this.a,this.b)}, +$S:0} +A.dq.prototype={ +bW(a){var s,r,q +try{if(B.d===$.r){a.$0() +return}A.fT(null,null,this,a)}catch(q){s=A.ae(q) +r=A.ac(q) +A.eB(s,r)}}, +aJ(a){return new A.dr(this,a)}, +bT(a){if($.r===B.d)return a.$0() +return A.fT(null,null,this,a)}, +bS(a){return this.bT(a,t.z)}, +bX(a,b){if($.r===B.d)return a.$1(b) +return A.js(null,null,this,a,b)}, +aq(a,b){var s=t.z +return this.bX(a,b,s,s)}, +bV(a,b,c){if($.r===B.d)return a.$2(b,c) +return A.jr(null,null,this,a,b,c)}, +bU(a,b,c){var s=t.z +return this.bV(a,b,c,s,s,s)}, +bR(a){return a}, +b1(a){var s=t.z +return this.bR(a,s,s,s)}} +A.dr.prototype={ +$0(){return this.a.bW(this.b)}, +$S:0} +A.e.prototype={ +gB(a){return new A.au(a,this.gl(a),A.aG(a).i("au"))}, +E(a,b){return this.k(a,b)}, +X(a,b){return new A.M(a,A.aG(a).i("@").A(b).i("M<1,2>"))}, +bE(a,b,c,d){var s +A.b3(b,c,this.gl(a)) +for(s=b;s"))}return new A.cd(this)}, +q(a,b,c){var s,r,q=this +if(q.b==null)q.c.q(0,b,c) +else if(q.H(b)){s=q.b +s[b]=c +r=q.a +if(r==null?s!=null:r!==s)r[b]=null}else q.by().q(0,b,c)}, +H(a){if(this.b==null)return this.c.H(a) +return Object.prototype.hasOwnProperty.call(this.a,a)}, +C(a,b){var s,r,q,p,o=this +if(o.b==null)return o.c.C(0,b) +s=o.M() +for(r=0;r"))}return s}} +A.dG.prototype={ +$0(){var s,r +try{s=new TextDecoder("utf-8",{fatal:true}) +return s}catch(r){}return null}, +$S:7} +A.dF.prototype={ +$0(){var s,r +try{s=new TextDecoder("utf-8",{fatal:false}) +return s}catch(r){}return null}, +$S:7} +A.cq.prototype={ +bP(a0,a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a="Invalid base64 encoding length " +a2=A.b3(a1,a2,a0.length) +s=$.hk() +for(r=a1,q=r,p=null,o=-1,n=-1,m=0;r=0){g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(f) +if(g===k)continue +k=g}else{if(f===-1){if(o<0){e=p==null?null:p.a.length +if(e==null)e=0 +o=e+(r-q) +n=r}++m +if(k===61)continue}k=g}if(f!==-2){if(p==null){p=new A.y("") +e=p}else e=p +e.a+=B.a.j(a0,q,r) +d=A.Q(k) +e.a+=d +q=l +continue}}throw A.a(A.z("Invalid base64 data",a0,r))}if(p!=null){e=B.a.j(a0,q,a2) +e=p.a+=e +d=e.length +if(o>=0)A.eO(a0,n,a2,o,m,d) +else{c=B.c.a1(d-1,4)+1 +if(c===1)throw A.a(A.z(a,a0,a2)) +for(;c<4;){e+="=" +p.a=e;++c}}e=p.a +return B.a.J(a0,a1,a2,e.charCodeAt(0)==0?e:e)}b=a2-a1 +if(o>=0)A.eO(a0,n,a2,o,m,b) +else{c=B.c.a1(b,4) +if(c===1)throw A.a(A.z(a,a0,a2)) +if(c>1)a0=B.a.J(a0,a2,a2,c===2?"==":"=")}return a0}} +A.cr.prototype={} +A.bC.prototype={} +A.bE.prototype={} +A.cv.prototype={} +A.cy.prototype={ +h(a){return"unknown"}} +A.cx.prototype={ +I(a){var s=this.bl(a,0,a.length) +return s==null?a:s}, +bl(a,b,c){var s,r,q,p +for(s=b,r=null;s":q=">" +break +case"/":q="/" +break +default:q=null}if(q!=null){if(r==null)r=new A.y("") +if(s>b)r.a+=B.a.j(a,b,s) +r.a+=q +b=s+1}}if(r==null)return null +if(c>b){p=B.a.j(a,b,c) +r.a+=p}p=r.a +return p.charCodeAt(0)==0?p:p}} +A.cH.prototype={ +bA(a,b){var s=A.jo(a,this.gbC().a) +return s}, +gbC(){return B.L}} +A.cI.prototype={} +A.d0.prototype={} +A.d2.prototype={ +I(a){var s,r,q,p=A.b3(0,null,a.length) +if(p===0)return new Uint8Array(0) +s=p*3 +r=new Uint8Array(s) +q=new A.dH(r) +if(q.bp(a,0,p)!==p)q.ac() +return new Uint8Array(r.subarray(0,A.iX(0,q.b,s)))}} +A.dH.prototype={ +ac(){var s=this,r=s.c,q=s.b,p=s.b=q+1 +r[q]=239 +q=s.b=p+1 +r[p]=191 +s.b=q+1 +r[q]=189}, +bz(a,b){var s,r,q,p,o=this +if((b&64512)===56320){s=65536+((a&1023)<<10)|b&1023 +r=o.c +q=o.b +p=o.b=q+1 +r[q]=s>>>18|240 +q=o.b=p+1 +r[p]=s>>>12&63|128 +p=o.b=q+1 +r[q]=s>>>6&63|128 +o.b=p+1 +r[p]=s&63|128 +return!0}else{o.ac() +return!1}}, +bp(a,b,c){var s,r,q,p,o,n,m,l=this +if(b!==c&&(a.charCodeAt(c-1)&64512)===55296)--c +for(s=l.c,r=s.length,q=b;q=r)break +l.b=o+1 +s[o]=p}else{o=p&64512 +if(o===55296){if(l.b+4>r)break +n=q+1 +if(l.bz(p,a.charCodeAt(n)))q=n}else if(o===56320){if(l.b+3>r)break +l.ac()}else if(p<=2047){o=l.b +m=o+1 +if(m>=r)break +l.b=m +s[o]=p>>>6|192 +l.b=m+1 +s[m]=p&63|128}else{o=l.b +if(o+2>=r)break +m=l.b=o+1 +s[o]=p>>>12|224 +o=l.b=m+1 +s[m]=p>>>6&63|128 +l.b=o+1 +s[o]=p&63|128}}}return q}} +A.d1.prototype={ +I(a){return new A.dE(this.a).bm(a,0,null,!0)}} +A.dE.prototype={ +bm(a,b,c,d){var s,r,q,p,o,n,m=this,l=A.b3(b,c,J.aI(a)) +if(b===l)return"" +if(a instanceof Uint8Array){s=a +r=s +q=0}else{r=A.iQ(a,b,l) +l-=b +q=b +b=0}if(l-b>=15){p=m.a +o=A.iP(p,r,b,l) +if(o!=null){if(!p)return o +if(o.indexOf("\ufffd")<0)return o}}o=m.a5(r,b,l,!0) +p=m.b +if((p&1)!==0){n=A.iR(p) +m.b=0 +throw A.a(A.z(n,a,q+m.c))}return o}, +a5(a,b,c,d){var s,r,q=this +if(c-b>1000){s=B.c.bw(b+c,2) +r=q.a5(a,b,s,!1) +if((q.b&1)!==0)return r +return r+q.a5(a,s,c,d)}return q.bB(a,b,c,d)}, +bB(a,b,c,d){var s,r,q,p,o,n,m,l=this,k=65533,j=l.b,i=l.c,h=new A.y(""),g=b+1,f=a[b] +$label0$0:for(s=l.a;!0;){for(;!0;g=p){r="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE".charCodeAt(f)&31 +i=j<=32?f&61694>>>r:(f&63|i<<6)>>>0 +j=" \x000:XECCCCCN:lDb \x000:XECCCCCNvlDb \x000:XECCCCCN:lDb AAAAA\x00\x00\x00\x00\x00AAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA000\x800AAAAA\x00\x00\x00\x00 AAAAA".charCodeAt(j+r) +if(j===0){q=A.Q(i) +h.a+=q +if(g===c)break $label0$0 +break}else if((j&1)!==0){if(s)switch(j){case 69:case 67:q=A.Q(k) +h.a+=q +break +case 65:q=A.Q(k) +h.a+=q;--g +break +default:q=A.Q(k) +q=h.a+=q +h.a=q+A.Q(k) +break}else{l.b=j +l.c=g-1 +return""}j=0}if(g===c)break $label0$0 +p=g+1 +f=a[g]}p=g+1 +f=a[g] +if(f<128){while(!0){if(!(p=128){o=n-1 +p=n +break}p=n}if(o-g<20)for(m=g;m32)if(s){s=A.Q(k) +h.a+=s}else{l.b=77 +l.c=c +return""}l.b=j +l.c=i +s=h.a +return s.charCodeAt(0)==0?s:s}} +A.cM.prototype={ +$2(a,b){var s=this.b,r=this.a,q=s.a+=r.a +q+=a.a +s.a=q +s.a=q+": " +q=A.at(b) +s.a+=q +r.a=", "}, +$S:19} +A.dD.prototype={ +$2(a,b){var s,r +if(typeof b=="string")this.a.set(a,b) +else if(b==null)this.a.set(a,"") +else for(s=J.L(b),r=this.a;s.m();){b=s.gp() +if(typeof b=="string")r.append(a,b) +else if(b==null)r.append(a,"") +else A.iT(b)}}, +$S:2} +A.d8.prototype={ +h(a){return this.aA()}} +A.k.prototype={ +gR(){return A.i2(this)}} +A.bx.prototype={ +h(a){var s=this.a +if(s!=null)return"Assertion failed: "+A.at(s) +return"Assertion failed"}} +A.R.prototype={} +A.G.prototype={ +ga7(){return"Invalid argument"+(!this.a?"(s)":"")}, +ga6(){return""}, +h(a){var s=this,r=s.c,q=r==null?"":" ("+r+")",p=s.d,o=p==null?"":": "+p,n=s.ga7()+q+o +if(!s.a)return n +return n+s.ga6()+": "+A.at(s.gal())}, +gal(){return this.b}} +A.b2.prototype={ +gal(){return this.b}, +ga7(){return"RangeError"}, +ga6(){var s,r=this.e,q=this.f +if(r==null)s=q!=null?": Not less than or equal to "+A.i(q):"" +else if(q==null)s=": Not greater than or equal to "+A.i(r) +else if(q>r)s=": Not in inclusive range "+A.i(r)+".."+A.i(q) +else s=qe.length +else s=!1 +if(s)f=null +if(f==null){if(e.length>78)e=B.a.j(e,0,75)+"..." +return g+"\n"+e}for(r=1,q=0,p=!1,o=0;o1?g+(" (at line "+r+", character "+(f-q+1)+")\n"):g+(" (at character "+(f+1)+")\n") +m=e.length +for(o=f;o78)if(f-q<75){l=q+75 +k=q +j="" +i="..."}else{if(m-f<75){k=m-75 +l=m +i=""}else{k=f-36 +l=f+36 +i="..."}j="..."}else{l=m +k=q +j="" +i=""}return g+j+B.a.j(e,k,l)+i+"\n"+B.a.b9(" ",f-k+j.length)+"^\n"}else return f!=null?g+(" (at offset "+A.i(f)+")"):g}} +A.n.prototype={ +X(a,b){return A.hA(this,A.E(this).i("n.E"),b)}, +gl(a){var s,r=this.gB(this) +for(s=0;r.m();)++s +return s}, +E(a,b){var s,r +A.f5(b,"index") +s=this.gB(this) +for(r=b;s.m();){if(r===0)return s.gp();--r}throw A.a(A.eU(b,b-r,this,"index"))}, +h(a){return A.hP(this,"(",")")}} +A.u.prototype={ +gn(a){return A.l.prototype.gn.call(this,0)}, +h(a){return"null"}} +A.l.prototype={$il:1, +F(a,b){return this===b}, +gn(a){return A.bY(this)}, +h(a){return"Instance of '"+A.cQ(this)+"'"}, +b_(a,b){throw A.a(A.f1(this,b))}, +gt(a){return A.jL(this)}, +toString(){return this.h(this)}} +A.cj.prototype={ +h(a){return""}, +$ia4:1} +A.y.prototype={ +gl(a){return this.a.length}, +h(a){var s=this.a +return s.charCodeAt(0)==0?s:s}} +A.d_.prototype={ +$2(a,b){var s,r,q,p=B.a.aU(b,"=") +if(p===-1){if(b!=="")a.q(0,A.ew(b,0,b.length,this.a,!0),"")}else if(p!==0){s=B.a.j(b,0,p) +r=B.a.K(b,p+1) +q=this.a +a.q(0,A.ew(s,0,s.length,q,!0),A.ew(r,0,r.length,q,!0))}return a}, +$S:20} +A.cX.prototype={ +$2(a,b){throw A.a(A.z("Illegal IPv4 address, "+a,this.a,b))}, +$S:21} +A.cY.prototype={ +$2(a,b){throw A.a(A.z("Illegal IPv6 address, "+a,this.a,b))}, +$S:22} +A.cZ.prototype={ +$2(a,b){var s +if(b-a>4)this.a.$2("an IPv6 part can only contain a maximum of 4 hex digits",a) +s=A.e8(B.a.j(this.b,a,b),16) +if(s<0||s>65535)this.a.$2("each part must be in the range of `0x0..0xFFFF`",a) +return s}, +$S:23} +A.bn.prototype={ +gW(){var s,r,q,p,o=this,n=o.w +if(n===$){s=o.a +r=s.length!==0?""+s+":":"" +q=o.c +p=q==null +if(!p||s==="file"){s=r+"//" +r=o.b +if(r.length!==0)s=s+r+"@" +if(!p)s+=q +r=o.d +if(r!=null)s=s+":"+A.i(r)}else s=r +s+=o.e +r=o.f +if(r!=null)s=s+"?"+r +r=o.r +if(r!=null)s=s+"#"+r +n!==$&&A.bv() +n=o.w=s.charCodeAt(0)==0?s:s}return n}, +gn(a){var s,r=this,q=r.y +if(q===$){s=B.a.gn(r.gW()) +r.y!==$&&A.bv() +r.y=s +q=s}return q}, +gao(){var s,r=this,q=r.z +if(q===$){s=r.f +s=A.fh(s==null?"":s) +r.z!==$&&A.bv() +q=r.z=new A.a7(s,t.h)}return q}, +gb4(){return this.b}, +gaj(){var s=this.c +if(s==null)return"" +if(B.a.u(s,"["))return B.a.j(s,1,s.length-1) +return s}, +ga0(){var s=this.d +return s==null?A.fu(this.a):s}, +gan(){var s=this.f +return s==null?"":s}, +gaO(){var s=this.r +return s==null?"":s}, +ap(a){var s,r,q,p,o=this,n=o.a,m=n==="file",l=o.b,k=o.d,j=o.c +if(!(j!=null))j=l.length!==0||k!=null||m?"":null +s=o.e +if(!m)r=j!=null&&s.length!==0 +else r=!0 +if(r&&!B.a.u(s,"/"))s="/"+s +q=s +p=A.eu(null,0,0,a) +return A.es(n,l,j,k,q,p,o.r)}, +gaX(){if(this.a!==""){var s=this.r +s=(s==null?"":s)===""}else s=!1 +return s}, +gaQ(){return this.c!=null}, +gaT(){return this.f!=null}, +gaR(){return this.r!=null}, +h(a){return this.gW()}, +F(a,b){var s,r,q=this +if(b==null)return!1 +if(q===b)return!0 +if(t.R.b(b))if(q.a===b.ga2())if(q.c!=null===b.gaQ())if(q.b===b.gb4())if(q.gaj()===b.gaj())if(q.ga0()===b.ga0())if(q.e===b.gb0()){s=q.f +r=s==null +if(!r===b.gaT()){if(r)s="" +if(s===b.gan()){s=q.r +r=s==null +if(!r===b.gaR()){if(r)s="" +s=s===b.gaO()}else s=!1}else s=!1}else s=!1}else s=!1 +else s=!1 +else s=!1 +else s=!1 +else s=!1 +else s=!1 +else s=!1 +return s}, +$ic3:1, +ga2(){return this.a}, +gb0(){return this.e}} +A.dC.prototype={ +$2(a,b){var s=this.b,r=this.a +s.a+=r.a +r.a="&" +r=A.fA(B.h,a,B.e,!0) +r=s.a+=r +if(b!=null&&b.length!==0){s.a=r+"=" +r=A.fA(B.h,b,B.e,!0) +s.a+=r}}, +$S:24} +A.dB.prototype={ +$2(a,b){var s,r +if(b==null||typeof b=="string")this.a.$2(a,b) +else for(s=J.L(b),r=this.a;s.m();)r.$2(a,s.gp())}, +$S:2} +A.cW.prototype={ +gb3(){var s,r,q,p,o=this,n=null,m=o.c +if(m==null){m=o.a +s=o.b[0]+1 +r=B.a.Z(m,"?",s) +q=m.length +if(r>=0){p=A.bo(m,r+1,q,B.f,!1,!1) +q=r}else p=n +m=o.c=new A.c9("data","",n,n,A.bo(m,s,q,B.p,!1,!1),p,n)}return m}, +h(a){var s=this.a +return this.b[0]===-1?"data:"+s:s}} +A.dP.prototype={ +$2(a,b){var s=this.a[a] +B.ab.bE(s,0,96,b) +return s}, +$S:25} +A.dQ.prototype={ +$3(a,b,c){var s,r +for(s=b.length,r=0;r>>0]=c}, +$S:8} +A.ch.prototype={ +gaQ(){return this.c>0}, +gaS(){return this.c>0&&this.d+10&&this.r>=this.a.length}, +ga2(){var s=this.w +return s==null?this.w=this.bk():s}, +bk(){var s,r=this,q=r.b +if(q<=0)return"" +s=q===4 +if(s&&B.a.u(r.a,"http"))return"http" +if(q===5&&B.a.u(r.a,"https"))return"https" +if(s&&B.a.u(r.a,"file"))return"file" +if(q===7&&B.a.u(r.a,"package"))return"package" +return B.a.j(r.a,0,q)}, +gb4(){var s=this.c,r=this.b+3 +return s>r?B.a.j(this.a,r,s-1):""}, +gaj(){var s=this.c +return s>0?B.a.j(this.a,s,this.d):""}, +ga0(){var s,r=this +if(r.gaS())return A.e8(B.a.j(r.a,r.d+1,r.e),null) +s=r.b +if(s===4&&B.a.u(r.a,"http"))return 80 +if(s===5&&B.a.u(r.a,"https"))return 443 +return 0}, +gb0(){return B.a.j(this.a,this.e,this.f)}, +gan(){var s=this.f,r=this.r +return s=this.r)return B.aa +return new A.a7(A.fh(this.gan()),t.h)}, +ap(a){var s,r,q,p,o,n=this,m=null,l=n.ga2(),k=l==="file",j=n.c,i=j>0?B.a.j(n.a,n.b+3,j):"",h=n.gaS()?n.ga0():m +j=n.c +if(j>0)s=B.a.j(n.a,j,n.d) +else s=i.length!==0||h!=null||k?"":m +j=n.a +r=B.a.j(j,n.e,n.f) +if(!k)q=s!=null&&r.length!==0 +else q=!0 +if(q&&!B.a.u(r,"/"))r="/"+r +p=A.eu(m,0,0,a) +q=n.r +o=q1,n="dart:"+s,m=0;m") +m=new A.cz(A.bL(new A.ak(o,A.k1(),n),!0,n.i("J.E"))) +n=self +l=A.c4(J.aq(n.window.location)).gao().k(0,"search") +if(l!=null){k=m.aN(l) +if(k.length!==0){j=B.b.gbF(k).e +if(j!=null){n.window.location.assign($.bw()+j) +s=1 +break}}}n=p.b +if(n!=null)A.eo(m).ak(n) +n=p.c +if(n!=null)A.eo(m).ak(n) +n=p.d +if(n!=null)A.eo(m).ak(n) +case 1:return A.fJ(q,r)}}) +return A.fK($async$$1,r)}, +$S:9} +A.ds.prototype={ +gG(){var s,r=this,q=r.c +if(q===$){s=self.document.createElement("div") +s.setAttribute("role","listbox") +s.setAttribute("aria-expanded","false") +s.style.display="none" +s.classList.add("tt-menu") +s.appendChild(r.gaZ()) +s.appendChild(r.gP()) +r.c!==$&&A.bv() +r.c=s +q=s}return q}, +gaZ(){var s,r=this.d +if(r===$){s=self.document.createElement("div") +s.classList.add("enter-search-message") +this.d!==$&&A.bv() +this.d=s +r=s}return r}, +gP(){var s,r=this.e +if(r===$){s=self.document.createElement("div") +s.classList.add("tt-search-results") +this.e!==$&&A.bv() +this.e=s +r=s}return r}, +ak(a){var s,r,q,p=this +a.disabled=!1 +a.setAttribute("placeholder","Search API Docs") +s=self +s.document.addEventListener("keydown",t.g.a(A.ab(new A.dt(a)))) +r=s.document.createElement("div") +r.classList.add("tt-wrapper") +a.replaceWith(r) +a.setAttribute("autocomplete","off") +a.setAttribute("spellcheck","false") +a.classList.add("tt-input") +r.appendChild(a) +r.appendChild(p.gG()) +p.ba(a) +if(J.hv(s.window.location.href,"search.html")){q=p.b.gao().k(0,"q") +if(q==null)return +q=B.k.I(q) +$.eD=$.dX +p.bK(q,!0) +p.bb(q) +p.ai() +$.eD=10}}, +bb(a){var s,r,q,p,o,n=self,m=n.document.getElementById("dartdoc-main-content") +if(m==null)return +m.textContent="" +s=n.document.createElement("section") +s.classList.add("search-summary") +m.appendChild(s) +s=n.document.createElement("h2") +s.innerHTML="Search Results" +m.appendChild(s) +s=n.document.createElement("div") +s.classList.add("search-summary") +s.innerHTML=""+$.dX+' results for "'+a+'"' +m.appendChild(s) +if($.bq.a!==0)for(n=$.bq.gb5(),s=A.E(n),s=s.i("@<1>").A(s.y[1]),n=new A.av(J.L(n.a),n.b,s.i("av<1,2>")),s=s.y[1];n.m();){r=n.a +if(r==null)r=s.a(r) +m.appendChild(r)}else{q=n.document.createElement("div") +q.classList.add("search-summary") +q.innerHTML='There was not a match for "'+a+'". Want to try searching from additional Dart-related sites? ' +p=A.c4("https://dart.dev/search?cx=011220921317074318178%3A_yy-tmb5t_i&ie=UTF-8&hl=en&q=").ap(A.f_(["q",a],t.N,t.z)) +o=n.document.createElement("a") +o.setAttribute("href",p.gW()) +o.textContent="Search on dart.dev." +q.appendChild(o) +m.appendChild(q)}}, +ai(){var s=this.gG() +s.style.display="none" +s.setAttribute("aria-expanded","false") +return s}, +b2(a,b,c){var s,r,q,p,o=this +o.x=A.h([],t.M) +s=o.w +B.b.Y(s) +$.bq.Y(0) +o.gP().textContent="" +r=b.length +if(r===0){o.ai() +return}for(q=0;q10?'Press "Enter" key to see all '+r+" results":"" +o.gaZ().textContent=r}, +bY(a,b){return this.b2(a,b,!1)}, +ah(a,b,c){var s,r,q,p=this +if(p.r===a&&!b)return +if(a.length===0){p.bY("",A.h([],t.M)) +return}s=p.a.aN(a) +r=s.length +$.dX=r +q=$.eD +if(r>q)s=B.b.bd(s,0,q) +p.r=a +p.b2(a,s,c)}, +bK(a,b){return this.ah(a,!1,b)}, +aP(a){return this.ah(a,!1,!1)}, +bJ(a,b){return this.ah(a,b,!1)}, +aK(a){var s,r=this +r.y=-1 +s=r.f +if(s!=null){a.value=s +r.f=null}r.ai()}, +ba(a){var s=this,r=t.g +a.addEventListener("focus",r.a(A.ab(new A.du(s,a)))) +a.addEventListener("blur",r.a(A.ab(new A.dv(s,a)))) +a.addEventListener("input",r.a(A.ab(new A.dw(s,a)))) +a.addEventListener("keydown",r.a(A.ab(new A.dx(s,a))))}} +A.dt.prototype={ +$1(a){if(J.F(a.key,"/")&&!t.m.b(self.document.activeElement)){a.preventDefault() +this.a.focus()}}, +$S:1} +A.du.prototype={ +$1(a){this.a.bJ(this.b.value,!0)}, +$S:1} +A.dv.prototype={ +$1(a){this.a.aK(this.b)}, +$S:1} +A.dw.prototype={ +$1(a){this.a.aP(this.b.value)}, +$S:1} +A.dx.prototype={ +$1(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this +if(!J.F(a.type,"keydown"))return +if(J.F(a.code,"Enter")){a.preventDefault() +s=e.a +r=s.y +if(r!==-1){q=s.w[r].getAttribute("data-href") +if(q!=null)self.window.location.assign($.bw()+q) +return}else{p=B.k.I(s.r) +o=A.c4($.bw()+"search.html").ap(A.f_(["q",p],t.N,t.z)) +self.window.location.assign(o.gW()) +return}}s=e.a +r=s.w +n=r.length-1 +m=s.y +if(J.F(a.code,"ArrowUp")){l=s.y +if(l===-1)s.y=n +else s.y=l-1}else if(J.F(a.code,"ArrowDown")){l=s.y +if(l===n)s.y=-1 +else s.y=l+1}else if(J.F(a.code,"Escape"))s.aK(e.b) +else{if(s.f!=null){s.f=null +s.aP(e.b.value)}return}l=m!==-1 +if(l)r[m].classList.remove("tt-cursor") +k=s.y +if(k!==-1){j=r[k] +j.classList.add("tt-cursor") +r=s.y +if(r===0)s.gG().scrollTop=0 +else if(r===n)s.gG().scrollTop=s.gG().scrollHeight +else{i=j.offsetTop +h=s.gG().offsetHeight +if(i"+A.i(a.k(0,0))+""}, +$S:30} +A.dU.prototype={ +$1(a){var s=this.a +if(s!=null)s.classList.toggle("active") +s=this.b +if(s!=null)s.classList.toggle("active")}, +$S:1} +A.dV.prototype={ +$1(a){return this.b7(a)}, +b7(a){var s=0,r=A.fS(t.P),q,p=this,o,n,m +var $async$$1=A.fZ(function(b,c){if(b===1)return A.fI(c,r) +while(true)switch(s){case 0:if(!J.F(a.status,200)){o=self.document.createElement("a") +o.href="https://dart.dev/tools/dart-doc#troubleshoot" +o.text="Failed to load sidebar. Visit dart.dev for help troubleshooting." +p.a.appendChild(o) +s=1 +break}s=3 +return A.fH(A.eb(a.text(),t.N),$async$$1) +case 3:n=c +m=self.document.createElement("div") +m.innerHTML=n +A.fY(p.b,m) +p.a.appendChild(m) +case 1:return A.fJ(q,r)}}) +return A.fK($async$$1,r)}, +$S:9} +A.e7.prototype={ +$0(){var s=this.a,r=this.b +if(s.checked){r.setAttribute("class","dark-theme") +s.setAttribute("value","dark-theme") +self.window.localStorage.setItem("colorTheme","true")}else{r.setAttribute("class","light-theme") +s.setAttribute("value","light-theme") +self.window.localStorage.setItem("colorTheme","false")}}, +$S:0} +A.e4.prototype={ +$1(a){this.a.$0()}, +$S:1};(function aliases(){var s=J.a2.prototype +s.be=s.h})();(function installTearOffs(){var s=hunkHelpers._static_2,r=hunkHelpers._static_1,q=hunkHelpers._static_0 +s(J,"ja","hT",31) +r(A,"jA","ic",4) +r(A,"jB","id",4) +r(A,"jC","ie",4) +q(A,"h0","ju",0) +r(A,"k1","hL",32)})();(function inheritance(){var s=hunkHelpers.mixin,r=hunkHelpers.inherit,q=hunkHelpers.inheritMany +r(A.l,null) +q(A.l,[A.eh,J.bG,J.ar,A.n,A.bA,A.k,A.e,A.cR,A.au,A.av,A.aO,A.c1,A.a5,A.bf,A.aW,A.aK,A.cD,A.ag,A.cU,A.cO,A.aN,A.bg,A.dp,A.P,A.cJ,A.bK,A.cE,A.ce,A.d3,A.I,A.cb,A.dA,A.dy,A.c5,A.bz,A.c7,A.az,A.v,A.c6,A.ci,A.dJ,A.cl,A.bC,A.bE,A.cy,A.dH,A.dE,A.d8,A.bW,A.b4,A.d9,A.cw,A.u,A.cj,A.y,A.bn,A.cW,A.ch,A.cN,A.cz,A.w,A.cu,A.ds]) +q(J.bG,[J.bH,J.aQ,J.aT,J.aS,J.aU,J.aR,J.ai]) +q(J.aT,[J.a2,J.o,A.bM,A.aZ]) +q(J.a2,[J.bX,J.ax,J.a1]) +r(J.cF,J.o) +q(J.aR,[J.aP,J.bI]) +q(A.n,[A.a8,A.c,A.aj]) +q(A.a8,[A.af,A.bp]) +r(A.b9,A.af) +r(A.b8,A.bp) +r(A.M,A.b8) +q(A.k,[A.aV,A.R,A.bJ,A.c0,A.c8,A.bZ,A.ca,A.bx,A.G,A.bV,A.c2,A.c_,A.b5,A.bD]) +r(A.ay,A.e) +r(A.bB,A.ay) +q(A.c,[A.J,A.O]) +r(A.aM,A.aj) +q(A.J,[A.ak,A.cd]) +r(A.cf,A.bf) +r(A.cg,A.cf) +r(A.bm,A.aW) +r(A.a7,A.bm) +r(A.aL,A.a7) +r(A.ah,A.aK) +q(A.ag,[A.ct,A.cs,A.cT,A.cG,A.e1,A.e3,A.d5,A.d4,A.dK,A.de,A.dl,A.dQ,A.dR,A.ec,A.ed,A.cC,A.cB,A.e5,A.dt,A.du,A.dv,A.dw,A.dx,A.dN,A.dO,A.dS,A.dU,A.dV,A.e4]) +q(A.ct,[A.cP,A.e2,A.dL,A.dY,A.df,A.cK,A.cM,A.dD,A.d_,A.cX,A.cY,A.cZ,A.dC,A.dB,A.dP,A.cA]) +r(A.b1,A.R) +q(A.cT,[A.cS,A.aJ]) +q(A.P,[A.N,A.cc]) +q(A.aZ,[A.bN,A.aw]) +q(A.aw,[A.bb,A.bd]) +r(A.bc,A.bb) +r(A.aX,A.bc) +r(A.be,A.bd) +r(A.aY,A.be) +q(A.aX,[A.bO,A.bP]) +q(A.aY,[A.bQ,A.bR,A.bS,A.bT,A.bU,A.b_,A.b0]) +r(A.bh,A.ca) +q(A.cs,[A.d6,A.d7,A.dz,A.da,A.dh,A.dg,A.dd,A.dc,A.db,A.dk,A.dj,A.di,A.dW,A.dr,A.dG,A.dF,A.dT,A.e6,A.e7]) +r(A.b7,A.c7) +r(A.dq,A.dJ) +q(A.bC,[A.cq,A.cv,A.cH]) +q(A.bE,[A.cr,A.cx,A.cI,A.d2,A.d1]) +r(A.d0,A.cv) +q(A.G,[A.b2,A.bF]) +r(A.c9,A.bn) +q(A.d8,[A.m,A.A]) +s(A.ay,A.c1) +s(A.bp,A.e) +s(A.bb,A.e) +s(A.bc,A.aO) +s(A.bd,A.e) +s(A.be,A.aO) +s(A.bm,A.cl)})() +var v={typeUniverse:{eC:new Map(),tR:{},eT:{},tPV:{},sEA:[]},mangledGlobalNames:{b:"int",t:"double",jY:"num",d:"String",jD:"bool",u:"Null",f:"List",l:"Object",x:"Map"},mangledNames:{},types:["~()","u(p)","~(d,@)","~(@)","~(~())","u(@)","u()","@()","~(al,d,b)","a0(p)","@(@)","@(@,d)","@(d)","u(~())","u(@,a4)","~(b,@)","u(l,a4)","v<@>(@)","~(l?,l?)","~(b6,@)","x(x,d)","~(d,b)","~(d,b?)","b(b,b)","~(d,d?)","al(@,@)","~(A)","b(+item,matchPosition(w,A),+item,matchPosition(w,A))","w(+item,matchPosition(w,A))","d()","d(cL)","b(@,@)","w(x)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti"),rttc:{"2;item,matchPosition":(a,b)=>c=>c instanceof A.cg&&a.b(c.a)&&b.b(c.b)}} +A.ix(v.typeUniverse,JSON.parse('{"bX":"a2","ax":"a2","a1":"a2","bH":{"j":[]},"aQ":{"u":[],"j":[]},"aT":{"p":[]},"a2":{"p":[]},"o":{"f":["1"],"c":["1"],"p":[]},"cF":{"o":["1"],"f":["1"],"c":["1"],"p":[]},"aR":{"t":[]},"aP":{"t":[],"b":[],"j":[]},"bI":{"t":[],"j":[]},"ai":{"d":[],"j":[]},"a8":{"n":["2"]},"af":{"a8":["1","2"],"n":["2"],"n.E":"2"},"b9":{"af":["1","2"],"a8":["1","2"],"c":["2"],"n":["2"],"n.E":"2"},"b8":{"e":["2"],"f":["2"],"a8":["1","2"],"c":["2"],"n":["2"]},"M":{"b8":["1","2"],"e":["2"],"f":["2"],"a8":["1","2"],"c":["2"],"n":["2"],"e.E":"2","n.E":"2"},"aV":{"k":[]},"bB":{"e":["b"],"f":["b"],"c":["b"],"e.E":"b"},"c":{"n":["1"]},"J":{"c":["1"],"n":["1"]},"aj":{"n":["2"],"n.E":"2"},"aM":{"aj":["1","2"],"c":["2"],"n":["2"],"n.E":"2"},"ak":{"J":["2"],"c":["2"],"n":["2"],"J.E":"2","n.E":"2"},"ay":{"e":["1"],"f":["1"],"c":["1"]},"a5":{"b6":[]},"aL":{"a7":["1","2"],"x":["1","2"]},"aK":{"x":["1","2"]},"ah":{"x":["1","2"]},"b1":{"R":[],"k":[]},"bJ":{"k":[]},"c0":{"k":[]},"bg":{"a4":[]},"c8":{"k":[]},"bZ":{"k":[]},"N":{"P":["1","2"],"x":["1","2"],"P.V":"2"},"O":{"c":["1"],"n":["1"],"n.E":"1"},"ce":{"el":[],"cL":[]},"bM":{"p":[],"j":[]},"aZ":{"p":[]},"bN":{"p":[],"j":[]},"aw":{"D":["1"],"p":[]},"aX":{"e":["t"],"f":["t"],"D":["t"],"c":["t"],"p":[]},"aY":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"p":[]},"bO":{"e":["t"],"f":["t"],"D":["t"],"c":["t"],"p":[],"j":[],"e.E":"t"},"bP":{"e":["t"],"f":["t"],"D":["t"],"c":["t"],"p":[],"j":[],"e.E":"t"},"bQ":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"p":[],"j":[],"e.E":"b"},"bR":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"p":[],"j":[],"e.E":"b"},"bS":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"p":[],"j":[],"e.E":"b"},"bT":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"p":[],"j":[],"e.E":"b"},"bU":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"p":[],"j":[],"e.E":"b"},"b_":{"e":["b"],"f":["b"],"D":["b"],"c":["b"],"p":[],"j":[],"e.E":"b"},"b0":{"e":["b"],"al":[],"f":["b"],"D":["b"],"c":["b"],"p":[],"j":[],"e.E":"b"},"ca":{"k":[]},"bh":{"R":[],"k":[]},"v":{"a0":["1"]},"bz":{"k":[]},"b7":{"c7":["1"]},"e":{"f":["1"],"c":["1"]},"P":{"x":["1","2"]},"aW":{"x":["1","2"]},"a7":{"x":["1","2"]},"cc":{"P":["d","@"],"x":["d","@"],"P.V":"@"},"cd":{"J":["d"],"c":["d"],"n":["d"],"J.E":"d","n.E":"d"},"f":{"c":["1"]},"el":{"cL":[]},"bx":{"k":[]},"R":{"k":[]},"G":{"k":[]},"b2":{"k":[]},"bF":{"k":[]},"bV":{"k":[]},"c2":{"k":[]},"c_":{"k":[]},"b5":{"k":[]},"bD":{"k":[]},"bW":{"k":[]},"b4":{"k":[]},"cj":{"a4":[]},"bn":{"c3":[]},"ch":{"c3":[]},"c9":{"c3":[]},"hO":{"f":["b"],"c":["b"]},"al":{"f":["b"],"c":["b"]},"i9":{"f":["b"],"c":["b"]},"hM":{"f":["b"],"c":["b"]},"i7":{"f":["b"],"c":["b"]},"hN":{"f":["b"],"c":["b"]},"i8":{"f":["b"],"c":["b"]},"hJ":{"f":["t"],"c":["t"]},"hK":{"f":["t"],"c":["t"]}}')) +A.iw(v.typeUniverse,JSON.parse('{"aO":1,"c1":1,"ay":1,"bp":2,"aK":2,"bK":1,"aw":1,"ci":1,"cl":2,"aW":2,"bm":2,"bC":2,"bE":2}')) +var u={c:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type"} +var t=(function rtii(){var s=A.bt +return{Z:s("aL"),U:s("c<@>"),Q:s("k"),Y:s("k9"),M:s("o"),O:s("o

"),r:s("o<+item,matchPosition(w,A)>"),s:s("o"),b:s("o<@>"),t:s("o"),T:s("aQ"),m:s("p"),g:s("a1"),p:s("D<@>"),B:s("N"),j:s("f<@>"),a:s("x"),V:s("ak<+item,matchPosition(w,A),w>"),P:s("u"),K:s("l"),L:s("ka"),d:s("+()"),F:s("el"),l:s("a4"),N:s("d"),k:s("j"),c:s("R"),D:s("al"),o:s("ax"),h:s("a7"),R:s("c3"),e:s("v<@>"),y:s("jD"),i:s("t"),z:s("@"),v:s("@(l)"),C:s("@(l,a4)"),S:s("b"),A:s("0&*"),_:s("l*"),W:s("a0?"),X:s("l?"),H:s("jY")}})();(function constants(){var s=hunkHelpers.makeConstList +B.I=J.bG.prototype +B.b=J.o.prototype +B.c=J.aP.prototype +B.a=J.ai.prototype +B.J=J.a1.prototype +B.K=J.aT.prototype +B.ab=A.b0.prototype +B.w=J.bX.prototype +B.j=J.ax.prototype +B.at=new A.cr() +B.x=new A.cq() +B.au=new A.cy() +B.k=new A.cx() +B.l=function getTagFallback(o) { + var s = Object.prototype.toString.call(o); + return s.substring(8, s.length - 1); +} +B.y=function() { + var toStringFunction = Object.prototype.toString; + function getTag(o) { + var s = toStringFunction.call(o); + return s.substring(8, s.length - 1); + } + function getUnknownTag(object, tag) { + if (/^HTML[A-Z].*Element$/.test(tag)) { + var name = toStringFunction.call(object); + if (name == "[object Object]") return null; + return "HTMLElement"; + } + } + function getUnknownTagGenericBrowser(object, tag) { + if (object instanceof HTMLElement) return "HTMLElement"; + return getUnknownTag(object, tag); + } + function prototypeForTag(tag) { + if (typeof window == "undefined") return null; + if (typeof window[tag] == "undefined") return null; + var constructor = window[tag]; + if (typeof constructor != "function") return null; + return constructor.prototype; + } + function discriminator(tag) { return null; } + var isBrowser = typeof HTMLElement == "function"; + return { + getTag: getTag, + getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, + prototypeForTag: prototypeForTag, + discriminator: discriminator }; +} +B.D=function(getTagFallback) { + return function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("DumpRenderTree") >= 0) return hooks; + if (userAgent.indexOf("Chrome") >= 0) { + function confirm(p) { + return typeof window == "object" && window[p] && window[p].name == p; + } + if (confirm("Window") && confirm("HTMLElement")) return hooks; + } + hooks.getTag = getTagFallback; + }; +} +B.z=function(hooks) { + if (typeof dartExperimentalFixupGetTag != "function") return hooks; + hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); +} +B.C=function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("Firefox") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "GeoGeolocation": "Geolocation", + "Location": "!Location", + "WorkerMessageEvent": "MessageEvent", + "XMLDocument": "!Document"}; + function getTagFirefox(o) { + var tag = getTag(o); + return quickMap[tag] || tag; + } + hooks.getTag = getTagFirefox; +} +B.B=function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("Trident/") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "HTMLDDElement": "HTMLElement", + "HTMLDTElement": "HTMLElement", + "HTMLPhraseElement": "HTMLElement", + "Position": "Geoposition" + }; + function getTagIE(o) { + var tag = getTag(o); + var newTag = quickMap[tag]; + if (newTag) return newTag; + if (tag == "Object") { + if (window.DataView && (o instanceof window.DataView)) return "DataView"; + } + return tag; + } + function prototypeForTagIE(tag) { + var constructor = window[tag]; + if (constructor == null) return null; + return constructor.prototype; + } + hooks.getTag = getTagIE; + hooks.prototypeForTag = prototypeForTagIE; +} +B.A=function(hooks) { + var getTag = hooks.getTag; + var prototypeForTag = hooks.prototypeForTag; + function getTagFixed(o) { + var tag = getTag(o); + if (tag == "Document") { + if (!!o.xmlVersion) return "!Document"; + return "!HTMLDocument"; + } + return tag; + } + function prototypeForTagFixed(tag) { + if (tag == "Document") return null; + return prototypeForTag(tag); + } + hooks.getTag = getTagFixed; + hooks.prototypeForTag = prototypeForTagFixed; +} +B.m=function(hooks) { return hooks; } + +B.E=new A.cH() +B.F=new A.bW() +B.i=new A.cR() +B.e=new A.d0() +B.G=new A.d2() +B.n=new A.dp() +B.d=new A.dq() +B.H=new A.cj() +B.L=new A.cI(null) +B.a8=A.h(s([0,0,32722,12287,65534,34815,65534,18431]),t.t) +B.f=A.h(s([0,0,65490,45055,65535,34815,65534,18431]),t.t) +B.a9=A.h(s([0,0,32754,11263,65534,34815,65534,18431]),t.t) +B.o=A.h(s([0,0,26624,1023,65534,2047,65534,2047]),t.t) +B.p=A.h(s([0,0,65490,12287,65535,34815,65534,18431]),t.t) +B.M=new A.m(0,"accessor") +B.N=new A.m(1,"constant") +B.Y=new A.m(2,"constructor") +B.a1=new A.m(3,"class_") +B.a2=new A.m(4,"dynamic") +B.a3=new A.m(5,"enum_") +B.a4=new A.m(6,"extension") +B.a5=new A.m(7,"extensionType") +B.a6=new A.m(8,"function") +B.a7=new A.m(9,"library") +B.O=new A.m(10,"method") +B.P=new A.m(11,"mixin") +B.Q=new A.m(12,"never") +B.R=new A.m(13,"package") +B.S=new A.m(14,"parameter") +B.T=new A.m(15,"prefix") +B.U=new A.m(16,"property") +B.V=new A.m(17,"sdk") +B.W=new A.m(18,"topic") +B.X=new A.m(19,"topLevelConstant") +B.Z=new A.m(20,"topLevelProperty") +B.a_=new A.m(21,"typedef") +B.a0=new A.m(22,"typeParameter") +B.q=A.h(s([B.M,B.N,B.Y,B.a1,B.a2,B.a3,B.a4,B.a5,B.a6,B.a7,B.O,B.P,B.Q,B.R,B.S,B.T,B.U,B.V,B.W,B.X,B.Z,B.a_,B.a0]),A.bt("o")) +B.r=A.h(s([0,0,32776,33792,1,10240,0,0]),t.t) +B.t=A.h(s([]),t.b) +B.h=A.h(s([0,0,24576,1023,65534,34815,65534,18431]),t.t) +B.v={} +B.aa=new A.ah(B.v,[],A.bt("ah")) +B.u=new A.ah(B.v,[],A.bt("ah")) +B.ac=new A.a5("call") +B.ad=A.K("k6") +B.ae=A.K("k7") +B.af=A.K("hJ") +B.ag=A.K("hK") +B.ah=A.K("hM") +B.ai=A.K("hN") +B.aj=A.K("hO") +B.ak=A.K("l") +B.al=A.K("i7") +B.am=A.K("i8") +B.an=A.K("i9") +B.ao=A.K("al") +B.ap=new A.d1(!1) +B.aq=new A.A(0,"isExactly") +B.ar=new A.A(1,"startsWith") +B.as=new A.A(2,"contains")})();(function staticFields(){$.dm=null +$.ap=A.h([],A.bt("o")) +$.f2=null +$.eR=null +$.eQ=null +$.h2=null +$.h_=null +$.h7=null +$.dZ=null +$.e9=null +$.eH=null +$.dn=A.h([],A.bt("o?>")) +$.aB=null +$.br=null +$.bs=null +$.eA=!1 +$.r=B.d +$.eD=10 +$.dX=0 +$.bq=A.ej(t.N,t.m)})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal +s($,"k8","eK",()=>A.jK("_$dart_dartClosure")) +s($,"kc","ha",()=>A.S(A.cV({ +toString:function(){return"$receiver$"}}))) +s($,"kd","hb",()=>A.S(A.cV({$method$:null, +toString:function(){return"$receiver$"}}))) +s($,"ke","hc",()=>A.S(A.cV(null))) +s($,"kf","hd",()=>A.S(function(){var $argumentsExpr$="$arguments$" +try{null.$method$($argumentsExpr$)}catch(r){return r.message}}())) +s($,"ki","hg",()=>A.S(A.cV(void 0))) +s($,"kj","hh",()=>A.S(function(){var $argumentsExpr$="$arguments$" +try{(void 0).$method$($argumentsExpr$)}catch(r){return r.message}}())) +s($,"kh","hf",()=>A.S(A.fd(null))) +s($,"kg","he",()=>A.S(function(){try{null.$method$}catch(r){return r.message}}())) +s($,"kl","hj",()=>A.S(A.fd(void 0))) +s($,"kk","hi",()=>A.S(function(){try{(void 0).$method$}catch(r){return r.message}}())) +s($,"km","eL",()=>A.ib()) +s($,"ks","hp",()=>A.hY(4096)) +s($,"kq","hn",()=>new A.dG().$0()) +s($,"kr","ho",()=>new A.dF().$0()) +s($,"kn","hk",()=>A.hX(A.j0(A.h([-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-2,-2,-2,-2,-2,62,-2,62,-2,63,52,53,54,55,56,57,58,59,60,61,-2,-2,-2,-1,-2,-2,-2,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-2,-2,-2,-2,63,-2,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-2,-2,-2,-2,-2],t.t)))) +s($,"ko","hl",()=>A.f6("^[\\-\\.0-9A-Z_a-z~]*$",!0)) +s($,"kp","hm",()=>typeof URLSearchParams=="function") +s($,"kE","ee",()=>A.h5(B.ak)) +s($,"kG","hq",()=>A.j_()) +s($,"kF","bw",()=>new A.dT().$0())})();(function nativeSupport(){!function(){var s=function(a){var m={} +m[a]=1 +return Object.keys(hunkHelpers.convertToFastObject(m))[0]} +v.getIsolateTag=function(a){return s("___dart_"+a+v.isolateTag)} +var r="___dart_isolate_tags_" +var q=Object[r]||(Object[r]=Object.create(null)) +var p="_ZxYxX" +for(var o=0;;o++){var n=s(p+"_"+o+"_") +if(!(n in q)){q[n]=1 +v.isolateTag=n +break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}() +hunkHelpers.setOrUpdateInterceptorsByTag({ArrayBuffer:A.bM,ArrayBufferView:A.aZ,DataView:A.bN,Float32Array:A.bO,Float64Array:A.bP,Int16Array:A.bQ,Int32Array:A.bR,Int8Array:A.bS,Uint16Array:A.bT,Uint32Array:A.bU,Uint8ClampedArray:A.b_,CanvasPixelArray:A.b_,Uint8Array:A.b0}) +hunkHelpers.setOrUpdateLeafTags({ArrayBuffer:true,ArrayBufferView:false,DataView:true,Float32Array:true,Float64Array:true,Int16Array:true,Int32Array:true,Int8Array:true,Uint16Array:true,Uint32Array:true,Uint8ClampedArray:true,CanvasPixelArray:true,Uint8Array:false}) +A.aw.$nativeSuperclassTag="ArrayBufferView" +A.bb.$nativeSuperclassTag="ArrayBufferView" +A.bc.$nativeSuperclassTag="ArrayBufferView" +A.aX.$nativeSuperclassTag="ArrayBufferView" +A.bd.$nativeSuperclassTag="ArrayBufferView" +A.be.$nativeSuperclassTag="ArrayBufferView" +A.aY.$nativeSuperclassTag="ArrayBufferView"})() +Function.prototype.$0=function(){return this()} +Function.prototype.$1=function(a){return this(a)} +Function.prototype.$2=function(a,b){return this(a,b)} +Function.prototype.$1$1=function(a){return this(a)} +Function.prototype.$3=function(a,b,c){return this(a,b,c)} +Function.prototype.$4=function(a,b,c,d){return this(a,b,c,d)} +Function.prototype.$1$0=function(){return this()} +convertAllToFastObject(w) +convertToFastObject($);(function(a){if(typeof document==="undefined"){a(null) +return}if(typeof document.currentScript!="undefined"){a(document.currentScript) +return}var s=document.scripts +function onLoad(b){for(var q=0;q","TypeErrorDecoder.matchTypeError","NullError.toString","JsNoSuchMethodError.toString","UnknownJsTypeError.toString","NullThrownFromJavaScriptException.toString","_StackTrace.toString","Closure.toString","StaticClosure.toString","BoundClosure.==","BoundClosure.hashCode","BoundClosure.toString","_CyclicInitializationError.toString","RuntimeError.toString","JsLinkedHashMap.keys","JsLinkedHashMap.length","JsLinkedHashMap.values","JsLinkedHashMap.containsKey","JsLinkedHashMap._containsTableEntry","JsLinkedHashMap.[]","JsLinkedHashMap.internalGet","JsLinkedHashMap._getBucket","JsLinkedHashMap.[]=","JsLinkedHashMap.internalSet","JsLinkedHashMap.clear","JsLinkedHashMap.forEach","JsLinkedHashMap._addHashTableEntry","JsLinkedHashMap._modified","JsLinkedHashMap._newLinkedCell","JsLinkedHashMap.internalComputeHashCode","JsLinkedHashMap.internalFindBucketIndex","JsLinkedHashMap.toString","JsLinkedHashMap._newHashTable","JsLinkedHashMap.values.","JsLinkedHashMap_values_closure","LinkedHashMapKeyIterable.length","LinkedHashMapKeyIterable.iterator","LinkedHashMapKeyIterator","LinkedHashMapKeyIterator.current","LinkedHashMapKeyIterator.moveNext","initHooks.","_Record.toString","_Record._toString","StringBuffer._writeString","_Record._fieldKeys","_Record._computeFieldKeys","List.unmodifiable","_Record2._getFieldValues","_Record2.==","_Record._sameShape","_Record2.hashCode","JSSyntaxRegExp.toString","JSSyntaxRegExp._nativeGlobalVersion","JSSyntaxRegExp._execGlobal","_MatchImplementation.end","_MatchImplementation.[]","_AllMatchesIterator.current","_AllMatchesIterator.moveNext","JSSyntaxRegExp.isUnicode","NativeByteBuffer.runtimeType","NativeByteData.runtimeType","NativeTypedArray.length","NativeTypedArrayOfDouble.[]","NativeTypedArrayOfDouble.[]=","NativeTypedArrayOfInt.[]=","NativeFloat32List.runtimeType","NativeFloat64List.runtimeType","NativeInt16List.runtimeType","NativeInt16List.[]","NativeInt32List.runtimeType","NativeInt32List.[]","NativeInt8List.runtimeType","NativeInt8List.[]","NativeUint16List.runtimeType","NativeUint16List.[]","NativeUint32List.runtimeType","NativeUint32List.[]","NativeUint8ClampedList.runtimeType","NativeUint8ClampedList.length","NativeUint8ClampedList.[]","NativeUint8List.runtimeType","NativeUint8List.length","NativeUint8List.[]","Rti._eval","Rti._bind","_Type.toString","_Error.toString","_AsyncRun._initializeScheduleImmediate.internalCallback","_AsyncRun._initializeScheduleImmediate.","_AsyncRun._scheduleImmediateJsOverride.internalCallback","_AsyncRun._scheduleImmediateWithSetImmediate.internalCallback","_TimerImpl.internalCallback","_AsyncAwaitCompleter.complete","_AsyncAwaitCompleter.completeError","_awaitOnObject.","_wrapJsFunctionForAsync.","AsyncError.toString","_Completer.completeError","_Completer.completeError[function-entry$1]","_AsyncCompleter.complete","_FutureListener.matchesErrorTest","_FutureListener.handleError","_Future._setChained","_Future.then","_Future.then[function-entry$1]","_Future._thenAwait","_Future._setErrorObject","_Future._cloneResult","_Future._addListener","_Future._prependListeners","_Future._removeListeners","_Future._reverseListeners","_Future._chainForeignFuture","_Future._completeWithValue","_Future._completeError","_Future._asyncComplete","_Future._asyncCompleteWithValue","_Future._chainFuture","_Future._asyncCompleteError","_Future._addListener.","_Future._prependListeners.","_Future._chainForeignFuture.","_Future._chainCoreFutureAsync.","_Future._asyncCompleteWithValue.","_Future._asyncCompleteError.","_Future._propagateToListeners.handleWhenCompleteCallback","_FutureListener.handleWhenComplete","_Future._propagateToListeners.handleWhenCompleteCallback.","_Future._propagateToListeners.handleValueCallback","_FutureListener.handleValue","_Future._propagateToListeners.handleError","_FutureListener.hasErrorCallback","_rootHandleError.","_RootZone.runGuarded","_RootZone.bindCallbackGuarded","_RootZone.run","_RootZone.run[function-entry$1]","_RootZone.runUnary","_RootZone.runUnary[function-entry$2]","_RootZone.runBinary","_RootZone.runBinary[function-entry$3]","_RootZone.registerBinaryCallback","_RootZone.registerBinaryCallback[function-entry$1]","_RootZone.bindCallbackGuarded.","ListBase.iterator","ListBase.elementAt","ListBase.cast","ListBase.fillRange","ListBase.toString","MapBase.forEach","MapBase.length","MapBase.toString","MapBase.mapToString.","_UnmodifiableMapMixin.[]=","MapView.[]","MapView.[]=","MapView.forEach","MapView.length","MapView.toString","_JsonMap.[]","_JsonMap.length","_JsonMap.keys","_JsonMap.[]=","_JsonMap.containsKey","_JsonMap.forEach","_JsonMap._computeKeys","_JsonMap._upgrade","_JsonMap._process","_JsonMapKeyIterable.length","_JsonMapKeyIterable.elementAt","_JsonMapKeyIterable.iterator","_Utf8Decoder._decoder.","_Utf8Decoder._decoderNonfatal.","Base64Codec.normalize","HtmlEscapeMode.toString","HtmlEscape.convert","HtmlEscape._convert","JsonCodec.decode","JsonCodec.decoder","Utf8Encoder.convert","NativeUint8List.sublist","_Utf8Encoder._writeReplacementCharacter","_Utf8Encoder._writeSurrogate","_Utf8Encoder._fillBuffer","Utf8Decoder.convert","_Utf8Decoder._convertGeneral","_Utf8Decoder._decodeRecursive","_Utf8Decoder.decodeGeneral","NoSuchMethodError.toString.","_symbolToString","_Uri._makeQueryFromParameters.","_Enum.toString","Error.stackTrace","AssertionError.toString","ArgumentError._errorName","ArgumentError._errorExplanation","ArgumentError.toString","RangeError.invalidValue","RangeError._errorName","RangeError._errorExplanation","IndexError.invalidValue","IndexError._errorName","IndexError._errorExplanation","NoSuchMethodError.toString","UnsupportedError.toString","UnimplementedError.toString","StateError.toString","ConcurrentModificationError.toString","OutOfMemoryError.toString","OutOfMemoryError.stackTrace","StackOverflowError.toString","StackOverflowError.stackTrace","_Exception.toString","FormatException.toString","Iterable.cast","Iterable.length","Iterable.elementAt","Iterable.toString","Null.hashCode","Null.toString","Object.hashCode","Object.==","Object.toString","Object.noSuchMethod","Object.runtimeType","_StringStackTrace.toString","StringBuffer.length","StringBuffer.toString","Uri.splitQueryString.","Uri._parseIPv4Address.error","Uri.parseIPv6Address.error","Uri.parseIPv6Address.parseHex","_Uri._text","_Uri._initializeText","_Uri._writeAuthority","_Uri.hashCode","_Uri.queryParameters","_Uri.userInfo","_Uri.host","_Uri.port","_Uri.query","_Uri.fragment","_Uri.replace","_Uri.isAbsolute","_Uri.hasAuthority","_Uri.hasQuery","_Uri.hasFragment","_Uri.toString","_Uri.==","_Uri._makeQueryFromParametersDefault.writeParameter","_Uri._makeQueryFromParametersDefault.","UriData.uri","UriData._computeUri","UriData.toString","_createTables.build","_createTables.setChars","_createTables.setRange","_SimpleUri.hasAuthority","_SimpleUri.hasPort","_SimpleUri.hasQuery","_SimpleUri.hasFragment","_SimpleUri.isAbsolute","_SimpleUri.scheme","_SimpleUri._computeScheme","_SimpleUri.userInfo","_SimpleUri.host","_SimpleUri.port","_SimpleUri.path","_SimpleUri.query","_SimpleUri.fragment","_SimpleUri.queryParameters","_SimpleUri.replace","_SimpleUri.hashCode","_SimpleUri.==","_SimpleUri.toString","promiseToFuture.","NullRejectionException.toString","Kind._enumToString","Kind.toString","_MatchPosition._enumToString","Index.find","JSArray.map","Index.find.score","Index.find.","IndexItem._scope","_htmlBase.","init.disableSearch","print","init.","init_closure","Index.fromJson","ListBase.map","_Search.listBox","_Search.moreResults","_Search.searchResults","_Search.initialize","_Search.showSearchResultPage","_Search.hideSuggestions","_Search.updateSuggestions","_Search.showSuggestions","_Search.showEnterMessage","_Search.updateSuggestions[function-entry$2]","_Search.handleSearch","_Search.handleSearch[function-entry$1$isSearchPage]","_Search.handleSearch[function-entry$1]","_Search.handleSearch[function-entry$1$forceUpdate]","_Search.clearSearch","_Search.setEventListeners","_Search.initialize.","_Search.setEventListeners.","_createSuggestion.","_highlight.","_initializeToggles.","_loadSidebar.","_loadSidebar_closure","init.switchThemes","DART_CLOSURE_PROPERTY_NAME","TypeErrorDecoder.noSuchMethodPattern","TypeErrorDecoder.notClosurePattern","TypeErrorDecoder.nullCallPattern","TypeErrorDecoder.nullLiteralCallPattern","TypeErrorDecoder.undefinedCallPattern","TypeErrorDecoder.undefinedLiteralCallPattern","TypeErrorDecoder.nullPropertyPattern","TypeErrorDecoder.nullLiteralPropertyPattern","TypeErrorDecoder.undefinedPropertyPattern","TypeErrorDecoder.undefinedLiteralPropertyPattern","_AsyncRun._scheduleImmediateClosure","_Utf8Decoder._reusableBuffer","_Utf8Decoder._decoder","_Utf8Decoder._decoderNonfatal","_Base64Decoder._inverseAlphabet","_Uri._needsNoEncoding","_Uri._useURLSearchParams","_hashSeed","_scannerTables","_htmlBase","","$intercepted$$eq$Iu","$intercepted$__$asx","$intercepted$___$ax","$intercepted$cast10$ax","$intercepted$compareTo1$ns","$intercepted$contains1$asx","$intercepted$elementAt1$ax","$intercepted$get$hashCode$IJavaScriptBigIntJavaScriptSymbolLegacyJavaScriptObjectabnsu","$intercepted$get$iterator$ax","$intercepted$get$length$asx","$intercepted$get$runtimeType$Ibdinsux","$intercepted$noSuchMethod1$Iu","$intercepted$toString0$IJavaScriptBigIntJavaScriptFunctionJavaScriptSymbolLegacyJavaScriptObjectabnsux","ArrayIterator","Base64Codec","Base64Encoder","BoundClosure","ByteBuffer","ByteData","CastIterator","CastList","Closure","Closure0Args","Closure2Args","CodeUnits","Codec","ConstantMap","ConstantMapView","ConstantStringMap","Converter","EfficientLengthIterable","EfficientLengthMappedIterable","EnclosedBy","Encoding","Error","ExceptionAndStackTrace","FixedLengthListMixin","Float32List","Float64List","Function","Future","HtmlEscape","HtmlEscapeMode","Index","IndexError","IndexItem","Index_find_closure","Index_find_score","Int16List","Int32List","Int8List","Interceptor","Iterable","JSArray","JSBool","JSInt","JSInvocationMirror","JSNull","JSNumNotInt","JSNumber","JSObject","JSString","JSSyntaxRegExp","JSUnmodifiableArray","JS_CONST","JavaScriptBigInt","JavaScriptFunction","JavaScriptIndexingBehavior","JavaScriptObject","JavaScriptSymbol","JsLinkedHashMap","JsonCodec","JsonDecoder","Kind","LateError","LegacyJavaScriptObject","LinkedHashMapCell","LinkedHashMapKeyIterable","List","ListBase","ListIterable","ListIterator","Map","MapBase","MapBase_mapToString_closure","MapView","MappedIterator","MappedListIterable","Match","NativeByteBuffer","NativeByteData","NativeFloat32List","NativeFloat64List","NativeInt16List","NativeInt32List","NativeInt8List","NativeTypedArray","NativeTypedArrayOfDouble","NativeTypedArrayOfInt","NativeTypedData","NativeUint16List","NativeUint32List","NativeUint8ClampedList","NoSuchMethodError","NoSuchMethodError_toString_closure","Null","NullError","NullRejectionException","NullThrownFromJavaScriptException","Object","OutOfMemoryError","PlainJavaScriptObject","Primitives_functionNoSuchMethod_closure","RangeError","Record","RegExpMatch","Rti","RuntimeError","SentinelValue","StackOverflowError","StackTrace","StaticClosure","String","StringBuffer","Symbol","TearOffClosure","TrustedGetRuntimeType","TypeError","TypeErrorDecoder","Uint16List","Uint32List","Uint8ClampedList","Uint8List","UnknownJavaScriptObject","UnknownJsTypeError","UnmodifiableListBase","UnmodifiableListMixin","UnmodifiableMapView","Uri","UriData","Uri__parseIPv4Address_error","Uri_parseIPv6Address_error","Uri_parseIPv6Address_parseHex","Uri_splitQueryString_closure","Utf8Codec","Utf8Decoder","Utf8Encoder","_#fromMap#tearOff","_AllMatchesIterator","_AsyncAwaitCompleter","_AsyncCallbackEntry","_AsyncCompleter","_AsyncRun__initializeScheduleImmediate_closure","_AsyncRun__initializeScheduleImmediate_internalCallback","_AsyncRun__scheduleImmediateJsOverride_internalCallback","_AsyncRun__scheduleImmediateWithSetImmediate_internalCallback","_CastIterableBase","_CastListBase","_Completer","_CyclicInitializationError","_DataUri","_EfficientLengthCastIterable","_Enum","_Error","_Exception","_FunctionParameters","_Future","_FutureListener","_Future__addListener_closure","_Future__asyncCompleteError_closure","_Future__asyncCompleteWithValue_closure","_Future__chainCoreFutureAsync_closure","_Future__chainForeignFuture_closure","_Future__prependListeners_closure","_Future__propagateToListeners_handleError","_Future__propagateToListeners_handleValueCallback","_Future__propagateToListeners_handleWhenCompleteCallback","_Future__propagateToListeners_handleWhenCompleteCallback_closure","_JS_INTEROP_INTERCEPTOR_TAG","_JsonMap","_JsonMapKeyIterable","_MatchImplementation","_MatchPosition","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin","_NativeTypedArrayOfDouble&NativeTypedArray&ListMixin&FixedLengthListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin","_NativeTypedArrayOfInt&NativeTypedArray&ListMixin&FixedLengthListMixin","_Record","_Record2","_Record_2_item_matchPosition","_Required","_RootZone","_RootZone_bindCallbackGuarded_closure","_Search_initialize_closure","_Search_setEventListeners_closure","_SimpleUri","_StackTrace","_StreamIterator","_StringStackTrace","_TimerImpl_internalCallback","_TypeError","_UnmodifiableMapMixin","_UnmodifiableMapView&MapView&_UnmodifiableMapMixin","_Uri","_Uri__makeQueryFromParametersDefault_closure","_Uri__makeQueryFromParametersDefault_writeParameter","_Uri__makeQueryFromParameters_closure","_Utf8Decoder","_Utf8Decoder__decoderNonfatal_closure","_Utf8Decoder__decoder_closure","_Utf8Encoder","_Zone","__CastListBase&_CastIterableBase&ListMixin","_awaitOnObject_closure","_canonicalRecipeJoin","_canonicalRecipeJoinNamed","_canonicalizeScheme","_chainCoreFutureAsync","_chainCoreFutureSync","_checkPadding","_checkZoneID","_compareAny","_computeFieldNamed","_computeSignatureFunctionNewRti","_computedFieldKeys","_containerMap","_convertInterceptedUint8List","_create1","_createFutureOrRti","_createGenericFunctionRti","_createQuestionRti","_createStarRti","_createSuggestion_closure","_createTables_build","_createTables_setChars","_createTables_setRange","_current","_decoder","_decoderNonfatal","_defaultPort","_empty","_escapeChar","_escapeScheme","_fail","_generalApplyFunction","_getCanonicalRecipe","_getFutureFromFutureOr","_getQuestionFromStar","_hexCharPairToByte","_highlight_closure","_htmlBase_closure","_identityHashCodeProperty","_initializeScheduleImmediate","_initializeToggles_closure","_installTypeTests","_interceptorFieldNameCache","_interceptors_JSArray__compareAny$closure","_internal","_inverseAlphabet","_isAlphabeticCharacter","_isInCallbackLoop","_isUnionOfFunctionType","_lastCallback","_lastPriorityCallback","_literal","_lookupBindingRti","_lookupFunctionRti","_lookupFutureOrRti","_lookupGenericFunctionParameterRti","_lookupGenericFunctionRti","_lookupInterfaceRti","_lookupQuestionRti","_lookupRecordRti","_lookupStarRti","_lookupTerminalRti","_makeFragment","_makeHost","_makeNativeUint8List","_makePath","_makePort","_makeQuery","_makeQueryFromParameters","_makeQueryFromParametersDefault","_makeScheme","_makeUserInfo","_mayContainDotSegments","_needsNoEncoding","_nextCallback","_normalize","_normalizeEscape","_normalizeOrSubstring","_normalizePath","_normalizeRegName","_normalizeRelativePath","_normalizeZoneID","_objectTypeNameNewRti","_of","_parse","_parseIPv4Address","_propagateToListeners","_receiverFieldNameCache","_removeDotSegments","_reusableBuffer","_rootHandleError_closure","_scheduleImmediateClosure","_scheduleImmediateJsOverride","_scheduleImmediateWithSetImmediate","_scheduleImmediateWithTimer","_stringFromUint8List","_suggestionLength","_suggestionLimit","_throw","_throwUnmodifiable","_uriDecode","_uriEncode","_useTextDecoder","_useURLSearchParams","_wrapJsFunctionForAsync_closure","_writeAll","addErasedTypes","addRules","allocateGrowable","alternateTagFunction","applyFunction","async__AsyncRun__scheduleImmediateJsOverride$closure","async__AsyncRun__scheduleImmediateWithSetImmediate$closure","async__AsyncRun__scheduleImmediateWithTimer$closure","async___startMicrotaskLoop$closure","bind","bool","checkNotNegative","checkValidRange","collectArray","combine","compose","create","cspForwardCall","cspForwardInterceptedCall","current","defaultStackTrace","dispatchRecordsForInstanceTags","double","errorDescription","eval","evalInEnvironment","evalRecipe","extractPattern","extractStackTrace","filled","findErasedType","findRule","finish","fixed","forType","forwardCallTo","forwardInterceptedCallTo","from","fromCharCodes","fromMessage","fromTearOff","functionNoSuchMethod","getInterceptor$","getInterceptor$asx","getInterceptor$ax","getInterceptor$ns","getTagFunction","growable","handleArguments","handleDigit","handleExtendedOperations","handleIdentifier","handleTypeArguments","hash","indexToType","initHooks_closure","initNativeDispatchFlag","init_disableSearch","init_switchThemes","int","interceptorOf","interceptorsForUncacheableTags","iterableToFullString","iterableToShortString","makeNative","mapToString","markFixed","markFixedList","markUnmodifiableList","newArrayOrEmpty","noElement","noSuchMethodPattern","notClosurePattern","nullCallPattern","nullLiteralCallPattern","nullLiteralPropertyPattern","nullPropertyPattern","num","objectAssign","objectTypeName","of","parse","parseIPv6Address","parseInt","promiseToFuture_closure","prototypeForTagFunction","provokeCallErrorOn","provokePropertyErrorOn","range","receiverOf","safeToString","search_IndexItem___fromMap_tearOff$closure","splitQueryString","stringFromCharCode","stringFromNativeUint8List","throwWithStackTrace","toStringVisiting","toType","toTypes","toTypesNamed","undefinedCallPattern","undefinedLiteralCallPattern","undefinedLiteralPropertyPattern","undefinedPropertyPattern","value","withInvocation","withLength","$add","$eq","$index","$indexSet","$mod","$mul","add","addAll","bindCallbackGuarded","call","cast","clear","clearSearch","compareTo","complete","completeError","contains","containsKey","convert","dart:_interceptors#_addAllFromArray","dart:_interceptors#_replaceSomeNullsWithUndefined","dart:_interceptors#_shrBothPositive","dart:_interceptors#_shrOtherPositive","dart:_interceptors#_shrReceiverPositive","dart:_interceptors#_tdivFast","dart:_interceptors#_tdivSlow","dart:_internal#_source","dart:_js_helper#_addHashTableEntry","dart:_js_helper#_computeFieldKeys","dart:_js_helper#_execGlobal","dart:_js_helper#_fieldKeys","dart:_js_helper#_getFieldValues","dart:_js_helper#_keys","dart:_js_helper#_modified","dart:_js_helper#_nativeGlobalVersion","dart:_js_helper#_newHashTable","dart:_js_helper#_newLinkedCell","dart:_js_helper#_toString","dart:_rti#_bind","dart:_rti#_eval","dart:async#_addListener","dart:async#_asyncComplete","dart:async#_asyncCompleteError","dart:async#_asyncCompleteWithValue","dart:async#_chainForeignFuture","dart:async#_chainFuture","dart:async#_cloneResult","dart:async#_completeError","dart:async#_completeWithValue","dart:async#_prependListeners","dart:async#_removeListeners","dart:async#_reverseListeners","dart:async#_setChained","dart:async#_setErrorObject","dart:async#_thenAwait","dart:convert#_computeKeys","dart:convert#_convert","dart:convert#_convertGeneral","dart:convert#_decodeRecursive","dart:convert#_fillBuffer","dart:convert#_process","dart:convert#_upgrade","dart:convert#_writeReplacementCharacter","dart:convert#_writeSurrogate","dart:core#_computeScheme","dart:core#_enumToString","dart:core#_errorExplanation","dart:core#_errorName","dart:core#_text","decode","decodeGeneral","decoder","elementAt","end","fillRange","find","first","fold","forEach","fragment","handleError","handleSearch","hasAuthority","hasFragment","hasPort","hasQuery","hashCode","hideSuggestions","host","indexOf","initialize","internalComputeHashCode","internalFindBucketIndex","internalGet","invalidValue","isAbsolute","isNegative","iterator","join","keys","last","length","listBox","matchTypeError","matchesErrorTest","memberName","moreResults","moveNext","namedArguments","noSuchMethod","normalize","package:dartdoc/src/search.dart#_scope","path","port","positionalArguments","query","queryParameters","registerBinaryCallback","replace","replaceRange","run","runBinary","runGuarded","runUnary","runtimeType","scheme","searchResults","setEventListeners","showSearchResultPage","sort","stackTrace","startsWith","sublist","substring","then","toString","updateSuggestions","uri","userInfo","values","Rti._unstar","isTopType","_Universe._canonicalRecipeOfStar","_Universe._canonicalRecipeOfQuestion","_Universe._canonicalRecipeOfFutureOr","_Universe._canonicalRecipeOfBinding","_Universe._canonicalRecipeOfGenericFunction","Error._stringToSafeString","_Utf8Encoder.withBufferSize","_Utf8Encoder._createBuffer","-","FunctionToJSExportedDartFunction|get#toJS","JSPromiseToFuture|get#toDart","_","_asCheck","_callMethodUnchecked0","_callMethodUnchecked1","_callMethodUnchecked2","_canonicalRecipeOfBinding","_canonicalRecipeOfFunction","_canonicalRecipeOfFunctionParameters","_canonicalRecipeOfFutureOr","_canonicalRecipeOfGenericFunction","_canonicalRecipeOfInterface","_canonicalRecipeOfQuestion","_canonicalRecipeOfRecord","_canonicalRecipeOfStar","_chainSource","_cloneResult","_combineSurrogatePair","_completeError","_computeIdentityHashCodeProperty","_computeUri","_containsTableEntry","_createBindingRti","_createBuffer","_createFunctionRti","_createGenericFunctionParameterRti","_createInterfaceRti","_createLength","_createRecordRti","_createTerminalRti","_createTimer","_equalFields","_error","_errorTest","_failedAsCheckError","_findRule","_future","_getBindCache","_getBindingArguments","_getBindingBase","_getBucket","_getCachedRuntimeType","_getEvalCache","_getFunctionParameters","_getFutureOrArgument","_getGenericFunctionBase","_getGenericFunctionBounds","_getGenericFunctionParameterIndex","_getInterfaceName","_getInterfaceTypeArguments","_getIsSubtypeCache","_getKind","_getNamed","_getOptionalPositional","_getPrimary","_getProperty","_getQuestionArgument","_getRecordFields","_getRecordPartialShapeTag","_getRequiredPositional","_getReturnType","_getRti","_getRuntimeTypeOfArrayAsRti","_getSpecializedTestResource","_getStarArgument","_getTableBucket","_getTableCell","_hasError","_hasProperty","_hasTimer","_initializeText","_installRti","_isChained","_isCheck","_isClosure","_isComplete","_isDartObject","_isDotAll","_isFile","_isGeneralDelimiter","_isHttp","_isHttps","_isLeadSurrogate","_isMultiLine","_isPackage","_isRegNameChar","_isSchemeCharacter","_isSubtypeUncached","_isTrailSurrogate","_isUnicode","_isUnreservedChar","_isUpgraded","_isZoneIDChar","_keysFromIndex","_lookupAnyRti","_lookupDynamicRti","_lookupErasedRti","_lookupFutureRti","_lookupNeverRti","_lookupVoidRti","_mayAddListener","_mayComplete","_name","_newJavaScriptObject","_objectToString","_ofArray","_onError","_onValue","_parseRecipe","_processed","_recipeJoin","_removeListeners","_sameShape","_scheduleImmediate","_setAsCheckFunction","_setBindCache","_setCachedRuntimeType","_setCanonicalRecipe","_setError","_setErrorObject","_setEvalCache","_setIsTestFunction","_setKind","_setNamed","_setOptionalPositional","_setPrecomputed1","_setPrimary","_setPropertyUnchecked","_setRequiredPositional","_setRest","_setSpecializedTestResource","_setValue","_shapeTag","_startsWithData","_stringToSafeString","_target","_theUniverse","_unstar","_upgradedMap","_whenCompleteAction","_writeAuthority","_writeOne","_writeString","_zone","allocate","apply","arrayAt","arrayConcat","arrayLength","arraySplice","asBool","asInt","asRti","asRtiOrNull","asString","as_Type","castFrom","charCodeAt","checkGrowable","checkMutable","checkString","codeUnits","collectNamed","compare","constructorNameFallback","convertSingle","decodeQueryComponent","defineProperty","dispatchRecordExtension","dispatchRecordIndexability","dispatchRecordInterceptor","dispatchRecordProto","encode","encodeQueryComponent","environment","erasedTypes","evalCache","evalTypeVariable","fieldADI","fromCharCode","fromJson","fromList","fromMap","future","getDispatchProperty","getIndex","getLegacyErasedRecipe","getLength","getName","getProperty","getRuntimeTypeOfInterceptorNotArray","group","handleNamedGroup","handleOptionalGroup","handleStartRecord","handleUncaughtError","handleValue","handleWhenComplete","handlesComplete","handlesValue","hasErrorCallback","hasErrorTest","hasMatch","hasScheme","hash2","hash3","hash4","identityHashCode","instanceTypeName","interceptorFieldName","interceptorsByTag","internalSet","isAccessor","isArray","isDigit","isEmpty","isGetter","isIdentical","isNaN","isNotEmpty","isRequired","isUnicode","jsHasOwnProperty","jsonDecode","jsonEncodeNative","leafTags","listToString","lookupSupertype","lookupTypeVariable","makeFixedListUnmodifiable","makeListFixedLength","map","mapGet","mapSet","markGrowable","notSimple","objectKeys","objectToHumanReadableString","parseHexByte","pop","position","printToConsole","propertyGet","provokeCallErrorOnNull","provokeCallErrorOnUndefined","provokePropertyErrorOnNull","provokePropertyErrorOnUndefined","push","pushStackFrame","receiverFieldName","recipe","removeSelectedElement","replaceAllMapped","sharedEmptyArray","shouldChain","showEnterMessage","showSuggestions","splitMapJoin","stack","start","staticInteropGlobalContext","stringConcatUnchecked","stringIndexOf","stringIndexOfStringUnchecked","stringReplaceRangeUnchecked","stringSafeToString","stringSplit","suggestionElements","suggestionsInfo","thenAwait","toGenericFunctionParameter","toList","toLowerCase","toUpperCase","tryParse","tryStringifyException","typeRules","typed","universe","unmangleGlobalNameIfPreservedAnyways","unmodifiable","unvalidated","withBufferSize","write","writeAll","writeCharCode"], + "mappings": "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EEA,UACAA;AAEAA,kBACSA;AACPA,WACEA,gBACKA,kBACLA,MAGJA,QACEA;KAG4BA;AAGvBA,2CACHA,UAAMA;AAERA,OAGJA;AAGgCA;KAFRA,eAEfA;KAKSA,cAAqCA;AAErDA,WACSA,iBAGXA,OAxiBFA,eAyiBAA,C;EA2McC,GAmDDA;iBnBhiGoC7Q;AmBoiGlC6Q;AAOFA;AAaAA;AAUTA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AAGAA,KADIA;AAGAA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AACAA;AACAA;AAEIA;AACJA;AACAA;AACAA;AAEIA;AACJA;AACAA;AAKAA,KADIA;AAGAA;AACJA;AACAA;AACAA;AAEAA,QACFA,C;EAWIC,YACWA;AAEbA,oBACcA;AAEDA;GAGMA;AACTA;WAGVA,QACFA,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EC71IAC,aACiBA;AACf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", + "x_org_dartlang_dart2js": { + "minified_names": { + "global": "A,1020,B,1191,C,187,D,905,E,126,F,838,G,316,H,1245,I,954,J,918,K,140,L,846,M,858,N,908,O,915,P,921,Q,1250,R,965,S,1184,T,837,U,1092,V,100,W,144,X,1199,Y,253,Z,845,a,42,a0,878,a1,904,a2,913,a3,1198,a4,958,a5,962,a6,1171,a7,975,a8,994,a9,1254,aA,1081,aB,1125,aC,284,aD,117,aE,88,aF,60,aG,124,aH,45,aI,847,aJ,854,aK,864,aL,865,aM,869,aN,873,aO,874,aP,893,aQ,895,aR,897,aS,903,aT,906,aU,907,aV,912,aW,923,aX,935,aY,936,aZ,937,a_,837,aa,110,ab,372,ac,55,ad,53,ae,52,af,13,ag,859,ah,866,ai,899,aj,19,ak,925,al,970,am,125,an,134,ao,1200,ap,1253,aq,850,ar,851,as,837,at,1247,au,919,av,924,aw,934,ax,971,ay,973,az,1005,b,1216,b0,99,b1,944,b2,951,b3,1169,b4,957,b5,325,b6,962,b7,989,b8,995,b9,999,bA,857,bB,862,bC,863,bD,326,bE,867,bF,882,bG,889,bH,892,bI,896,bJ,51,bK,537,bL,1237,bM,927,bN,928,bO,929,bP,930,bQ,931,bR,932,bS,933,bT,938,bU,939,bV,941,bW,948,bX,949,bY,56,bZ,955,b_,940,ba,1137,bb,1021,bc,1022,bd,1023,be,1024,bf,1025,bg,1034,bh,1038,bi,1052,bj,1108,bk,1112,bl,1182,bm,1040,bn,1041,bo,1128,bp,1050,bq,1063,br,1100,bs,1101,bt,109,bu,252,bv,393,bw,836,bx,315,by,837,bz,268,c,868,c0,972,c1,974,c2,323,c3,976,c4,1238,c5,987,c6,988,c7,996,c8,997,c9,998,cA,884,cB,884,cC,885,cD,894,cE,900,cF,901,cG,534,cH,909,cI,910,cJ,914,cK,922,cL,926,cM,942,cN,945,cO,946,cP,950,cQ,1236,cR,956,cS,959,cT,963,cU,966,cV,1243,cW,977,cX,978,cY,979,cZ,980,c_,324,ca,1001,cb,1003,cc,1017,cd,1018,ce,1019,cf,1026,cg,1027,ch,1033,ci,1035,cj,1036,ck,1181,cl,1039,cm,146,cn,17,co,47,cp,837,cq,852,cr,853,cs,860,ct,861,cu,870,cv,871,cw,327,cx,879,cy,880,cz,881,d,960,d0,982,d1,983,d2,984,d3,986,d4,990,d5,991,d6,992,d7,993,d8,1000,d9,1002,dA,137,dB,1042,dC,1043,dD,1044,dE,1045,dF,1046,dG,1047,dH,1048,dI,1226,dJ,1049,dK,1051,dL,1051,dM,289,dN,1070,dO,1070,dP,1071,dQ,1072,dR,1073,dS,1087,dT,1088,dU,1091,dV,814,dW,1141,dX,1147,dY,1155,dZ,1178,d_,981,da,1006,db,1007,dc,1008,dd,1009,de,1010,df,1010,dg,1010,dh,1011,di,1012,dj,1013,dk,1014,dl,1015,dm,1016,dn,1062,dp,1028,dq,1029,dr,1030,ds,379,dt,1031,du,1032,dv,1032,dw,1032,dx,1032,dy,259,dz,1037,e,917,e0,14,e1,1212,e2,1212,e3,1212,e4,789,e5,789,e6,1214,e7,1215,e8,1238,e9,1218,eA,1098,eB,280,eC,131,eD,1148,eE,68,eF,39,eG,1,eH,1213,eI,18,eJ,0,eK,816,eL,1142,eM,1261,eN,1177,eO,1057,eP,1060,eQ,1093,eR,1138,eS,1246,eT,1192,eU,1263,eV,1227,eW,1219,eX,1159,eY,1225,eZ,1221,e_,1201,ea,83,eb,373,ec,1241,ed,1241,ee,834,ef,844,eg,1224,eh,902,ei,837,ej,1078,ek,1222,el,953,em,1084,en,1189,eo,837,ep,1103,eq,1107,er,1109,es,1095,et,1079,eu,1118,ev,1127,ew,1151,ex,385,ey,127,ez,164,f,916,f0,1186,f1,1262,f2,1089,f3,1240,f4,1247,f5,1168,f6,837,f7,1085,f8,1099,f9,1176,fA,1152,fB,1153,fC,1235,fD,250,fE,172,fF,174,fG,180,fH,263,fI,265,fJ,264,fK,262,fL,136,fM,154,fN,185,fO,247,fP,171,fQ,163,fR,389,fS,260,fT,281,fU,183,fV,369,fW,276,fX,94,fY,390,fZ,267,f_,1102,fa,837,fb,1156,fc,1195,fd,1244,fe,837,ff,1135,fg,1239,fh,1249,fi,1172,fj,1056,fk,1170,fl,1173,fm,1208,fn,1238,fo,1255,fp,1104,fq,1105,fr,1110,fs,1111,ft,1166,fu,1077,fv,1080,fw,1097,fx,1123,fy,1126,fz,1132,h,121,h0,1165,h1,122,h2,1203,h3,43,h4,23,h5,56,h6,82,h7,1242,h8,46,h9,22,hA,837,hB,1061,hC,1174,hD,1175,hE,1193,hF,1197,hG,1150,hH,1149,hI,1252,hJ,875,hK,876,hL,985,hM,886,hN,887,hO,888,hP,1220,hQ,1190,hR,1204,hS,1223,hT,1059,hU,1134,hV,1194,hW,837,hX,1065,hY,837,hZ,1210,h_,1160,ha,1228,hb,1229,hc,1230,hd,1231,he,1232,hf,1233,hg,1257,hh,1258,hi,1259,hj,1260,hk,1096,hl,1124,hm,1154,hn,1075,ho,1076,hp,1140,hq,835,hr,839,hs,840,ht,841,hu,842,hv,843,hw,848,hx,849,hy,1183,hz,1217,i,24,i0,1133,i1,1161,i2,1185,i3,1251,i4,1261,i5,1083,i6,1146,i7,967,i8,968,i9,969,iA,1054,iB,1058,iC,1086,iD,1113,iE,1114,iF,1116,iG,1117,iH,1119,iI,1120,iJ,1121,iK,1122,iL,1129,iM,1130,iN,1131,iO,1139,iP,1064,iQ,1115,iR,1180,iS,160,iT,182,iU,162,iV,266,iW,371,iX,101,iY,370,iZ,380,i_,1082,ia,1136,ib,1090,ic,1143,id,1144,ie,1145,ig,1055,ih,1205,ii,1206,ij,1207,ik,1209,il,1211,im,1256,io,837,ip,1196,iq,1053,ir,1066,is,1067,it,1068,iu,1069,iv,1106,iw,1157,ix,1158,iy,1187,iz,1188,j,964,j0,98,j1,152,j2,147,j3,153,j4,148,j5,388,j6,387,j7,145,j8,141,j9,128,jA,1162,jB,1163,jC,1164,jD,1167,jE,61,jF,89,jG,40,jH,138,jI,57,jJ,1202,jK,76,jL,130,jM,129,jN,378,jO,378,jP,87,jQ,85,jR,86,jS,123,jT,142,jU,244,jV,77,jW,394,jX,84,jY,1234,jZ,391,j_,368,ja,1094,jb,58,jc,158,jd,248,je,151,jf,175,jg,159,jh,251,ji,179,jj,150,jk,161,jl,330,jm,384,jn,274,jo,288,jp,184,jq,273,jr,283,js,282,jt,277,ju,275,jv,119,jw,118,jx,188,jy,54,jz,41,k,872,k0,278,k1,1248,k2,91,k3,95,k4,392,k5,44,k6,855,k7,856,k8,816,k9,877,kA,176,kB,178,kC,177,kD,181,kE,834,kF,836,kG,835,kH,75,k_,93,ka,952,kb,837,kc,1228,kd,1229,ke,1230,kf,1231,kg,1232,kh,1233,ki,1257,kj,1258,kk,1259,kl,1260,km,1142,kn,1096,ko,1124,kp,1154,kq,1075,kr,1076,ks,1140,kt,165,ku,167,kv,166,kw,168,kx,170,ky,169,kz,173,l,947,m,911,n,890,o,891,p,898,q,245,r,1074,t,1179,u,943,v,1004,w,883,x,920,y,961,z,837", + "instance": "A,1302,B,1361,C,1342,D,1367,E,1336,F,1265,G,1366,H,1281,I,1282,J,1383,K,1397,L,1311,M,1319,N,1290,O,1363,P,1390,R,1394,S,1306,T,1310,U,1315,V,1286,W,1332,X,1274,Y,1275,Z,1353,a0,1377,a1,1268,a2,1389,a3,1304,a4,1312,a5,1322,a6,1330,a7,1331,a8,1299,a9,1300,aA,1329,aB,1295,aC,1297,aD,1375,aE,1316,aF,1285,aG,1318,aH,1301,aI,1271,aJ,1272,aK,1276,aL,1277,aM,1279,aN,1339,aO,1343,aP,1345,aQ,1346,aR,1347,aS,1348,aT,1349,aU,1353,aV,1355,aW,1356,aX,1359,aY,1362,aZ,1370,a_,1364,aa,1313,ab,1314,ac,1326,ad,1270,ae,1278,af,1279,ag,1280,ah,1345,ai,1351,aj,1352,ak,1354,al,1358,am,1360,an,1379,ao,1380,ap,1382,aq,1387,ar,1398,au,1398,av,1291,aw,1305,az,1309,b0,1376,b1,1381,b2,1400,b3,1401,b4,1402,b5,1403,b6,1264,b7,1273,b8,1273,b9,1269,bA,1333,bB,1334,bC,1335,bD,1337,bE,1338,bF,1340,bG,1341,bH,1341,bI,1344,bJ,1345,bK,1345,bL,1357,bM,1368,bN,1369,bO,1372,bP,1374,bQ,1378,bR,1381,bS,1384,bT,1384,bU,1385,bV,1385,bW,1386,bX,1387,bY,1400,bZ,1273,b_,1373,ba,1391,bb,1392,bc,1393,bd,1396,be,1399,bf,837,bg,1283,bh,1307,bi,1308,bj,1292,bk,1328,bl,1320,bm,1321,bn,1293,bo,1294,bp,1323,bq,1296,br,1298,bs,1324,bt,1284,bu,1317,bv,1287,bw,1288,bx,1289,by,1325,bz,1327,gB,1361,gG,1366,gN,1290,gO,1363,gP,1390,gR,1394,gW,1332,ga0,1377,ga2,1389,ga6,1330,ga7,1331,gaD,1375,gaO,1343,gaQ,1346,gaR,1347,gaS,1348,gaT,1349,gaX,1359,gaZ,1370,ga_,1364,gaj,1352,gal,1358,gam,1360,gan,1379,gao,1380,gb0,1376,gb3,1401,gb4,1402,gb5,1403,gbC,1335,gbD,1337,gbF,1340,gbN,1369,gbO,1372,gbQ,1378,gbZ,1273,gbq,1296,gbr,1298,gl,1365,gn,1350,gp,1176,gt,1388,h,1399,i,1303,j,1397,k,1266,l,1365,m,1371,n,1350,p,1176,q,1267,sl,1365,t,1388,u,1395,v,1395" + }, + "frames": "4zHA6HegkDyB;oCAKAAyB;eAKCbG;kBACeDE;gEAIlBAE;KAGOFO;iGAaA9iDAA8CgBCeANKyEuC,A,I;qMATrCxEAAmB0BDeAVWyEoC,A,AAUvCm+CkC,A;8QG9HSmEIAsCwB2CyB,A;2FArBxB3CIAqBwB2CyB,A;8GAohBblHuB;u7EEnkBLtuByC;QAEFokByC;sXEsSFpkB2C;QAEFokB2C;eAuqBwBpkBsB;0xBNl7Bb01BuB;uEA6BL9GG;oQAuJqBtJqC;6gBA8JlB6LiB;cAAAAa;yCAuBQ5CS;gJAYV4CiB;6FAqBLyDAARFzCiB,A;+FAkBWaW;4dAyV4BtBO;qCAYjB7jDAArrBxBmyBU,A;oEA4tByC0xBY;ulBAmGCIAW77BzBJO,A;qGX28ByBIAW38BzBJO,A;8SXm/BZKO;8JAAAAO;wCAmBqB/QG;0JAuCOxGoB;2KAgCnBAwB;gBASAAuB;8DAyCAxaqC;wfAyQZAmR;iZA4MAAW;qfA0DyBAW;0WAkCJAW;eAOpBAkC;6BAIiB2boD;OAChB3bU;0DAOCs1BI;cAIgBt1BwC;2JASjBAU;0EAiCmBAW;sCAGtBAc;4JAsEK8vBQ;oCAEDFK;AACEAK;wKAyDR5vBAY34D8BAgE,A;keZ4iE1BAkC;cAEAA0D;y4CAyPEA4D;6sBAqF6BoxBuC;AACHwCmC;yEA4HtB3jDAUx+DTCMA3B4By8Cc,A,M;qDVyhElB3sBiD;kKAuJXAY;4ECriFOqzBI;YACc3iDAAsE3BDAFlJAi+CyB,kF,A;QE4E2Bh+CAAuEpBm+CE,A;OAtEWwEI;uBAKK1iDAAzCJ0gDkB,AAAZgCI,A;6CA+CMAI;YACkB3iDAAyD/BDAFlJAi+CyB,kF,A;QEyF+Bh+CAA0DxBm+CE,A;OAzDWwEI;uBAGK1iDAApDJ0gDkB,AAAZgCS,A;4EA0EE3iDAA+BTDAFlJAi+CyB,kF,A;QEmHSh+CAAgCFm+CE,A;sDAvBEj+CAA2BTHAFvJAi+CsB,A,0BEuJAj+CkF,A;QA3BSGAA4BFi+CE,A;+DAfoCuDqB;UAElCxhDAAYTHAFvJAi+CsB,A,0BEuJAj+CkF,A;QAZSGAAaFi+CE,A;gEAMPp+CAF9JAi+CyB,6B;yJE0K2C0DoB;gLAsCjCfmB;0KAaF5gDAF7NRi+CyB,mG;2DE2O2B2E4D;wTA+EXliDc;ygBcpRPIAA9FFmjDqB,A;2IA4OP9TADjBI5gBgD,A;WCiBJmV0B;AAC+Dmfa;AAA7DwBQ;oBACAAI;iBACmB1WQ;AAErB0WQ;64CE80BuChQiB;wiBPv7Bd8HG;gBAIjB5BW;AADuC7DAAgK/BwFQ,A;WAtJOvDO;AAFAwDG;gBAGf5BiB;AAD0CjFAAgKlC4GM,A;gBApFCrGAAzBsBoGG,A;oCA2BECG;uCA2JzBEG;sBAgJMlBmB;kEAyEPrFAA/YwBoGG,A;mEAwZbCG;sEAMAAG;sEAMAAG;sEAMWvGG;uDAMkBDAA7WvC0GK,A;aAgXGnHAApWHiHG,A;uBAsWQlHG;6EAQHoBAApWIJO,A;AAqWJGG;sEAMIGAAlVT4FG,A;uBAqViC7GG;6EAU5BGQ;AACDsGQ;uBAGDvGAAzVH2GG,A;gFAgWIzGAAtVJwGG,A;sBA0VULO;uIAeNEkB;yBAGDII;mFAaCJkB;0BAImBFO;AACEAS;AACtBMM;sFAcK7FsB;AAIANK;iBAGQDK;8CAMiB4FAAxRRntBc,A;AAyRrBmsBM;AAEAJM;AAEADK;sHAwCF6BM;yDAaZ9EK;sEAuBFEG;cAIOyIoB;mSAkFkB3ImD;uBAKvB8De;uDAeYUI;uBAEN76CQAvZUm6CoB,A;mEAgee54CAGz5BtBi0CqB,A;aHy5BsBj0CAGz5BtBi0CW,A;CH05BKh0CgBAlFlB60CiB,A;uCAsFciFO;GAEL0DoB;OAAwBvJO;wBAOM/zCO;AAA9B0yCG;gBAA8B1yCAAKrCq3CY,A;SAS0BsEW;AADVvgB0B;iBAGXtPAAmCTAAAAAAAACMurBG,A,A,W;SAlC6BoBoB;AAE/Bz4CG;AADO0yCG;gBACP1yCAAfAq3CY,A;sDAuBWr7CQAhiBoBy8Cc,A;mCAwiBtBr4CQAhiBSq4CgB,A;mBAmiBfz8CMA3iB4By8CkB,A;oBAgjBVn6CMA1hBHm6CoB,A;gEA0lBlBl4CAAoiF6B+uC+B,A;6BAjiFzB8DG;qEAcYsFAAr/BYzEAAuKhBwFQ,A,A;AA+0BQrGAAl7BeoGG,A;0KA87BnBvGAA33BJ0GG,A;IA43BMzGiB;AAYdiFU;sEAUC33CQA8BmBmzCAA15BZgGI,A,AA25BMjGI,A;+DArBXgBC;AADPgDK;0CAsCAn3CAAg8E6B+uC0B,A;mEAr7EtBaC;AADPgHK;+BAKW/DAAnhCwBoGG,A;kEAwhCCvFAAr7BxBwFK,A;eAs7B4B5GAA56B5B4G2B,A;gHAu7BChBc;gDAeN/DI;AADOjBAA18BFgGO,A;mDAo9BFzFG;iBAKVaG;6GAsBOyIoB;YACGtJG;iBAKVaG;uFA0BWHU;+DAYAAU;uCAWTvC0B;qJAuCc9PuB;mBAiBTqSc;AADSgEAAzwChBtFAAoEmCoGQ,A,AApEPvFAAuKhBwFK,A,A;QAmmCQ5GAAzlCR4GS,A;MA2lCmBhBiB;AAD3B/DI;kiDA2NmB2EQ;qBAEDIO;sCAYA9FAAv1CVgGM,A;AAw1CKjGG;qCAMG2FQ;AACFsHkB;AACEtHU;gEAOGIO;gBAELEI;0GAaMNQ;oLAgBFIO;AACjBl5CAAo+DwB+uCAAK/BhoCAAGa8rCAA58GwBoGG,A,A,wCAy8GhBr2CAAgBdu6Ca,A,K,A;2DAh/DY7JAAv3CCNO,A;AAw3CeXM;AAEbgBM;AACcyFW;AAEd/FM;AACc+FW;AACNhGM;AACPgGQ;0DASCIQ;2DAUEAQ;oEAYbFM;yBAIIEe;AAEJEI;kGA6BAvGAApjDwBoGG,A;wIA6jDdvFAA19CTwFK,A;cAy+CahGAAp+CbgGG,A;cAs+CSrGAA9kDcoGG,A;uEAulDV3GAA1+Cb4GS,A;mBA++CIxGAAzhDJ0GI,A;GAkiDMzGG;4HAgBOJAAz/Cb2GM,A;AA0/CG1GG;eAODCAAv/CIOG,A;gDA+/CFiOuB;yDAoLPpPAAHKiPG,S;uBAKPjPAALOiPG,I;oCAWDrGO;+DAKOxBI;AACPvDgB;oGAiBOoLM;wBA4BArGM;aAWHyDS;AADPxDe;oBAGFpEyB;AACH6HW;gCAMS/LG;cAGV8Ea;AAEagHW;oBAET5HuB;AACH6HW;kCAKSpMG;cAGV8EgB;AAEuBhcAApuDfueI,A;AAquDK8EW;gCAGXrLAA95D6BoGS,A;AA+5DdjHQ;AAKhBmMW;mBAqCHvHS;AACAOQ;qBAuFe+GW;AADPxDW;oBAGsBnJAAIpBmHAAz3DPntBsB,A,AA03DH6rBM,AACALM,W;AANG9CAApFAkKC,AAAOzDa,A;qBAiGKwDS;AAFN1NAA/CK3VAAz0DJueW,A,A;AAy3DFsBW;oCAGLzGAAnGAkKC,AAAOzDa,A;0CA0GO7HAAzjEgBoGG,A;oEAikEvBPAAn5DPntBsB,A;AAo5DH6rBM;AACAIK;CACATM;4BAQemHS;AAFN5NAAzEKzVAA30DJueW,A,A;AAq5DFsBW;oCAGLzGAA/HAkKC,AAAOzDa,A;4CAsIO7HAArlEgBoGG,A;0DA0lEZ3GAA7+DX4GS,A;2FAm/DaxFAA7/DbwFG,A;IA8/DiBrGAAjmEMoGc,A;AAmmEd3GAAt/DT4GI,A;gCA6/DARAA57DPntBsB,A;AA67DH6rBM;AACAIK;CACATM;4BAQemHS;AAFN/NAAhHKtVAA70DJueW,A,A;AA87DFsBW;oCAGLzGAAxKAkKC,AAAOzDa,A;wCA+KO7HG;0DAMV8CgB;qCAKG+CAA39DPntBsB,A;AA49DH6rBM;AACAIK;CACATM;0BAOemHsB;AADPxDW;oBAIRvJAAKUuHAA7+DPntBsB,A,AA8+DH6rBO,AACAIM,AACATM,W;AATG9CAAtMAkKC,AAAOzDa,A;8BAqNM5BQ;sCAEIIG;AACCreAAj/DXueI,A;kCA0/DMNQ;qCAGmBFO;AACZIwB;AAIPEK;AACKreAAngEXueI,A;uCAuhED/IAAVOyIU,mB;AAYDoFG;AADPxDW;oBAIOtJAAKLsHAAziEPntBsB,A,AA0iEH6rBM,AACAIM,AACAGS,AACgBmBW,AAEdvBI,AAA6BqBK,AAE/B7BM,W;AAdG9CAAlQAkKC,AAAOzDa,A;yCAsSN7HAArvE6BoGY,A;AAsvErBhHAAvqEFiHG,A;AAyqEDLG;AAAgB7GkB;QAEhBhCGAjBLnVAAnjEMueuB,A,A;AAskEK8EG;AADPxDW;oBAIO1JAAKL0HAAtlEPntBsB,A,AAulEH6rBO,AACAIM,AACAGM,AACAZM,W;AAVG9CAA/SAkKC,AAAOzDa,A;qBAyUDnKoC;AAEM2NC;AADPxDW;oBAIRpJAAKUoHAApnEPntBsB,A,AAqnEH6rBO,AACAIM,AACAGM,AACAZM,W;AAVG9CAA7UAkKC,AAAOzDa,A;qBAoYDzKAAtCPCiB,AADYrVO,AACZqVAAKkBmDM,AACcyFW,AAEd/FM,AACc+FW,AACNhGM,AACPgGsB,oF,AAZvBtCY,A;AAyCiB0HG;AADPxDW;oBAIRxJAAKUwHAA/qEPntBsB,A,AAgrEH6rBO,AACAIM,AACAGM,AACAZM,W;AAVG9CAAxYAkKC,AAAOzDa,A;uBAgaDtKSAPHvVAAlrEIuewB,A,A;AA2rEK8EC;AADPxDW;sCAGLzGAApaAkKC,AAAOzDa,A;sDA8aQ5BQ;kCAICIQ;AACXrGAAl4EyBoGe,A;uEAm5EvBPAAruEPntBsB,A;AAsuEH6rBO;AACAIM;AACAGK;CACAZM;4FAqKoBqIM;AACJQU;kBAGTrGkB;4LAcH0FW;cAIAAW;cAIAAO;MACW+BI;AAAkBxGG;AAAqBiEU;cAIlDQO;AACIuBM;AAA2BQG;AAA3BRAAkWSvHU,A;cA9VbgGO;AAAsBvJM;AAAiBsLW;cAIvC/BO;AAAsBxJM;AAAkBuLW;eAIxC/BO;AAAsBpJM;AAAemLW;cAIrC9BAAgFRDQ,AAAYPS,AACe5FQ,A;iEArEXkIG;AACR/BO;eAIkBzEG;AAAqBiEU;AAC/BzRK;iBAIAgUG;AACR/BO;eAIkBzEG;AAAqBiEU;AAC/BzRK;iBAIAgUG;AACR/BO;eAIkBzEG;AAAqBiEU;AAC/BzRK;cAIRiSW;AACACAAqCRDQ,AAAYPS,AACe5FQ,A;sCA9BnBoGAA6BRDQ,AAAYPS,AACe5FQ,A;cA1BnB6CAA2KSvbAAoCE2YY,AAAmB2FI,MACtBsCI,AAAkBxGM,AACPvBY,A,AArC3BgGU,AACAAW,A;eAzKQCAAqBRDQ,AAAYPS,AACe5FQ,A;eAlBnB4CAAyKS9BAAqCEbY,AAAmB2FI,MACjBsCI,AAAkBxGM,AACZvBY,A,AAtC3BgGU,AACAAW,A;cAvKYrDAA4KKoEmB,AAGjBfO,AAAmB1QkB,AACnB0QW,AACACAApKADQ,AAAYPS,AACe5FQ,A,M;wCANhB2FU;aACGuCI;AAAkBxGK;sDAWrBjBkB;uCAIX0FU;uEAQW1FkB;0FAIyCyDoB;kBAM7BzOmB;SAKbySM;AAAkBxGO;AADZGAAhzBD9HAA76DsBoGW,A,AA+6DjBhHAAh2DNiHG,A,UAm2DaxGAA/2Db0GG,A,AAk3DY0EI,+C;AAsyBxBmBO;AAEctEkB;AAGdsEU;4BAMqB+BiB;AAEZvCQ;sBAGTQO;4BAE4BzEc;AAChB3HAA9uFuBoGY,A;AAgvF/BgGO;YAGmCjSK;cAInCiSO;+BA+BKRwB;AAnBYuCa;uCAwBIvCc;aAIbAc;cAIRQkB;WAIJAU;oBAKKRU;iBAGIAwB;AAC0BcmB;AACbAK;UACc/EM;AACmB9BAA3iFlBntBc,A;AA4iFfmsBM;AAEAJM;AAEADK;AACpB4HO;2BASAAO;OAGyB7FY;kFAgCnBqFc;UAERQO;AAAsBrJM;AAAgBoLY;iBAItC/BO;AAAsBzJM;AAAcwLY;0EAOnBjIgB;AAAmB2FI;MACtBsCI;AAAkBxGM;AACPvBY;4DAiBKsGK;8FASZzGQ;+BAEAFI;sBAOAEQ;gCAGAFI;wBAOL/FAAj6FsBoGG,A;4BAm6FRhHAAp1FfiHE,A;IAq1FYlHM;AACP8GQ;gBAEDIK;SAIEjHAA51FNiHM,A;AA61FDrGAA56FwBoGQ,A;wFAm7FbtGU;AACPmGQ;QAEDIK;qEAwDDtG8B;AACGsLW;YAETjJ8B;AACFkJW;0GA8DLpP0B;sBAEY8DAAljGuBoGG,A;wCAyjGnCzyCAA4ZEqsCG,A;0CAtZeqGE;AADHzGAAx7FFwGc,A;YA67FApGAAnkGuBoGsB,A;iCA2kGR3GAA99Ff4GQ,A;0EAu+FM5GAAv+FN4GY,A;wBA2+FMxFAAr/FNwFY,A;qCA6/FIxFAA7/FJwFY,A;qEAghGI5GAAtgGJ4Ga,A;2FAkhGQhGAAvhGRgGY,A;yBAkiGa5GAA7hGb4GS,A;+FAyiGiBhGAA9iGjBgGQ,A;+IAskGI1GM;AACAAM;AACGsGgB;AACAAQ;SAGkBDwB;AACAAwB;oBAGjBKO;AACAAI;kEAOkB3GAApkG1B2GM,A;AAqkGN3GAArkGM2GQ,A;sQAgmGM5FAA1mGN4FQ,A;AA2mGM5FAA3mGN4FU,A;aAgnGsB7GO;AACAAM;AAGdgBM;AAEAAM;AACeyFW;AACAAQ;yBAMf/FM;AAEAAM;AACe+FW;AACAAQ;wCAKAFI;YACbMgB;6BAOaNI;YACbMkB;6BASbNM;YACaMgB;YAMOpGM;AACAAM;AACPgGW;AACAAQ;0BAIFMS;0BAGEAI;2BAIEJM;qCAMcJM;sBAENAM;YACbMkB;+BAQRFM;0DASItGAAvvGH0GM,A;AAwvGG1GAAxvGH0GQ,A;WAswGOvHAAnhDLiPG,I;2CAshDC1HI;YAIMyEI;uBAEH/EQ;AACWlVoBAsLAsUa,AAAjBqHK,A;+BApLWnGK;wBAITzGQ;gBAOFAW;AACAAQ;8BAWImGQ;2BAUAIO;AACAAU;6CAwCA/FM;AACAAM;AACA2FgB;AACAAQ;aAEF1FAA30GFgGM,A;AA40GEhGAA50GFgGG,A;oCAg1GMFO;AACAAU;mCASPrGAAn7GwBoG0B,A;sCAu7GIvFAAp1G3BwFK,A;eAq1G+B5GAA30G/B4GS,A;0DAu1GiBnK+B;uBAQlB8DAA58GwBoGG,A;qDA+/G1BqF4B;AACExFQ;oBAEEMI;4CAOgBlBa;AAAjBqHI;grBS9oHR/NS;4BA2BRjmBU;wBAwGOASApCSumBAAAAvmByB,A,a;uCAmDC0vBE;uMA2DE1vBoB;AAAAssBW;8HAiCPnXM;mLC0PIwTiB;AACIzDG;cAIE1K0D;0IAyBNmOkB;AACIzDI;mBAIE1K0D;4GAuBbv9BgB;uFAuIkBqrCqB;gCAGYnCG;AACxBmKM;sHA+BcIG;2CACDxDK;0CAIboDM;mDA4EIGG;wLAkBTwDwB;wBAMgBnLe;AACFoCsB;AACZ/FyB;gDAcI+FwB;iBAEVoBiB;AAGAZmB;uQG72BQNU;iBAUqBprBqB;qCAKrBorBU;sFAoBkBprBiB;6IAuD3B/iBW;iBCi5EG+iBqB;OAAAAU;0mDEngE+BAsC;kBAQ9BAqC;6CCjbMAkB;iFAoBNkjBG;6aCrCAljBWAwBQgrBAAAANoB,A,A;wGCXuC1qBAZo+BjB8lBoB,A;6zCD92BxBuPgB;wTAiQN5CO;mFAoB8B7HAAL9BiIIdhYwB2CuB,A,A;4ScsgB7Bx1BiC;iDA+DY0xBgB;AAED1EO;0BAGFAO;oBAGEAU;kCAsBO5IW;+FAgHayMmBFltBc1CK,A;cEytBnCYkB;oEAKRiHAAtLgB1GwC,A;qYT5kBX7CASyLSmIAhB4NXzCiB,A,A;QOnZAxHO;6zB2B4vBCoLmB;8EAqBc/1Ba;qBAGpB+1B6B;qBAMK7SG;2sBCrqBa6Ne;+DAGACoB;wDAIAC2B;wHCsrBFzEkH;ysBAAAAS;YAAAAI;8ZAsOTxsBc;yCAIG8yBiF;KAAAAsEA6dAuCO,iG;KA7dAvCyD;OAAAA4C;sNAyNC9yBAnBtPwB8lBkB,A;uiCmB6XnB9lBAnB7XmB8lB4B,A;kmBmB08BvBqPmB;0CAOItnBiC;gMAoCP7NiD;+GAeIAc;2GASX81BApBv8CJ7IO,A;+BoB28CalD0B;+BAGI/pBc;wJAHJ+pBa;2BAqBG/pBc;AAAJ81BoB;2FAYL5SG;0LA4BQljBc;qBAEgBm1B2B;kEAS3BWApBnhDJ7IO,A;+BoBuhDazD2B;+BAGIxpBc;wDAQJkpByB;iLAYkBiM8B;AACfn1Bc;AAAJ81BoB;uFAUiBX4B;AAGtBjSG;gNAeAuG0B;uFAQyB0LkB;wRAoCrBzDa;sFAeAAY;6PA+BE1xBwB;wCAuBNkjBG;yNAiCH2G0C;OAIYyFiC;uCAIA8Fa;kEAYFp1BAnBvzCuB8lB4B,A;oHmBu0CvB9lBAnBv0CuB8lBsB,A;8dmB04CDoD0B;wMAkBpBlpBc;AAAJ81Ba;oBAAAACpBt1DZ7IY,A;+DoBm2DO/JG;gOAwEQ4OAlC92DOJa,A;YkCg3DLAY;mOAsCDA+B;kEAYLAQ;sBAA4CAiB;2mBA0chD1SK;mDAtBgCoPAHjtFdpuBW,A;oRGuuFlBgfS;4nBAg1BQoFe;qLA+PwCpkBAnB9jGlB8lBwB,A;6+GoB9hCvBsHqB;gHC0aEptBAqBktBSAAvC3oCvBAAA9B0B0vBAAAA1vBiC,A,A,yB,A;iOmBuHtByvBqCAIoBrLW,8P;OAJpBqLAAUWrLoB,gB;ySCjHMGc;AAATyLyC;AACUzLC;AAATyL0C;AAEJzLC;AAATyL2C;AAYC7LK;AADAIC;AADLyLc;0EA2E0D8EoB;AACbCY;2BAGP/EO;AAAOAS;AAASAW;WAyS1BzL8B;AAATyLkC;mBACfxL8B;AACUDC;AAAVyLgC;AAE6BzLG;AAATyLgC;AACVzLC;AAAVyLsC;kCAE8BmFiB;AACvB5QoB;mBAIuBAG;AAATyLgC;AACTzLC;AAAVyL0C;mCADOzLoB;gBAOoCuNAP7BzBJa,A;AO8BYnNG;AAATyLsC;AACXzLC;AAAVyLuC;AACsBvsCAAyEV8gCG,AAATyLkD,A;AAzEHxLwB;AAAsB/gCAA2EvBusCQ,A;sBAzEQzLuB;AAGFC+B;AAIPNS;cAGOM2B;AAOPNS;4CAKAxgCAA6BO6gCG,AAATyL+B,AACczLC,AAAVyL+B,AACqBzLG,AAATyL2D,AAEAzLC,AAAVyLoC,AACqBzLG,AAATyL6B,AACVxL6C,AADFDiB,AAHFAiB,A;sCAnBsCyLe;AAErB0BY;gCAMbnNsB;AAESAiB;gCAkB2BwPAPlbrCKO,A;2gBSnDsB7Pc;AAATyLkD;AACMzLC;AAATyLqD;AACazLC;AAATyLmD;AAKrB9LW;2BAEcMyC;AACDA6B;8BAIFwLS;AAASAM;kBAKSzLyC;iCAQHAmC;gCASCAG;AAATyLiD;yBAKiBzLqC;AACRAC;AAATyL0D;OAGiBzLqC;AACPAC;AAATyLkD;0BASkB0BqB;OAIIvNK;AAApCII;AAAPyLgB;yDAuBSmFI;AAAAnF+B;AAEKzLyB;2CAQQyLY;WACyBAQ;KAChCzLY;iICpGGyLS;AAASAM;kBAMNzLG;AAATyL6C;2BAcNxL4B;AAIFNW;eAGoBKG;AAApByLO;AAAOAoC;oWEX0BXmE;yBAkBAA8D;oBEjC5BhsCc;iBAECAAaLV2sCiB,AAAW1LiB,A;gJ7D+TqB0OW;+CAqB5B/CgB;8hBGtLsBlCA2D8FuB/tBiB,A;+B3D9FvB+tBA2D8FuB/tB2B,A;+B3D5F/CiuBiB;8CA4GAAoB;2MAuBAA6B;saAiJO4EIArUwB2Ca,A;2KA6c/BtHqB;oVAsJ4BmEe;gBAaFryBoB;QAAAAW;kJAkD1BkuBuC;gc+C1uBW2Da;AACHAY;4gChB2DD8CiC;mfA6PEDiB;6b7B5VqB10BS;eAAAAe;OAAAAa;8XAoKPAiB;4BAAAAoC;uPEpIGAmB;OAAAAa;+PA2UAAS;mBAAAAe;OAAAAa;85BE9PjBgqBkB;oEAkBFiII;yMR6FiC2DqB;oEAmBpCjEO;mKAYAJO;yFAKMvxBe;sBAEe41BS;6BAGlB51Be;usBA80CqB0xB+B;gvBA85BChFa;AAAeAe;8CAOQAe;8BAOlCjCiC;AACAuIS;kLW59EXhzBkB;uDAAAAU;SAIqB8gBgB;YAAAAAAJrB9gB0B,A;2EAWEwlBAA+PiB6CS,A;oFAhOEAiB;4FAKAAI;gGAUf1BGAgLNyBa,A;2OA/JLkJwCAQWlJI,sF;yLA0EaCI;oFA2BDroB+B;wfAwHlBAU;sBAAAAAA0BTAAAAAAO,A,A;6dE9UI81BAGgnBF7IAA2BuBuHQ,A,A;0BHvoBnBsBAG4mBJ7IAA2BuBuHc,A,A;oBHjoBnBsBO;AAIJAAGkmBA7IAA2BuBuHO,A,A;iDHtnBRjIU;oTAiCHoJAGubLnDM,A;iBHvbKmDa;0GAoDgBxKAAvIIoBO,AAAmBAK,A;AAuIFrGgC;yBAInBqGQ;+HC7FjBjDG;qBAAAA0B;AAAgCMU;AAAYZW;sFAmFlDhpBW;oCAgDOs0BG;QAAAAW;4BAQkBpEK;iNAuElBoEkB;AAIItCAA5GEpIe,A;4EA+GVD0B;mrCJ3JHz5CiB;iBAAAAAAoZ0By8CqB,A;eA9YDr4CMAsZZq4CqB,A;4aSjahBnEkB;uaAsKAxoBc;gMCxQQwqBW;iEAQZnFQ;2EAgBYmFW;qFA4HPoGW;oBACE1DY;AAA6B9GI;8CAazB8GK;kGAQLwDU;qTAsIkBvbW;kGAoBAnVuC;QACPijBwD;wDASOjjB+B;QACPg1ByD;4GAoGbzKG;6CAQiBrFQ;AACL4DY;sBAQd7rCgB;gFAQEstCG;kGAiBiBrFQ;AACL4DY;iCAQd7rCgB;iSAgKFqvCW;mCAQAbmB;iGA8DAxuCmB;iGAwBAAmB;8jBAwEyBuzCGAjnBlBtDS,AAAUJa,A;gCAmnBwB3GE;2BACDAQ;mDAOc2CiB;AAC3BRmB;IACqBnCI;+LAkBjBoKC;IAAAAAA1rBxBrDS,AAA+BpCO,A;gIAmsBC3ES;iBAElBwKAA3sBd9FU,A;0DAgtBsB1Ea;6QCssB3BmKU;oe2B1gDwBtwBkB;sBAAAAW;QAAAAa;6CA6QF+tBAalDuB/tBU,A;QbkDvB+tBAalDuB/tB6B,A;sFb6R5BqyBe;oTrBlafyDmB;AACAAAX2hBJ7IU,A;AW1hBI6Ie;qUCIAhMG;sBACK+CS;gDAIMnFI;8DAMCoCa;AAAc+CE;AAAa7LG;8BAMvC8IU;AAAiChJAjBtG9B9gBU,A;AiBsGiB6sBG;iBAAa/LOjBtG9B9gBU,A;QiBuGAAc;+BASH8pBS;CACF+CiB;oGA8BE/CS;WAAoB+CO;QAEjBtEyC;sCA+BHuBS;QAAoB+CS;6CAOVnFI;oCAEqBAM;4FAiClB8NgB;kDAMb1LS;QAAoB+CE;wJA6BnBtE6C;+BAC+BbK;8FA4BrBoCgB;yCASAAU;gCAEclJA1BkZH5gBsB,QAAAAY,A;0d4BpnBbizBqE;wNAqBmBjSqB;oEAQdhhBc;AAAJ81Ba;mBAAAEAdghBM1GoB,A;8FchgBStOQ;+FASvB8UAdkfN7IAA2BuBuHQ,K,A;QczgBkBtRG;kmBsBsE1BljBc;+FAQRkjBG;yDCnCqBrHa;UAAAAI;0ItB/GJ7bAd4+Ba8lBiB,A;Ocz+BV+PAAwCbnQAAG4B1lBAd87BL8lBoB,A,A,c;iCc79BtB/CAdw/BR3Ue,qB;iKcr8BMgXiC;6UAqCAiEU;yTA6IXrpBkB;4BAAAwuBe;0fA6P0BxuBoC;0lBAatBg2BAfyDc1GgB,A;iFehDR0GAfgDQ1GgB,A;ce3CR0GAf2CQ1GgB,A;kBepCR0GAfoCQ1GkB,A;AenCR0GAfmCQ1GC,AAApBrCY,A;yMePQ+IAfOY1GO,A;6FeKhB0GAfLgB1GsB,A;oCecbpMG;8Ff8EMtsBAAntBMm5BI,A;AAmtBf+FAAjGJ7IM,A;AAkGI6IAAlGJ7IU,A;ipCT9KwBxMK;+KSiQNzgB+C;iEAKd81BAAxFJ7IO,A;0HAuGoBr2BAAztBDm5B2C,A;mwDAwBWiDc;sToBgvCpBvEsB;uEAKFAwB;AACAAyB;ueAuNgBhGMA85CbqJAHvhFWJ2B,A,AG2hFlB7Ra,mBAGFiWApBxxEF7IAA2BuBuHY,A,A,AoB8vErBzHOA/BY+EAHhgFQJY,A,AGkgFpBoEApB5vEF7IAA2BuBuHU,A,A,MoBmuEJsBApB9vEnB7IAA2BuBuHQ,A,A,coBsuErBsB4B,A,oBA4BAAApB7xEF7IAA2BuBuHa,A,A,coBswErBsBApBjyEF7IAA2BuBuHU,A,A,A;qLoBk2ByC1SG;qCAA9D9hBG;mVAwac6fG;iBAEIiSAH7iDEJmC,A;qBGujDyBAiB;uHA+jBVhSG;oPA2bjCGmB;IACAwDa;+DAIArDa;sBACA8BK;mBACAhCa;sBADAgCK;iPAtoBekN2C;AACU8CAHl7DPJc,A;AGm7DlBoEApB7qDJ7IS,A;AoB8qDqB+BQ;AAHFAoB;wNAyvCEzJ0FAgBdvlBG,A;0BAhBculB2B;4fA41BAuLU;AAAchRiB;mGAc/BqJgC;aACAC6B;cACAHwB;aACAM+B;4OAaAJ+B;UACAC6B;uMAoDGppBO;AADFggBW;2MAgEe8RAHxpIEJgC,A;wCGkqIkBAiB;oZE7kIlC1xBwB;27BC5cO0xBY;mBAIDyDkB;oIAQWAG;iBACSAG;mKAgDdDM;YAAXxCArCoOA1yBW,A;iBqCpOWk1BW;yGA3BGjRI;EAAAAG;wtBCpDV+LS;AAASAM;2BAKbzLiD;AAEKAmC;iEAaZznBAsBTAs2B2D,A;kYtBoBkBpDc;gCAMETADxBH2CG,A;gBCuBwB/NK;AAAPGwB;QACdiLWDxBH2CmB,AACJQAS0JuB1yBkC,A,AT1Jbk1BgB,aAAAAa,A;AC2BDXO;aAAAvEO;AAAOAY;8CAIf8BAtC+pBQJa,A;2BsC5pBAnNC;AAAhByLO;AAAOAiB;kOAmCezLM;AAATyL+B;AACjBxLiC;AACAAyC;AACAwLsB;AACUzLC;AAAVyL0B;AACAzLc;SACAAc;4EAI8BAM;AAATyL+B;AACXzLC;AAAVyLuC;yEAGgCzLM;AAATyL+B;AACbzLC;AAAVyLoC;gFAYWxLgD;AAEb+PO;AAAS/PC;AAATwLqC;AAUI9LW;eAImBKG;AAATyL+B;AAAyCzLC;AAAVyL6B;AAEzCzLiB;AACACqC;AACAAqC;AACUDC;AAAVyL2B;AAGAzLiB;AACAAc;yBAMAyLO;AAAOAS;AAASAsB;uGA0BSzLwB;AAATyLiD;mCASPzLG;AAATyLmC;AAA6CzLC;AAAVyLiC;AADnCzLiB;AAISAG;AAATyL2D;AADAzLiB;AAISAG;AAATyL+B;AACczLC;AAAVyLiD;2BAFJzLqB;GAMcuNA7B1JIJO,A;mB6B2JpB9QSlC+KwB5gBe,SAAAAS,aAAAAmB,A;AkC/KxBmVM;WAAAAuB;AACcoPsB;AAGWAG;AAATyL+B;AACFzLC;AAAVyL6I;qHAQgBzLG;AAATyL6B;AACPxLsB;AAAqBtB4C;AAEfqBiB;AACEAiB;yBAKZyLsB;AACAxLwC;0GAiBckNQ;gJAYAnNgB;MAIhBuPM;AAEAKUAzFkB7PiB,UAEZ0LuB,AACAxL0C,A;AAuFN0PIAlCqChIuD,qB;yFA4CAwFa;kOAiBrCoCS;kEASatP2B;AAITNS;iBAGSM0B;AAITNS;iBAGSM2B;AAITNS;iBAGSM6B;AA0FTNS;kDApRU8LY;UAAcAS;AAASAiB;AACzB1LmB;AACOAI;2DAsKW0LU;iGAcAAO;gFAOhBAiB;eAMAAgB;AACF1LsB;oBAEoCCG;2CAEtBAI;AAAhByLO;AAAOAiB;0FASOzLI;AAAhByLO;AAAOAiB;AAAgB9MQ;+CAQjB8MqB;6CAMOAuB;aAEb8DY;oBAIa9DgB;8CAKaAQ;qBAQvBzLC;GADAyLkC;qBAMczLC;AAAVyL+B;oEAMqBAsB;AAEHAW;QACQA2B;AAEcAc;AACpC1LuB;gBAMgB0LQ;gGAUzB1LkB;gCAwCFAkB;2DAQYCI;AAAhByLO;AAAOAiB;UACD1LmB;wJEjbYCC;AAAVyLkC;cACczLC;AAAVyL2B;6LAsDEAc;AACczLM;AAATyL6J;AAINzLC;4CAIgCJK;AAAPGwB;YACTCM;AAATyL6C;YAITzLC;8HCvELyLU;AACIxLqC;AACNAqC;AACcAI;AAApBwLO;AAAOAgD;AAEKxLsC;AACNAsC;AACcAI;AAApBwLO;AAAOA4C;6hZ3CswCQsD0G;CAAAAG;6DAUAC8G;CAAAAG;2DAUACuD;CAAAAG;6DAUAC2D;CAAAAG;kJ8B5xBgCjEU;igBKmB/B0BM;" + } +} diff --git a/static-assets/favicon.png b/static-assets/favicon.png new file mode 100644 index 0000000..43d2ffa Binary files /dev/null and b/static-assets/favicon.png differ diff --git a/static-assets/github.css b/static-assets/github.css new file mode 100644 index 0000000..791932b --- /dev/null +++ b/static-assets/github.css @@ -0,0 +1,99 @@ +/* + +github.com style (c) Vasily Polovnyov + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #333; + background: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #998; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-subst { + color: #333; + font-weight: bold; +} + +.hljs-number, +.hljs-literal, +.hljs-variable, +.hljs-template-variable, +.hljs-tag .hljs-attr { + color: #008080; +} + +.hljs-string, +.hljs-doctag { + color: #d14; +} + +.hljs-title, +.hljs-section, +.hljs-selector-id { + color: #900; + font-weight: bold; +} + +.hljs-subst { + font-weight: normal; +} + +.hljs-type, +.hljs-class .hljs-title { + color: #458; + font-weight: bold; +} + +.hljs-tag, +.hljs-name, +.hljs-attribute { + color: #000080; + font-weight: normal; +} + +.hljs-regexp, +.hljs-link { + color: #009926; +} + +.hljs-symbol, +.hljs-bullet { + color: #990073; +} + +.hljs-built_in, +.hljs-builtin-name { + color: #0086b3; +} + +.hljs-meta { + color: #999; + font-weight: bold; +} + +.hljs-deletion { + background: #fdd; +} + +.hljs-addition { + background: #dfd; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} diff --git a/static-assets/highlight.pack.js b/static-assets/highlight.pack.js new file mode 100644 index 0000000..3cf5abc --- /dev/null +++ b/static-assets/highlight.pack.js @@ -0,0 +1,780 @@ +/*! + Highlight.js v11.8.0 (git: d27be507cb) + (c) 2006-2023 Ivan Sagalaev and other contributors + License: BSD-3-Clause + */ +var hljs=function(){"use strict";function e(n){ +return n instanceof Map?n.clear=n.delete=n.set=()=>{ +throw Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=()=>{ +throw Error("set is read-only") +}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach((t=>{ +const a=n[t],i=typeof a;"object"!==i&&"function"!==i||Object.isFrozen(a)||e(a) +})),n}class n{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function t(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function a(e,...n){const t=Object.create(null);for(const n in e)t[n]=e[n] +;return n.forEach((e=>{for(const n in e)t[n]=e[n]})),t}const i=e=>!!e.scope +;class s{constructor(e,n){ +this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){ +this.buffer+=t(e)}openNode(e){if(!i(e))return;const n=((e,{prefix:n})=>{ +if(e.startsWith("language:"))return e.replace("language:","language-") +;if(e.includes(".")){const t=e.split(".") +;return[`${n}${t.shift()}`,...t.map(((e,n)=>`${e}${"_".repeat(n+1)}`))].join(" ") +}return`${n}${e}`})(e.scope,{prefix:this.classPrefix});this.span(n)} +closeNode(e){i(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}const r=(e={})=>{const n={children:[]} +;return Object.assign(n,e),n};class o{constructor(){ +this.rootNode=r(),this.stack=[this.rootNode]}get top(){ +return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ +this.top.children.push(e)}openNode(e){const n=r({scope:e}) +;this.add(n),this.stack.push(n)}closeNode(){ +if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ +for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} +walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){ +return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n), +n.children.forEach((n=>this._walk(e,n))),e.closeNode(n)),e}static _collapse(e){ +"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ +o._collapse(e)})))}}class l extends o{constructor(e){super(),this.options=e} +addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){ +this.closeNode()}__addSublanguage(e,n){const t=e.root +;n&&(t.scope="language:"+n),this.add(t)}toHTML(){ +return new s(this,this.options).value()}finalize(){ +return this.closeAllNodes(),!0}}function c(e){ +return e?"string"==typeof e?e:e.source:null}function d(e){return b("(?=",e,")")} +function g(e){return b("(?:",e,")*")}function u(e){return b("(?:",e,")?")} +function b(...e){return e.map((e=>c(e))).join("")}function m(...e){const n=(e=>{ +const n=e[e.length-1] +;return"object"==typeof n&&n.constructor===Object?(e.splice(e.length-1,1),n):{} +})(e);return"("+(n.capture?"":"?:")+e.map((e=>c(e))).join("|")+")"} +function p(e){return RegExp(e.toString()+"|").exec("").length-1} +const h=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ +;function f(e,{joinWith:n}){let t=0;return e.map((e=>{t+=1;const n=t +;let a=c(e),i="";for(;a.length>0;){const e=h.exec(a);if(!e){i+=a;break} +i+=a.substring(0,e.index), +a=a.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+(Number(e[1])+n):(i+=e[0], +"("===e[0]&&t++)}return i})).map((e=>`(${e})`)).join(n)} +const _="[a-zA-Z]\\w*",E="[a-zA-Z_]\\w*",N="\\b\\d+(\\.\\d+)?",y="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",w="\\b(0b[01]+)",v={ +begin:"\\\\[\\s\\S]",relevance:0},k={scope:"string",begin:"'",end:"'", +illegal:"\\n",contains:[v]},x={scope:"string",begin:'"',end:'"',illegal:"\\n", +contains:[v]},O=(e,n,t={})=>{const i=a({scope:"comment",begin:e,end:n, +contains:[]},t);i.contains.push({scope:"doctag", +begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", +end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) +;const s=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) +;return i.contains.push({begin:b(/[ ]+/,"(",s,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i +},S=O("//","$"),A=O("/\\*","\\*/"),M=O("#","$");var C=Object.freeze({ +__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:_,UNDERSCORE_IDENT_RE:E, +NUMBER_RE:N,C_NUMBER_RE:y,BINARY_NUMBER_RE:w, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const n=/^#![ ]*\// +;return e.binary&&(e.begin=b(n,/.*\b/,e.binary,/\b.*/)),a({scope:"meta",begin:n, +end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)}, +BACKSLASH_ESCAPE:v,APOS_STRING_MODE:k,QUOTE_STRING_MODE:x,PHRASAL_WORDS_MODE:{ +begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ +},COMMENT:O,C_LINE_COMMENT_MODE:S,C_BLOCK_COMMENT_MODE:A,HASH_COMMENT_MODE:M, +NUMBER_MODE:{scope:"number",begin:N,relevance:0},C_NUMBER_MODE:{scope:"number", +begin:y,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:w,relevance:0}, +REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//, +end:/\/[gimuy]*/,illegal:/\n/,contains:[v,{begin:/\[/,end:/\]/,relevance:0, +contains:[v]}]}]},TITLE_MODE:{scope:"title",begin:_,relevance:0}, +UNDERSCORE_TITLE_MODE:{scope:"title",begin:E,relevance:0},METHOD_GUARD:{ +begin:"\\.\\s*"+E,relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{ +n.data._beginMatch!==e[1]&&n.ignoreMatch()}})});function T(e,n){ +"."===e.input[e.index-1]&&n.ignoreMatch()}function R(e,n){ +void 0!==e.className&&(e.scope=e.className,delete e.className)}function D(e,n){ +n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=T,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function I(e,n){ +Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function B(e,n){ +if(e.match){ +if(e.begin||e.end)throw Error("begin & end are not supported with match") +;e.begin=e.match,delete e.match}}function L(e,n){ +void 0===e.relevance&&(e.relevance=1)}const $=(e,n)=>{if(!e.beforeMatch)return +;if(e.starts)throw Error("beforeMatch cannot be used with starts") +;const t=Object.assign({},e);Object.keys(e).forEach((n=>{delete e[n] +})),e.keywords=t.keywords,e.begin=b(t.beforeMatch,d(t.begin)),e.starts={ +relevance:0,contains:[Object.assign(t,{endsParent:!0})] +},e.relevance=0,delete t.beforeMatch +},F=["of","and","for","in","not","or","if","then","parent","list","value"],z="keyword" +;function U(e,n,t=z){const a=Object.create(null) +;return"string"==typeof e?i(t,e.split(" ")):Array.isArray(e)?i(t,e):Object.keys(e).forEach((t=>{ +Object.assign(a,U(e[t],n,t))})),a;function i(e,t){ +n&&(t=t.map((e=>e.toLowerCase()))),t.forEach((n=>{const t=n.split("|") +;a[t[0]]=[e,j(t[0],t[1])]}))}}function j(e,n){ +return n?Number(n):(e=>F.includes(e.toLowerCase()))(e)?0:1}const P={},K=e=>{ +console.error(e)},H=(e,...n)=>{console.log("WARN: "+e,...n)},Z=(e,n)=>{ +P[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),P[`${e}/${n}`]=!0) +},G=Error();function q(e,n,{key:t}){let a=0;const i=e[t],s={},r={} +;for(let e=1;e<=n.length;e++)r[e+a]=i[e],s[e+a]=!0,a+=p(n[e-1]) +;e[t]=r,e[t]._emit=s,e[t]._multi=!0}function W(e){(e=>{ +e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, +delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ +_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope +}),(e=>{if(Array.isArray(e.begin)){ +if(e.skip||e.excludeBegin||e.returnBegin)throw K("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), +G +;if("object"!=typeof e.beginScope||null===e.beginScope)throw K("beginScope must be object"), +G;q(e,e.begin,{key:"beginScope"}),e.begin=f(e.begin,{joinWith:""})}})(e),(e=>{ +if(Array.isArray(e.end)){ +if(e.skip||e.excludeEnd||e.returnEnd)throw K("skip, excludeEnd, returnEnd not compatible with endScope: {}"), +G +;if("object"!=typeof e.endScope||null===e.endScope)throw K("endScope must be object"), +G;q(e,e.end,{key:"endScope"}),e.end=f(e.end,{joinWith:""})}})(e)}function X(e){ +function n(n,t){ +return RegExp(c(n),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(t?"g":"")) +}class t{constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,n){ +n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]), +this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(f(e,{joinWith:"|" +}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex +;const n=this.matcherRe.exec(e);if(!n)return null +;const t=n.findIndex(((e,n)=>n>0&&void 0!==e)),a=this.matchIndexes[t] +;return n.splice(0,t),Object.assign(n,a)}}class i{constructor(){ +this.rules=[],this.multiRegexes=[], +this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ +if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t +;return this.rules.slice(e).forEach((([e,t])=>n.addRule(e,t))), +n.compile(),this.multiRegexes[e]=n,n}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,n){ +this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){ +const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex +;let t=n.exec(e) +;if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{ +const n=this.getMatcher(0);n.lastIndex=this.lastIndex+1,t=n.exec(e)} +return t&&(this.regexIndex+=t.position+1, +this.regexIndex===this.count&&this.considerAll()),t}} +if(e.compilerExtensions||(e.compilerExtensions=[]), +e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") +;return e.classNameAliases=a(e.classNameAliases||{}),function t(s,r){const o=s +;if(s.isCompiled)return o +;[R,B,W,$].forEach((e=>e(s,r))),e.compilerExtensions.forEach((e=>e(s,r))), +s.__beforeBegin=null,[D,I,L].forEach((e=>e(s,r))),s.isCompiled=!0;let l=null +;return"object"==typeof s.keywords&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords), +l=s.keywords.$pattern, +delete s.keywords.$pattern),l=l||/\w+/,s.keywords&&(s.keywords=U(s.keywords,e.case_insensitive)), +o.keywordPatternRe=n(l,!0), +r&&(s.begin||(s.begin=/\B|\b/),o.beginRe=n(o.begin),s.end||s.endsWithParent||(s.end=/\B|\b/), +s.end&&(o.endRe=n(o.end)), +o.terminatorEnd=c(o.end)||"",s.endsWithParent&&r.terminatorEnd&&(o.terminatorEnd+=(s.end?"|":"")+r.terminatorEnd)), +s.illegal&&(o.illegalRe=n(s.illegal)), +s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((n=>a(e,{ +variants:null},n)))),e.cachedVariants?e.cachedVariants:Q(e)?a(e,{ +starts:e.starts?a(e.starts):null +}):Object.isFrozen(e)?a(e):e))("self"===e?s:e)))),s.contains.forEach((e=>{t(e,o) +})),s.starts&&t(s.starts,r),o.matcher=(e=>{const n=new i +;return e.contains.forEach((e=>n.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&n.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n})(o),o}(e)}function Q(e){ +return!!e&&(e.endsWithParent||Q(e.starts))}class V extends Error{ +constructor(e,n){super(e),this.name="HTMLInjectionError",this.html=n}} +const J=t,Y=a,ee=Symbol("nomatch"),ne=t=>{ +const a=Object.create(null),i=Object.create(null),s=[];let r=!0 +;const o="Could not find the language '{}', did you forget to load/include a language module?",c={ +disableAutodetect:!0,name:"Plain text",contains:[]};let p={ +ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +cssSelector:"pre code",languages:null,__emitter:l};function h(e){ +return p.noHighlightRe.test(e)}function f(e,n,t){let a="",i="" +;"object"==typeof n?(a=e, +t=n.ignoreIllegals,i=n.language):(Z("10.7.0","highlight(lang, code, ...args) has been deprecated."), +Z("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +i=e,a=n),void 0===t&&(t=!0);const s={code:a,language:i};O("before:highlight",s) +;const r=s.result?s.result:_(s.language,s.code,t) +;return r.code=s.code,O("after:highlight",r),r}function _(e,t,i,s){ +const l=Object.create(null);function c(){if(!O.keywords)return void A.addText(M) +;let e=0;O.keywordPatternRe.lastIndex=0;let n=O.keywordPatternRe.exec(M),t="" +;for(;n;){t+=M.substring(e,n.index) +;const i=w.case_insensitive?n[0].toLowerCase():n[0],s=(a=i,O.keywords[a]);if(s){ +const[e,a]=s +;if(A.addText(t),t="",l[i]=(l[i]||0)+1,l[i]<=7&&(C+=a),e.startsWith("_"))t+=n[0];else{ +const t=w.classNameAliases[e]||e;g(n[0],t)}}else t+=n[0] +;e=O.keywordPatternRe.lastIndex,n=O.keywordPatternRe.exec(M)}var a +;t+=M.substring(e),A.addText(t)}function d(){null!=O.subLanguage?(()=>{ +if(""===M)return;let e=null;if("string"==typeof O.subLanguage){ +if(!a[O.subLanguage])return void A.addText(M) +;e=_(O.subLanguage,M,!0,S[O.subLanguage]),S[O.subLanguage]=e._top +}else e=E(M,O.subLanguage.length?O.subLanguage:null) +;O.relevance>0&&(C+=e.relevance),A.__addSublanguage(e._emitter,e.language) +})():c(),M=""}function g(e,n){ +""!==e&&(A.startScope(n),A.addText(e),A.endScope())}function u(e,n){let t=1 +;const a=n.length-1;for(;t<=a;){if(!e._emit[t]){t++;continue} +const a=w.classNameAliases[e[t]]||e[t],i=n[t];a?g(i,a):(M=i,c(),M=""),t++}} +function b(e,n){ +return e.scope&&"string"==typeof e.scope&&A.openNode(w.classNameAliases[e.scope]||e.scope), +e.beginScope&&(e.beginScope._wrap?(g(M,w.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), +M=""):e.beginScope._multi&&(u(e.beginScope,n),M="")),O=Object.create(e,{parent:{ +value:O}}),O}function m(e,t,a){let i=((e,n)=>{const t=e&&e.exec(n) +;return t&&0===t.index})(e.endRe,a);if(i){if(e["on:end"]){const a=new n(e) +;e["on:end"](t,a),a.isMatchIgnored&&(i=!1)}if(i){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return m(e.parent,t,a)}function h(e){ +return 0===O.matcher.regexIndex?(M+=e[0],1):(D=!0,0)}function f(e){ +const n=e[0],a=t.substring(e.index),i=m(O,e,a);if(!i)return ee;const s=O +;O.endScope&&O.endScope._wrap?(d(), +g(n,O.endScope._wrap)):O.endScope&&O.endScope._multi?(d(), +u(O.endScope,e)):s.skip?M+=n:(s.returnEnd||s.excludeEnd||(M+=n), +d(),s.excludeEnd&&(M=n));do{ +O.scope&&A.closeNode(),O.skip||O.subLanguage||(C+=O.relevance),O=O.parent +}while(O!==i.parent);return i.starts&&b(i.starts,e),s.returnEnd?0:n.length} +let N={};function y(a,s){const o=s&&s[0];if(M+=a,null==o)return d(),0 +;if("begin"===N.type&&"end"===s.type&&N.index===s.index&&""===o){ +if(M+=t.slice(s.index,s.index+1),!r){const n=Error(`0 width match regex (${e})`) +;throw n.languageName=e,n.badRule=N.rule,n}return 1} +if(N=s,"begin"===s.type)return(e=>{ +const t=e[0],a=e.rule,i=new n(a),s=[a.__beforeBegin,a["on:begin"]] +;for(const n of s)if(n&&(n(e,i),i.isMatchIgnored))return h(t) +;return a.skip?M+=t:(a.excludeBegin&&(M+=t), +d(),a.returnBegin||a.excludeBegin||(M=t)),b(a,e),a.returnBegin?0:t.length})(s) +;if("illegal"===s.type&&!i){ +const e=Error('Illegal lexeme "'+o+'" for mode "'+(O.scope||"")+'"') +;throw e.mode=O,e}if("end"===s.type){const e=f(s);if(e!==ee)return e} +if("illegal"===s.type&&""===o)return 1 +;if(R>1e5&&R>3*s.index)throw Error("potential infinite loop, way more iterations than matches") +;return M+=o,o.length}const w=v(e) +;if(!w)throw K(o.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const k=X(w);let x="",O=s||k;const S={},A=new p.__emitter(p);(()=>{const e=[] +;for(let n=O;n!==w;n=n.parent)n.scope&&e.unshift(n.scope) +;e.forEach((e=>A.openNode(e)))})();let M="",C=0,T=0,R=0,D=!1;try{ +if(w.__emitTokens)w.__emitTokens(t,A);else{for(O.matcher.considerAll();;){ +R++,D?D=!1:O.matcher.considerAll(),O.matcher.lastIndex=T +;const e=O.matcher.exec(t);if(!e)break;const n=y(t.substring(T,e.index),e) +;T=e.index+n}y(t.substring(T))}return A.finalize(),x=A.toHTML(),{language:e, +value:x,relevance:C,illegal:!1,_emitter:A,_top:O}}catch(n){ +if(n.message&&n.message.includes("Illegal"))return{language:e,value:J(t), +illegal:!0,relevance:0,_illegalBy:{message:n.message,index:T, +context:t.slice(T-100,T+100),mode:n.mode,resultSoFar:x},_emitter:A};if(r)return{ +language:e,value:J(t),illegal:!1,relevance:0,errorRaised:n,_emitter:A,_top:O} +;throw n}}function E(e,n){n=n||p.languages||Object.keys(a);const t=(e=>{ +const n={value:J(e),illegal:!1,relevance:0,_top:c,_emitter:new p.__emitter(p)} +;return n._emitter.addText(e),n})(e),i=n.filter(v).filter(x).map((n=>_(n,e,!1))) +;i.unshift(t);const s=i.sort(((e,n)=>{ +if(e.relevance!==n.relevance)return n.relevance-e.relevance +;if(e.language&&n.language){if(v(e.language).supersetOf===n.language)return 1 +;if(v(n.language).supersetOf===e.language)return-1}return 0})),[r,o]=s,l=r +;return l.secondBest=o,l}function N(e){let n=null;const t=(e=>{ +let n=e.className+" ";n+=e.parentNode?e.parentNode.className:"" +;const t=p.languageDetectRe.exec(n);if(t){const n=v(t[1]) +;return n||(H(o.replace("{}",t[1])), +H("Falling back to no-highlight mode for this block.",e)),n?t[1]:"no-highlight"} +return n.split(/\s+/).find((e=>h(e)||v(e)))})(e);if(h(t))return +;if(O("before:highlightElement",{el:e,language:t +}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e) +;if(e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), +console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), +console.warn("The element with unescaped HTML:"), +console.warn(e)),p.throwUnescapedHTML))throw new V("One of your code blocks includes unescaped HTML.",e.innerHTML) +;n=e;const a=n.textContent,s=t?f(a,{language:t,ignoreIllegals:!0}):E(a) +;e.innerHTML=s.value,e.dataset.highlighted="yes",((e,n,t)=>{const a=n&&i[n]||t +;e.classList.add("hljs"),e.classList.add("language-"+a) +})(e,t,s.language),e.result={language:s.language,re:s.relevance, +relevance:s.relevance},s.secondBest&&(e.secondBest={ +language:s.secondBest.language,relevance:s.secondBest.relevance +}),O("after:highlightElement",{el:e,result:s,text:a})}let y=!1;function w(){ +"loading"!==document.readyState?document.querySelectorAll(p.cssSelector).forEach(N):y=!0 +}function v(e){return e=(e||"").toLowerCase(),a[e]||a[i[e]]} +function k(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +i[e.toLowerCase()]=n}))}function x(e){const n=v(e) +;return n&&!n.disableAutodetect}function O(e,n){const t=e;s.forEach((e=>{ +e[t]&&e[t](n)}))} +"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ +y&&w()}),!1),Object.assign(t,{highlight:f,highlightAuto:E,highlightAll:w, +highlightElement:N, +highlightBlock:e=>(Z("10.7.0","highlightBlock will be removed entirely in v12.0"), +Z("10.7.0","Please use highlightElement now."),N(e)),configure:e=>{p=Y(p,e)}, +initHighlighting:()=>{ +w(),Z("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, +initHighlightingOnLoad:()=>{ +w(),Z("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") +},registerLanguage:(e,n)=>{let i=null;try{i=n(t)}catch(n){ +if(K("Language definition for '{}' could not be registered.".replace("{}",e)), +!r)throw n;K(n),i=c} +i.name||(i.name=e),a[e]=i,i.rawDefinition=n.bind(null,t),i.aliases&&k(i.aliases,{ +languageName:e})},unregisterLanguage:e=>{delete a[e] +;for(const n of Object.keys(i))i[n]===e&&delete i[n]}, +listLanguages:()=>Object.keys(a),getLanguage:v,registerAliases:k, +autoDetection:x,inherit:Y,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=n=>{ +e["before:highlightBlock"](Object.assign({block:n.el},n)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=n=>{ +e["after:highlightBlock"](Object.assign({block:n.el},n))})})(e),s.push(e)}, +removePlugin:e=>{const n=s.indexOf(e);-1!==n&&s.splice(n,1)}}),t.debugMode=()=>{ +r=!1},t.safeMode=()=>{r=!0},t.versionString="11.8.0",t.regex={concat:b, +lookahead:d,either:m,optional:u,anyNumberOfTimes:g} +;for(const n in C)"object"==typeof C[n]&&e(C[n]);return Object.assign(t,C),t +},te=ne({});te.newInstance=()=>ne({});var ae=te +;const ie=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],se=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],re=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],oe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],le=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse() +;var ce="[0-9](_*[0-9])*",de=`\\.(${ce})`,ge="[0-9a-fA-F](_*[0-9a-fA-F])*",ue={ +className:"number",variants:[{ +begin:`(\\b(${ce})((${de})|\\.)?|(${de}))[eE][+-]?(${ce})[fFdD]?\\b`},{ +begin:`\\b(${ce})((${de})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{ +begin:`(${de})[fFdD]?\\b`},{begin:`\\b(${ce})[fFdD]\\b`},{ +begin:`\\b0[xX]((${ge})\\.?|(${ge})?\\.(${ge}))[pP][+-]?(${ce})[fFdD]?\\b`},{ +begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ge})[lL]?\\b`},{ +begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}], +relevance:0};function be(e,n,t){return-1===t?"":e.replace(n,(a=>be(e,n,t-1)))} +const me="[A-Za-z$_][0-9A-Za-z$_]*",pe=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],he=["true","false","null","undefined","NaN","Infinity"],fe=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],_e=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ee=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Ne=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],ye=[].concat(Ee,fe,_e),we=e=>b(/\b/,e,/\w$/.test(e)?/\b/:/\B/),ve=["Protocol","Type"].map(we),ke=["init","self"].map(we),xe=["Any","Self"],Oe=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","distributed","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Se=["false","nil","true"],Ae=["assignment","associativity","higherThan","left","lowerThan","none","right"],Me=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],Ce=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Te=m(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),Re=m(Te,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),De=b(Te,Re,"*"),Ie=m(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Be=m(Ie,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Le=b(Ie,Be,"*"),$e=b(/[A-Z]/,Be,"*"),Fe=["autoclosure",b(/convention\(/,m("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",b(/objc\(/,Le,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],ze=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"] +;var Ue=Object.freeze({__proto__:null,grmr_bash:e=>{const n=e.regex,t={},a={ +begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]} +;Object.assign(t,{className:"variable",variants:[{ +begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const i={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},r={className:"string",begin:/"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,t,i]};i.contains.push(r);const o={begin:/\$?\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] +},l=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, +keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"], +literal:["true","false"], +built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] +},contains:[l,e.SHEBANG(),c,o,e.HASH_COMMENT_MODE,s,{match:/(\/[a-z._-]+)+/},r,{ +className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}}, +grmr_c:e=>{const n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}] +}),a="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",s="("+a+"|"+n.optional(i)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",r={ +className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ +match:/\batomic_[a-z]{3,6}\b/}]},o={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},e.inherit(o,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},d={ +className:"title",begin:n.optional(i)+e.IDENT_RE,relevance:0 +},g=n.optional(i)+e.IDENT_RE+"\\s*\\(",u={ +keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], +type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"], +literal:"true false NULL", +built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" +},b=[c,r,t,e.C_BLOCK_COMMENT_MODE,l,o],m={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:u,contains:b.concat([{begin:/\(/,end:/\)/,keywords:u, +contains:b.concat(["self"]),relevance:0}]),relevance:0},p={ +begin:"("+s+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:u,relevance:0},{ +begin:g,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})], +relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/, +keywords:u,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,o,l,r,{begin:/\(/, +end:/\)/,keywords:u,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,o,l,r] +}]},r,t,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:u, +disableAutodetect:!0,illegal:"=]/,contains:[{ +beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c, +strings:o,keywords:u}}},grmr_css:e=>{const n=e.regex,t=(e=>({IMPORTANT:{ +scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{ +scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/}, +FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/}, +ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", +contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ +scope:"number", +begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/} +}))(e),a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS", +case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"}, +classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,{ +begin:/-(webkit|moz|ms|o)-(?=[a-z])/},t.CSS_NUMBER_MODE,{ +className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{ +className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 +},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ +begin:":("+re.join("|")+")"},{begin:":(:)?("+oe.join("|")+")"}] +},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+le.join("|")+")\\b"},{ +begin:/:/,end:/[;}{]/, +contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...a,{ +begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" +},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0, +excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]", +relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ +},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ +$pattern:/[a-z-]+/,keyword:"and or not only",attribute:se.join(" ")},contains:[{ +begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{ +className:"selector-tag",begin:"\\b("+ie.join("|")+")\\b"}]}},grmr_xml:e=>{ +const n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a={ +className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/, +contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] +},s=e.inherit(i,{begin:/\(/,end:/\)/}),r=e.inherit(e.APOS_STRING_MODE,{ +className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={ +endsWithParent:!0,illegal:/`]+/}]}]}]};return{ +name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[i,o,r,s,{begin:/\[/,end:/\]/,contains:[{ +className:"meta",begin://,contains:[i,s,o,r]}]}] +},e.COMMENT(//,{relevance:10}),{begin://, +relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/, +relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{ +end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{ +end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ +className:"tag",begin:/<>|<\/>/},{className:"tag", +begin:n.concat(//,/>/,/\s/)))), +end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{ +className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{ +className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]} +},grmr_markdown:e=>{const n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml", +relevance:0},t={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{ +begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, +relevance:2},{ +begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), +relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ +begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/ +},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, +returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", +excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", +end:"\\]",excludeBegin:!0,excludeEnd:!0}]},a={className:"strong",contains:[], +variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}] +},i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{ +begin:/_(?![_\s])/,end:/_/,relevance:0}]},s=e.inherit(a,{contains:[] +}),r=e.inherit(i,{contains:[]});a.contains.push(r),i.contains.push(s) +;let o=[n,t];return[a,i,s,r].forEach((e=>{e.contains=e.contains.concat(o) +})),o=o.concat(a,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ +className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:o},{ +begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", +contains:o}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", +end:"\\s+",excludeEnd:!0},a,i,{className:"quote",begin:"^>\\s+",contains:o, +end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ +begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ +begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", +contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ +begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ +className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ +className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}},grmr_dart:e=>{ +const n={className:"subst",variants:[{begin:"\\$[A-Za-z0-9_]+"}]},t={ +className:"subst",variants:[{begin:/\$\{/,end:/\}/}], +keywords:"true false null this is new super"},a={className:"string",variants:[{ +begin:"r'''",end:"'''"},{begin:'r"""',end:'"""'},{begin:"r'",end:"'", +illegal:"\\n"},{begin:'r"',end:'"',illegal:"\\n"},{begin:"'''",end:"'''", +contains:[e.BACKSLASH_ESCAPE,n,t]},{begin:'"""',end:'"""', +contains:[e.BACKSLASH_ESCAPE,n,t]},{begin:"'",end:"'",illegal:"\\n", +contains:[e.BACKSLASH_ESCAPE,n,t]},{begin:'"',end:'"',illegal:"\\n", +contains:[e.BACKSLASH_ESCAPE,n,t]}]};t.contains=[e.C_NUMBER_MODE,a] +;const i=["Comparable","DateTime","Duration","Function","Iterable","Iterator","List","Map","Match","Object","Pattern","RegExp","Set","Stopwatch","String","StringBuffer","StringSink","Symbol","Type","Uri","bool","double","int","num","Element","ElementList"],s=i.map((e=>e+"?")) +;return{name:"Dart",keywords:{ +keyword:["abstract","as","assert","async","await","base","break","case","catch","class","const","continue","covariant","default","deferred","do","dynamic","else","enum","export","extends","extension","external","factory","false","final","finally","for","Function","get","hide","if","implements","import","in","interface","is","late","library","mixin","new","null","on","operator","part","required","rethrow","return","sealed","set","show","static","super","switch","sync","this","throw","true","try","typedef","var","void","when","while","with","yield"], +built_in:i.concat(s).concat(["Never","Null","dynamic","print","document","querySelector","querySelectorAll","window"]), +$pattern:/[A-Za-z][A-Za-z0-9_]*\??/}, +contains:[a,e.COMMENT(/\/\*\*(?!\/)/,/\*\//,{subLanguage:"markdown",relevance:0 +}),e.COMMENT(/\/{3,} ?/,/$/,{contains:[{subLanguage:"markdown",begin:".", +end:"$",relevance:0}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{ +className:"class",beginKeywords:"class interface",end:/\{/,excludeEnd:!0, +contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE] +},e.C_NUMBER_MODE,{className:"meta",begin:"@[A-Za-z]+"},{begin:"=>"}]}}, +grmr_diff:e=>{const n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{ +className:"meta",relevance:10, +match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) +},{className:"comment",variants:[{ +begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), +end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ +className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, +end:/$/}]}},grmr_java:e=>{ +const n=e.regex,t="[\xc0-\u02b8a-zA-Z_$][\xc0-\u02b8a-zA-Z_$0-9]*",a=t+be("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),i={ +keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"], +literal:["false","true","null"], +type:["char","boolean","long","float","int","byte","short","double"], +built_in:["super","this"]},s={className:"meta",begin:"@"+t,contains:[{ +begin:/\(/,end:/\)/,contains:["self"]}]},r={className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0} +;return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/, +relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{ +begin:/import java\.[a-z]+\./,keywords:"import",relevance:2 +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/, +className:"string",contains:[e.BACKSLASH_ESCAPE] +},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{ +match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{ +1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{ +begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type", +3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword", +3:"title.class"},contains:[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{ +beginKeywords:"new throw return else",relevance:0},{ +begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{ +2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/, +end:/\)/,keywords:i,relevance:0, +contains:[s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,ue,e.C_BLOCK_COMMENT_MODE] +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},ue,s]}},grmr_javascript:e=>{ +const n=e.regex,t=me,a={begin:/<[A-Za-z0-9\\._:-]+/, +end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ +const t=e[0].length+e.index,a=e.input[t] +;if("<"===a||","===a)return void n.ignoreMatch();let i +;">"===a&&(((e,{after:n})=>{const t="",S={ +match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(O)], +keywords:"async",className:{1:"keyword",3:"title.function"},contains:[_]} +;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{ +PARAMS_CONTAINS:f,CLASS_REFERENCE:N},illegal:/#(?![$_A-z])/, +contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ +label:"use_strict",className:"meta",relevance:10, +begin:/^\s*['"]use (strict|asm)['"]/ +},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,d,g,u,b,m,{match:/\$\d+/},l,N,{ +className:"attr",begin:t+n.lookahead(":"),relevance:0},S,{ +begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", +keywords:"return throw case",relevance:0,contains:[m,e.REGEXP_MODE,{ +className:"function",begin:O,returnBegin:!0,end:"\\s*=>",contains:[{ +className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{ +className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0, +excludeEnd:!0,keywords:i,contains:f}]}]},{begin:/,/,relevance:0},{match:/\s+/, +relevance:0},{variants:[{begin:"<>",end:""},{ +match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:a.begin, +"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{ +begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},y,{ +beginKeywords:"while if switch catch for"},{ +begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,label:"func.def",contains:[_,e.inherit(e.TITLE_MODE,{begin:t, +className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t, +relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, +contains:[_]},w,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},E,x,{match:/\$[(.]/}]}},grmr_json:e=>{ +const n=["true","false","null"],t={scope:"literal",beginKeywords:n.join(" ")} +;return{name:"JSON",keywords:{literal:n},contains:[{className:"attr", +begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/, +className:"punctuation",relevance:0 +},e.QUOTE_STRING_MODE,t,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], +illegal:"\\S"}},grmr_kotlin:e=>{const n={ +keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual", +built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing", +literal:"true false null"},t={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@" +},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={ +className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},s={className:"string", +variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,a]},{begin:"'",end:"'", +illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/, +contains:[e.BACKSLASH_ESCAPE,i,a]}]};a.contains.push(s);const r={ +className:"meta", +begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?" +},o={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/, +end:/\)/,contains:[e.inherit(s,{className:"string"}),"self"]}] +},l=ue,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),d={ +variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/, +contains:[]}]},g=d;return g.variants[1].contains=[d],d.variants[1].contains=[g], +{name:"Kotlin",aliases:["kt","kts"],keywords:n, +contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag", +begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword", +begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol", +begin:/@\w+/}]}},t,r,o,{className:"function",beginKeywords:"fun",end:"[(]|$", +returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{ +begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0, +contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://, +keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/, +endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/, +endsWithParent:!0,contains:[d,e.C_LINE_COMMENT_MODE,c],relevance:0 +},e.C_LINE_COMMENT_MODE,c,r,o,s,e.C_NUMBER_MODE]},c]},{ +begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{ +3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0, +illegal:"extends implements",contains:[{ +beginKeywords:"public protected internal private constructor" +},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0, +excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/, +excludeBegin:!0,returnEnd:!0},r,o]},s,{className:"meta",begin:"^#!/usr/bin/env", +end:"$",illegal:"\n"},l]}},grmr_objectivec:e=>{ +const n=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:n, +keyword:["@interface","@class","@protocol","@implementation"]};return{ +name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"], +keywords:{"variable.language":["this","super"],$pattern:n, +keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"], +literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"], +built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"], +type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"] +},illegal:"/,end:/$/,illegal:"\\n" +},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class", +begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t, +contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE, +relevance:0}]}},grmr_plaintext:e=>({name:"Plain text",aliases:["text","txt"], +disableAutodetect:!0}),grmr_shell:e=>({name:"Shell Session", +aliases:["console","shellsession"],contains:[{className:"meta.prompt", +begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, +subLanguage:"bash"}}]}),grmr_swift:e=>{const n={match:/\s+/,relevance:0 +},t=e.COMMENT("/\\*","\\*/",{contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,t],i={ +match:[/\./,m(...ve,...ke)],className:{2:"keyword"}},s={match:b(/\./,m(...Oe)), +relevance:0},r=Oe.filter((e=>"string"==typeof e)).concat(["_|0"]),o={variants:[{ +className:"keyword", +match:m(...Oe.filter((e=>"string"!=typeof e)).concat(xe).map(we),...ke)}]},l={ +$pattern:m(/\b\w+/,/#\w+/),keyword:r.concat(Me),literal:Se},c=[i,s,o],g=[{ +match:b(/\./,m(...Ce)),relevance:0},{className:"built_in", +match:b(/\b/,m(...Ce),/(?=\()/)}],u={match:/->/,relevance:0},p=[u,{ +className:"operator",relevance:0,variants:[{match:De},{match:`\\.(\\.|${Re})+`}] +}],h="([0-9]_*)+",f="([0-9a-fA-F]_*)+",_={className:"number",relevance:0, +variants:[{match:`\\b(${h})(\\.(${h}))?([eE][+-]?(${h}))?\\b`},{ +match:`\\b0x(${f})(\\.(${f}))?([pP][+-]?(${h}))?\\b`},{match:/\b0o([0-7]_*)+\b/ +},{match:/\b0b([01]_*)+\b/}]},E=(e="")=>({className:"subst",variants:[{ +match:b(/\\/,e,/[0\\tnr"']/)},{match:b(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}] +}),N=(e="")=>({className:"subst",match:b(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/) +}),y=(e="")=>({className:"subst",label:"interpol",begin:b(/\\/,e,/\(/),end:/\)/ +}),w=(e="")=>({begin:b(e,/"""/),end:b(/"""/,e),contains:[E(e),N(e),y(e)] +}),v=(e="")=>({begin:b(e,/"/),end:b(/"/,e),contains:[E(e),y(e)]}),k={ +className:"string", +variants:[w(),w("#"),w("##"),w("###"),v(),v("#"),v("##"),v("###")]},x={ +match:b(/`/,Le,/`/)},O=[x,{className:"variable",match:/\$\d+/},{ +className:"variable",match:`\\$${Be}+`}],S=[{match:/(@|#(un)?)available/, +className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:ze, +contains:[...p,_,k]}]}},{className:"keyword",match:b(/@/,m(...Fe))},{ +className:"meta",match:b(/@/,Le)}],A={match:d(/\b[A-Z]/),relevance:0,contains:[{ +className:"type", +match:b(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Be,"+") +},{className:"type",match:$e,relevance:0},{match:/[?!]+/,relevance:0},{ +match:/\.\.\./,relevance:0},{match:b(/\s+&\s+/,d($e)),relevance:0}]},M={ +begin://,keywords:l,contains:[...a,...c,...S,u,A]};A.contains.push(M) +;const C={begin:/\(/,end:/\)/,relevance:0,keywords:l,contains:["self",{ +match:b(Le,/\s*:/),keywords:"_|0",relevance:0 +},...a,...c,...g,...p,_,k,...O,...S,A]},T={begin://,contains:[...a,A] +},R={begin:/\(/,end:/\)/,keywords:l,contains:[{ +begin:m(d(b(Le,/\s*:/)),d(b(Le,/\s+/,Le,/\s*:/))),end:/:/,relevance:0, +contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Le}] +},...a,...c,...p,_,k,...S,A,C],endsParent:!0,illegal:/["']/},D={ +match:[/func/,/\s+/,m(x.match,Le,De)],className:{1:"keyword",3:"title.function" +},contains:[T,R,n],illegal:[/\[/,/%/]},I={ +match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"}, +contains:[T,R,n],illegal:/\[|%/},B={match:[/operator/,/\s+/,De],className:{ +1:"keyword",3:"title"}},L={begin:[/precedencegroup/,/\s+/,$e],className:{ +1:"keyword",3:"title"},contains:[A],keywords:[...Ae,...Se],end:/}/} +;for(const e of k.variants){const n=e.contains.find((e=>"interpol"===e.label)) +;n.keywords=l;const t=[...c,...g,...p,_,k,...O];n.contains=[...t,{begin:/\(/, +end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:l, +contains:[...a,D,I,{beginKeywords:"struct protocol class extension enum actor", +end:"\\{",excludeEnd:!0,keywords:l,contains:[e.inherit(e.TITLE_MODE,{ +className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...c] +},B,L,{beginKeywords:"import",end:/$/,contains:[...a],relevance:0 +},...c,...g,...p,_,k,...O,...S,A,C]}},grmr_ruby:e=>{ +const n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(a,/(::\w+)*/),s={ +"variable.constant":["__FILE__","__LINE__","__ENCODING__"], +"variable.language":["self","super"], +keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"], +built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"], +literal:["true","false","nil"]},r={className:"doctag",begin:"@[A-Za-z]+"},o={ +begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[r] +}),e.COMMENT("^=begin","^=end",{contains:[r],relevance:10 +}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/, +end:/\}/,keywords:s},d={className:"string",contains:[e.BACKSLASH_ESCAPE,c], +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{ +begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{ +begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//, +end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{ +begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ +begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ +begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ +begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ +begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), +contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, +contains:[e.BACKSLASH_ESCAPE,c]})]}]},g="[0-9](_?[0-9])*",u={className:"number", +relevance:0,variants:[{ +begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{ +begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" +},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ +begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ +begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{ +className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, +keywords:s}]},m=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ +match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class", +4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,i],scope:{ +2:"title.class"},keywords:s},{relevance:0,match:[i,/\.new[. (]/],scope:{ +1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{ +match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[b]},{ +begin:e.IDENT_RE+"::"},{className:"symbol", +begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", +begin:":(?!\\s)",contains:[d,{begin:t}],relevance:0},u,{className:"variable", +begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ +className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0, +relevance:0,keywords:s},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", +keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c], +illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ +begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", +end:"\\][a-z]*"}]}].concat(o,l),relevance:0}].concat(o,l) +;c.contains=m,b.contains=m;const p=[{begin:/^\s*=>/,starts:{end:"$",contains:m} +},{className:"meta.prompt", +begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", +starts:{end:"$",keywords:s,contains:m}}];return l.unshift(o),{name:"Ruby", +aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/, +contains:[e.SHEBANG({binary:"ruby"})].concat(p).concat(l).concat(m)}}, +grmr_yaml:e=>{ +const n="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={ +className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/ +},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable", +variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(a,{ +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),s={ +end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},r={begin:/\{/, +end:/\}/,contains:[s],illegal:"\\n",relevance:0},o={begin:"\\[",end:"\\]", +contains:[s],illegal:"\\n",relevance:0},l=[{className:"attr",variants:[{ +begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{ +begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$", +relevance:10},{className:"string", +begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ +begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, +relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type", +begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t +},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", +begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", +relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ +className:"number", +begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" +},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},r,o,a],c=[...l] +;return c.pop(),c.push(i),s.contains=c,{name:"YAML",case_insensitive:!0, +aliases:["yml"],contains:l}}});const je=ae;for(const e of Object.keys(Ue)){ +const n=e.replace("grmr_","").replace("_","-");je.registerLanguage(n,Ue[e])} +return je}() +;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs); diff --git a/static-assets/play_button.svg b/static-assets/play_button.svg new file mode 100644 index 0000000..c39a2f4 --- /dev/null +++ b/static-assets/play_button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static-assets/readme.md b/static-assets/readme.md new file mode 100644 index 0000000..6221671 --- /dev/null +++ b/static-assets/readme.md @@ -0,0 +1,36 @@ +# Dart documentation generator + +This directory includes static sources used by the Dart documentation generator +through the `dart doc` command. + +To learn more about generating and viewing the generated documentation, +check out the [`dart doc` documentation][]. + +[`dart doc` documentation]: https://dart.dev/tools/dart-doc + +## Third-party resources + +## highlight.js + +Generated from https://highlightjs.org/download/ on 2021-07-13. + +**License:** https://github.com/highlightjs/highlight.js/blob/main/LICENSE + +**Included languages:** + +* bash +* c +* css +* dart +* diff +* html, xml +* java +* javascript +* json +* kotlin +* markdown +* objective-c +* plaintext +* shell +* swift +* yaml diff --git a/static-assets/search.svg b/static-assets/search.svg new file mode 100644 index 0000000..58f4299 --- /dev/null +++ b/static-assets/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static-assets/styles.css b/static-assets/styles.css new file mode 100644 index 0000000..64bfa61 --- /dev/null +++ b/static-assets/styles.css @@ -0,0 +1,1314 @@ +.light-theme { + /*background-color body, listdropdown*/ + --main-bg-color: #fff; + /*header id-tittle*/ + --main-header-color: #eeeeee; + /*package-name*/ + --main-sidebar-color: #727272; + /*section-title and section subtitle, desc markdown(body, dd, h3), header a*/ + --main-text-color: #111111; + /*typehead search-box*/ + --main-search-bar: #fff; + /* scrollbar-thumb */ + --main-scrollbar-color: #CCC; + /* footer */ + --main-footer-background: #111111; + /*header text color*/ + --main-h-text: black; + /* hyperlinks*/ + --main-hyperlinks-color: #0175C2; + /*search background*/ + --main-search-background: transparent; + + /*code snippets*/ + --main-code-bg: #f8f8f8; + --main-keyword-color: #333; + --main-tag-color: #000080; + --main-section-color: #900; + --main-comment-color: #998; + --main-var-color: #008080; + --main-string-color: #d14; + + --main-number-filter: invert(0%); + --main-icon-color: black; + + /* alerts */ + --alert-info: #e7f8ff; + --alert-tip: #ecfaf7; + --alert-important: #e2dbff; + --alert-warning: #fcf8e3; + --alert-error: #fde9ee; +} + +.dark-theme { + /*background-color body, listdropdown*/ + --main-bg-color: #10161E; + /*header id-tittle*/ + --main-header-color: #1C2834; + /*package-name*/ + --main-sidebar-color: #fff; + /*section-title and section subtitle, desc markdown(body, dd, h3), header a*/ + --main-text-color: #fff; + /*typehead search-box*/ + --main-search-bar: #454545; + /* scrollbar-thumb */ + --main-scrollbar-color: #5f6368; + /* footer */ + --main-footer-background: #27323a; + /* hyperlinks*/ + --main-hyperlinks-color: #00D2FA; + /*search background*/ + --main-search-background: black; + + /*code snippets*/ + --main-code-bg: #10161E; + --main-keyword-color: white; + --main-tag-color: #00D2FA; + --main-section-color: #FF2D64; + --main-comment-color: #909CC3; + --main-var-color: #55A09B; + --main-string-color: #FF2D64; + + --main-number-filter: invert(100%); + --main-icon-color: white; + + /* alerts */ + --alert-info: #043875; + --alert-tip: #065517; + --alert-important: #4a00b4; + --alert-warning: #7b6909; + --alert-error: #7a0c17; +} + +#theme { + display: none; +} + +#theme-button { + position: absolute; + right: 30px; + height: 24px; +} + +#theme-button .material-symbols-outlined { + color: var(--main-icon-color); + user-select: none; + cursor: pointer; +} + +#theme-button .material-symbols-outlined:hover { + color: var(--main-hyperlinks-color); +} + +li .material-symbols-outlined, dt .material-symbols-outlined { + font-size: 1em; + vertical-align: text-bottom; +} + +dt .material-symbols-outlined { + text-indent: 0; +} + +.light-theme #light-theme-button { + display: none; +} + +.dark-theme #dark-theme-button { + display: none; +} + +/* +Only show images that fit their theme using GitHub's syntax, see: +https://github.blog/changelog/2021-11-24-specify-theme-context-for-images-in-markdown/ +*/ +.dark-theme img[src$="#gh-light-mode-only"] { + display: none; +} + +.light-theme img[src$="#gh-dark-mode-only"] { + display: none; +} + +/* for layout */ +html, +body { + margin: 0; + padding: 0; + height: 100%; + width: 100%; + overflow: hidden; + box-sizing: border-box; +} + +*, *:before, *:after { + box-sizing: inherit; +} + +body { + display: flex; + flex-direction: column; + -webkit-overflow-scrolling: touch; +} + +header { + flex: 0 0 50px; + display: flex; + flex-direction: row; + align-items: center; + padding-left: 30px; + padding-right: 30px; + background-color: var(--main-header-color); +} + +header ol { + list-style: none; + margin: 0; + padding: 0; +} + +header ol li { + display: inline; +} + +header form { + display: flex; + flex: 1; + justify-content: flex-end; +} + +header#header-search-sidebar { + height: 50px; + margin-bottom: 25px; +} + +footer { + flex: 0 0 16px; + text-align: center; + padding: 16px 20px; +} + +main { + flex: 1; + display: flex; + flex-direction: row; + min-height: 0; +} + +.sidebar-offcanvas-left { + flex: 0 1 230px; + order: 1; + overflow-y: scroll; + padding: 20px 0 15px 30px; + margin: 5px 20px 0 0; +} + +::-webkit-scrollbar-button{ display: none; height: 13px; border-radius: 0; background-color: #AAA; } +::-webkit-scrollbar-button:hover{ background-color: #AAA; } +::-webkit-scrollbar-thumb{ background-color: var(--main-scrollbar-color); } +::-webkit-scrollbar-thumb:hover{ background-color: var(--main-scrollbar-color); } +::-webkit-scrollbar{ width: 4px; } + +.main-content::-webkit-scrollbar{ width: 8px; } + +.main-content { + flex: 1; + order: 2; + overflow-y: scroll; + padding: 10px 20px 0 20px; +} + +.sidebar-offcanvas-right { + flex: 0 1 12em; + order: 3; + overflow-y: scroll; + padding: 20px 15px 15px 15px; + margin-top: 5px; + margin-right: 20px; +} +/* end for layout */ + +body { + -webkit-text-size-adjust: 100%; + overflow-x: hidden; + font-family: Roboto, sans-serif; + font-size: 16px; + line-height: 1.42857143; + color: var(--main-text-color); + background-color: var(--main-bg-color); +} + +nav.navbar { + background-color: inherit; + min-height: 50px; + border: 0; +} + +@media (max-width: 840px) { + .hidden-xs { + display: none !important; + } +} + +@media (min-width: 841px) { + .hidden-l { + display: none !important; + } +} + +nav.navbar .row { + padding-top: 8px; +} + +nav .container { + white-space: nowrap; +} + +header { + background-color: var(--main-header-color); + box-shadow: 0 3px 5px rgba(0,0,0,0.1); +} + +.pre { + border: 1px solid #ddd; + font-size: 14px; +} + +.hljs-string, .hljs-doctag { + color: var(--main-string-color); +} + +.hljs-number, .hljs-literal, .hljs-variable, .hljs-template-variable, .hljs-tag .hljs-attr { + color: var(--main-var-color); +} + +.hljs-comment, .hljs-quote { + color: var(--main-comment-color); + font-style: italic; +} + +.hljs-title, .hljs-section, .hljs-selector-id { + color: var(--main-section-color); + font-weight: bold; +} + +.hljs-tag, .hljs-name, .hljs-attribute { + color: var(--main-tag-color); + font-weight: normal; +} + +.hljs-keyword, .hljs-selector-tag, .hljs-subst { + color: var(--main-keyword-color); + font-weight: bold; +} + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: var(--main-text-color); + background: var(--main-code-bg); +} + +a { + text-decoration: none; +} + +section { + margin-bottom: 36px; +} + +dl { + margin: 0; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: Roboto, sans-serif; + font-weight: 400; + margin-top: 1.5em; + color: var(--main-text-color); +} + +h1.title { + overflow: hidden; + text-overflow: ellipsis; +} + +h1 { + font-size: 37px; + margin-top: 0; + margin-bottom: 0.67em; +} + +h2 { + font-size: 28px; +} + +h5 { + font-size: 16px; +} + +p { + margin-bottom: 1em; + margin-top: 0; +} + +a { + color: var(--main-hyperlinks-color); +} + +a:hover { + color: #13B9FD; +} + +pre.prettyprint { + font-family: 'Roboto Mono', Menlo, monospace; + color: black; + border-radius: 0; + font-size: 15px; + word-wrap: normal; + line-height: 1.4; + border: 0; + margin: 16px 0 16px 0; + padding: 8px; +} + +pre code { + white-space: pre; + word-wrap: initial; + font-size: 100% +} + +.fixed { + white-space: pre; +} + +pre { + border: 1px solid #ddd; + background-color: #eee; + font-size: 14px; +} + +code { + font-family: 'Roboto Mono', Menlo, monospace; + color: inherit; + padding: 0.2em 0.4em; + font-size: 85%; + background-color: rgba(27,31,35,0.05); + border-radius: 3px; +} + +@media(max-width: 840px) { + nav .container { + width: 100% + } + + h1 { + font-size: 24px; + } + + pre { + margin: 16px 0; + } +} + +header h1 { + font-weight: 400; + margin-bottom: 16px; +} + +header a, +header p, +header li { + color: #0175C2; +} + +header a:hover { + color: #0175C2; +} + +header h1 .kind { + color: #555; +} + +dt { + font-weight: normal; +} + +dd { + color: var(--main-text-color); + margin-bottom: 1em; + margin-left: 0; +} + +dd.callable, dd.constant, dd.property { + margin-bottom: 24px; +} + +dd p { + overflow-x: hidden; + text-overflow: ellipsis; + margin-bottom: 0; +} + +/* Enum values do not have their own pages; their full docs are presented on the + * enum class's page. */ +dt.constant + dd p { + margin-bottom: 1em; +} + +/* indents wrapped lines */ +section.summary dt { + margin-left: 24px; + text-indent: -24px; +} + +.dl-horizontal dd { + margin-left: initial; +} + +dl.dl-horizontal dt { + font-style: normal; + text-align: left; + color: #727272; + margin-right: 20px; + width: initial; +} + +dt .name { + font-weight: 500; +} + +dl dt.callable .name { + float: none; + width: auto; +} + +.type-parameter { + white-space: nowrap; +} + +.multi-line-signature .type-parameter .parameter { + margin-left: 0; + display: unset; +} + +.parameter-list { + display: table-cell; + margin-left: 10px; + list-style-type: none; + padding-inline-start: unset; +} + +.parameter-list.single-line { + display: inline; + margin-left: 0; +} + +.parameter-list.single-line > li { + display: inline; +} + +.parameter-list.single-line > li > .parameter { + display: inline; + margin-left: 0; + text-indent: 0; +} + +.signature { + color: var(--main-text-color); +} + +.signature a { + color: var(--main-hyperlinks-color); +} + +.optional { + font-style: italic; +} + +.undocumented { + font-style: italic; +} + +.is-const { + font-style: italic; +} + +.deprecated { + text-decoration: line-through; +} + +.category.linked { + font-weight: bold; + opacity: 1; +} + +/* Colors for category based on categoryOrder in dartdoc_options.config. */ +.category.cp-0 { + background-color: #54b7c4 +} + +.category.cp-1 { + background-color: #54c47f +} + +.category.cp-2 { + background-color: #c4c254 +} + +.category.cp-3 { + background-color: #c49f54 +} + +.category.cp-4 { + background-color: #c45465 +} + +.category.cp-5 { + background-color: #c454c4 +} + +.category a { + color: white; +} + +.category { + padding: 2px 4px; + font-size: 12px; + border-radius: 4px; + background-color: #999; + text-transform: uppercase; + color: white; + opacity: .5; +} + +h1 .category { + vertical-align: middle; +} + +/* The badge under a declaration for things like "const", "read-only", etc. and for the badges inline like sealed or interface */ +/* See https://github.com/dart-lang/dartdoc/blob/main/lib/src/model/feature.dart */ +.feature { + display: inline-block; + background: var(--main-bg-color); + border: 1px solid var(--main-hyperlinks-color); + border-radius: 20px; + color: var(--main-hyperlinks-color); + + font-size: 12px; + padding: 1px 6px; + margin: 0 8px 0 0; +} + +a.feature:hover { + border-color: #13B9FD; +} + +h1 .feature { + vertical-align: middle; + margin: 0 -2px 0 0; +} + +.source-link { + padding: 18px 4px; + font-size: 18px; + vertical-align: middle; +} + +@media (max-width: 840px) { + .source-link { + padding: 7px 2px; + font-size: 10px; + } +} + +#external-links { + float: right; +} + +.btn-group { + position: relative; + display: inline-flex; + vertical-align: middle; +} + +footer { + color: #fff; + background-color: var(--main-footer-background); + width: 100%; +} + +footer p { + margin: 0; +} + +footer .no-break { + white-space: nowrap; +} + +footer .container { + padding-left: 0; + padding-right: 0; +} + +footer a, footer a:hover { + color: #fff; +} + +.markdown.desc { + max-width: 700px; +} + +.markdown h1 { + font-size: 24px; + margin-bottom: 8px; +} + +.markdown h2 { + font-size: 20px; + margin-top: 24px; + margin-bottom: 8px; +} + +.markdown h3 { + font-size: 18px; + margin-bottom: 8px; + color: var(--main-text-color); +} + +.markdown h4 { + font-size: 16px; + margin-bottom: 0; +} + +.markdown li p { + margin: 0; +} + +table { + margin-bottom: 1em; +} + +table, +th, +td { + border: 1px solid lightgrey; + border-collapse: collapse; +} + +th, +td { + padding: 8px; +} + +.gt-separated { + list-style: none; + padding: 0; + margin: 0; +} + +.gt-separated li { + display: inline-block; +} + +.gt-separated li:before { + background-image: url("data:image/svg+xml;utf8,"); + background-position: center; + content: "\00a0"; + margin: 0 6px 0 4px; + padding: 0 3px 0 0; +} + +.gt-separated.dark li:before { + background-image: url("data:image/svg+xml;utf8,"); +} + +.gt-separated li:first-child:before { + background-image: none; + content: ""; + margin: 0; + padding: 0; +} + +.multi-line-signature { + font-size: 17px; + color: #727272; +} + +.multi-line-signature .parameter { + margin-left: 60px; + display: block; + text-indent: -36px; +} + +.breadcrumbs { + padding: 0; + margin: 8px 0 8px 0; + white-space: nowrap; + line-height: 1; +} + +@media screen and (min-width: 840px) { + nav ol.breadcrumbs { + float: left; + } +} + +@media screen and (max-width: 840px) { + .breadcrumbs { + margin: 0 0 24px 0; + overflow-x: hidden; + } +} + +.breadcrumbs .gt-separated .dark .hidden-xs li+li:before { + color: var(--main-h-text); +} + +ol.breadcrumbs li a { + color: var(--main-hyperlinks-color); +} + +.self-crumb { + color: var(--main-h-text); +} + +.self-name { + color: #555; + display: none; +} + +.annotation-list { + list-style: none; + padding: 0; + display: inline; +} + +.comma-separated { + list-style: none; + padding: 0; + display: inline; +} + +.comma-separated li { + display: inline; +} + +.comma-separated li:after { + content: ", "; +} + +.comma-separated li:last-child:after { + content: ""; +} + +.end-with-period li:last-child:after { + content: "."; +} + +.container > section:first-child { + border: 0; +} + +.constructor-modifier { + font-style: italic; +} + +section.multi-line-signature div.parameters { + margin-left: 24px; +} + +/* sidebar styles */ + +.sidebar ol { + list-style: none; + line-height: 22px; + margin-top: 0; + margin-bottom: 0; + padding: 0 0 15px 0; +} + +.sidebar h5 a, +.sidebar h5 a:hover { + color: var(--main-sidebar-color); +} + +.sidebar h5, +.sidebar ol li { + text-overflow: ellipsis; + overflow: hidden; + padding: 3px 0 3px 3px; +} + +.sidebar h5 { + color: var(--main-sidebar-color); + font-size: 18px; + margin: 0 0 22px 0; + padding-top: 0; +} + +.sidebar ol li.section-title { + font-size: 18px; + font-weight: normal; + text-transform: uppercase; + padding-top: 25px; +} + +.sidebar ol li.section-subtitle a { + color: inherit; +} + +.sidebar ol li.section-subtitle { + font-weight: 400; + text-transform: uppercase; +} + +.sidebar ol li.section-subitem { + margin-left: 12px; +} + +.sidebar ol li:first-child { + padding-top: 3px; + margin-top: 0; +} + +button { + padding: 0; +} + +#sidenav-left-toggle { + display: none; + vertical-align: text-bottom; + padding: 0; + color: var(--main-icon-color); + user-select: none; + cursor: pointer; +} + +#sidenav-left-toggle:hover { + color: var(--main-hyperlinks-color); +} + +/* left-nav disappears, and can transition in from the left */ +@media screen and (max-width:840px) { + #sidenav-left-toggle { + display: inline; + width: 24px; + height: 24px; + border: none; + margin-right: 24px; + margin-left: 24px; + font-size: 24px; + } + + #overlay-under-drawer.active { + opacity: 0.4; + height: 100%; + z-index: 1999; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: black; + display: block; + } + + .sidebar-offcanvas-left { + left: -100%; + position: fixed; + -webkit-transition:all .25s ease-out; + -o-transition:all .25s ease-out; + transition:all .25s ease-out; + z-index: 2000; + top: 0; + width: 280px; /* works all the way down to an iphone 4 */ + height: 90%; + background-color: var(--main-bg-color); + overflow-y: scroll; /* TODO: how to hide scroll bars? */ + padding: 10px; + margin: 10px 10px; + box-shadow: 5px 5px 5px 5px #444444; + } + + ol#sidebar-nav { + font-size: 18px; + white-space: pre-line; + } + + .sidebar-offcanvas-left.active { + left: 0; /* this animates our drawer into the page */ + } + + .self-name { + display: inline-block; + color: var(--main-hyperlinks-color); + } +} + +.sidebar-offcanvas-left h5 { + margin-bottom: 10px; +} + +.sidebar-offcanvas-left h5:last-of-type { + border: 0; + margin-bottom: 25px; +} + +/* the right nav disappears out of view when the window shrinks */ +@media screen and (max-width: 992px) { + .sidebar-offcanvas-right { + display: none; + } +} + +#overlay-under-drawer { + display: none; +} + +/* find-as-you-type search box */ + +.form-control { + border-radius: 0; + border: 0; +} + +@media screen and (max-width: 840px) { + form.search { + display: none; + } +} + +.typeahead { + width: 200px; + padding: 2px 7px 1px 7px; + line-height: 20px; + outline: none; +} + +.tt-wrapper { + position: relative; + display: inline-block; +} + +.tt-input { + position: relative; + vertical-align: top; +} + +.navbar-right .tt-menu { + right: 0; + left: inherit !important; + width: 540px; + max-height: 280px; + overflow-y: scroll; +} + +.navbar-right { + padding-right: 60px; +} + +.tt-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 100; + font-size: 14px; + margin: 0; + background-color: var(--main-bg-color); + border: 1px solid var(--main-header-color); + -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2); + -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2); + box-shadow: 0 5px 10px rgba(0,0,0,.2); +} + + +.typeahead { + padding: 17px 17px 17px 50px; + width: 422px; + height: 20px; + font-size: 13px; + background-image: url("./search.svg"); + background-repeat: no-repeat; + background-position: 4%; + outline: 0; + background-size: 20px; + filter: var(--main-number-filter); + -webkit-filter: var(--main-number-filter); +} + +.search-summary { + margin-bottom: 10px; +} + +a.tt-container { + font-size: 16px; + color: var(--main-hyperlinks-color); +} + +.enter-search-message { + position: -webkit-sticky; + position: sticky; + top: 0; + background-color: #AAA; + padding: 0; + font-size: 14px; + margin: 0; + clear: both; + text-align: center; + color: black; +} + +.tt-suggestion:hover { + cursor: pointer; + color: #fff; + background-color: #0097cf; +} + +.tt-suggestion:hover .search-from-lib { + color: #ddd; +} + +.tt-suggestion.tt-cursor { + color: #fff; + background-color: #0097cf; +} + +.tt-suggestion.tt-cursor .search-from-lib { + color: #ddd; +} + +.tt-suggestion p { + margin: 0; +} + +.tt-container { + font-size: 14px; + margin-bottom: 0; + margin-top: 15px; +} + +.tt-container-text { + color: var(--main-text-color); +} + + +/* Search results formatting for mini results below search bar. */ + +.tt-search-results .tt-container { + margin-top: 5px; + margin-bottom: 5px; +} + +/* Do not show the container as a section. */ +.tt-search-results .tt-container-text { + display: none +} + +/* An inline style. */ +.tt-search-results .tt-suggestion { + color: var(--main-text-color); + margin-top: 5px; + overflow: hidden; + padding-left: 10px; + padding-right: 10px; + text-overflow: ellipsis; + white-space: nowrap; +} + +.tt-search-results .tt-suggestion-title { + font-size: 14px; + padding-right: 5px; +} + +.tt-search-results .tt-suggestion-container { + color: var(--main-keyword-color); + font-size: 14px; + font-style: italic; + padding-right: 5px; +} + +.tt-search-results .one-line-description { + color: var(--main-keyword-color); + display: inline; + margin-left: 0; +} + + +.tt-search-results .one-line-description::before { + content: open-quote; +} + +.tt-search-results .one-line-description::after { + content: close-quote; +} + +/* Search results formatting for `search.html`. */ + +/* A block style. */ +#dartdoc-main-content .tt-suggestion { + color: var(--main-text-color); + margin-top: 5px; + margin-bottom: 10px; + border-style: solid; + border-color: lightgrey; + border-width: 0.5px; +} + +#dartdoc-main-content .tt-suggestion-title { + display: block; + font-weight: 500; + margin: 4px 10px 0; +} + +#dartdoc-main-content .one-line-description { + display: block; + margin: 2px 10px 3px; +} + +/* Do not show a result's container. */ +#dartdoc-main-content .tt-suggestion-container { + display: none; +} + +@media screen and (max-width: 840px) { + .typeahead { + padding: 17px 17px 17px 33px; + width: 240px; + height: 17px; + border: 1px solid #f5f5f5; + background-position: 3%; + margin: 10px 10px 10px 9px; + } + + header { + padding-left: 0; + } +} + +@media screen and (max-width: 320px) { + #sidenav-left-toggle { + margin-right: 10px; + margin-left: 20px; + } + + .self-name { + margin-right: 10px; + } +} + +::placeholder { + filter: brightness(0.85); +} + +.search-body { + border: 1px solid #7f7f7f; + max-width: 400px; + box-shadow: 3px 3px 5px rgba(0,0,0,0.1); +} + +section#setter { + border-top: 1px solid #ddd; + padding-top: 36px; +} + +li.inherited a { + opacity: 0.65; + font-style: italic; +} + +#instance-methods dt.inherited .name, +#instance-properties dt.inherited .name, +#operators dt.inherited .name { + font-weight: 400; + font-style: italic; +} + +#instance-methods dt.inherited .signature, +#instance-properties dt.inherited .signature, +#operators dt.inherited .signature { + font-weight: 400; +} + +@media print { + .subnav, .sidebar { + display: none; + } + + a[href]:after { + content: "" !important; + } +} + +/* github alert styles */ + +.markdown-alert { + margin-top: 1rem; + margin-bottom: 1rem; + padding: 1.25rem; +} + +.markdown-alert>:last-child { + margin-bottom: 0; +} + +.markdown-alert-title { + display: flex; + align-items: center; + gap: 0.4rem; + margin-bottom: 0.5rem; + + font-weight: bold; + -webkit-font-smoothing: antialiased; +} + +.markdown-alert-title:before { + font: 24px / 1 'Material Symbols Outlined'; +} + +/* note, tip, important, warning, caution */ + +.markdown-alert.markdown-alert-note { + background-color: var(--alert-info); +} + +.markdown-alert-note .markdown-alert-title:before { + content: 'info'; +} + +.markdown-alert.markdown-alert-tip { + background-color: var(--alert-tip); +} + +.markdown-alert-tip .markdown-alert-title:before { + content: 'lightbulb'; +} + +.markdown-alert.markdown-alert-important { + background-color: var(--alert-important); +} + +.markdown-alert-important .markdown-alert-title:before { + content: 'feedback'; +} + +.markdown-alert.markdown-alert-warning { + background-color: var(--alert-warning); +} + +.markdown-alert-warning .markdown-alert-title:before { + content: 'warning'; +} + +.markdown-alert.markdown-alert-caution { + background-color: var(--alert-error); +} + +.markdown-alert-caution .markdown-alert-title:before { + content: 'report'; +}