@@ -243,7 +243,7 @@ this.google.maps.plugins.loader = (function (exports) {
243243    ( module . exports  =  function  ( key ,  value )  { 
244244      return  sharedStore [ key ]  ||  ( sharedStore [ key ]  =  value  !==  undefined  ? value  : { } ) ; 
245245    } ) ( 'versions' ,  [ ] ) . push ( { 
246-       version : '3.11 .1' , 
246+       version : '3.12 .1' , 
247247      mode : 'global' , 
248248      copyright : '© 2021 Denis Pushkarev (zloirock.ru)' 
249249    } ) ; 
@@ -284,7 +284,7 @@ this.google.maps.plugins.loader = (function (exports) {
284284    } ; 
285285  } ; 
286286
287-   if  ( nativeWeakMap )  { 
287+   if  ( nativeWeakMap   ||   sharedStore . state )  { 
288288    var  store  =  sharedStore . state  ||  ( sharedStore . state  =  new  WeakMap ( ) ) ; 
289289    var  wmget  =  store . get ; 
290290    var  wmhas  =  store . has ; 
@@ -571,8 +571,6 @@ this.google.maps.plugins.loader = (function (exports) {
571571    if  ( propertyKey  in  object )  objectDefineProperty . f ( object ,  propertyKey ,  createPropertyDescriptor ( 0 ,  value ) ) ; else  object [ propertyKey ]  =  value ; 
572572  } ; 
573573
574-   var  engineIsNode  =  classofRaw ( global_1 . process )  ==  'process' ; 
575- 
576574  var  engineUserAgent  =  getBuiltIn ( 'navigator' ,  'userAgent' )  ||  '' ; 
577575
578576  var  process$3  =  global_1 . process ; 
@@ -582,7 +580,7 @@ this.google.maps.plugins.loader = (function (exports) {
582580
583581  if  ( v8 )  { 
584582    match  =  v8 . split ( '.' ) ; 
585-     version  =  match [ 0 ]  +  match [ 1 ] ; 
583+     version  =  match [ 0 ]  <   4  ?  1  :  match [ 0 ]   +  match [ 1 ] ; 
586584  }  else  if  ( engineUserAgent )  { 
587585    match  =  engineUserAgent . match ( / E d g e \/ ( \d + ) / ) ; 
588586
@@ -594,11 +592,13 @@ this.google.maps.plugins.loader = (function (exports) {
594592
595593  var  engineV8Version  =  version  &&  + version ; 
596594
595+   /* eslint-disable es/no-symbol -- required for testing */ 
596+   // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing 
597+ 
597598  var  nativeSymbol  =  ! ! Object . getOwnPropertySymbols  &&  ! fails ( function  ( )  { 
598-     // eslint-disable-next-line es/no-symbol -- required for testing 
599-     return  ! Symbol . sham  &&  (  // Chrome 38 Symbol has incorrect toString conversion 
599+     return  ! String ( Symbol ( ) )  ||  // Chrome 38 Symbol has incorrect toString conversion 
600600    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances 
601-     engineIsNode  ?  engineV8Version  ===   38  :  engineV8Version   >   37   &&  engineV8Version  <  41 ) ; 
601+     ! Symbol . sham   &&  engineV8Version  &&  engineV8Version  <  41 ; 
602602  } ) ; 
603603
604604  /* eslint-disable es/no-symbol -- required for testing */ 
@@ -1052,6 +1052,8 @@ this.google.maps.plugins.loader = (function (exports) {
10521052
10531053  var  engineIsIos  =  / (?: i p h o n e | i p o d | i p a d ) .* a p p l e w e b k i t / i. test ( engineUserAgent ) ; 
10541054
1055+   var  engineIsNode  =  classofRaw ( global_1 . process )  ==  'process' ; 
1056+ 
10551057  var  location  =  global_1 . location ; 
10561058  var  set  =  global_1 . setImmediate ; 
10571059  var  clear  =  global_1 . clearImmediate ; 
@@ -1198,7 +1200,9 @@ this.google.maps.plugins.loader = (function (exports) {
11981200
11991201    }  else  if  ( Promise$1  &&  Promise$1 . resolve )  { 
12001202      // Promise.resolve without an argument throws an error in LG WebOS 2 
1201-       promise  =  Promise$1 . resolve ( undefined ) ; 
1203+       promise  =  Promise$1 . resolve ( undefined ) ;  // workaround of WebKit ~ iOS Safari 10.1 bug 
1204+ 
1205+       promise . constructor  =  Promise$1 ; 
12021206      then  =  promise . then ; 
12031207
12041208      notify$1  =  function  ( )  { 
@@ -1289,6 +1293,8 @@ this.google.maps.plugins.loader = (function (exports) {
12891293    } 
12901294  } ; 
12911295
1296+   var  engineIsBrowser  =  typeof  window  ==  'object' ; 
1297+ 
12921298  var  task  =  task$1 . set ; 
12931299  var  SPECIES  =  wellKnownSymbol ( 'species' ) ; 
12941300  var  PROMISE  =  'Promise' ; 
@@ -1297,6 +1303,7 @@ this.google.maps.plugins.loader = (function (exports) {
12971303  var  getInternalPromiseState  =  internalState . getterFor ( PROMISE ) ; 
12981304  var  NativePromisePrototype  =  nativePromiseConstructor  &&  nativePromiseConstructor . prototype ; 
12991305  var  PromiseConstructor  =  nativePromiseConstructor ; 
1306+   var  PromiseConstructorPrototype  =  NativePromisePrototype ; 
13001307  var  TypeError$1  =  global_1 . TypeError ; 
13011308  var  document$1  =  global_1 . document ; 
13021309  var  process  =  global_1 . process ; 
@@ -1311,24 +1318,22 @@ this.google.maps.plugins.loader = (function (exports) {
13111318  var  REJECTED  =  2 ; 
13121319  var  HANDLED  =  1 ; 
13131320  var  UNHANDLED  =  2 ; 
1321+   var  SUBCLASSING  =  false ; 
13141322  var  Internal ,  OwnPromiseCapability ,  PromiseWrapper ,  nativeThen ; 
13151323  var  FORCED  =  isForced_1 ( PROMISE ,  function  ( )  { 
1316-     var  GLOBAL_CORE_JS_PROMISE  =  inspectSource ( PromiseConstructor )  !==  String ( PromiseConstructor ) ; 
1317- 
1318-     if  ( ! GLOBAL_CORE_JS_PROMISE )  { 
1319-       // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables 
1320-       // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 
1321-       // We can't detect it synchronously, so just check versions 
1322-       if  ( engineV8Version  ===  66 )  return  true ;  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test 
1324+     var  GLOBAL_CORE_JS_PROMISE  =  inspectSource ( PromiseConstructor )  !==  String ( PromiseConstructor ) ;  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables 
1325+     // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 
1326+     // We can't detect it synchronously, so just check versions 
13231327
1324-       if  ( ! engineIsNode  &&  ! NATIVE_REJECTION_EVENT )  return  true ; 
1325-     }  // We need Promise#finally in the pure version for preventing prototype pollution 
1328+     if  ( ! GLOBAL_CORE_JS_PROMISE  &&  engineV8Version  ===  66 )  return  true ;  // We need Promise#finally in the pure version for preventing prototype pollution 
13261329    // deoptimization and performance degradation 
13271330    // https://github.com/zloirock/core-js/issues/679 
13281331
13291332    if  ( engineV8Version  >=  51  &&  / n a t i v e   c o d e / . test ( PromiseConstructor ) )  return  false ;  // Detect correctness of subclassing with @@species  support 
13301333
1331-     var  promise  =  PromiseConstructor . resolve ( 1 ) ; 
1334+     var  promise  =  new  PromiseConstructor ( function  ( resolve )  { 
1335+       resolve ( 1 ) ; 
1336+     } ) ; 
13321337
13331338    var  FakePromise  =  function  ( exec )  { 
13341339      exec ( function  ( )  { 
@@ -1340,9 +1345,12 @@ this.google.maps.plugins.loader = (function (exports) {
13401345
13411346    var  constructor  =  promise . constructor  =  { } ; 
13421347    constructor [ SPECIES ]  =  FakePromise ; 
1343-     return   ! ( promise . then ( function  ( )  { 
1348+     SUBCLASSING   =   promise . then ( function  ( )  { 
13441349      /* empty */ 
1345-     } )  instanceof  FakePromise ) ; 
1350+     } )  instanceof  FakePromise ; 
1351+     if  ( ! SUBCLASSING )  return  true ;  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test 
1352+ 
1353+     return  ! GLOBAL_CORE_JS_PROMISE  &&  engineIsBrowser  &&  ! NATIVE_REJECTION_EVENT ; 
13461354  } ) ; 
13471355  var  INCORRECT_ITERATION  =  FORCED  ||  ! checkCorrectnessOfIteration ( function  ( iterable )  { 
13481356    PromiseConstructor . all ( iterable ) [ 'catch' ] ( function  ( )  { 
@@ -1520,8 +1528,9 @@ this.google.maps.plugins.loader = (function (exports) {
15201528      }  catch  ( error )  { 
15211529        internalReject ( state ,  error ) ; 
15221530      } 
1523-     } ;   // eslint-disable-next-line no-unused-vars -- required for `.length` 
1531+     } ; 
15241532
1533+     PromiseConstructorPrototype  =  PromiseConstructor . prototype ;  // eslint-disable-next-line no-unused-vars -- required for `.length` 
15251534
15261535    Internal  =  function  Promise ( executor )  { 
15271536      setInternalState ( this ,  { 
@@ -1536,7 +1545,7 @@ this.google.maps.plugins.loader = (function (exports) {
15361545      } ) ; 
15371546    } ; 
15381547
1539-     Internal . prototype  =  redefineAll ( PromiseConstructor . prototype ,  { 
1548+     Internal . prototype  =  redefineAll ( PromiseConstructorPrototype ,  { 
15401549      // `Promise.prototype.then` method 
15411550      // https://tc39.es/ecma262/#sec-promise.prototype.then 
15421551      then : function  then ( onFulfilled ,  onRejected )  { 
@@ -1570,16 +1579,24 @@ this.google.maps.plugins.loader = (function (exports) {
15701579    } ; 
15711580
15721581    if  ( typeof  nativePromiseConstructor  ==  'function'  &&  NativePromisePrototype  !==  Object . prototype )  { 
1573-       nativeThen  =  NativePromisePrototype . then ;  // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs 
1582+       nativeThen  =  NativePromisePrototype . then ; 
1583+ 
1584+       if  ( ! SUBCLASSING )  { 
1585+         // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs 
1586+         redefine ( NativePromisePrototype ,  'then' ,  function  then ( onFulfilled ,  onRejected )  { 
1587+           var  that  =  this ; 
1588+           return  new  PromiseConstructor ( function  ( resolve ,  reject )  { 
1589+             nativeThen . call ( that ,  resolve ,  reject ) ; 
1590+           } ) . then ( onFulfilled ,  onRejected ) ;  // https://github.com/zloirock/core-js/issues/640 
1591+         } ,  { 
1592+           unsafe : true 
1593+         } ) ;  // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` 
1594+ 
1595+         redefine ( NativePromisePrototype ,  'catch' ,  PromiseConstructorPrototype [ 'catch' ] ,  { 
1596+           unsafe : true 
1597+         } ) ; 
1598+       }  // make `.constructor === Promise` work for native promise-based APIs 
15741599
1575-       redefine ( NativePromisePrototype ,  'then' ,  function  then ( onFulfilled ,  onRejected )  { 
1576-         var  that  =  this ; 
1577-         return  new  PromiseConstructor ( function  ( resolve ,  reject )  { 
1578-           nativeThen . call ( that ,  resolve ,  reject ) ; 
1579-         } ) . then ( onFulfilled ,  onRejected ) ;  // https://github.com/zloirock/core-js/issues/640 
1580-       } ,  { 
1581-         unsafe : true 
1582-       } ) ;  // make `.constructor === Promise` work for native promise-based APIs 
15831600
15841601      try  { 
15851602        delete  NativePromisePrototype . constructor ; 
@@ -1589,7 +1606,7 @@ this.google.maps.plugins.loader = (function (exports) {
15891606
15901607
15911608      if  ( objectSetPrototypeOf )  { 
1592-         objectSetPrototypeOf ( NativePromisePrototype ,  PromiseConstructor . prototype ) ; 
1609+         objectSetPrototypeOf ( NativePromisePrototype ,  PromiseConstructorPrototype ) ; 
15931610      } 
15941611    } 
15951612  } 
0 commit comments