public final class com.oracle.truffle.js.runtime.util.IntlUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.runtime.util.IntlUtil
  super_class: java.lang.Object
{
  public static final java.lang.String _2_DIGIT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "2-digit"

  public static final java.lang.String ACCENT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "accent"

  public static final java.lang.String ACCOUNTING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "accounting"

  public static final java.lang.String ALWAYS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "always"

  public static final java.lang.String AUTO;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "auto"

  public static final java.lang.String BEST_FIT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "best fit"

  public static final java.lang.String BASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "base"

  public static final java.lang.String BASE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "baseName"

  public static final java.lang.String BASIC;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "basic"

  public static final java.lang.String BREAK_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "breakType"

  public static final java.lang.String CALENDAR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "calendar"

  public static final java.lang.String CARDINAL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "cardinal"

  public static final java.lang.String CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "case"

  public static final java.lang.String CASE_FIRST;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "caseFirst"

  public static final java.lang.String CODE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "code"

  public static final java.lang.String COLLATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "collation"

  public static final java.lang.String COMPACT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "compact"

  public static final java.lang.String COMPACT_DISPLAY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "compactDisplay"

  public static final java.lang.String CONJUNCTION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "conjunction"

  public static final java.lang.String CURRENCY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "currency"

  public static final java.lang.String CURRENCY_DISPLAY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "currencyDisplay"

  public static final java.lang.String CURRENCY_SIGN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "currencySign"

  public static final java.lang.String DATE_STYLE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "dateStyle"

  public static final java.lang.String DAY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "day"

  public static final java.lang.String DEFAULT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "default"

  public static final java.lang.String DECIMAL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "decimal"

  public static final java.lang.String DISJUNCTION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "disjunction"

  public static final java.lang.String ELEMENT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "element"

  public static final java.lang.String ENGINEERING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "engineering"

  public static final java.lang.String ERA;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "era"

  public static final java.lang.String EXCEPT_ZERO;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "exceptZero"

  public static final java.lang.String FALLBACK;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "fallback"

  public static final java.lang.String FALSE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "false"

  public static final java.lang.String FORMAT_MATCHER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "formatMatcher"

  public static final java.lang.String FULL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "full"

  public static final java.lang.String GRANULARITY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "granularity"

  public static final java.lang.String GRAPHEME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "grapheme"

  public static final java.lang.String H11;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "h11"

  public static final java.lang.String H12;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "h12"

  public static final java.lang.String H23;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "h23"

  public static final java.lang.String H24;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "h24"

  public static final java.lang.String HOUR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "hour"

  public static final java.lang.String HOUR_CYCLE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "hourCycle"

  public static final java.lang.String HOUR12;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "hour12"

  public static final java.lang.String INDEX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "index"

  public static final java.lang.String IGNORE_PUNCTUATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ignorePunctuation"

  public static final java.lang.String LANGUAGE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "language"

  public static final java.lang.String LITERAL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "literal"

  public static final java.lang.String LOCALE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "locale"

  public static final java.lang.String LOCALE_MATCHER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "localeMatcher"

  public static final java.lang.String LONG;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "long"

  public static final java.lang.String LOOKUP;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "lookup"

  public static final java.lang.String LOOSE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "loose"

  public static final java.lang.String LOWER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "lower"

  public static final java.lang.String MAXIMUM_FRACTION_DIGITS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "maximumFractionDigits"

  public static final java.lang.String MAXIMUM_SIGNIFICANT_DIGITS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "maximumSignificantDigits"

  public static final java.lang.String MEDIUM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "medium"

  public static final java.lang.String MINIMUM_FRACTION_DIGITS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "minimumFractionDigits"

  public static final java.lang.String MINIMUM_INTEGER_DIGITS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "minimumIntegerDigits"

  public static final java.lang.String MINIMUM_SIGNIFICANT_DIGITS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "minimumSignificantDigits"

  public static final java.lang.String MINUTE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "minute"

  public static final java.lang.String MONTH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "month"

  public static final java.lang.String NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "name"

  public static final java.lang.String NARROW;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "narrow"

  public static final java.lang.String NARROW_SYMBOL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "narrowSymbol"

  public static final java.lang.String NEVER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "never"

  public static final java.lang.String NONE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "none"

  public static final java.lang.String NORMAL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "normal"

  public static final java.lang.String NOTATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "notation"

  public static final java.lang.String NUMERIC;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "numeric"

  public static final java.lang.String NUMBERING_SYSTEM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "numberingSystem"

  public static final java.lang.String OR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "or"

  public static final java.lang.String OR_NARROW;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "or-narrow"

  public static final java.lang.String OR_SHORT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "or-short"

  public static final java.lang.String ORDINAL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ordinal"

  public static final java.lang.String PERCENT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "percent"

  public static final java.lang.String REGION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "region"

  public static final java.lang.String SCIENTIFIC;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "scientific"

  public static final java.lang.String SCRIPT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "script"

  public static final java.lang.String SEARCH;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "search"

  public static final java.lang.String SEP;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "sep"

  public static final java.lang.String SECOND;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "second"

  public static final java.lang.String SEGMENT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "segment"

  public static final java.lang.String SENTENCE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "sentence"

  public static final java.lang.String SENSITIVITY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "sensitivity"

  public static final java.lang.String SHORT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "short"

  public static final java.lang.String SIGN_DISPLAY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "signDisplay"

  public static final java.lang.String SORT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "sort"

  public static final java.lang.String STANDARD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "standard"

  public static final java.lang.String STANDARD_NARROW;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "standard-narrow"

  public static final java.lang.String STANDARD_SHORT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "standard-short"

  public static final java.lang.String STRICT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "strict"

  public static final java.lang.String STYLE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "style"

  public static final java.lang.String SYMBOL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "symbol"

  public static final java.lang.String TERM;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "term"

  public static final java.lang.String TIME_STYLE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "timeStyle"

  public static final java.lang.String TIME_ZONE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "timeZone"

  public static final java.lang.String TIME_ZONE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "timeZoneName"

  public static final java.lang.String TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "type"

  public static final java.lang.String UND;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "und"

  public static final java.lang.String UNIT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "unit"

  public static final java.lang.String UNIT_DISPLAY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "unitDisplay"

  public static final java.lang.String UNIT_NARROW;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "unit-narrow"

  public static final java.lang.String UNIT_SHORT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "unit-short"

  public static final java.lang.String UPPER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "upper"

  public static final java.lang.String USAGE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "usage"

  public static final java.lang.String USE_GROUPING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "useGrouping"

  public static final java.lang.String VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "value"

  public static final java.lang.String VARIANT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "variant"

  public static final java.lang.String WORD;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "word"

  public static final java.lang.String WEEKDAY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "weekday"

  public static final java.lang.String YEAR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "year"

  public static final java.lang.String YEAR_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "yearName"

  private static final java.util.Set<java.lang.String> SANCTIONED_SIMPLE_UNIT_IDENTIFIERS;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private static final com.oracle.truffle.js.runtime.util.LazyValue<java.util.Set<java.util.Locale>> AVAILABLE_LOCALES;
    descriptor: Lcom/oracle/truffle/js/runtime/util/LazyValue;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/oracle/truffle/js/runtime/util/LazyValue<Ljava/util/Set<Ljava/util/Locale;>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 193
            new java.util.HashSet
            dup
            bipush 43
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 194
            ldc "acre"
            aastore
            dup
            iconst_1
         2: .line 195
            ldc "bit"
            aastore
            dup
            iconst_2
         3: .line 196
            ldc "byte"
            aastore
            dup
            iconst_3
         4: .line 197
            ldc "celsius"
            aastore
            dup
            iconst_4
         5: .line 198
            ldc "centimeter"
            aastore
            dup
            iconst_5
         6: .line 199
            ldc "day"
            aastore
            dup
            bipush 6
         7: .line 200
            ldc "degree"
            aastore
            dup
            bipush 7
         8: .line 201
            ldc "fahrenheit"
            aastore
            dup
            bipush 8
         9: .line 202
            ldc "fluid-ounce"
            aastore
            dup
            bipush 9
        10: .line 203
            ldc "foot"
            aastore
            dup
            bipush 10
        11: .line 204
            ldc "gallon"
            aastore
            dup
            bipush 11
        12: .line 205
            ldc "gigabit"
            aastore
            dup
            bipush 12
        13: .line 206
            ldc "gigabyte"
            aastore
            dup
            bipush 13
        14: .line 207
            ldc "gram"
            aastore
            dup
            bipush 14
        15: .line 208
            ldc "hectare"
            aastore
            dup
            bipush 15
        16: .line 209
            ldc "hour"
            aastore
            dup
            bipush 16
        17: .line 210
            ldc "inch"
            aastore
            dup
            bipush 17
        18: .line 211
            ldc "kilobit"
            aastore
            dup
            bipush 18
        19: .line 212
            ldc "kilobyte"
            aastore
            dup
            bipush 19
        20: .line 213
            ldc "kilogram"
            aastore
            dup
            bipush 20
        21: .line 214
            ldc "kilometer"
            aastore
            dup
            bipush 21
        22: .line 215
            ldc "liter"
            aastore
            dup
            bipush 22
        23: .line 216
            ldc "megabit"
            aastore
            dup
            bipush 23
        24: .line 217
            ldc "megabyte"
            aastore
            dup
            bipush 24
        25: .line 218
            ldc "meter"
            aastore
            dup
            bipush 25
        26: .line 219
            ldc "mile"
            aastore
            dup
            bipush 26
        27: .line 220
            ldc "mile-scandinavian"
            aastore
            dup
            bipush 27
        28: .line 221
            ldc "milliliter"
            aastore
            dup
            bipush 28
        29: .line 222
            ldc "millimeter"
            aastore
            dup
            bipush 29
        30: .line 223
            ldc "millisecond"
            aastore
            dup
            bipush 30
        31: .line 224
            ldc "minute"
            aastore
            dup
            bipush 31
        32: .line 225
            ldc "month"
            aastore
            dup
            bipush 32
        33: .line 226
            ldc "ounce"
            aastore
            dup
            bipush 33
        34: .line 227
            ldc "percent"
            aastore
            dup
            bipush 34
        35: .line 228
            ldc "petabyte"
            aastore
            dup
            bipush 35
        36: .line 229
            ldc "pound"
            aastore
            dup
            bipush 36
        37: .line 230
            ldc "second"
            aastore
            dup
            bipush 37
        38: .line 231
            ldc "stone"
            aastore
            dup
            bipush 38
        39: .line 232
            ldc "terabit"
            aastore
            dup
            bipush 39
        40: .line 233
            ldc "terabyte"
            aastore
            dup
            bipush 40
        41: .line 234
            ldc "week"
            aastore
            dup
            bipush 41
        42: .line 235
            ldc "yard"
            aastore
            dup
            bipush 42
        43: .line 236
            ldc "year"
            aastore
        44: .line 193
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putstatic com.oracle.truffle.js.runtime.util.IntlUtil.SANCTIONED_SIMPLE_UNIT_IDENTIFIERS:Ljava/util/Set;
        45: .line 300
            new com.oracle.truffle.js.runtime.util.LazyValue
            dup
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/js/runtime/util/IntlUtil.initAvailableLocales()Ljava/util/Set; (6)
                  ()Ljava/util/Set;
            invokespecial com.oracle.truffle.js.runtime.util.LazyValue.<init>:(Ljava/util/function/Supplier;)V
            putstatic com.oracle.truffle.js.runtime.util.IntlUtil.AVAILABLE_LOCALES:Lcom/oracle/truffle/js/runtime/util/LazyValue;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.util.IntlUtil this
         0: .line 74
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            return
        end local 0 // com.oracle.truffle.js.runtime.util.IntlUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/js/runtime/util/IntlUtil;

  public static java.util.Locale selectedLocale(com.oracle.truffle.js.runtime.JSContext, java.lang.String[]);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/String;)Ljava/util/Locale;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext ctx
        start local 1 // java.lang.String[] locales
         0: .line 242
            aload 0 /* ctx */
            aload 1 /* locales */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.lookupMatcher:(Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/String;)Ljava/util/Locale;
            areturn
        end local 1 // java.lang.String[] locales
        end local 0 // com.oracle.truffle.js.runtime.JSContext ctx
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0      ctx  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     1  locales  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      ctx      
      locales  

  public static java.util.Locale bestAvailableLocale(com.oracle.truffle.js.runtime.JSContext, java.util.Locale);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/Locale;)Ljava/util/Locale;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // java.util.Locale locale
         0: .line 246
            aload 1 /* locale */
            astore 2 /* candidate */
        start local 2 // java.util.Locale candidate
         1: .line 248
      StackMap locals: java.util.Locale
      StackMap stack:
            aload 0 /* context */
            aload 2 /* candidate */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.isAvailableLocale:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/Locale;)Z
            ifeq 3
         2: .line 249
            aload 2 /* candidate */
            areturn
         3: .line 251
      StackMap locals:
      StackMap stack:
            aload 2 /* candidate */
            invokevirtual java.util.Locale.toLanguageTag:()Ljava/lang/String;
            astore 3 /* candidateLanguageTag */
        start local 3 // java.lang.String candidateLanguageTag
         4: .line 252
            aload 3 /* candidateLanguageTag */
            bipush 45
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 4 /* pos */
        start local 4 // int pos
         5: .line 253
            iload 4 /* pos */
            iconst_m1
            if_icmpne 7
         6: .line 254
            aconst_null
            areturn
         7: .line 256
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 4 /* pos */
            iconst_2
            if_icmplt 9
            aload 3 /* candidateLanguageTag */
            iload 4 /* pos */
            iconst_2
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 9
         8: .line 257
            iinc 4 /* pos */ -2
         9: .line 259
      StackMap locals:
      StackMap stack:
            aload 3 /* candidateLanguageTag */
            iconst_0
            iload 4 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* candidateLanguageTag */
        10: .line 260
            aload 3 /* candidateLanguageTag */
            invokestatic java.util.Locale.forLanguageTag:(Ljava/lang/String;)Ljava/util/Locale;
            astore 2 /* candidate */
        end local 4 // int pos
        end local 3 // java.lang.String candidateLanguageTag
        11: .line 247
            goto 1
        end local 2 // java.util.Locale candidate
        end local 1 // java.util.Locale locale
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0               context  Lcom/oracle/truffle/js/runtime/JSContext;
            0   12     1                locale  Ljava/util/Locale;
            1   12     2             candidate  Ljava/util/Locale;
            4   11     3  candidateLanguageTag  Ljava/lang/String;
            5   11     4                   pos  I
    MethodParameters:
         Name  Flags
      context  
      locale   

  public static java.util.Locale lookupMatcher(com.oracle.truffle.js.runtime.JSContext, java.lang.String[]);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/String;)Ljava/util/Locale;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext ctx
        start local 1 // java.lang.String[] requestedLocales
         0: .line 267
            aload 1 /* requestedLocales */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 11
      StackMap locals: com.oracle.truffle.js.runtime.JSContext java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* locale */
        start local 2 // java.lang.String locale
         2: .line 268
            aload 2 /* locale */
            invokestatic java.util.Locale.forLanguageTag:(Ljava/lang/String;)Ljava/util/Locale;
            astore 6 /* requestedLocale */
        start local 6 // java.util.Locale requestedLocale
         3: .line 269
            aload 6 /* requestedLocale */
            invokevirtual java.util.Locale.stripExtensions:()Ljava/util/Locale;
            astore 7 /* noExtensionsLocale */
        start local 7 // java.util.Locale noExtensionsLocale
         4: .line 270
            aload 0 /* ctx */
            aload 7 /* noExtensionsLocale */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.bestAvailableLocale:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/Locale;)Ljava/util/Locale;
            astore 8 /* availableLocale */
        start local 8 // java.util.Locale availableLocale
         5: .line 271
            aload 8 /* availableLocale */
            ifnull 10
         6: .line 272
            aload 6 /* requestedLocale */
            bipush 117
            invokevirtual java.util.Locale.getExtension:(C)Ljava/lang/String;
            astore 9 /* unicodeExtension */
        start local 9 // java.lang.String unicodeExtension
         7: .line 273
            aload 9 /* unicodeExtension */
            ifnull 9
         8: .line 274
            new java.util.Locale$Builder
            dup
            invokespecial java.util.Locale$Builder.<init>:()V
            aload 8 /* availableLocale */
            invokevirtual java.util.Locale$Builder.setLocale:(Ljava/util/Locale;)Ljava/util/Locale$Builder;
            bipush 117
            aload 9 /* unicodeExtension */
            invokevirtual java.util.Locale$Builder.setExtension:(CLjava/lang/String;)Ljava/util/Locale$Builder;
            invokevirtual java.util.Locale$Builder.build:()Ljava/util/Locale;
            astore 8 /* availableLocale */
         9: .line 276
      StackMap locals: com.oracle.truffle.js.runtime.JSContext java.lang.String[] java.lang.String int int java.lang.String[] java.util.Locale java.util.Locale java.util.Locale java.lang.String
      StackMap stack:
            aload 8 /* availableLocale */
            areturn
        end local 9 // java.lang.String unicodeExtension
        end local 8 // java.util.Locale availableLocale
        end local 7 // java.util.Locale noExtensionsLocale
        end local 6 // java.util.Locale requestedLocale
        end local 2 // java.lang.String locale
        10: .line 267
      StackMap locals: com.oracle.truffle.js.runtime.JSContext java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        11: iload 3
            iload 4
            if_icmplt 1
        12: .line 279
            aload 0 /* ctx */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getLocale:()Ljava/util/Locale;
            areturn
        end local 1 // java.lang.String[] requestedLocales
        end local 0 // com.oracle.truffle.js.runtime.JSContext ctx
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                 ctx  Lcom/oracle/truffle/js/runtime/JSContext;
            0   13     1    requestedLocales  [Ljava/lang/String;
            2   10     2              locale  Ljava/lang/String;
            3   10     6     requestedLocale  Ljava/util/Locale;
            4   10     7  noExtensionsLocale  Ljava/util/Locale;
            5   10     8     availableLocale  Ljava/util/Locale;
            7   10     9    unicodeExtension  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                  Name  Flags
      ctx               
      requestedLocales  

  public static java.util.List<java.lang.Object> supportedLocales(com.oracle.truffle.js.runtime.JSContext, java.lang.String[], java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=10, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSContext ctx
        start local 1 // java.lang.String[] requestedLocales
        start local 2 // java.lang.String matcher
         0: .line 284
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.List result
         1: .line 285
            aload 1 /* requestedLocales */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: com.oracle.truffle.js.runtime.JSContext java.lang.String[] java.lang.String java.util.List top int int java.lang.String[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* locale */
        start local 4 // java.lang.String locale
         3: .line 286
            aload 4 /* locale */
            invokestatic java.util.Locale.forLanguageTag:(Ljava/lang/String;)Ljava/util/Locale;
            invokevirtual java.util.Locale.stripExtensions:()Ljava/util/Locale;
            astore 8 /* noExtensionsLocale */
        start local 8 // java.util.Locale noExtensionsLocale
         4: .line 287
            aload 0 /* ctx */
            aload 8 /* noExtensionsLocale */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.bestAvailableLocale:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/Locale;)Ljava/util/Locale;
            astore 9 /* availableLocale */
        start local 9 // java.util.Locale availableLocale
         5: .line 288
            aload 9 /* availableLocale */
            ifnull 7
         6: .line 289
            aload 3 /* result */
            aload 4 /* locale */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.util.Locale availableLocale
        end local 8 // java.util.Locale noExtensionsLocale
        end local 4 // java.lang.String locale
         7: .line 285
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 2
         9: .line 292
            aload 3 /* result */
            areturn
        end local 3 // java.util.List result
        end local 2 // java.lang.String matcher
        end local 1 // java.lang.String[] requestedLocales
        end local 0 // com.oracle.truffle.js.runtime.JSContext ctx
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                 ctx  Lcom/oracle/truffle/js/runtime/JSContext;
            0   10     1    requestedLocales  [Ljava/lang/String;
            0   10     2             matcher  Ljava/lang/String;
            1   10     3              result  Ljava/util/List<Ljava/lang/Object;>;
            3    7     4              locale  Ljava/lang/String;
            4    7     8  noExtensionsLocale  Ljava/util/Locale;
            5    7     9     availableLocale  Ljava/util/Locale;
    Signature: (Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/String;Ljava/lang/String;)Ljava/util/List<Ljava/lang/Object;>;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                  Name  Flags
      ctx               
      requestedLocales  
      matcher           

  private static boolean isAvailableLocale(com.oracle.truffle.js.runtime.JSContext, java.util.Locale);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/Locale;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext ctx
        start local 1 // java.util.Locale locale
         0: .line 297
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.getAvailableLocales:()Ljava/util/Set;
            aload 1 /* locale */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* ctx */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getLocale:()Ljava/util/Locale;
            aload 1 /* locale */
            invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.util.Locale locale
        end local 0 // com.oracle.truffle.js.runtime.JSContext ctx
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     ctx  Lcom/oracle/truffle/js/runtime/JSContext;
            0    2     1  locale  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      ctx     
      locale  

  private static java.util.Set<java.util.Locale> getAvailableLocales();
    descriptor: ()Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 303
            getstatic com.oracle.truffle.js.runtime.util.IntlUtil.AVAILABLE_LOCALES:Lcom/oracle/truffle/js/runtime/util/LazyValue;
            invokevirtual com.oracle.truffle.js.runtime.util.LazyValue.get:()Ljava/lang/Object;
            checkcast java.util.Set
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Set<Ljava/util/Locale;>;

  private static java.util.Set<java.util.Locale> initAvailableLocales();
    descriptor: ()Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=0
         0: .line 307
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 0 /* result */
        start local 0 // java.util.Set result
         1: .line 310
            invokestatic com.ibm.icu.util.ULocale.getAvailableLocales:()[Lcom/ibm/icu/util/ULocale;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 7
      StackMap locals: java.util.Set top int int com.ibm.icu.util.ULocale[]
      StackMap stack:
         2: aload 4
            iload 2
            aaload
            astore 1 /* ul */
        start local 1 // com.ibm.icu.util.ULocale ul
         3: .line 311
            aload 0 /* result */
            aload 1 /* ul */
            invokevirtual com.ibm.icu.util.ULocale.toLocale:()Ljava/util/Locale;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 312
            aload 1 /* ul */
            invokevirtual com.ibm.icu.util.ULocale.getScript:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 6
         5: .line 314
            aload 0 /* result */
            new java.util.Locale
            dup
            aload 1 /* ul */
            invokevirtual com.ibm.icu.util.ULocale.getLanguage:()Ljava/lang/String;
            aload 1 /* ul */
            invokevirtual com.ibm.icu.util.ULocale.getCountry:()Ljava/lang/String;
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 1 // com.ibm.icu.util.ULocale ul
         6: .line 310
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         7: iload 2
            iload 3
            if_icmplt 2
         8: .line 317
            goto 11
      StackMap locals: java.util.Set
      StackMap stack: java.util.MissingResourceException
         9: astore 1 /* e */
        start local 1 // java.util.MissingResourceException e
        10: .line 318
            aload 1 /* e */
            invokestatic com.oracle.truffle.js.runtime.Errors.createICU4JDataError:(Ljava/lang/Exception;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 1 // java.util.MissingResourceException e
        11: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            areturn
        end local 0 // java.util.Set result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1   12     0  result  Ljava/util/Set<Ljava/util/Locale;>;
            3    6     1      ul  Lcom/ibm/icu/util/ULocale;
           10   11     1       e  Ljava/util/MissingResourceException;
      Exception table:
        from    to  target  type
           1     8       9  Class java.util.MissingResourceException
    Signature: ()Ljava/util/Set<Ljava/util/Locale;>;

  public static boolean isValidNumberingSystem(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String numberingSystem
         0: .line 325
            invokestatic com.ibm.icu.text.NumberingSystem.getAvailableNames:()[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* numberingSystem */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.String numberingSystem
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  numberingSystem  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      numberingSystem  

  public static java.lang.String defaultNumberingSystemName(com.oracle.truffle.js.runtime.JSContext, java.util.Locale);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // java.util.Locale locale
         0: .line 329
            aload 0 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionV8CompatibilityMode:()Z
            ifeq 2
            ldc "ar"
            aload 1 /* locale */
            invokevirtual java.util.Locale.toLanguageTag:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 333
            ldc "latn"
            areturn
         2: .line 335
      StackMap locals:
      StackMap stack:
            aload 1 /* locale */
            invokestatic com.ibm.icu.text.NumberingSystem.getInstance:(Ljava/util/Locale;)Lcom/ibm/icu/text/NumberingSystem;
            invokevirtual com.ibm.icu.text.NumberingSystem.getName:()Ljava/lang/String;
            areturn
        end local 1 // java.util.Locale locale
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    3     1   locale  Ljava/util/Locale;
    MethodParameters:
         Name  Flags
      context  
      locale   

  public static void validateUnicodeLocaleIdentifierType(java.lang.String, com.oracle.truffle.api.profiles.BranchProfile);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/profiles/BranchProfile;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String type
        start local 1 // com.oracle.truffle.api.profiles.BranchProfile errorBranch
         0: .line 339
            aload 0 /* type */
            invokestatic com.oracle.truffle.js.runtime.util.UTS35Validator.isStructurallyValidType:(Ljava/lang/String;)Z
            ifne 3
         1: .line 340
            aload 1 /* errorBranch */
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
         2: .line 341
            ldc "Invalid option: %s"
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* type */
            aastore
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorFormat:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         3: .line 343
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.truffle.api.profiles.BranchProfile errorBranch
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         type  Ljava/lang/String;
            0    4     1  errorBranch  Lcom/oracle/truffle/api/profiles/BranchProfile;
    MethodParameters:
             Name  Flags
      type         
      errorBranch  

  public static java.lang.String normalizeUnicodeLocaleIdentifierType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String type
         0: .line 347
            aload 0 /* type */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  type  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      type  

  public static java.util.Locale withoutUnicodeExtension(java.util.Locale, java.lang.String);
    descriptor: (Ljava/util/Locale;Ljava/lang/String;)Ljava/util/Locale;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.util.Locale originalLocale
        start local 1 // java.lang.String key
         0: .line 352
            aload 0 /* originalLocale */
            invokevirtual java.util.Locale.getUnicodeLocaleKeys:()Ljava/util/Set;
            aload 1 /* key */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 353
            aload 0 /* originalLocale */
            areturn
         2: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* originalLocale */
            aload 1 /* key */
            invokevirtual java.util.Locale.getUnicodeLocaleType:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* value */
        start local 2 // java.lang.String value
         3: .line 356
            aload 0 /* originalLocale */
            invokevirtual java.util.Locale.toLanguageTag:()Ljava/lang/String;
            astore 3 /* originalTag */
        start local 3 // java.lang.String originalTag
         4: .line 357
            new java.lang.StringBuilder
            dup
            ldc "-u-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* toRemove */
        start local 4 // java.lang.String toRemove
         5: .line 358
            aload 3 /* originalTag */
            aload 4 /* toRemove */
            ldc ""
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 5 /* strippedTag */
        start local 5 // java.lang.String strippedTag
         6: .line 359
            new java.util.Locale
            dup
            aload 5 /* strippedTag */
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;)V
            areturn
        end local 5 // java.lang.String strippedTag
        end local 4 // java.lang.String toRemove
        end local 3 // java.lang.String originalTag
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        end local 0 // java.util.Locale originalLocale
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0  originalLocale  Ljava/util/Locale;
            0    7     1             key  Ljava/lang/String;
            3    7     2           value  Ljava/lang/String;
            4    7     3     originalTag  Ljava/lang/String;
            5    7     4        toRemove  Ljava/lang/String;
            6    7     5     strippedTag  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                Name  Flags
      originalLocale  
      key             

  public static boolean isWellFormedCurrencyCode(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String currency
         0: .line 364
            aload 0 /* currency */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmpne 1
            aload 0 /* currency */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.oracle.truffle.js.runtime.util.UTS35Validator.isAlpha:(C)Z
            ifeq 1
            aload 0 /* currency */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.oracle.truffle.js.runtime.util.UTS35Validator.isAlpha:(C)Z
            ifeq 1
            aload 0 /* currency */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.oracle.truffle.js.runtime.util.UTS35Validator.isAlpha:(C)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String currency
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  currency  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      currency  

  public static void ensureIsWellFormedCurrencyCode(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String currency
         0: .line 368
            aload 0 /* currency */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.isWellFormedCurrencyCode:(Ljava/lang/String;)Z
            ifne 2
         1: .line 369
            aload 0 /* currency */
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorCurrencyNotWellFormed:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         2: .line 371
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String currency
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  currency  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      currency  

  public static void ensureIsStructurallyValidLanguageSubtag(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String region
         0: .line 374
            aload 0 /* region */
            invokestatic com.oracle.truffle.js.runtime.util.UTS35Validator.isStructurallyValidLanguageSubtag:(Ljava/lang/String;)Z
            ifne 2
         1: .line 375
            aload 0 /* region */
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorInvalidLanguage:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         2: .line 377
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String region
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  region  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      region  

  public static void ensureIsStructurallyValidRegionSubtag(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String region
         0: .line 380
            aload 0 /* region */
            invokestatic com.oracle.truffle.js.runtime.util.UTS35Validator.isStructurallyValidRegionSubtag:(Ljava/lang/String;)Z
            ifne 2
         1: .line 381
            aload 0 /* region */
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorInvalidRegion:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         2: .line 383
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String region
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  region  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      region  

  public static void ensureIsStructurallyValidScriptSubtag(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String script
         0: .line 386
            aload 0 /* script */
            invokestatic com.oracle.truffle.js.runtime.util.UTS35Validator.isStructurallyValidScriptSubtag:(Ljava/lang/String;)Z
            ifne 2
         1: .line 387
            aload 0 /* script */
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorInvalidScript:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         2: .line 389
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String script
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  script  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      script  

  public static void ensureIsStructurallyValidLanguageTag(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String languageTag
         0: .line 394
            new java.util.Locale$Builder
            dup
            invokespecial java.util.Locale$Builder.<init>:()V
            aload 0 /* languageTag */
            invokevirtual java.util.Locale$Builder.setLanguageTag:(Ljava/lang/String;)Ljava/util/Locale$Builder;
            invokevirtual java.util.Locale$Builder.build:()Ljava/util/Locale;
            pop
         1: .line 395
            goto 4
      StackMap locals:
      StackMap stack: java.util.IllformedLocaleException
         2: astore 1 /* e */
        start local 1 // java.util.IllformedLocaleException e
         3: .line 396
            aload 1 /* e */
            invokevirtual java.util.IllformedLocaleException.getMessage:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 1 // java.util.IllformedLocaleException e
         4: .line 398
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String languageTag
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0  languageTag  Ljava/lang/String;
            3    4     1            e  Ljava/util/IllformedLocaleException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.util.IllformedLocaleException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
             Name  Flags
      languageTag  

  public static java.lang.String validateAndCanonicalizeLanguageTag(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=14, args_size=1
        start local 0 // java.lang.String languageTag
         0: .line 407
            aload 0 /* languageTag */
            invokestatic com.oracle.truffle.js.runtime.util.UTS35Validator.isWellFormedUnicodeBCP47LocaleIdentifier:(Ljava/lang/String;)Z
            ifne 2
         1: .line 408
            ldc "Language tag is not well-formed: %s"
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* languageTag */
            aastore
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorFormat:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         2: .line 411
      StackMap locals:
      StackMap stack:
            new java.util.Locale$Builder
            dup
            invokespecial java.util.Locale$Builder.<init>:()V
            aload 0 /* languageTag */
            invokevirtual java.util.Locale$Builder.setLanguageTag:(Ljava/lang/String;)Ljava/util/Locale$Builder;
            astore 1 /* builder */
        start local 1 // java.util.Locale$Builder builder
         3: .line 412
            aload 1 /* builder */
            invokevirtual java.util.Locale$Builder.build:()Ljava/util/Locale;
            astore 2 /* locale */
        start local 2 // java.util.Locale locale
         4: .line 416
            aload 2 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            astore 3 /* language */
        start local 3 // java.lang.String language
         5: .line 417
            aload 3 /* language */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 19
         6: .line 421
            ldc "mo"
            aload 3 /* language */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 422
            ldc "ro"
            astore 4 /* canonicalLanguage */
        start local 4 // java.lang.String canonicalLanguage
         8: .line 423
            goto 18
        end local 4 // java.lang.String canonicalLanguage
      StackMap locals: java.util.Locale$Builder java.util.Locale java.lang.String
      StackMap stack:
         9: ldc "cmn"
            aload 3 /* language */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 424
            ldc "zh"
            astore 4 /* canonicalLanguage */
        start local 4 // java.lang.String canonicalLanguage
        11: .line 425
            goto 18
        end local 4 // java.lang.String canonicalLanguage
        12: .line 426
      StackMap locals:
      StackMap stack:
            ldc "cnr"
            aload 3 /* language */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 427
            aload 1 /* builder */
            ldc "ME"
            invokevirtual java.util.Locale$Builder.setRegion:(Ljava/lang/String;)Ljava/util/Locale$Builder;
            pop
        14: .line 428
            goto 17
      StackMap locals:
      StackMap stack:
        15: ldc "sh"
            aload 3 /* language */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
            aload 2 /* locale */
            invokevirtual java.util.Locale.getScript:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 17
        16: .line 429
            aload 1 /* builder */
            ldc "Latn"
            invokevirtual java.util.Locale$Builder.setScript:(Ljava/lang/String;)Ljava/util/Locale$Builder;
            pop
        17: .line 434
      StackMap locals:
      StackMap stack:
            aload 3 /* language */
            invokestatic com.ibm.icu.util.ULocale.createCanonical:(Ljava/lang/String;)Lcom/ibm/icu/util/ULocale;
            invokevirtual com.ibm.icu.util.ULocale.getLanguage:()Ljava/lang/String;
            astore 4 /* canonicalLanguage */
        start local 4 // java.lang.String canonicalLanguage
        18: .line 436
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* builder */
            aload 4 /* canonicalLanguage */
            invokevirtual java.util.Locale$Builder.setLanguage:(Ljava/lang/String;)Ljava/util/Locale$Builder;
            pop
        end local 4 // java.lang.String canonicalLanguage
        19: .line 440
      StackMap locals:
      StackMap stack:
            aload 2 /* locale */
            invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
            astore 4 /* region */
        start local 4 // java.lang.String region
        20: .line 441
            aload 4 /* region */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 35
        21: .line 443
            aload 4 /* region */
            invokestatic com.ibm.icu.util.Region.getInstance:(Ljava/lang/String;)Lcom/ibm/icu/util/Region;
            astore 5 /* icuRegion */
        start local 5 // com.ibm.icu.util.Region icuRegion
        22: .line 444
            aload 5 /* icuRegion */
            invokevirtual com.ibm.icu.util.Region.getType:()Lcom/ibm/icu/util/Region$RegionType;
            getstatic com.ibm.icu.util.Region$RegionType.DEPRECATED:Lcom/ibm/icu/util/Region$RegionType;
            if_acmpne 31
        23: .line 445
            new com.ibm.icu.util.ULocale$Builder
            dup
            invokespecial com.ibm.icu.util.ULocale$Builder.<init>:()V
            aload 3 /* language */
            invokevirtual com.ibm.icu.util.ULocale$Builder.setLanguage:(Ljava/lang/String;)Lcom/ibm/icu/util/ULocale$Builder;
            aload 2 /* locale */
            invokevirtual java.util.Locale.getScript:()Ljava/lang/String;
            invokevirtual com.ibm.icu.util.ULocale$Builder.setScript:(Ljava/lang/String;)Lcom/ibm/icu/util/ULocale$Builder;
            invokevirtual com.ibm.icu.util.ULocale$Builder.build:()Lcom/ibm/icu/util/ULocale;
            astore 6 /* baseLocale */
        start local 6 // com.ibm.icu.util.ULocale baseLocale
        24: .line 446
            aload 6 /* baseLocale */
            invokestatic com.ibm.icu.util.ULocale.addLikelySubtags:(Lcom/ibm/icu/util/ULocale;)Lcom/ibm/icu/util/ULocale;
            invokevirtual com.ibm.icu.util.ULocale.getCountry:()Ljava/lang/String;
            astore 7 /* preferredRegionName */
        start local 7 // java.lang.String preferredRegionName
        25: .line 447
            aload 7 /* preferredRegionName */
            invokestatic com.ibm.icu.util.Region.getInstance:(Ljava/lang/String;)Lcom/ibm/icu/util/Region;
            astore 8 /* preferredRegion */
        start local 8 // com.ibm.icu.util.Region preferredRegion
        26: .line 448
            aload 5 /* icuRegion */
            invokevirtual com.ibm.icu.util.Region.getPreferredValues:()Ljava/util/List;
            astore 9 /* replacements */
        start local 9 // java.util.List replacements
        27: .line 449
            aload 9 /* replacements */
            aload 8 /* preferredRegion */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 30
        28: .line 450
            aload 8 /* preferredRegion */
            astore 5 /* icuRegion */
        29: .line 451
            goto 31
        30: .line 452
      StackMap locals: java.lang.String java.util.Locale$Builder java.util.Locale java.lang.String java.lang.String com.ibm.icu.util.Region com.ibm.icu.util.ULocale java.lang.String com.ibm.icu.util.Region java.util.List
      StackMap stack:
            aload 9 /* replacements */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.ibm.icu.util.Region
            astore 5 /* icuRegion */
        end local 9 // java.util.List replacements
        end local 8 // com.ibm.icu.util.Region preferredRegion
        end local 7 // java.lang.String preferredRegionName
        end local 6 // com.ibm.icu.util.ULocale baseLocale
        31: .line 455
      StackMap locals: java.lang.String java.util.Locale$Builder java.util.Locale java.lang.String java.lang.String com.ibm.icu.util.Region
      StackMap stack:
            aload 5 /* icuRegion */
            invokevirtual com.ibm.icu.util.Region.toString:()Ljava/lang/String;
            astore 6 /* canonicalRegion */
        start local 6 // java.lang.String canonicalRegion
        32: .line 456
            aload 1 /* builder */
            aload 6 /* canonicalRegion */
            invokevirtual java.util.Locale$Builder.setRegion:(Ljava/lang/String;)Ljava/util/Locale$Builder;
            pop
        end local 6 // java.lang.String canonicalRegion
        end local 5 // com.ibm.icu.util.Region icuRegion
        33: .line 457
            goto 35
      StackMap locals: java.lang.String java.util.Locale$Builder java.util.Locale java.lang.String java.lang.String
      StackMap stack: java.lang.IllegalArgumentException
        34: pop
        35: .line 462
      StackMap locals:
      StackMap stack:
            aload 2 /* locale */
            invokevirtual java.util.Locale.getVariant:()Ljava/lang/String;
            astore 5 /* variant */
        start local 5 // java.lang.String variant
        36: .line 463
            aload 5 /* variant */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 62
        37: .line 464
            aload 5 /* variant */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            ldc "[_-]"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 6 /* variants */
        start local 6 // java.lang.String[] variants
        38: .line 467
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        39: goto 51
        40: .line 468
      StackMap locals: java.lang.String java.lang.String[] int
      StackMap stack:
            ldc "heploc"
            aload 6 /* variants */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 43
        41: .line 469
            aload 6 /* variants */
            iload 7 /* i */
            ldc "alalc97"
            aastore
        42: .line 470
            goto 50
      StackMap locals:
      StackMap stack:
        43: ldc "arevela"
            aload 6 /* variants */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 46
        44: .line 471
            aload 6 /* variants */
            iload 7 /* i */
            ldc ""
            aastore
        45: .line 472
            goto 50
      StackMap locals:
      StackMap stack:
        46: ldc "arevmda"
            aload 6 /* variants */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 50
        47: .line 473
            aload 6 /* variants */
            iload 7 /* i */
            ldc ""
            aastore
        48: .line 474
            ldc "hy"
            aload 2 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 50
        49: .line 475
            aload 1 /* builder */
            ldc "hyw"
            invokevirtual java.util.Locale$Builder.setLanguage:(Ljava/lang/String;)Ljava/util/Locale$Builder;
            pop
        50: .line 467
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        51: iload 7 /* i */
            aload 6 /* variants */
            arraylength
            if_icmplt 40
        end local 7 // int i
        52: .line 479
            new java.util.HashSet
            dup
            aload 6 /* variants */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            invokevirtual java.util.HashSet.size:()I
            aload 6 /* variants */
            arraylength
            if_icmpeq 54
        53: .line 480
            ldc "Language tag with duplicate variants: %s"
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* languageTag */
            aastore
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorFormat:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        54: .line 483
      StackMap locals:
      StackMap stack:
            aload 6 /* variants */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
        55: .line 484
            new java.lang.StringBuilder
            dup
            aload 6 /* variants */
            iconst_0
            aaload
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 7 /* sb */
        start local 7 // java.lang.StringBuilder sb
        56: .line 485
            iconst_1
            istore 8 /* i */
        start local 8 // int i
        57: goto 60
        58: .line 486
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 7 /* sb */
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 6 /* variants */
            iload 8 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        59: .line 485
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 8 /* i */
            aload 6 /* variants */
            arraylength
            if_icmplt 58
        end local 8 // int i
        61: .line 488
            aload 1 /* builder */
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.Locale$Builder.setVariant:(Ljava/lang/String;)Ljava/util/Locale$Builder;
            pop
        end local 7 // java.lang.StringBuilder sb
        end local 6 // java.lang.String[] variants
        62: .line 491
      StackMap locals:
      StackMap stack:
            aload 2 /* locale */
            invokevirtual java.util.Locale.getExtensionKeys:()Ljava/util/Set;
            astore 6 /* extensions */
        start local 6 // java.util.Set extensions
        63: .line 492
            aload 6 /* extensions */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 106
        64: .line 494
            aload 0 /* languageTag */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 7 /* tag */
        start local 7 // java.lang.String tag
        65: .line 495
            aload 6 /* extensions */
            bipush 120
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 66
            aload 7 /* tag */
            ldc "-x-"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            goto 67
      StackMap locals: java.util.Set java.lang.String
      StackMap stack:
        66: aload 7 /* tag */
            invokevirtual java.lang.String.length:()I
      StackMap locals:
      StackMap stack: int
        67: istore 8 /* privateExtIdx */
        start local 8 // int privateExtIdx
        68: .line 496
            aload 6 /* extensions */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 76
      StackMap locals: java.lang.String java.util.Locale$Builder java.util.Locale java.lang.String java.lang.String java.lang.String java.util.Set java.lang.String int top java.util.Iterator
      StackMap stack:
        69: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Character
            astore 9 /* ext */
        start local 9 // java.lang.Character ext
        70: .line 497
            aload 9 /* ext */
            invokevirtual java.lang.Character.charValue:()C
            bipush 120
            if_icmpeq 76
        71: .line 498
            new java.lang.StringBuilder
            dup
            ldc "-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* ext */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* extDelimiter */
        start local 11 // java.lang.String extDelimiter
        72: .line 499
            aload 7 /* tag */
            aload 11 /* extDelimiter */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 12 /* idx */
        start local 12 // int idx
        73: .line 500
            aload 7 /* tag */
            aload 11 /* extDelimiter */
            iload 12 /* idx */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 13 /* idx2 */
        start local 13 // int idx2
        74: .line 501
            iload 13 /* idx2 */
            iconst_m1
            if_icmpeq 76
            iload 13 /* idx2 */
            iload 8 /* privateExtIdx */
            if_icmpge 76
        75: .line 502
            ldc "Language tag with duplicate singletons: %s"
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* languageTag */
            aastore
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorFormat:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 13 // int idx2
        end local 12 // int idx
        end local 11 // java.lang.String extDelimiter
        end local 9 // java.lang.Character ext
        76: .line 496
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 69
        77: .line 507
            aload 2 /* locale */
            invokevirtual java.util.Locale.getUnicodeLocaleKeys:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 102
      StackMap locals:
      StackMap stack:
        78: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* key */
        start local 9 // java.lang.String key
        79: .line 508
            aload 2 /* locale */
            aload 9 /* key */
            invokevirtual java.util.Locale.getUnicodeLocaleType:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* type */
        start local 11 // java.lang.String type
        80: .line 509
            ldc "true"
            aload 11 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 83
        81: .line 510
            ldc ""
            astore 11 /* type */
        82: .line 511
            goto 101
      StackMap locals: java.lang.String java.util.Locale$Builder java.util.Locale java.lang.String java.lang.String java.lang.String java.util.Set java.lang.String int java.lang.String java.util.Iterator java.lang.String
      StackMap stack:
        83: ldc "yes"
            aload 11 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 87
        84: .line 512
            ldc "kb"
            aload 9 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 85
            ldc "kc"
            aload 9 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 85
            ldc "kh"
            aload 9 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 85
            ldc "kk"
            aload 9 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 85
            ldc "kn"
            aload 9 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 101
        85: .line 513
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 11 /* type */
        86: .line 515
            goto 101
      StackMap locals:
      StackMap stack:
        87: ldc "ca"
            aload 9 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 90
        88: .line 516
            aload 11 /* type */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.normalizeCAType:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* type */
        89: .line 517
            goto 101
      StackMap locals:
      StackMap stack:
        90: ldc "ks"
            aload 9 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 93
        91: .line 518
            aload 11 /* type */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.normalizeKSType:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* type */
        92: .line 519
            goto 101
      StackMap locals:
      StackMap stack:
        93: ldc "ms"
            aload 9 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 96
        94: .line 520
            aload 11 /* type */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.normalizeMSType:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* type */
        95: .line 521
            goto 101
      StackMap locals:
      StackMap stack:
        96: ldc "rg"
            aload 9 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 97
            ldc "sd"
            aload 9 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 99
        97: .line 522
      StackMap locals:
      StackMap stack:
            aload 11 /* type */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.normalizeRGType:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* type */
        98: .line 523
            goto 101
      StackMap locals:
      StackMap stack:
        99: ldc "tz"
            aload 9 /* key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 101
       100: .line 524
            aload 11 /* type */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.normalizeTZType:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* type */
       101: .line 526
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            aload 9 /* key */
            aload 11 /* type */
            invokevirtual java.util.Locale$Builder.setUnicodeLocaleKeyword:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Locale$Builder;
            pop
        end local 11 // java.lang.String type
        end local 9 // java.lang.String key
       102: .line 507
      StackMap locals: java.lang.String java.util.Locale$Builder java.util.Locale java.lang.String java.lang.String java.lang.String java.util.Set java.lang.String int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 78
       103: .line 530
            aload 2 /* locale */
            bipush 116
            invokevirtual java.util.Locale.getExtension:(C)Ljava/lang/String;
            astore 9 /* transformedExt */
        start local 9 // java.lang.String transformedExt
       104: .line 531
            aload 9 /* transformedExt */
            ifnull 106
       105: .line 532
            aload 1 /* builder */
            bipush 116
            aload 9 /* transformedExt */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.normalizeTransformedExtension:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.Locale$Builder.setExtension:(CLjava/lang/String;)Ljava/util/Locale$Builder;
            pop
        end local 9 // java.lang.String transformedExt
        end local 8 // int privateExtIdx
        end local 7 // java.lang.String tag
       106: .line 535
      StackMap locals: java.lang.String java.util.Locale$Builder java.util.Locale java.lang.String java.lang.String java.lang.String java.util.Set
      StackMap stack:
            aload 1 /* builder */
            invokevirtual java.util.Locale$Builder.build:()Ljava/util/Locale;
            invokevirtual java.util.Locale.toLanguageTag:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.maybeAppendMissingLanguageSubTag:(Ljava/lang/String;)Ljava/lang/String;
       107: areturn
        end local 6 // java.util.Set extensions
        end local 5 // java.lang.String variant
        end local 4 // java.lang.String region
        end local 3 // java.lang.String language
        end local 2 // java.util.Locale locale
        end local 1 // java.util.Locale$Builder builder
       108: .line 536
      StackMap locals: java.lang.String
      StackMap stack: java.util.IllformedLocaleException
            astore 1 /* e */
        start local 1 // java.util.IllformedLocaleException e
       109: .line 537
            aload 1 /* e */
            invokevirtual java.util.IllformedLocaleException.getMessage:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 1 // java.util.IllformedLocaleException e
        end local 0 // java.lang.String languageTag
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  110     0          languageTag  Ljava/lang/String;
            3  108     1              builder  Ljava/util/Locale$Builder;
            4  108     2               locale  Ljava/util/Locale;
            5  108     3             language  Ljava/lang/String;
            8    9     4    canonicalLanguage  Ljava/lang/String;
           11   12     4    canonicalLanguage  Ljava/lang/String;
           18   19     4    canonicalLanguage  Ljava/lang/String;
           20  108     4               region  Ljava/lang/String;
           22   33     5            icuRegion  Lcom/ibm/icu/util/Region;
           24   31     6           baseLocale  Lcom/ibm/icu/util/ULocale;
           25   31     7  preferredRegionName  Ljava/lang/String;
           26   31     8      preferredRegion  Lcom/ibm/icu/util/Region;
           27   31     9         replacements  Ljava/util/List<Lcom/ibm/icu/util/Region;>;
           32   33     6      canonicalRegion  Ljava/lang/String;
           36  108     5              variant  Ljava/lang/String;
           38   62     6             variants  [Ljava/lang/String;
           39   52     7                    i  I
           56   62     7                   sb  Ljava/lang/StringBuilder;
           57   61     8                    i  I
           63  108     6           extensions  Ljava/util/Set<Ljava/lang/Character;>;
           65  106     7                  tag  Ljava/lang/String;
           68  106     8        privateExtIdx  I
           70   76     9                  ext  Ljava/lang/Character;
           72   76    11         extDelimiter  Ljava/lang/String;
           73   76    12                  idx  I
           74   76    13                 idx2  I
           79  102     9                  key  Ljava/lang/String;
           80  102    11                 type  Ljava/lang/String;
          104  106     9       transformedExt  Ljava/lang/String;
          109  110     1                    e  Ljava/util/IllformedLocaleException;
      Exception table:
        from    to  target  type
          21    33      34  Class java.lang.IllegalArgumentException
           0   107     108  Class java.util.IllformedLocaleException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
             Name  Flags
      languageTag  

  public static java.lang.String normalizeCAType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String type
         0: .line 544
            ldc "gregorian"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 545
            ldc "gregory"
            areturn
         2: .line 546
      StackMap locals:
      StackMap stack:
            ldc "ethiopic-amete-alem"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 547
            ldc "ethioaa"
            areturn
         4: .line 548
      StackMap locals:
      StackMap stack:
            ldc "islamicc"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 549
            ldc "islamic-civil"
            areturn
         6: .line 551
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            areturn
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  private static java.lang.String normalizeKSType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String type
         0: .line 555
            ldc "primary"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 556
            ldc "level1"
            areturn
         2: .line 557
      StackMap locals:
      StackMap stack:
            ldc "tertiary"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 558
            ldc "level3"
            areturn
         4: .line 560
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            areturn
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  private static java.lang.String normalizeMSType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String type
         0: .line 564
            ldc "imperial"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 565
            ldc "uksystem"
            areturn
         2: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            areturn
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  private static java.lang.String normalizeRGType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String type
         0: .line 571
            ldc "cn11"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 572
            ldc "cnbj"
            areturn
         2: .line 573
      StackMap locals:
      StackMap stack:
            ldc "cz10a"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 574
            ldc "cz110"
            areturn
         4: .line 575
      StackMap locals:
      StackMap stack:
            ldc "fra"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            ldc "frg"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 576
      StackMap locals:
      StackMap stack:
            ldc "frges"
            areturn
         6: .line 577
      StackMap locals:
      StackMap stack:
            ldc "lud"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 578
            ldc "lucl"
            areturn
         8: .line 579
      StackMap locals:
      StackMap stack:
            ldc "no23"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 580
            ldc "no50"
            areturn
        10: .line 582
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            areturn
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  private static java.lang.String normalizeTZType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String type
         0: .line 586
            ldc "cnckg"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 587
            ldc "cnsha"
            areturn
         2: .line 588
      StackMap locals:
      StackMap stack:
            ldc "eire"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 589
            ldc "iedub"
            areturn
         4: .line 590
      StackMap locals:
      StackMap stack:
            ldc "est"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 591
            ldc "utcw05"
            areturn
         6: .line 592
      StackMap locals:
      StackMap stack:
            ldc "gmt0"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 593
            ldc "gmt"
            areturn
         8: .line 594
      StackMap locals:
      StackMap stack:
            ldc "uct"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 595
            ldc "utc"
            areturn
        10: .line 596
      StackMap locals:
      StackMap stack:
            ldc "zulu"
            aload 0 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 597
            ldc "utc"
            areturn
        12: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            areturn
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  private static java.lang.String normalizeTransformedExtension(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=1
        start local 0 // java.lang.String extension
         0: .line 604
            aconst_null
            astore 1 /* tlang */
        start local 1 // java.lang.String tlang
         1: .line 605
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 2 /* fields */
        start local 2 // java.util.Map fields
         2: .line 606
            iconst_1
            istore 3 /* seenDash */
        start local 3 // boolean seenDash
         3: .line 607
            aconst_null
            astore 4 /* lastKey */
        start local 4 // java.lang.String lastKey
         4: .line 608
            iconst_m1
            istore 5 /* lastValueStart */
        start local 5 // int lastValueStart
         5: .line 609
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 18
         7: .line 610
      StackMap locals: java.lang.String java.lang.String java.util.Map int java.lang.String int int
      StackMap stack:
            iload 3 /* seenDash */
            ifeq 14
            aload 0 /* extension */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.oracle.truffle.js.runtime.util.UTS35Validator.isAlpha:(C)Z
            ifeq 14
            aload 0 /* extension */
            iload 6 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.oracle.truffle.js.runtime.util.UTS35Validator.isDigit:(C)Z
            ifeq 14
            iload 6 /* i */
            iconst_2
            iadd
            aload 0 /* extension */
            invokevirtual java.lang.String.length:()I
            if_icmpeq 8
            aload 0 /* extension */
            iload 6 /* i */
            iconst_2
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 14
         8: .line 611
      StackMap locals:
      StackMap stack:
            aload 4 /* lastKey */
            ifnonnull 11
         9: .line 612
            aload 0 /* extension */
            iconst_0
            iconst_0
            iload 6 /* i */
            iconst_1
            isub
            invokestatic java.lang.Math.max:(II)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* tlang */
        10: .line 613
            goto 12
        11: .line 614
      StackMap locals:
      StackMap stack:
            aload 2 /* fields */
            aload 4 /* lastKey */
            aload 0 /* extension */
            iload 5 /* lastValueStart */
            iload 6 /* i */
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 616
      StackMap locals:
      StackMap stack:
            aload 0 /* extension */
            iload 6 /* i */
            iload 6 /* i */
            iconst_2
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* lastKey */
        13: .line 617
            iload 6 /* i */
            iconst_3
            iadd
            istore 5 /* lastValueStart */
        14: .line 619
      StackMap locals:
      StackMap stack:
            aload 0 /* extension */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 3 /* seenDash */
        17: .line 609
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            aload 0 /* extension */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmplt 7
        end local 6 // int i
        19: .line 621
            aload 1 /* tlang */
            ifnonnull 21
        20: .line 622
            aload 0 /* extension */
            astore 1 /* tlang */
        21: .line 624
      StackMap locals:
      StackMap stack:
            aload 4 /* lastKey */
            ifnull 23
        22: .line 625
            aload 2 /* fields */
            aload 4 /* lastKey */
            aload 0 /* extension */
            iload 5 /* lastValueStart */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 628
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* normalized */
        start local 6 // java.lang.StringBuilder normalized
        24: .line 631
            aload 1 /* tlang */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 27
        25: .line 632
            aload 1 /* tlang */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.validateAndCanonicalizeLanguageTag:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* tlang */
        26: .line 633
            aload 6 /* normalized */
            aload 1 /* tlang */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 637
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* fields */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 35
      StackMap locals: java.lang.String java.lang.String java.util.Map int java.lang.String int java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
        28: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* entry */
        start local 7 // java.util.Map$Entry entry
        29: .line 638
            aload 6 /* normalized */
            invokevirtual java.lang.StringBuilder.length:()I
            ifeq 31
        30: .line 639
            aload 6 /* normalized */
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 641
      StackMap locals: java.lang.String java.lang.String java.util.Map int java.lang.String int java.lang.StringBuilder java.util.Map$Entry java.util.Iterator
      StackMap stack:
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* value */
        start local 9 // java.lang.String value
        32: .line 642
            ldc "names"
            aload 9 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 34
        33: .line 643
            ldc "prprname"
            astore 9 /* value */
        34: .line 645
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* normalized */
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 9 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 9 // java.lang.String value
        end local 7 // java.util.Map$Entry entry
        35: .line 637
      StackMap locals: java.lang.String java.lang.String java.util.Map int java.lang.String int java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        36: .line 648
            aload 6 /* normalized */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // java.lang.StringBuilder normalized
        end local 5 // int lastValueStart
        end local 4 // java.lang.String lastKey
        end local 3 // boolean seenDash
        end local 2 // java.util.Map fields
        end local 1 // java.lang.String tlang
        end local 0 // java.lang.String extension
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   37     0       extension  Ljava/lang/String;
            1   37     1           tlang  Ljava/lang/String;
            2   37     2          fields  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            3   37     3        seenDash  Z
            4   37     4         lastKey  Ljava/lang/String;
            5   37     5  lastValueStart  I
            6   19     6               i  I
           24   37     6      normalized  Ljava/lang/StringBuilder;
           29   35     7           entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           32   35     9           value  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      extension  

  public static java.lang.String maybeAppendMissingLanguageSubTag(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String tag
         0: .line 654
            aload 0 /* tag */
            ldc "x-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            new java.lang.StringBuilder
            dup
            ldc "und-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* tag */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* tag */
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.lang.String tag
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   tag  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      tag   

  public static java.lang.String toUpperCase(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String in
         0: .line 660
            new java.lang.StringBuilder
            dup
            aload 0 /* in */
            invokevirtual java.lang.String.length:()I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* result */
        start local 1 // java.lang.StringBuilder result
         1: .line 661
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 9
         3: .line 662
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* in */
            iload 2 /* i */
            invokevirtual java.lang.String.codePointAt:(I)I
            istore 3 /* c */
        start local 3 // int c
         4: .line 663
            iload 3 /* c */
            bipush 97
            if_icmplt 7
            iload 3 /* c */
            bipush 122
            if_icmpgt 7
         5: .line 664
            aload 1 /* result */
            iload 3 /* c */
            bipush 32
            isub
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 665
            goto 8
         7: .line 666
      StackMap locals: int
      StackMap stack:
            aload 1 /* result */
            iload 3 /* c */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // int c
         8: .line 661
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* in */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 2 // int i
        10: .line 669
            aload 1 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder result
        end local 0 // java.lang.String in
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0      in  Ljava/lang/String;
            1   11     1  result  Ljava/lang/StringBuilder;
            2   10     2       i  I
            4    8     3       c  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      in    

  public static java.lang.String toLowerCase(com.oracle.truffle.js.runtime.JSContext, java.lang.String, java.lang.String[]);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSContext ctx
        start local 1 // java.lang.String s
        start local 2 // java.lang.String[] locales
         0: .line 674
            aload 0 /* ctx */
            aload 2 /* locales */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.selectedLocaleStripped:(Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/String;)Ljava/util/Locale;
            astore 3 /* strippedLocale */
        start local 3 // java.util.Locale strippedLocale
         1: .line 675
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* result */
        start local 4 // java.lang.StringBuilder result
         2: .line 676
            invokestatic com.ibm.icu.text.CaseMap.toLower:()Lcom/ibm/icu/text/CaseMap$Lower;
            astore 5 /* tr */
        start local 5 // com.ibm.icu.text.CaseMap$Lower tr
         3: .line 677
            aload 5 /* tr */
            aload 3 /* strippedLocale */
            aload 1 /* s */
            aload 4 /* result */
            aconst_null
            invokevirtual com.ibm.icu.text.CaseMap$Lower.apply:(Ljava/util/Locale;Ljava/lang/CharSequence;Ljava/lang/Appendable;Lcom/ibm/icu/text/Edits;)Ljava/lang/Appendable;
            pop
         4: .line 678
            aload 4 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // com.ibm.icu.text.CaseMap$Lower tr
        end local 4 // java.lang.StringBuilder result
        end local 3 // java.util.Locale strippedLocale
        end local 2 // java.lang.String[] locales
        end local 1 // java.lang.String s
        end local 0 // com.oracle.truffle.js.runtime.JSContext ctx
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0             ctx  Lcom/oracle/truffle/js/runtime/JSContext;
            0    5     1               s  Ljava/lang/String;
            0    5     2         locales  [Ljava/lang/String;
            1    5     3  strippedLocale  Ljava/util/Locale;
            2    5     4          result  Ljava/lang/StringBuilder;
            3    5     5              tr  Lcom/ibm/icu/text/CaseMap$Lower;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
         Name  Flags
      ctx      
      s        
      locales  

  public static java.lang.String toUpperCase(com.oracle.truffle.js.runtime.JSContext, java.lang.String, java.lang.String[]);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSContext ctx
        start local 1 // java.lang.String s
        start local 2 // java.lang.String[] locales
         0: .line 683
            aload 0 /* ctx */
            aload 2 /* locales */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.selectedLocaleStripped:(Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/String;)Ljava/util/Locale;
            astore 3 /* strippedLocale */
        start local 3 // java.util.Locale strippedLocale
         1: .line 684
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* result */
        start local 4 // java.lang.StringBuilder result
         2: .line 685
            invokestatic com.ibm.icu.text.CaseMap.toUpper:()Lcom/ibm/icu/text/CaseMap$Upper;
            astore 5 /* tr */
        start local 5 // com.ibm.icu.text.CaseMap$Upper tr
         3: .line 686
            aload 5 /* tr */
            aload 3 /* strippedLocale */
            aload 1 /* s */
            aload 4 /* result */
            aconst_null
            invokevirtual com.ibm.icu.text.CaseMap$Upper.apply:(Ljava/util/Locale;Ljava/lang/CharSequence;Ljava/lang/Appendable;Lcom/ibm/icu/text/Edits;)Ljava/lang/Appendable;
            pop
         4: .line 687
            aload 4 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // com.ibm.icu.text.CaseMap$Upper tr
        end local 4 // java.lang.StringBuilder result
        end local 3 // java.util.Locale strippedLocale
        end local 2 // java.lang.String[] locales
        end local 1 // java.lang.String s
        end local 0 // com.oracle.truffle.js.runtime.JSContext ctx
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0             ctx  Lcom/oracle/truffle/js/runtime/JSContext;
            0    5     1               s  Ljava/lang/String;
            0    5     2         locales  [Ljava/lang/String;
            1    5     3  strippedLocale  Ljava/util/Locale;
            2    5     4          result  Ljava/lang/StringBuilder;
            3    5     5              tr  Lcom/ibm/icu/text/CaseMap$Upper;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
         Name  Flags
      ctx      
      s        
      locales  

  public static java.util.Locale selectedLocaleStripped(com.oracle.truffle.js.runtime.JSContext, java.lang.String[]);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/String;)Ljava/util/Locale;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext ctx
        start local 1 // java.lang.String[] locales
         0: .line 692
            aload 0 /* ctx */
            aload 1 /* locales */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.selectedLocale:(Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/String;)Ljava/util/Locale;
            invokevirtual java.util.Locale.stripExtensions:()Ljava/util/Locale;
            areturn
        end local 1 // java.lang.String[] locales
        end local 0 // com.oracle.truffle.js.runtime.JSContext ctx
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0      ctx  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     1  locales  [Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
         Name  Flags
      ctx      
      locales  

  public static com.oracle.truffle.api.object.DynamicObject makePart(com.oracle.truffle.js.runtime.JSContext, java.lang.String, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // java.lang.String type
        start local 2 // java.lang.String value
         0: .line 696
            aload 0 /* context */
            aload 1 /* type */
            aload 2 /* value */
            aconst_null
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.makePart:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String type
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     1     type  Ljava/lang/String;
            0    1     2    value  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      context  
      type     
      value    

  public static com.oracle.truffle.api.object.DynamicObject makePart(com.oracle.truffle.js.runtime.JSContext, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // java.lang.String type
        start local 2 // java.lang.String value
        start local 3 // java.lang.String unit
         0: .line 700
            aload 0 /* context */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* p */
        start local 4 // com.oracle.truffle.api.object.DynamicObject p
         1: .line 701
            aload 4 /* p */
            ldc "type"
            aload 1 /* type */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         2: .line 702
            aload 4 /* p */
            ldc "value"
            aload 2 /* value */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         3: .line 703
            aload 3 /* unit */
            ifnull 5
         4: .line 704
            aload 4 /* p */
            ldc "unit"
            aload 3 /* unit */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         5: .line 706
      StackMap locals: com.oracle.truffle.api.object.DynamicObject
      StackMap stack:
            aload 4 /* p */
            areturn
        end local 4 // com.oracle.truffle.api.object.DynamicObject p
        end local 3 // java.lang.String unit
        end local 2 // java.lang.String value
        end local 1 // java.lang.String type
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    6     1     type  Ljava/lang/String;
            0    6     2    value  Ljava/lang/String;
            0    6     3     unit  Ljava/lang/String;
            1    6     4        p  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
         Name  Flags
      context  
      type     
      value    
      unit     

  private static boolean isSanctionedSimpleUnitIdentifier(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String unitIdentifier
         0: .line 711
            getstatic com.oracle.truffle.js.runtime.util.IntlUtil.SANCTIONED_SIMPLE_UNIT_IDENTIFIERS:Ljava/util/Set;
            aload 0 /* unitIdentifier */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.String unitIdentifier
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  unitIdentifier  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                Name  Flags
      unitIdentifier  

  private static boolean isWellFormedUnitIdentifier(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.String unitIdentifier
         0: .line 716
            aload 0 /* unitIdentifier */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.isSanctionedSimpleUnitIdentifier:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 717
            iconst_1
            ireturn
         2: .line 719
      StackMap locals:
      StackMap stack:
            ldc "-per-"
            astore 1 /* per */
        start local 1 // java.lang.String per
         3: .line 720
            aload 0 /* unitIdentifier */
            aload 1 /* per */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* index */
        start local 2 // int index
         4: .line 721
            iload 2 /* index */
            iconst_m1
            if_icmpne 6
         5: .line 722
            iconst_0
            ireturn
         6: .line 724
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* unitIdentifier */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* numerator */
        start local 3 // java.lang.String numerator
         7: .line 725
            aload 0 /* unitIdentifier */
            iload 2 /* index */
            aload 1 /* per */
            invokevirtual java.lang.String.length:()I
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* denominator */
        start local 4 // java.lang.String denominator
         8: .line 726
            aload 3 /* numerator */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.isSanctionedSimpleUnitIdentifier:(Ljava/lang/String;)Z
            ifeq 9
            aload 4 /* denominator */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.isSanctionedSimpleUnitIdentifier:(Ljava/lang/String;)Z
            ifeq 9
            iconst_1
            ireturn
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         9: iconst_0
            ireturn
        end local 4 // java.lang.String denominator
        end local 3 // java.lang.String numerator
        end local 2 // int index
        end local 1 // java.lang.String per
        end local 0 // java.lang.String unitIdentifier
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0  unitIdentifier  Ljava/lang/String;
            3   10     1             per  Ljava/lang/String;
            4   10     2           index  I
            7   10     3       numerator  Ljava/lang/String;
            8   10     4     denominator  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                Name  Flags
      unitIdentifier  

  public static void ensureIsWellFormedUnitIdentifier(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String unitIdentifier
         0: .line 730
            aload 0 /* unitIdentifier */
            invokestatic com.oracle.truffle.js.runtime.util.IntlUtil.isWellFormedUnitIdentifier:(Ljava/lang/String;)Z
            ifne 2
         1: .line 731
            aload 0 /* unitIdentifier */
            invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorInvalidUnitIdentifier:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         2: .line 733
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String unitIdentifier
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0  unitIdentifier  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      unitIdentifier  
}
SourceFile: "IntlUtil.java"
InnerClasses:
  public final Lower = com.ibm.icu.text.CaseMap$Lower of com.ibm.icu.text.CaseMap
  public final Upper = com.ibm.icu.text.CaseMap$Upper of com.ibm.icu.text.CaseMap
  public final RegionType = com.ibm.icu.util.Region$RegionType of com.ibm.icu.util.Region
  public final Builder = com.ibm.icu.util.ULocale$Builder of com.ibm.icu.util.ULocale
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Builder = java.util.Locale$Builder of java.util.Locale
  public abstract Entry = java.util.Map$Entry of java.util.Map