popAndLoadNextScript = function() {
    'use strict';
    const trustedUri = trustedUris.shift();
    const deferred = goog.net.jsloader.safeLoad(trustedUri, opt_options);
    if (trustedUris.length) {
      deferred.addBoth(popAndLoadNextScript);
    }
    return deferred;
  }
Loads and evaluates the JavaScript files at the specified URIs, guaranteeing
the order of script loads.

Because we have to load the scripts in serial (load script 1, exec script 1,
load script 2, exec script 2, and so on), this will be slower than doing
the network fetches in parallel.

If you need to load a large number of scripts but dependency order doesn't
matter, you should just call goog.net.jsloader.safeLoad N times.

If you need to load a large number of scripts on the same domain,
you may want to use goog.module.ModuleLoader.

@param {Array<!goog.html.TrustedResourceUrl>} trustedUris The URIs to load.
@param {goog.net.jsloader.Options=} opt_options Optional parameters. See
    goog.net.jsloader.options documentation for details.
@return {!goog.async.Deferred} The deferred result, that may be used to add
    callbacks