code: function $$core$$supportedLocalesOf(locales) {
          /*jshint validthis:true */
  
          // Bound functions only have the `this` value altered if being used as a constructor,
          // this lets us imitate a native function that has no constructor
          if (!$$core$$hop.call(this, '[[availableLocales]]'))
              throw new TypeError('supportedLocalesOf() is not a constructor');
  
          var
          // Create an object whose props can be used to restore the values of RegExp props
              regexpState = $$core$$createRegExpRestore(),
  
          // 1. If options is not provided, then let options be undefined.
              options = arguments[1],
  
          // 2. Let availableLocales be the value of the [[availableLocales]] internal
          //    property of the standard built-in object that is the initial value of
          //    Intl.NumberFormat.
  
              availableLocales = this['[[availableLocales]]'],
  
          // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList
          //    abstract operation (defined in 9.2.1) with argument locales.
              requestedLocales = $$core$$CanonicalizeLocaleList(locales);
  
          // Restore the RegExp properties
          regexpState.exp.test(regexpState.input);
  
          // 4. Return the result of calling the SupportedLocales abstract operation
          //    (defined in 9.2.8) with arguments availableLocales, requestedLocales,
          //    and options.
          return $$core$$SupportedLocales(availableLocales, requestedLocales, options);
      }
docs: A merge of the Intl.{Constructor}.supportedLocalesOf functions
  To make life easier, the function should be bound to the constructor's internal
  properties object.