@supraio/client-daemon-js 0.0.0-mzwindows.286 → 0.0.0-nacl.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  (function() {
3
3
 
4
- var $goVersion = "go1.19.10";
4
+ var $goVersion = "go1.19.13";
5
5
  Error.stackTraceLimit = Infinity;
6
6
 
7
7
  var $NaN = NaN;
@@ -21274,7 +21274,7 @@ $packages["strconv"] = (function() {
21274
21274
  return $pkg;
21275
21275
  })();
21276
21276
  $packages["reflect"] = (function() {
21277
- var $pkg = {}, $init, errors, js, abi, bytealg, goarch, itoa, unsafeheader, math, runtime, strconv, sync, unicode, utf8, Value, flag, ValueError, MapIter, SliceHeader, Type, Kind, tflag, rtype, method, ChanDir, arrayType, chanType, imethod, interfaceType, mapType, ptrType, sliceType, structField, structType, Method, nameOff, typeOff, textOff, StructField, StructTag, fieldScan, uncommonType, funcType, name, nameData, hiter, sliceType$1, ptrType$1, sliceType$2, sliceType$3, sliceType$4, sliceType$5, ptrType$2, funcType$1, sliceType$7, sliceType$8, ptrType$6, ptrType$8, ptrType$9, sliceType$10, ptrType$10, sliceType$11, ptrType$11, ptrType$12, sliceType$12, ptrType$13, ptrType$14, funcType$2, sliceType$14, sliceType$15, ptrType$18, structType$3, sliceType$16, ptrType$19, ptrType$20, sliceType$17, sliceType$18, arrayType$6, sliceType$19, arrayType$7, sliceType$20, funcType$3, ptrType$23, arrayType$8, ptrType$24, funcType$4, funcType$5, ptrType$26, ptrType$27, bytesType, uint8Type, stringType, kindNames, initialized, nameMap, nameOffList, typeOffList, callHelper, jsObjectPtr, selectHelper, copyVal, overflowFloat32, typesMustMatch, grow, Append, MakeMap, MakeMapWithSize, Indirect, convertOp, makeFloat, makeFloat32, makeComplex, makeString, makeBytes, makeRunes, cvtInt, cvtUint, cvtFloatInt, cvtFloatUint, cvtIntFloat, cvtUintFloat, cvtFloat, cvtComplex, cvtIntString, cvtUintString, cvtBytesString, cvtStringBytes, cvtRunesString, cvtStringRunes, cvtT2I, cvtI2I, PtrTo, PointerTo, implements$1, specialChannelAssignability, directlyAssignable, haveIdenticalType, haveIdenticalUnderlyingType, toType, ifaceIndir, methodValueCallCodePtr, methodValueCall, init, New, jsType, reflectType, setKindType, newName, newMethodName, resolveReflectName, newTypeOff, internalStr, isWrapped, copyStruct, makeValue, MakeSlice, TypeOf, ValueOf, FuncOf, SliceOf, Zero, unsafe_New, makeInt, typedmemmove, makemap, keyFor, mapaccess, mapassign, mapdelete, mapaccess_faststr, mapassign_faststr, mapdelete_faststr, mapiterinit, mapiterkey, mapiterelem, mapiternext, maplen, cvtDirect, cvtSliceArrayPtr, Copy, methodReceiver, valueInterface, ifaceE2I, makeMethodValue, wrapJsObject, unwrapJsObject, getJsTag, chanrecv, chansend, DeepEqual, deepValueEqualJs, stringsLastIndex, stringsHasPrefix, valueMethodName, verifyNotInHeapPtr;
21277
+ var $pkg = {}, $init, errors, js, abi, bytealg, goarch, itoa, unsafeheader, math, runtime, strconv, sync, unicode, utf8, Value, flag, ValueError, MapIter, Type, Kind, tflag, rtype, method, ChanDir, arrayType, chanType, imethod, interfaceType, mapType, ptrType, sliceType, structField, structType, Method, nameOff, typeOff, textOff, StructField, StructTag, fieldScan, uncommonType, funcType, name, nameData, hiter, sliceType$1, ptrType$1, sliceType$2, sliceType$3, sliceType$4, sliceType$5, ptrType$2, funcType$1, sliceType$7, sliceType$8, ptrType$6, ptrType$8, ptrType$9, sliceType$10, ptrType$10, sliceType$11, ptrType$11, ptrType$12, sliceType$12, ptrType$13, ptrType$14, funcType$2, sliceType$14, sliceType$15, ptrType$18, structType$3, sliceType$16, ptrType$19, ptrType$20, sliceType$17, sliceType$18, arrayType$6, sliceType$19, arrayType$7, sliceType$20, funcType$3, ptrType$23, arrayType$8, ptrType$24, funcType$4, funcType$5, ptrType$26, ptrType$27, bytesType, uint8Type, stringType, kindNames, initialized, nameMap, nameOffList, typeOffList, callHelper, jsObjectPtr, selectHelper, copyVal, overflowFloat32, typesMustMatch, grow, Append, MakeMap, MakeMapWithSize, Indirect, convertOp, makeFloat, makeFloat32, makeComplex, makeString, makeBytes, makeRunes, cvtInt, cvtUint, cvtFloatInt, cvtFloatUint, cvtIntFloat, cvtUintFloat, cvtFloat, cvtComplex, cvtIntString, cvtUintString, cvtBytesString, cvtStringBytes, cvtRunesString, cvtStringRunes, cvtT2I, cvtI2I, PtrTo, PointerTo, implements$1, specialChannelAssignability, directlyAssignable, haveIdenticalType, haveIdenticalUnderlyingType, toType, ifaceIndir, methodValueCallCodePtr, methodValueCall, init, New, jsType, reflectType, setKindType, newName, newMethodName, resolveReflectName, newTypeOff, internalStr, isWrapped, copyStruct, makeValue, MakeSlice, TypeOf, ValueOf, FuncOf, SliceOf, Zero, unsafe_New, makeInt, typedmemmove, makemap, keyFor, mapaccess, mapassign, mapdelete, mapaccess_faststr, mapassign_faststr, mapdelete_faststr, mapiterinit, mapiterkey, mapiterelem, mapiternext, maplen, cvtDirect, cvtSliceArrayPtr, Copy, methodReceiver, valueInterface, ifaceE2I, makeMethodValue, wrapJsObject, unwrapJsObject, getJsTag, chanrecv, chansend, DeepEqual, deepValueEqualJs, stringsLastIndex, stringsHasPrefix, valueMethodName, verifyNotInHeapPtr;
21278
21278
  errors = $packages["errors"];
21279
21279
  js = $packages["github.com/gopherjs/gopherjs/js"];
21280
21280
  abi = $packages["internal/abi"];
@@ -21321,18 +21321,6 @@ $packages["reflect"] = (function() {
21321
21321
  this.m = m_;
21322
21322
  this.hiter = hiter_;
21323
21323
  });
21324
- SliceHeader = $pkg.SliceHeader = $newType(0, $kindStruct, "reflect.SliceHeader", true, "reflect", true, function(Data_, Len_, Cap_) {
21325
- this.$val = this;
21326
- if (arguments.length === 0) {
21327
- this.Data = 0;
21328
- this.Len = 0;
21329
- this.Cap = 0;
21330
- return;
21331
- }
21332
- this.Data = Data_;
21333
- this.Len = Len_;
21334
- this.Cap = Cap_;
21335
- });
21336
21324
  Type = $pkg.Type = $newType(8, $kindInterface, "reflect.Type", true, "reflect", true, null);
21337
21325
  Kind = $pkg.Kind = $newType(4, $kindUint, "reflect.Kind", true, "reflect", true, null);
21338
21326
  tflag = $pkg.tflag = $newType(1, $kindUint8, "reflect.tflag", true, "reflect", false, null);
@@ -26582,7 +26570,6 @@ $packages["reflect"] = (function() {
26582
26570
  Value.init("reflect", [{prop: "typ", name: "typ", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "ptr", name: "ptr", embedded: false, exported: false, typ: $UnsafePointer, tag: ""}, {prop: "flag", name: "flag", embedded: true, exported: false, typ: flag, tag: ""}]);
26583
26571
  ValueError.init("", [{prop: "Method", name: "Method", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Kind", name: "Kind", embedded: false, exported: true, typ: Kind, tag: ""}]);
26584
26572
  MapIter.init("reflect", [{prop: "m", name: "m", embedded: false, exported: false, typ: Value, tag: ""}, {prop: "hiter", name: "hiter", embedded: false, exported: false, typ: hiter, tag: ""}]);
26585
- SliceHeader.init("", [{prop: "Data", name: "Data", embedded: false, exported: true, typ: $Uintptr, tag: ""}, {prop: "Len", name: "Len", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "Cap", name: "Cap", embedded: false, exported: true, typ: $Int, tag: ""}]);
26586
26573
  Type.init([{prop: "Align", name: "Align", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "AssignableTo", name: "AssignableTo", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "Bits", name: "Bits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "ChanDir", name: "ChanDir", pkg: "", typ: $funcType([], [ChanDir], false)}, {prop: "Comparable", name: "Comparable", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "ConvertibleTo", name: "ConvertibleTo", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "Elem", name: "Elem", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Field", name: "Field", pkg: "", typ: $funcType([$Int], [StructField], false)}, {prop: "FieldAlign", name: "FieldAlign", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "FieldByIndex", name: "FieldByIndex", pkg: "", typ: $funcType([sliceType$7], [StructField], false)}, {prop: "FieldByName", name: "FieldByName", pkg: "", typ: $funcType([$String], [StructField, $Bool], false)}, {prop: "FieldByNameFunc", name: "FieldByNameFunc", pkg: "", typ: $funcType([funcType$3], [StructField, $Bool], false)}, {prop: "Implements", name: "Implements", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "In", name: "In", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "IsVariadic", name: "IsVariadic", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Key", name: "Key", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Kind", name: "Kind", pkg: "", typ: $funcType([], [Kind], false)}, {prop: "Len", name: "Len", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Method", name: "Method", pkg: "", typ: $funcType([$Int], [Method], false)}, {prop: "MethodByName", name: "MethodByName", pkg: "", typ: $funcType([$String], [Method, $Bool], false)}, {prop: "Name", name: "Name", pkg: "", typ: $funcType([], [$String], false)}, {prop: "NumField", name: "NumField", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumIn", name: "NumIn", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumMethod", name: "NumMethod", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumOut", name: "NumOut", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Out", name: "Out", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "PkgPath", name: "PkgPath", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Size", name: "Size", pkg: "", typ: $funcType([], [$Uintptr], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "common", name: "common", pkg: "reflect", typ: $funcType([], [ptrType$1], false)}, {prop: "uncommon", name: "uncommon", pkg: "reflect", typ: $funcType([], [ptrType$10], false)}]);
26587
26574
  rtype.init("reflect", [{prop: "size", name: "size", embedded: false, exported: false, typ: $Uintptr, tag: ""}, {prop: "ptrdata", name: "ptrdata", embedded: false, exported: false, typ: $Uintptr, tag: ""}, {prop: "hash", name: "hash", embedded: false, exported: false, typ: $Uint32, tag: ""}, {prop: "tflag", name: "tflag", embedded: false, exported: false, typ: tflag, tag: ""}, {prop: "align", name: "align", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "fieldAlign", name: "fieldAlign", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "kind", name: "kind", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "equal", name: "equal", embedded: false, exported: false, typ: funcType$4, tag: ""}, {prop: "gcdata", name: "gcdata", embedded: false, exported: false, typ: ptrType$14, tag: ""}, {prop: "str", name: "str", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "ptrToThis", name: "ptrToThis", embedded: false, exported: false, typ: typeOff, tag: ""}]);
26588
26575
  method.init("reflect", [{prop: "name", name: "name", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "mtyp", name: "mtyp", embedded: false, exported: false, typ: typeOff, tag: ""}, {prop: "ifn", name: "ifn", embedded: false, exported: false, typ: textOff, tag: ""}, {prop: "tfn", name: "tfn", embedded: false, exported: false, typ: textOff, tag: ""}]);
@@ -46411,14 +46398,14 @@ $packages["github.com/supraio/client-daemon/pkg/helper"] = (function() {
46411
46398
  $go((function(signalChannel) { return function $b() {
46412
46399
  var {$s, $r, $c} = $restore(this, {});
46413
46400
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
46414
- $r = time.Sleep(new time.Duration(20116, 2437873664)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46401
+ $r = time.Sleep(new time.Duration(140815, 4180213760)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46415
46402
  $r = $send(signalChannel[0], new syscall.Signal(6)); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46416
46403
  $s = -1; return;
46417
46404
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, $s};return $f;
46418
46405
  }; })(signalChannel), []);
46419
46406
  _r$4 = $recv(signalChannel[0]); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
46420
46407
  sig = _r$4[0];
46421
- $r = log.Printf("Signal %s received (emulated after 24 hours).\n", new sliceType$1([sig])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46408
+ $r = log.Printf("Signal %s received (emulated after 1 week).\n", new sliceType$1([sig])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
46422
46409
  $s = -1; return;
46423
46410
  /* */ } return; } var $f = {$blk: WaitOnStopSignal, $c: true, $r, _r$4, sig, signalChannel, $s};return $f;
46424
46411
  };
@@ -107251,7 +107238,7 @@ $packages["vendor/golang.org/x/crypto/hkdf"] = (function() {
107251
107238
  return $pkg;
107252
107239
  })();
107253
107240
  $packages["crypto/tls"] = (function() {
107254
- var $pkg = {}, $init, bytes, list, context, crypto, aes, cipher, des, ecdsa, ed25519, elliptic, hmac, boring, md5, rand, rc4, rsa, sha1, sha256, sha512, subtle, x509, binary, pem, errors, fmt, hash, cpu, io, big, net, os, runtime, strconv, strings, sync, atomic, time, chacha20poly1305, cryptobyte, curve25519, hkdf, listener, Dialer, sessionState, sessionStateTLS13, finishedHash, ecdheParameters, nistParameters, x25519Parameters, keyAgreement, rsaKeyAgreement, ecdheKeyAgreement, serverHandshakeStateTLS13, serverHandshakeState, marshalingFunction, clientHelloMsg, serverHelloMsg, encryptedExtensionsMsg, endOfEarlyDataMsg, keyUpdateMsg, newSessionTicketMsgTLS13, certificateRequestMsgTLS13, certificateMsg, certificateMsgTLS13, serverKeyExchangeMsg, certificateStatusMsg, serverHelloDoneMsg, clientKeyExchangeMsg, finishedMsg, certificateRequestMsg, certificateVerifyMsg, newSessionTicketMsg, helloRequestMsg, transcriptHash, clientHandshakeStateTLS13, clientHandshakeState, Conn, halfConn, permanentError, cbcMode, RecordHeaderError, atLeastReader, recordType, CurveID, keyShare, pskIdentity, ConnectionState, ClientAuthType, ClientSessionState, ClientSessionCache, SignatureScheme, ClientHelloInfo, CertificateRequestInfo, RenegotiationSupport, Config, ticketKey, Certificate, handshakeMessage, cipherSuite, cipherSuiteTLS13, aead, prefixNonceAEAD, xorNonceAEAD, constantTimeHash, cthWrapper, alert, binaryMarshaler, sliceType, sliceType$1, ptrType, sliceType$2, sliceType$3, arrayType, sliceType$4, sliceType$5, sliceType$6, sliceType$7, ptrType$1, ptrType$2, sliceType$8, ptrType$3, sliceType$9, structType, sliceType$10, ptrType$4, sliceType$11, ptrType$5, sliceType$12, sliceType$13, arrayType$1, arrayType$2, arrayType$3, arrayType$4, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, ptrType$15, ptrType$16, ptrType$17, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, ptrType$24, ptrType$25, ptrType$26, ptrType$27, ptrType$28, ptrType$29, ptrType$30, ptrType$31, ptrType$32, ptrType$33, ptrType$34, sliceType$14, sliceType$15, sliceType$16, ptrType$35, ptrType$36, ptrType$37, ptrType$38, ptrType$39, ptrType$40, ptrType$41, arrayType$5, ptrType$42, arrayType$6, ptrType$43, ptrType$44, ptrType$45, ptrType$46, structType$1, arrayType$7, ptrType$51, ptrType$52, ptrType$53, ptrType$54, ptrType$55, funcType, ptrType$56, ptrType$57, ptrType$58, ptrType$59, ptrType$60, ptrType$61, ptrType$62, ptrType$63, ptrType$64, funcType$1, funcType$2, ptrType$65, ptrType$66, ptrType$67, ptrType$68, ptrType$69, sliceType$18, funcType$3, mapType, funcType$4, funcType$5, funcType$6, funcType$7, funcType$8, funcType$9, funcType$10, funcType$11, funcType$12, ptrType$71, ptrType$72, ptrType$73, masterSecretLabel, keyExpansionLabel, clientFinishedLabel, serverFinishedLabel, fipsSupportedSignatureAlgorithms, errClientKeyExchange, errServerKeyExchange, testingOnlyForceClientHelloSignatureAlgorithms, outBufPool, errShutdown, errEarlyCloseWrite, _SignatureScheme_index_8, _CurveID_index_0, _ClientAuthType_index, directSigning, defaultSupportedSignatureAlgorithms, helloRetryRequestRandom, testingOnlyForceDowngradeCanary, deprecatedSessionTicketKey, supportedVersions, defaultCurvePreferences, errNoCertificates, writerMutex, emptyConfig, emptyConfig$24ptr, cipherSuites, cipherSuitesTLS13, cipherSuitesPreferenceOrder, cipherSuitesPreferenceOrderNoAES, disabledCipherSuites, defaultCipherSuitesLen, defaultCipherSuites, defaultCipherSuitesTLS13, defaultCipherSuitesTLS13NoAES, hasGCMAsmAMD64, hasGCMAsmARM64, hasGCMAsmS390X, hasAESGCMHardwareSupport, aesgcmCiphers, signaturePadding, rsaSignatureSchemes, alertText, Server, Client, NewListener, dial, LoadX509KeyPair, X509KeyPair, parsePrivateKey, splitPreMasterSecret, pHash, prf10, prf12, prfAndHashForVersion, prfForVersion, masterFromPreMasterSecret, keysFromMasterSecret, newFinishedHash, noExportedKeyingMaterial, ekmFromMasterSecret, needFIPS, supportedSignatureAlgorithms, fipsMinVersion, fipsMaxVersion, fipsCurvePreferences, fipsCipherSuites, generateECDHEParameters, curveForCurveID, sha1Hash, md5SHA1Hash, hashForServerKeyExchange, cloneHash, illegalClientHelloChange, negotiateALPN, supportsECDHE, clientHelloInfo, addBytesWithLength, addUint64, readUint64, readUint8LengthPrefixed, readUint16LengthPrefixed, readUint24LengthPrefixed, marshalCertificate, unmarshalCertificate, transcriptMsg, checkALPN, certificateRequestInfoFromMsg, clientSessionCacheKey, hostnameInSNI, extractPadding, roundUp, sliceForAppend, requiresClientCert, supportedVersionsFromMax, defaultConfig, unexpectedMessageError, isSupportedSignatureAlgorithm, selectCipherSuite, aesgcmPreferred, cipherRC4, cipher3DES, cipherAES, macSHA1, macSHA256, aeadAESGCM, aeadAESGCMTLS13, aeadChaCha20Poly1305, newConstantTimeHash, tls10MAC, rsaKA, ecdheECDSAKA, ecdheRSAKA, mutualCipherSuite, cipherSuiteByID, mutualCipherSuiteTLS13, cipherSuiteTLS13ByID, verifyHandshakeSignature, signedMessage, typeAndHashFromSignatureScheme, legacyTypeAndHashFromPublicKey, signatureSchemesForCertificate, selectSignatureScheme, unsupportedCertificateError;
107241
+ var $pkg = {}, $init, bytes, list, context, crypto, aes, cipher, des, ecdsa, ed25519, elliptic, hmac, boring, md5, rand, rc4, rsa, sha1, sha256, sha512, subtle, x509, binary, pem, errors, fmt, hash, cpu, godebug, io, big, net, os, runtime, strconv, strings, sync, atomic, time, chacha20poly1305, cryptobyte, curve25519, hkdf, listener, Dialer, sessionState, sessionStateTLS13, finishedHash, ecdheParameters, nistParameters, x25519Parameters, keyAgreement, rsaKeyAgreement, ecdheKeyAgreement, serverHandshakeStateTLS13, serverHandshakeState, marshalingFunction, clientHelloMsg, serverHelloMsg, encryptedExtensionsMsg, endOfEarlyDataMsg, keyUpdateMsg, newSessionTicketMsgTLS13, certificateRequestMsgTLS13, certificateMsg, certificateMsgTLS13, serverKeyExchangeMsg, certificateStatusMsg, serverHelloDoneMsg, clientKeyExchangeMsg, finishedMsg, certificateRequestMsg, certificateVerifyMsg, newSessionTicketMsg, helloRequestMsg, transcriptHash, clientHandshakeStateTLS13, clientHandshakeState, Conn, halfConn, permanentError, cbcMode, RecordHeaderError, atLeastReader, recordType, CurveID, keyShare, pskIdentity, ConnectionState, ClientAuthType, ClientSessionState, ClientSessionCache, SignatureScheme, ClientHelloInfo, CertificateRequestInfo, RenegotiationSupport, Config, ticketKey, Certificate, handshakeMessage, cipherSuite, cipherSuiteTLS13, aead, prefixNonceAEAD, xorNonceAEAD, constantTimeHash, cthWrapper, alert, binaryMarshaler, sliceType, sliceType$1, ptrType, sliceType$2, sliceType$3, arrayType, sliceType$4, sliceType$5, sliceType$6, sliceType$7, ptrType$1, ptrType$2, sliceType$8, ptrType$3, sliceType$9, structType, sliceType$10, ptrType$4, sliceType$11, ptrType$5, sliceType$12, sliceType$13, arrayType$1, arrayType$2, arrayType$3, arrayType$4, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, ptrType$15, ptrType$16, ptrType$17, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, ptrType$24, ptrType$25, ptrType$26, ptrType$27, ptrType$28, ptrType$29, ptrType$30, ptrType$31, ptrType$32, ptrType$33, ptrType$34, sliceType$14, sliceType$15, sliceType$16, ptrType$35, ptrType$36, ptrType$37, ptrType$38, ptrType$39, ptrType$40, ptrType$41, arrayType$5, ptrType$42, arrayType$6, ptrType$43, ptrType$44, ptrType$45, ptrType$46, structType$1, arrayType$7, ptrType$51, ptrType$52, ptrType$53, ptrType$54, ptrType$55, funcType, ptrType$56, ptrType$57, ptrType$58, ptrType$59, ptrType$60, ptrType$61, ptrType$62, ptrType$63, ptrType$64, funcType$1, funcType$2, ptrType$65, ptrType$66, ptrType$67, ptrType$68, ptrType$69, sliceType$18, funcType$3, mapType, funcType$4, funcType$5, funcType$6, funcType$7, funcType$8, funcType$9, funcType$10, funcType$11, funcType$12, ptrType$71, ptrType$72, ptrType$73, masterSecretLabel, keyExpansionLabel, clientFinishedLabel, serverFinishedLabel, fipsSupportedSignatureAlgorithms, errClientKeyExchange, errServerKeyExchange, testingOnlyForceClientHelloSignatureAlgorithms, outBufPool, errShutdown, errEarlyCloseWrite, _SignatureScheme_index_8, _CurveID_index_0, _ClientAuthType_index, directSigning, defaultSupportedSignatureAlgorithms, helloRetryRequestRandom, testingOnlyForceDowngradeCanary, deprecatedSessionTicketKey, supportedVersions, defaultCurvePreferences, errNoCertificates, writerMutex, emptyConfig, emptyConfig$24ptr, cipherSuites, cipherSuitesTLS13, cipherSuitesPreferenceOrder, cipherSuitesPreferenceOrderNoAES, disabledCipherSuites, defaultCipherSuitesLen, defaultCipherSuites, defaultCipherSuitesTLS13, defaultCipherSuitesTLS13NoAES, hasGCMAsmAMD64, hasGCMAsmARM64, hasGCMAsmS390X, hasAESGCMHardwareSupport, aesgcmCiphers, signaturePadding, rsaSignatureSchemes, alertText, Server, Client, NewListener, dial, LoadX509KeyPair, X509KeyPair, parsePrivateKey, splitPreMasterSecret, pHash, prf10, prf12, prfAndHashForVersion, prfForVersion, masterFromPreMasterSecret, keysFromMasterSecret, newFinishedHash, noExportedKeyingMaterial, ekmFromMasterSecret, needFIPS, supportedSignatureAlgorithms, fipsMinVersion, fipsMaxVersion, fipsCurvePreferences, fipsCipherSuites, generateECDHEParameters, curveForCurveID, sha1Hash, md5SHA1Hash, hashForServerKeyExchange, cloneHash, illegalClientHelloChange, negotiateALPN, supportsECDHE, clientHelloInfo, addBytesWithLength, addUint64, readUint64, readUint8LengthPrefixed, readUint16LengthPrefixed, readUint24LengthPrefixed, marshalCertificate, unmarshalCertificate, transcriptMsg, checkALPN, checkKeySize, certificateRequestInfoFromMsg, clientSessionCacheKey, hostnameInSNI, extractPadding, roundUp, sliceForAppend, requiresClientCert, supportedVersionsFromMax, defaultConfig, unexpectedMessageError, isSupportedSignatureAlgorithm, selectCipherSuite, aesgcmPreferred, cipherRC4, cipher3DES, cipherAES, macSHA1, macSHA256, aeadAESGCM, aeadAESGCMTLS13, aeadChaCha20Poly1305, newConstantTimeHash, tls10MAC, rsaKA, ecdheECDSAKA, ecdheRSAKA, mutualCipherSuite, cipherSuiteByID, mutualCipherSuiteTLS13, cipherSuiteTLS13ByID, verifyHandshakeSignature, signedMessage, typeAndHashFromSignatureScheme, legacyTypeAndHashFromPublicKey, signatureSchemesForCertificate, selectSignatureScheme, unsupportedCertificateError;
107255
107242
  bytes = $packages["bytes"];
107256
107243
  list = $packages["container/list"];
107257
107244
  context = $packages["context"];
@@ -107279,6 +107266,7 @@ $packages["crypto/tls"] = (function() {
107279
107266
  fmt = $packages["fmt"];
107280
107267
  hash = $packages["hash"];
107281
107268
  cpu = $packages["internal/cpu"];
107269
+ godebug = $packages["internal/godebug"];
107282
107270
  io = $packages["io"];
107283
107271
  big = $packages["math/big"];
107284
107272
  net = $packages["net"];
@@ -112146,7 +112134,7 @@ $packages["crypto/tls"] = (function() {
112146
112134
  };
112147
112135
  serverHandshakeState.prototype.sendFinished = function(out) { return this.$val.sendFinished(out); };
112148
112136
  Conn.ptr.prototype.processCertsFromClient = function(certificate) {
112149
- var {$24r, $24r$1, $24r$2, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, asn1Data, c, cert, certificate, certificates, certs, chains, err, err$1, err$2, i, opts, $s, $r, $c} = $restore(this, {certificate});
112137
+ var {$24r, $24r$1, $24r$2, $24r$3, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, _tuple$2, asn1Data, c, cert, certificate, certificates, certs, chains, err, err$1, err$2, i, max, n, ok, opts, $s, $r, $c} = $restore(this, {certificate});
112150
112138
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
112151
112139
  c = this;
112152
112140
  certificates = certificate.Certificate;
@@ -112172,21 +112160,39 @@ $packages["crypto/tls"] = (function() {
112172
112160
  $24r = _r$3;
112173
112161
  $s = 9; case 9: return $24r;
112174
112162
  /* } */ case 5:
112163
+ /* */ if (((i < 0 || i >= certs.$length) ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + i]).PublicKeyAlgorithm === 1) { $s = 10; continue; }
112164
+ /* */ $s = 11; continue;
112165
+ /* if (((i < 0 || i >= certs.$length) ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + i]).PublicKeyAlgorithm === 1) { */ case 10:
112166
+ n = $assertType(((i < 0 || i >= certs.$length) ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + i]).PublicKey, ptrType$11).N.BitLen();
112167
+ _r$4 = checkKeySize(n); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
112168
+ _tuple$1 = _r$4;
112169
+ max = _tuple$1[0];
112170
+ ok = _tuple$1[1];
112171
+ /* */ if (!ok) { $s = 13; continue; }
112172
+ /* */ $s = 14; continue;
112173
+ /* if (!ok) { */ case 13:
112174
+ _r$5 = c.sendAlert(42); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
112175
+ _r$5;
112176
+ _r$6 = fmt.Errorf("tls: client sent certificate containing RSA key larger than %d bits", new sliceType$7([new $Int(max)])); /* */ $s = 16; case 16: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
112177
+ $24r$1 = _r$6;
112178
+ $s = 17; case 17: return $24r$1;
112179
+ /* } */ case 14:
112180
+ /* } */ case 11:
112175
112181
  _i++;
112176
112182
  $s = 1; continue;
112177
112183
  case 2:
112178
- /* */ if ((certs.$length === 0) && requiresClientCert(c.config.ClientAuth)) { $s = 10; continue; }
112179
- /* */ $s = 11; continue;
112180
- /* if ((certs.$length === 0) && requiresClientCert(c.config.ClientAuth)) { */ case 10:
112181
- _r$4 = c.sendAlert(42); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
112182
- _r$4;
112184
+ /* */ if ((certs.$length === 0) && requiresClientCert(c.config.ClientAuth)) { $s = 18; continue; }
112185
+ /* */ $s = 19; continue;
112186
+ /* if ((certs.$length === 0) && requiresClientCert(c.config.ClientAuth)) { */ case 18:
112187
+ _r$7 = c.sendAlert(42); /* */ $s = 20; case 20: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
112188
+ _r$7;
112183
112189
  $s = -1; return errors.New("tls: client didn't provide a certificate");
112184
- /* } */ case 11:
112185
- /* */ if (c.config.ClientAuth >= 3 && certs.$length > 0) { $s = 13; continue; }
112186
- /* */ $s = 14; continue;
112187
- /* if (c.config.ClientAuth >= 3 && certs.$length > 0) { */ case 13:
112188
- _r$5 = c.config.time(); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
112189
- opts = new x509.VerifyOptions.ptr("", x509.NewCertPool(), c.config.ClientCAs, $clone(_r$5, time.Time), new sliceType$14([2]), 0);
112190
+ /* } */ case 19:
112191
+ /* */ if (c.config.ClientAuth >= 3 && certs.$length > 0) { $s = 21; continue; }
112192
+ /* */ $s = 22; continue;
112193
+ /* if (c.config.ClientAuth >= 3 && certs.$length > 0) { */ case 21:
112194
+ _r$8 = c.config.time(); /* */ $s = 23; case 23: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
112195
+ opts = new x509.VerifyOptions.ptr("", x509.NewCertPool(), c.config.ClientCAs, $clone(_r$8, time.Time), new sliceType$14([2]), 0);
112190
112196
  _ref$1 = $subslice(certs, 1);
112191
112197
  _i$1 = 0;
112192
112198
  while (true) {
@@ -112195,56 +112201,56 @@ $packages["crypto/tls"] = (function() {
112195
112201
  opts.Intermediates.AddCert(cert);
112196
112202
  _i$1++;
112197
112203
  }
112198
- _r$6 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).Verify($clone(opts, x509.VerifyOptions)); /* */ $s = 16; case 16: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
112199
- _tuple$1 = _r$6;
112200
- chains = _tuple$1[0];
112201
- err$1 = _tuple$1[1];
112202
- /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 17; continue; }
112203
- /* */ $s = 18; continue;
112204
- /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 17:
112205
- _r$7 = c.sendAlert(42); /* */ $s = 19; case 19: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
112206
- _r$7;
112207
- _r$8 = err$1.Error(); /* */ $s = 20; case 20: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
112208
- _r$9 = errors.New("tls: failed to verify client certificate: " + _r$8); /* */ $s = 21; case 21: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
112209
- $24r$1 = _r$9;
112210
- $s = 22; case 22: return $24r$1;
112211
- /* } */ case 18:
112204
+ _r$9 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).Verify($clone(opts, x509.VerifyOptions)); /* */ $s = 24; case 24: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
112205
+ _tuple$2 = _r$9;
112206
+ chains = _tuple$2[0];
112207
+ err$1 = _tuple$2[1];
112208
+ /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 25; continue; }
112209
+ /* */ $s = 26; continue;
112210
+ /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 25:
112211
+ _r$10 = c.sendAlert(42); /* */ $s = 27; case 27: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
112212
+ _r$10;
112213
+ _r$11 = err$1.Error(); /* */ $s = 28; case 28: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
112214
+ _r$12 = errors.New("tls: failed to verify client certificate: " + _r$11); /* */ $s = 29; case 29: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
112215
+ $24r$2 = _r$12;
112216
+ $s = 30; case 30: return $24r$2;
112217
+ /* } */ case 26:
112212
112218
  c.verifiedChains = chains;
112213
- /* } */ case 14:
112219
+ /* } */ case 22:
112214
112220
  c.peerCertificates = certs;
112215
112221
  c.ocspResponse = certificate.OCSPStaple;
112216
112222
  c.scts = certificate.SignedCertificateTimestamps;
112217
- /* */ if (certs.$length > 0) { $s = 23; continue; }
112218
- /* */ $s = 24; continue;
112219
- /* if (certs.$length > 0) { */ case 23:
112220
- _ref$2 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey;
112221
- /* */ if ($assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { $s = 25; continue; }
112222
- /* */ $s = 26; continue;
112223
- /* if ($assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { */ case 25:
112224
- $s = 27; continue;
112225
- /* } else { */ case 26:
112226
- _r$10 = c.sendAlert(43); /* */ $s = 28; case 28: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
112227
- _r$10;
112228
- _r$11 = fmt.Errorf("tls: client certificate contains an unsupported public key of type %T", new sliceType$7([(0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey])); /* */ $s = 29; case 29: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
112229
- $24r$2 = _r$11;
112230
- $s = 30; case 30: return $24r$2;
112231
- /* } */ case 27:
112232
- /* } */ case 24:
112233
- /* */ if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { $s = 31; continue; }
112223
+ /* */ if (certs.$length > 0) { $s = 31; continue; }
112234
112224
  /* */ $s = 32; continue;
112235
- /* if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { */ case 31:
112236
- _r$12 = c.config.VerifyPeerCertificate(certificates, c.verifiedChains); /* */ $s = 33; case 33: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
112237
- err$2 = _r$12;
112238
- /* */ if (!($interfaceIsEqual(err$2, $ifaceNil))) { $s = 34; continue; }
112239
- /* */ $s = 35; continue;
112240
- /* if (!($interfaceIsEqual(err$2, $ifaceNil))) { */ case 34:
112241
- _r$13 = c.sendAlert(42); /* */ $s = 36; case 36: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
112225
+ /* if (certs.$length > 0) { */ case 31:
112226
+ _ref$2 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey;
112227
+ /* */ if ($assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { $s = 33; continue; }
112228
+ /* */ $s = 34; continue;
112229
+ /* if ($assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { */ case 33:
112230
+ $s = 35; continue;
112231
+ /* } else { */ case 34:
112232
+ _r$13 = c.sendAlert(43); /* */ $s = 36; case 36: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
112242
112233
  _r$13;
112243
- $s = -1; return err$2;
112234
+ _r$14 = fmt.Errorf("tls: client certificate contains an unsupported public key of type %T", new sliceType$7([(0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey])); /* */ $s = 37; case 37: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }
112235
+ $24r$3 = _r$14;
112236
+ $s = 38; case 38: return $24r$3;
112244
112237
  /* } */ case 35:
112245
112238
  /* } */ case 32:
112239
+ /* */ if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { $s = 39; continue; }
112240
+ /* */ $s = 40; continue;
112241
+ /* if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { */ case 39:
112242
+ _r$15 = c.config.VerifyPeerCertificate(certificates, c.verifiedChains); /* */ $s = 41; case 41: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }
112243
+ err$2 = _r$15;
112244
+ /* */ if (!($interfaceIsEqual(err$2, $ifaceNil))) { $s = 42; continue; }
112245
+ /* */ $s = 43; continue;
112246
+ /* if (!($interfaceIsEqual(err$2, $ifaceNil))) { */ case 42:
112247
+ _r$16 = c.sendAlert(42); /* */ $s = 44; case 44: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }
112248
+ _r$16;
112249
+ $s = -1; return err$2;
112250
+ /* } */ case 43:
112251
+ /* } */ case 40:
112246
112252
  $s = -1; return $ifaceNil;
112247
- /* */ } return; } var $f = {$blk: Conn.ptr.prototype.processCertsFromClient, $c: true, $r, $24r, $24r$1, $24r$2, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, asn1Data, c, cert, certificate, certificates, certs, chains, err, err$1, err$2, i, opts, $s};return $f;
112253
+ /* */ } return; } var $f = {$blk: Conn.ptr.prototype.processCertsFromClient, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, _tuple$2, asn1Data, c, cert, certificate, certificates, certs, chains, err, err$1, err$2, i, max, n, ok, opts, $s};return $f;
112248
112254
  };
112249
112255
  Conn.prototype.processCertsFromClient = function(certificate) { return this.$val.processCertsFromClient(certificate); };
112250
112256
  clientHelloInfo = function(ctx, c, clientHello) {
@@ -116512,8 +116518,34 @@ $packages["crypto/tls"] = (function() {
116512
116518
  /* */ } return; } var $f = {$blk: clientHandshakeState.ptr.prototype.sendFinished, $c: true, $r, _r, _r$1, _r$2, _tuple, c, err, err$1, finished, hs, out, $s};return $f;
116513
116519
  };
116514
116520
  clientHandshakeState.prototype.sendFinished = function(out) { return this.$val.sendFinished(out); };
116521
+ checkKeySize = function(n) {
116522
+ var {_r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, err, max, max$1, n, ok, v, $s, $r, $c} = $restore(this, {n});
116523
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
116524
+ max = 0;
116525
+ ok = false;
116526
+ _r = godebug.Get("tlsmaxrsasize"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
116527
+ v = _r;
116528
+ if (!(v === "")) {
116529
+ _tuple = strconv.Atoi(v);
116530
+ max$1 = _tuple[0];
116531
+ err = _tuple[1];
116532
+ if ($interfaceIsEqual(err, $ifaceNil)) {
116533
+ _tmp = max$1;
116534
+ _tmp$1 = n <= max$1;
116535
+ max = _tmp;
116536
+ ok = _tmp$1;
116537
+ $s = -1; return [max, ok];
116538
+ }
116539
+ }
116540
+ _tmp$2 = 8192;
116541
+ _tmp$3 = n <= 8192;
116542
+ max = _tmp$2;
116543
+ ok = _tmp$3;
116544
+ $s = -1; return [max, ok];
116545
+ /* */ } return; } var $f = {$blk: checkKeySize, $c: true, $r, _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, err, max, max$1, n, ok, v, $s};return $f;
116546
+ };
116515
116547
  Conn.ptr.prototype.verifyServerCertificate = function(certificates) {
116516
- var {$24r, $24r$1, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, asn1Data, c, cert, cert$1, certificates, certs, err, err$1, err$2, err$3, i, opts, $s, $r, $c} = $restore(this, {certificates});
116548
+ var {$24r, $24r$1, $24r$2, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, _tuple$2, asn1Data, c, cert, cert$1, certificates, certs, err, err$1, err$2, err$3, i, max, n, ok, opts, $s, $r, $c} = $restore(this, {certificates});
116517
116549
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
116518
116550
  c = this;
116519
116551
  certs = $makeSlice(sliceType$12, certificates.$length);
@@ -116537,15 +116569,33 @@ $packages["crypto/tls"] = (function() {
116537
116569
  $24r = _r$3;
116538
116570
  $s = 9; case 9: return $24r;
116539
116571
  /* } */ case 5:
116572
+ /* */ if (cert.PublicKeyAlgorithm === 1) { $s = 10; continue; }
116573
+ /* */ $s = 11; continue;
116574
+ /* if (cert.PublicKeyAlgorithm === 1) { */ case 10:
116575
+ n = $assertType(cert.PublicKey, ptrType$11).N.BitLen();
116576
+ _r$4 = checkKeySize(n); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
116577
+ _tuple$1 = _r$4;
116578
+ max = _tuple$1[0];
116579
+ ok = _tuple$1[1];
116580
+ /* */ if (!ok) { $s = 13; continue; }
116581
+ /* */ $s = 14; continue;
116582
+ /* if (!ok) { */ case 13:
116583
+ _r$5 = c.sendAlert(42); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
116584
+ _r$5;
116585
+ _r$6 = fmt.Errorf("tls: server sent certificate containing RSA key larger than %d bits", new sliceType$7([new $Int(max)])); /* */ $s = 16; case 16: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
116586
+ $24r$1 = _r$6;
116587
+ $s = 17; case 17: return $24r$1;
116588
+ /* } */ case 14:
116589
+ /* } */ case 11:
116540
116590
  ((i < 0 || i >= certs.$length) ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + i] = cert);
116541
116591
  _i++;
116542
116592
  $s = 1; continue;
116543
116593
  case 2:
116544
- /* */ if (!c.config.InsecureSkipVerify) { $s = 10; continue; }
116545
- /* */ $s = 11; continue;
116546
- /* if (!c.config.InsecureSkipVerify) { */ case 10:
116547
- _r$4 = c.config.time(); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
116548
- opts = new x509.VerifyOptions.ptr(c.config.ServerName, x509.NewCertPool(), c.config.RootCAs, $clone(_r$4, time.Time), sliceType$14.nil, 0);
116594
+ /* */ if (!c.config.InsecureSkipVerify) { $s = 18; continue; }
116595
+ /* */ $s = 19; continue;
116596
+ /* if (!c.config.InsecureSkipVerify) { */ case 18:
116597
+ _r$7 = c.config.time(); /* */ $s = 20; case 20: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
116598
+ opts = new x509.VerifyOptions.ptr(c.config.ServerName, x509.NewCertPool(), c.config.RootCAs, $clone(_r$7, time.Time), sliceType$14.nil, 0);
116549
116599
  _ref$1 = $subslice(certs, 1);
116550
116600
  _i$1 = 0;
116551
116601
  while (true) {
@@ -116555,60 +116605,60 @@ $packages["crypto/tls"] = (function() {
116555
116605
  _i$1++;
116556
116606
  }
116557
116607
  err$1 = $ifaceNil;
116558
- _r$5 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).Verify($clone(opts, x509.VerifyOptions)); /* */ $s = 13; case 13: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
116559
- _tuple$1 = _r$5;
116560
- c.verifiedChains = _tuple$1[0];
116561
- err$1 = _tuple$1[1];
116562
- /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 14; continue; }
116563
- /* */ $s = 15; continue;
116564
- /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 14:
116565
- _r$6 = c.sendAlert(42); /* */ $s = 16; case 16: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
116566
- _r$6;
116608
+ _r$8 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).Verify($clone(opts, x509.VerifyOptions)); /* */ $s = 21; case 21: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
116609
+ _tuple$2 = _r$8;
116610
+ c.verifiedChains = _tuple$2[0];
116611
+ err$1 = _tuple$2[1];
116612
+ /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 22; continue; }
116613
+ /* */ $s = 23; continue;
116614
+ /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 22:
116615
+ _r$9 = c.sendAlert(42); /* */ $s = 24; case 24: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
116616
+ _r$9;
116567
116617
  $s = -1; return err$1;
116568
- /* } */ case 15:
116569
- /* } */ case 11:
116618
+ /* } */ case 23:
116619
+ /* } */ case 19:
116570
116620
  _ref$2 = (0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey;
116571
- /* */ if ($assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { $s = 17; continue; }
116572
- /* */ $s = 18; continue;
116573
- /* switch (0) { default: if ($assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { */ case 17:
116574
- /* break; */ $s = 19; continue;
116575
- $s = 19; continue;
116576
- /* } else { */ case 18:
116577
- _r$7 = c.sendAlert(43); /* */ $s = 20; case 20: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
116578
- _r$7;
116579
- _r$8 = fmt.Errorf("tls: server's certificate contains an unsupported type of public key: %T", new sliceType$7([(0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey])); /* */ $s = 21; case 21: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
116580
- $24r$1 = _r$8;
116581
- $s = 22; case 22: return $24r$1;
116582
- /* } } */ case 19:
116621
+ /* */ if ($assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { $s = 25; continue; }
116622
+ /* */ $s = 26; continue;
116623
+ /* switch (0) { default: if ($assertType(_ref$2, ptrType$11, true)[1] || $assertType(_ref$2, ptrType$12, true)[1] || $assertType(_ref$2, ed25519.PublicKey, true)[1]) { */ case 25:
116624
+ /* break; */ $s = 27; continue;
116625
+ $s = 27; continue;
116626
+ /* } else { */ case 26:
116627
+ _r$10 = c.sendAlert(43); /* */ $s = 28; case 28: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
116628
+ _r$10;
116629
+ _r$11 = fmt.Errorf("tls: server's certificate contains an unsupported type of public key: %T", new sliceType$7([(0 >= certs.$length ? ($throwRuntimeError("index out of range"), undefined) : certs.$array[certs.$offset + 0]).PublicKey])); /* */ $s = 29; case 29: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
116630
+ $24r$2 = _r$11;
116631
+ $s = 30; case 30: return $24r$2;
116632
+ /* } } */ case 27:
116583
116633
  c.peerCertificates = certs;
116584
- /* */ if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { $s = 23; continue; }
116585
- /* */ $s = 24; continue;
116586
- /* if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { */ case 23:
116587
- _r$9 = c.config.VerifyPeerCertificate(certificates, c.verifiedChains); /* */ $s = 25; case 25: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
116588
- err$2 = _r$9;
116589
- /* */ if (!($interfaceIsEqual(err$2, $ifaceNil))) { $s = 26; continue; }
116590
- /* */ $s = 27; continue;
116591
- /* if (!($interfaceIsEqual(err$2, $ifaceNil))) { */ case 26:
116592
- _r$10 = c.sendAlert(42); /* */ $s = 28; case 28: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
116593
- _r$10;
116634
+ /* */ if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { $s = 31; continue; }
116635
+ /* */ $s = 32; continue;
116636
+ /* if (!(c.config.VerifyPeerCertificate === $throwNilPointerError)) { */ case 31:
116637
+ _r$12 = c.config.VerifyPeerCertificate(certificates, c.verifiedChains); /* */ $s = 33; case 33: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
116638
+ err$2 = _r$12;
116639
+ /* */ if (!($interfaceIsEqual(err$2, $ifaceNil))) { $s = 34; continue; }
116640
+ /* */ $s = 35; continue;
116641
+ /* if (!($interfaceIsEqual(err$2, $ifaceNil))) { */ case 34:
116642
+ _r$13 = c.sendAlert(42); /* */ $s = 36; case 36: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
116643
+ _r$13;
116594
116644
  $s = -1; return err$2;
116595
- /* } */ case 27:
116596
- /* } */ case 24:
116597
- /* */ if (!(c.config.VerifyConnection === $throwNilPointerError)) { $s = 29; continue; }
116598
- /* */ $s = 30; continue;
116599
- /* if (!(c.config.VerifyConnection === $throwNilPointerError)) { */ case 29:
116600
- _r$11 = c.config.VerifyConnection($clone(c.connectionStateLocked(), ConnectionState)); /* */ $s = 31; case 31: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
116601
- err$3 = _r$11;
116602
- /* */ if (!($interfaceIsEqual(err$3, $ifaceNil))) { $s = 32; continue; }
116603
- /* */ $s = 33; continue;
116604
- /* if (!($interfaceIsEqual(err$3, $ifaceNil))) { */ case 32:
116605
- _r$12 = c.sendAlert(42); /* */ $s = 34; case 34: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
116606
- _r$12;
116645
+ /* } */ case 35:
116646
+ /* } */ case 32:
116647
+ /* */ if (!(c.config.VerifyConnection === $throwNilPointerError)) { $s = 37; continue; }
116648
+ /* */ $s = 38; continue;
116649
+ /* if (!(c.config.VerifyConnection === $throwNilPointerError)) { */ case 37:
116650
+ _r$14 = c.config.VerifyConnection($clone(c.connectionStateLocked(), ConnectionState)); /* */ $s = 39; case 39: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }
116651
+ err$3 = _r$14;
116652
+ /* */ if (!($interfaceIsEqual(err$3, $ifaceNil))) { $s = 40; continue; }
116653
+ /* */ $s = 41; continue;
116654
+ /* if (!($interfaceIsEqual(err$3, $ifaceNil))) { */ case 40:
116655
+ _r$15 = c.sendAlert(42); /* */ $s = 42; case 42: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }
116656
+ _r$15;
116607
116657
  $s = -1; return err$3;
116608
- /* } */ case 33:
116609
- /* } */ case 30:
116658
+ /* } */ case 41:
116659
+ /* } */ case 38:
116610
116660
  $s = -1; return $ifaceNil;
116611
- /* */ } return; } var $f = {$blk: Conn.ptr.prototype.verifyServerCertificate, $c: true, $r, $24r, $24r$1, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, asn1Data, c, cert, cert$1, certificates, certs, err, err$1, err$2, err$3, i, opts, $s};return $f;
116661
+ /* */ } return; } var $f = {$blk: Conn.ptr.prototype.verifyServerCertificate, $c: true, $r, $24r, $24r$1, $24r$2, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tuple, _tuple$1, _tuple$2, asn1Data, c, cert, cert$1, certificates, certs, err, err$1, err$2, err$3, i, max, n, ok, opts, $s};return $f;
116612
116662
  };
116613
116663
  Conn.prototype.verifyServerCertificate = function(certificates) { return this.$val.verifyServerCertificate(certificates); };
116614
116664
  certificateRequestInfoFromMsg = function(ctx, vers, certReq) {
@@ -120491,20 +120541,21 @@ $packages["crypto/tls"] = (function() {
120491
120541
  $r = fmt.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120492
120542
  $r = hash.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120493
120543
  $r = cpu.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120494
- $r = io.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120495
- $r = big.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120496
- $r = net.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120497
- $r = os.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120498
- $r = runtime.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120499
- $r = strconv.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120500
- $r = strings.$init(); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120501
- $r = sync.$init(); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120502
- $r = atomic.$init(); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120503
- $r = time.$init(); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120504
- $r = chacha20poly1305.$init(); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120505
- $r = cryptobyte.$init(); /* */ $s = 39; case 39: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120506
- $r = curve25519.$init(); /* */ $s = 40; case 40: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120507
- $r = hkdf.$init(); /* */ $s = 41; case 41: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120544
+ $r = godebug.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120545
+ $r = io.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120546
+ $r = big.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120547
+ $r = net.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120548
+ $r = os.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120549
+ $r = runtime.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120550
+ $r = strconv.$init(); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120551
+ $r = strings.$init(); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120552
+ $r = sync.$init(); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120553
+ $r = atomic.$init(); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120554
+ $r = time.$init(); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120555
+ $r = chacha20poly1305.$init(); /* */ $s = 39; case 39: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120556
+ $r = cryptobyte.$init(); /* */ $s = 40; case 40: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120557
+ $r = curve25519.$init(); /* */ $s = 41; case 41: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120558
+ $r = hkdf.$init(); /* */ $s = 42; case 42: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
120508
120559
  fipsSupportedSignatureAlgorithms = sliceType.nil;
120509
120560
  testingOnlyForceClientHelloSignatureAlgorithms = sliceType.nil;
120510
120561
  testingOnlyForceDowngradeCanary = false;
@@ -130762,7 +130813,7 @@ $packages["vendor/golang.org/x/net/http2/hpack"] = (function() {
130762
130813
  return $pkg;
130763
130814
  })();
130764
130815
  $packages["net/http"] = (function() {
130765
- var $pkg = {}, $init, bufio, bytes, gzip, list, context, rand$1, tls, base64, binary, errors, fmt, js$1, godebug, safefilepath, io, fs, log, math, rand, mime, multipart, net, httptrace, internal, ascii, textproto, url, os, path, filepath, reflect, runtime, sort, strconv, strings, sync, atomic, js, time, utf8, httpguts, httpproxy, hpack, idna, Transport, cancelKey, h2Transport, transportRequest, readTrackingBody, transportReadFromServerError, wantConn, wantConnQueue, erringRoundTripper, persistConnWriter, connectMethod, connectMethodKey, persistConn, readWriteCloserBody, nothingWrittenError, responseAndError, requestAndChan, writeRequest, httpError, tLogKey, bodyEOFSignal, gzipReader, tlsHandshakeTimeoutError, fakeLocker, connLRU, errorReader, byteReader, transferWriter, transferReader, unsupportedTEError, body, bodyLocked, finishAsyncByteRead, bufioFlushWriter, socksCommand, socksAuthMethod, socksReply, socksAddr, socksConn, socksDialer, socksUsernamePassword, sniffSig, exactSig, maskedSig, htmlSig, mp4Sig, textSig, Handler, ResponseWriter, conn, chunkWriter, response, atomicBool, writerOnly, readResult, connReader, expectContinueReader, extraHeader, closeWriter, statusError, HandlerFunc, redirectHandler, ServeMux, muxEntry, Server, ConnState, serverHandler, onceCloseListener, globalOptionsHandler, initALPNRequest, loggingConn, checkConnErrorWriter, streamReader, arrayReader, Response, ProtocolError, Request, requestBodyReadError, MaxBytesError, maxBytesReader, incomparable, contextKey, noBody, PushOptions, Header, stringWriter, keyValues, headerSorter, http2ClientConnPool, http2clientConnPoolIdleCloser, http2clientConnPool, http2dialCall, http2addConnCall, http2noDialClientConnPool, http2dataBuffer, http2ErrCode, http2ConnectionError, http2StreamError, http2goAwayFlowError, http2connError, http2pseudoHeaderError, http2duplicatePseudoHeaderError, http2headerFieldNameError, http2headerFieldValueError, http2flow, http2FrameType, http2Flags, http2FrameHeader, http2Frame, http2Framer, http2frameCache, http2DataFrame, http2SettingsFrame, http2PingFrame, http2GoAwayFrame, http2UnknownFrame, http2WindowUpdateFrame, http2HeadersFrame, http2HeadersFrameParam, http2PriorityFrame, http2PriorityParam, http2RSTStreamFrame, http2ContinuationFrame, http2PushPromiseFrame, http2PushPromiseParam, http2MetaHeadersFrame, http2goroutineLock, http2streamState, http2Setting, http2SettingID, http2gate, http2closeWaiter, http2bufferedWriter, http2httpError, http2connectionStater, http2sorter, http2incomparable, http2pipe, http2pipeBuffer, http2Server, http2serverInternalState, http2ServeConnOpts, http2serverConn, http2stream, http2readFrameResult, http2frameWriteResult, http2serverMessage, http2requestParam, http2bodyReadMsg, http2requestBody, http2responseWriter, http2responseWriterState, http2chunkWriter, http2startPushRequest, http2Transport, http2ClientConn, http2clientStream, http2stickyErrWriter, http2noCachedConnError, http2RoundTripOpt, http2ClientConnState, http2clientConnIdleState, http2clientConnReadLoop, http2GoAwayError, http2transportResponseBody, http2noBodyReader, http2missingBody, http2erringRoundTripper, http2gzipReader, http2noDialH2RoundTripper, http2writeFramer, http2writeContext, http2flushFrameWriter, http2writeSettings, http2writeGoAway, http2writeData, http2handlerPanicRST, http2writePingAck, http2writeSettingsAck, http2writeResHeaders, http2writePushPromise, http2write100ContinueHeadersFrame, http2writeWindowUpdate, http2WriteScheduler, http2OpenStreamOptions, http2FrameWriteRequest, http2writeQueue, http2writeQueuePool, http2PriorityWriteSchedulerConfig, http2priorityNodeState, http2priorityNode, http2sortPriorityNodeSiblings, http2priorityWriteScheduler, noTransport, XHRTransport, Cookie, SameSite, RoundTripper, requestTooLarger, baseContexter, I, ptrType, ptrType$1, sliceType, sliceType$1, ptrType$2, sliceType$2, sliceType$3, structType, sliceType$4, ptrType$4, sliceType$5, sliceType$6, ptrType$7, sliceType$7, funcType, arrayType, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, chanType, ptrType$14, ptrType$15, ptrType$16, mapType, ptrType$17, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, ptrType$24, sliceType$8, sliceType$9, ptrType$25, structType$1, ptrType$26, sliceType$10, sliceType$11, ptrType$27, ptrType$28, ptrType$29, ptrType$30, sliceType$12, ptrType$31, ptrType$32, ptrType$33, funcType$1, sliceType$13, ptrType$34, sliceType$14, arrayType$1, sliceType$15, sliceType$16, ptrType$35, arrayType$2, sliceType$17, ptrType$36, ptrType$37, ptrType$38, ptrType$39, ptrType$40, ptrType$41, ptrType$42, ptrType$43, ptrType$44, ptrType$45, ptrType$46, ptrType$47, structType$2, ptrType$48, ptrType$49, ptrType$50, ptrType$51, ptrType$52, ptrType$53, arrayType$3, arrayType$4, arrayType$5, sliceType$18, ptrType$54, ptrType$55, ptrType$56, ptrType$57, arrayType$6, ptrType$58, sliceType$19, ptrType$59, ptrType$60, ptrType$61, structType$3, ptrType$62, ptrType$63, ptrType$64, ptrType$65, ptrType$66, sliceType$20, ptrType$67, ptrType$68, sliceType$21, ptrType$69, ptrType$70, ptrType$71, ptrType$72, ptrType$73, arrayType$7, ptrType$74, ptrType$75, arrayType$8, sliceType$22, ptrType$76, ptrType$77, ptrType$78, ptrType$79, ptrType$80, ptrType$81, ptrType$82, ptrType$83, ptrType$84, ptrType$85, ptrType$86, ptrType$87, ptrType$88, ptrType$89, ptrType$90, funcType$2, ptrType$91, ptrType$92, ptrType$93, ptrType$94, ptrType$95, ptrType$96, ptrType$97, ptrType$98, ptrType$99, ptrType$100, ptrType$101, ptrType$102, interfaceType, ptrType$103, sliceType$23, ptrType$104, sliceType$24, ptrType$105, ptrType$106, sliceType$25, ptrType$107, ptrType$108, ptrType$109, funcType$3, sliceType$29, ptrType$112, ptrType$114, funcType$4, mapType$1, mapType$2, mapType$3, mapType$4, funcType$5, funcType$6, funcType$7, funcType$8, mapType$5, funcType$9, chanType$1, ptrType$115, ptrType$116, chanType$2, funcType$10, chanType$3, chanType$4, funcType$11, ptrType$117, chanType$5, chanType$6, chanType$7, ptrType$118, funcType$12, funcType$13, ptrType$119, ptrType$120, mapType$6, ptrType$121, chanType$8, ptrType$122, ptrType$123, funcType$14, ptrType$124, ptrType$125, ptrType$126, chanType$9, ptrType$127, chanType$10, ptrType$128, funcType$15, ptrType$129, mapType$7, funcType$16, mapType$8, funcType$17, funcType$18, funcType$19, mapType$9, mapType$10, ptrType$131, ptrType$132, ptrType$133, ptrType$134, ptrType$135, funcType$20, ptrType$136, ptrType$137, mapType$11, mapType$12, mapType$13, mapType$14, mapType$15, ptrType$138, funcType$21, ptrType$139, funcType$22, funcType$23, ptrType$140, ptrType$141, funcType$24, mapType$16, chanType$11, chanType$12, chanType$13, chanType$14, chanType$15, mapType$17, mapType$18, funcType$25, mapType$19, mapType$20, funcType$26, ptrType$142, ptrType$143, ptrType$144, funcType$27, ptrType$145, funcType$28, ptrType$146, mapType$21, ptrType$148, mapType$23, errCannotRewind, errKeepAlivesDisabled, errConnBroken, errCloseIdle, errTooManyIdle, errTooManyIdleHost, errCloseIdleConns, errReadLoopExiting, errIdleConnTimeout, errServerClosedIdle, zeroDialer, errCallerOwnsConn, errTimeout, errRequestCanceled, errRequestCanceledConn, testHookEnterRoundTrip, testHookWaitResLoop, testHookRoundTripRetried, testHookPrePendingDial, testHookPostPendingDial, testHookMu, testHookReadLoopBeforeNextRead, portMap, errReadOnClosedResBody, suppressedHeaders304, suppressedHeadersNoBody, excludedHeadersNoBody, singleCRLF, doubleCRLF, errTrailerEOF, nopCloserType, nopCloserWriterToType, socksnoDeadline, socksaLongTimeAgo, sniffSignatures, mp4ftype, mp4, crlf, colonSpace, bufioReaderPool, bufioWriter2kPool, bufioWriter2kPool$24ptr, bufioWriter4kPool, bufioWriter4kPool$24ptr, copyBufPool, errTooLarge, extraHeaderKeys, headerContentLength, headerDate, htmlReplacer, defaultServeMux, defaultServeMux$24ptr, stateName, silenceSemWarnContextKey, testHookServerServe, uniqNameMu, uniqNameNext, uint8Array, jsFetchMissing, errClosed, respExcludeHeader, reqWriteExcludeHeader, multipartByReader, errMissingHost, textprotoReaderPool, aLongTimeAgo, omitBundledHTTP2, headerNewlineToSpace, headerSorterPool, http2dataChunkSizeClasses, http2dataChunkPools, http2errReadEmpty, http2errCodeName, http2errFromPeer, http2errMixPseudoHeaderTypes, http2errPseudoAfterRegular, http2padZeros, http2frameName, http2flagName, http2frameParsers, http2fhBytes, http2ErrFrameTooLarge, http2errStreamID, http2errDepStreamID, http2errPadLength, http2errPadBytes, http2DebugGoroutines, http2goroutineSpace, http2littleBuf, http2commonBuildOnce, http2commonLowerHeader, http2commonCanonHeader, http2VerboseLogs, http2logFrameWrites, http2logFrameReads, http2inTests, http2clientPreface, http2stateName, http2settingName, http2bufWriterPool, http2errTimeout, http2sorterPool, http2errClosedPipeWrite, http2errClientDisconnected, http2errClosedBody, http2errHandlerComplete, http2errStreamClosed, http2responseWriterStatePool, http2testHookOnConn, http2testHookGetServerConn, http2testHookOnPanicMu, http2testHookOnPanic, http2settingsTimerMsg, http2idleTimerMsg, http2shutdownTimerMsg, http2gracefulShutdownMsg, http2errPrefaceTimeout, http2errChanPool, http2writeDataPool, http2errHandlerPanicked, http2goAwayTimeout, http2ErrRecursivePush, http2ErrPushLimitReached, http2connHeaders, http2got1xxFuncForTests, http2ErrNoCachedConn, http2errClientConnClosed, http2errClientConnUnusable, http2errClientConnGotGoAway, http2shutdownEnterWaitStateHook, http2errRequestCanceled, http2errStopReqBodyWrite, http2errStopReqBodyWriteAndCancel, http2errReqBodyTooLong, http2bufPool, http2errNilRequestURL, http2errClosedResponseBody, http2errResponseHeaderListSize, http2errRequestHeaderListSize, http2noBody, errSeeker, errNoOverlap, unixEpochTime, errMissingSeek, errMissingReadDir, cookieNameSanitizer, x, x$1, x$2, x$3, _r, x$5, x$6, setupRewindBody, rewindBody, is408Message, newReadWriteCloserBody, nop, canonicalAddr, cloneTLSConfig, newTransferWriter, noResponseBodyExpected, bodyAllowedForStatus, suppressedHeaders, readTransfer, chunked, isIdentity, isUnsupportedTEError, fixLength, shouldClose, fixTrailer, seeUpcomingDoubleCRLF, mergeSetHeader, parseContentLength, unwrapNopCloser, isKnownInMemoryReader, StatusText, sockssplitHostPort, socksNewDialer, DetectContentType, isWS, isTT, bufioWriterPool, newBufioReader, putBufioReader, newBufioWriterSize, putBufioWriter, appendTime, http1ServerSupportsRequest, checkWriteHeaderCode, relevantCaller, foreachHeaderElement, writeStatusLine, validNextProto, badRequestError, isCommonNetReadError, registerOnHitEOF, requestBodyRemains, Error, NotFound, NotFoundHandler, Redirect, htmlEscape, RedirectHandler, cleanPath, stripHostPort, appendSorted, newLoggingConn, numLeadingCRorLF, strSliceContains, tlsRecordHeaderLooksLikeHTTP, ReadResponse, fixPragmaCacheControl, isProtocolSwitchResponse, isProtocolSwitchHeader, badStringError, valueOrDefault, idnaASCII, cleanHost, removeZone, ParseHTTPVersion, validMethod, parseBasicAuth, parseRequestLine, newTextprotoReader, putTextprotoReader, readRequest, MaxBytesReader, copyValues, parsePostForm, requestMethodUsuallyLacksBody, hasPort, isNotToken, stringContainsCTLByte, hexEscapeNonASCII, CanonicalHeaderKey, hasToken, isTokenBoundary, http2asciiEqualFold, http2lower, http2isASCIIPrint, http2asciiToLower, http2isBadCipher, http2filterOutClientConn, http2shouldRetryDial, http2getDataBufferChunk, http2putDataBufferChunk, http2streamError, http2typeFrameParser, http2readFrameHeader, http2NewFramer, http2terminalReadFrameError, http2parseDataFrame, http2validStreamIDOrZero, http2validStreamID, http2parseSettingsFrame, http2parsePingFrame, http2parseGoAwayFrame, http2parseUnknownFrame, http2parseWindowUpdateFrame, http2parseHeadersFrame, http2parsePriorityFrame, http2parseRSTStreamFrame, http2parseContinuationFrame, http2parsePushPromise, http2readByte, http2readUint32, http2summarizeFrame, http2traceHasWroteHeaderField, http2traceWroteHeaderField, http2traceGot1xxResponseFunc, http2tlsUnderlyingConn, http2newGoroutineLock, http2curGoroutineID, http2parseUintBytes, http2cutoff64, http2buildCommonHeaderMapsOnce, http2buildCommonHeaderMaps, http2lowerHeader, init, http2validWireHeaderFieldName, http2httpCodeString, http2newBufferedWriter, http2mustUint31, http2bodyAllowedForStatus, http2validPseudoPath, http2ConfigureServer, http2serverConnBaseContext, http2errno, http2isClosedConnError, http2handleHeaderListTooLong, http2checkWriteHeaderCode, http2cloneHeader, http2foreachHeaderElement, http2checkValidHTTP2RequestHeaders, http2new400Handler, http2h1ServerKeepAlivesDisabled, http2configureTransports, http2isNoCachedConnError, http2authorityAddr, http2shouldRetryRequest, http2canRetryError, http2commaSeparatedTrailers, http2checkConnHeaders, http2actualContentLength, http2shouldSendReqContentLength, http2isEOFOrNetReadError, http2strSliceContains, http2isConnectionCloseRequest, http2registerHTTPSProtocol, http2traceGetConn, http2traceGotConn, http2traceWroteHeaders, http2traceGot100Continue, http2traceWait100Continue, http2traceWroteRequest, http2traceFirstResponseByte, http2writeEndsStream, http2splitHeaderBlock, http2encKV, http2encodeHeaders, http2NewPriorityWriteScheduler, readSetCookies, readCookies, validCookieDomain, validCookieExpires, isCookieDomainName, sanitizeCookieName, sanitizeCookieValue, validCookieValueByte, sanitizeCookiePath, validCookiePathByte, sanitizeOrWarn, parseCookieValue, isCookieNameValid, cloneURLValues, cloneURL, cloneMultipartForm, cloneMultipartFileHeader, basicAuth;
130816
+ var $pkg = {}, $init, bufio, bytes, gzip, list, context, rand$1, tls, base64, binary, errors, fmt, js$1, godebug, safefilepath, io, fs, log, math, rand, mime, multipart, net, httptrace, internal, ascii, textproto, url, os, path, filepath, reflect, runtime, sort, strconv, strings, sync, atomic, js, time, utf8, httpguts, httpproxy, hpack, idna, Transport, cancelKey, h2Transport, transportRequest, readTrackingBody, transportReadFromServerError, wantConn, wantConnQueue, erringRoundTripper, persistConnWriter, connectMethod, connectMethodKey, persistConn, readWriteCloserBody, nothingWrittenError, responseAndError, requestAndChan, writeRequest, httpError, tLogKey, bodyEOFSignal, gzipReader, tlsHandshakeTimeoutError, fakeLocker, connLRU, errorReader, byteReader, transferWriter, transferReader, unsupportedTEError, body, bodyLocked, finishAsyncByteRead, bufioFlushWriter, socksCommand, socksAuthMethod, socksReply, socksAddr, socksConn, socksDialer, socksUsernamePassword, sniffSig, exactSig, maskedSig, htmlSig, mp4Sig, textSig, Handler, ResponseWriter, conn, chunkWriter, response, atomicBool, writerOnly, readResult, connReader, expectContinueReader, extraHeader, closeWriter, statusError, HandlerFunc, redirectHandler, ServeMux, muxEntry, Server, ConnState, serverHandler, onceCloseListener, globalOptionsHandler, initALPNRequest, loggingConn, checkConnErrorWriter, streamReader, arrayReader, Response, ProtocolError, Request, requestBodyReadError, MaxBytesError, maxBytesReader, incomparable, contextKey, noBody, PushOptions, Header, stringWriter, keyValues, headerSorter, http2ClientConnPool, http2clientConnPoolIdleCloser, http2clientConnPool, http2dialCall, http2addConnCall, http2noDialClientConnPool, http2dataBuffer, http2ErrCode, http2ConnectionError, http2StreamError, http2goAwayFlowError, http2connError, http2pseudoHeaderError, http2duplicatePseudoHeaderError, http2headerFieldNameError, http2headerFieldValueError, http2flow, http2FrameType, http2Flags, http2FrameHeader, http2Frame, http2Framer, http2frameCache, http2DataFrame, http2SettingsFrame, http2PingFrame, http2GoAwayFrame, http2UnknownFrame, http2WindowUpdateFrame, http2HeadersFrame, http2HeadersFrameParam, http2PriorityFrame, http2PriorityParam, http2RSTStreamFrame, http2ContinuationFrame, http2PushPromiseFrame, http2PushPromiseParam, http2MetaHeadersFrame, http2goroutineLock, http2streamState, http2Setting, http2SettingID, http2gate, http2closeWaiter, http2bufferedWriter, http2httpError, http2connectionStater, http2sorter, http2incomparable, http2pipe, http2pipeBuffer, http2Server, http2serverInternalState, http2ServeConnOpts, http2serverConn, http2stream, http2readFrameResult, http2frameWriteResult, http2serverMessage, http2requestParam, http2bodyReadMsg, http2requestBody, http2responseWriter, http2responseWriterState, http2chunkWriter, http2startPushRequest, http2Transport, http2ClientConn, http2clientStream, http2stickyErrWriter, http2noCachedConnError, http2RoundTripOpt, http2ClientConnState, http2clientConnIdleState, http2clientConnReadLoop, http2GoAwayError, http2transportResponseBody, http2noBodyReader, http2missingBody, http2erringRoundTripper, http2gzipReader, http2noDialH2RoundTripper, http2writeFramer, http2writeContext, http2flushFrameWriter, http2writeSettings, http2writeGoAway, http2writeData, http2handlerPanicRST, http2writePingAck, http2writeSettingsAck, http2writeResHeaders, http2writePushPromise, http2write100ContinueHeadersFrame, http2writeWindowUpdate, http2WriteScheduler, http2OpenStreamOptions, http2FrameWriteRequest, http2writeQueue, http2writeQueuePool, http2PriorityWriteSchedulerConfig, http2priorityNodeState, http2priorityNode, http2sortPriorityNodeSiblings, http2priorityWriteScheduler, noTransport, XHRTransport, Cookie, SameSite, RoundTripper, requestTooLarger, baseContexter, I, ptrType, ptrType$1, sliceType, sliceType$1, ptrType$2, sliceType$2, sliceType$3, structType, sliceType$4, ptrType$4, sliceType$5, sliceType$6, ptrType$7, sliceType$7, funcType, arrayType, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, chanType, ptrType$14, ptrType$15, ptrType$16, mapType, ptrType$17, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, ptrType$24, sliceType$8, sliceType$9, ptrType$25, structType$1, ptrType$26, sliceType$10, sliceType$11, ptrType$27, ptrType$28, ptrType$29, ptrType$30, sliceType$12, ptrType$31, ptrType$32, ptrType$33, funcType$1, sliceType$13, ptrType$34, sliceType$14, arrayType$1, sliceType$15, sliceType$16, ptrType$35, arrayType$2, sliceType$17, ptrType$36, ptrType$37, ptrType$38, ptrType$39, ptrType$40, ptrType$41, ptrType$42, ptrType$43, ptrType$44, ptrType$45, ptrType$46, ptrType$47, structType$2, ptrType$48, ptrType$49, ptrType$50, ptrType$51, ptrType$52, ptrType$53, arrayType$3, arrayType$4, arrayType$5, sliceType$18, ptrType$54, ptrType$55, ptrType$56, ptrType$57, arrayType$6, ptrType$58, sliceType$19, ptrType$59, ptrType$60, ptrType$61, structType$3, ptrType$62, ptrType$63, ptrType$64, ptrType$65, ptrType$66, sliceType$20, ptrType$67, ptrType$68, sliceType$21, ptrType$69, ptrType$70, ptrType$71, ptrType$72, ptrType$73, arrayType$7, ptrType$74, ptrType$75, arrayType$8, sliceType$22, ptrType$76, ptrType$77, ptrType$78, ptrType$79, ptrType$80, ptrType$81, ptrType$82, ptrType$83, ptrType$84, ptrType$85, ptrType$86, ptrType$87, ptrType$88, ptrType$89, ptrType$90, funcType$2, ptrType$91, ptrType$92, ptrType$93, ptrType$94, ptrType$95, ptrType$96, ptrType$97, ptrType$98, ptrType$99, ptrType$100, ptrType$101, ptrType$102, interfaceType, ptrType$103, sliceType$23, ptrType$104, sliceType$24, ptrType$105, ptrType$106, sliceType$25, ptrType$107, ptrType$108, ptrType$109, funcType$3, sliceType$29, ptrType$112, ptrType$114, funcType$4, mapType$1, mapType$2, mapType$3, mapType$4, funcType$5, funcType$6, funcType$7, funcType$8, mapType$5, funcType$9, chanType$1, ptrType$115, ptrType$116, chanType$2, funcType$10, chanType$3, chanType$4, funcType$11, ptrType$117, chanType$5, chanType$6, chanType$7, ptrType$118, funcType$12, funcType$13, ptrType$119, ptrType$120, mapType$6, ptrType$121, chanType$8, ptrType$122, ptrType$123, funcType$14, ptrType$124, ptrType$125, ptrType$126, chanType$9, ptrType$127, chanType$10, ptrType$128, funcType$15, ptrType$129, mapType$7, funcType$16, mapType$8, funcType$17, funcType$18, funcType$19, mapType$9, mapType$10, ptrType$131, ptrType$132, ptrType$133, ptrType$134, ptrType$135, funcType$20, ptrType$136, ptrType$137, mapType$11, mapType$12, mapType$13, mapType$14, mapType$15, ptrType$138, funcType$21, ptrType$139, funcType$22, funcType$23, ptrType$140, ptrType$141, funcType$24, mapType$16, chanType$11, chanType$12, chanType$13, chanType$14, chanType$15, mapType$17, mapType$18, funcType$25, mapType$19, mapType$20, funcType$26, ptrType$142, ptrType$143, ptrType$144, funcType$27, ptrType$145, funcType$28, ptrType$146, mapType$21, ptrType$148, mapType$23, errCannotRewind, errKeepAlivesDisabled, errConnBroken, errCloseIdle, errTooManyIdle, errTooManyIdleHost, errCloseIdleConns, errReadLoopExiting, errIdleConnTimeout, errServerClosedIdle, zeroDialer, errCallerOwnsConn, errTimeout, errRequestCanceled, errRequestCanceledConn, testHookEnterRoundTrip, testHookWaitResLoop, testHookRoundTripRetried, testHookPrePendingDial, testHookPostPendingDial, testHookMu, testHookReadLoopBeforeNextRead, portMap, errReadOnClosedResBody, suppressedHeaders304, suppressedHeadersNoBody, excludedHeadersNoBody, singleCRLF, doubleCRLF, errTrailerEOF, nopCloserType, nopCloserWriterToType, socksnoDeadline, socksaLongTimeAgo, sniffSignatures, mp4ftype, mp4, crlf, colonSpace, bufioReaderPool, bufioWriter2kPool, bufioWriter2kPool$24ptr, bufioWriter4kPool, bufioWriter4kPool$24ptr, copyBufPool, errTooLarge, extraHeaderKeys, headerContentLength, headerDate, htmlReplacer, defaultServeMux, defaultServeMux$24ptr, stateName, silenceSemWarnContextKey, testHookServerServe, uniqNameMu, uniqNameNext, uint8Array, jsFetchMissing, errClosed, respExcludeHeader, reqWriteExcludeHeader, multipartByReader, errMissingHost, textprotoReaderPool, aLongTimeAgo, omitBundledHTTP2, headerNewlineToSpace, headerSorterPool, http2dataChunkSizeClasses, http2dataChunkPools, http2errReadEmpty, http2errCodeName, http2errFromPeer, http2errMixPseudoHeaderTypes, http2errPseudoAfterRegular, http2padZeros, http2frameName, http2flagName, http2frameParsers, http2fhBytes, http2ErrFrameTooLarge, http2errStreamID, http2errDepStreamID, http2errPadLength, http2errPadBytes, http2DebugGoroutines, http2goroutineSpace, http2littleBuf, http2commonBuildOnce, http2commonLowerHeader, http2commonCanonHeader, http2VerboseLogs, http2logFrameWrites, http2logFrameReads, http2inTests, http2clientPreface, http2stateName, http2settingName, http2bufWriterPool, http2errTimeout, http2sorterPool, http2errClosedPipeWrite, http2errClientDisconnected, http2errClosedBody, http2errHandlerComplete, http2errStreamClosed, http2responseWriterStatePool, http2testHookOnConn, http2testHookGetServerConn, http2testHookOnPanicMu, http2testHookOnPanic, http2settingsTimerMsg, http2idleTimerMsg, http2shutdownTimerMsg, http2gracefulShutdownMsg, http2errPrefaceTimeout, http2errChanPool, http2writeDataPool, http2errHandlerPanicked, http2goAwayTimeout, http2ErrRecursivePush, http2ErrPushLimitReached, http2connHeaders, http2got1xxFuncForTests, http2ErrNoCachedConn, http2errClientConnClosed, http2errClientConnUnusable, http2errClientConnGotGoAway, http2shutdownEnterWaitStateHook, http2errRequestCanceled, http2errStopReqBodyWrite, http2errStopReqBodyWriteAndCancel, http2errReqBodyTooLong, http2bufPool, http2errNilRequestURL, http2errClosedResponseBody, http2errResponseHeaderListSize, http2errRequestHeaderListSize, http2noBody, errSeeker, errNoOverlap, unixEpochTime, errMissingSeek, errMissingReadDir, cookieNameSanitizer, x, x$1, x$2, x$3, _r, x$5, x$6, setupRewindBody, rewindBody, is408Message, newReadWriteCloserBody, nop, canonicalAddr, cloneTLSConfig, newTransferWriter, noResponseBodyExpected, bodyAllowedForStatus, suppressedHeaders, readTransfer, chunked, isIdentity, isUnsupportedTEError, fixLength, shouldClose, fixTrailer, seeUpcomingDoubleCRLF, mergeSetHeader, parseContentLength, unwrapNopCloser, isKnownInMemoryReader, StatusText, sockssplitHostPort, socksNewDialer, DetectContentType, isWS, isTT, bufioWriterPool, newBufioReader, putBufioReader, newBufioWriterSize, putBufioWriter, appendTime, http1ServerSupportsRequest, checkWriteHeaderCode, relevantCaller, foreachHeaderElement, writeStatusLine, validNextProto, badRequestError, isCommonNetReadError, registerOnHitEOF, requestBodyRemains, Error, NotFound, NotFoundHandler, Redirect, htmlEscape, RedirectHandler, cleanPath, stripHostPort, appendSorted, newLoggingConn, numLeadingCRorLF, strSliceContains, tlsRecordHeaderLooksLikeHTTP, ReadResponse, fixPragmaCacheControl, isProtocolSwitchResponse, isProtocolSwitchHeader, badStringError, valueOrDefault, idnaASCII, removeZone, ParseHTTPVersion, validMethod, parseBasicAuth, parseRequestLine, newTextprotoReader, putTextprotoReader, readRequest, MaxBytesReader, copyValues, parsePostForm, requestMethodUsuallyLacksBody, hasPort, isNotToken, stringContainsCTLByte, hexEscapeNonASCII, CanonicalHeaderKey, hasToken, isTokenBoundary, http2asciiEqualFold, http2lower, http2isASCIIPrint, http2asciiToLower, http2isBadCipher, http2filterOutClientConn, http2shouldRetryDial, http2getDataBufferChunk, http2putDataBufferChunk, http2streamError, http2typeFrameParser, http2readFrameHeader, http2NewFramer, http2terminalReadFrameError, http2parseDataFrame, http2validStreamIDOrZero, http2validStreamID, http2parseSettingsFrame, http2parsePingFrame, http2parseGoAwayFrame, http2parseUnknownFrame, http2parseWindowUpdateFrame, http2parseHeadersFrame, http2parsePriorityFrame, http2parseRSTStreamFrame, http2parseContinuationFrame, http2parsePushPromise, http2readByte, http2readUint32, http2summarizeFrame, http2traceHasWroteHeaderField, http2traceWroteHeaderField, http2traceGot1xxResponseFunc, http2tlsUnderlyingConn, http2newGoroutineLock, http2curGoroutineID, http2parseUintBytes, http2cutoff64, http2buildCommonHeaderMapsOnce, http2buildCommonHeaderMaps, http2lowerHeader, init, http2validWireHeaderFieldName, http2httpCodeString, http2newBufferedWriter, http2mustUint31, http2bodyAllowedForStatus, http2validPseudoPath, http2ConfigureServer, http2serverConnBaseContext, http2errno, http2isClosedConnError, http2handleHeaderListTooLong, http2checkWriteHeaderCode, http2cloneHeader, http2foreachHeaderElement, http2checkValidHTTP2RequestHeaders, http2new400Handler, http2h1ServerKeepAlivesDisabled, http2configureTransports, http2isNoCachedConnError, http2authorityAddr, http2shouldRetryRequest, http2canRetryError, http2commaSeparatedTrailers, http2checkConnHeaders, http2actualContentLength, http2shouldSendReqContentLength, http2isEOFOrNetReadError, http2strSliceContains, http2isConnectionCloseRequest, http2registerHTTPSProtocol, http2traceGetConn, http2traceGotConn, http2traceWroteHeaders, http2traceGot100Continue, http2traceWait100Continue, http2traceWroteRequest, http2traceFirstResponseByte, http2writeEndsStream, http2splitHeaderBlock, http2encKV, http2encodeHeaders, http2NewPriorityWriteScheduler, readSetCookies, readCookies, validCookieDomain, validCookieExpires, isCookieDomainName, sanitizeCookieName, sanitizeCookieValue, validCookieValueByte, sanitizeCookiePath, validCookiePathByte, sanitizeOrWarn, parseCookieValue, isCookieNameValid, cloneURLValues, cloneURL, cloneMultipartForm, cloneMultipartFileHeader, basicAuth;
130766
130817
  bufio = $packages["bufio"];
130767
130818
  bytes = $packages["bytes"];
130768
130819
  gzip = $packages["compress/gzip"];
@@ -143405,7 +143456,7 @@ $packages["net/http"] = (function() {
143405
143456
  };
143406
143457
  Request.prototype.WriteProxy = function(w) { return this.$val.WriteProxy(w); };
143407
143458
  Request.ptr.prototype.write = function(w, usingProxy, extraHeaders, waitForContinue) {
143408
- var {$24r, $24r$1, $24r$10, $24r$11, $24r$12, $24r$13, $24r$14, $24r$15, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, $24r$7, $24r$8, $24r$9, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, bw, bw$1, bw$2, closed, err, err$1, extraHeaders, host, ok, ok$1, ok$2, r, ruri, trace, tw, userAgent, usingProxy, w, waitForContinue, x$7, $s, $deferred, $r, $c} = $restore(this, {w, usingProxy, extraHeaders, waitForContinue});
143459
+ var {$24r, $24r$1, $24r$10, $24r$11, $24r$12, $24r$13, $24r$14, $24r$15, $24r$16, $24r$17, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, $24r$7, $24r$8, $24r$9, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, bw, bw$1, bw$2, closed, err, err$1, extraHeaders, host, ok, ok$1, ok$2, r, ruri, trace, tw, userAgent, usingProxy, w, waitForContinue, x$7, $s, $deferred, $r, $c} = $restore(this, {w, usingProxy, extraHeaders, waitForContinue});
143409
143460
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
143410
143461
  closed = [closed];
143411
143462
  err = [err];
@@ -143441,21 +143492,44 @@ $packages["net/http"] = (function() {
143441
143492
  $s = -1; return;
143442
143493
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, closeErr, $s};return $f;
143443
143494
  }; })(closed, err, r, trace), []]);
143444
- _r$2 = cleanHost(r[0].Host); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
143445
- host = _r$2;
143446
- /* */ if (host === "") { $s = 5; continue; }
143447
- /* */ $s = 6; continue;
143448
- /* if (host === "") { */ case 5:
143449
- /* */ if (r[0].URL === ptrType$17.nil) { $s = 7; continue; }
143450
- /* */ $s = 8; continue;
143451
- /* if (r[0].URL === ptrType$17.nil) { */ case 7:
143495
+ host = r[0].Host;
143496
+ /* */ if (host === "") { $s = 4; continue; }
143497
+ /* */ $s = 5; continue;
143498
+ /* if (host === "") { */ case 4:
143499
+ /* */ if (r[0].URL === ptrType$17.nil) { $s = 6; continue; }
143500
+ /* */ $s = 7; continue;
143501
+ /* if (r[0].URL === ptrType$17.nil) { */ case 6:
143452
143502
  err[0] = errMissingHost;
143453
143503
  $24r = err[0];
143454
- $s = 9; case 9: return $24r;
143455
- /* } */ case 8:
143456
- _r$3 = cleanHost(r[0].URL.Host); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
143457
- host = _r$3;
143458
- /* } */ case 6:
143504
+ $s = 8; case 8: return $24r;
143505
+ /* } */ case 7:
143506
+ host = r[0].URL.Host;
143507
+ /* } */ case 5:
143508
+ _r$2 = httpguts.PunycodeHostPort(host); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
143509
+ _tuple = _r$2;
143510
+ host = _tuple[0];
143511
+ err[0] = _tuple[1];
143512
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 10; continue; }
143513
+ /* */ $s = 11; continue;
143514
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 10:
143515
+ err[0] = err[0];
143516
+ $24r$1 = err[0];
143517
+ $s = 12; case 12: return $24r$1;
143518
+ /* } */ case 11:
143519
+ /* */ if (!httpguts.ValidHostHeader(host)) { $s = 13; continue; }
143520
+ /* */ $s = 14; continue;
143521
+ /* if (!httpguts.ValidHostHeader(host)) { */ case 13:
143522
+ /* */ if (!usingProxy) { $s = 15; continue; }
143523
+ /* */ $s = 16; continue;
143524
+ /* if (!usingProxy) { */ case 15:
143525
+ host = "";
143526
+ $s = 17; continue;
143527
+ /* } else { */ case 16:
143528
+ err[0] = errors.New("http: invalid Host header");
143529
+ $24r$2 = err[0];
143530
+ $s = 18; case 18: return $24r$2;
143531
+ /* } */ case 17:
143532
+ /* } */ case 14:
143459
143533
  host = removeZone(host);
143460
143534
  ruri = r[0].URL.RequestURI();
143461
143535
  if (usingProxy && !(r[0].URL.Scheme === "") && r[0].URL.Opaque === "") {
@@ -143466,93 +143540,75 @@ $packages["net/http"] = (function() {
143466
143540
  ruri = r[0].URL.Opaque;
143467
143541
  }
143468
143542
  }
143469
- /* */ if (stringContainsCTLByte(ruri)) { $s = 11; continue; }
143470
- /* */ $s = 12; continue;
143471
- /* if (stringContainsCTLByte(ruri)) { */ case 11:
143543
+ /* */ if (stringContainsCTLByte(ruri)) { $s = 19; continue; }
143544
+ /* */ $s = 20; continue;
143545
+ /* if (stringContainsCTLByte(ruri)) { */ case 19:
143472
143546
  err[0] = errors.New("net/http: can't write control character in Request.URL");
143473
- $24r$1 = err[0];
143474
- $s = 13; case 13: return $24r$1;
143475
- /* } */ case 12:
143547
+ $24r$3 = err[0];
143548
+ $s = 21; case 21: return $24r$3;
143549
+ /* } */ case 20:
143476
143550
  bw = ptrType$12.nil;
143477
- _tuple = $assertType(w, io.ByteWriter, true);
143478
- ok = _tuple[1];
143551
+ _tuple$1 = $assertType(w, io.ByteWriter, true);
143552
+ ok = _tuple$1[1];
143479
143553
  if (!ok) {
143480
143554
  bw = bufio.NewWriter(w);
143481
143555
  w = bw;
143482
143556
  }
143483
- _r$4 = fmt.Fprintf(w, "%s %s HTTP/1.1\r\n", new sliceType([new $String(valueOrDefault(r[0].Method, "GET")), new $String(ruri)])); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
143484
- _tuple$1 = _r$4;
143485
- err[0] = _tuple$1[1];
143486
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 15; continue; }
143487
- /* */ $s = 16; continue;
143488
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 15:
143489
- err[0] = err[0];
143490
- $24r$2 = err[0];
143491
- $s = 17; case 17: return $24r$2;
143492
- /* } */ case 16:
143493
- _r$5 = fmt.Fprintf(w, "Host: %s\r\n", new sliceType([new $String(host)])); /* */ $s = 18; case 18: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
143494
- _tuple$2 = _r$5;
143557
+ _r$3 = fmt.Fprintf(w, "%s %s HTTP/1.1\r\n", new sliceType([new $String(valueOrDefault(r[0].Method, "GET")), new $String(ruri)])); /* */ $s = 22; case 22: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
143558
+ _tuple$2 = _r$3;
143495
143559
  err[0] = _tuple$2[1];
143496
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 19; continue; }
143497
- /* */ $s = 20; continue;
143498
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 19:
143560
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 23; continue; }
143561
+ /* */ $s = 24; continue;
143562
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 23:
143499
143563
  err[0] = err[0];
143500
- $24r$3 = err[0];
143501
- $s = 21; case 21: return $24r$3;
143502
- /* } */ case 20:
143503
- /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { $s = 22; continue; }
143504
- /* */ $s = 23; continue;
143505
- /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { */ case 22:
143506
- $r = trace[0].WroteHeaderField("Host", new sliceType$2([host])); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143507
- /* } */ case 23:
143508
- userAgent = "Go-http-client/1.1";
143509
- /* */ if (new Header(r[0].Header).has("User-Agent")) { $s = 25; continue; }
143510
- /* */ $s = 26; continue;
143511
- /* if (new Header(r[0].Header).has("User-Agent")) { */ case 25:
143512
- _r$6 = new Header(r[0].Header).Get("User-Agent"); /* */ $s = 27; case 27: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
143513
- userAgent = _r$6;
143514
- /* } */ case 26:
143515
- /* */ if (!(userAgent === "")) { $s = 28; continue; }
143516
- /* */ $s = 29; continue;
143517
- /* if (!(userAgent === "")) { */ case 28:
143518
- _r$7 = fmt.Fprintf(w, "User-Agent: %s\r\n", new sliceType([new $String(userAgent)])); /* */ $s = 30; case 30: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
143519
- _tuple$3 = _r$7;
143520
- err[0] = _tuple$3[1];
143521
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 31; continue; }
143522
- /* */ $s = 32; continue;
143523
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 31:
143524
- err[0] = err[0];
143525
- $24r$4 = err[0];
143526
- $s = 33; case 33: return $24r$4;
143527
- /* } */ case 32:
143528
- /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { $s = 34; continue; }
143529
- /* */ $s = 35; continue;
143530
- /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { */ case 34:
143531
- $r = trace[0].WroteHeaderField("User-Agent", new sliceType$2([userAgent])); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143532
- /* } */ case 35:
143533
- /* } */ case 29:
143534
- _r$8 = newTransferWriter(r[0]); /* */ $s = 37; case 37: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
143535
- _tuple$4 = _r$8;
143536
- tw = _tuple$4[0];
143537
- err[0] = _tuple$4[1];
143538
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 38; continue; }
143539
- /* */ $s = 39; continue;
143540
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 38:
143564
+ $24r$4 = err[0];
143565
+ $s = 25; case 25: return $24r$4;
143566
+ /* } */ case 24:
143567
+ _r$4 = fmt.Fprintf(w, "Host: %s\r\n", new sliceType([new $String(host)])); /* */ $s = 26; case 26: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
143568
+ _tuple$3 = _r$4;
143569
+ err[0] = _tuple$3[1];
143570
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 27; continue; }
143571
+ /* */ $s = 28; continue;
143572
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 27:
143541
143573
  err[0] = err[0];
143542
143574
  $24r$5 = err[0];
143543
- $s = 40; case 40: return $24r$5;
143544
- /* } */ case 39:
143545
- _r$9 = tw.writeHeader(w, trace[0]); /* */ $s = 41; case 41: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
143546
- err[0] = _r$9;
143547
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 42; continue; }
143548
- /* */ $s = 43; continue;
143549
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 42:
143550
- err[0] = err[0];
143551
- $24r$6 = err[0];
143552
- $s = 44; case 44: return $24r$6;
143553
- /* } */ case 43:
143554
- _r$10 = new Header(r[0].Header).writeSubset(w, reqWriteExcludeHeader, trace[0]); /* */ $s = 45; case 45: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
143555
- err[0] = _r$10;
143575
+ $s = 29; case 29: return $24r$5;
143576
+ /* } */ case 28:
143577
+ /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { $s = 30; continue; }
143578
+ /* */ $s = 31; continue;
143579
+ /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { */ case 30:
143580
+ $r = trace[0].WroteHeaderField("Host", new sliceType$2([host])); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143581
+ /* } */ case 31:
143582
+ userAgent = "Go-http-client/1.1";
143583
+ /* */ if (new Header(r[0].Header).has("User-Agent")) { $s = 33; continue; }
143584
+ /* */ $s = 34; continue;
143585
+ /* if (new Header(r[0].Header).has("User-Agent")) { */ case 33:
143586
+ _r$5 = new Header(r[0].Header).Get("User-Agent"); /* */ $s = 35; case 35: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
143587
+ userAgent = _r$5;
143588
+ /* } */ case 34:
143589
+ /* */ if (!(userAgent === "")) { $s = 36; continue; }
143590
+ /* */ $s = 37; continue;
143591
+ /* if (!(userAgent === "")) { */ case 36:
143592
+ _r$6 = fmt.Fprintf(w, "User-Agent: %s\r\n", new sliceType([new $String(userAgent)])); /* */ $s = 38; case 38: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
143593
+ _tuple$4 = _r$6;
143594
+ err[0] = _tuple$4[1];
143595
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 39; continue; }
143596
+ /* */ $s = 40; continue;
143597
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 39:
143598
+ err[0] = err[0];
143599
+ $24r$6 = err[0];
143600
+ $s = 41; case 41: return $24r$6;
143601
+ /* } */ case 40:
143602
+ /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { $s = 42; continue; }
143603
+ /* */ $s = 43; continue;
143604
+ /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaderField === $throwNilPointerError)) { */ case 42:
143605
+ $r = trace[0].WroteHeaderField("User-Agent", new sliceType$2([userAgent])); /* */ $s = 44; case 44: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143606
+ /* } */ case 43:
143607
+ /* } */ case 37:
143608
+ _r$7 = newTransferWriter(r[0]); /* */ $s = 45; case 45: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
143609
+ _tuple$5 = _r$7;
143610
+ tw = _tuple$5[0];
143611
+ err[0] = _tuple$5[1];
143556
143612
  /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 46; continue; }
143557
143613
  /* */ $s = 47; continue;
143558
143614
  /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 46:
@@ -143560,111 +143616,129 @@ $packages["net/http"] = (function() {
143560
143616
  $24r$7 = err[0];
143561
143617
  $s = 48; case 48: return $24r$7;
143562
143618
  /* } */ case 47:
143563
- /* */ if (!(extraHeaders === false)) { $s = 49; continue; }
143564
- /* */ $s = 50; continue;
143565
- /* if (!(extraHeaders === false)) { */ case 49:
143566
- _r$11 = new Header(extraHeaders).write(w, trace[0]); /* */ $s = 51; case 51: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
143567
- err[0] = _r$11;
143568
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 52; continue; }
143569
- /* */ $s = 53; continue;
143570
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 52:
143571
- err[0] = err[0];
143572
- $24r$8 = err[0];
143573
- $s = 54; case 54: return $24r$8;
143574
- /* } */ case 53:
143575
- /* } */ case 50:
143576
- _r$12 = io.WriteString(w, "\r\n"); /* */ $s = 55; case 55: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
143577
- _tuple$5 = _r$12;
143578
- err[0] = _tuple$5[1];
143579
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 56; continue; }
143580
- /* */ $s = 57; continue;
143581
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 56:
143619
+ _r$8 = tw.writeHeader(w, trace[0]); /* */ $s = 49; case 49: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
143620
+ err[0] = _r$8;
143621
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 50; continue; }
143622
+ /* */ $s = 51; continue;
143623
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 50:
143624
+ err[0] = err[0];
143625
+ $24r$8 = err[0];
143626
+ $s = 52; case 52: return $24r$8;
143627
+ /* } */ case 51:
143628
+ _r$9 = new Header(r[0].Header).writeSubset(w, reqWriteExcludeHeader, trace[0]); /* */ $s = 53; case 53: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
143629
+ err[0] = _r$9;
143630
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 54; continue; }
143631
+ /* */ $s = 55; continue;
143632
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 54:
143582
143633
  err[0] = err[0];
143583
143634
  $24r$9 = err[0];
143584
- $s = 58; case 58: return $24r$9;
143585
- /* } */ case 57:
143586
- /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaders === $throwNilPointerError)) { $s = 59; continue; }
143587
- /* */ $s = 60; continue;
143588
- /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaders === $throwNilPointerError)) { */ case 59:
143589
- $r = trace[0].WroteHeaders(); /* */ $s = 61; case 61: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143590
- /* } */ case 60:
143591
- /* */ if (!(waitForContinue === $throwNilPointerError)) { $s = 62; continue; }
143592
- /* */ $s = 63; continue;
143593
- /* if (!(waitForContinue === $throwNilPointerError)) { */ case 62:
143594
- _tuple$6 = $assertType(w, ptrType$12, true);
143595
- bw$1 = _tuple$6[0];
143596
- ok$1 = _tuple$6[1];
143597
- /* */ if (ok$1) { $s = 64; continue; }
143598
- /* */ $s = 65; continue;
143599
- /* if (ok$1) { */ case 64:
143600
- _r$13 = bw$1.Flush(); /* */ $s = 66; case 66: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
143601
- err[0] = _r$13;
143602
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 67; continue; }
143603
- /* */ $s = 68; continue;
143604
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 67:
143635
+ $s = 56; case 56: return $24r$9;
143636
+ /* } */ case 55:
143637
+ /* */ if (!(extraHeaders === false)) { $s = 57; continue; }
143638
+ /* */ $s = 58; continue;
143639
+ /* if (!(extraHeaders === false)) { */ case 57:
143640
+ _r$10 = new Header(extraHeaders).write(w, trace[0]); /* */ $s = 59; case 59: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
143641
+ err[0] = _r$10;
143642
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 60; continue; }
143643
+ /* */ $s = 61; continue;
143644
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 60:
143645
+ err[0] = err[0];
143646
+ $24r$10 = err[0];
143647
+ $s = 62; case 62: return $24r$10;
143648
+ /* } */ case 61:
143649
+ /* } */ case 58:
143650
+ _r$11 = io.WriteString(w, "\r\n"); /* */ $s = 63; case 63: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
143651
+ _tuple$6 = _r$11;
143652
+ err[0] = _tuple$6[1];
143653
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 64; continue; }
143654
+ /* */ $s = 65; continue;
143655
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 64:
143656
+ err[0] = err[0];
143657
+ $24r$11 = err[0];
143658
+ $s = 66; case 66: return $24r$11;
143659
+ /* } */ case 65:
143660
+ /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaders === $throwNilPointerError)) { $s = 67; continue; }
143661
+ /* */ $s = 68; continue;
143662
+ /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].WroteHeaders === $throwNilPointerError)) { */ case 67:
143663
+ $r = trace[0].WroteHeaders(); /* */ $s = 69; case 69: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143664
+ /* } */ case 68:
143665
+ /* */ if (!(waitForContinue === $throwNilPointerError)) { $s = 70; continue; }
143666
+ /* */ $s = 71; continue;
143667
+ /* if (!(waitForContinue === $throwNilPointerError)) { */ case 70:
143668
+ _tuple$7 = $assertType(w, ptrType$12, true);
143669
+ bw$1 = _tuple$7[0];
143670
+ ok$1 = _tuple$7[1];
143671
+ /* */ if (ok$1) { $s = 72; continue; }
143672
+ /* */ $s = 73; continue;
143673
+ /* if (ok$1) { */ case 72:
143674
+ _r$12 = bw$1.Flush(); /* */ $s = 74; case 74: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
143675
+ err[0] = _r$12;
143676
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 75; continue; }
143677
+ /* */ $s = 76; continue;
143678
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 75:
143605
143679
  err[0] = err[0];
143606
- $24r$10 = err[0];
143607
- $s = 69; case 69: return $24r$10;
143608
- /* } */ case 68:
143609
- /* } */ case 65:
143610
- /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].Wait100Continue === $throwNilPointerError)) { $s = 70; continue; }
143611
- /* */ $s = 71; continue;
143612
- /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].Wait100Continue === $throwNilPointerError)) { */ case 70:
143613
- $r = trace[0].Wait100Continue(); /* */ $s = 72; case 72: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143614
- /* } */ case 71:
143615
- _r$14 = waitForContinue(); /* */ $s = 75; case 75: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }
143616
- /* */ if (!_r$14) { $s = 73; continue; }
143617
- /* */ $s = 74; continue;
143618
- /* if (!_r$14) { */ case 73:
143680
+ $24r$12 = err[0];
143681
+ $s = 77; case 77: return $24r$12;
143682
+ /* } */ case 76:
143683
+ /* } */ case 73:
143684
+ /* */ if (!(trace[0] === ptrType$19.nil) && !(trace[0].Wait100Continue === $throwNilPointerError)) { $s = 78; continue; }
143685
+ /* */ $s = 79; continue;
143686
+ /* if (!(trace[0] === ptrType$19.nil) && !(trace[0].Wait100Continue === $throwNilPointerError)) { */ case 78:
143687
+ $r = trace[0].Wait100Continue(); /* */ $s = 80; case 80: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
143688
+ /* } */ case 79:
143689
+ _r$13 = waitForContinue(); /* */ $s = 83; case 83: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
143690
+ /* */ if (!_r$13) { $s = 81; continue; }
143691
+ /* */ $s = 82; continue;
143692
+ /* if (!_r$13) { */ case 81:
143619
143693
  closed[0] = true;
143620
- _r$15 = r[0].closeBody(); /* */ $s = 76; case 76: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }
143621
- _r$15;
143694
+ _r$14 = r[0].closeBody(); /* */ $s = 84; case 84: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }
143695
+ _r$14;
143622
143696
  err[0] = $ifaceNil;
143623
- $24r$11 = err[0];
143624
- $s = 77; case 77: return $24r$11;
143625
- /* } */ case 74:
143626
- /* } */ case 63:
143627
- _tuple$7 = $assertType(w, ptrType$12, true);
143628
- bw$2 = _tuple$7[0];
143629
- ok$2 = _tuple$7[1];
143630
- /* */ if (ok$2 && tw.FlushHeaders) { $s = 78; continue; }
143631
- /* */ $s = 79; continue;
143632
- /* if (ok$2 && tw.FlushHeaders) { */ case 78:
143633
- _r$16 = bw$2.Flush(); /* */ $s = 80; case 80: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }
143634
- err$1 = _r$16;
143635
- /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 81; continue; }
143636
- /* */ $s = 82; continue;
143637
- /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 81:
143638
- err[0] = err$1;
143639
- $24r$12 = err[0];
143640
- $s = 83; case 83: return $24r$12;
143697
+ $24r$13 = err[0];
143698
+ $s = 85; case 85: return $24r$13;
143641
143699
  /* } */ case 82:
143642
- /* } */ case 79:
143700
+ /* } */ case 71:
143701
+ _tuple$8 = $assertType(w, ptrType$12, true);
143702
+ bw$2 = _tuple$8[0];
143703
+ ok$2 = _tuple$8[1];
143704
+ /* */ if (ok$2 && tw.FlushHeaders) { $s = 86; continue; }
143705
+ /* */ $s = 87; continue;
143706
+ /* if (ok$2 && tw.FlushHeaders) { */ case 86:
143707
+ _r$15 = bw$2.Flush(); /* */ $s = 88; case 88: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }
143708
+ err$1 = _r$15;
143709
+ /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 89; continue; }
143710
+ /* */ $s = 90; continue;
143711
+ /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 89:
143712
+ err[0] = err$1;
143713
+ $24r$14 = err[0];
143714
+ $s = 91; case 91: return $24r$14;
143715
+ /* } */ case 90:
143716
+ /* } */ case 87:
143643
143717
  closed[0] = true;
143644
- _r$17 = tw.writeBody(w); /* */ $s = 84; case 84: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }
143645
- err[0] = _r$17;
143646
- /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 85; continue; }
143647
- /* */ $s = 86; continue;
143648
- /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 85:
143718
+ _r$16 = tw.writeBody(w); /* */ $s = 92; case 92: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }
143719
+ err[0] = _r$16;
143720
+ /* */ if (!($interfaceIsEqual(err[0], $ifaceNil))) { $s = 93; continue; }
143721
+ /* */ $s = 94; continue;
143722
+ /* if (!($interfaceIsEqual(err[0], $ifaceNil))) { */ case 93:
143649
143723
  if ($interfaceIsEqual(tw.bodyReadError, err[0])) {
143650
143724
  err[0] = (x$7 = new requestBodyReadError.ptr(err[0]), new x$7.constructor.elem(x$7));
143651
143725
  }
143652
143726
  err[0] = err[0];
143653
- $24r$13 = err[0];
143654
- $s = 87; case 87: return $24r$13;
143655
- /* } */ case 86:
143656
- /* */ if (!(bw === ptrType$12.nil)) { $s = 88; continue; }
143657
- /* */ $s = 89; continue;
143658
- /* if (!(bw === ptrType$12.nil)) { */ case 88:
143659
- _r$18 = bw.Flush(); /* */ $s = 90; case 90: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }
143660
- err[0] = _r$18;
143661
- $24r$14 = err[0];
143662
- $s = 91; case 91: return $24r$14;
143663
- /* } */ case 89:
143727
+ $24r$15 = err[0];
143728
+ $s = 95; case 95: return $24r$15;
143729
+ /* } */ case 94:
143730
+ /* */ if (!(bw === ptrType$12.nil)) { $s = 96; continue; }
143731
+ /* */ $s = 97; continue;
143732
+ /* if (!(bw === ptrType$12.nil)) { */ case 96:
143733
+ _r$17 = bw.Flush(); /* */ $s = 98; case 98: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }
143734
+ err[0] = _r$17;
143735
+ $24r$16 = err[0];
143736
+ $s = 99; case 99: return $24r$16;
143737
+ /* } */ case 97:
143664
143738
  err[0] = $ifaceNil;
143665
- $24r$15 = err[0];
143666
- $s = 92; case 92: return $24r$15;
143667
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return err[0]; } if($curGoroutine.asleep) { var $f = {$blk: Request.ptr.prototype.write, $c: true, $r, $24r, $24r$1, $24r$10, $24r$11, $24r$12, $24r$13, $24r$14, $24r$15, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, $24r$7, $24r$8, $24r$9, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, bw, bw$1, bw$2, closed, err, err$1, extraHeaders, host, ok, ok$1, ok$2, r, ruri, trace, tw, userAgent, usingProxy, w, waitForContinue, x$7, $s, $deferred};return $f; } }
143739
+ $24r$17 = err[0];
143740
+ $s = 100; case 100: return $24r$17;
143741
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return err[0]; } if($curGoroutine.asleep) { var $f = {$blk: Request.ptr.prototype.write, $c: true, $r, $24r, $24r$1, $24r$10, $24r$11, $24r$12, $24r$13, $24r$14, $24r$15, $24r$16, $24r$17, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, $24r$7, $24r$8, $24r$9, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, bw, bw$1, bw$2, closed, err, err$1, extraHeaders, host, ok, ok$1, ok$2, r, ruri, trace, tw, userAgent, usingProxy, w, waitForContinue, x$7, $s, $deferred};return $f; } }
143668
143742
  };
143669
143743
  Request.prototype.write = function(w, usingProxy, extraHeaders, waitForContinue) { return this.$val.write(w, usingProxy, extraHeaders, waitForContinue); };
143670
143744
  idnaASCII = function(v) {
@@ -143678,40 +143752,6 @@ $packages["net/http"] = (function() {
143678
143752
  $s = 2; case 2: return $24r;
143679
143753
  /* */ } return; } var $f = {$blk: idnaASCII, $c: true, $r, $24r, _r$1, v, $s};return $f;
143680
143754
  };
143681
- cleanHost = function(in$1) {
143682
- var {_r$1, _r$2, _r$3, _tuple, _tuple$1, _tuple$2, a, a$1, err, err$1, host, i, in$1, port, $s, $r, $c} = $restore(this, {in$1});
143683
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
143684
- i = strings.IndexAny(in$1, " /");
143685
- if (!((i === -1))) {
143686
- in$1 = $substring(in$1, 0, i);
143687
- }
143688
- _r$1 = net.SplitHostPort(in$1); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
143689
- _tuple = _r$1;
143690
- host = _tuple[0];
143691
- port = _tuple[1];
143692
- err = _tuple[2];
143693
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }
143694
- /* */ $s = 3; continue;
143695
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:
143696
- _r$2 = idnaASCII(in$1); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
143697
- _tuple$1 = _r$2;
143698
- a = _tuple$1[0];
143699
- err$1 = _tuple$1[1];
143700
- if (!($interfaceIsEqual(err$1, $ifaceNil))) {
143701
- $s = -1; return in$1;
143702
- }
143703
- $s = -1; return a;
143704
- /* } */ case 3:
143705
- _r$3 = idnaASCII(host); /* */ $s = 5; case 5: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
143706
- _tuple$2 = _r$3;
143707
- a$1 = _tuple$2[0];
143708
- err = _tuple$2[1];
143709
- if (!($interfaceIsEqual(err, $ifaceNil))) {
143710
- $s = -1; return in$1;
143711
- }
143712
- $s = -1; return net.JoinHostPort(a$1, port);
143713
- /* */ } return; } var $f = {$blk: cleanHost, $c: true, $r, _r$1, _r$2, _r$3, _tuple, _tuple$1, _tuple$2, a, a$1, err, err$1, host, i, in$1, port, $s};return $f;
143714
- };
143715
143755
  removeZone = function(host) {
143716
143756
  var host, i, j;
143717
143757
  if (!strings.HasPrefix(host, "[")) {
@@ -158660,26 +158700,12 @@ $packages["github.com/supraio/client-daemon/pkg/netclient"] = (function() {
158660
158700
  };
158661
158701
  MetadataServer.prototype.handleData = function() { return this.$val.handleData(); };
158662
158702
  NewMetadataResponsiveSender = function(metadataServer, timeoutDuration) {
158663
- var metadataServer, timeoutDuration;
158664
- return new MetadataResponsiveSender.ptr(metadataServer, timeoutDuration, $makeMap($String.keyFor, []), $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
158703
+ var metadataServer, s, timeoutDuration;
158704
+ s = new MetadataResponsiveSender.ptr(metadataServer, timeoutDuration, $makeMap($String.keyFor, []), $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
158705
+ metadataServer.OnMessage($methodVal(s, "handleServerData"));
158706
+ return s;
158665
158707
  };
158666
158708
  $pkg.NewMetadataResponsiveSender = NewMetadataResponsiveSender;
158667
- MetadataResponsiveSender.ptr.prototype.Listen = function() {
158668
- var s;
158669
- s = this;
158670
- s.metadataServer.OnMessage($methodVal(s, "handleServerData"));
158671
- };
158672
- MetadataResponsiveSender.prototype.Listen = function() { return this.$val.Listen(); };
158673
- MetadataResponsiveSender.ptr.prototype.Close = function() {
158674
- var {$24r, _r, s, $s, $r, $c} = $restore(this, {});
158675
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
158676
- s = this;
158677
- _r = s.metadataServer.Close(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
158678
- $24r = _r;
158679
- $s = 2; case 2: return $24r;
158680
- /* */ } return; } var $f = {$blk: MetadataResponsiveSender.ptr.prototype.Close, $c: true, $r, $24r, _r, s, $s};return $f;
158681
- };
158682
- MetadataResponsiveSender.prototype.Close = function() { return this.$val.Close(); };
158683
158709
  MetadataResponsiveSender.ptr.prototype.SendServerWaitResponse = function(msgType, data) {
158684
158710
  var {$24r, $24r$1, $24r$2, _key, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _selection, _tuple, data, err, msgType, reqData, requestChan, requestID, resp, s, $s, $r, $c} = $restore(this, {msgType, data});
158685
158711
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
@@ -158979,7 +159005,7 @@ $packages["github.com/supraio/client-daemon/pkg/netclient"] = (function() {
158979
159005
  };
158980
159006
  Framer.prototype.parseFrames = function() { return this.$val.parseFrames(); };
158981
159007
  ptrType$1.methods = [{prop: "start", name: "start", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([], [], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([sliceType$1], [$Int, $error], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType], [], false)}, {prop: "OnMessage", name: "OnMessage", pkg: "", typ: $funcType([funcType$1], [], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "handleData", name: "handleData", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([], [], false)}];
158982
- ptrType$2.methods = [{prop: "Listen", name: "Listen", pkg: "", typ: $funcType([], [], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "SendServerWaitResponse", name: "SendServerWaitResponse", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [sliceType$1, $error], false)}, {prop: "handleServerData", name: "handleServerData", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([message.MsgType, sliceType$1], [], false)}];
159008
+ ptrType$2.methods = [{prop: "SendServerWaitResponse", name: "SendServerWaitResponse", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [sliceType$1, $error], false)}, {prop: "handleServerData", name: "handleServerData", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([message.MsgType, sliceType$1], [], false)}];
158983
159009
  ptrType$3.methods = [{prop: "Send", name: "Send", pkg: "", typ: $funcType([message.MsgType, sliceType$1], [$error], false)}];
158984
159010
  ptrType$4.methods = [{prop: "Connect", name: "Connect", pkg: "", typ: $funcType([], [ptrType$1, $error], false)}];
158985
159011
  ptrType$6.methods = [{prop: "Start", name: "Start", pkg: "", typ: $funcType([], [], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "startPinging", name: "startPinging", pkg: "github.com/supraio/client-daemon/pkg/netclient", typ: $funcType([], [], false)}];
@@ -159271,7 +159297,7 @@ $packages["github.com/supraio/client-daemon/pkg/socket"] = (function() {
159271
159297
  _i++;
159272
159298
  $s = 1; continue;
159273
159299
  case 2:
159274
- l.closeConns = false;
159300
+ l.closeConns = new $global.Map();
159275
159301
  $s = -1; return $ifaceNil;
159276
159302
  /* */ } return; } var $f = {$blk: JsListener.ptr.prototype.Close, $c: true, $r, _entry, _i, _key, _keys, _ref, _size, closeConn, l, $s};return $f;
159277
159303
  };
@@ -159347,7 +159373,7 @@ $packages["github.com/supraio/client-daemon/pkg/socket"] = (function() {
159347
159373
  return $pkg;
159348
159374
  })();
159349
159375
  $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159350
- var $pkg = {}, $init, context, json, errs, message, netclient, netpacket, netstream, socket, io, log, sync, time, ScreenManager, ServerInfo, Handler, sliceType, sliceType$1, sliceType$2, structType, ptrType, ptrType$1, sliceType$3, ptrType$2, funcType, ptrType$3, mapType, NewHandler;
159376
+ var $pkg = {}, $init, context, json, errs, message, netclient, netpacket, netstream, socket, io, log, sync, time, ScreenManager, ServerInfo, Handler, sliceType, sliceType$1, sliceType$2, structType, ptrType, ptrType$1, sliceType$3, ptrType$2, funcType, ptrType$3, mapType, mapType$1, NewHandler;
159351
159377
  context = $packages["context"];
159352
159378
  json = $packages["encoding/json"];
159353
159379
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
@@ -159381,11 +159407,12 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159381
159407
  this.ClientSecret = ClientSecret_;
159382
159408
  this.Secure = Secure_;
159383
159409
  });
159384
- Handler = $pkg.Handler = $newType(0, $kindStruct, "command.Handler", true, "github.com/supraio/client-daemon/pkg/command", true, function(socketPath_, screenManager_, metadataResponsiveSenders_, timeoutDuration_, listener_, mutex_) {
159410
+ Handler = $pkg.Handler = $newType(0, $kindStruct, "command.Handler", true, "github.com/supraio/client-daemon/pkg/command", true, function(socketPath_, screenManager_, metadataServers_, metadataResponsiveSenders_, timeoutDuration_, listener_, mutex_) {
159385
159411
  this.$val = this;
159386
159412
  if (arguments.length === 0) {
159387
159413
  this.socketPath = "";
159388
159414
  this.screenManager = $ifaceNil;
159415
+ this.metadataServers = false;
159389
159416
  this.metadataResponsiveSenders = false;
159390
159417
  this.timeoutDuration = new time.Duration(0, 0);
159391
159418
  this.listener = $ifaceNil;
@@ -159394,6 +159421,7 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159394
159421
  }
159395
159422
  this.socketPath = socketPath_;
159396
159423
  this.screenManager = screenManager_;
159424
+ this.metadataServers = metadataServers_;
159397
159425
  this.metadataResponsiveSenders = metadataResponsiveSenders_;
159398
159426
  this.timeoutDuration = timeoutDuration_;
159399
159427
  this.listener = listener_;
@@ -159409,10 +159437,11 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159409
159437
  ptrType$2 = $ptrType(netclient.Framer);
159410
159438
  funcType = $funcType([], [$error], false);
159411
159439
  ptrType$3 = $ptrType(Handler);
159412
- mapType = $mapType($String, ptrType);
159440
+ mapType = $mapType($String, ptrType$1);
159441
+ mapType$1 = $mapType($String, ptrType);
159413
159442
  NewHandler = function(socketPath, screenManager, timeoutDuration) {
159414
159443
  var screenManager, socketPath, timeoutDuration;
159415
- return new Handler.ptr(socketPath, screenManager, $makeMap($String.keyFor, []), timeoutDuration, $ifaceNil, $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
159444
+ return new Handler.ptr(socketPath, screenManager, $makeMap($String.keyFor, []), $makeMap($String.keyFor, []), timeoutDuration, $ifaceNil, $clone(new sync.Mutex.ptr(0, 0), sync.Mutex));
159416
159445
  };
159417
159446
  $pkg.NewHandler = NewHandler;
159418
159447
  Handler.ptr.prototype.Listen = function() {
@@ -159447,13 +159476,13 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159447
159476
  };
159448
159477
  Handler.prototype.Listen = function() { return this.$val.Listen(); };
159449
159478
  Handler.ptr.prototype.Close = function() {
159450
- var {$24r, $24r$1, _entry, _i, _i$1, _key, _keys, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _size, allErr, err, err$1, err$2, errList, metadataResponsiveSender, s, $s, $deferred, $r, $c} = $restore(this, {});
159479
+ var {$24r, $24r$1, _entry, _i, _i$1, _key, _keys, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _size, allErr, err, err$1, err$2, errList, metadataServer, s, $s, $deferred, $r, $c} = $restore(this, {});
159451
159480
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
159452
159481
  s = this;
159453
159482
  $r = s.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
159454
159483
  $deferred.push([$methodVal(s.mutex, "Unlock"), []]);
159455
159484
  errList = new sliceType([]);
159456
- _ref = s.metadataResponsiveSenders;
159485
+ _ref = s.metadataServers;
159457
159486
  _i = 0;
159458
159487
  _keys = _ref ? _ref.keys() : undefined;
159459
159488
  _size = _ref ? _ref.size : 0;
@@ -159465,8 +159494,8 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159465
159494
  _i++;
159466
159495
  /* continue; */ $s = 2; continue;
159467
159496
  }
159468
- metadataResponsiveSender = _entry.v;
159469
- _r = metadataResponsiveSender.Close(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
159497
+ metadataServer = _entry.v;
159498
+ _r = metadataServer.Close(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
159470
159499
  err = _r;
159471
159500
  if (!($interfaceIsEqual(err, $ifaceNil))) {
159472
159501
  errList = $append(errList, err);
@@ -159500,7 +159529,7 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159500
159529
  /* } */ case 7:
159501
159530
  $24r$1 = $ifaceNil;
159502
159531
  $s = 13; case 13: return $24r$1;
159503
- /* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: Handler.ptr.prototype.Close, $c: true, $r, $24r, $24r$1, _entry, _i, _i$1, _key, _keys, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _size, allErr, err, err$1, err$2, errList, metadataResponsiveSender, s, $s, $deferred};return $f; } }
159532
+ /* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: Handler.ptr.prototype.Close, $c: true, $r, $24r, $24r$1, _entry, _i, _i$1, _key, _keys, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _size, allErr, err, err$1, err$2, errList, metadataServer, s, $s, $deferred};return $f; } }
159504
159533
  };
159505
159534
  Handler.prototype.Close = function() { return this.$val.Close(); };
159506
159535
  Handler.ptr.prototype.bindMessages = function(framer, closeSocket) {
@@ -159944,7 +159973,7 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159944
159973
  };
159945
159974
  Handler.prototype.proxyMessage = function(msgType, data) { return this.$val.proxyMessage(msgType, data); };
159946
159975
  Handler.ptr.prototype.getMetadataResponsiveSender = function(data) {
159947
- var {_entry, _key, _r, _r$1, _tuple, _tuple$1, data, err, metadataResponsiveSender, metadataResponsiveSender$1, metadataServer, ok, s, serverInfo, $s, $r, $c} = $restore(this, {data});
159976
+ var {_entry, _key, _key$1, _r, _r$1, _tuple, _tuple$1, data, err, metadataResponsiveSender, metadataResponsiveSender$1, metadataServer, ok, s, serverInfo, $s, $r, $c} = $restore(this, {data});
159948
159977
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
159949
159978
  s = [s];
159950
159979
  serverInfo = [serverInfo];
@@ -159968,19 +159997,20 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
159968
159997
  if (!($interfaceIsEqual(err, $ifaceNil))) {
159969
159998
  $s = -1; return [ptrType.nil, err];
159970
159999
  }
160000
+ _key = serverInfo[0].MetadataHost; (s[0].metadataServers || $throwRuntimeError("assignment to entry in nil map")).set($String.keyFor(_key), { k: _key, v: metadataServer });
159971
160001
  metadataResponsiveSender$1 = netclient.NewMetadataResponsiveSender(metadataServer, s[0].timeoutDuration);
159972
- metadataResponsiveSender$1.Listen();
159973
- _key = serverInfo[0].MetadataHost; (s[0].metadataResponsiveSenders || $throwRuntimeError("assignment to entry in nil map")).set($String.keyFor(_key), { k: _key, v: metadataResponsiveSender$1 });
160002
+ _key$1 = serverInfo[0].MetadataHost; (s[0].metadataResponsiveSenders || $throwRuntimeError("assignment to entry in nil map")).set($String.keyFor(_key$1), { k: _key$1, v: metadataResponsiveSender$1 });
159974
160003
  metadataServer.OnClose((function(s, serverInfo) { return function $b() {
159975
160004
  var {$s, $r, $c} = $restore(this, {});
159976
160005
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
159977
160006
  $r = log.Println(new sliceType$1([new $String("Metadata server was disconnected")])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
160007
+ $mapDelete(s[0].metadataServers, $String.keyFor(serverInfo[0].MetadataHost));
159978
160008
  $mapDelete(s[0].metadataResponsiveSenders, $String.keyFor(serverInfo[0].MetadataHost));
159979
160009
  $s = -1; return;
159980
160010
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, $s};return $f;
159981
160011
  }; })(s, serverInfo));
159982
160012
  $s = -1; return [metadataResponsiveSender$1, $ifaceNil];
159983
- /* */ } return; } var $f = {$blk: Handler.ptr.prototype.getMetadataResponsiveSender, $c: true, $r, _entry, _key, _r, _r$1, _tuple, _tuple$1, data, err, metadataResponsiveSender, metadataResponsiveSender$1, metadataServer, ok, s, serverInfo, $s};return $f;
160013
+ /* */ } return; } var $f = {$blk: Handler.ptr.prototype.getMetadataResponsiveSender, $c: true, $r, _entry, _key, _key$1, _r, _r$1, _tuple, _tuple$1, data, err, metadataResponsiveSender, metadataResponsiveSender$1, metadataServer, ok, s, serverInfo, $s};return $f;
159984
160014
  };
159985
160015
  Handler.prototype.getMetadataResponsiveSender = function(data) { return this.$val.getMetadataResponsiveSender(data); };
159986
160016
  Handler.ptr.prototype.createMetadataServer = function(serverInfo) {
@@ -160043,7 +160073,7 @@ $packages["github.com/supraio/client-daemon/pkg/command"] = (function() {
160043
160073
  ptrType$3.methods = [{prop: "Listen", name: "Listen", pkg: "", typ: $funcType([], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [$error], false)}, {prop: "bindMessages", name: "bindMessages", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([ptrType$2, funcType], [], false)}, {prop: "handleSocketData", name: "handleSocketData", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2, ptrType$2], [], false)}, {prop: "processMsg", name: "processMsg", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([message.MsgType, sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "attachProcess", name: "attachProcess", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "listAttachedProcesses", name: "listAttachedProcesses", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([], [sliceType$2, sliceType$2], false)}, {prop: "startProcess", name: "startProcess", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "stopProcess", name: "stopProcess", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "proxyMessage", name: "proxyMessage", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([message.MsgType, sliceType$2], [sliceType$2, sliceType$2], false)}, {prop: "getMetadataResponsiveSender", name: "getMetadataResponsiveSender", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([sliceType$2], [ptrType, $error], false)}, {prop: "createMetadataServer", name: "createMetadataServer", pkg: "github.com/supraio/client-daemon/pkg/command", typ: $funcType([ServerInfo], [ptrType$1, $error], false)}];
160044
160074
  ScreenManager.init([{prop: "ListScreens", name: "ListScreens", pkg: "", typ: $funcType([], [sliceType$3, $error], false)}, {prop: "StartScreen", name: "StartScreen", pkg: "", typ: $funcType([$String, netpacket.Driver, $String, netstream.Driver, $String, $String, $String, $Bool], [$error], false)}, {prop: "StopScreen", name: "StopScreen", pkg: "", typ: $funcType([$String], [$error], false)}]);
160045
160075
  ServerInfo.init("", [{prop: "MetadataDriver", name: "MetadataDriver", embedded: false, exported: true, typ: netstream.Driver, tag: ""}, {prop: "MetadataHost", name: "MetadataHost", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "ScreenDriver", name: "ScreenDriver", embedded: false, exported: true, typ: netpacket.Driver, tag: ""}, {prop: "ScreenHost", name: "ScreenHost", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "ClientID", name: "ClientID", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "ClientSecret", name: "ClientSecret", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Secure", name: "Secure", embedded: false, exported: true, typ: $Bool, tag: ""}]);
160046
- Handler.init("github.com/supraio/client-daemon/pkg/command", [{prop: "socketPath", name: "socketPath", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenManager", name: "screenManager", embedded: false, exported: false, typ: ScreenManager, tag: ""}, {prop: "metadataResponsiveSenders", name: "metadataResponsiveSenders", embedded: false, exported: false, typ: mapType, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "listener", name: "listener", embedded: false, exported: false, typ: socket.Listener, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: sync.Mutex, tag: ""}]);
160076
+ Handler.init("github.com/supraio/client-daemon/pkg/command", [{prop: "socketPath", name: "socketPath", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenManager", name: "screenManager", embedded: false, exported: false, typ: ScreenManager, tag: ""}, {prop: "metadataServers", name: "metadataServers", embedded: false, exported: false, typ: mapType, tag: ""}, {prop: "metadataResponsiveSenders", name: "metadataResponsiveSenders", embedded: false, exported: false, typ: mapType$1, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "listener", name: "listener", embedded: false, exported: false, typ: socket.Listener, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: sync.Mutex, tag: ""}]);
160047
160077
  $init = function() {
160048
160078
  $pkg.$init = function() {};
160049
160079
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
@@ -181852,14 +181882,114 @@ $packages["github.com/supraio/client-daemon/pkg/clientscreen"] = (function() {
181852
181882
  return $pkg;
181853
181883
  })();
181854
181884
  $packages["github.com/supraio/client-daemon/pkg/jshelper"] = (function() {
181855
- var $pkg = {}, $init, log, js;
181885
+ var $pkg = {}, $init, errs, log, js, ptrType, sliceType, GetError, Await;
181886
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
181856
181887
  log = $packages["log"];
181857
181888
  js = $packages["syscall/js"];
181889
+ ptrType = $ptrType(js.Value);
181890
+ sliceType = $sliceType($emptyInterface);
181891
+ GetError = function(err) {
181892
+ var {$24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, err, $s, $r, $c} = $restore(this, {err});
181893
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
181894
+ /* */ if (err === ptrType.nil) { $s = 1; continue; }
181895
+ /* */ $s = 2; continue;
181896
+ /* if (err === ptrType.nil) { */ case 1:
181897
+ _r = errs.Errorf("Error is nil", sliceType.nil); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
181898
+ $24r = _r;
181899
+ $s = 4; case 4: return $24r;
181900
+ /* } */ case 2:
181901
+ /* */ if ($clone(err, js.Value).Type() === 4) { $s = 5; continue; }
181902
+ /* */ if ($clone(err, js.Value).Type() === 6) { $s = 6; continue; }
181903
+ /* */ $s = 7; continue;
181904
+ /* if ($clone(err, js.Value).Type() === 4) { */ case 5:
181905
+ _r$1 = errs.Errorf("%s", new sliceType([new $String($clone(err, js.Value).String())])); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
181906
+ $24r$1 = _r$1;
181907
+ $s = 10; case 10: return $24r$1;
181908
+ /* } else if ($clone(err, js.Value).Type() === 6) { */ case 6:
181909
+ _r$2 = errs.Errorf("%s, stack: %s", new sliceType([new $String($clone($clone(err, js.Value).Get("message"), js.Value).String()), new $String($clone($clone(err, js.Value).Get("stack"), js.Value).String())])); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
181910
+ $24r$2 = _r$2;
181911
+ $s = 12; case 12: return $24r$2;
181912
+ /* } else { */ case 7:
181913
+ _r$3 = errs.Errorf("Unknown error type: %v", new sliceType([err])); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
181914
+ $24r$3 = _r$3;
181915
+ $s = 14; case 14: return $24r$3;
181916
+ /* } */ case 8:
181917
+ $s = -1; return $ifaceNil;
181918
+ /* */ } return; } var $f = {$blk: GetError, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, _r, _r$1, _r$2, _r$3, err, $s};return $f;
181919
+ };
181920
+ $pkg.GetError = GetError;
181921
+ Await = function(awaitable) {
181922
+ var {$24r, $24r$1, _r, _r$1, _r$2, _selection, awaitable, catch$1, catchFunc, err, result, then, thenFunc, $s, $deferred, $r, $c} = $restore(this, {awaitable});
181923
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
181924
+ catch$1 = [catch$1];
181925
+ then = [then];
181926
+ then[0] = new $Chan(ptrType, 0);
181927
+ $deferred.push([(function(catch$1, then) { return function() {
181928
+ $close(then[0]);
181929
+ then[0] = $chanNil;
181930
+ }; })(catch$1, then), []]);
181931
+ thenFunc = $clone(js.FuncOf((function(catch$1, then) { return function $b(this$1, args) {
181932
+ var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
181933
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
181934
+ /* */ if (then[0] === $chanNil) { $s = 1; continue; }
181935
+ /* */ $s = 2; continue;
181936
+ /* if (then[0] === $chanNil) { */ case 1:
181937
+ $r = log.Printf("Promise already resolved cannot resolve again: %v\n", new sliceType([(0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181938
+ $s = -1; return $ifaceNil;
181939
+ /* } */ case 2:
181940
+ $r = $send(then[0], (0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181941
+ $s = -1; return $ifaceNil;
181942
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
181943
+ }; })(catch$1, then)), js.Func);
181944
+ $deferred.push([$methodVal($clone(thenFunc, js.Func), "Release"), []]);
181945
+ catch$1[0] = new $Chan(ptrType, 0);
181946
+ $deferred.push([(function(catch$1, then) { return function() {
181947
+ $close(catch$1[0]);
181948
+ catch$1[0] = $chanNil;
181949
+ }; })(catch$1, then), []]);
181950
+ catchFunc = $clone(js.FuncOf((function(catch$1, then) { return function $b(this$1, args) {
181951
+ var {_arg, _r, args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
181952
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
181953
+ /* */ if (catch$1[0] === $chanNil) { $s = 1; continue; }
181954
+ /* */ $s = 2; continue;
181955
+ /* if (catch$1[0] === $chanNil) { */ case 1:
181956
+ _r = GetError((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
181957
+ _arg = _r;
181958
+ $r = errs.Print("Promise already resolved cannot be rejected", _arg); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181959
+ $s = -1; return $ifaceNil;
181960
+ /* } */ case 2:
181961
+ $r = $send(catch$1[0], (0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181962
+ $s = -1; return $ifaceNil;
181963
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _arg, _r, args, this$1, $s};return $f;
181964
+ }; })(catch$1, then)), js.Func);
181965
+ $deferred.push([$methodVal($clone(catchFunc, js.Func), "Release"), []]);
181966
+ _r = $clone(awaitable, js.Value).Call("then", new sliceType([new thenFunc.constructor.elem(thenFunc)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
181967
+ _r$1 = $clone(_r, js.Value).Call("catch", new sliceType([new catchFunc.constructor.elem(catchFunc)])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
181968
+ _r$1;
181969
+ _r$2 = $select([[then[0]], [catch$1[0]]]); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
181970
+ _selection = _r$2;
181971
+ /* */ if (_selection[0] === 0) { $s = 4; continue; }
181972
+ /* */ if (_selection[0] === 1) { $s = 5; continue; }
181973
+ /* */ $s = 6; continue;
181974
+ /* if (_selection[0] === 0) { */ case 4:
181975
+ result = _selection[1][0];
181976
+ $24r = [result, ptrType.nil];
181977
+ $s = 7; case 7: return $24r;
181978
+ /* } else if (_selection[0] === 1) { */ case 5:
181979
+ err = _selection[1][0];
181980
+ $24r$1 = [ptrType.nil, err];
181981
+ $s = 8; case 8: return $24r$1;
181982
+ /* } */ case 6:
181983
+ $s = -1; return [ptrType.nil, ptrType.nil];
181984
+ /* */ } return; } } catch(err) { $err = err; $s = -1; return [ptrType.nil, ptrType.nil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: Await, $c: true, $r, $24r, $24r$1, _r, _r$1, _r$2, _selection, awaitable, catch$1, catchFunc, err, result, then, thenFunc, $s, $deferred};return $f; } }
181985
+ };
181986
+ $pkg.Await = Await;
181858
181987
  $init = function() {
181859
181988
  $pkg.$init = function() {};
181860
181989
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
181861
- $r = log.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181862
- $r = js.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181990
+ $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181991
+ $r = log.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181992
+ $r = js.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
181863
181993
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
181864
181994
  };
181865
181995
  $pkg.$init = $init;
@@ -182663,12 +182793,11 @@ $packages["github.com/nuberu/webgl/extensions"] = (function() {
182663
182793
  return $pkg;
182664
182794
  })();
182665
182795
  $packages["github.com/nuberu/webgl"] = (function() {
182666
- var $pkg = {}, $init, errors, fmt, extensions, types, reflect, runtime, js, RenderingContext, funcType, arrayType, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, sliceType$1, ptrType$7, arrayType$1, arrayType$2, arrayType$3, sliceType$2, sliceType$3, sliceType$4, sliceType$5, sliceType$6, sliceType$7, sliceType$8, sliceType$9, sliceType$10, sliceType$11, sliceType$12, sliceType$13, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, ptrType$15, ptrType$16, ptrType$17, sliceType$14, sliceType$15, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, WrapContext, FromCanvas, polyfillOldVersion, sliceToByteSlice, TypedArrayOf;
182796
+ var $pkg = {}, $init, errors, fmt, extensions, types, runtime, js, RenderingContext, funcType, arrayType, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, sliceType$1, ptrType$7, arrayType$1, arrayType$2, arrayType$3, sliceType$2, sliceType$3, sliceType$4, sliceType$5, sliceType$6, sliceType$7, sliceType$8, sliceType$9, sliceType$10, sliceType$11, sliceType$12, sliceType$13, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, WrapContext, FromCanvas, polyfillOldVersion, TypedArrayOf;
182667
182797
  errors = $packages["errors"];
182668
182798
  fmt = $packages["fmt"];
182669
182799
  extensions = $packages["github.com/nuberu/webgl/extensions"];
182670
182800
  types = $packages["github.com/nuberu/webgl/types"];
182671
- reflect = $packages["reflect"];
182672
182801
  runtime = $packages["runtime"];
182673
182802
  js = $packages["syscall/js"];
182674
182803
  RenderingContext = $pkg.RenderingContext = $newType(0, $kindStruct, "webgl.RenderingContext", true, "github.com/nuberu/webgl", true, function(loaded_, js_, version_) {
@@ -182707,27 +182836,15 @@ $packages["github.com/nuberu/webgl"] = (function() {
182707
182836
  sliceType$8 = $sliceType($Int8);
182708
182837
  sliceType$9 = $sliceType($Int16);
182709
182838
  sliceType$10 = $sliceType($Int32);
182710
- sliceType$11 = $sliceType($Int64);
182711
- sliceType$12 = $sliceType($Uint64);
182712
- sliceType$13 = $sliceType($Float64);
182713
- ptrType$8 = $ptrType(reflect.SliceHeader);
182714
- ptrType$9 = $ptrType(sliceType$8);
182715
- ptrType$10 = $ptrType(sliceType$9);
182716
- ptrType$11 = $ptrType(sliceType$10);
182717
- ptrType$12 = $ptrType(sliceType$11);
182718
- ptrType$13 = $ptrType(sliceType$5);
182719
- ptrType$14 = $ptrType(sliceType$6);
182720
- ptrType$15 = $ptrType(sliceType$12);
182721
- ptrType$16 = $ptrType(sliceType$7);
182722
- ptrType$17 = $ptrType(sliceType$13);
182723
- sliceType$14 = $sliceType($Int);
182724
- sliceType$15 = $sliceType($Uint);
182725
- ptrType$18 = $ptrType(types.VertexArray);
182726
- ptrType$19 = $ptrType(types.ActiveInfo);
182727
- ptrType$20 = $ptrType(extensions.Extension);
182728
- ptrType$21 = $ptrType(extensions.LoseContext);
182729
- ptrType$22 = $ptrType(types.ShaderPrecisionFormat);
182730
- ptrType$23 = $ptrType(types.UniformLocation);
182839
+ sliceType$11 = $sliceType($Float64);
182840
+ sliceType$12 = $sliceType($Int);
182841
+ sliceType$13 = $sliceType($Uint);
182842
+ ptrType$8 = $ptrType(types.VertexArray);
182843
+ ptrType$9 = $ptrType(types.ActiveInfo);
182844
+ ptrType$10 = $ptrType(extensions.Extension);
182845
+ ptrType$11 = $ptrType(extensions.LoseContext);
182846
+ ptrType$12 = $ptrType(types.ShaderPrecisionFormat);
182847
+ ptrType$13 = $ptrType(types.UniformLocation);
182731
182848
  WrapContext = function(jsContext) {
182732
182849
  var context, jsContext;
182733
182850
  context = new RenderingContext.ptr(true, $clone(jsContext, js.Value), 0);
@@ -186525,96 +186642,10 @@ $packages["github.com/nuberu/webgl"] = (function() {
186525
186642
  /* */ } return; } var $f = {$blk: RenderingContext.ptr.prototype.Viewport, $c: true, $r, _r, c, height, width, x, y, $s};return $f;
186526
186643
  };
186527
186644
  RenderingContext.prototype.Viewport = function(x, y, width, height) { return this.$val.Viewport(x, y, width, height); };
186528
- sliceToByteSlice = function(s) {
186529
- var {_r, _ref, h, h$1, h$2, h$3, h$4, h$5, h$6, h$7, h$8, s, s$1, s$10, s$11, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, $s, $r, $c} = $restore(this, {s});
186530
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186531
- s$1 = [s$1];
186532
- s$2 = [s$2];
186533
- s$3 = [s$3];
186534
- s$4 = [s$4];
186535
- s$5 = [s$5];
186536
- s$6 = [s$6];
186537
- s$7 = [s$7];
186538
- s$8 = [s$8];
186539
- s$9 = [s$9];
186540
- _ref = s;
186541
- /* */ if ($assertType(_ref, sliceType$8, true)[1]) { $s = 1; continue; }
186542
- /* */ if ($assertType(_ref, sliceType$9, true)[1]) { $s = 2; continue; }
186543
- /* */ if ($assertType(_ref, sliceType$10, true)[1]) { $s = 3; continue; }
186544
- /* */ if ($assertType(_ref, sliceType$11, true)[1]) { $s = 4; continue; }
186545
- /* */ if ($assertType(_ref, sliceType$4, true)[1]) { $s = 5; continue; }
186546
- /* */ if ($assertType(_ref, sliceType$5, true)[1]) { $s = 6; continue; }
186547
- /* */ if ($assertType(_ref, sliceType$6, true)[1]) { $s = 7; continue; }
186548
- /* */ if ($assertType(_ref, sliceType$12, true)[1]) { $s = 8; continue; }
186549
- /* */ if ($assertType(_ref, sliceType$7, true)[1]) { $s = 9; continue; }
186550
- /* */ if ($assertType(_ref, sliceType$13, true)[1]) { $s = 10; continue; }
186551
- /* */ $s = 11; continue;
186552
- /* if ($assertType(_ref, sliceType$8, true)[1]) { */ case 1:
186553
- s$1[0] = _ref.$val;
186554
- h = ($pointerOfStructConversion(((s$1.$ptr || (s$1.$ptr = new ptrType$9(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$1)))), ptrType$8));
186555
- $s = -1; return ((h)).$get();
186556
- /* } else if ($assertType(_ref, sliceType$9, true)[1]) { */ case 2:
186557
- s$2[0] = _ref.$val;
186558
- h$1 = ($pointerOfStructConversion(((s$2.$ptr || (s$2.$ptr = new ptrType$10(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$2)))), ptrType$8));
186559
- h$1.Len = $imul(h$1.Len, (2));
186560
- h$1.Cap = $imul(h$1.Cap, (2));
186561
- $s = -1; return ((h$1)).$get();
186562
- /* } else if ($assertType(_ref, sliceType$10, true)[1]) { */ case 3:
186563
- s$3[0] = _ref.$val;
186564
- h$2 = ($pointerOfStructConversion(((s$3.$ptr || (s$3.$ptr = new ptrType$11(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$3)))), ptrType$8));
186565
- h$2.Len = $imul(h$2.Len, (4));
186566
- h$2.Cap = $imul(h$2.Cap, (4));
186567
- $s = -1; return ((h$2)).$get();
186568
- /* } else if ($assertType(_ref, sliceType$11, true)[1]) { */ case 4:
186569
- s$4[0] = _ref.$val;
186570
- h$3 = ($pointerOfStructConversion(((s$4.$ptr || (s$4.$ptr = new ptrType$12(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$4)))), ptrType$8));
186571
- h$3.Len = $imul(h$3.Len, (8));
186572
- h$3.Cap = $imul(h$3.Cap, (8));
186573
- $s = -1; return ((h$3)).$get();
186574
- /* } else if ($assertType(_ref, sliceType$4, true)[1]) { */ case 5:
186575
- s$10 = _ref.$val;
186576
- $s = -1; return s$10;
186577
- /* } else if ($assertType(_ref, sliceType$5, true)[1]) { */ case 6:
186578
- s$5[0] = _ref.$val;
186579
- h$4 = ($pointerOfStructConversion(((s$5.$ptr || (s$5.$ptr = new ptrType$13(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$5)))), ptrType$8));
186580
- h$4.Len = $imul(h$4.Len, (2));
186581
- h$4.Cap = $imul(h$4.Cap, (2));
186582
- $s = -1; return ((h$4)).$get();
186583
- /* } else if ($assertType(_ref, sliceType$6, true)[1]) { */ case 7:
186584
- s$6[0] = _ref.$val;
186585
- h$5 = ($pointerOfStructConversion(((s$6.$ptr || (s$6.$ptr = new ptrType$14(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$6)))), ptrType$8));
186586
- h$5.Len = $imul(h$5.Len, (4));
186587
- h$5.Cap = $imul(h$5.Cap, (4));
186588
- $s = -1; return ((h$5)).$get();
186589
- /* } else if ($assertType(_ref, sliceType$12, true)[1]) { */ case 8:
186590
- s$7[0] = _ref.$val;
186591
- h$6 = ($pointerOfStructConversion(((s$7.$ptr || (s$7.$ptr = new ptrType$15(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$7)))), ptrType$8));
186592
- h$6.Len = $imul(h$6.Len, (8));
186593
- h$6.Cap = $imul(h$6.Cap, (8));
186594
- $s = -1; return ((h$6)).$get();
186595
- /* } else if ($assertType(_ref, sliceType$7, true)[1]) { */ case 9:
186596
- s$8[0] = _ref.$val;
186597
- h$7 = ($pointerOfStructConversion(((s$8.$ptr || (s$8.$ptr = new ptrType$16(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$8)))), ptrType$8));
186598
- h$7.Len = $imul(h$7.Len, (4));
186599
- h$7.Cap = $imul(h$7.Cap, (4));
186600
- $s = -1; return ((h$7)).$get();
186601
- /* } else if ($assertType(_ref, sliceType$13, true)[1]) { */ case 10:
186602
- s$9[0] = _ref.$val;
186603
- h$8 = ($pointerOfStructConversion(((s$9.$ptr || (s$9.$ptr = new ptrType$17(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, s$9)))), ptrType$8));
186604
- h$8.Len = $imul(h$8.Len, (8));
186605
- h$8.Cap = $imul(h$8.Cap, (8));
186606
- $s = -1; return ((h$8)).$get();
186607
- /* } else { */ case 11:
186608
- s$11 = _ref;
186609
- _r = fmt.Sprintf("jsutil: unexpected value at sliceToBytesSlice: %T", new sliceType([s$11])); /* */ $s = 13; case 13: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186610
- $panic(new $String(_r));
186611
- /* } */ case 12:
186612
- $s = -1; return sliceType$4.nil;
186613
- /* */ } return; } var $f = {$blk: sliceToByteSlice, $c: true, $r, _r, _ref, h, h$1, h$2, h$3, h$4, h$5, h$6, h$7, h$8, s, s$1, s$10, s$11, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, $s};return $f;
186614
- };
186615
186645
  TypedArrayOf = function(s) {
186616
- var {$24r, $24r$1, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, _arg, _arg$1, _arg$10, _arg$11, _arg$12, _arg$13, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _q, _q$1, _q$2, _q$3, _q$4, _q$5, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$24, _r$25, _r$26, _r$27, _r$28, _r$29, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, a, a$1, a$2, a$3, a$4, a$5, a$6, a$7, buf, buf$1, buf$2, buf$3, buf$4, buf$5, buf$6, s, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, $s, $r, $c} = $restore(this, {s});
186646
+ var {_i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _ref$1, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, i, i$1, i$2, i$3, i$4, i$5, i$6, result, s, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, v, v$1, v$2, v$3, v$4, v$5, v$6, $s, $r, $c} = $restore(this, {s});
186617
186647
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186648
+ result = new js.Value.ptr(null, false, arrayType.zero());
186618
186649
  _ref = s;
186619
186650
  /* */ if ($assertType(_ref, sliceType$8, true)[1]) { $s = 1; continue; }
186620
186651
  /* */ if ($assertType(_ref, sliceType$9, true)[1]) { $s = 2; continue; }
@@ -186623,123 +186654,123 @@ $packages["github.com/nuberu/webgl"] = (function() {
186623
186654
  /* */ if ($assertType(_ref, sliceType$5, true)[1]) { $s = 5; continue; }
186624
186655
  /* */ if ($assertType(_ref, sliceType$6, true)[1]) { $s = 6; continue; }
186625
186656
  /* */ if ($assertType(_ref, sliceType$7, true)[1]) { $s = 7; continue; }
186626
- /* */ if ($assertType(_ref, sliceType$13, true)[1]) { $s = 8; continue; }
186657
+ /* */ if ($assertType(_ref, sliceType$11, true)[1]) { $s = 8; continue; }
186627
186658
  /* */ $s = 9; continue;
186628
186659
  /* if ($assertType(_ref, sliceType$8, true)[1]) { */ case 1:
186629
186660
  s$1 = _ref.$val;
186630
- _r = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(s$1.$length)])); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186631
- a = $clone(_r, js.Value);
186632
- _arg = $clone(a, js.Value);
186633
- _r$1 = sliceToByteSlice(s$1); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186634
- _arg$1 = _r$1;
186635
- _r$2 = js.CopyBytesToJS(_arg, _arg$1); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
186636
- _r$2;
186637
- runtime.KeepAlive(s$1);
186638
- buf = $clone($clone(a, js.Value).Get("buffer"), js.Value);
186639
- _r$3 = $clone($clone(js.Global(), js.Value).Get("Int8Array"), js.Value).New(new sliceType([new buf.constructor.elem(buf), (x = $clone(a, js.Value).Get("byteOffset"), new x.constructor.elem(x)), (x$1 = $clone(a, js.Value).Get("byteLength"), new x$1.constructor.elem(x$1))])); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
186640
- $24r = _r$3;
186641
- $s = 15; case 15: return $24r;
186661
+ _r = $clone($clone(js.Global(), js.Value).Get("Int8Array"), js.Value).New(new sliceType([new $Int(s$1.$length)])); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186662
+ js.Value.copy(result, _r);
186663
+ _ref$1 = s$1;
186664
+ _i = 0;
186665
+ while (true) {
186666
+ if (!(_i < _ref$1.$length)) { break; }
186667
+ i = _i;
186668
+ v = ((_i < 0 || _i >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i]);
186669
+ $clone(result, js.Value).SetIndex(i, new $Int8(v));
186670
+ _i++;
186671
+ }
186672
+ $s = 10; continue;
186642
186673
  /* } else if ($assertType(_ref, sliceType$9, true)[1]) { */ case 2:
186643
186674
  s$2 = _ref.$val;
186644
- _r$4 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$2.$length, 2)))])); /* */ $s = 16; case 16: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
186645
- a$1 = $clone(_r$4, js.Value);
186646
- _arg$2 = $clone(a$1, js.Value);
186647
- _r$5 = sliceToByteSlice(s$2); /* */ $s = 17; case 17: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
186648
- _arg$3 = _r$5;
186649
- _r$6 = js.CopyBytesToJS(_arg$2, _arg$3); /* */ $s = 18; case 18: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
186650
- _r$6;
186651
- runtime.KeepAlive(s$2);
186652
- buf$1 = $clone($clone(a$1, js.Value).Get("buffer"), js.Value);
186653
- _r$7 = $clone($clone(js.Global(), js.Value).Get("Int16Array"), js.Value).New(new sliceType([new buf$1.constructor.elem(buf$1), (x$2 = $clone(a$1, js.Value).Get("byteOffset"), new x$2.constructor.elem(x$2)), new $Int((_q = $clone($clone(a$1, js.Value).Get("byteLength"), js.Value).Int() / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 19; case 19: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
186654
- $24r$1 = _r$7;
186655
- $s = 20; case 20: return $24r$1;
186675
+ _r$1 = $clone($clone(js.Global(), js.Value).Get("Int16Array"), js.Value).New(new sliceType([new $Int(s$2.$length)])); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186676
+ js.Value.copy(result, _r$1);
186677
+ _ref$2 = s$2;
186678
+ _i$1 = 0;
186679
+ while (true) {
186680
+ if (!(_i$1 < _ref$2.$length)) { break; }
186681
+ i$1 = _i$1;
186682
+ v$1 = ((_i$1 < 0 || _i$1 >= _ref$2.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$2.$array[_ref$2.$offset + _i$1]);
186683
+ $clone(result, js.Value).SetIndex(i$1, new $Int16(v$1));
186684
+ _i$1++;
186685
+ }
186686
+ $s = 10; continue;
186656
186687
  /* } else if ($assertType(_ref, sliceType$10, true)[1]) { */ case 3:
186657
186688
  s$3 = _ref.$val;
186658
- _r$8 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$3.$length, 4)))])); /* */ $s = 21; case 21: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
186659
- a$2 = $clone(_r$8, js.Value);
186660
- _arg$4 = $clone(a$2, js.Value);
186661
- _r$9 = sliceToByteSlice(s$3); /* */ $s = 22; case 22: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
186662
- _arg$5 = _r$9;
186663
- _r$10 = js.CopyBytesToJS(_arg$4, _arg$5); /* */ $s = 23; case 23: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
186664
- _r$10;
186665
- runtime.KeepAlive(s$3);
186666
- buf$2 = $clone($clone(a$2, js.Value).Get("buffer"), js.Value);
186667
- _r$11 = $clone($clone(js.Global(), js.Value).Get("Int32Array"), js.Value).New(new sliceType([new buf$2.constructor.elem(buf$2), (x$3 = $clone(a$2, js.Value).Get("byteOffset"), new x$3.constructor.elem(x$3)), new $Int((_q$1 = $clone($clone(a$2, js.Value).Get("byteLength"), js.Value).Int() / 4, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 24; case 24: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
186668
- $24r$2 = _r$11;
186669
- $s = 25; case 25: return $24r$2;
186689
+ _r$2 = $clone($clone(js.Global(), js.Value).Get("Int32Array"), js.Value).New(new sliceType([new $Int(s$3.$length)])); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
186690
+ js.Value.copy(result, _r$2);
186691
+ _ref$3 = s$3;
186692
+ _i$2 = 0;
186693
+ while (true) {
186694
+ if (!(_i$2 < _ref$3.$length)) { break; }
186695
+ i$2 = _i$2;
186696
+ v$2 = ((_i$2 < 0 || _i$2 >= _ref$3.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$3.$array[_ref$3.$offset + _i$2]);
186697
+ $clone(result, js.Value).SetIndex(i$2, new $Int32(v$2));
186698
+ _i$2++;
186699
+ }
186700
+ $s = 10; continue;
186670
186701
  /* } else if ($assertType(_ref, sliceType$4, true)[1]) { */ case 4:
186671
186702
  s$4 = _ref.$val;
186672
- _r$12 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(s$4.$length)])); /* */ $s = 26; case 26: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }
186673
- a$3 = $clone(_r$12, js.Value);
186674
- js.CopyBytesToJS($clone(a$3, js.Value), s$4);
186703
+ _r$3 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(s$4.$length)])); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
186704
+ js.Value.copy(result, _r$3);
186705
+ js.CopyBytesToJS($clone(result, js.Value), s$4);
186675
186706
  runtime.KeepAlive(s$4);
186676
- $s = -1; return a$3;
186707
+ $s = 10; continue;
186677
186708
  /* } else if ($assertType(_ref, sliceType$5, true)[1]) { */ case 5:
186678
186709
  s$5 = _ref.$val;
186679
- _r$13 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$5.$length, 2)))])); /* */ $s = 27; case 27: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }
186680
- a$4 = $clone(_r$13, js.Value);
186681
- _arg$6 = $clone(a$4, js.Value);
186682
- _r$14 = sliceToByteSlice(s$5); /* */ $s = 28; case 28: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }
186683
- _arg$7 = _r$14;
186684
- _r$15 = js.CopyBytesToJS(_arg$6, _arg$7); /* */ $s = 29; case 29: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }
186685
- _r$15;
186686
- runtime.KeepAlive(s$5);
186687
- buf$3 = $clone($clone(a$4, js.Value).Get("buffer"), js.Value);
186688
- _r$16 = $clone($clone(js.Global(), js.Value).Get("Uint16Array"), js.Value).New(new sliceType([new buf$3.constructor.elem(buf$3), (x$4 = $clone(a$4, js.Value).Get("byteOffset"), new x$4.constructor.elem(x$4)), new $Int((_q$2 = $clone($clone(a$4, js.Value).Get("byteLength"), js.Value).Int() / 2, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 30; case 30: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }
186689
- $24r$3 = _r$16;
186690
- $s = 31; case 31: return $24r$3;
186710
+ _r$4 = $clone($clone(js.Global(), js.Value).Get("Uint16Array"), js.Value).New(new sliceType([new $Int(s$5.$length)])); /* */ $s = 15; case 15: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
186711
+ js.Value.copy(result, _r$4);
186712
+ _ref$4 = s$5;
186713
+ _i$3 = 0;
186714
+ while (true) {
186715
+ if (!(_i$3 < _ref$4.$length)) { break; }
186716
+ i$3 = _i$3;
186717
+ v$3 = ((_i$3 < 0 || _i$3 >= _ref$4.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$4.$array[_ref$4.$offset + _i$3]);
186718
+ $clone(result, js.Value).SetIndex(i$3, new $Uint16(v$3));
186719
+ _i$3++;
186720
+ }
186721
+ $s = 10; continue;
186691
186722
  /* } else if ($assertType(_ref, sliceType$6, true)[1]) { */ case 6:
186692
186723
  s$6 = _ref.$val;
186693
- _r$17 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$6.$length, 4)))])); /* */ $s = 32; case 32: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }
186694
- a$5 = $clone(_r$17, js.Value);
186695
- _arg$8 = $clone(a$5, js.Value);
186696
- _r$18 = sliceToByteSlice(s$6); /* */ $s = 33; case 33: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }
186697
- _arg$9 = _r$18;
186698
- _r$19 = js.CopyBytesToJS(_arg$8, _arg$9); /* */ $s = 34; case 34: if($c) { $c = false; _r$19 = _r$19.$blk(); } if (_r$19 && _r$19.$blk !== undefined) { break s; }
186699
- _r$19;
186700
- runtime.KeepAlive(s$6);
186701
- buf$4 = $clone($clone(a$5, js.Value).Get("buffer"), js.Value);
186702
- _r$20 = $clone($clone(js.Global(), js.Value).Get("Uint32Array"), js.Value).New(new sliceType([new buf$4.constructor.elem(buf$4), (x$5 = $clone(a$5, js.Value).Get("byteOffset"), new x$5.constructor.elem(x$5)), new $Int((_q$3 = $clone($clone(a$5, js.Value).Get("byteLength"), js.Value).Int() / 4, (_q$3 === _q$3 && _q$3 !== 1/0 && _q$3 !== -1/0) ? _q$3 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 35; case 35: if($c) { $c = false; _r$20 = _r$20.$blk(); } if (_r$20 && _r$20.$blk !== undefined) { break s; }
186703
- $24r$4 = _r$20;
186704
- $s = 36; case 36: return $24r$4;
186724
+ _r$5 = $clone($clone(js.Global(), js.Value).Get("Uint32Array"), js.Value).New(new sliceType([new $Int(s$6.$length)])); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
186725
+ js.Value.copy(result, _r$5);
186726
+ _ref$5 = s$6;
186727
+ _i$4 = 0;
186728
+ while (true) {
186729
+ if (!(_i$4 < _ref$5.$length)) { break; }
186730
+ i$4 = _i$4;
186731
+ v$4 = ((_i$4 < 0 || _i$4 >= _ref$5.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$5.$array[_ref$5.$offset + _i$4]);
186732
+ $clone(result, js.Value).SetIndex(i$4, new $Uint32(v$4));
186733
+ _i$4++;
186734
+ }
186735
+ $s = 10; continue;
186705
186736
  /* } else if ($assertType(_ref, sliceType$7, true)[1]) { */ case 7:
186706
186737
  s$7 = _ref.$val;
186707
- _r$21 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$7.$length, 4)))])); /* */ $s = 37; case 37: if($c) { $c = false; _r$21 = _r$21.$blk(); } if (_r$21 && _r$21.$blk !== undefined) { break s; }
186708
- a$6 = $clone(_r$21, js.Value);
186709
- _arg$10 = $clone(a$6, js.Value);
186710
- _r$22 = sliceToByteSlice(s$7); /* */ $s = 38; case 38: if($c) { $c = false; _r$22 = _r$22.$blk(); } if (_r$22 && _r$22.$blk !== undefined) { break s; }
186711
- _arg$11 = _r$22;
186712
- _r$23 = js.CopyBytesToJS(_arg$10, _arg$11); /* */ $s = 39; case 39: if($c) { $c = false; _r$23 = _r$23.$blk(); } if (_r$23 && _r$23.$blk !== undefined) { break s; }
186713
- _r$23;
186714
- runtime.KeepAlive(s$7);
186715
- buf$5 = $clone($clone(a$6, js.Value).Get("buffer"), js.Value);
186716
- _r$24 = $clone($clone(js.Global(), js.Value).Get("Float32Array"), js.Value).New(new sliceType([new buf$5.constructor.elem(buf$5), (x$6 = $clone(a$6, js.Value).Get("byteOffset"), new x$6.constructor.elem(x$6)), new $Int((_q$4 = $clone($clone(a$6, js.Value).Get("byteLength"), js.Value).Int() / 4, (_q$4 === _q$4 && _q$4 !== 1/0 && _q$4 !== -1/0) ? _q$4 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 40; case 40: if($c) { $c = false; _r$24 = _r$24.$blk(); } if (_r$24 && _r$24.$blk !== undefined) { break s; }
186717
- $24r$5 = _r$24;
186718
- $s = 41; case 41: return $24r$5;
186719
- /* } else if ($assertType(_ref, sliceType$13, true)[1]) { */ case 8:
186738
+ _r$6 = $clone($clone(js.Global(), js.Value).Get("Float32Array"), js.Value).New(new sliceType([new $Int(s$7.$length)])); /* */ $s = 17; case 17: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
186739
+ js.Value.copy(result, _r$6);
186740
+ _ref$6 = s$7;
186741
+ _i$5 = 0;
186742
+ while (true) {
186743
+ if (!(_i$5 < _ref$6.$length)) { break; }
186744
+ i$5 = _i$5;
186745
+ v$5 = ((_i$5 < 0 || _i$5 >= _ref$6.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$6.$array[_ref$6.$offset + _i$5]);
186746
+ $clone(result, js.Value).SetIndex(i$5, new $Float32(v$5));
186747
+ _i$5++;
186748
+ }
186749
+ $s = 10; continue;
186750
+ /* } else if ($assertType(_ref, sliceType$11, true)[1]) { */ case 8:
186720
186751
  s$8 = _ref.$val;
186721
- _r$25 = $clone($clone(js.Global(), js.Value).Get("Uint8Array"), js.Value).New(new sliceType([new $Int(($imul(s$8.$length, 8)))])); /* */ $s = 42; case 42: if($c) { $c = false; _r$25 = _r$25.$blk(); } if (_r$25 && _r$25.$blk !== undefined) { break s; }
186722
- a$7 = $clone(_r$25, js.Value);
186723
- _arg$12 = $clone(a$7, js.Value);
186724
- _r$26 = sliceToByteSlice(s$8); /* */ $s = 43; case 43: if($c) { $c = false; _r$26 = _r$26.$blk(); } if (_r$26 && _r$26.$blk !== undefined) { break s; }
186725
- _arg$13 = _r$26;
186726
- _r$27 = js.CopyBytesToJS(_arg$12, _arg$13); /* */ $s = 44; case 44: if($c) { $c = false; _r$27 = _r$27.$blk(); } if (_r$27 && _r$27.$blk !== undefined) { break s; }
186727
- _r$27;
186728
- runtime.KeepAlive(s$8);
186729
- buf$6 = $clone($clone(a$7, js.Value).Get("buffer"), js.Value);
186730
- _r$28 = $clone($clone(js.Global(), js.Value).Get("Float64Array"), js.Value).New(new sliceType([new buf$6.constructor.elem(buf$6), (x$7 = $clone(a$7, js.Value).Get("byteOffset"), new x$7.constructor.elem(x$7)), new $Int((_q$5 = $clone($clone(a$7, js.Value).Get("byteLength"), js.Value).Int() / 8, (_q$5 === _q$5 && _q$5 !== 1/0 && _q$5 !== -1/0) ? _q$5 >> 0 : $throwRuntimeError("integer divide by zero")))])); /* */ $s = 45; case 45: if($c) { $c = false; _r$28 = _r$28.$blk(); } if (_r$28 && _r$28.$blk !== undefined) { break s; }
186731
- $24r$6 = _r$28;
186732
- $s = 46; case 46: return $24r$6;
186752
+ _r$7 = $clone($clone(js.Global(), js.Value).Get("Float64Array"), js.Value).New(new sliceType([new $Int(s$8.$length)])); /* */ $s = 18; case 18: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
186753
+ js.Value.copy(result, _r$7);
186754
+ _ref$7 = s$8;
186755
+ _i$6 = 0;
186756
+ while (true) {
186757
+ if (!(_i$6 < _ref$7.$length)) { break; }
186758
+ i$6 = _i$6;
186759
+ v$6 = ((_i$6 < 0 || _i$6 >= _ref$7.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$7.$array[_ref$7.$offset + _i$6]);
186760
+ $clone(result, js.Value).SetIndex(i$6, new $Float64(v$6));
186761
+ _i$6++;
186762
+ }
186763
+ $s = 10; continue;
186733
186764
  /* } else { */ case 9:
186734
186765
  s$9 = _ref;
186735
- _r$29 = fmt.Sprintf("jsutil: unexpected value at SliceToTypedArray: %T", new sliceType([s$9])); /* */ $s = 47; case 47: if($c) { $c = false; _r$29 = _r$29.$blk(); } if (_r$29 && _r$29.$blk !== undefined) { break s; }
186736
- $panic(new $String(_r$29));
186766
+ _r$8 = fmt.Sprintf("jsutil: unexpected value at SliceToTypedArray: %T", new sliceType([s$9])); /* */ $s = 19; case 19: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
186767
+ $panic(new $String(_r$8));
186737
186768
  /* } */ case 10:
186738
- $s = -1; return new js.Value.ptr(null, false, arrayType.zero());
186739
- /* */ } return; } var $f = {$blk: TypedArrayOf, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, $24r$4, $24r$5, $24r$6, _arg, _arg$1, _arg$10, _arg$11, _arg$12, _arg$13, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _q, _q$1, _q$2, _q$3, _q$4, _q$5, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$24, _r$25, _r$26, _r$27, _r$28, _r$29, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, a, a$1, a$2, a$3, a$4, a$5, a$6, a$7, buf, buf$1, buf$2, buf$3, buf$4, buf$5, buf$6, s, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, $s};return $f;
186769
+ $s = -1; return result;
186770
+ /* */ } return; } var $f = {$blk: TypedArrayOf, $c: true, $r, _i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _ref$1, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, i, i$1, i$2, i$3, i$4, i$5, i$6, result, s, s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, v, v$1, v$2, v$3, v$4, v$5, v$6, $s};return $f;
186740
186771
  };
186741
186772
  $pkg.TypedArrayOf = TypedArrayOf;
186742
- ptrType.methods = [{prop: "GetJs", name: "GetJs", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "GetDrawingBufferWidth", name: "GetDrawingBufferWidth", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetDrawingBufferHeight", name: "GetDrawingBufferHeight", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetCanvas", name: "GetCanvas", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "ActiveTexture", name: "ActiveTexture", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "AttachShader", name: "AttachShader", pkg: "", typ: $funcType([ptrType$1, ptrType$6], [], false)}, {prop: "BindAttribLocation", name: "BindAttribLocation", pkg: "", typ: $funcType([ptrType$1, $Int, $String], [], false)}, {prop: "BindBuffer", name: "BindBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$2], [], false)}, {prop: "BindFrameBuffer", name: "BindFrameBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$3], [], false)}, {prop: "BindRenderBuffer", name: "BindRenderBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$4], [], false)}, {prop: "BindTexture", name: "BindTexture", pkg: "", typ: $funcType([types.GLEnum, ptrType$5], [], false)}, {prop: "BlendColor", name: "BlendColor", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "BlendEquation", name: "BlendEquation", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "BlendEquationSeparate", name: "BlendEquationSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "BlendFunc", name: "BlendFunc", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "BlendFuncSeparate", name: "BlendFuncSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "BufferDataBySize", name: "BufferDataBySize", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum], [], false)}, {prop: "BufferData", name: "BufferData", pkg: "", typ: $funcType([types.GLEnum, sliceType$7, types.GLEnum], [], false)}, {prop: "BufferDataI", name: "BufferDataI", pkg: "", typ: $funcType([types.GLEnum, sliceType$14, types.GLEnum], [], false)}, {prop: "BufferDataUI", name: "BufferDataUI", pkg: "", typ: $funcType([types.GLEnum, sliceType$6, types.GLEnum], [], false)}, {prop: "BufferDataUI16", name: "BufferDataUI16", pkg: "", typ: $funcType([types.GLEnum, sliceType$5, types.GLEnum], [], false)}, {prop: "BufferDataWithOffset", name: "BufferDataWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$7, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferDataIWithOffset", name: "BufferDataIWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$14, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferDataUIWithOffset", name: "BufferDataUIWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$15, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferSubData", name: "BufferSubData", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$7], [], false)}, {prop: "BufferSubDataI", name: "BufferSubDataI", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$14], [], false)}, {prop: "BufferSubDataUI", name: "BufferSubDataUI", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$15], [], false)}, {prop: "BufferSubDataWithOffset", name: "BufferSubDataWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$7, $Uint, $Uint], [], false)}, {prop: "BufferSubDataIWithOffset", name: "BufferSubDataIWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$14, $Uint, $Uint], [], false)}, {prop: "BufferSubDataUIWithOffset", name: "BufferSubDataUIWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$15, $Uint, $Uint], [], false)}, {prop: "CheckFrameBufferStatus", name: "CheckFrameBufferStatus", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "Clear", name: "Clear", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "ClearColor", name: "ClearColor", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "ClearDepth", name: "ClearDepth", pkg: "", typ: $funcType([$Float32], [], false)}, {prop: "ClearStencil", name: "ClearStencil", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "ColorMask", name: "ColorMask", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "Commit", name: "Commit", pkg: "", typ: $funcType([], [], false)}, {prop: "CompileShader", name: "CompileShader", pkg: "", typ: $funcType([ptrType$6], [], false)}, {prop: "CompressedTexImage2D", name: "CompressedTexImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage2DIn", name: "CompressedTexImage2DIn", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, sliceType$7], [], false)}, {prop: "CompressedTexImage2DOffset", name: "CompressedTexImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage2DFromOffset", name: "CompressedTexImage2DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, sliceType$7, $Int, $Int], [], false)}, {prop: "CompressedTexImage3DOffset", name: "CompressedTexImage3DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage3DFromOffset", name: "CompressedTexImage3DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, sliceType$7, $Int, $Int], [], false)}, {prop: "CompressedTexSubImage2D", name: "CompressedTexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum], [], false)}, {prop: "CompressedTexSubImage2DIn", name: "CompressedTexSubImage2DIn", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, sliceType$7], [], false)}, {prop: "CompressedTexSubImage2DFrom", name: "CompressedTexSubImage2DFrom", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, $Int, $Int], [], false)}, {prop: "CompressedTexSubImage2DFromOffset", name: "CompressedTexSubImage2DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, sliceType$7, $Int, $Int], [], false)}, {prop: "CopyTexImage2D", name: "CopyTexImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CopyTexSubImage2D", name: "CopyTexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CreateVertexArray", name: "CreateVertexArray", pkg: "", typ: $funcType([], [ptrType$18], false)}, {prop: "BindVertexArray", name: "BindVertexArray", pkg: "", typ: $funcType([ptrType$18], [], false)}, {prop: "CreateBuffer", name: "CreateBuffer", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "CreateFrameBuffer", name: "CreateFrameBuffer", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "CreateProgram", name: "CreateProgram", pkg: "", typ: $funcType([], [ptrType$1], false)}, {prop: "CreateRenderBuffer", name: "CreateRenderBuffer", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "CreateShader", name: "CreateShader", pkg: "", typ: $funcType([types.GLEnum], [ptrType$6], false)}, {prop: "CreateFragmentShader", name: "CreateFragmentShader", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "CreateVertexShader", name: "CreateVertexShader", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "CreateTexture", name: "CreateTexture", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "CullFace", name: "CullFace", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DeleteBuffer", name: "DeleteBuffer", pkg: "", typ: $funcType([ptrType$2], [], false)}, {prop: "DeleteFrameBuffer", name: "DeleteFrameBuffer", pkg: "", typ: $funcType([ptrType$3], [], false)}, {prop: "DeleteProgram", name: "DeleteProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "DeleteRenderBuffer", name: "DeleteRenderBuffer", pkg: "", typ: $funcType([ptrType$4], [], false)}, {prop: "DeleteShader", name: "DeleteShader", pkg: "", typ: $funcType([ptrType$6], [], false)}, {prop: "DeleteTexture", name: "DeleteTexture", pkg: "", typ: $funcType([ptrType$5], [], false)}, {prop: "DepthFunc", name: "DepthFunc", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DepthMask", name: "DepthMask", pkg: "", typ: $funcType([$Bool], [], false)}, {prop: "DepthRange", name: "DepthRange", pkg: "", typ: $funcType([$Float32, $Float32], [], false)}, {prop: "DetachShader", name: "DetachShader", pkg: "", typ: $funcType([ptrType$1, ptrType$6], [], false)}, {prop: "Disable", name: "Disable", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DisableVertexAttribArray", name: "DisableVertexAttribArray", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "DrawArrays", name: "DrawArrays", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int], [], false)}, {prop: "DrawElements", name: "DrawElements", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int64], [], false)}, {prop: "Enable", name: "Enable", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "EnableVertexAttribArray", name: "EnableVertexAttribArray", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "Finnish", name: "Finnish", pkg: "", typ: $funcType([], [], false)}, {prop: "Flush", name: "Flush", pkg: "", typ: $funcType([], [], false)}, {prop: "FrameBufferRenderbuffer", name: "FrameBufferRenderbuffer", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, ptrType$4], [], false)}, {prop: "FrameBufferTexture2D", name: "FrameBufferTexture2D", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, ptrType$5, $Int], [], false)}, {prop: "FrontFace", name: "FrontFace", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "GenerateMipmap", name: "GenerateMipmap", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "GetActiveAttrib", name: "GetActiveAttrib", pkg: "", typ: $funcType([ptrType$1, $Uint], [ptrType$19], false)}, {prop: "GetActiveUniform", name: "GetActiveUniform", pkg: "", typ: $funcType([ptrType$1, $Uint], [ptrType$19], false)}, {prop: "GetAttachedShaders", name: "GetAttachedShaders", pkg: "", typ: $funcType([ptrType$1], [sliceType$1], false)}, {prop: "GetAttribLocation", name: "GetAttribLocation", pkg: "", typ: $funcType([ptrType$1, $String], [$Int], false)}, {prop: "GetBufferParameter", name: "GetBufferParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [$Int], false)}, {prop: "GetContextAttributes", name: "GetContextAttributes", pkg: "", typ: $funcType([], [ptrType$7], false)}, {prop: "GetError", name: "GetError", pkg: "", typ: $funcType([], [$error], false)}, {prop: "GetExtension", name: "GetExtension", pkg: "", typ: $funcType([$String], [ptrType$20], false)}, {prop: "GetExtensionLoseContext", name: "GetExtensionLoseContext", pkg: "", typ: $funcType([], [ptrType$21], false)}, {prop: "GetFrameBufferAttachmentParameterInt", name: "GetFrameBufferAttachmentParameterInt", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [$Int], false)}, {prop: "GetFrameBufferAttachmentParameterEnum", name: "GetFrameBufferAttachmentParameterEnum", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [types.GLEnum], false)}, {prop: "GetFrameBufferAttachmentParameterRenderBuffer", name: "GetFrameBufferAttachmentParameterRenderBuffer", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [ptrType$4], false)}, {prop: "GetFrameBufferAttachmentParameterTexture", name: "GetFrameBufferAttachmentParameterTexture", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [ptrType$5], false)}, {prop: "GetParameter", name: "GetParameter", pkg: "", typ: $funcType([types.GLEnum], [js.Value], false)}, {prop: "GetParameterActiveTexture", name: "GetParameterActiveTexture", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterAliasedLineWidthRange", name: "GetParameterAliasedLineWidthRange", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterAliasedPointSizeRange", name: "GetParameterAliasedPointSizeRange", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterAlphaBits", name: "GetParameterAlphaBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterArrayBufferBinding", name: "GetParameterArrayBufferBinding", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "GetParameterBlend", name: "GetParameterBlend", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterBlendColor", name: "GetParameterBlendColor", pkg: "", typ: $funcType([], [arrayType$2], false)}, {prop: "GetParameterBlendDstAlpha", name: "GetParameterBlendDstAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendDstRgb", name: "GetParameterBlendDstRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquation", name: "GetParameterBlendEquation", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquationAlpha", name: "GetParameterBlendEquationAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquationRgb", name: "GetParameterBlendEquationRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendSrcAlpha", name: "GetParameterBlendSrcAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendSrcRgb", name: "GetParameterBlendSrcRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlueBits", name: "GetParameterBlueBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterColorClearValue", name: "GetParameterColorClearValue", pkg: "", typ: $funcType([], [arrayType$2], false)}, {prop: "GetParameterColorWritemask", name: "GetParameterColorWritemask", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetParameterCompressedTextureFormats", name: "GetParameterCompressedTextureFormats", pkg: "", typ: $funcType([], [sliceType$2], false)}, {prop: "GetParameterCullFace", name: "GetParameterCullFace", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterCullFaceMode", name: "GetParameterCullFaceMode", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterCurrentProgram", name: "GetParameterCurrentProgram", pkg: "", typ: $funcType([], [ptrType$1], false)}, {prop: "GetParameterDepthBits", name: "GetParameterDepthBits", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterDepthFunc", name: "GetParameterDepthFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterElementArrayBufferBinding", name: "GetParameterElementArrayBufferBinding", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "GetParameterFrameBufferBinding", name: "GetParameterFrameBufferBinding", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "GetParameterFrontFace", name: "GetParameterFrontFace", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterGenerateMipmapHint", name: "GetParameterGenerateMipmapHint", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterGreenBits", name: "GetParameterGreenBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterImplementationColorReadFormat", name: "GetParameterImplementationColorReadFormat", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterImplementationColorReadType", name: "GetParameterImplementationColorReadType", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterLineWidth", name: "GetParameterLineWidth", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterCombinedTextureImageUnits", name: "GetParameterCombinedTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxCubeMapTextureSize", name: "GetParameterMaxCubeMapTextureSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxFragmentUniformVectors", name: "GetParameterMaxFragmentUniformVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxRenderBufferSize", name: "GetParameterMaxRenderBufferSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxTextureImageUnits", name: "GetParameterMaxTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxTextureSize", name: "GetParameterMaxTextureSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVaryingVectors", name: "GetParameterMaxVaryingVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexAttribs", name: "GetParameterMaxVertexAttribs", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexTextureImageUnits", name: "GetParameterMaxVertexTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexUniformVectors", name: "GetParameterMaxVertexUniformVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxViewportDims", name: "GetParameterMaxViewportDims", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterPackAlignment", name: "GetParameterPackAlignment", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterPolygonOffsetFactor", name: "GetParameterPolygonOffsetFactor", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterPolygonOffsetFill", name: "GetParameterPolygonOffsetFill", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterPolygonOffsetUnits", name: "GetParameterPolygonOffsetUnits", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterRedBits", name: "GetParameterRedBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterRenderBufferBinding", name: "GetParameterRenderBufferBinding", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "GetParameterRenderer", name: "GetParameterRenderer", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterSampleBuffers", name: "GetParameterSampleBuffers", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterSampleCoverageInvert", name: "GetParameterSampleCoverageInvert", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterSampleCoverageValue", name: "GetParameterSampleCoverageValue", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterSamples", name: "GetParameterSamples", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterScissorBox", name: "GetParameterScissorBox", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetParameterScissorTest", name: "GetParameterScissorTest", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterShadingLanguageVersion", name: "GetParameterShadingLanguageVersion", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterStencilBackFail", name: "GetParameterStencilBackFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackFunc", name: "GetParameterStencilBackFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackPassDepthFail", name: "GetParameterStencilBackPassDepthFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackPassDepthPass", name: "GetParameterStencilBackPassDepthPass", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackRef", name: "GetParameterStencilBackRef", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilBackValueMask", name: "GetParameterStencilBackValueMask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilBackWritemask", name: "GetParameterStencilBackWritemask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilBits", name: "GetParameterStencilBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilClearValue", name: "GetParameterStencilClearValue", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilFail", name: "GetParameterStencilFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilFunc", name: "GetParameterStencilFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilPassDepthFail", name: "GetParameterStencilPassDepthFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilPassDepthPass", name: "GetParameterStencilPassDepthPass", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilRef", name: "GetParameterStencilRef", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilTest", name: "GetParameterStencilTest", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterStencilValueMask", name: "GetParameterStencilValueMask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilWritemask", name: "GetParameterStencilWritemask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterSubpixelBits", name: "GetParameterSubpixelBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterTextureBinding2D", name: "GetParameterTextureBinding2D", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "GetParameterTextureBindingCubeMap", name: "GetParameterTextureBindingCubeMap", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "GetParameterUnpackAlignment", name: "GetParameterUnpackAlignment", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterUnpackColorspaceConversionWebGL", name: "GetParameterUnpackColorspaceConversionWebGL", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterUnpackFlipYWebGL", name: "GetParameterUnpackFlipYWebGL", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterUnpackPremultiplyAlphaWebGL", name: "GetParameterUnpackPremultiplyAlphaWebGL", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterVendor", name: "GetParameterVendor", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterVersion", name: "GetParameterVersion", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterViewport", name: "GetParameterViewport", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetProgramInfoLog", name: "GetProgramInfoLog", pkg: "", typ: $funcType([ptrType$1], [$String], false)}, {prop: "GetProgramParameter", name: "GetProgramParameter", pkg: "", typ: $funcType([ptrType$1, types.GLEnum], [js.Value], false)}, {prop: "GetProgramParameterDeleteStatus", name: "GetProgramParameterDeleteStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterLinkStatus", name: "GetProgramParameterLinkStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterValidateStatus", name: "GetProgramParameterValidateStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterAttachedShaders", name: "GetProgramParameterAttachedShaders", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveAttributes", name: "GetProgramParameterActiveAttributes", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveUniforms", name: "GetProgramParameterActiveUniforms", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterTransformFeedbackBufferMode", name: "GetProgramParameterTransformFeedbackBufferMode", pkg: "", typ: $funcType([ptrType$1], [types.GLEnum], false)}, {prop: "GetProgramParameterTransformFeedbackVaryings", name: "GetProgramParameterTransformFeedbackVaryings", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveUniformBlocks", name: "GetProgramParameterActiveUniformBlocks", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetRenderbufferParameter", name: "GetRenderbufferParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [js.Value], false)}, {prop: "GetRenderbufferParameterRenderBufferWidth", name: "GetRenderbufferParameterRenderBufferWidth", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferHeight", name: "GetRenderbufferParameterRenderBufferHeight", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferInternalFormat", name: "GetRenderbufferParameterRenderBufferInternalFormat", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetRenderbufferParameterRenderBufferGreenSize", name: "GetRenderbufferParameterRenderBufferGreenSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferBlueSize", name: "GetRenderbufferParameterRenderBufferBlueSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferRedSize", name: "GetRenderbufferParameterRenderBufferRedSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferAlphaSize", name: "GetRenderbufferParameterRenderBufferAlphaSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferDepthSize", name: "GetRenderbufferParameterRenderBufferDepthSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferStencilSize", name: "GetRenderbufferParameterRenderBufferStencilSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferSamples", name: "GetRenderbufferParameterRenderBufferSamples", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetShaderInfoLog", name: "GetShaderInfoLog", pkg: "", typ: $funcType([ptrType$6], [$String], false)}, {prop: "GetShaderParameter", name: "GetShaderParameter", pkg: "", typ: $funcType([ptrType$6, types.GLEnum], [js.Value], false)}, {prop: "GetShaderParameterDeleteStatus", name: "GetShaderParameterDeleteStatus", pkg: "", typ: $funcType([ptrType$6], [$Bool], false)}, {prop: "GetShaderParameterCompileStatus", name: "GetShaderParameterCompileStatus", pkg: "", typ: $funcType([ptrType$6], [$Bool], false)}, {prop: "GetShaderParameterShaderType", name: "GetShaderParameterShaderType", pkg: "", typ: $funcType([ptrType$6], [types.GLEnum], false)}, {prop: "GetShaderPrecisionFormat", name: "GetShaderPrecisionFormat", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [ptrType$22], false)}, {prop: "GetShaderSource", name: "GetShaderSource", pkg: "", typ: $funcType([ptrType$6], [$String], false)}, {prop: "GetSupportedExtensions", name: "GetSupportedExtensions", pkg: "", typ: $funcType([], [sliceType$3], false)}, {prop: "GetTexParameter", name: "GetTexParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [js.Value], false)}, {prop: "GetTexParameterMagFilter", name: "GetTexParameterMagFilter", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterMinFilter", name: "GetTexParameterMinFilter", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterWrapS", name: "GetTexParameterWrapS", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterWrapT", name: "GetTexParameterWrapT", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterMaxAnisotropyExt", name: "GetTexParameterMaxAnisotropyExt", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterBaseLevel", name: "GetTexParameterBaseLevel", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetTexParameterCompareFunc", name: "GetTexParameterCompareFunc", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterCompareMode", name: "GetTexParameterCompareMode", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterImmutableFormat", name: "GetTexParameterImmutableFormat", pkg: "", typ: $funcType([types.GLEnum], [$Bool], false)}, {prop: "GetTexParameterImmutableLevels", name: "GetTexParameterImmutableLevels", pkg: "", typ: $funcType([types.GLEnum], [$Uint], false)}, {prop: "GetTexParameterMaxLever", name: "GetTexParameterMaxLever", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetTexParameterMaxLOD", name: "GetTexParameterMaxLOD", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterMinLOD", name: "GetTexParameterMinLOD", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterWrapR", name: "GetTexParameterWrapR", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetUniform", name: "GetUniform", pkg: "", typ: $funcType([ptrType$1, ptrType$23], [js.Value], false)}, {prop: "GetUniformLocation", name: "GetUniformLocation", pkg: "", typ: $funcType([ptrType$1, $String], [ptrType$23], false)}, {prop: "GetVertexAttrib", name: "GetVertexAttrib", pkg: "", typ: $funcType([$Int, types.GLEnum], [js.Value], false)}, {prop: "GetVertexAttribArrayBufferBinding", name: "GetVertexAttribArrayBufferBinding", pkg: "", typ: $funcType([$Int], [ptrType$2], false)}, {prop: "GetVertexAttribArrayBufferEnabled", name: "GetVertexAttribArrayBufferEnabled", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribArraySize", name: "GetVertexAttribArraySize", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayStride", name: "GetVertexAttribArrayStride", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayType", name: "GetVertexAttribArrayType", pkg: "", typ: $funcType([$Int], [types.GLEnum], false)}, {prop: "GetVertexAttribArrayNormalized", name: "GetVertexAttribArrayNormalized", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribCurrentVertexAttrib", name: "GetVertexAttribCurrentVertexAttrib", pkg: "", typ: $funcType([$Int], [arrayType$2], false)}, {prop: "GetVertexAttribArrayInteger", name: "GetVertexAttribArrayInteger", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribArrayDivisor", name: "GetVertexAttribArrayDivisor", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayDivisorAngle", name: "GetVertexAttribArrayDivisorAngle", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribOffset", name: "GetVertexAttribOffset", pkg: "", typ: $funcType([$Int, types.GLEnum], [$Int], false)}, {prop: "Hint", name: "Hint", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "IsBuffer", name: "IsBuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsContextLost", name: "IsContextLost", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "IsEnabled", name: "IsEnabled", pkg: "", typ: $funcType([types.GLEnum], [$Bool], false)}, {prop: "IsFrameBuffer", name: "IsFrameBuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsProgram", name: "IsProgram", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsRenderbuffer", name: "IsRenderbuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsShader", name: "IsShader", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsTexture", name: "IsTexture", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "LineWidth", name: "LineWidth", pkg: "", typ: $funcType([$Float32], [], false)}, {prop: "LinkProgram", name: "LinkProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "PixelStorei", name: "PixelStorei", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "PolygonOffset", name: "PolygonOffset", pkg: "", typ: $funcType([$Float32, $Float32], [], false)}, {prop: "ReadPixels", name: "ReadPixels", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, js.Value], [], false)}, {prop: "ReadPixelsOffset", name: "ReadPixelsOffset", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, js.Value, $Uint], [], false)}, {prop: "ReadPixelsOffsetPointer", name: "ReadPixelsOffsetPointer", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, $Int], [], false)}, {prop: "RenderbufferStorage", name: "RenderbufferStorage", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Int], [], false)}, {prop: "SampleCoverage", name: "SampleCoverage", pkg: "", typ: $funcType([$Float32, $Bool], [], false)}, {prop: "Scissor", name: "Scissor", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}, {prop: "ShaderSource", name: "ShaderSource", pkg: "", typ: $funcType([ptrType$6, $String], [], false)}, {prop: "StencilFunc", name: "StencilFunc", pkg: "", typ: $funcType([types.GLEnum, $Int, $Uint32], [], false)}, {prop: "StencilFuncSeparate", name: "StencilFuncSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Uint32], [], false)}, {prop: "StencilMask", name: "StencilMask", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "StencilMaskSeparate", name: "StencilMaskSeparate", pkg: "", typ: $funcType([types.GLEnum, $Uint32], [], false)}, {prop: "StencilOp", name: "StencilOp", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "StencilOpSeparate", name: "StencilOpSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "TexImage2Db", name: "TexImage2Db", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, sliceType$4], [], false)}, {prop: "TexImage2Dui16", name: "TexImage2Dui16", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$5], [], false)}, {prop: "TexImage2Dui32", name: "TexImage2Dui32", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$6], [], false)}, {prop: "TexImage2Df", name: "TexImage2Df", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, sliceType$7], [], false)}, {prop: "TexImage2DHtmlElement", name: "TexImage2DHtmlElement", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexImage2DOffset", name: "TexImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexImage2DHtmlElement2", name: "TexImage2DHtmlElement2", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexImage2D2", name: "TexImage2D2", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$7, $Int], [], false)}, {prop: "TexParameterf", name: "TexParameterf", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Float32], [], false)}, {prop: "TexParameteri", name: "TexParameteri", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "texParameterEnum", name: "texParameterEnum", pkg: "github.com/nuberu/webgl", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMagFilter", name: "TexParameterMagFilter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMinFilter", name: "TexParameterMinFilter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterWrapS", name: "TexParameterWrapS", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterWrapT", name: "TexParameterWrapT", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMaxAnisotropyExt", name: "TexParameterMaxAnisotropyExt", pkg: "", typ: $funcType([types.GLEnum, $Float32], [], false)}, {prop: "TexParameterBaseLevel", name: "TexParameterBaseLevel", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterCompareFunc", name: "TexParameterCompareFunc", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterCompareMode", name: "TexParameterCompareMode", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMaxLevel", name: "TexParameterMaxLevel", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterMaxLOD", name: "TexParameterMaxLOD", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterMinLOD", name: "TexParameterMinLOD", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterWrapR", name: "TexParameterWrapR", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexSubImage2D", name: "TexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexSubImage2DHtmlElement", name: "TexSubImage2DHtmlElement", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexSubImage2DOffset", name: "TexSubImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexSubImage2DOffset2", name: "TexSubImage2DOffset2", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexSubImage2DHtmlElement2", name: "TexSubImage2DHtmlElement2", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "Uniform1f", name: "Uniform1f", pkg: "", typ: $funcType([ptrType$23, $Float32], [], false)}, {prop: "Uniform1fv", name: "Uniform1fv", pkg: "", typ: $funcType([ptrType$23, sliceType$7], [], false)}, {prop: "Uniform1i", name: "Uniform1i", pkg: "", typ: $funcType([ptrType$23, $Int], [], false)}, {prop: "Uniform1iv", name: "Uniform1iv", pkg: "", typ: $funcType([ptrType$23, sliceType$14], [], false)}, {prop: "Uniform2f", name: "Uniform2f", pkg: "", typ: $funcType([ptrType$23, $Float32, $Float32], [], false)}, {prop: "Uniform2fv", name: "Uniform2fv", pkg: "", typ: $funcType([ptrType$23, sliceType$7], [], false)}, {prop: "Uniform2i", name: "Uniform2i", pkg: "", typ: $funcType([ptrType$23, $Int, $Int], [], false)}, {prop: "Uniform2iv", name: "Uniform2iv", pkg: "", typ: $funcType([ptrType$23, sliceType$14], [], false)}, {prop: "Uniform3f", name: "Uniform3f", pkg: "", typ: $funcType([ptrType$23, $Float32, $Float32, $Float32], [], false)}, {prop: "Uniform3fv", name: "Uniform3fv", pkg: "", typ: $funcType([ptrType$23, sliceType$7], [], false)}, {prop: "Uniform3i", name: "Uniform3i", pkg: "", typ: $funcType([ptrType$23, $Int, $Int, $Int], [], false)}, {prop: "Uniform3iv", name: "Uniform3iv", pkg: "", typ: $funcType([ptrType$23, sliceType$14], [], false)}, {prop: "Uniform4f", name: "Uniform4f", pkg: "", typ: $funcType([ptrType$23, $Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "Uniform4fv", name: "Uniform4fv", pkg: "", typ: $funcType([ptrType$23, sliceType$7], [], false)}, {prop: "Uniform4i", name: "Uniform4i", pkg: "", typ: $funcType([ptrType$23, $Int, $Int, $Int, $Int], [], false)}, {prop: "Uniform4iv", name: "Uniform4iv", pkg: "", typ: $funcType([ptrType$23, sliceType$14], [], false)}, {prop: "UniformMatrix2fv", name: "UniformMatrix2fv", pkg: "", typ: $funcType([ptrType$23, $Bool, sliceType$7], [], false)}, {prop: "UniformMatrix3fv", name: "UniformMatrix3fv", pkg: "", typ: $funcType([ptrType$23, $Bool, sliceType$7], [], false)}, {prop: "UniformMatrix4fv", name: "UniformMatrix4fv", pkg: "", typ: $funcType([ptrType$23, $Bool, sliceType$7], [], false)}, {prop: "UseProgram", name: "UseProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "ValidateProgram", name: "ValidateProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "VertexAttrib1f", name: "VertexAttrib1f", pkg: "", typ: $funcType([$Int, $Float32], [], false)}, {prop: "VertexAttrib2f", name: "VertexAttrib2f", pkg: "", typ: $funcType([$Int, $Float32, $Float32], [], false)}, {prop: "VertexAttrib3f", name: "VertexAttrib3f", pkg: "", typ: $funcType([$Int, $Float32, $Float32, $Float32], [], false)}, {prop: "VertexAttrib4f", name: "VertexAttrib4f", pkg: "", typ: $funcType([$Int, $Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "VertexAttrib1fv", name: "VertexAttrib1fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib2fv", name: "VertexAttrib2fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib3fv", name: "VertexAttrib3fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib4fv", name: "VertexAttrib4fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttribPointer", name: "VertexAttribPointer", pkg: "", typ: $funcType([$Int, $Int, types.GLEnum, $Bool, $Int, $Int], [], false)}, {prop: "Viewport", name: "Viewport", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}];
186773
+ ptrType.methods = [{prop: "GetJs", name: "GetJs", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "GetDrawingBufferWidth", name: "GetDrawingBufferWidth", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetDrawingBufferHeight", name: "GetDrawingBufferHeight", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetCanvas", name: "GetCanvas", pkg: "", typ: $funcType([], [js.Value], false)}, {prop: "ActiveTexture", name: "ActiveTexture", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "AttachShader", name: "AttachShader", pkg: "", typ: $funcType([ptrType$1, ptrType$6], [], false)}, {prop: "BindAttribLocation", name: "BindAttribLocation", pkg: "", typ: $funcType([ptrType$1, $Int, $String], [], false)}, {prop: "BindBuffer", name: "BindBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$2], [], false)}, {prop: "BindFrameBuffer", name: "BindFrameBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$3], [], false)}, {prop: "BindRenderBuffer", name: "BindRenderBuffer", pkg: "", typ: $funcType([types.GLEnum, ptrType$4], [], false)}, {prop: "BindTexture", name: "BindTexture", pkg: "", typ: $funcType([types.GLEnum, ptrType$5], [], false)}, {prop: "BlendColor", name: "BlendColor", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "BlendEquation", name: "BlendEquation", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "BlendEquationSeparate", name: "BlendEquationSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "BlendFunc", name: "BlendFunc", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "BlendFuncSeparate", name: "BlendFuncSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "BufferDataBySize", name: "BufferDataBySize", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum], [], false)}, {prop: "BufferData", name: "BufferData", pkg: "", typ: $funcType([types.GLEnum, sliceType$7, types.GLEnum], [], false)}, {prop: "BufferDataI", name: "BufferDataI", pkg: "", typ: $funcType([types.GLEnum, sliceType$12, types.GLEnum], [], false)}, {prop: "BufferDataUI", name: "BufferDataUI", pkg: "", typ: $funcType([types.GLEnum, sliceType$6, types.GLEnum], [], false)}, {prop: "BufferDataUI16", name: "BufferDataUI16", pkg: "", typ: $funcType([types.GLEnum, sliceType$5, types.GLEnum], [], false)}, {prop: "BufferDataWithOffset", name: "BufferDataWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$7, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferDataIWithOffset", name: "BufferDataIWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$12, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferDataUIWithOffset", name: "BufferDataUIWithOffset", pkg: "", typ: $funcType([types.GLEnum, sliceType$13, types.GLEnum, $Uint, $Uint], [], false)}, {prop: "BufferSubData", name: "BufferSubData", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$7], [], false)}, {prop: "BufferSubDataI", name: "BufferSubDataI", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$12], [], false)}, {prop: "BufferSubDataUI", name: "BufferSubDataUI", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$13], [], false)}, {prop: "BufferSubDataWithOffset", name: "BufferSubDataWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$7, $Uint, $Uint], [], false)}, {prop: "BufferSubDataIWithOffset", name: "BufferSubDataIWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$12, $Uint, $Uint], [], false)}, {prop: "BufferSubDataUIWithOffset", name: "BufferSubDataUIWithOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, sliceType$13, $Uint, $Uint], [], false)}, {prop: "CheckFrameBufferStatus", name: "CheckFrameBufferStatus", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "Clear", name: "Clear", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "ClearColor", name: "ClearColor", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "ClearDepth", name: "ClearDepth", pkg: "", typ: $funcType([$Float32], [], false)}, {prop: "ClearStencil", name: "ClearStencil", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "ColorMask", name: "ColorMask", pkg: "", typ: $funcType([$Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "Commit", name: "Commit", pkg: "", typ: $funcType([], [], false)}, {prop: "CompileShader", name: "CompileShader", pkg: "", typ: $funcType([ptrType$6], [], false)}, {prop: "CompressedTexImage2D", name: "CompressedTexImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage2DIn", name: "CompressedTexImage2DIn", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, sliceType$7], [], false)}, {prop: "CompressedTexImage2DOffset", name: "CompressedTexImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage2DFromOffset", name: "CompressedTexImage2DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, sliceType$7, $Int, $Int], [], false)}, {prop: "CompressedTexImage3DOffset", name: "CompressedTexImage3DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CompressedTexImage3DFromOffset", name: "CompressedTexImage3DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, sliceType$7, $Int, $Int], [], false)}, {prop: "CompressedTexSubImage2D", name: "CompressedTexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum], [], false)}, {prop: "CompressedTexSubImage2DIn", name: "CompressedTexSubImage2DIn", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, sliceType$7], [], false)}, {prop: "CompressedTexSubImage2DFrom", name: "CompressedTexSubImage2DFrom", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, $Int, $Int], [], false)}, {prop: "CompressedTexSubImage2DFromOffset", name: "CompressedTexSubImage2DFromOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, sliceType$7, $Int, $Int], [], false)}, {prop: "CopyTexImage2D", name: "CopyTexImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CopyTexSubImage2D", name: "CopyTexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, $Int, $Int], [], false)}, {prop: "CreateVertexArray", name: "CreateVertexArray", pkg: "", typ: $funcType([], [ptrType$8], false)}, {prop: "BindVertexArray", name: "BindVertexArray", pkg: "", typ: $funcType([ptrType$8], [], false)}, {prop: "CreateBuffer", name: "CreateBuffer", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "CreateFrameBuffer", name: "CreateFrameBuffer", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "CreateProgram", name: "CreateProgram", pkg: "", typ: $funcType([], [ptrType$1], false)}, {prop: "CreateRenderBuffer", name: "CreateRenderBuffer", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "CreateShader", name: "CreateShader", pkg: "", typ: $funcType([types.GLEnum], [ptrType$6], false)}, {prop: "CreateFragmentShader", name: "CreateFragmentShader", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "CreateVertexShader", name: "CreateVertexShader", pkg: "", typ: $funcType([], [ptrType$6], false)}, {prop: "CreateTexture", name: "CreateTexture", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "CullFace", name: "CullFace", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DeleteBuffer", name: "DeleteBuffer", pkg: "", typ: $funcType([ptrType$2], [], false)}, {prop: "DeleteFrameBuffer", name: "DeleteFrameBuffer", pkg: "", typ: $funcType([ptrType$3], [], false)}, {prop: "DeleteProgram", name: "DeleteProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "DeleteRenderBuffer", name: "DeleteRenderBuffer", pkg: "", typ: $funcType([ptrType$4], [], false)}, {prop: "DeleteShader", name: "DeleteShader", pkg: "", typ: $funcType([ptrType$6], [], false)}, {prop: "DeleteTexture", name: "DeleteTexture", pkg: "", typ: $funcType([ptrType$5], [], false)}, {prop: "DepthFunc", name: "DepthFunc", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DepthMask", name: "DepthMask", pkg: "", typ: $funcType([$Bool], [], false)}, {prop: "DepthRange", name: "DepthRange", pkg: "", typ: $funcType([$Float32, $Float32], [], false)}, {prop: "DetachShader", name: "DetachShader", pkg: "", typ: $funcType([ptrType$1, ptrType$6], [], false)}, {prop: "Disable", name: "Disable", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "DisableVertexAttribArray", name: "DisableVertexAttribArray", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "DrawArrays", name: "DrawArrays", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int], [], false)}, {prop: "DrawElements", name: "DrawElements", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int64], [], false)}, {prop: "Enable", name: "Enable", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "EnableVertexAttribArray", name: "EnableVertexAttribArray", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "Finnish", name: "Finnish", pkg: "", typ: $funcType([], [], false)}, {prop: "Flush", name: "Flush", pkg: "", typ: $funcType([], [], false)}, {prop: "FrameBufferRenderbuffer", name: "FrameBufferRenderbuffer", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, ptrType$4], [], false)}, {prop: "FrameBufferTexture2D", name: "FrameBufferTexture2D", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, ptrType$5, $Int], [], false)}, {prop: "FrontFace", name: "FrontFace", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "GenerateMipmap", name: "GenerateMipmap", pkg: "", typ: $funcType([types.GLEnum], [], false)}, {prop: "GetActiveAttrib", name: "GetActiveAttrib", pkg: "", typ: $funcType([ptrType$1, $Uint], [ptrType$9], false)}, {prop: "GetActiveUniform", name: "GetActiveUniform", pkg: "", typ: $funcType([ptrType$1, $Uint], [ptrType$9], false)}, {prop: "GetAttachedShaders", name: "GetAttachedShaders", pkg: "", typ: $funcType([ptrType$1], [sliceType$1], false)}, {prop: "GetAttribLocation", name: "GetAttribLocation", pkg: "", typ: $funcType([ptrType$1, $String], [$Int], false)}, {prop: "GetBufferParameter", name: "GetBufferParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [$Int], false)}, {prop: "GetContextAttributes", name: "GetContextAttributes", pkg: "", typ: $funcType([], [ptrType$7], false)}, {prop: "GetError", name: "GetError", pkg: "", typ: $funcType([], [$error], false)}, {prop: "GetExtension", name: "GetExtension", pkg: "", typ: $funcType([$String], [ptrType$10], false)}, {prop: "GetExtensionLoseContext", name: "GetExtensionLoseContext", pkg: "", typ: $funcType([], [ptrType$11], false)}, {prop: "GetFrameBufferAttachmentParameterInt", name: "GetFrameBufferAttachmentParameterInt", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [$Int], false)}, {prop: "GetFrameBufferAttachmentParameterEnum", name: "GetFrameBufferAttachmentParameterEnum", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [types.GLEnum], false)}, {prop: "GetFrameBufferAttachmentParameterRenderBuffer", name: "GetFrameBufferAttachmentParameterRenderBuffer", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [ptrType$4], false)}, {prop: "GetFrameBufferAttachmentParameterTexture", name: "GetFrameBufferAttachmentParameterTexture", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [ptrType$5], false)}, {prop: "GetParameter", name: "GetParameter", pkg: "", typ: $funcType([types.GLEnum], [js.Value], false)}, {prop: "GetParameterActiveTexture", name: "GetParameterActiveTexture", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterAliasedLineWidthRange", name: "GetParameterAliasedLineWidthRange", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterAliasedPointSizeRange", name: "GetParameterAliasedPointSizeRange", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterAlphaBits", name: "GetParameterAlphaBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterArrayBufferBinding", name: "GetParameterArrayBufferBinding", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "GetParameterBlend", name: "GetParameterBlend", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterBlendColor", name: "GetParameterBlendColor", pkg: "", typ: $funcType([], [arrayType$2], false)}, {prop: "GetParameterBlendDstAlpha", name: "GetParameterBlendDstAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendDstRgb", name: "GetParameterBlendDstRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquation", name: "GetParameterBlendEquation", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquationAlpha", name: "GetParameterBlendEquationAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendEquationRgb", name: "GetParameterBlendEquationRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendSrcAlpha", name: "GetParameterBlendSrcAlpha", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlendSrcRgb", name: "GetParameterBlendSrcRgb", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterBlueBits", name: "GetParameterBlueBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterColorClearValue", name: "GetParameterColorClearValue", pkg: "", typ: $funcType([], [arrayType$2], false)}, {prop: "GetParameterColorWritemask", name: "GetParameterColorWritemask", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetParameterCompressedTextureFormats", name: "GetParameterCompressedTextureFormats", pkg: "", typ: $funcType([], [sliceType$2], false)}, {prop: "GetParameterCullFace", name: "GetParameterCullFace", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterCullFaceMode", name: "GetParameterCullFaceMode", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterCurrentProgram", name: "GetParameterCurrentProgram", pkg: "", typ: $funcType([], [ptrType$1], false)}, {prop: "GetParameterDepthBits", name: "GetParameterDepthBits", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterDepthFunc", name: "GetParameterDepthFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterElementArrayBufferBinding", name: "GetParameterElementArrayBufferBinding", pkg: "", typ: $funcType([], [ptrType$2], false)}, {prop: "GetParameterFrameBufferBinding", name: "GetParameterFrameBufferBinding", pkg: "", typ: $funcType([], [ptrType$3], false)}, {prop: "GetParameterFrontFace", name: "GetParameterFrontFace", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterGenerateMipmapHint", name: "GetParameterGenerateMipmapHint", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterGreenBits", name: "GetParameterGreenBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterImplementationColorReadFormat", name: "GetParameterImplementationColorReadFormat", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterImplementationColorReadType", name: "GetParameterImplementationColorReadType", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterLineWidth", name: "GetParameterLineWidth", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterCombinedTextureImageUnits", name: "GetParameterCombinedTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxCubeMapTextureSize", name: "GetParameterMaxCubeMapTextureSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxFragmentUniformVectors", name: "GetParameterMaxFragmentUniformVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxRenderBufferSize", name: "GetParameterMaxRenderBufferSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxTextureImageUnits", name: "GetParameterMaxTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxTextureSize", name: "GetParameterMaxTextureSize", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVaryingVectors", name: "GetParameterMaxVaryingVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexAttribs", name: "GetParameterMaxVertexAttribs", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexTextureImageUnits", name: "GetParameterMaxVertexTextureImageUnits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxVertexUniformVectors", name: "GetParameterMaxVertexUniformVectors", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterMaxViewportDims", name: "GetParameterMaxViewportDims", pkg: "", typ: $funcType([], [arrayType$1], false)}, {prop: "GetParameterPackAlignment", name: "GetParameterPackAlignment", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterPolygonOffsetFactor", name: "GetParameterPolygonOffsetFactor", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterPolygonOffsetFill", name: "GetParameterPolygonOffsetFill", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterPolygonOffsetUnits", name: "GetParameterPolygonOffsetUnits", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterRedBits", name: "GetParameterRedBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterRenderBufferBinding", name: "GetParameterRenderBufferBinding", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "GetParameterRenderer", name: "GetParameterRenderer", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterSampleBuffers", name: "GetParameterSampleBuffers", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterSampleCoverageInvert", name: "GetParameterSampleCoverageInvert", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterSampleCoverageValue", name: "GetParameterSampleCoverageValue", pkg: "", typ: $funcType([], [$Float32], false)}, {prop: "GetParameterSamples", name: "GetParameterSamples", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterScissorBox", name: "GetParameterScissorBox", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetParameterScissorTest", name: "GetParameterScissorTest", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterShadingLanguageVersion", name: "GetParameterShadingLanguageVersion", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterStencilBackFail", name: "GetParameterStencilBackFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackFunc", name: "GetParameterStencilBackFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackPassDepthFail", name: "GetParameterStencilBackPassDepthFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackPassDepthPass", name: "GetParameterStencilBackPassDepthPass", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilBackRef", name: "GetParameterStencilBackRef", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilBackValueMask", name: "GetParameterStencilBackValueMask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilBackWritemask", name: "GetParameterStencilBackWritemask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilBits", name: "GetParameterStencilBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilClearValue", name: "GetParameterStencilClearValue", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilFail", name: "GetParameterStencilFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilFunc", name: "GetParameterStencilFunc", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilPassDepthFail", name: "GetParameterStencilPassDepthFail", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilPassDepthPass", name: "GetParameterStencilPassDepthPass", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterStencilRef", name: "GetParameterStencilRef", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterStencilTest", name: "GetParameterStencilTest", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterStencilValueMask", name: "GetParameterStencilValueMask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterStencilWritemask", name: "GetParameterStencilWritemask", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "GetParameterSubpixelBits", name: "GetParameterSubpixelBits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterTextureBinding2D", name: "GetParameterTextureBinding2D", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "GetParameterTextureBindingCubeMap", name: "GetParameterTextureBindingCubeMap", pkg: "", typ: $funcType([], [ptrType$5], false)}, {prop: "GetParameterUnpackAlignment", name: "GetParameterUnpackAlignment", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "GetParameterUnpackColorspaceConversionWebGL", name: "GetParameterUnpackColorspaceConversionWebGL", pkg: "", typ: $funcType([], [types.GLEnum], false)}, {prop: "GetParameterUnpackFlipYWebGL", name: "GetParameterUnpackFlipYWebGL", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterUnpackPremultiplyAlphaWebGL", name: "GetParameterUnpackPremultiplyAlphaWebGL", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "GetParameterVendor", name: "GetParameterVendor", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterVersion", name: "GetParameterVersion", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GetParameterViewport", name: "GetParameterViewport", pkg: "", typ: $funcType([], [arrayType$3], false)}, {prop: "GetProgramInfoLog", name: "GetProgramInfoLog", pkg: "", typ: $funcType([ptrType$1], [$String], false)}, {prop: "GetProgramParameter", name: "GetProgramParameter", pkg: "", typ: $funcType([ptrType$1, types.GLEnum], [js.Value], false)}, {prop: "GetProgramParameterDeleteStatus", name: "GetProgramParameterDeleteStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterLinkStatus", name: "GetProgramParameterLinkStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterValidateStatus", name: "GetProgramParameterValidateStatus", pkg: "", typ: $funcType([ptrType$1], [$Bool], false)}, {prop: "GetProgramParameterAttachedShaders", name: "GetProgramParameterAttachedShaders", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveAttributes", name: "GetProgramParameterActiveAttributes", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveUniforms", name: "GetProgramParameterActiveUniforms", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterTransformFeedbackBufferMode", name: "GetProgramParameterTransformFeedbackBufferMode", pkg: "", typ: $funcType([ptrType$1], [types.GLEnum], false)}, {prop: "GetProgramParameterTransformFeedbackVaryings", name: "GetProgramParameterTransformFeedbackVaryings", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetProgramParameterActiveUniformBlocks", name: "GetProgramParameterActiveUniformBlocks", pkg: "", typ: $funcType([ptrType$1], [$Int], false)}, {prop: "GetRenderbufferParameter", name: "GetRenderbufferParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [js.Value], false)}, {prop: "GetRenderbufferParameterRenderBufferWidth", name: "GetRenderbufferParameterRenderBufferWidth", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferHeight", name: "GetRenderbufferParameterRenderBufferHeight", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferInternalFormat", name: "GetRenderbufferParameterRenderBufferInternalFormat", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetRenderbufferParameterRenderBufferGreenSize", name: "GetRenderbufferParameterRenderBufferGreenSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferBlueSize", name: "GetRenderbufferParameterRenderBufferBlueSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferRedSize", name: "GetRenderbufferParameterRenderBufferRedSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferAlphaSize", name: "GetRenderbufferParameterRenderBufferAlphaSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferDepthSize", name: "GetRenderbufferParameterRenderBufferDepthSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferStencilSize", name: "GetRenderbufferParameterRenderBufferStencilSize", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetRenderbufferParameterRenderBufferSamples", name: "GetRenderbufferParameterRenderBufferSamples", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetShaderInfoLog", name: "GetShaderInfoLog", pkg: "", typ: $funcType([ptrType$6], [$String], false)}, {prop: "GetShaderParameter", name: "GetShaderParameter", pkg: "", typ: $funcType([ptrType$6, types.GLEnum], [js.Value], false)}, {prop: "GetShaderParameterDeleteStatus", name: "GetShaderParameterDeleteStatus", pkg: "", typ: $funcType([ptrType$6], [$Bool], false)}, {prop: "GetShaderParameterCompileStatus", name: "GetShaderParameterCompileStatus", pkg: "", typ: $funcType([ptrType$6], [$Bool], false)}, {prop: "GetShaderParameterShaderType", name: "GetShaderParameterShaderType", pkg: "", typ: $funcType([ptrType$6], [types.GLEnum], false)}, {prop: "GetShaderPrecisionFormat", name: "GetShaderPrecisionFormat", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [ptrType$12], false)}, {prop: "GetShaderSource", name: "GetShaderSource", pkg: "", typ: $funcType([ptrType$6], [$String], false)}, {prop: "GetSupportedExtensions", name: "GetSupportedExtensions", pkg: "", typ: $funcType([], [sliceType$3], false)}, {prop: "GetTexParameter", name: "GetTexParameter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [js.Value], false)}, {prop: "GetTexParameterMagFilter", name: "GetTexParameterMagFilter", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterMinFilter", name: "GetTexParameterMinFilter", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterWrapS", name: "GetTexParameterWrapS", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterWrapT", name: "GetTexParameterWrapT", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterMaxAnisotropyExt", name: "GetTexParameterMaxAnisotropyExt", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterBaseLevel", name: "GetTexParameterBaseLevel", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetTexParameterCompareFunc", name: "GetTexParameterCompareFunc", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterCompareMode", name: "GetTexParameterCompareMode", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetTexParameterImmutableFormat", name: "GetTexParameterImmutableFormat", pkg: "", typ: $funcType([types.GLEnum], [$Bool], false)}, {prop: "GetTexParameterImmutableLevels", name: "GetTexParameterImmutableLevels", pkg: "", typ: $funcType([types.GLEnum], [$Uint], false)}, {prop: "GetTexParameterMaxLever", name: "GetTexParameterMaxLever", pkg: "", typ: $funcType([types.GLEnum], [$Int], false)}, {prop: "GetTexParameterMaxLOD", name: "GetTexParameterMaxLOD", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterMinLOD", name: "GetTexParameterMinLOD", pkg: "", typ: $funcType([types.GLEnum], [$Float32], false)}, {prop: "GetTexParameterWrapR", name: "GetTexParameterWrapR", pkg: "", typ: $funcType([types.GLEnum], [types.GLEnum], false)}, {prop: "GetUniform", name: "GetUniform", pkg: "", typ: $funcType([ptrType$1, ptrType$13], [js.Value], false)}, {prop: "GetUniformLocation", name: "GetUniformLocation", pkg: "", typ: $funcType([ptrType$1, $String], [ptrType$13], false)}, {prop: "GetVertexAttrib", name: "GetVertexAttrib", pkg: "", typ: $funcType([$Int, types.GLEnum], [js.Value], false)}, {prop: "GetVertexAttribArrayBufferBinding", name: "GetVertexAttribArrayBufferBinding", pkg: "", typ: $funcType([$Int], [ptrType$2], false)}, {prop: "GetVertexAttribArrayBufferEnabled", name: "GetVertexAttribArrayBufferEnabled", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribArraySize", name: "GetVertexAttribArraySize", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayStride", name: "GetVertexAttribArrayStride", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayType", name: "GetVertexAttribArrayType", pkg: "", typ: $funcType([$Int], [types.GLEnum], false)}, {prop: "GetVertexAttribArrayNormalized", name: "GetVertexAttribArrayNormalized", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribCurrentVertexAttrib", name: "GetVertexAttribCurrentVertexAttrib", pkg: "", typ: $funcType([$Int], [arrayType$2], false)}, {prop: "GetVertexAttribArrayInteger", name: "GetVertexAttribArrayInteger", pkg: "", typ: $funcType([$Int], [$Bool], false)}, {prop: "GetVertexAttribArrayDivisor", name: "GetVertexAttribArrayDivisor", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribArrayDivisorAngle", name: "GetVertexAttribArrayDivisorAngle", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "GetVertexAttribOffset", name: "GetVertexAttribOffset", pkg: "", typ: $funcType([$Int, types.GLEnum], [$Int], false)}, {prop: "Hint", name: "Hint", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "IsBuffer", name: "IsBuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsContextLost", name: "IsContextLost", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "IsEnabled", name: "IsEnabled", pkg: "", typ: $funcType([types.GLEnum], [$Bool], false)}, {prop: "IsFrameBuffer", name: "IsFrameBuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsProgram", name: "IsProgram", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsRenderbuffer", name: "IsRenderbuffer", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsShader", name: "IsShader", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "IsTexture", name: "IsTexture", pkg: "", typ: $funcType([js.Value], [$Bool], false)}, {prop: "LineWidth", name: "LineWidth", pkg: "", typ: $funcType([$Float32], [], false)}, {prop: "LinkProgram", name: "LinkProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "PixelStorei", name: "PixelStorei", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "PolygonOffset", name: "PolygonOffset", pkg: "", typ: $funcType([$Float32, $Float32], [], false)}, {prop: "ReadPixels", name: "ReadPixels", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, js.Value], [], false)}, {prop: "ReadPixelsOffset", name: "ReadPixelsOffset", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, js.Value, $Uint], [], false)}, {prop: "ReadPixelsOffsetPointer", name: "ReadPixelsOffsetPointer", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int, types.GLEnum, $Int], [], false)}, {prop: "RenderbufferStorage", name: "RenderbufferStorage", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Int], [], false)}, {prop: "SampleCoverage", name: "SampleCoverage", pkg: "", typ: $funcType([$Float32, $Bool], [], false)}, {prop: "Scissor", name: "Scissor", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}, {prop: "ShaderSource", name: "ShaderSource", pkg: "", typ: $funcType([ptrType$6, $String], [], false)}, {prop: "StencilFunc", name: "StencilFunc", pkg: "", typ: $funcType([types.GLEnum, $Int, $Uint32], [], false)}, {prop: "StencilFuncSeparate", name: "StencilFuncSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int, $Uint32], [], false)}, {prop: "StencilMask", name: "StencilMask", pkg: "", typ: $funcType([$Uint32], [], false)}, {prop: "StencilMaskSeparate", name: "StencilMaskSeparate", pkg: "", typ: $funcType([types.GLEnum, $Uint32], [], false)}, {prop: "StencilOp", name: "StencilOp", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "StencilOpSeparate", name: "StencilOpSeparate", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "TexImage2Db", name: "TexImage2Db", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, sliceType$4], [], false)}, {prop: "TexImage2Dui16", name: "TexImage2Dui16", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$5], [], false)}, {prop: "TexImage2Dui32", name: "TexImage2Dui32", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$6], [], false)}, {prop: "TexImage2Df", name: "TexImage2Df", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, sliceType$7], [], false)}, {prop: "TexImage2DHtmlElement", name: "TexImage2DHtmlElement", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexImage2DOffset", name: "TexImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexImage2DHtmlElement2", name: "TexImage2DHtmlElement2", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexImage2D2", name: "TexImage2D2", pkg: "", typ: $funcType([types.GLEnum, $Int, types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, sliceType$7, $Int], [], false)}, {prop: "TexParameterf", name: "TexParameterf", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Float32], [], false)}, {prop: "TexParameteri", name: "TexParameteri", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "texParameterEnum", name: "texParameterEnum", pkg: "github.com/nuberu/webgl", typ: $funcType([types.GLEnum, types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMagFilter", name: "TexParameterMagFilter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMinFilter", name: "TexParameterMinFilter", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterWrapS", name: "TexParameterWrapS", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterWrapT", name: "TexParameterWrapT", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMaxAnisotropyExt", name: "TexParameterMaxAnisotropyExt", pkg: "", typ: $funcType([types.GLEnum, $Float32], [], false)}, {prop: "TexParameterBaseLevel", name: "TexParameterBaseLevel", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterCompareFunc", name: "TexParameterCompareFunc", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterCompareMode", name: "TexParameterCompareMode", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexParameterMaxLevel", name: "TexParameterMaxLevel", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterMaxLOD", name: "TexParameterMaxLOD", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterMinLOD", name: "TexParameterMinLOD", pkg: "", typ: $funcType([types.GLEnum, $Int], [], false)}, {prop: "TexParameterWrapR", name: "TexParameterWrapR", pkg: "", typ: $funcType([types.GLEnum, types.GLEnum], [], false)}, {prop: "TexSubImage2D", name: "TexSubImage2D", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexSubImage2DHtmlElement", name: "TexSubImage2DHtmlElement", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "TexSubImage2DOffset", name: "TexSubImage2DOffset", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexSubImage2DOffset2", name: "TexSubImage2DOffset2", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, $Int], [], false)}, {prop: "TexSubImage2DHtmlElement2", name: "TexSubImage2DHtmlElement2", pkg: "", typ: $funcType([types.GLEnum, $Int, $Int, $Int, $Int, $Int, types.GLEnum, types.GLEnum, js.Value], [], false)}, {prop: "Uniform1f", name: "Uniform1f", pkg: "", typ: $funcType([ptrType$13, $Float32], [], false)}, {prop: "Uniform1fv", name: "Uniform1fv", pkg: "", typ: $funcType([ptrType$13, sliceType$7], [], false)}, {prop: "Uniform1i", name: "Uniform1i", pkg: "", typ: $funcType([ptrType$13, $Int], [], false)}, {prop: "Uniform1iv", name: "Uniform1iv", pkg: "", typ: $funcType([ptrType$13, sliceType$12], [], false)}, {prop: "Uniform2f", name: "Uniform2f", pkg: "", typ: $funcType([ptrType$13, $Float32, $Float32], [], false)}, {prop: "Uniform2fv", name: "Uniform2fv", pkg: "", typ: $funcType([ptrType$13, sliceType$7], [], false)}, {prop: "Uniform2i", name: "Uniform2i", pkg: "", typ: $funcType([ptrType$13, $Int, $Int], [], false)}, {prop: "Uniform2iv", name: "Uniform2iv", pkg: "", typ: $funcType([ptrType$13, sliceType$12], [], false)}, {prop: "Uniform3f", name: "Uniform3f", pkg: "", typ: $funcType([ptrType$13, $Float32, $Float32, $Float32], [], false)}, {prop: "Uniform3fv", name: "Uniform3fv", pkg: "", typ: $funcType([ptrType$13, sliceType$7], [], false)}, {prop: "Uniform3i", name: "Uniform3i", pkg: "", typ: $funcType([ptrType$13, $Int, $Int, $Int], [], false)}, {prop: "Uniform3iv", name: "Uniform3iv", pkg: "", typ: $funcType([ptrType$13, sliceType$12], [], false)}, {prop: "Uniform4f", name: "Uniform4f", pkg: "", typ: $funcType([ptrType$13, $Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "Uniform4fv", name: "Uniform4fv", pkg: "", typ: $funcType([ptrType$13, sliceType$7], [], false)}, {prop: "Uniform4i", name: "Uniform4i", pkg: "", typ: $funcType([ptrType$13, $Int, $Int, $Int, $Int], [], false)}, {prop: "Uniform4iv", name: "Uniform4iv", pkg: "", typ: $funcType([ptrType$13, sliceType$12], [], false)}, {prop: "UniformMatrix2fv", name: "UniformMatrix2fv", pkg: "", typ: $funcType([ptrType$13, $Bool, sliceType$7], [], false)}, {prop: "UniformMatrix3fv", name: "UniformMatrix3fv", pkg: "", typ: $funcType([ptrType$13, $Bool, sliceType$7], [], false)}, {prop: "UniformMatrix4fv", name: "UniformMatrix4fv", pkg: "", typ: $funcType([ptrType$13, $Bool, sliceType$7], [], false)}, {prop: "UseProgram", name: "UseProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "ValidateProgram", name: "ValidateProgram", pkg: "", typ: $funcType([ptrType$1], [], false)}, {prop: "VertexAttrib1f", name: "VertexAttrib1f", pkg: "", typ: $funcType([$Int, $Float32], [], false)}, {prop: "VertexAttrib2f", name: "VertexAttrib2f", pkg: "", typ: $funcType([$Int, $Float32, $Float32], [], false)}, {prop: "VertexAttrib3f", name: "VertexAttrib3f", pkg: "", typ: $funcType([$Int, $Float32, $Float32, $Float32], [], false)}, {prop: "VertexAttrib4f", name: "VertexAttrib4f", pkg: "", typ: $funcType([$Int, $Float32, $Float32, $Float32, $Float32], [], false)}, {prop: "VertexAttrib1fv", name: "VertexAttrib1fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib2fv", name: "VertexAttrib2fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib3fv", name: "VertexAttrib3fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttrib4fv", name: "VertexAttrib4fv", pkg: "", typ: $funcType([$Int, sliceType$7], [], false)}, {prop: "VertexAttribPointer", name: "VertexAttribPointer", pkg: "", typ: $funcType([$Int, $Int, types.GLEnum, $Bool, $Int, $Int], [], false)}, {prop: "Viewport", name: "Viewport", pkg: "", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}];
186743
186774
  RenderingContext.init("github.com/nuberu/webgl", [{prop: "loaded", name: "loaded", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "js", name: "js", embedded: false, exported: false, typ: js.Value, tag: ""}, {prop: "version", name: "version", embedded: false, exported: false, typ: $Uint, tag: ""}]);
186744
186775
  $init = function() {
186745
186776
  $pkg.$init = function() {};
@@ -186748,469 +186779,8 @@ $packages["github.com/nuberu/webgl"] = (function() {
186748
186779
  $r = fmt.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186749
186780
  $r = extensions.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186750
186781
  $r = types.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186751
- $r = reflect.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186752
- $r = runtime.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186753
- $r = js.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186754
- /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
186755
- };
186756
- $pkg.$init = $init;
186757
- return $pkg;
186758
- })();
186759
- $packages["golang.org/x/exp/shiny/driver/internal/dom"] = (function() {
186760
- var $pkg = {}, $init, focus, key, mouse, size, geom, math, strings, js, DomEvents, sliceType, funcType, sliceType$1, sliceType$2, chanType, ptrType, keyCodesMap, keyCodesByKeyMap, GetDocWidth, GetDocHeight, GetScreenWidth, GetScreenHeight, GetBrowserZoomRatio, SetWindowWidth, SetWindowHeight, GetOrientation, NewDomEvents, getMouseDirection, getWheelButton, getMouseButton, getEventModifiers, isFocusIn, getKeyRune, getKeyDirection, getKeyCode;
186761
- focus = $packages["golang.org/x/mobile/event/focus"];
186762
- key = $packages["golang.org/x/mobile/event/key"];
186763
- mouse = $packages["golang.org/x/mobile/event/mouse"];
186764
- size = $packages["golang.org/x/mobile/event/size"];
186765
- geom = $packages["golang.org/x/mobile/geom"];
186766
- math = $packages["math"];
186767
- strings = $packages["strings"];
186768
- js = $packages["syscall/js"];
186769
- DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "golang.org/x/exp/shiny/driver/internal/dom", true, function(eventChan_, releases_) {
186770
- this.$val = this;
186771
- if (arguments.length === 0) {
186772
- this.eventChan = $chanNil;
186773
- this.releases = sliceType$1.nil;
186774
- return;
186775
- }
186776
- this.eventChan = eventChan_;
186777
- this.releases = releases_;
186778
- });
186779
- sliceType = $sliceType($emptyInterface);
186780
- funcType = $funcType([], [], false);
186781
- sliceType$1 = $sliceType(funcType);
186782
- sliceType$2 = $sliceType($Int32);
186783
- chanType = $chanType($emptyInterface, false, false);
186784
- ptrType = $ptrType(DomEvents);
186785
- GetDocWidth = function() {
186786
- return $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
186787
- };
186788
- $pkg.GetDocWidth = GetDocWidth;
186789
- GetDocHeight = function() {
186790
- return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
186791
- };
186792
- $pkg.GetDocHeight = GetDocHeight;
186793
- GetScreenWidth = function() {
186794
- return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("width"), js.Value).Int();
186795
- };
186796
- $pkg.GetScreenWidth = GetScreenWidth;
186797
- GetScreenHeight = function() {
186798
- return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("height"), js.Value).Int();
186799
- };
186800
- $pkg.GetScreenHeight = GetScreenHeight;
186801
- GetBrowserZoomRatio = function() {
186802
- var chromeZoom1, chromeZoom2, chromeZoom3, docElClientWidth, scrollerWidthInNoZoom, scrollerWidthInZoom1, scrollerWidthInZoom2, windowInnerWidth, windowOuterWidth;
186803
- windowInnerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Float();
186804
- windowOuterWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Float();
186805
- docElClientWidth = $clone($clone($clone($clone(js.Global(), js.Value).Get("document"), js.Value).Get("documentElement"), js.Value).Get("clientWidth"), js.Value).Float();
186806
- scrollerWidthInNoZoom = windowInnerWidth - docElClientWidth;
186807
- chromeZoom1 = (windowOuterWidth - scrollerWidthInNoZoom) / windowInnerWidth;
186808
- scrollerWidthInZoom1 = math.Round(scrollerWidthInNoZoom * chromeZoom1);
186809
- chromeZoom2 = (windowOuterWidth - scrollerWidthInZoom1) / windowInnerWidth;
186810
- scrollerWidthInZoom2 = math.Round(scrollerWidthInNoZoom * chromeZoom2);
186811
- chromeZoom3 = (windowOuterWidth - scrollerWidthInZoom2) / windowInnerWidth;
186812
- return chromeZoom3;
186813
- };
186814
- $pkg.GetBrowserZoomRatio = GetBrowserZoomRatio;
186815
- SetWindowWidth = function(newInnerWidth) {
186816
- var {_r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s, $r, $c} = $restore(this, {newInnerWidth});
186817
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186818
- innerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
186819
- outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
186820
- outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
186821
- newOuterWidth = newInnerWidth + ((outerWidth - innerWidth >> 0)) >> 0;
186822
- screenWidth = GetScreenWidth();
186823
- if (newOuterWidth > screenWidth) {
186824
- newOuterWidth = screenWidth;
186825
- }
186826
- _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(newOuterWidth), new $Int(outerHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186827
- _r;
186828
- $s = -1; return;
186829
- /* */ } return; } var $f = {$blk: SetWindowWidth, $c: true, $r, _r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s};return $f;
186830
- };
186831
- $pkg.SetWindowWidth = SetWindowWidth;
186832
- SetWindowHeight = function(newInnerHeight) {
186833
- var {_r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s, $r, $c} = $restore(this, {newInnerHeight});
186834
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186835
- innerHeight = $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
186836
- outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
186837
- outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
186838
- newOuterHeight = newInnerHeight + ((outerHeight - innerHeight >> 0)) >> 0;
186839
- screenHeight = GetScreenHeight();
186840
- if (newOuterHeight > screenHeight) {
186841
- newOuterHeight = screenHeight;
186842
- }
186843
- _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(outerWidth), new $Int(newOuterHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186844
- _r;
186845
- $s = -1; return;
186846
- /* */ } return; } var $f = {$blk: SetWindowHeight, $c: true, $r, _r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s};return $f;
186847
- };
186848
- $pkg.SetWindowHeight = SetWindowHeight;
186849
- GetOrientation = function() {
186850
- var {$24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred, $r, $c} = $restore(this, {});
186851
- /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
186852
- orientation = [orientation];
186853
- orientation[0] = 0;
186854
- $deferred.push([(function(orientation) { return function() {
186855
- if (!($interfaceIsEqual($recover(), $ifaceNil))) {
186856
- orientation[0] = 0;
186857
- }
186858
- }; })(orientation), []]);
186859
- orientationType = $clone($clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("orientation"), js.Value).Get("type"), js.Value).String();
186860
- /* */ if (strings.HasPrefix(orientationType, "landscape")) { $s = 1; continue; }
186861
- /* */ $s = 2; continue;
186862
- /* if (strings.HasPrefix(orientationType, "landscape")) { */ case 1:
186863
- orientation[0] = 2;
186864
- $24r = orientation[0];
186865
- $s = 3; case 3: return $24r;
186866
- /* } */ case 2:
186867
- /* */ if (strings.HasPrefix(orientationType, "portrait")) { $s = 4; continue; }
186868
- /* */ $s = 5; continue;
186869
- /* if (strings.HasPrefix(orientationType, "portrait")) { */ case 4:
186870
- orientation[0] = 2;
186871
- $24r$1 = orientation[0];
186872
- $s = 6; case 6: return $24r$1;
186873
- /* } */ case 5:
186874
- orientation[0] = 0;
186875
- $24r$2 = orientation[0];
186876
- $s = 7; case 7: return $24r$2;
186877
- /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return orientation[0]; } if($curGoroutine.asleep) { var $f = {$blk: GetOrientation, $c: true, $r, $24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred};return $f; } }
186878
- };
186879
- $pkg.GetOrientation = GetOrientation;
186880
- NewDomEvents = function() {
186881
- return new DomEvents.ptr(new $Chan($emptyInterface, 0), $makeSlice(sliceType$1, 0));
186882
- };
186883
- $pkg.NewDomEvents = NewDomEvents;
186884
- DomEvents.ptr.prototype.GetEventChan = function() {
186885
- var d;
186886
- d = this;
186887
- return d.eventChan;
186888
- };
186889
- DomEvents.prototype.GetEventChan = function() { return this.$val.GetEventChan(); };
186890
- DomEvents.ptr.prototype.Release = function() {
186891
- var {_i, _ref, d, release, $s, $r, $c} = $restore(this, {});
186892
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186893
- d = this;
186894
- _ref = d.releases;
186895
- _i = 0;
186896
- /* while (true) { */ case 1:
186897
- /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }
186898
- release = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
186899
- $r = release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186900
- _i++;
186901
- $s = 1; continue;
186902
- case 2:
186903
- $s = -1; return;
186904
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.Release, $c: true, $r, _i, _ref, d, release, $s};return $f;
186905
- };
186906
- DomEvents.prototype.Release = function() { return this.$val.Release(); };
186907
- DomEvents.ptr.prototype.BindEvents = function() {
186908
- var {d, $s, $r, $c} = $restore(this, {});
186909
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186910
- d = this;
186911
- $r = d.bindSizeEvents(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186912
- $go($methodVal(d, "emitSizeEvent"), []);
186913
- $r = d.bindMouseEvents(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186914
- $r = d.bindKeyEvents(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186915
- $r = d.bindFocusEvents(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186916
- $s = -1; return;
186917
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.BindEvents, $c: true, $r, d, $s};return $f;
186918
- };
186919
- DomEvents.prototype.BindEvents = function() { return this.$val.BindEvents(); };
186920
- DomEvents.ptr.prototype.bindSizeEvents = function() {
186921
- var {_r, d, onResize, $s, $r, $c} = $restore(this, {});
186922
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186923
- d = [d];
186924
- onResize = [onResize];
186925
- d[0] = this;
186926
- onResize[0] = $clone(js.FuncOf((function(d, onResize) { return function $b(this$1, args) {
186927
- var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
186928
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186929
- $r = d[0].emitSizeEvent(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186930
- $s = -1; return $ifaceNil;
186931
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
186932
- }; })(d, onResize)), js.Func);
186933
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186934
- _r;
186935
- d[0].releases = $append(d[0].releases, (function(d, onResize) { return function $b() {
186936
- var {_r$1, $s, $r, $c} = $restore(this, {});
186937
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186938
- _r$1 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186939
- _r$1;
186940
- $clone(onResize[0], js.Func).Release();
186941
- $s = -1; return;
186942
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, $s};return $f;
186943
- }; })(d, onResize));
186944
- $s = -1; return;
186945
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindSizeEvents, $c: true, $r, _r, d, onResize, $s};return $f;
186946
- };
186947
- DomEvents.prototype.bindSizeEvents = function() { return this.$val.bindSizeEvents(); };
186948
- DomEvents.ptr.prototype.emitSizeEvent = function() {
186949
- var {_q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s, $r, $c} = $restore(this, {});
186950
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186951
- d = this;
186952
- _r = GetOrientation(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186953
- orientation = _r;
186954
- pixelsPerPt = 1;
186955
- width = GetDocWidth();
186956
- height = GetDocHeight();
186957
- $r = $send(d.eventChan, (x = new size.Event.ptr(width, height, ((_q = width / ((pixelsPerPt >> 0)), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))), ((_q$1 = height / ((pixelsPerPt >> 0)), (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), pixelsPerPt, orientation), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186958
- $s = -1; return;
186959
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.emitSizeEvent, $c: true, $r, _q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s};return $f;
186960
- };
186961
- DomEvents.prototype.emitSizeEvent = function() { return this.$val.emitSizeEvent(); };
186962
- DomEvents.ptr.prototype.bindMouseEvents = function() {
186963
- var {_r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s, $r, $c} = $restore(this, {});
186964
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186965
- d = [d];
186966
- onClick = [onClick];
186967
- onMove = [onMove];
186968
- onWheel = [onWheel];
186969
- d[0] = this;
186970
- onMove[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
186971
- var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
186972
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186973
- _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186974
- _r;
186975
- $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), 0, getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 0), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186976
- $s = -1; return $ifaceNil;
186977
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
186978
- }; })(d, onClick, onMove, onWheel)), js.Func);
186979
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
186980
- _r;
186981
- onClick[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
186982
- var {_r$1, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
186983
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186984
- _r$1 = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186985
- _r$1;
186986
- $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getMouseButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getMouseDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186987
- $s = -1; return $ifaceNil;
186988
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, args, this$1, x, $s};return $f;
186989
- }; })(d, onClick, onMove, onWheel)), js.Func);
186990
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
186991
- _r$1;
186992
- _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
186993
- _r$2;
186994
- onWheel[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
186995
- var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
186996
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
186997
- $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getWheelButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 3), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186998
- $s = -1; return $ifaceNil;
186999
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
187000
- }; })(d, onClick, onMove, onWheel)), js.Func);
187001
- _r$3 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
187002
- _r$3;
187003
- d[0].releases = $append(d[0].releases, (function(d, onClick, onMove, onWheel) { return function $b() {
187004
- var {_r$4, _r$5, _r$6, _r$7, $s, $r, $c} = $restore(this, {});
187005
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187006
- _r$4 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
187007
- _r$4;
187008
- _r$5 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
187009
- _r$5;
187010
- _r$6 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
187011
- _r$6;
187012
- _r$7 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
187013
- _r$7;
187014
- $clone(onMove[0], js.Func).Release();
187015
- $clone(onClick[0], js.Func).Release();
187016
- $clone(onWheel[0], js.Func).Release();
187017
- $s = -1; return;
187018
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$4, _r$5, _r$6, _r$7, $s};return $f;
187019
- }; })(d, onClick, onMove, onWheel));
187020
- $s = -1; return;
187021
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindMouseEvents, $c: true, $r, _r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s};return $f;
187022
- };
187023
- DomEvents.prototype.bindMouseEvents = function() { return this.$val.bindMouseEvents(); };
187024
- getMouseDirection = function(ev) {
187025
- var dir, ev;
187026
- dir = 0;
187027
- dir = 0;
187028
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mousedown") {
187029
- dir = 1;
187030
- }
187031
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mouseup") {
187032
- dir = 2;
187033
- }
187034
- return dir;
187035
- };
187036
- getWheelButton = function(ev) {
187037
- var deltaX, deltaY, ev;
187038
- deltaY = $clone($clone(ev, js.Value).Get("deltaY"), js.Value).Int();
187039
- deltaX = $clone($clone(ev, js.Value).Get("deltaX"), js.Value).Int();
187040
- if (deltaY > 0) {
187041
- return -2;
187042
- }
187043
- if (deltaY < 0) {
187044
- return -1;
187045
- }
187046
- if (deltaX > 0) {
187047
- return -4;
187048
- }
187049
- if (deltaX < 0) {
187050
- return -3;
187051
- }
187052
- return 0;
187053
- };
187054
- getMouseButton = function(ev) {
187055
- var _1, ev;
187056
- _1 = $clone($clone(ev, js.Value).Get("button"), js.Value).Int();
187057
- if (_1 === (0)) {
187058
- return 1;
187059
- } else if (_1 === (1)) {
187060
- return 2;
187061
- } else if (_1 === (2)) {
187062
- return 3;
187063
- } else if (_1 === (3)) {
187064
- return 8;
187065
- } else if (_1 === (4)) {
187066
- return 9;
187067
- } else {
187068
- return 0;
187069
- }
187070
- };
187071
- getEventModifiers = function(ev) {
187072
- var ev, mod;
187073
- mod = 0;
187074
- if ($clone($clone(ev, js.Value).Get("altKey"), js.Value).Bool()) {
187075
- mod = (mod | (4)) >>> 0;
187076
- }
187077
- if ($clone($clone(ev, js.Value).Get("ctrlKey"), js.Value).Bool()) {
187078
- mod = (mod | (2)) >>> 0;
187079
- }
187080
- if ($clone($clone(ev, js.Value).Get("shiftKey"), js.Value).Bool()) {
187081
- mod = (mod | (1)) >>> 0;
187082
- }
187083
- if ($clone($clone(ev, js.Value).Get("metaKey"), js.Value).Bool()) {
187084
- mod = (mod | (8)) >>> 0;
187085
- }
187086
- return mod;
187087
- };
187088
- DomEvents.ptr.prototype.bindFocusEvents = function() {
187089
- var {_r, _r$1, d, onFocus, $s, $r, $c} = $restore(this, {});
187090
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187091
- d = [d];
187092
- onFocus = [onFocus];
187093
- d[0] = this;
187094
- onFocus[0] = $clone(js.FuncOf((function(d, onFocus) { return function $b(this$1, args) {
187095
- var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
187096
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187097
- $r = $send(d[0].eventChan, (x = new focus.Event.ptr(isFocusIn($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187098
- $s = -1; return $ifaceNil;
187099
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
187100
- }; })(d, onFocus)), js.Func);
187101
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
187102
- _r;
187103
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
187104
- _r$1;
187105
- d[0].releases = $append(d[0].releases, (function(d, onFocus) { return function $b() {
187106
- var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
187107
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187108
- _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
187109
- _r$2;
187110
- _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
187111
- _r$3;
187112
- $clone(onFocus[0], js.Func).Release();
187113
- $s = -1; return;
187114
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
187115
- }; })(d, onFocus));
187116
- $s = -1; return;
187117
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindFocusEvents, $c: true, $r, _r, _r$1, d, onFocus, $s};return $f;
187118
- };
187119
- DomEvents.prototype.bindFocusEvents = function() { return this.$val.bindFocusEvents(); };
187120
- isFocusIn = function(ev) {
187121
- var ev;
187122
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "focus") {
187123
- return true;
187124
- }
187125
- return false;
187126
- };
187127
- DomEvents.ptr.prototype.bindKeyEvents = function() {
187128
- var {_r, _r$1, d, onKey, $s, $r, $c} = $restore(this, {});
187129
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187130
- d = [d];
187131
- onKey = [onKey];
187132
- d[0] = this;
187133
- onKey[0] = $clone(js.FuncOf((function(d, onKey) { return function $b(this$1, args) {
187134
- var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
187135
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187136
- _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
187137
- _r;
187138
- $r = $send(d[0].eventChan, (x = new key.Event.ptr(getKeyRune($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyCode($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187139
- $s = -1; return $ifaceNil;
187140
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
187141
- }; })(d, onKey)), js.Func);
187142
- _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
187143
- _r;
187144
- _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
187145
- _r$1;
187146
- d[0].releases = $append(d[0].releases, (function(d, onKey) { return function $b() {
187147
- var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
187148
- /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
187149
- _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
187150
- _r$2;
187151
- _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
187152
- _r$3;
187153
- $clone(onKey[0], js.Func).Release();
187154
- $s = -1; return;
187155
- /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
187156
- }; })(d, onKey));
187157
- $s = -1; return;
187158
- /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindKeyEvents, $c: true, $r, _r, _r$1, d, onKey, $s};return $f;
187159
- };
187160
- DomEvents.prototype.bindKeyEvents = function() { return this.$val.bindKeyEvents(); };
187161
- getKeyRune = function(ev) {
187162
- var ev, key$1;
187163
- key$1 = (new sliceType$2($stringToRunes($clone($clone(ev, js.Value).Get("key"), js.Value).String())));
187164
- if (key$1.$length === 1) {
187165
- return (0 >= key$1.$length ? ($throwRuntimeError("index out of range"), undefined) : key$1.$array[key$1.$offset + 0]);
187166
- }
187167
- return -1;
187168
- };
187169
- getKeyDirection = function(ev) {
187170
- var dir, ev;
187171
- dir = 0;
187172
- dir = 0;
187173
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keydown") {
187174
- dir = 1;
187175
- }
187176
- if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keyup") {
187177
- dir = 2;
187178
- }
187179
- return dir;
187180
- };
187181
- getKeyCode = function(ev) {
187182
- var _entry, _entry$1, _tuple, _tuple$1, code, code$1, domCode, domKey, ev, exists, exists$1;
187183
- domCode = $clone($clone(ev, js.Value).Get("code"), js.Value).String();
187184
- _tuple = (_entry = $mapIndex(keyCodesMap,$String.keyFor(domCode)), _entry !== undefined ? [_entry.v, true] : [0, false]);
187185
- code = _tuple[0];
187186
- exists = _tuple[1];
187187
- if (exists) {
187188
- return code;
187189
- }
187190
- domKey = $clone($clone(ev, js.Value).Get("key"), js.Value).String();
187191
- _tuple$1 = (_entry$1 = $mapIndex(keyCodesByKeyMap,$String.keyFor(domKey)), _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
187192
- code$1 = _tuple$1[0];
187193
- exists$1 = _tuple$1[1];
187194
- if (exists$1) {
187195
- return code$1;
187196
- }
187197
- return 0;
187198
- };
187199
- ptrType.methods = [{prop: "GetEventChan", name: "GetEventChan", pkg: "", typ: $funcType([], [chanType], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "BindEvents", name: "BindEvents", pkg: "", typ: $funcType([], [], false)}, {prop: "bindSizeEvents", name: "bindSizeEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "emitSizeEvent", name: "emitSizeEvent", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "bindMouseEvents", name: "bindMouseEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "bindFocusEvents", name: "bindFocusEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}, {prop: "bindKeyEvents", name: "bindKeyEvents", pkg: "golang.org/x/exp/shiny/driver/internal/dom", typ: $funcType([], [], false)}];
187200
- DomEvents.init("golang.org/x/exp/shiny/driver/internal/dom", [{prop: "eventChan", name: "eventChan", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "releases", name: "releases", embedded: false, exported: false, typ: sliceType$1, tag: ""}]);
187201
- $init = function() {
187202
- $pkg.$init = function() {};
187203
- /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
187204
- $r = focus.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187205
- $r = key.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187206
- $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187207
- $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187208
- $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187209
- $r = math.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187210
- $r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187211
- $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187212
- keyCodesMap = $makeMap($String.keyFor, [{ k: "KeyA", v: 4 }, { k: "KeyB", v: 5 }, { k: "KeyC", v: 6 }, { k: "KeyD", v: 7 }, { k: "KeyE", v: 8 }, { k: "KeyF", v: 9 }, { k: "KeyG", v: 10 }, { k: "KeyH", v: 11 }, { k: "KeyI", v: 12 }, { k: "KeyJ", v: 13 }, { k: "KeyK", v: 14 }, { k: "KeyL", v: 15 }, { k: "KeyM", v: 16 }, { k: "KeyN", v: 17 }, { k: "KeyO", v: 18 }, { k: "KeyP", v: 19 }, { k: "KeyQ", v: 20 }, { k: "KeyR", v: 21 }, { k: "KeyS", v: 22 }, { k: "KeyT", v: 23 }, { k: "KeyU", v: 24 }, { k: "KeyV", v: 25 }, { k: "KeyW", v: 26 }, { k: "KeyX", v: 27 }, { k: "KeyY", v: 28 }, { k: "KeyZ", v: 29 }, { k: "Digit1", v: 30 }, { k: "Digit2", v: 31 }, { k: "Digit3", v: 32 }, { k: "Digit4", v: 33 }, { k: "Digit5", v: 34 }, { k: "Digit6", v: 35 }, { k: "Digit7", v: 36 }, { k: "Digit8", v: 37 }, { k: "Digit9", v: 38 }, { k: "Digit0", v: 39 }, { k: "Enter", v: 40 }, { k: "Escape", v: 41 }, { k: "Backspace", v: 42 }, { k: "Tab", v: 43 }, { k: "Space", v: 44 }, { k: "Minus", v: 45 }, { k: "Equal", v: 46 }, { k: "BracketLeft", v: 47 }, { k: "BracketRight", v: 48 }, { k: "Backslash", v: 49 }, { k: "Semicolon", v: 51 }, { k: "Quote", v: 52 }, { k: "Backquote", v: 53 }, { k: "Comma", v: 54 }, { k: "Period", v: 55 }, { k: "Slash", v: 56 }, { k: "CapsLock", v: 57 }, { k: "F1", v: 58 }, { k: "F2", v: 59 }, { k: "F3", v: 60 }, { k: "F4", v: 61 }, { k: "F5", v: 62 }, { k: "F6", v: 63 }, { k: "F7", v: 64 }, { k: "F8", v: 65 }, { k: "F9", v: 66 }, { k: "F10", v: 67 }, { k: "F11", v: 68 }, { k: "F12", v: 69 }, { k: "Pause", v: 72 }, { k: "Insert", v: 73 }, { k: "Home", v: 74 }, { k: "PageUp", v: 75 }, { k: "Delete", v: 76 }, { k: "End", v: 77 }, { k: "PageDown", v: 78 }, { k: "ArrowRight", v: 79 }, { k: "ArrowLeft", v: 80 }, { k: "ArrowDown", v: 81 }, { k: "ArrowUp", v: 82 }, { k: "NumLock", v: 83 }, { k: "NumpadDivide", v: 84 }, { k: "NumpadMultiply", v: 85 }, { k: "NumpadSubtract", v: 86 }, { k: "NumpadAdd", v: 87 }, { k: "NumpadEnter", v: 88 }, { k: "Numpad1", v: 89 }, { k: "Numpad2", v: 90 }, { k: "Numpad3", v: 91 }, { k: "Numpad4", v: 92 }, { k: "Numpad5", v: 93 }, { k: "Numpad6", v: 94 }, { k: "Numpad7", v: 95 }, { k: "Numpad8", v: 96 }, { k: "Numpad9", v: 97 }, { k: "Numpad0", v: 98 }, { k: "NumpadDecimal", v: 99 }, { k: "NumpadEqual", v: 103 }, { k: "F13", v: 104 }, { k: "F14", v: 105 }, { k: "F15", v: 106 }, { k: "F16", v: 107 }, { k: "F17", v: 108 }, { k: "F18", v: 109 }, { k: "F19", v: 110 }, { k: "F20", v: 111 }, { k: "F21", v: 112 }, { k: "F22", v: 113 }, { k: "F23", v: 114 }, { k: "F24", v: 115 }, { k: "Help", v: 117 }, { k: "ContextMenu", v: 118 }, { k: "VolumeMute", v: 127 }, { k: "VolumeUp", v: 128 }, { k: "VolumeDown", v: 129 }, { k: "ControlLeft", v: 224 }, { k: "ShiftLeft", v: 225 }, { k: "AltLeft", v: 226 }, { k: "MetaLeft", v: 227 }, { k: "ControlRight", v: 228 }, { k: "ShiftRight", v: 229 }, { k: "AltRight", v: 230 }, { k: "MetaRight", v: 231 }, { k: "PrintScreen", v: 0 }]);
187213
- keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
186782
+ $r = runtime.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
186783
+ $r = js.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
187214
186784
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
187215
186785
  };
187216
186786
  $pkg.$init = $init;
@@ -189297,6 +188867,466 @@ $packages["golang.org/x/exp/shiny/driver/internal/errscreen"] = (function() {
189297
188867
  $pkg.$init = $init;
189298
188868
  return $pkg;
189299
188869
  })();
188870
+ $packages["golang.org/x/exp/shiny/driver/util/dom"] = (function() {
188871
+ var $pkg = {}, $init, focus, key, mouse, size, geom, math, strings, js, DomEvents, sliceType, funcType, sliceType$1, sliceType$2, chanType, ptrType, keyCodesMap, keyCodesByKeyMap, GetDocWidth, GetDocHeight, GetScreenWidth, GetScreenHeight, GetBrowserZoomRatio, SetWindowWidth, SetWindowHeight, GetOrientation, NewDomEvents, getMouseDirection, getWheelButton, getMouseButton, getEventModifiers, isFocusIn, getKeyRune, getKeyDirection, getKeyCode;
188872
+ focus = $packages["golang.org/x/mobile/event/focus"];
188873
+ key = $packages["golang.org/x/mobile/event/key"];
188874
+ mouse = $packages["golang.org/x/mobile/event/mouse"];
188875
+ size = $packages["golang.org/x/mobile/event/size"];
188876
+ geom = $packages["golang.org/x/mobile/geom"];
188877
+ math = $packages["math"];
188878
+ strings = $packages["strings"];
188879
+ js = $packages["syscall/js"];
188880
+ DomEvents = $pkg.DomEvents = $newType(0, $kindStruct, "dom.DomEvents", true, "golang.org/x/exp/shiny/driver/util/dom", true, function(eventChan_, releases_) {
188881
+ this.$val = this;
188882
+ if (arguments.length === 0) {
188883
+ this.eventChan = $chanNil;
188884
+ this.releases = sliceType$1.nil;
188885
+ return;
188886
+ }
188887
+ this.eventChan = eventChan_;
188888
+ this.releases = releases_;
188889
+ });
188890
+ sliceType = $sliceType($emptyInterface);
188891
+ funcType = $funcType([], [], false);
188892
+ sliceType$1 = $sliceType(funcType);
188893
+ sliceType$2 = $sliceType($Int32);
188894
+ chanType = $chanType($emptyInterface, false, false);
188895
+ ptrType = $ptrType(DomEvents);
188896
+ GetDocWidth = function() {
188897
+ return $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
188898
+ };
188899
+ $pkg.GetDocWidth = GetDocWidth;
188900
+ GetDocHeight = function() {
188901
+ return $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
188902
+ };
188903
+ $pkg.GetDocHeight = GetDocHeight;
188904
+ GetScreenWidth = function() {
188905
+ return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("width"), js.Value).Int();
188906
+ };
188907
+ $pkg.GetScreenWidth = GetScreenWidth;
188908
+ GetScreenHeight = function() {
188909
+ return $clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("height"), js.Value).Int();
188910
+ };
188911
+ $pkg.GetScreenHeight = GetScreenHeight;
188912
+ GetBrowserZoomRatio = function() {
188913
+ var chromeZoom1, chromeZoom2, chromeZoom3, docElClientWidth, scrollerWidthInNoZoom, scrollerWidthInZoom1, scrollerWidthInZoom2, windowInnerWidth, windowOuterWidth;
188914
+ windowInnerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Float();
188915
+ windowOuterWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Float();
188916
+ docElClientWidth = $clone($clone($clone($clone(js.Global(), js.Value).Get("document"), js.Value).Get("documentElement"), js.Value).Get("clientWidth"), js.Value).Float();
188917
+ scrollerWidthInNoZoom = windowInnerWidth - docElClientWidth;
188918
+ chromeZoom1 = (windowOuterWidth - scrollerWidthInNoZoom) / windowInnerWidth;
188919
+ scrollerWidthInZoom1 = math.Round(scrollerWidthInNoZoom * chromeZoom1);
188920
+ chromeZoom2 = (windowOuterWidth - scrollerWidthInZoom1) / windowInnerWidth;
188921
+ scrollerWidthInZoom2 = math.Round(scrollerWidthInNoZoom * chromeZoom2);
188922
+ chromeZoom3 = (windowOuterWidth - scrollerWidthInZoom2) / windowInnerWidth;
188923
+ return chromeZoom3;
188924
+ };
188925
+ $pkg.GetBrowserZoomRatio = GetBrowserZoomRatio;
188926
+ SetWindowWidth = function(newInnerWidth) {
188927
+ var {_r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s, $r, $c} = $restore(this, {newInnerWidth});
188928
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188929
+ innerWidth = $clone($clone(js.Global(), js.Value).Get("innerWidth"), js.Value).Int();
188930
+ outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
188931
+ outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
188932
+ newOuterWidth = newInnerWidth + ((outerWidth - innerWidth >> 0)) >> 0;
188933
+ screenWidth = GetScreenWidth();
188934
+ if (newOuterWidth > screenWidth) {
188935
+ newOuterWidth = screenWidth;
188936
+ }
188937
+ _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(newOuterWidth), new $Int(outerHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188938
+ _r;
188939
+ $s = -1; return;
188940
+ /* */ } return; } var $f = {$blk: SetWindowWidth, $c: true, $r, _r, innerWidth, newInnerWidth, newOuterWidth, outerHeight, outerWidth, screenWidth, $s};return $f;
188941
+ };
188942
+ $pkg.SetWindowWidth = SetWindowWidth;
188943
+ SetWindowHeight = function(newInnerHeight) {
188944
+ var {_r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s, $r, $c} = $restore(this, {newInnerHeight});
188945
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
188946
+ innerHeight = $clone($clone(js.Global(), js.Value).Get("innerHeight"), js.Value).Int();
188947
+ outerHeight = $clone($clone(js.Global(), js.Value).Get("outerHeight"), js.Value).Int();
188948
+ outerWidth = $clone($clone(js.Global(), js.Value).Get("outerWidth"), js.Value).Int();
188949
+ newOuterHeight = newInnerHeight + ((outerHeight - innerHeight >> 0)) >> 0;
188950
+ screenHeight = GetScreenHeight();
188951
+ if (newOuterHeight > screenHeight) {
188952
+ newOuterHeight = screenHeight;
188953
+ }
188954
+ _r = $clone(js.Global(), js.Value).Call("resizeTo", new sliceType([new $Int(outerWidth), new $Int(newOuterHeight)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
188955
+ _r;
188956
+ $s = -1; return;
188957
+ /* */ } return; } var $f = {$blk: SetWindowHeight, $c: true, $r, _r, innerHeight, newInnerHeight, newOuterHeight, outerHeight, outerWidth, screenHeight, $s};return $f;
188958
+ };
188959
+ $pkg.SetWindowHeight = SetWindowHeight;
188960
+ GetOrientation = function() {
188961
+ var {$24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred, $r, $c} = $restore(this, {});
188962
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
188963
+ orientation = [orientation];
188964
+ orientation[0] = 0;
188965
+ $deferred.push([(function(orientation) { return function() {
188966
+ if (!($interfaceIsEqual($recover(), $ifaceNil))) {
188967
+ orientation[0] = 0;
188968
+ }
188969
+ }; })(orientation), []]);
188970
+ orientationType = $clone($clone($clone($clone(js.Global(), js.Value).Get("screen"), js.Value).Get("orientation"), js.Value).Get("type"), js.Value).String();
188971
+ /* */ if (strings.HasPrefix(orientationType, "landscape")) { $s = 1; continue; }
188972
+ /* */ $s = 2; continue;
188973
+ /* if (strings.HasPrefix(orientationType, "landscape")) { */ case 1:
188974
+ orientation[0] = 2;
188975
+ $24r = orientation[0];
188976
+ $s = 3; case 3: return $24r;
188977
+ /* } */ case 2:
188978
+ /* */ if (strings.HasPrefix(orientationType, "portrait")) { $s = 4; continue; }
188979
+ /* */ $s = 5; continue;
188980
+ /* if (strings.HasPrefix(orientationType, "portrait")) { */ case 4:
188981
+ orientation[0] = 2;
188982
+ $24r$1 = orientation[0];
188983
+ $s = 6; case 6: return $24r$1;
188984
+ /* } */ case 5:
188985
+ orientation[0] = 0;
188986
+ $24r$2 = orientation[0];
188987
+ $s = 7; case 7: return $24r$2;
188988
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return orientation[0]; } if($curGoroutine.asleep) { var $f = {$blk: GetOrientation, $c: true, $r, $24r, $24r$1, $24r$2, orientation, orientationType, $s, $deferred};return $f; } }
188989
+ };
188990
+ $pkg.GetOrientation = GetOrientation;
188991
+ NewDomEvents = function() {
188992
+ return new DomEvents.ptr(new $Chan($emptyInterface, 0), $makeSlice(sliceType$1, 0));
188993
+ };
188994
+ $pkg.NewDomEvents = NewDomEvents;
188995
+ DomEvents.ptr.prototype.GetEventChan = function() {
188996
+ var d;
188997
+ d = this;
188998
+ return d.eventChan;
188999
+ };
189000
+ DomEvents.prototype.GetEventChan = function() { return this.$val.GetEventChan(); };
189001
+ DomEvents.ptr.prototype.Release = function() {
189002
+ var {_i, _ref, d, release, $s, $r, $c} = $restore(this, {});
189003
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189004
+ d = this;
189005
+ _ref = d.releases;
189006
+ _i = 0;
189007
+ /* while (true) { */ case 1:
189008
+ /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }
189009
+ release = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
189010
+ $r = release(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189011
+ _i++;
189012
+ $s = 1; continue;
189013
+ case 2:
189014
+ $s = -1; return;
189015
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.Release, $c: true, $r, _i, _ref, d, release, $s};return $f;
189016
+ };
189017
+ DomEvents.prototype.Release = function() { return this.$val.Release(); };
189018
+ DomEvents.ptr.prototype.BindEvents = function() {
189019
+ var {d, $s, $r, $c} = $restore(this, {});
189020
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189021
+ d = this;
189022
+ $r = d.bindSizeEvents(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189023
+ $go($methodVal(d, "emitSizeEvent"), []);
189024
+ $r = d.bindMouseEvents(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189025
+ $r = d.bindKeyEvents(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189026
+ $r = d.bindFocusEvents(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189027
+ $s = -1; return;
189028
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.BindEvents, $c: true, $r, d, $s};return $f;
189029
+ };
189030
+ DomEvents.prototype.BindEvents = function() { return this.$val.BindEvents(); };
189031
+ DomEvents.ptr.prototype.bindSizeEvents = function() {
189032
+ var {_r, d, onResize, $s, $r, $c} = $restore(this, {});
189033
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189034
+ d = [d];
189035
+ onResize = [onResize];
189036
+ d[0] = this;
189037
+ onResize[0] = $clone(js.FuncOf((function(d, onResize) { return function $b(this$1, args) {
189038
+ var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
189039
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189040
+ $r = d[0].emitSizeEvent(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189041
+ $s = -1; return $ifaceNil;
189042
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
189043
+ }; })(d, onResize)), js.Func);
189044
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189045
+ _r;
189046
+ d[0].releases = $append(d[0].releases, (function(d, onResize) { return function $b() {
189047
+ var {_r$1, $s, $r, $c} = $restore(this, {});
189048
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189049
+ _r$1 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("resize"), new onResize[0].constructor.elem(onResize[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
189050
+ _r$1;
189051
+ $clone(onResize[0], js.Func).Release();
189052
+ $s = -1; return;
189053
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, $s};return $f;
189054
+ }; })(d, onResize));
189055
+ $s = -1; return;
189056
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindSizeEvents, $c: true, $r, _r, d, onResize, $s};return $f;
189057
+ };
189058
+ DomEvents.prototype.bindSizeEvents = function() { return this.$val.bindSizeEvents(); };
189059
+ DomEvents.ptr.prototype.emitSizeEvent = function() {
189060
+ var {_q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s, $r, $c} = $restore(this, {});
189061
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189062
+ d = this;
189063
+ _r = GetOrientation(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189064
+ orientation = _r;
189065
+ pixelsPerPt = 1;
189066
+ width = GetDocWidth();
189067
+ height = GetDocHeight();
189068
+ $r = $send(d.eventChan, (x = new size.Event.ptr(width, height, ((_q = width / ((pixelsPerPt >> 0)), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))), ((_q$1 = height / ((pixelsPerPt >> 0)), (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero"))), pixelsPerPt, orientation), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189069
+ $s = -1; return;
189070
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.emitSizeEvent, $c: true, $r, _q, _q$1, _r, d, height, orientation, pixelsPerPt, width, x, $s};return $f;
189071
+ };
189072
+ DomEvents.prototype.emitSizeEvent = function() { return this.$val.emitSizeEvent(); };
189073
+ DomEvents.ptr.prototype.bindMouseEvents = function() {
189074
+ var {_r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s, $r, $c} = $restore(this, {});
189075
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189076
+ d = [d];
189077
+ onClick = [onClick];
189078
+ onMove = [onMove];
189079
+ onWheel = [onWheel];
189080
+ d[0] = this;
189081
+ onMove[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
189082
+ var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189083
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189084
+ _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189085
+ _r;
189086
+ $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), 0, getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 0), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189087
+ $s = -1; return $ifaceNil;
189088
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
189089
+ }; })(d, onClick, onMove, onWheel)), js.Func);
189090
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189091
+ _r;
189092
+ onClick[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
189093
+ var {_r$1, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189094
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189095
+ _r$1 = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
189096
+ _r$1;
189097
+ $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getMouseButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getMouseDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189098
+ $s = -1; return $ifaceNil;
189099
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$1, args, this$1, x, $s};return $f;
189100
+ }; })(d, onClick, onMove, onWheel)), js.Func);
189101
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
189102
+ _r$1;
189103
+ _r$2 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
189104
+ _r$2;
189105
+ onWheel[0] = $clone(js.FuncOf((function(d, onClick, onMove, onWheel) { return function $b(this$1, args) {
189106
+ var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189107
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189108
+ $r = $send(d[0].eventChan, (x = new mouse.Event.ptr(($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetX"), js.Value).Float())), ($fround($clone($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Get("offsetY"), js.Value).Float())), getWheelButton($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), 3), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189109
+ $s = -1; return $ifaceNil;
189110
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
189111
+ }; })(d, onClick, onMove, onWheel)), js.Func);
189112
+ _r$3 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
189113
+ _r$3;
189114
+ d[0].releases = $append(d[0].releases, (function(d, onClick, onMove, onWheel) { return function $b() {
189115
+ var {_r$4, _r$5, _r$6, _r$7, $s, $r, $c} = $restore(this, {});
189116
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189117
+ _r$4 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mousemove"), new onMove[0].constructor.elem(onMove[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
189118
+ _r$4;
189119
+ _r$5 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mousedown"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
189120
+ _r$5;
189121
+ _r$6 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("mouseup"), new onClick[0].constructor.elem(onClick[0])])); /* */ $s = 3; case 3: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
189122
+ _r$6;
189123
+ _r$7 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("wheel"), new onWheel[0].constructor.elem(onWheel[0])])); /* */ $s = 4; case 4: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
189124
+ _r$7;
189125
+ $clone(onMove[0], js.Func).Release();
189126
+ $clone(onClick[0], js.Func).Release();
189127
+ $clone(onWheel[0], js.Func).Release();
189128
+ $s = -1; return;
189129
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$4, _r$5, _r$6, _r$7, $s};return $f;
189130
+ }; })(d, onClick, onMove, onWheel));
189131
+ $s = -1; return;
189132
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindMouseEvents, $c: true, $r, _r, _r$1, _r$2, _r$3, d, onClick, onMove, onWheel, $s};return $f;
189133
+ };
189134
+ DomEvents.prototype.bindMouseEvents = function() { return this.$val.bindMouseEvents(); };
189135
+ getMouseDirection = function(ev) {
189136
+ var dir, ev;
189137
+ dir = 0;
189138
+ dir = 0;
189139
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mousedown") {
189140
+ dir = 1;
189141
+ }
189142
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "mouseup") {
189143
+ dir = 2;
189144
+ }
189145
+ return dir;
189146
+ };
189147
+ getWheelButton = function(ev) {
189148
+ var deltaX, deltaY, ev;
189149
+ deltaY = $clone($clone(ev, js.Value).Get("deltaY"), js.Value).Int();
189150
+ deltaX = $clone($clone(ev, js.Value).Get("deltaX"), js.Value).Int();
189151
+ if (deltaY > 0) {
189152
+ return -2;
189153
+ }
189154
+ if (deltaY < 0) {
189155
+ return -1;
189156
+ }
189157
+ if (deltaX > 0) {
189158
+ return -4;
189159
+ }
189160
+ if (deltaX < 0) {
189161
+ return -3;
189162
+ }
189163
+ return 0;
189164
+ };
189165
+ getMouseButton = function(ev) {
189166
+ var _1, ev;
189167
+ _1 = $clone($clone(ev, js.Value).Get("button"), js.Value).Int();
189168
+ if (_1 === (0)) {
189169
+ return 1;
189170
+ } else if (_1 === (1)) {
189171
+ return 2;
189172
+ } else if (_1 === (2)) {
189173
+ return 3;
189174
+ } else if (_1 === (3)) {
189175
+ return 8;
189176
+ } else if (_1 === (4)) {
189177
+ return 9;
189178
+ } else {
189179
+ return 0;
189180
+ }
189181
+ };
189182
+ getEventModifiers = function(ev) {
189183
+ var ev, mod;
189184
+ mod = 0;
189185
+ if ($clone($clone(ev, js.Value).Get("altKey"), js.Value).Bool()) {
189186
+ mod = (mod | (4)) >>> 0;
189187
+ }
189188
+ if ($clone($clone(ev, js.Value).Get("ctrlKey"), js.Value).Bool()) {
189189
+ mod = (mod | (2)) >>> 0;
189190
+ }
189191
+ if ($clone($clone(ev, js.Value).Get("shiftKey"), js.Value).Bool()) {
189192
+ mod = (mod | (1)) >>> 0;
189193
+ }
189194
+ if ($clone($clone(ev, js.Value).Get("metaKey"), js.Value).Bool()) {
189195
+ mod = (mod | (8)) >>> 0;
189196
+ }
189197
+ return mod;
189198
+ };
189199
+ DomEvents.ptr.prototype.bindFocusEvents = function() {
189200
+ var {_r, _r$1, d, onFocus, $s, $r, $c} = $restore(this, {});
189201
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189202
+ d = [d];
189203
+ onFocus = [onFocus];
189204
+ d[0] = this;
189205
+ onFocus[0] = $clone(js.FuncOf((function(d, onFocus) { return function $b(this$1, args) {
189206
+ var {args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189207
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189208
+ $r = $send(d[0].eventChan, (x = new focus.Event.ptr(isFocusIn($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189209
+ $s = -1; return $ifaceNil;
189210
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, x, $s};return $f;
189211
+ }; })(d, onFocus)), js.Func);
189212
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189213
+ _r;
189214
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
189215
+ _r$1;
189216
+ d[0].releases = $append(d[0].releases, (function(d, onFocus) { return function $b() {
189217
+ var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
189218
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189219
+ _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("focus"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
189220
+ _r$2;
189221
+ _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("blur"), new onFocus[0].constructor.elem(onFocus[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
189222
+ _r$3;
189223
+ $clone(onFocus[0], js.Func).Release();
189224
+ $s = -1; return;
189225
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
189226
+ }; })(d, onFocus));
189227
+ $s = -1; return;
189228
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindFocusEvents, $c: true, $r, _r, _r$1, d, onFocus, $s};return $f;
189229
+ };
189230
+ DomEvents.prototype.bindFocusEvents = function() { return this.$val.bindFocusEvents(); };
189231
+ isFocusIn = function(ev) {
189232
+ var ev;
189233
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "focus") {
189234
+ return true;
189235
+ }
189236
+ return false;
189237
+ };
189238
+ DomEvents.ptr.prototype.bindKeyEvents = function() {
189239
+ var {_r, _r$1, d, onKey, $s, $r, $c} = $restore(this, {});
189240
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189241
+ d = [d];
189242
+ onKey = [onKey];
189243
+ d[0] = this;
189244
+ onKey[0] = $clone(js.FuncOf((function(d, onKey) { return function $b(this$1, args) {
189245
+ var {_r, args, this$1, x, $s, $r, $c} = $restore(this, {this$1, args});
189246
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189247
+ _r = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).Call("preventDefault", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189248
+ _r;
189249
+ $r = $send(d[0].eventChan, (x = new key.Event.ptr(getKeyRune($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyCode($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getEventModifiers($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value)), getKeyDirection($clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value))), new x.constructor.elem(x))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189250
+ $s = -1; return $ifaceNil;
189251
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, this$1, x, $s};return $f;
189252
+ }; })(d, onKey)), js.Func);
189253
+ _r = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
189254
+ _r;
189255
+ _r$1 = $clone(js.Global(), js.Value).Call("addEventListener", new sliceType([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
189256
+ _r$1;
189257
+ d[0].releases = $append(d[0].releases, (function(d, onKey) { return function $b() {
189258
+ var {_r$2, _r$3, $s, $r, $c} = $restore(this, {});
189259
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
189260
+ _r$2 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("keydown"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
189261
+ _r$2;
189262
+ _r$3 = $clone(js.Global(), js.Value).Call("removeEventListener", new sliceType([new $String("keyup"), new onKey[0].constructor.elem(onKey[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
189263
+ _r$3;
189264
+ $clone(onKey[0], js.Func).Release();
189265
+ $s = -1; return;
189266
+ /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r$2, _r$3, $s};return $f;
189267
+ }; })(d, onKey));
189268
+ $s = -1; return;
189269
+ /* */ } return; } var $f = {$blk: DomEvents.ptr.prototype.bindKeyEvents, $c: true, $r, _r, _r$1, d, onKey, $s};return $f;
189270
+ };
189271
+ DomEvents.prototype.bindKeyEvents = function() { return this.$val.bindKeyEvents(); };
189272
+ getKeyRune = function(ev) {
189273
+ var ev, key$1;
189274
+ key$1 = (new sliceType$2($stringToRunes($clone($clone(ev, js.Value).Get("key"), js.Value).String())));
189275
+ if (key$1.$length === 1) {
189276
+ return (0 >= key$1.$length ? ($throwRuntimeError("index out of range"), undefined) : key$1.$array[key$1.$offset + 0]);
189277
+ }
189278
+ return -1;
189279
+ };
189280
+ getKeyDirection = function(ev) {
189281
+ var dir, ev;
189282
+ dir = 0;
189283
+ dir = 0;
189284
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keydown") {
189285
+ dir = 1;
189286
+ }
189287
+ if ($clone($clone(ev, js.Value).Get("type"), js.Value).String() === "keyup") {
189288
+ dir = 2;
189289
+ }
189290
+ return dir;
189291
+ };
189292
+ getKeyCode = function(ev) {
189293
+ var _entry, _entry$1, _tuple, _tuple$1, code, code$1, domCode, domKey, ev, exists, exists$1;
189294
+ domCode = $clone($clone(ev, js.Value).Get("code"), js.Value).String();
189295
+ _tuple = (_entry = $mapIndex(keyCodesMap,$String.keyFor(domCode)), _entry !== undefined ? [_entry.v, true] : [0, false]);
189296
+ code = _tuple[0];
189297
+ exists = _tuple[1];
189298
+ if (exists) {
189299
+ return code;
189300
+ }
189301
+ domKey = $clone($clone(ev, js.Value).Get("key"), js.Value).String();
189302
+ _tuple$1 = (_entry$1 = $mapIndex(keyCodesByKeyMap,$String.keyFor(domKey)), _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
189303
+ code$1 = _tuple$1[0];
189304
+ exists$1 = _tuple$1[1];
189305
+ if (exists$1) {
189306
+ return code$1;
189307
+ }
189308
+ return 0;
189309
+ };
189310
+ ptrType.methods = [{prop: "GetEventChan", name: "GetEventChan", pkg: "", typ: $funcType([], [chanType], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "BindEvents", name: "BindEvents", pkg: "", typ: $funcType([], [], false)}, {prop: "bindSizeEvents", name: "bindSizeEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "emitSizeEvent", name: "emitSizeEvent", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "bindMouseEvents", name: "bindMouseEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "bindFocusEvents", name: "bindFocusEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}, {prop: "bindKeyEvents", name: "bindKeyEvents", pkg: "golang.org/x/exp/shiny/driver/util/dom", typ: $funcType([], [], false)}];
189311
+ DomEvents.init("golang.org/x/exp/shiny/driver/util/dom", [{prop: "eventChan", name: "eventChan", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "releases", name: "releases", embedded: false, exported: false, typ: sliceType$1, tag: ""}]);
189312
+ $init = function() {
189313
+ $pkg.$init = function() {};
189314
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
189315
+ $r = focus.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189316
+ $r = key.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189317
+ $r = mouse.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189318
+ $r = size.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189319
+ $r = geom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189320
+ $r = math.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189321
+ $r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189322
+ $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
189323
+ keyCodesMap = $makeMap($String.keyFor, [{ k: "KeyA", v: 4 }, { k: "KeyB", v: 5 }, { k: "KeyC", v: 6 }, { k: "KeyD", v: 7 }, { k: "KeyE", v: 8 }, { k: "KeyF", v: 9 }, { k: "KeyG", v: 10 }, { k: "KeyH", v: 11 }, { k: "KeyI", v: 12 }, { k: "KeyJ", v: 13 }, { k: "KeyK", v: 14 }, { k: "KeyL", v: 15 }, { k: "KeyM", v: 16 }, { k: "KeyN", v: 17 }, { k: "KeyO", v: 18 }, { k: "KeyP", v: 19 }, { k: "KeyQ", v: 20 }, { k: "KeyR", v: 21 }, { k: "KeyS", v: 22 }, { k: "KeyT", v: 23 }, { k: "KeyU", v: 24 }, { k: "KeyV", v: 25 }, { k: "KeyW", v: 26 }, { k: "KeyX", v: 27 }, { k: "KeyY", v: 28 }, { k: "KeyZ", v: 29 }, { k: "Digit1", v: 30 }, { k: "Digit2", v: 31 }, { k: "Digit3", v: 32 }, { k: "Digit4", v: 33 }, { k: "Digit5", v: 34 }, { k: "Digit6", v: 35 }, { k: "Digit7", v: 36 }, { k: "Digit8", v: 37 }, { k: "Digit9", v: 38 }, { k: "Digit0", v: 39 }, { k: "Enter", v: 40 }, { k: "Escape", v: 41 }, { k: "Backspace", v: 42 }, { k: "Tab", v: 43 }, { k: "Space", v: 44 }, { k: "Minus", v: 45 }, { k: "Equal", v: 46 }, { k: "BracketLeft", v: 47 }, { k: "BracketRight", v: 48 }, { k: "Backslash", v: 49 }, { k: "Semicolon", v: 51 }, { k: "Quote", v: 52 }, { k: "Backquote", v: 53 }, { k: "Comma", v: 54 }, { k: "Period", v: 55 }, { k: "Slash", v: 56 }, { k: "CapsLock", v: 57 }, { k: "F1", v: 58 }, { k: "F2", v: 59 }, { k: "F3", v: 60 }, { k: "F4", v: 61 }, { k: "F5", v: 62 }, { k: "F6", v: 63 }, { k: "F7", v: 64 }, { k: "F8", v: 65 }, { k: "F9", v: 66 }, { k: "F10", v: 67 }, { k: "F11", v: 68 }, { k: "F12", v: 69 }, { k: "Pause", v: 72 }, { k: "Insert", v: 73 }, { k: "Home", v: 74 }, { k: "PageUp", v: 75 }, { k: "Delete", v: 76 }, { k: "End", v: 77 }, { k: "PageDown", v: 78 }, { k: "ArrowRight", v: 79 }, { k: "ArrowLeft", v: 80 }, { k: "ArrowDown", v: 81 }, { k: "ArrowUp", v: 82 }, { k: "NumLock", v: 83 }, { k: "NumpadDivide", v: 84 }, { k: "NumpadMultiply", v: 85 }, { k: "NumpadSubtract", v: 86 }, { k: "NumpadAdd", v: 87 }, { k: "NumpadEnter", v: 88 }, { k: "Numpad1", v: 89 }, { k: "Numpad2", v: 90 }, { k: "Numpad3", v: 91 }, { k: "Numpad4", v: 92 }, { k: "Numpad5", v: 93 }, { k: "Numpad6", v: 94 }, { k: "Numpad7", v: 95 }, { k: "Numpad8", v: 96 }, { k: "Numpad9", v: 97 }, { k: "Numpad0", v: 98 }, { k: "NumpadDecimal", v: 99 }, { k: "NumpadEqual", v: 103 }, { k: "F13", v: 104 }, { k: "F14", v: 105 }, { k: "F15", v: 106 }, { k: "F16", v: 107 }, { k: "F17", v: 108 }, { k: "F18", v: 109 }, { k: "F19", v: 110 }, { k: "F20", v: 111 }, { k: "F21", v: 112 }, { k: "F22", v: 113 }, { k: "F23", v: 114 }, { k: "F24", v: 115 }, { k: "Help", v: 117 }, { k: "ContextMenu", v: 118 }, { k: "VolumeMute", v: 127 }, { k: "VolumeUp", v: 128 }, { k: "VolumeDown", v: 129 }, { k: "ControlLeft", v: 224 }, { k: "ShiftLeft", v: 225 }, { k: "AltLeft", v: 226 }, { k: "MetaLeft", v: 227 }, { k: "ControlRight", v: 228 }, { k: "ShiftRight", v: 229 }, { k: "AltRight", v: 230 }, { k: "MetaRight", v: 231 }, { k: "PrintScreen", v: 0 }]);
189324
+ keyCodesByKeyMap = $makeMap($String.keyFor, [{ k: "AudioVolumeMute", v: 127 }, { k: "AudioVolumeUp", v: 128 }, { k: "AudioVolumeDown", v: 129 }]);
189325
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
189326
+ };
189327
+ $pkg.$init = $init;
189328
+ return $pkg;
189329
+ })();
189300
189330
  $packages["golang.org/x/exp/shiny/imageutil"] = (function() {
189301
189331
  var $pkg = {}, $init, screen, image, draw, ConvertYCbCrToRGBA;
189302
189332
  screen = $packages["golang.org/x/exp/shiny/screen"];
@@ -189331,12 +189361,12 @@ $packages["golang.org/x/exp/shiny/imageutil"] = (function() {
189331
189361
  return $pkg;
189332
189362
  })();
189333
189363
  $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
189334
- var $pkg = {}, $init, fmt, webgl, types, dom, errscreen, imageutil, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, ArrayBufferSlice, YCbCrJS, BufferImpl, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, sliceType$3, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, texCoordsVertices, elementsIndices, newWindow, main, newScreenImpl, newBuffer;
189364
+ var $pkg = {}, $init, fmt, webgl, types, errscreen, dom, imageutil, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, ArrayBufferSlice, YCbCrJS, BufferImpl, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, sliceType$3, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, texCoordsVertices, elementsIndices, newWindow, main, newScreenImpl, newBuffer;
189335
189365
  fmt = $packages["fmt"];
189336
189366
  webgl = $packages["github.com/nuberu/webgl"];
189337
189367
  types = $packages["github.com/nuberu/webgl/types"];
189338
- dom = $packages["golang.org/x/exp/shiny/driver/internal/dom"];
189339
189368
  errscreen = $packages["golang.org/x/exp/shiny/driver/internal/errscreen"];
189369
+ dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
189340
189370
  imageutil = $packages["golang.org/x/exp/shiny/imageutil"];
189341
189371
  screen = $packages["golang.org/x/exp/shiny/screen"];
189342
189372
  f64 = $packages["golang.org/x/image/math/f64"];
@@ -190120,8 +190150,8 @@ $packages["golang.org/x/exp/shiny/driver/webgldriver"] = (function() {
190120
190150
  $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190121
190151
  $r = webgl.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190122
190152
  $r = types.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190123
- $r = dom.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190124
- $r = errscreen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190153
+ $r = errscreen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190154
+ $r = dom.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190125
190155
  $r = imageutil.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190126
190156
  $r = screen.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190127
190157
  $r = f64.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -190157,11 +190187,58 @@ $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"] = (function()
190157
190187
  $pkg.$init = $init;
190158
190188
  return $pkg;
190159
190189
  })();
190190
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"] = (function() {
190191
+ var $pkg = {}, $init, js, ptrType, initiateReset, jsNaClDecoder, ResetBeforeNextDecode, ShouldResetOnNextDecode, GetJsNaClDecoder;
190192
+ js = $packages["syscall/js"];
190193
+ ptrType = $ptrType(js.Value);
190194
+ ResetBeforeNextDecode = function() {
190195
+ initiateReset = true;
190196
+ };
190197
+ $pkg.ResetBeforeNextDecode = ResetBeforeNextDecode;
190198
+ ShouldResetOnNextDecode = function() {
190199
+ return initiateReset;
190200
+ };
190201
+ $pkg.ShouldResetOnNextDecode = ShouldResetOnNextDecode;
190202
+ GetJsNaClDecoder = function() {
190203
+ return jsNaClDecoder;
190204
+ };
190205
+ $pkg.GetJsNaClDecoder = GetJsNaClDecoder;
190206
+ $init = function() {
190207
+ $pkg.$init = function() {};
190208
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190209
+ $r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190210
+ jsNaClDecoder = ptrType.nil;
190211
+ initiateReset = false;
190212
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190213
+ };
190214
+ $pkg.$init = $init;
190215
+ return $pkg;
190216
+ })();
190217
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"] = (function() {
190218
+ var $pkg = {}, $init, errs, jshelper, general, jsdecoder, js;
190219
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190220
+ jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190221
+ general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190222
+ jsdecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"];
190223
+ js = $packages["syscall/js"];
190224
+ $init = function() {
190225
+ $pkg.$init = function() {};
190226
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190227
+ $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190228
+ $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190229
+ $r = general.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190230
+ $r = jsdecoder.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190231
+ $r = js.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190232
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190233
+ };
190234
+ $pkg.$init = $init;
190235
+ return $pkg;
190236
+ })();
190160
190237
  $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
190161
- var $pkg = {}, $init, fmt, dom, errscreen, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, YCbCrJS, BufferImpl, sliceType, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, sliceType$1, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, newWindow, main, newScreenImpl, newBuffer;
190238
+ var $pkg = {}, $init, fmt, errscreen, dom, screen, f64, image, color, draw, sync, js, windowImpl, screenImpl, YCbCrJS, BufferImpl, sliceType, ptrType, ptrType$1, funcType, arrayType, ptrType$2, ptrType$3, sliceType$1, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, newWindow, main, newScreenImpl, newBuffer;
190162
190239
  fmt = $packages["fmt"];
190163
- dom = $packages["golang.org/x/exp/shiny/driver/internal/dom"];
190164
190240
  errscreen = $packages["golang.org/x/exp/shiny/driver/internal/errscreen"];
190241
+ dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
190165
190242
  screen = $packages["golang.org/x/exp/shiny/screen"];
190166
190243
  f64 = $packages["golang.org/x/image/math/f64"];
190167
190244
  image = $packages["image"];
@@ -190555,8 +190632,8 @@ $packages["golang.org/x/exp/shiny/driver/canvasdriver"] = (function() {
190555
190632
  $pkg.$init = function() {};
190556
190633
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190557
190634
  $r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190558
- $r = dom.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190559
- $r = errscreen.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190635
+ $r = errscreen.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190636
+ $r = dom.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190560
190637
  $r = screen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190561
190638
  $r = f64.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190562
190639
  $r = image.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
@@ -190596,20 +190673,390 @@ $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"] = (function() {
190596
190673
  return $pkg;
190597
190674
  })();
190598
190675
  $packages["github.com/supraio/client-daemon/pkg/x264"] = (function() {
190599
- var $pkg = {}, $init, errs, general, h264_decoder, webcodecs, js;
190676
+ var $pkg = {}, $init, errs, general, h264_decoder, nacldecoder, webcodecs;
190600
190677
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190601
190678
  general = $packages["github.com/supraio/client-daemon/pkg/x264/general"];
190602
190679
  h264_decoder = $packages["github.com/supraio/client-daemon/pkg/x264/h264decoder"];
190680
+ nacldecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"];
190603
190681
  webcodecs = $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"];
190604
- js = $packages["syscall/js"];
190605
190682
  $init = function() {
190606
190683
  $pkg.$init = function() {};
190607
190684
  /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
190608
190685
  $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190609
190686
  $r = general.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190610
190687
  $r = h264_decoder.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190611
- $r = webcodecs.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190612
- $r = js.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190688
+ $r = nacldecoder.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190689
+ $r = webcodecs.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190690
+ /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190691
+ };
190692
+ $pkg.$init = $init;
190693
+ return $pkg;
190694
+ })();
190695
+ $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"] = (function() {
190696
+ var $pkg = {}, $init, errs, jshelper, jsdecoder, dom, screen, f64, image, color, draw, log, sync, js, windowImpl, screenImpl, BufferImpl, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, funcType, arrayType, ptrType$4, sliceType$1, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, newWindow, newScreenImpl, main, newBuffer;
190697
+ errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
190698
+ jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
190699
+ jsdecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/jsdecoder"];
190700
+ dom = $packages["golang.org/x/exp/shiny/driver/util/dom"];
190701
+ screen = $packages["golang.org/x/exp/shiny/screen"];
190702
+ f64 = $packages["golang.org/x/image/math/f64"];
190703
+ image = $packages["image"];
190704
+ color = $packages["image/color"];
190705
+ draw = $packages["image/draw"];
190706
+ log = $packages["log"];
190707
+ sync = $packages["sync"];
190708
+ js = $packages["syscall/js"];
190709
+ windowImpl = $pkg.windowImpl = $newType(0, $kindStruct, "nacldriver.windowImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(screen_, mutex_, renderingInProgress_, domEvents_, released_) {
190710
+ this.$val = this;
190711
+ if (arguments.length === 0) {
190712
+ this.screen = ptrType.nil;
190713
+ this.mutex = ptrType$1.nil;
190714
+ this.renderingInProgress = false;
190715
+ this.domEvents = ptrType$2.nil;
190716
+ this.released = false;
190717
+ return;
190718
+ }
190719
+ this.screen = screen_;
190720
+ this.mutex = mutex_;
190721
+ this.renderingInProgress = renderingInProgress_;
190722
+ this.domEvents = domEvents_;
190723
+ this.released = released_;
190724
+ });
190725
+ screenImpl = $pkg.screenImpl = $newType(0, $kindStruct, "nacldriver.screenImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", false, function(doc_) {
190726
+ this.$val = this;
190727
+ if (arguments.length === 0) {
190728
+ this.doc = new js.Value.ptr(null, false, arrayType.zero());
190729
+ return;
190730
+ }
190731
+ this.doc = doc_;
190732
+ });
190733
+ BufferImpl = $pkg.BufferImpl = $newType(0, $kindStruct, "nacldriver.BufferImpl", true, "github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", true, function(screen_, size_) {
190734
+ this.$val = this;
190735
+ if (arguments.length === 0) {
190736
+ this.screen = ptrType.nil;
190737
+ this.size = new image.Point.ptr(0, 0);
190738
+ return;
190739
+ }
190740
+ this.screen = screen_;
190741
+ this.size = size_;
190742
+ });
190743
+ sliceType = $sliceType($emptyInterface);
190744
+ ptrType = $ptrType(screenImpl);
190745
+ ptrType$1 = $ptrType(sync.Mutex);
190746
+ ptrType$2 = $ptrType(dom.DomEvents);
190747
+ ptrType$3 = $ptrType(js.Value);
190748
+ funcType = $funcType([], [], false);
190749
+ arrayType = $arrayType(funcType, 0);
190750
+ ptrType$4 = $ptrType(image.RGBA);
190751
+ sliceType$1 = $sliceType($Uint8);
190752
+ ptrType$5 = $ptrType(screen.DrawOptions);
190753
+ ptrType$6 = $ptrType(windowImpl);
190754
+ ptrType$7 = $ptrType(screen.NewWindowOptions);
190755
+ ptrType$8 = $ptrType(image.YCbCr);
190756
+ ptrType$9 = $ptrType(BufferImpl);
190757
+ newWindow = function(screen$1, opts) {
190758
+ var {_r, _r$1, domEvents, opts, screen$1, w, $s, $r, $c} = $restore(this, {screen$1, opts});
190759
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190760
+ /* */ if (!(opts.Title === "")) { $s = 1; continue; }
190761
+ /* */ $s = 2; continue;
190762
+ /* if (!(opts.Title === "")) { */ case 1:
190763
+ _r = $clone($clone(screen$1.doc, js.Value).Get("head"), js.Value).Call("getElementsByTagName", new sliceType([new $String("title")])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190764
+ _r$1 = $clone(_r, js.Value).Call("item", new sliceType([new $Int(0)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190765
+ $r = $clone(_r$1, js.Value).Set("innerHTML", new $String(opts.Title)); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190766
+ /* } */ case 2:
190767
+ domEvents = dom.NewDomEvents();
190768
+ w = new windowImpl.ptr(screen$1, new sync.Mutex.ptr(0, 0), false, domEvents, false);
190769
+ $s = -1; return w;
190770
+ /* */ } return; } var $f = {$blk: newWindow, $c: true, $r, _r, _r$1, domEvents, opts, screen$1, w, $s};return $f;
190771
+ };
190772
+ windowImpl.ptr.prototype.Release = function() {
190773
+ var {w, $s, $deferred, $r, $c} = $restore(this, {});
190774
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
190775
+ w = this;
190776
+ $r = w.mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190777
+ $deferred.push([$methodVal(w.mutex, "Unlock"), []]);
190778
+ /* */ if (w.released) { $s = 2; continue; }
190779
+ /* */ $s = 3; continue;
190780
+ /* if (w.released) { */ case 2:
190781
+ $s = 4; case 4: return;
190782
+ /* } */ case 3:
190783
+ $r = w.domEvents.Release(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190784
+ w.released = true;
190785
+ $s = -1; return;
190786
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: windowImpl.ptr.prototype.Release, $c: true, $r, w, $s, $deferred};return $f; } }
190787
+ };
190788
+ windowImpl.prototype.Release = function() { return this.$val.Release(); };
190789
+ windowImpl.ptr.prototype.Publish = function() {
190790
+ var w;
190791
+ w = this;
190792
+ if (w.released) {
190793
+ return new screen.PublishResult.ptr(false);
190794
+ }
190795
+ return new screen.PublishResult.ptr(false);
190796
+ };
190797
+ windowImpl.prototype.Publish = function() { return this.$val.Publish(); };
190798
+ windowImpl.ptr.prototype.Send = function(event) {
190799
+ var event, w;
190800
+ w = this;
190801
+ if (w.released) {
190802
+ return;
190803
+ }
190804
+ $panic(new $String("Not implemented"));
190805
+ };
190806
+ windowImpl.prototype.Send = function(event) { return this.$val.Send(event); };
190807
+ windowImpl.ptr.prototype.SendFirst = function(event) {
190808
+ var event, w;
190809
+ w = this;
190810
+ if (w.released) {
190811
+ return;
190812
+ }
190813
+ $panic(new $String("Not implemented"));
190814
+ };
190815
+ windowImpl.prototype.SendFirst = function(event) { return this.$val.SendFirst(event); };
190816
+ windowImpl.ptr.prototype.NextEvent = function() {
190817
+ var {_r, ev, w, $s, $r, $c} = $restore(this, {});
190818
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190819
+ w = this;
190820
+ _r = $recv(w.domEvents.GetEventChan()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190821
+ ev = _r[0];
190822
+ $s = -1; return ev;
190823
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.NextEvent, $c: true, $r, _r, ev, w, $s};return $f;
190824
+ };
190825
+ windowImpl.prototype.NextEvent = function() { return this.$val.NextEvent(); };
190826
+ windowImpl.ptr.prototype.Upload = function(dp, src, sr) {
190827
+ var {_r, dp, sr, src, w, $s, $r, $c} = $restore(this, {dp, src, sr});
190828
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190829
+ w = this;
190830
+ if (w.released) {
190831
+ $s = -1; return;
190832
+ }
190833
+ _r = errs.Errorf("Not implemented, use UploadYCbCr instead", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190834
+ $panic(_r);
190835
+ $s = -1; return;
190836
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.Upload, $c: true, $r, _r, dp, sr, src, w, $s};return $f;
190837
+ };
190838
+ windowImpl.prototype.Upload = function(dp, src, sr) { return this.$val.Upload(dp, src, sr); };
190839
+ windowImpl.ptr.prototype.UploadYCbCr = function(dp, src, sr) {
190840
+ var {_arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, dp, err, err$1, jsNaClDecoder, picture, picturePromise, renderPromise, renderResult, sr, src, w, x, x$1, $s, $r, $c} = $restore(this, {dp, src, sr});
190841
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190842
+ w = this;
190843
+ if (w.released) {
190844
+ $s = -1; return;
190845
+ }
190846
+ /* */ if (jsdecoder.ShouldResetOnNextDecode()) { $s = 1; continue; }
190847
+ /* */ $s = 2; continue;
190848
+ /* if (jsdecoder.ShouldResetOnNextDecode()) { */ case 1:
190849
+ $r = log.Println(new sliceType([new $String("NaClDecoder is resetting, skipping frame rendering")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190850
+ $s = -1; return;
190851
+ /* } */ case 2:
190852
+ jsNaClDecoder = jsdecoder.GetJsNaClDecoder();
190853
+ /* */ if (jsNaClDecoder === ptrType$3.nil) { $s = 4; continue; }
190854
+ /* */ $s = 5; continue;
190855
+ /* if (jsNaClDecoder === ptrType$3.nil) { */ case 4:
190856
+ $r = log.Println(new sliceType([new $String("JsNaClDecoder is not created, skipping frame rendering")])); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190857
+ $s = -1; return;
190858
+ /* } */ case 5:
190859
+ $r = w.mutex.Lock(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190860
+ _r = $clone(jsNaClDecoder, js.Value).Call("getPicture", sliceType.nil); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190861
+ picturePromise = $clone(_r, js.Value);
190862
+ _r$1 = jshelper.Await($clone(picturePromise, js.Value)); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
190863
+ _tuple = _r$1;
190864
+ picture = _tuple[0];
190865
+ err = _tuple[1];
190866
+ $r = w.mutex.Unlock(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190867
+ /* */ if (!(err === ptrType$3.nil)) { $s = 11; continue; }
190868
+ /* */ $s = 12; continue;
190869
+ /* if (!(err === ptrType$3.nil)) { */ case 11:
190870
+ jsdecoder.ResetBeforeNextDecode();
190871
+ _r$2 = jshelper.GetError(err); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
190872
+ _arg = _r$2;
190873
+ $r = errs.Print("Failed to get picture: %s", _arg); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190874
+ $s = -1; return;
190875
+ /* } */ case 12:
190876
+ /* */ if (!jsdecoder.ShouldResetOnNextDecode() && !w.renderingInProgress) { $s = 15; continue; }
190877
+ /* */ $s = 16; continue;
190878
+ /* if (!jsdecoder.ShouldResetOnNextDecode() && !w.renderingInProgress) { */ case 15:
190879
+ w.renderingInProgress = true;
190880
+ _r$3 = $clone(jsNaClDecoder, js.Value).Call("render", new sliceType([(x = picture, new x.constructor.elem(x))])); /* */ $s = 17; case 17: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
190881
+ renderPromise = $clone(_r$3, js.Value);
190882
+ _r$4 = jshelper.Await($clone(renderPromise, js.Value)); /* */ $s = 18; case 18: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
190883
+ _tuple$1 = _r$4;
190884
+ renderResult = _tuple$1[0];
190885
+ err$1 = _tuple$1[1];
190886
+ w.renderingInProgress = false;
190887
+ /* */ if (!(err$1 === ptrType$3.nil)) { $s = 19; continue; }
190888
+ /* */ $s = 20; continue;
190889
+ /* if (!(err$1 === ptrType$3.nil)) { */ case 19:
190890
+ _r$5 = jshelper.GetError(err$1); /* */ $s = 21; case 21: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
190891
+ _arg$1 = _r$5;
190892
+ $r = errs.Print("Failed to render frame: %s", _arg$1); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190893
+ $s = -1; return;
190894
+ /* } */ case 20:
190895
+ /* */ if (!(($clone(renderResult, js.Value).Float() === 0))) { $s = 23; continue; }
190896
+ /* */ $s = 24; continue;
190897
+ /* if (!(($clone(renderResult, js.Value).Float() === 0))) { */ case 23:
190898
+ $r = log.Printf("Failed to render frame with code: %f\n", new sliceType([new $Float64($clone(renderResult, js.Value).Float())])); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190899
+ $s = -1; return;
190900
+ /* } */ case 24:
190901
+ /* } */ case 16:
190902
+ _r$6 = $clone(jsNaClDecoder, js.Value).Call("recyclePicture", new sliceType([(x$1 = picture, new x$1.constructor.elem(x$1))])); /* */ $s = 26; case 26: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
190903
+ _r$6;
190904
+ $s = -1; return;
190905
+ /* */ } return; } var $f = {$blk: windowImpl.ptr.prototype.UploadYCbCr, $c: true, $r, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, dp, err, err$1, jsNaClDecoder, picture, picturePromise, renderPromise, renderResult, sr, src, w, x, x$1, $s};return $f;
190906
+ };
190907
+ windowImpl.prototype.UploadYCbCr = function(dp, src, sr) { return this.$val.UploadYCbCr(dp, src, sr); };
190908
+ windowImpl.ptr.prototype.Fill = function(dr, src, op) {
190909
+ var dr, op, src, w;
190910
+ w = this;
190911
+ if (w.released) {
190912
+ return;
190913
+ }
190914
+ $panic(new $String("Not implemented"));
190915
+ };
190916
+ windowImpl.prototype.Fill = function(dr, src, op) { return this.$val.Fill(dr, src, op); };
190917
+ windowImpl.ptr.prototype.Draw = function(src2dst, src, sr, op, opts) {
190918
+ var op, opts, sr, src, src2dst, w;
190919
+ w = this;
190920
+ if (w.released) {
190921
+ return;
190922
+ }
190923
+ $panic(new $String("Not implemented"));
190924
+ };
190925
+ windowImpl.prototype.Draw = function(src2dst, src, sr, op, opts) { return this.$val.Draw(src2dst, src, sr, op, opts); };
190926
+ windowImpl.ptr.prototype.DrawUniform = function(src2dst, src, sr, op, opts) {
190927
+ var op, opts, sr, src, src2dst, w;
190928
+ w = this;
190929
+ if (w.released) {
190930
+ return;
190931
+ }
190932
+ $panic(new $String("Not implemented"));
190933
+ };
190934
+ windowImpl.prototype.DrawUniform = function(src2dst, src, sr, op, opts) { return this.$val.DrawUniform(src2dst, src, sr, op, opts); };
190935
+ windowImpl.ptr.prototype.Copy = function(dp, src, sr, op, opts) {
190936
+ var dp, op, opts, sr, src, w;
190937
+ w = this;
190938
+ if (w.released) {
190939
+ return;
190940
+ }
190941
+ $panic(new $String("Not implemented"));
190942
+ };
190943
+ windowImpl.prototype.Copy = function(dp, src, sr, op, opts) { return this.$val.Copy(dp, src, sr, op, opts); };
190944
+ windowImpl.ptr.prototype.Scale = function(dr, src, sr, op, opts) {
190945
+ var dr, op, opts, sr, src, w;
190946
+ w = this;
190947
+ if (w.released) {
190948
+ return;
190949
+ }
190950
+ $panic(new $String("Not implemented"));
190951
+ };
190952
+ windowImpl.prototype.Scale = function(dr, src, sr, op, opts) { return this.$val.Scale(dr, src, sr, op, opts); };
190953
+ newScreenImpl = function() {
190954
+ var s;
190955
+ s = new screenImpl.ptr($clone($clone(js.Global(), js.Value).Get("document"), js.Value));
190956
+ return [s, $ifaceNil];
190957
+ };
190958
+ screenImpl.ptr.prototype.NewBuffer = function(size) {
190959
+ var buffer, s, size;
190960
+ s = this;
190961
+ buffer = newBuffer(s, $clone(size, image.Point));
190962
+ return [buffer, $ifaceNil];
190963
+ };
190964
+ screenImpl.prototype.NewBuffer = function(size) { return this.$val.NewBuffer(size); };
190965
+ screenImpl.ptr.prototype.NewTexture = function(size) {
190966
+ var {$24r, _r, s, size, $s, $r, $c} = $restore(this, {size});
190967
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190968
+ s = this;
190969
+ _r = errs.Errorf("Texture not implemented", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190970
+ $24r = [$ifaceNil, _r];
190971
+ $s = 2; case 2: return $24r;
190972
+ /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewTexture, $c: true, $r, $24r, _r, s, size, $s};return $f;
190973
+ };
190974
+ screenImpl.prototype.NewTexture = function(size) { return this.$val.NewTexture(size); };
190975
+ screenImpl.ptr.prototype.NewWindow = function(opts) {
190976
+ var {_r, opts, s, window, $s, $r, $c} = $restore(this, {opts});
190977
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190978
+ s = this;
190979
+ _r = newWindow(s, opts); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
190980
+ window = _r;
190981
+ $s = -1; return [window, $ifaceNil];
190982
+ /* */ } return; } var $f = {$blk: screenImpl.ptr.prototype.NewWindow, $c: true, $r, _r, opts, s, window, $s};return $f;
190983
+ };
190984
+ screenImpl.prototype.NewWindow = function(opts) { return this.$val.NewWindow(opts); };
190985
+ main = function(f) {
190986
+ var {_tuple, err, f, retErr, s, $s, $r, $c} = $restore(this, {f});
190987
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
190988
+ retErr = $ifaceNil;
190989
+ _tuple = newScreenImpl();
190990
+ s = _tuple[0];
190991
+ err = _tuple[1];
190992
+ if (!($interfaceIsEqual(err, $ifaceNil))) {
190993
+ retErr = err;
190994
+ $s = -1; return retErr;
190995
+ }
190996
+ $r = f(s); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190997
+ retErr = $ifaceNil;
190998
+ $s = -1; return retErr;
190999
+ /* */ } return; } var $f = {$blk: main, $c: true, $r, _tuple, err, f, retErr, s, $s};return $f;
191000
+ };
191001
+ newBuffer = function(screen$1, size) {
191002
+ var b, screen$1, size;
191003
+ b = new BufferImpl.ptr(screen$1, $clone(size, image.Point));
191004
+ return b;
191005
+ };
191006
+ BufferImpl.ptr.prototype.Size = function() {
191007
+ var b;
191008
+ b = this;
191009
+ return b.size;
191010
+ };
191011
+ BufferImpl.prototype.Size = function() { return this.$val.Size(); };
191012
+ BufferImpl.ptr.prototype.Bounds = function() {
191013
+ var b;
191014
+ b = this;
191015
+ return new image.Rectangle.ptr(new image.Point.ptr(0, 0), $clone(b.size, image.Point));
191016
+ };
191017
+ BufferImpl.prototype.Bounds = function() { return this.$val.Bounds(); };
191018
+ BufferImpl.ptr.prototype.RGBA = function() {
191019
+ var {_r, b, $s, $r, $c} = $restore(this, {});
191020
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
191021
+ b = this;
191022
+ _r = errs.Errorf("Not implemented RGBA(), use PictureResult() instead", sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
191023
+ $panic(_r);
191024
+ $s = -1; return ptrType$4.nil;
191025
+ /* */ } return; } var $f = {$blk: BufferImpl.ptr.prototype.RGBA, $c: true, $r, _r, b, $s};return $f;
191026
+ };
191027
+ BufferImpl.prototype.RGBA = function() { return this.$val.RGBA(); };
191028
+ BufferImpl.ptr.prototype.YCbCr = function() {
191029
+ var b;
191030
+ b = this;
191031
+ return new image.YCbCr.ptr(sliceType$1.nil, sliceType$1.nil, sliceType$1.nil, 0, 0, 0, $clone(b.Bounds(), image.Rectangle));
191032
+ };
191033
+ BufferImpl.prototype.YCbCr = function() { return this.$val.YCbCr(); };
191034
+ BufferImpl.ptr.prototype.Release = function() {
191035
+ var b;
191036
+ b = this;
191037
+ };
191038
+ BufferImpl.prototype.Release = function() { return this.$val.Release(); };
191039
+ ptrType$6.methods = [{prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}, {prop: "Publish", name: "Publish", pkg: "", typ: $funcType([], [screen.PublishResult], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "SendFirst", name: "SendFirst", pkg: "", typ: $funcType([$emptyInterface], [], false)}, {prop: "NextEvent", name: "NextEvent", pkg: "", typ: $funcType([], [$emptyInterface], false)}, {prop: "Upload", name: "Upload", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "UploadYCbCr", name: "UploadYCbCr", pkg: "", typ: $funcType([image.Point, screen.Buffer, image.Rectangle], [], false)}, {prop: "Fill", name: "Fill", pkg: "", typ: $funcType([image.Rectangle, color.Color, draw.Op], [], false)}, {prop: "Draw", name: "Draw", pkg: "", typ: $funcType([f64.Aff3, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "DrawUniform", name: "DrawUniform", pkg: "", typ: $funcType([f64.Aff3, color.Color, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "Copy", name: "Copy", pkg: "", typ: $funcType([image.Point, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}, {prop: "Scale", name: "Scale", pkg: "", typ: $funcType([image.Rectangle, screen.Texture, image.Rectangle, draw.Op, ptrType$5], [], false)}];
191040
+ ptrType.methods = [{prop: "NewBuffer", name: "NewBuffer", pkg: "", typ: $funcType([image.Point], [screen.Buffer, $error], false)}, {prop: "NewTexture", name: "NewTexture", pkg: "", typ: $funcType([image.Point], [screen.Texture, $error], false)}, {prop: "NewWindow", name: "NewWindow", pkg: "", typ: $funcType([ptrType$7], [screen.Window, $error], false)}];
191041
+ ptrType$9.methods = [{prop: "Size", name: "Size", pkg: "", typ: $funcType([], [image.Point], false)}, {prop: "Bounds", name: "Bounds", pkg: "", typ: $funcType([], [image.Rectangle], false)}, {prop: "RGBA", name: "RGBA", pkg: "", typ: $funcType([], [ptrType$4], false)}, {prop: "YCbCr", name: "YCbCr", pkg: "", typ: $funcType([], [ptrType$8], false)}, {prop: "Release", name: "Release", pkg: "", typ: $funcType([], [], false)}];
191042
+ windowImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "mutex", name: "mutex", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "renderingInProgress", name: "renderingInProgress", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "domEvents", name: "domEvents", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "released", name: "released", embedded: false, exported: false, typ: $Bool, tag: ""}]);
191043
+ screenImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "doc", name: "doc", embedded: false, exported: false, typ: js.Value, tag: ""}]);
191044
+ BufferImpl.init("github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver", [{prop: "screen", name: "screen", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "size", name: "size", embedded: false, exported: false, typ: image.Point, tag: ""}]);
191045
+ $init = function() {
191046
+ $pkg.$init = function() {};
191047
+ /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:
191048
+ $r = errs.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191049
+ $r = jshelper.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191050
+ $r = jsdecoder.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191051
+ $r = dom.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191052
+ $r = screen.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191053
+ $r = f64.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191054
+ $r = image.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191055
+ $r = color.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191056
+ $r = draw.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191057
+ $r = log.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191058
+ $r = sync.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191059
+ $r = js.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
190613
191060
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
190614
191061
  };
190615
191062
  $pkg.$init = $init;
@@ -190628,13 +191075,14 @@ $packages["golang.org/x/mobile/event/lifecycle"] = (function() {
190628
191075
  return $pkg;
190629
191076
  })();
190630
191077
  $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
190631
- var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, errs, input, message, netclient, netpacket, netstream, stats, window, x264, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, image, io, ioutil, log, os, path, strings, sync, js, time, screenParams, ScreenManager, ProcessInfo, ProcessInfoManager, ptrType$2, funcType, sliceType$1, sliceType$3, arrayType, ptrType$14, openScreenWindows, mutex, NewScreenManager, NewProcessInfoManager;
191078
+ var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, errs, helper, input, message, netclient, netpacket, netstream, stats, window, x264, nacldecoder, nacldriver, webcodecs, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, image, io, ioutil, log, os, path, strings, sync, js, time, screenParams, ScreenManager, ProcessInfo, ProcessInfoManager, ptrType$2, funcType, sliceType$1, sliceType$3, arrayType, ptrType$14, openScreenWindows, mutex, NewScreenManager, NewProcessInfoManager;
190632
191079
  binary = $packages["encoding/binary"];
190633
191080
  json = $packages["encoding/json"];
190634
191081
  query = $packages["github.com/google/go-querystring/query"];
190635
191082
  clientscreen = $packages["github.com/supraio/client-daemon/pkg/clientscreen"];
190636
191083
  clipboard = $packages["github.com/supraio/client-daemon/pkg/clipboard"];
190637
191084
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
191085
+ helper = $packages["github.com/supraio/client-daemon/pkg/helper"];
190638
191086
  input = $packages["github.com/supraio/client-daemon/pkg/input"];
190639
191087
  message = $packages["github.com/supraio/client-daemon/pkg/message"];
190640
191088
  netclient = $packages["github.com/supraio/client-daemon/pkg/netclient"];
@@ -190643,6 +191091,9 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
190643
191091
  stats = $packages["github.com/supraio/client-daemon/pkg/stats"];
190644
191092
  window = $packages["github.com/supraio/client-daemon/pkg/window"];
190645
191093
  x264 = $packages["github.com/supraio/client-daemon/pkg/x264"];
191094
+ nacldecoder = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder"];
191095
+ nacldriver = $packages["github.com/supraio/client-daemon/pkg/x264/nacldecoder/nacldriver"];
191096
+ webcodecs = $packages["github.com/supraio/client-daemon/pkg/x264/webcodecs"];
190646
191097
  canvasdriver = $packages["golang.org/x/exp/shiny/driver/canvasdriver"];
190647
191098
  webgldriver = $packages["golang.org/x/exp/shiny/driver/webgldriver"];
190648
191099
  screen = $packages["golang.org/x/exp/shiny/screen"];
@@ -191081,32 +191532,36 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
191081
191532
  $r = clientscreen.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191082
191533
  $r = clipboard.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191083
191534
  $r = errs.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191084
- $r = input.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191085
- $r = message.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191086
- $r = netclient.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191087
- $r = netpacket.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191088
- $r = netstream.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191089
- $r = stats.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191090
- $r = window.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191091
- $r = x264.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191092
- $r = canvasdriver.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191093
- $r = webgldriver.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191094
- $r = screen.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191095
- $r = focus.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191096
- $r = key.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191097
- $r = lifecycle.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191098
- $r = mouse.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191099
- $r = size.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191100
- $r = image.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191101
- $r = io.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191102
- $r = ioutil.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191103
- $r = log.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191104
- $r = os.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191105
- $r = path.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191106
- $r = strings.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191107
- $r = sync.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191108
- $r = js.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191109
- $r = time.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191535
+ $r = helper.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191536
+ $r = input.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191537
+ $r = message.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191538
+ $r = netclient.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191539
+ $r = netpacket.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191540
+ $r = netstream.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191541
+ $r = stats.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191542
+ $r = window.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191543
+ $r = x264.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191544
+ $r = nacldecoder.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191545
+ $r = nacldriver.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191546
+ $r = webcodecs.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191547
+ $r = canvasdriver.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191548
+ $r = webgldriver.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191549
+ $r = screen.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191550
+ $r = focus.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191551
+ $r = key.$init(); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191552
+ $r = lifecycle.$init(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191553
+ $r = mouse.$init(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191554
+ $r = size.$init(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191555
+ $r = image.$init(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191556
+ $r = io.$init(); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191557
+ $r = ioutil.$init(); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191558
+ $r = log.$init(); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191559
+ $r = os.$init(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191560
+ $r = path.$init(); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191561
+ $r = strings.$init(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191562
+ $r = sync.$init(); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191563
+ $r = js.$init(); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191564
+ $r = time.$init(); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
191110
191565
  openScreenWindows = $makeMap($String.keyFor, []);
191111
191566
  mutex = new sync.Mutex.ptr(0, 0);
191112
191567
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;