@supraio/client-daemon-js 1.0.0-mzbrightsigndecoder.477 → 1.0.0-mzbrightsigndecoder.478

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.
@@ -195113,13 +195113,14 @@ $packages["github.com/supraio/client-daemon/pkg/videostream"] = (function() {
195113
195113
  return $pkg;
195114
195114
  })();
195115
195115
  $packages["github.com/supraio/client-daemon/pkg/decoder/sosstream"] = (function() {
195116
- var $pkg = {}, $init, fmt, general, errs, jshelper, frame, videostream, js, SOSVideoStreamer, streamGeometry, SOSStreamDecoder, funcType, arrayType, sliceType, ptrType, ptrType$1, ptrType$2, init, getStreamGeometry, NewDecoder;
195116
+ var $pkg = {}, $init, fmt, general, errs, jshelper, frame, videostream, log, js, SOSVideoStreamer, streamGeometry, SOSStreamDecoder, funcType, arrayType, sliceType, ptrType, ptrType$1, ptrType$2, init, getStreamGeometry, NewDecoder;
195117
195117
  fmt = $packages["fmt"];
195118
195118
  general = $packages["github.com/supraio/client-daemon/pkg/decoder/general"];
195119
195119
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
195120
195120
  jshelper = $packages["github.com/supraio/client-daemon/pkg/jshelper"];
195121
195121
  frame = $packages["github.com/supraio/client-daemon/pkg/render/frame"];
195122
195122
  videostream = $packages["github.com/supraio/client-daemon/pkg/videostream"];
195123
+ log = $packages["log"];
195123
195124
  js = $packages["syscall/js"];
195124
195125
  SOSVideoStreamer = $pkg.SOSVideoStreamer = $newType(0, $kindStruct, "sosstream.SOSVideoStreamer", true, "github.com/supraio/client-daemon/pkg/decoder/sosstream", true, function(sos_, started_) {
195125
195126
  this.$val = this;
@@ -195158,14 +195159,22 @@ $packages["github.com/supraio/client-daemon/pkg/decoder/sosstream"] = (function(
195158
195159
  ptrType$1 = $ptrType(SOSVideoStreamer);
195159
195160
  ptrType$2 = $ptrType(SOSStreamDecoder);
195160
195161
  init = function() {
195161
- var videoStreamer;
195162
+ var {videoStreamer, $s, $r, $c} = $restore(this, {});
195163
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
195162
195164
  videoStreamer = new SOSVideoStreamer.ptr($clone($clone(js.Global(), js.Value).Get("sos"), js.Value), false);
195163
195165
  videostream.Register(videoStreamer);
195166
+ $r = log.Println(new sliceType([new $String("SOS video streamer registered")])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195167
+ $s = -1; return;
195168
+ /* */ } return; } var $f = {$blk: init, $c: true, $r, videoStreamer, $s};return $f;
195164
195169
  };
195165
195170
  SOSVideoStreamer.ptr.prototype.IsAvailable = function() {
195166
- var m;
195171
+ var {isAvailable, m, $s, $r, $c} = $restore(this, {});
195172
+ /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
195167
195173
  m = this;
195168
- return !$clone(m.sos, js.Value).IsUndefined() && $clone($clone($clone(m.sos, js.Value).Get("config"), js.Value).Get("stream"), js.Value).Truthy();
195174
+ isAvailable = !$clone(m.sos, js.Value).IsUndefined() && $clone($clone($clone(m.sos, js.Value).Get("config"), js.Value).Get("stream"), js.Value).Truthy();
195175
+ $r = log.Printf("SOS video streamer availability: available=%t", new sliceType([new $Bool(isAvailable)])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195176
+ $s = -1; return isAvailable;
195177
+ /* */ } return; } var $f = {$blk: SOSVideoStreamer.ptr.prototype.IsAvailable, $c: true, $r, isAvailable, m, $s};return $f;
195169
195178
  };
195170
195179
  SOSVideoStreamer.prototype.IsAvailable = function() { return this.$val.IsAvailable(); };
195171
195180
  SOSVideoStreamer.ptr.prototype.Play = function() {
@@ -195183,42 +195192,44 @@ $packages["github.com/supraio/client-daemon/pkg/decoder/sosstream"] = (function(
195183
195192
  _r = fmt.Sprintf("%s://%s:%d", new sliceType([new $String(urlProtocol), new $String(hostname), new $Uint16(port)])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
195184
195193
  url = _r;
195185
195194
  geometry = $clone(getStreamGeometry(), streamGeometry);
195186
- _r$1 = $clone($clone(js.Global(), js.Value).Get("Object"), js.Value).New(sliceType.nil); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
195195
+ $r = log.Printf("SOS video streamer play begin: protocol=%d url=%s geometry=%+v", new sliceType([new videostream.Protocol(protocol), new $String(url), new geometry.constructor.elem(geometry)])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195196
+ _r$1 = $clone($clone(js.Global(), js.Value).Get("Object"), js.Value).New(sliceType.nil); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
195187
195197
  options = $clone(_r$1, js.Value);
195188
195198
  $clone(options, js.Value).Set("background", new $Bool(true));
195189
195199
  $clone(options, js.Value).Set("protocol", new $String(sosProtocol));
195190
195200
  $clone(options, js.Value).Set("lowLatency", new $Bool(true));
195191
- _r$2 = $clone($clone(m.sos, js.Value).Get("stream"), js.Value).Call("prepare", new sliceType([new $String(url), new $Int(geometry.x), new $Int(geometry.y), new $Int(geometry.width), new $Int(geometry.height), new options.constructor.elem(options)])); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
195201
+ _r$2 = $clone($clone(m.sos, js.Value).Get("stream"), js.Value).Call("prepare", new sliceType([new $String(url), new $Int(geometry.x), new $Int(geometry.y), new $Int(geometry.width), new $Int(geometry.height), new options.constructor.elem(options)])); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
195192
195202
  preparePromise = $clone(_r$2, js.Value);
195193
- _r$3 = jshelper.Await($clone(preparePromise, js.Value)); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
195203
+ _r$3 = jshelper.Await($clone(preparePromise, js.Value)); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
195194
195204
  _tuple = _r$3;
195195
195205
  err = _tuple[1];
195196
- /* */ if (!(err === ptrType.nil)) { $s = 7; continue; }
195197
- /* */ $s = 8; continue;
195198
- /* if (!(err === ptrType.nil)) { */ case 7:
195199
- _r$4 = jshelper.GetError(err); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
195200
- _r$5 = _r$4.Error(); /* */ $s = 10; case 10: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
195206
+ /* */ if (!(err === ptrType.nil)) { $s = 8; continue; }
195207
+ /* */ $s = 9; continue;
195208
+ /* if (!(err === ptrType.nil)) { */ case 8:
195209
+ _r$4 = jshelper.GetError(err); /* */ $s = 10; case 10: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
195210
+ _r$5 = _r$4.Error(); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
195201
195211
  _arg = new $String(_r$5);
195202
- _r$6 = errs.Errorf("Failed to prepare sos video stream: %s", new sliceType([_arg])); /* */ $s = 11; case 11: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
195212
+ _r$6 = errs.Errorf("Failed to prepare sos video stream: %s", new sliceType([_arg])); /* */ $s = 12; case 12: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
195203
195213
  $24r = _r$6;
195204
- $s = 12; case 12: return $24r;
195205
- /* } */ case 8:
195206
- _r$7 = $clone($clone(m.sos, js.Value).Get("stream"), js.Value).Call("play", new sliceType([new $String(url), new $Int(geometry.x), new $Int(geometry.y), new $Int(geometry.width), new $Int(geometry.height), new options.constructor.elem(options)])); /* */ $s = 13; case 13: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
195214
+ $s = 13; case 13: return $24r;
195215
+ /* } */ case 9:
195216
+ _r$7 = $clone($clone(m.sos, js.Value).Get("stream"), js.Value).Call("play", new sliceType([new $String(url), new $Int(geometry.x), new $Int(geometry.y), new $Int(geometry.width), new $Int(geometry.height), new options.constructor.elem(options)])); /* */ $s = 14; case 14: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
195207
195217
  playStream = $clone(_r$7, js.Value);
195208
- _r$8 = jshelper.Await($clone(playStream, js.Value)); /* */ $s = 14; case 14: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
195218
+ _r$8 = jshelper.Await($clone(playStream, js.Value)); /* */ $s = 15; case 15: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
195209
195219
  _tuple$1 = _r$8;
195210
195220
  err = _tuple$1[1];
195211
- /* */ if (!(err === ptrType.nil)) { $s = 15; continue; }
195212
- /* */ $s = 16; continue;
195213
- /* if (!(err === ptrType.nil)) { */ case 15:
195214
- _r$9 = jshelper.GetError(err); /* */ $s = 17; case 17: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
195215
- _r$10 = _r$9.Error(); /* */ $s = 18; case 18: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
195221
+ /* */ if (!(err === ptrType.nil)) { $s = 16; continue; }
195222
+ /* */ $s = 17; continue;
195223
+ /* if (!(err === ptrType.nil)) { */ case 16:
195224
+ _r$9 = jshelper.GetError(err); /* */ $s = 18; case 18: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }
195225
+ _r$10 = _r$9.Error(); /* */ $s = 19; case 19: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }
195216
195226
  _arg$1 = new $String(_r$10);
195217
- _r$11 = errs.Errorf("Failed to play sos video stream: %s", new sliceType([_arg$1])); /* */ $s = 19; case 19: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
195227
+ _r$11 = errs.Errorf("Failed to play sos video stream: %s", new sliceType([_arg$1])); /* */ $s = 20; case 20: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }
195218
195228
  $24r$1 = _r$11;
195219
- $s = 20; case 20: return $24r$1;
195220
- /* } */ case 16:
195229
+ $s = 21; case 21: return $24r$1;
195230
+ /* } */ case 17:
195221
195231
  m.started = true;
195232
+ $r = log.Println(new sliceType([new $String("SOS video streamer play complete")])); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195222
195233
  /* } */ case 2:
195223
195234
  $s = -1; return $ifaceNil;
195224
195235
  /* */ } return; } var $f = {$blk: SOSVideoStreamer.ptr.prototype.Play, $c: true, $r, $24r, $24r$1, _arg, _arg$1, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, err, geometry, hostname, m, options, playStream, port, preparePromise, protocol, sosProtocol, url, urlProtocol, $s};return $f;
@@ -195238,22 +195249,24 @@ $packages["github.com/supraio/client-daemon/pkg/decoder/sosstream"] = (function(
195238
195249
  _r = fmt.Sprintf("%s://%s:%d", new sliceType([new $String(urlProtocol), new $String(hostname), new $Uint16(port)])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
195239
195250
  url = _r;
195240
195251
  geometry = $clone(getStreamGeometry(), streamGeometry);
195241
- _r$1 = $clone($clone(m.sos, js.Value).Get("stream"), js.Value).Call("stop", new sliceType([new $String(url), new $Int(geometry.x), new $Int(geometry.y), new $Int(geometry.width), new $Int(geometry.height)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
195252
+ $r = log.Printf("SOS video streamer stop begin: protocol=%d url=%s geometry=%+v", new sliceType([new videostream.Protocol(protocol), new $String(url), new geometry.constructor.elem(geometry)])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195253
+ _r$1 = $clone($clone(m.sos, js.Value).Get("stream"), js.Value).Call("stop", new sliceType([new $String(url), new $Int(geometry.x), new $Int(geometry.y), new $Int(geometry.width), new $Int(geometry.height)])); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
195242
195254
  stopPromise = $clone(_r$1, js.Value);
195243
- _r$2 = jshelper.Await($clone(stopPromise, js.Value)); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
195255
+ _r$2 = jshelper.Await($clone(stopPromise, js.Value)); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
195244
195256
  _tuple = _r$2;
195245
195257
  err = _tuple[1];
195246
- /* */ if (!(err === ptrType.nil)) { $s = 6; continue; }
195247
- /* */ $s = 7; continue;
195248
- /* if (!(err === ptrType.nil)) { */ case 6:
195249
- _r$3 = jshelper.GetError(err); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
195250
- _r$4 = _r$3.Error(); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
195258
+ /* */ if (!(err === ptrType.nil)) { $s = 7; continue; }
195259
+ /* */ $s = 8; continue;
195260
+ /* if (!(err === ptrType.nil)) { */ case 7:
195261
+ _r$3 = jshelper.GetError(err); /* */ $s = 9; case 9: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
195262
+ _r$4 = _r$3.Error(); /* */ $s = 10; case 10: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
195251
195263
  _arg = new $String(_r$4);
195252
- _r$5 = errs.Errorf("Failed to stop sos video stream: %s", new sliceType([_arg])); /* */ $s = 10; case 10: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
195264
+ _r$5 = errs.Errorf("Failed to stop sos video stream: %s", new sliceType([_arg])); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
195253
195265
  $24r = _r$5;
195254
- $s = 11; case 11: return $24r;
195255
- /* } */ case 7:
195266
+ $s = 12; case 12: return $24r;
195267
+ /* } */ case 8:
195256
195268
  m.started = false;
195269
+ $r = log.Println(new sliceType([new $String("SOS video streamer stop complete")])); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195257
195270
  /* } */ case 2:
195258
195271
  $s = -1; return $ifaceNil;
195259
195272
  /* */ } return; } var $f = {$blk: SOSVideoStreamer.ptr.prototype.Stop, $c: true, $r, $24r, _arg, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, err, geometry, hostname, m, port, protocol, stopPromise, url, urlProtocol, $s};return $f;
@@ -195418,15 +195431,16 @@ $packages["github.com/supraio/client-daemon/pkg/decoder/sosstream"] = (function(
195418
195431
  $r = jshelper.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195419
195432
  $r = frame.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195420
195433
  $r = videostream.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195421
- $r = js.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195422
- init();
195434
+ $r = log.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195435
+ $r = js.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195436
+ $r = init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195423
195437
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
195424
195438
  };
195425
195439
  $pkg.$init = $init;
195426
195440
  return $pkg;
195427
195441
  })();
195428
195442
  $packages["github.com/supraio/client-daemon/pkg/decoder"] = (function() {
195429
- var $pkg = {}, $init, brightsigndecoder, general, h264decoder, nacldecoder, samsungwasmdecoder, sosstream, webcodecs, errs, frame, videostream, Decoder, sliceType, NewDecoder;
195443
+ var $pkg = {}, $init, brightsigndecoder, general, h264decoder, nacldecoder, samsungwasmdecoder, sosstream, webcodecs, errs, frame, videostream, log, Decoder, sliceType, NewDecoder;
195430
195444
  brightsigndecoder = $packages["github.com/supraio/client-daemon/pkg/decoder/brightsigndecoder"];
195431
195445
  general = $packages["github.com/supraio/client-daemon/pkg/decoder/general"];
195432
195446
  h264decoder = $packages["github.com/supraio/client-daemon/pkg/decoder/h264decoder"];
@@ -195437,6 +195451,7 @@ $packages["github.com/supraio/client-daemon/pkg/decoder"] = (function() {
195437
195451
  errs = $packages["github.com/supraio/client-daemon/pkg/errs"];
195438
195452
  frame = $packages["github.com/supraio/client-daemon/pkg/render/frame"];
195439
195453
  videostream = $packages["github.com/supraio/client-daemon/pkg/videostream"];
195454
+ log = $packages["log"];
195440
195455
  Decoder = $pkg.Decoder = $newType(8, $kindInterface, "decoder.Decoder", true, "github.com/supraio/client-daemon/pkg/decoder", true, null);
195441
195456
  sliceType = $sliceType($emptyInterface);
195442
195457
  NewDecoder = function(header) {
@@ -195451,27 +195466,34 @@ $packages["github.com/supraio/client-daemon/pkg/decoder"] = (function() {
195451
195466
  /* */ if (h264decoder.IsAvailable()) { $s = 6; continue; }
195452
195467
  /* */ $s = 7; continue;
195453
195468
  /* if (brightsigndecoder.IsAvailable()) { */ case 1:
195469
+ $r = log.Println(new sliceType([new $String("Decoder factory selected BrightSign native decoder")])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195454
195470
  _returncast = brightsigndecoder.NewDecoder(header);
195455
195471
  $s = -1; return [_returncast[0], _returncast[1]];
195456
195472
  /* } else if (_r) { */ case 2:
195473
+ $r = log.Println(new sliceType([new $String("Decoder factory selected SOS stream decoder")])); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195457
195474
  _returncast$1 = sosstream.NewDecoder(header);
195458
195475
  $s = -1; return [_returncast$1[0], _returncast$1[1]];
195459
195476
  /* } else if (nacldecoder.IsAvailable()) { */ case 3:
195477
+ $r = log.Println(new sliceType([new $String("Decoder factory selected NaCl decoder")])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195460
195478
  _returncast$2 = nacldecoder.NewDecoder(header);
195461
195479
  $s = -1; return [_returncast$2[0], _returncast$2[1]];
195462
195480
  /* } else if (samsungwasmdecoder.IsAvailable()) { */ case 4:
195481
+ $r = log.Println(new sliceType([new $String("Decoder factory selected Samsung WASM decoder")])); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195463
195482
  _returncast$3 = samsungwasmdecoder.NewDecoder(header);
195464
195483
  $s = -1; return [_returncast$3[0], _returncast$3[1]];
195465
195484
  /* } else if (webcodecs.IsAvailable()) { */ case 5:
195485
+ $r = log.Println(new sliceType([new $String("Decoder factory selected WebCodecs decoder")])); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195466
195486
  _returncast$4 = webcodecs.NewDecoder(header);
195467
195487
  $s = -1; return [_returncast$4[0], _returncast$4[1]];
195468
195488
  /* } else if (h264decoder.IsAvailable()) { */ case 6:
195489
+ $r = log.Println(new sliceType([new $String("Decoder factory selected H264 decoder")])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195469
195490
  _returncast$5 = h264decoder.NewDecoder(header);
195470
195491
  $s = -1; return [_returncast$5[0], _returncast$5[1]];
195471
195492
  /* } else { */ case 7:
195472
- _r$1 = errs.Errorf("Not available any decoder adapter in JS", sliceType.nil); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
195493
+ $r = log.Println(new sliceType([new $String("Decoder factory found no available decoder")])); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195494
+ _r$1 = errs.Errorf("Not available any decoder adapter in JS", sliceType.nil); /* */ $s = 17; case 17: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
195473
195495
  $24r = [$ifaceNil, _r$1];
195474
- $s = 11; case 11: return $24r;
195496
+ $s = 18; case 18: return $24r;
195475
195497
  /* } */ case 8:
195476
195498
  $s = -1; return [$ifaceNil, $ifaceNil];
195477
195499
  /* */ } return; } var $f = {$blk: NewDecoder, $c: true, $r, $24r, _r, _r$1, _returncast, _returncast$1, _returncast$2, _returncast$3, _returncast$4, _returncast$5, header, $s};return $f;
@@ -195491,6 +195513,7 @@ $packages["github.com/supraio/client-daemon/pkg/decoder"] = (function() {
195491
195513
  $r = errs.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195492
195514
  $r = frame.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195493
195515
  $r = videostream.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195516
+ $r = log.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
195494
195517
  /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;
195495
195518
  };
195496
195519
  $pkg.$init = $init;
@@ -198056,7 +198079,7 @@ $packages["golang.org/x/mobile/event/lifecycle"] = (function() {
198056
198079
  return $pkg;
198057
198080
  })();
198058
198081
  $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198059
- var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, brightsigndecoder, nacldecoder, nacldriver, samsungwasmdecoder, webcodecs, errs, helper, input, message, netclient, netpacket, netstream, netframe, jswebsocketworker, player, overlaydriver, stats, videostream, window, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, touch, geom, image, io, ioutil, log, os, path, strconv, strings, sync, js, time, ScreenWindow, Geometry, screenWindowDetachEvent, nonBlockingWindowEventSender, ProcessInfo, ProcessInfoManager, sliceType, ptrType, ptrType$1, ptrType$2, funcType, sliceType$1, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, sliceType$2, structType, interfaceType, sliceType$3, sliceType$4, arrayType, mapType, funcType$1, ptrType$15, chanType, chanType$1, chanType$2, chanType$3, chanType$4, chanType$5, chanType$6, onScreenWindowStarted, RegisterVideoStream, UnregisterVideoStream, NewScreenWindow, sendWindowEventNonBlocking, MainDriver, NewProcessInfoManager, init, registerJSBridge, newJSBridgeFacades, geometryValue;
198082
+ var $pkg = {}, $init, binary, json, query, clientscreen, clipboard, brightsigndecoder, nacldecoder, nacldriver, samsungwasmdecoder, webcodecs, errs, helper, input, message, netclient, netpacket, netstream, netframe, jswebsocketworker, player, overlaydriver, stats, videostream, window, canvasdriver, webgldriver, screen, focus, key, lifecycle, mouse, size, touch, geom, image, io, ioutil, log, os, path, strconv, strings, sync, js, time, ScreenWindow, Geometry, screenWindowDetachEvent, nonBlockingWindowEventSender, ProcessInfo, ProcessInfoManager, sliceType, sliceType$1, ptrType, ptrType$1, ptrType$2, funcType, sliceType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, structType, interfaceType, sliceType$3, sliceType$4, arrayType, mapType, funcType$1, ptrType$15, chanType, chanType$1, chanType$2, chanType$3, chanType$4, chanType$5, chanType$6, onScreenWindowStarted, RegisterVideoStream, UnregisterVideoStream, NewScreenWindow, sendWindowEventNonBlocking, MainDriver, NewProcessInfoManager, init, registerJSBridge, newJSBridgeFacades, geometryValue;
198060
198083
  binary = $packages["encoding/binary"];
198061
198084
  json = $packages["encoding/json"];
198062
198085
  query = $packages["github.com/google/go-querystring/query"];
@@ -198102,7 +198125,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198102
198125
  sync = $packages["sync"];
198103
198126
  js = $packages["syscall/js"];
198104
198127
  time = $packages["time"];
198105
- ScreenWindow = $pkg.ScreenWindow = $newType(0, $kindStruct, "render.ScreenWindow", true, "github.com/supraio/client-daemon/pkg/render", true, function(processInfoManager_, screenDriver_, screenHost_, metadataDriver_, metadataHost_, clientID_, clientSecret_, screenID_, secure_, forceScreenSize_, timeoutDuration_, closed_, closeDone_, closeMu_, screenMu_, stats_, onClose_, window_, screen_, screenConn_, metadataServer_, responsiveSender_, collectionLoop_, decoderLoop_, renderingLoop_, sizeHandler_, touchHandler_, keyHandler_, mouseHandler_, eventMetrics_, pinger_, keyEventChan_, mouseEventChan_, sizeEventChan_, focusEventChan_, touchEventChan_, winCloseChannel_, eventLoopStop_, eventLoopDone_, windowSize_, geometry_) {
198128
+ ScreenWindow = $pkg.ScreenWindow = $newType(0, $kindStruct, "render.ScreenWindow", true, "github.com/supraio/client-daemon/pkg/render", true, function(processInfoManager_, screenDriver_, screenHost_, metadataDriver_, metadataHost_, clientID_, clientSecret_, screenID_, secure_, forceScreenSize_, timeoutDuration_, closed_, closeDone_, closeMu_, screenMu_, stats_, onClose_, window_, screen_, screenConn_, metadataServer_, responsiveSender_, collectionLoop_, decoderLoop_, renderingLoop_, sizeHandler_, touchHandler_, keyHandler_, mouseHandler_, eventMetrics_, pinger_, keyEventChan_, mouseEventChan_, sizeEventChan_, focusEventChan_, touchEventChan_, winCloseChannel_, eventLoopStop_, eventLoopDone_, windowSize_, geometry_, closeReason_) {
198106
198129
  this.$val = this;
198107
198130
  if (arguments.length === 0) {
198108
198131
  this.processInfoManager = ptrType.nil;
@@ -198121,7 +198144,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198121
198144
  this.closeMu = new sync.Mutex.ptr(0, 0);
198122
198145
  this.screenMu = new sync.Mutex.ptr(0, 0);
198123
198146
  this.stats = ptrType$2.nil;
198124
- this.onClose = sliceType$1.nil;
198147
+ this.onClose = sliceType$2.nil;
198125
198148
  this.window = $ifaceNil;
198126
198149
  this.screen = $ifaceNil;
198127
198150
  this.screenConn = $ifaceNil;
@@ -198146,6 +198169,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198146
198169
  this.eventLoopDone = $chanNil;
198147
198170
  this.windowSize = new image.Point.ptr(0, 0);
198148
198171
  this.geometry = ptrType$14.nil;
198172
+ this.closeReason = "";
198149
198173
  return;
198150
198174
  }
198151
198175
  this.processInfoManager = processInfoManager_;
@@ -198189,6 +198213,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198189
198213
  this.eventLoopDone = eventLoopDone_;
198190
198214
  this.windowSize = windowSize_;
198191
198215
  this.geometry = geometry_;
198216
+ this.closeReason = closeReason_;
198192
198217
  });
198193
198218
  Geometry = $pkg.Geometry = $newType(0, $kindStruct, "render.Geometry", true, "github.com/supraio/client-daemon/pkg/render", true, function(X_, Y_, Width_, Height_) {
198194
198219
  this.$val = this;
@@ -198231,12 +198256,13 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198231
198256
  this.username = username_;
198232
198257
  this.processDir = processDir_;
198233
198258
  });
198234
- sliceType = $sliceType($Uint8);
198259
+ sliceType = $sliceType($emptyInterface);
198260
+ sliceType$1 = $sliceType($Uint8);
198235
198261
  ptrType = $ptrType(ProcessInfoManager);
198236
198262
  ptrType$1 = $ptrType(image.Point);
198237
198263
  ptrType$2 = $ptrType(stats.Stats);
198238
198264
  funcType = $funcType([], [], false);
198239
- sliceType$1 = $sliceType(funcType);
198265
+ sliceType$2 = $sliceType(funcType);
198240
198266
  ptrType$3 = $ptrType(netclient.MetadataServer);
198241
198267
  ptrType$4 = $ptrType(netclient.MetadataResponsiveSender);
198242
198268
  ptrType$5 = $ptrType(player.CollectionLoop);
@@ -198249,7 +198275,6 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198249
198275
  ptrType$12 = $ptrType(input.EventMetrics);
198250
198276
  ptrType$13 = $ptrType(netclient.Pinger);
198251
198277
  ptrType$14 = $ptrType(Geometry);
198252
- sliceType$2 = $sliceType($emptyInterface);
198253
198278
  structType = $structType("", []);
198254
198279
  interfaceType = $interfaceType([{prop: "CancelPendingUploads", name: "CancelPendingUploads", pkg: "", typ: $funcType([], [], false)}]);
198255
198280
  sliceType$3 = $sliceType($error);
@@ -198266,61 +198291,81 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198266
198291
  chanType$5 = $chanType(touch.Event, false, false);
198267
198292
  chanType$6 = $chanType($emptyInterface, false, false);
198268
198293
  RegisterVideoStream = function(sender) {
198269
- var {_arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, data, err, sender, streamHostname, videoStreamer, $s, $r, $c} = $restore(this, {sender});
198294
+ var {_r, _r$1, _r$2, _r$3, _r$4, _r$5, data, err, isAvailable, port, protocol, sender, streamHostname, videoStreamer, $s, $r, $c} = $restore(this, {sender});
198270
198295
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
198271
198296
  videoStreamer = videostream.Get();
198272
- _r = videoStreamer.IsAvailable(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
198273
- /* */ if (_r) { $s = 1; continue; }
198274
- /* */ $s = 2; continue;
198275
- /* if (_r) { */ case 1:
198276
- data = $makeSlice(sliceType, 3);
198277
- _r$1 = videoStreamer.GetProtocol(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
198278
- (0 >= data.$length ? ($throwRuntimeError("index out of range"), undefined) : data.$array[data.$offset + 0] = ((_r$1 << 24 >>> 24)));
198279
- _arg = $subslice(data, 1);
198280
- _r$2 = videoStreamer.GetPort(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198281
- _arg$1 = (_r$2);
198282
- $r = $clone(binary.BigEndian, binary.bigEndian).PutUint16(_arg, _arg$1); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198297
+ _r = videoStreamer.IsAvailable(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
198298
+ isAvailable = _r;
198299
+ $r = log.Printf("Video stream register probe: available=%t", new sliceType([new $Bool(isAvailable)])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198300
+ /* */ if (isAvailable) { $s = 3; continue; }
198301
+ /* */ $s = 4; continue;
198302
+ /* if (isAvailable) { */ case 3:
198303
+ _r$1 = videoStreamer.GetProtocol(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
198304
+ protocol = _r$1;
198305
+ _r$2 = videoStreamer.GetPort(); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198306
+ port = _r$2;
198283
198307
  _r$3 = videoStreamer.GetHostname(); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
198284
198308
  streamHostname = _r$3;
198309
+ $r = log.Printf("Video stream register begin: protocol=%d port=%d hostname=%q", new sliceType([new videostream.Protocol(protocol), new $Uint16(port), new $String(streamHostname)])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198310
+ data = $makeSlice(sliceType$1, 3);
198311
+ (0 >= data.$length ? ($throwRuntimeError("index out of range"), undefined) : data.$array[data.$offset + 0] = ((protocol << 24 >>> 24)));
198312
+ $clone(binary.BigEndian, binary.bigEndian).PutUint16($subslice(data, 1), (port));
198285
198313
  if (!(streamHostname === "")) {
198286
- data = $appendSlice(data, (new sliceType($stringToBytes(streamHostname))));
198314
+ data = $appendSlice(data, (new sliceType$1($stringToBytes(streamHostname))));
198287
198315
  }
198288
- _r$4 = sender.Send(5, data); /* */ $s = 8; case 8: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
198316
+ _r$4 = sender.Send(5, data); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
198289
198317
  err = _r$4;
198290
- if (!($interfaceIsEqual(err, $ifaceNil))) {
198318
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 10; continue; }
198319
+ /* */ $s = 11; continue;
198320
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 10:
198321
+ $r = log.Printf("Video stream register send failed: %v", new sliceType([err])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198291
198322
  $s = -1; return err;
198292
- }
198293
- _r$5 = videoStreamer.Play(); /* */ $s = 9; case 9: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
198323
+ /* } */ case 11:
198324
+ _r$5 = videoStreamer.Play(); /* */ $s = 13; case 13: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
198294
198325
  err = _r$5;
198295
- if (!($interfaceIsEqual(err, $ifaceNil))) {
198326
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 14; continue; }
198327
+ /* */ $s = 15; continue;
198328
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 14:
198329
+ $r = log.Printf("Video stream play failed: %v", new sliceType([err])); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198296
198330
  $s = -1; return err;
198297
- }
198298
- /* } */ case 2:
198331
+ /* } */ case 15:
198332
+ $r = log.Println(new sliceType([new $String("Video stream register complete")])); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198333
+ /* } */ case 4:
198299
198334
  $s = -1; return $ifaceNil;
198300
- /* */ } return; } var $f = {$blk: RegisterVideoStream, $c: true, $r, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, data, err, sender, streamHostname, videoStreamer, $s};return $f;
198335
+ /* */ } return; } var $f = {$blk: RegisterVideoStream, $c: true, $r, _r, _r$1, _r$2, _r$3, _r$4, _r$5, data, err, isAvailable, port, protocol, sender, streamHostname, videoStreamer, $s};return $f;
198301
198336
  };
198302
198337
  $pkg.RegisterVideoStream = RegisterVideoStream;
198303
198338
  UnregisterVideoStream = function(sender) {
198304
- var {_r, _r$1, _r$2, err, sender, videoStreamer, $s, $r, $c} = $restore(this, {sender});
198339
+ var {_r, _r$1, _r$2, err, isAvailable, sender, videoStreamer, $s, $r, $c} = $restore(this, {sender});
198305
198340
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
198306
198341
  videoStreamer = videostream.Get();
198307
- _r = videoStreamer.IsAvailable(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
198308
- /* */ if (_r) { $s = 1; continue; }
198309
- /* */ $s = 2; continue;
198310
- /* if (_r) { */ case 1:
198311
- _r$1 = videoStreamer.Stop(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
198342
+ _r = videoStreamer.IsAvailable(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
198343
+ isAvailable = _r;
198344
+ $r = log.Printf("Video stream unregister probe: available=%t", new sliceType([new $Bool(isAvailable)])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198345
+ /* */ if (isAvailable) { $s = 3; continue; }
198346
+ /* */ $s = 4; continue;
198347
+ /* if (isAvailable) { */ case 3:
198348
+ $r = log.Println(new sliceType([new $String("Video stream unregister begin")])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198349
+ _r$1 = videoStreamer.Stop(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
198312
198350
  err = _r$1;
198313
- if (!($interfaceIsEqual(err, $ifaceNil))) {
198351
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 7; continue; }
198352
+ /* */ $s = 8; continue;
198353
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 7:
198354
+ $r = log.Printf("Video stream stop failed: %v", new sliceType([err])); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198314
198355
  $s = -1; return err;
198315
- }
198316
- _r$2 = sender.Send(6, new sliceType([])); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198356
+ /* } */ case 8:
198357
+ _r$2 = sender.Send(6, new sliceType$1([])); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198317
198358
  err = _r$2;
198318
- if (!($interfaceIsEqual(err, $ifaceNil))) {
198359
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 11; continue; }
198360
+ /* */ $s = 12; continue;
198361
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 11:
198362
+ $r = log.Printf("Video stream unregister send failed: %v", new sliceType([err])); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198319
198363
  $s = -1; return err;
198320
- }
198321
- /* } */ case 2:
198364
+ /* } */ case 12:
198365
+ $r = log.Println(new sliceType([new $String("Video stream unregister complete")])); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198366
+ /* } */ case 4:
198322
198367
  $s = -1; return $ifaceNil;
198323
- /* */ } return; } var $f = {$blk: UnregisterVideoStream, $c: true, $r, _r, _r$1, _r$2, err, sender, videoStreamer, $s};return $f;
198368
+ /* */ } return; } var $f = {$blk: UnregisterVideoStream, $c: true, $r, _r, _r$1, _r$2, err, isAvailable, sender, videoStreamer, $s};return $f;
198324
198369
  };
198325
198370
  $pkg.UnregisterVideoStream = UnregisterVideoStream;
198326
198371
  ScreenWindow.ptr.prototype.Geometry = function() {
@@ -198329,6 +198374,36 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198329
198374
  return w.geometry;
198330
198375
  };
198331
198376
  ScreenWindow.prototype.Geometry = function() { return this.$val.Geometry(); };
198377
+ ScreenWindow.ptr.prototype.setCloseReason = function(reason) {
198378
+ var {reason, w, $s, $deferred, $r, $c} = $restore(this, {reason});
198379
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
198380
+ w = this;
198381
+ $r = w.closeMu.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198382
+ $deferred.push([$methodVal(w.closeMu, "Unlock"), []]);
198383
+ if (!w.closed && w.closeReason === "") {
198384
+ w.closeReason = reason;
198385
+ }
198386
+ $s = -1; return;
198387
+ /* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: ScreenWindow.ptr.prototype.setCloseReason, $c: true, $r, reason, w, $s, $deferred};return $f; } }
198388
+ };
198389
+ ScreenWindow.prototype.setCloseReason = function(reason) { return this.$val.setCloseReason(reason); };
198390
+ ScreenWindow.ptr.prototype.getCloseReason = function() {
198391
+ var {$24r, $24r$1, w, $s, $deferred, $r, $c} = $restore(this, {});
198392
+ /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
198393
+ w = this;
198394
+ $r = w.closeMu.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198395
+ $deferred.push([$methodVal(w.closeMu, "Unlock"), []]);
198396
+ /* */ if (w.closeReason === "") { $s = 2; continue; }
198397
+ /* */ $s = 3; continue;
198398
+ /* if (w.closeReason === "") { */ case 2:
198399
+ $24r = "unspecified";
198400
+ $s = 4; case 4: return $24r;
198401
+ /* } */ case 3:
198402
+ $24r$1 = w.closeReason;
198403
+ $s = 5; case 5: return $24r$1;
198404
+ /* */ } return; } } catch(err) { $err = err; $s = -1; return ""; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: ScreenWindow.ptr.prototype.getCloseReason, $c: true, $r, $24r, $24r$1, w, $s, $deferred};return $f; } }
198405
+ };
198406
+ ScreenWindow.prototype.getCloseReason = function() { return this.$val.getCloseReason(); };
198332
198407
  ScreenWindow.ptr.prototype.SetEncodingPreferences = function(prefs) {
198333
198408
  var prefs, w;
198334
198409
  w = this;
@@ -198341,7 +198416,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198341
198416
  _r = stats.NewStats(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
198342
198417
  s = _r;
198343
198418
  s.SetEncodingPreferences($clone(encodingPreferences, stats.EncodingPreferences));
198344
- $s = -1; return new ScreenWindow.ptr(processInfoManager, screenDriver, screenHost, metadataDriver, metadataHost, clientID, clientSecret, screenID, secure, forceScreenSize, timeoutDuration, true, $chanNil, new sync.Mutex.ptr(0, 0), new sync.Mutex.ptr(0, 0), s, sliceType$1.nil, $ifaceNil, $ifaceNil, $ifaceNil, ptrType$3.nil, ptrType$4.nil, ptrType$5.nil, ptrType$6.nil, ptrType$7.nil, ptrType$8.nil, ptrType$9.nil, ptrType$10.nil, ptrType$11.nil, input.NewEventMetrics(), ptrType$13.nil, new $Chan(key.Event, 50), new $Chan(mouse.Event, 50), new $Chan(size.Event, 50), new $Chan(focus.Event, 50), new $Chan(touch.Event, 50), new $Chan($emptyInterface, 0), $chanNil, $chanNil, new image.Point.ptr(0, 0), geometry);
198419
+ $s = -1; return new ScreenWindow.ptr(processInfoManager, screenDriver, screenHost, metadataDriver, metadataHost, clientID, clientSecret, screenID, secure, forceScreenSize, timeoutDuration, true, $chanNil, new sync.Mutex.ptr(0, 0), new sync.Mutex.ptr(0, 0), s, sliceType$2.nil, $ifaceNil, $ifaceNil, $ifaceNil, ptrType$3.nil, ptrType$4.nil, ptrType$5.nil, ptrType$6.nil, ptrType$7.nil, ptrType$8.nil, ptrType$9.nil, ptrType$10.nil, ptrType$11.nil, input.NewEventMetrics(), ptrType$13.nil, new $Chan(key.Event, 50), new $Chan(mouse.Event, 50), new $Chan(size.Event, 50), new $Chan(focus.Event, 50), new $Chan(touch.Event, 50), new $Chan($emptyInterface, 0), $chanNil, $chanNil, new image.Point.ptr(0, 0), geometry, "");
198345
198420
  /* */ } return; } var $f = {$blk: NewScreenWindow, $c: true, $r, _r, clientID, clientSecret, encodingPreferences, forceScreenSize, geometry, metadataDriver, metadataHost, processInfoManager, s, screenDriver, screenHost, screenID, secure, timeoutDuration, $s};return $f;
198346
198421
  };
198347
198422
  $pkg.NewScreenWindow = NewScreenWindow;
@@ -198354,7 +198429,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198354
198429
  /* */ $s = 3; continue;
198355
198430
  /* if (!w.closed) { */ case 2:
198356
198431
  $r = w.closeMu.Unlock(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198357
- _r = errs.Errorf("Screen window is already started", sliceType$2.nil); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
198432
+ _r = errs.Errorf("Screen window is already started", sliceType.nil); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
198358
198433
  $24r = _r;
198359
198434
  $s = 6; case 6: return $24r;
198360
198435
  /* } */ case 3:
@@ -198401,136 +198476,138 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198401
198476
  };
198402
198477
  ScreenWindow.prototype.Start = function() { return this.$val.Start(); };
198403
198478
  ScreenWindow.ptr.prototype.Close = function() {
198404
- var {_arg, _arg$1, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _ref, _selection, _selection$1, callback, closeDone, closeDone$1, closeStartedAt, err, eventLoopDone, eventLoopStop, index, w, window$1, x, x$1, $s, $r, $c} = $restore(this, {});
198479
+ var {_arg, _arg$1, _arg$2, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _selection, _selection$1, callback, closeDone, closeDone$1, closeStartedAt, err, eventLoopDone, eventLoopStop, index, w, window$1, x, x$1, $s, $r, $c} = $restore(this, {});
198405
198480
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
198406
198481
  w = this;
198407
198482
  _r = time.Now(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
198408
198483
  closeStartedAt = $clone(_r, time.Time);
198409
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: Close entered")])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198410
- $r = w.closeMu.Lock(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198411
- /* */ if (w.closed) { $s = 4; continue; }
198412
- /* */ $s = 5; continue;
198413
- /* if (w.closed) { */ case 4:
198484
+ _r$1 = w.getCloseReason(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
198485
+ _arg = new $String(_r$1);
198486
+ $r = log.Printf("Screen close lifecycle: Close entered reason=%s", new sliceType([_arg])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198487
+ $r = w.closeMu.Lock(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198488
+ /* */ if (w.closed) { $s = 5; continue; }
198489
+ /* */ $s = 6; continue;
198490
+ /* if (w.closed) { */ case 5:
198414
198491
  closeDone = w.closeDone;
198415
- $r = w.closeMu.Unlock(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198416
- /* */ if (!(closeDone === $chanNil)) { $s = 7; continue; }
198417
- /* */ $s = 8; continue;
198418
- /* if (!(closeDone === $chanNil)) { */ case 7:
198419
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: concurrent caller waiting")])); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198420
- _r$1 = $recv(closeDone); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
198421
- _r$1[0];
198422
- _r$2 = time.Since($clone(closeStartedAt, time.Time)); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198423
- _arg = _r$2;
198424
- $r = log.Printf("Screen close lifecycle: concurrent caller released elapsed=%s", new sliceType$2([_arg])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198425
- /* } */ case 8:
198492
+ $r = w.closeMu.Unlock(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198493
+ /* */ if (!(closeDone === $chanNil)) { $s = 8; continue; }
198494
+ /* */ $s = 9; continue;
198495
+ /* if (!(closeDone === $chanNil)) { */ case 8:
198496
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: concurrent caller waiting")])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198497
+ _r$2 = $recv(closeDone); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198498
+ _r$2[0];
198499
+ _r$3 = time.Since($clone(closeStartedAt, time.Time)); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
198500
+ _arg$1 = _r$3;
198501
+ $r = log.Printf("Screen close lifecycle: concurrent caller released elapsed=%s", new sliceType([_arg$1])); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198502
+ /* } */ case 9:
198426
198503
  $s = -1; return;
198427
- /* } */ case 5:
198504
+ /* } */ case 6:
198428
198505
  w.closed = true;
198429
198506
  closeDone$1 = w.closeDone;
198430
- $r = w.closeMu.Unlock(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198431
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: event metrics stop begin")])); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198432
- $r = w.eventMetrics.Stop(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198433
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: event metrics stop complete")])); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198434
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: screen teardown begin")])); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198435
- _r$3 = w.closeScreen(); /* */ $s = 18; case 18: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
198436
- err = _r$3;
198437
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 19; continue; }
198438
- /* */ $s = 20; continue;
198439
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 19:
198440
- $r = errs.Print("Cannot close screen", err); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198441
- /* } */ case 20:
198442
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: screen teardown complete")])); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198443
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: stats stop begin")])); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198444
- $r = w.stats.Stop(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198445
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: stats stop complete")])); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198446
- /* */ if (!(w.metadataServer === ptrType$3.nil)) { $s = 26; continue; }
198447
- /* */ $s = 27; continue;
198448
- /* if (!(w.metadataServer === ptrType$3.nil)) { */ case 26:
198449
- /* */ if (!(w.responsiveSender === ptrType$4.nil)) { $s = 28; continue; }
198450
- /* */ $s = 29; continue;
198451
- /* if (!(w.responsiveSender === ptrType$4.nil)) { */ case 28:
198452
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: responsive sender close begin")])); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198507
+ $r = w.closeMu.Unlock(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198508
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: event metrics stop begin")])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198509
+ $r = w.eventMetrics.Stop(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198510
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: event metrics stop complete")])); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198511
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen teardown begin")])); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198512
+ _r$4 = w.closeScreen(); /* */ $s = 19; case 19: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
198513
+ err = _r$4;
198514
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 20; continue; }
198515
+ /* */ $s = 21; continue;
198516
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 20:
198517
+ $r = errs.Print("Cannot close screen", err); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198518
+ /* } */ case 21:
198519
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen teardown complete")])); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198520
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: stats stop begin")])); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198521
+ $r = w.stats.Stop(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198522
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: stats stop complete")])); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198523
+ /* */ if (!(w.metadataServer === ptrType$3.nil)) { $s = 27; continue; }
198524
+ /* */ $s = 28; continue;
198525
+ /* if (!(w.metadataServer === ptrType$3.nil)) { */ case 27:
198526
+ /* */ if (!(w.responsiveSender === ptrType$4.nil)) { $s = 29; continue; }
198527
+ /* */ $s = 30; continue;
198528
+ /* if (!(w.responsiveSender === ptrType$4.nil)) { */ case 29:
198529
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: responsive sender close begin")])); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198453
198530
  w.responsiveSender.Close();
198454
198531
  w.responsiveSender = ptrType$4.nil;
198455
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: responsive sender close complete")])); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198456
- /* } */ case 29:
198457
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: metadata server close begin")])); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198458
- _r$4 = w.metadataServer.Close("ScreenWindow closed"); /* */ $s = 33; case 33: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
198459
- err = _r$4;
198460
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 34; continue; }
198461
- /* */ $s = 35; continue;
198462
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 34:
198463
- $r = errs.Print("Cannot close metadata connection", err); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198464
- /* } */ case 35:
198532
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: responsive sender close complete")])); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198533
+ /* } */ case 30:
198534
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: metadata server close begin")])); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198535
+ _r$5 = w.metadataServer.Close("ScreenWindow closed"); /* */ $s = 34; case 34: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
198536
+ err = _r$5;
198537
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 35; continue; }
198538
+ /* */ $s = 36; continue;
198539
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 35:
198540
+ $r = errs.Print("Cannot close metadata connection", err); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198541
+ /* } */ case 36:
198465
198542
  w.metadataServer = ptrType$3.nil;
198466
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: metadata server close complete")])); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198467
- /* } */ case 27:
198468
- /* */ if (!($interfaceIsEqual(w.window, $ifaceNil))) { $s = 38; continue; }
198469
- /* */ $s = 39; continue;
198470
- /* if (!($interfaceIsEqual(w.window, $ifaceNil))) { */ case 38:
198543
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: metadata server close complete")])); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198544
+ /* } */ case 28:
198545
+ /* */ if (!($interfaceIsEqual(w.window, $ifaceNil))) { $s = 39; continue; }
198546
+ /* */ $s = 40; continue;
198547
+ /* if (!($interfaceIsEqual(w.window, $ifaceNil))) { */ case 39:
198471
198548
  window$1 = w.window;
198472
198549
  eventLoopStop = w.eventLoopStop;
198473
198550
  eventLoopDone = w.eventLoopDone;
198474
198551
  if (!(eventLoopStop === $chanNil)) {
198475
198552
  $close(eventLoopStop);
198476
198553
  }
198477
- /* */ if (!(eventLoopDone === $chanNil)) { $s = 40; continue; }
198478
- /* */ $s = 41; continue;
198479
- /* if (!(eventLoopDone === $chanNil)) { */ case 40:
198554
+ /* */ if (!(eventLoopDone === $chanNil)) { $s = 41; continue; }
198555
+ /* */ $s = 42; continue;
198556
+ /* if (!(eventLoopDone === $chanNil)) { */ case 41:
198480
198557
  _selection = $select([[eventLoopDone], []]);
198481
- /* */ if (_selection[0] === 0) { $s = 42; continue; }
198482
- /* */ if (_selection[0] === 1) { $s = 43; continue; }
198483
- /* */ $s = 44; continue;
198484
- /* if (_selection[0] === 0) { */ case 42:
198485
- $s = 44; continue;
198486
- /* } else if (_selection[0] === 1) { */ case 43:
198487
- $r = sendWindowEventNonBlocking(window$1, (x = new screenWindowDetachEvent.ptr(), new x.constructor.elem(x))); /* */ $s = 45; case 45: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198488
- /* } */ case 44:
198489
- _r$5 = $recv(eventLoopDone); /* */ $s = 46; case 46: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
198490
- _r$5[0];
198491
- /* } */ case 41:
198492
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: window release begin")])); /* */ $s = 47; case 47: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198493
- $r = window$1.Release(); /* */ $s = 48; case 48: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198558
+ /* */ if (_selection[0] === 0) { $s = 43; continue; }
198559
+ /* */ if (_selection[0] === 1) { $s = 44; continue; }
198560
+ /* */ $s = 45; continue;
198561
+ /* if (_selection[0] === 0) { */ case 43:
198562
+ $s = 45; continue;
198563
+ /* } else if (_selection[0] === 1) { */ case 44:
198564
+ $r = sendWindowEventNonBlocking(window$1, (x = new screenWindowDetachEvent.ptr(), new x.constructor.elem(x))); /* */ $s = 46; case 46: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198565
+ /* } */ case 45:
198566
+ _r$6 = $recv(eventLoopDone); /* */ $s = 47; case 47: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
198567
+ _r$6[0];
198568
+ /* } */ case 42:
198569
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: window release begin")])); /* */ $s = 48; case 48: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198570
+ $r = window$1.Release(); /* */ $s = 49; case 49: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198494
198571
  w.window = $ifaceNil;
198495
198572
  w.eventLoopStop = $chanNil;
198496
198573
  w.eventLoopDone = $chanNil;
198497
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: window release complete")])); /* */ $s = 49; case 49: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198498
- /* } */ case 39:
198499
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: notifying window close begin")])); /* */ $s = 50; case 50: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198574
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: window release complete")])); /* */ $s = 50; case 50: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198575
+ /* } */ case 40:
198576
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: notifying window close begin")])); /* */ $s = 51; case 51: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198500
198577
  _selection$1 = $select([[w.winCloseChannel, (x$1 = new structType.ptr(), new x$1.constructor.elem(x$1))], []]);
198501
198578
  if (_selection$1[0] === 0) {
198502
198579
  } else if (_selection$1[0] === 1) {
198503
198580
  }
198504
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: notifying window close complete")])); /* */ $s = 51; case 51: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198505
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: process info removal begin")])); /* */ $s = 52; case 52: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198506
- _r$6 = w.processInfoManager.RemoveProcessInfo(w.screenID); /* */ $s = 53; case 53: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
198507
- err = _r$6;
198508
- /* */ if (!($interfaceIsEqual(err, $ifaceNil)) && !os.IsNotExist(err)) { $s = 54; continue; }
198509
- /* */ $s = 55; continue;
198510
- /* if (!($interfaceIsEqual(err, $ifaceNil)) && !os.IsNotExist(err)) { */ case 54:
198511
- $r = errs.Print("Cannot remove process info file", err); /* */ $s = 56; case 56: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198512
- /* } */ case 55:
198513
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: process info removal complete")])); /* */ $s = 57; case 57: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198581
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: notifying window close complete")])); /* */ $s = 52; case 52: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198582
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: process info removal begin")])); /* */ $s = 53; case 53: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198583
+ _r$7 = w.processInfoManager.RemoveProcessInfo(w.screenID); /* */ $s = 54; case 54: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
198584
+ err = _r$7;
198585
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil)) && !os.IsNotExist(err)) { $s = 55; continue; }
198586
+ /* */ $s = 56; continue;
198587
+ /* if (!($interfaceIsEqual(err, $ifaceNil)) && !os.IsNotExist(err)) { */ case 55:
198588
+ $r = errs.Print("Cannot remove process info file", err); /* */ $s = 57; case 57: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198589
+ /* } */ case 56:
198590
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: process info removal complete")])); /* */ $s = 58; case 58: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198514
198591
  w.screen = $ifaceNil;
198515
198592
  _ref = w.onClose;
198516
198593
  _i = 0;
198517
- /* while (true) { */ case 58:
198518
- /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 59; continue; }
198594
+ /* while (true) { */ case 59:
198595
+ /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 60; continue; }
198519
198596
  index = _i;
198520
198597
  callback = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
198521
- $r = log.Printf("Screen close lifecycle: callback %d begin", new sliceType$2([new $Int(index)])); /* */ $s = 60; case 60: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198522
- $r = callback(); /* */ $s = 61; case 61: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198523
- $r = log.Printf("Screen close lifecycle: callback %d complete", new sliceType$2([new $Int(index)])); /* */ $s = 62; case 62: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198598
+ $r = log.Printf("Screen close lifecycle: callback %d begin", new sliceType([new $Int(index)])); /* */ $s = 61; case 61: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198599
+ $r = callback(); /* */ $s = 62; case 62: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198600
+ $r = log.Printf("Screen close lifecycle: callback %d complete", new sliceType([new $Int(index)])); /* */ $s = 63; case 63: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198524
198601
  _i++;
198525
- $s = 58; continue;
198526
- case 59:
198527
- w.onClose = sliceType$1.nil;
198602
+ $s = 59; continue;
198603
+ case 60:
198604
+ w.onClose = sliceType$2.nil;
198528
198605
  $close(closeDone$1);
198529
- _r$7 = time.Since($clone(closeStartedAt, time.Time)); /* */ $s = 63; case 63: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
198530
- _arg$1 = _r$7;
198531
- $r = log.Printf("Screen close lifecycle: Close completed elapsed=%s", new sliceType$2([_arg$1])); /* */ $s = 64; case 64: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198606
+ _r$8 = time.Since($clone(closeStartedAt, time.Time)); /* */ $s = 64; case 64: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
198607
+ _arg$2 = _r$8;
198608
+ $r = log.Printf("Screen close lifecycle: Close completed elapsed=%s", new sliceType([_arg$2])); /* */ $s = 65; case 65: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198532
198609
  $s = -1; return;
198533
- /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.Close, $c: true, $r, _arg, _arg$1, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _ref, _selection, _selection$1, callback, closeDone, closeDone$1, closeStartedAt, err, eventLoopDone, eventLoopStop, index, w, window$1, x, x$1, $s};return $f;
198610
+ /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.Close, $c: true, $r, _arg, _arg$1, _arg$2, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _selection, _selection$1, callback, closeDone, closeDone$1, closeStartedAt, err, eventLoopDone, eventLoopStop, index, w, window$1, x, x$1, $s};return $f;
198534
198611
  };
198535
198612
  ScreenWindow.prototype.Close = function() { return this.$val.Close(); };
198536
198613
  ScreenWindow.ptr.prototype.OnClose = function(callback) {
@@ -198658,80 +198735,82 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
198658
198735
  /* */ if (e$1.To === 0) { $s = 17; continue; }
198659
198736
  /* */ $s = 18; continue;
198660
198737
  /* if (e$1.To === 0) { */ case 17:
198738
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: lifecycle StageDead observed")])); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198739
+ $r = w[0].setCloseReason("window lifecycle StageDead"); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198661
198740
  $go($methodVal(w[0], "Close"), []);
198662
- $s = 19; case 19: return;
198741
+ $s = 21; case 21: return;
198663
198742
  /* } */ case 18:
198664
198743
  $s = 15; continue;
198665
198744
  /* } else if ($assertType(_ref, key.Event, true)[1]) { */ case 10:
198666
198745
  e$2 = $clone(_ref.$val, key.Event);
198667
- _r$2 = $select([[w[0].keyEventChan, $clone(e$2, key.Event)], [eventLoopStop[0]]]); /* */ $s = 20; case 20: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198746
+ _r$2 = $select([[w[0].keyEventChan, $clone(e$2, key.Event)], [eventLoopStop[0]]]); /* */ $s = 22; case 22: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
198668
198747
  _selection$1 = _r$2;
198669
- /* */ if (_selection$1[0] === 0) { $s = 21; continue; }
198670
- /* */ if (_selection$1[0] === 1) { $s = 22; continue; }
198671
- /* */ $s = 23; continue;
198672
- /* if (_selection$1[0] === 0) { */ case 21:
198673
- $s = 23; continue;
198674
- /* } else if (_selection$1[0] === 1) { */ case 22:
198675
- $s = 24; case 24: return;
198676
- /* } */ case 23:
198677
- $r = w[0].stats.NotifyInteraction(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198748
+ /* */ if (_selection$1[0] === 0) { $s = 23; continue; }
198749
+ /* */ if (_selection$1[0] === 1) { $s = 24; continue; }
198750
+ /* */ $s = 25; continue;
198751
+ /* if (_selection$1[0] === 0) { */ case 23:
198752
+ $s = 25; continue;
198753
+ /* } else if (_selection$1[0] === 1) { */ case 24:
198754
+ $s = 26; case 26: return;
198755
+ /* } */ case 25:
198756
+ $r = w[0].stats.NotifyInteraction(); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198678
198757
  $s = 15; continue;
198679
198758
  /* } else if ($assertType(_ref, mouse.Event, true)[1]) { */ case 11:
198680
198759
  e$3 = $clone(_ref.$val, mouse.Event);
198681
- _r$3 = $select([[w[0].mouseEventChan, $clone(e$3, mouse.Event)], [eventLoopStop[0]]]); /* */ $s = 26; case 26: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
198760
+ _r$3 = $select([[w[0].mouseEventChan, $clone(e$3, mouse.Event)], [eventLoopStop[0]]]); /* */ $s = 28; case 28: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
198682
198761
  _selection$2 = _r$3;
198683
- /* */ if (_selection$2[0] === 0) { $s = 27; continue; }
198684
- /* */ if (_selection$2[0] === 1) { $s = 28; continue; }
198685
- /* */ $s = 29; continue;
198686
- /* if (_selection$2[0] === 0) { */ case 27:
198687
- $s = 29; continue;
198688
- /* } else if (_selection$2[0] === 1) { */ case 28:
198689
- $s = 30; case 30: return;
198690
- /* } */ case 29:
198691
- $r = w[0].stats.NotifyInteraction(); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198762
+ /* */ if (_selection$2[0] === 0) { $s = 29; continue; }
198763
+ /* */ if (_selection$2[0] === 1) { $s = 30; continue; }
198764
+ /* */ $s = 31; continue;
198765
+ /* if (_selection$2[0] === 0) { */ case 29:
198766
+ $s = 31; continue;
198767
+ /* } else if (_selection$2[0] === 1) { */ case 30:
198768
+ $s = 32; case 32: return;
198769
+ /* } */ case 31:
198770
+ $r = w[0].stats.NotifyInteraction(); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198692
198771
  $s = 15; continue;
198693
198772
  /* } else if ($assertType(_ref, size.Event, true)[1]) { */ case 12:
198694
198773
  e$4 = $clone(_ref.$val, size.Event);
198695
- _r$4 = $select([[w[0].sizeEventChan, $clone(e$4, size.Event)], [eventLoopStop[0]]]); /* */ $s = 32; case 32: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
198774
+ _r$4 = $select([[w[0].sizeEventChan, $clone(e$4, size.Event)], [eventLoopStop[0]]]); /* */ $s = 34; case 34: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
198696
198775
  _selection$3 = _r$4;
198697
- /* */ if (_selection$3[0] === 0) { $s = 33; continue; }
198698
- /* */ if (_selection$3[0] === 1) { $s = 34; continue; }
198699
- /* */ $s = 35; continue;
198700
- /* if (_selection$3[0] === 0) { */ case 33:
198701
- $s = 35; continue;
198702
- /* } else if (_selection$3[0] === 1) { */ case 34:
198703
- $s = 36; case 36: return;
198704
- /* } */ case 35:
198776
+ /* */ if (_selection$3[0] === 0) { $s = 35; continue; }
198777
+ /* */ if (_selection$3[0] === 1) { $s = 36; continue; }
198778
+ /* */ $s = 37; continue;
198779
+ /* if (_selection$3[0] === 0) { */ case 35:
198780
+ $s = 37; continue;
198781
+ /* } else if (_selection$3[0] === 1) { */ case 36:
198782
+ $s = 38; case 38: return;
198783
+ /* } */ case 37:
198705
198784
  image.Point.copy(w[0].windowSize, $clone(e$4, size.Event).Size());
198706
- $r = w[0].stats.NotifyInteraction(); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198785
+ $r = w[0].stats.NotifyInteraction(); /* */ $s = 39; case 39: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198707
198786
  $s = 15; continue;
198708
198787
  /* } else if ($assertType(_ref, focus.Event, true)[1]) { */ case 13:
198709
198788
  e$5 = $clone(_ref.$val, focus.Event);
198710
- _r$5 = $select([[w[0].focusEventChan, $clone(e$5, focus.Event)], [eventLoopStop[0]]]); /* */ $s = 38; case 38: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
198789
+ _r$5 = $select([[w[0].focusEventChan, $clone(e$5, focus.Event)], [eventLoopStop[0]]]); /* */ $s = 40; case 40: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
198711
198790
  _selection$4 = _r$5;
198712
- /* */ if (_selection$4[0] === 0) { $s = 39; continue; }
198713
- /* */ if (_selection$4[0] === 1) { $s = 40; continue; }
198714
- /* */ $s = 41; continue;
198715
- /* if (_selection$4[0] === 0) { */ case 39:
198716
- $s = 41; continue;
198717
- /* } else if (_selection$4[0] === 1) { */ case 40:
198718
- $s = 42; case 42: return;
198719
- /* } */ case 41:
198720
- $r = w[0].stats.NotifyInteraction(); /* */ $s = 43; case 43: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198791
+ /* */ if (_selection$4[0] === 0) { $s = 41; continue; }
198792
+ /* */ if (_selection$4[0] === 1) { $s = 42; continue; }
198793
+ /* */ $s = 43; continue;
198794
+ /* if (_selection$4[0] === 0) { */ case 41:
198795
+ $s = 43; continue;
198796
+ /* } else if (_selection$4[0] === 1) { */ case 42:
198797
+ $s = 44; case 44: return;
198798
+ /* } */ case 43:
198799
+ $r = w[0].stats.NotifyInteraction(); /* */ $s = 45; case 45: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198721
198800
  $s = 15; continue;
198722
198801
  /* } else if ($assertType(_ref, touch.Event, true)[1]) { */ case 14:
198723
198802
  e$6 = $clone(_ref.$val, touch.Event);
198724
- _r$6 = $select([[w[0].touchEventChan, $clone(e$6, touch.Event)], [eventLoopStop[0]]]); /* */ $s = 44; case 44: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
198803
+ _r$6 = $select([[w[0].touchEventChan, $clone(e$6, touch.Event)], [eventLoopStop[0]]]); /* */ $s = 46; case 46: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
198725
198804
  _selection$5 = _r$6;
198726
- /* */ if (_selection$5[0] === 0) { $s = 45; continue; }
198727
- /* */ if (_selection$5[0] === 1) { $s = 46; continue; }
198728
- /* */ $s = 47; continue;
198729
- /* if (_selection$5[0] === 0) { */ case 45:
198730
- $s = 47; continue;
198731
- /* } else if (_selection$5[0] === 1) { */ case 46:
198732
- $s = 48; case 48: return;
198733
- /* } */ case 47:
198734
- $r = w[0].stats.NotifyInteraction(); /* */ $s = 49; case 49: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198805
+ /* */ if (_selection$5[0] === 0) { $s = 47; continue; }
198806
+ /* */ if (_selection$5[0] === 1) { $s = 48; continue; }
198807
+ /* */ $s = 49; continue;
198808
+ /* if (_selection$5[0] === 0) { */ case 47:
198809
+ $s = 49; continue;
198810
+ /* } else if (_selection$5[0] === 1) { */ case 48:
198811
+ $s = 50; case 50: return;
198812
+ /* } */ case 49:
198813
+ $r = w[0].stats.NotifyInteraction(); /* */ $s = 51; case 51: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
198735
198814
  /* } */ case 15:
198736
198815
  $s = 1; continue;
198737
198816
  case 2:
@@ -199026,7 +199105,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199026
199105
  /* } */ case 5:
199027
199106
  _r$1 = time.Now(); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
199028
199107
  latencyStart = $clone(_r$1, time.Time);
199029
- _r$2 = w.responsiveSender.SendServerWaitResponse(46, new sliceType([])); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
199108
+ _r$2 = w.responsiveSender.SendServerWaitResponse(46, new sliceType$1([])); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
199030
199109
  _tuple = _r$2;
199031
199110
  serverTimestampData = _tuple[0];
199032
199111
  err = _tuple[1];
@@ -199117,7 +199196,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199117
199196
  };
199118
199197
  ScreenWindow.prototype.getFrameHealthCheckTimeout = function() { return this.$val.getFrameHealthCheckTimeout(); };
199119
199198
  ScreenWindow.ptr.prototype.startScreenHealthChecking = function() {
199120
- var {_r, _r$1, _r$2, _r$3, _r$4, _r$5, err, lastImpulseAt, w, $s, $r, $c} = $restore(this, {});
199199
+ var {_arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, err, lastImpulseAt, w, $s, $r, $c} = $restore(this, {});
199121
199200
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
199122
199201
  w = this;
199123
199202
  /* while (true) { */ case 1:
@@ -199135,32 +199214,37 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199135
199214
  /* */ if (_r$2) { $s = 7; continue; }
199136
199215
  /* */ $s = 8; continue;
199137
199216
  /* if (_r$2) { */ case 7:
199138
- _r$3 = w.closeScreen(); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
199139
- err = _r$3;
199140
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 12; continue; }
199141
- /* */ $s = 13; continue;
199142
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 12:
199143
- $r = errs.Print("Cannot close screen", err); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199144
- /* } */ case 13:
199145
- _r$4 = w.isClosed(); /* */ $s = 17; case 17: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
199146
- /* */ if (_r$4) { $s = 15; continue; }
199217
+ _r$3 = $clone(lastImpulseAt, time.Time).Format("2006-01-02T15:04:05.999999999Z07:00"); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
199218
+ _arg = new $String(_r$3);
199219
+ _arg$1 = w.getFrameHealthCheckTimeout();
199220
+ $r = log.Printf("Screen health check timeout: lastImpulseAt=%s timeout=%s", new sliceType([_arg, _arg$1])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199221
+ $r = w.setCloseReason("screen health check timeout"); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199222
+ _r$4 = w.closeScreen(); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
199223
+ err = _r$4;
199224
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 15; continue; }
199147
199225
  /* */ $s = 16; continue;
199148
- /* if (_r$4) { */ case 15:
199149
- $s = -1; return;
199226
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 15:
199227
+ $r = errs.Print("Cannot close screen", err); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199150
199228
  /* } */ case 16:
199151
- _r$5 = w.retriableOpen(-1, $methodVal(w, "openScreen")); /* */ $s = 18; case 18: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
199152
- err = _r$5;
199153
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 19; continue; }
199154
- /* */ $s = 20; continue;
199155
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 19:
199156
- $r = errs.Print("Reconnecting screen", err); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199157
- /* } */ case 20:
199229
+ _r$5 = w.isClosed(); /* */ $s = 20; case 20: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
199230
+ /* */ if (_r$5) { $s = 18; continue; }
199231
+ /* */ $s = 19; continue;
199232
+ /* if (_r$5) { */ case 18:
199233
+ $s = -1; return;
199234
+ /* } */ case 19:
199235
+ _r$6 = w.retriableOpen(-1, $methodVal(w, "openScreen")); /* */ $s = 21; case 21: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
199236
+ err = _r$6;
199237
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 22; continue; }
199238
+ /* */ $s = 23; continue;
199239
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 22:
199240
+ $r = errs.Print("Reconnecting screen", err); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199241
+ /* } */ case 23:
199158
199242
  /* } */ case 8:
199159
- $r = time.Sleep(new time.Duration(0, 1000000000)); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199243
+ $r = time.Sleep(new time.Duration(0, 1000000000)); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199160
199244
  $s = 1; continue;
199161
199245
  case 2:
199162
199246
  $s = -1; return;
199163
- /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.startScreenHealthChecking, $c: true, $r, _r, _r$1, _r$2, _r$3, _r$4, _r$5, err, lastImpulseAt, w, $s};return $f;
199247
+ /* */ } return; } var $f = {$blk: ScreenWindow.ptr.prototype.startScreenHealthChecking, $c: true, $r, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, err, lastImpulseAt, w, $s};return $f;
199164
199248
  };
199165
199249
  ScreenWindow.prototype.startScreenHealthChecking = function() { return this.$val.startScreenHealthChecking(); };
199166
199250
  ScreenWindow.ptr.prototype.openScreen = function() {
@@ -199173,34 +199257,35 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199173
199257
  /* */ if (_r) { $s = 2; continue; }
199174
199258
  /* */ $s = 3; continue;
199175
199259
  /* if (_r) { */ case 2:
199176
- _r$1 = errs.Errorf("screen window is closed", sliceType$2.nil); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
199260
+ _r$1 = errs.Errorf("screen window is closed", sliceType.nil); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
199177
199261
  $24r = _r$1;
199178
199262
  $s = 6; case 6: return $24r;
199179
199263
  /* } */ case 3:
199180
199264
  err = $ifaceNil;
199181
- _r$2 = netpacket.Create(w.screenDriver); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
199265
+ $r = log.Printf("Screen open begin: screenDriver=%s metadataDriver=%s secure=%t", new sliceType([new netpacket.Driver(w.screenDriver), new netstream.Driver(w.metadataDriver), new $Bool(w.secure)])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199266
+ _r$2 = netpacket.Create(w.screenDriver); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
199182
199267
  _tuple = _r$2;
199183
199268
  connect = _tuple[0];
199184
199269
  err = _tuple[1];
199185
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 8; continue; }
199186
- /* */ $s = 9; continue;
199187
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 8:
199270
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 9; continue; }
199271
+ /* */ $s = 10; continue;
199272
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 9:
199188
199273
  $24r$1 = err;
199189
- $s = 10; case 10: return $24r$1;
199190
- /* } */ case 9:
199191
- _r$3 = connect(w.screenHost, new time.Duration(0, 1000000000), w.secure); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
199274
+ $s = 11; case 11: return $24r$1;
199275
+ /* } */ case 10:
199276
+ _r$3 = connect(w.screenHost, new time.Duration(0, 1000000000), w.secure); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
199192
199277
  _tuple$1 = _r$3;
199193
199278
  conn = _tuple$1[0];
199194
199279
  err = _tuple$1[1];
199195
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 12; continue; }
199196
- /* */ $s = 13; continue;
199197
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 12:
199280
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 13; continue; }
199281
+ /* */ $s = 14; continue;
199282
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 13:
199198
199283
  $24r$2 = err;
199199
- $s = 14; case 14: return $24r$2;
199200
- /* } */ case 13:
199284
+ $s = 15; case 15: return $24r$2;
199285
+ /* } */ case 14:
199201
199286
  w.screenConn = conn;
199202
199287
  maxPacketSize = netpacket.GetMaxPacketSize(w.screenDriver);
199203
- _r$4 = netframe.NewFrameCollector(conn, maxPacketSize); /* */ $s = 15; case 15: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
199288
+ _r$4 = netframe.NewFrameCollector(conn, maxPacketSize); /* */ $s = 16; case 16: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
199204
199289
  frameCollector = _r$4;
199205
199290
  w.collectionLoop = player.NewCollectionLoop(frameCollector, w.stats);
199206
199291
  w.collectionLoop.Start();
@@ -199209,41 +199294,44 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199209
199294
  w.renderingLoop = player.NewRenderingLoop(w.decoderLoop, w.window, w.stats);
199210
199295
  w.renderingLoop.Start();
199211
199296
  screenSender = w.createScreenSender();
199212
- msgData = (new sliceType($stringToBytes(w.clientID + w.clientSecret + w.screenID)));
199213
- _r$5 = screenSender.Send(1, msgData); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
199297
+ msgData = (new sliceType$1($stringToBytes(w.clientID + w.clientSecret + w.screenID)));
199298
+ _r$5 = screenSender.Send(1, msgData); /* */ $s = 17; case 17: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
199214
199299
  err = _r$5;
199215
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 17; continue; }
199216
- /* */ $s = 18; continue;
199217
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 17:
199218
- _r$6 = w.closeScreenLocked(); /* */ $s = 19; case 19: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
199300
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 18; continue; }
199301
+ /* */ $s = 19; continue;
199302
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 18:
199303
+ $r = log.Printf("Screen connect send failed: %v", new sliceType([err])); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199304
+ _r$6 = w.closeScreenLocked(); /* */ $s = 21; case 21: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
199219
199305
  closeErr = _r$6;
199220
- /* */ if (!($interfaceIsEqual(closeErr, $ifaceNil))) { $s = 20; continue; }
199221
- /* */ $s = 21; continue;
199222
- /* if (!($interfaceIsEqual(closeErr, $ifaceNil))) { */ case 20:
199223
- $r = errs.Print("Cannot clean up screen after connection failure", closeErr); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199224
- /* } */ case 21:
199306
+ /* */ if (!($interfaceIsEqual(closeErr, $ifaceNil))) { $s = 22; continue; }
199307
+ /* */ $s = 23; continue;
199308
+ /* if (!($interfaceIsEqual(closeErr, $ifaceNil))) { */ case 22:
199309
+ $r = errs.Print("Cannot clean up screen after connection failure", closeErr); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199310
+ /* } */ case 23:
199225
199311
  $24r$3 = err;
199226
- $s = 23; case 23: return $24r$3;
199227
- /* } */ case 18:
199312
+ $s = 25; case 25: return $24r$3;
199313
+ /* } */ case 19:
199228
199314
  w.pinger = netclient.NewPinger(screenSender);
199229
- $r = w.pinger.Start(); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199230
- _r$7 = RegisterVideoStream(screenSender); /* */ $s = 25; case 25: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
199315
+ $r = w.pinger.Start(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199316
+ _r$7 = RegisterVideoStream(screenSender); /* */ $s = 27; case 27: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
199231
199317
  err = _r$7;
199232
- /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 26; continue; }
199233
- /* */ $s = 27; continue;
199234
- /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 26:
199235
- _r$8 = w.closeScreenLocked(); /* */ $s = 28; case 28: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
199318
+ /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 28; continue; }
199319
+ /* */ $s = 29; continue;
199320
+ /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 28:
199321
+ $r = log.Printf("Screen video stream registration failed: %v", new sliceType([err])); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199322
+ _r$8 = w.closeScreenLocked(); /* */ $s = 31; case 31: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }
199236
199323
  closeErr$1 = _r$8;
199237
- /* */ if (!($interfaceIsEqual(closeErr$1, $ifaceNil))) { $s = 29; continue; }
199238
- /* */ $s = 30; continue;
199239
- /* if (!($interfaceIsEqual(closeErr$1, $ifaceNil))) { */ case 29:
199240
- $r = errs.Print("Cannot clean up screen after registration failure", closeErr$1); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199241
- /* } */ case 30:
199324
+ /* */ if (!($interfaceIsEqual(closeErr$1, $ifaceNil))) { $s = 32; continue; }
199325
+ /* */ $s = 33; continue;
199326
+ /* if (!($interfaceIsEqual(closeErr$1, $ifaceNil))) { */ case 32:
199327
+ $r = errs.Print("Cannot clean up screen after registration failure", closeErr$1); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199328
+ /* } */ case 33:
199242
199329
  $24r$4 = err;
199243
- $s = 32; case 32: return $24r$4;
199244
- /* } */ case 27:
199330
+ $s = 35; case 35: return $24r$4;
199331
+ /* } */ case 29:
199332
+ $r = log.Println(new sliceType([new $String("Screen open complete")])); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199245
199333
  $24r$5 = $ifaceNil;
199246
- $s = 33; case 33: return $24r$5;
199334
+ $s = 37; case 37: return $24r$5;
199247
199335
  /* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: ScreenWindow.ptr.prototype.openScreen, $c: true, $r, $24r, $24r$1, $24r$2, $24r$3, $24r$4, $24r$5, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _tuple, _tuple$1, closeErr, closeErr$1, conn, connect, err, frameCollector, maxPacketSize, msgData, screenSender, w, $s, $deferred};return $f; } }
199248
199336
  };
199249
199337
  ScreenWindow.prototype.openScreen = function() { return this.$val.openScreen(); };
@@ -199252,14 +199340,14 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199252
199340
  /* */ $s = $s || 0; var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $curGoroutine.deferStack.push($deferred);
199253
199341
  w = [w];
199254
199342
  w[0] = this;
199255
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: screen mutex lock begin")])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199343
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen mutex lock begin")])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199256
199344
  $r = w[0].screenMu.Lock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199257
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: screen mutex lock complete")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199345
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen mutex lock complete")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199258
199346
  $deferred.push([(function(w) { return function $b() {
199259
199347
  var {$s, $r, $c} = $restore(this, {});
199260
199348
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
199261
199349
  $r = w[0].screenMu.Unlock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199262
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: screen mutex unlock complete")])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199350
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen mutex unlock complete")])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199263
199351
  $s = -1; return;
199264
199352
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, $s};return $f;
199265
199353
  }; })(w), []]);
@@ -199277,23 +199365,23 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199277
199365
  /* */ if (!(w.collectionLoop === ptrType$5.nil)) { $s = 1; continue; }
199278
199366
  /* */ $s = 2; continue;
199279
199367
  /* if (!(w.collectionLoop === ptrType$5.nil)) { */ case 1:
199280
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: collection loop stop begin")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199368
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: collection loop stop begin")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199281
199369
  w.collectionLoop.Stop();
199282
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: collection loop stop complete")])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199370
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: collection loop stop complete")])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199283
199371
  /* } */ case 2:
199284
199372
  /* */ if (!(w.decoderLoop === ptrType$6.nil)) { $s = 5; continue; }
199285
199373
  /* */ $s = 6; continue;
199286
199374
  /* if (!(w.decoderLoop === ptrType$6.nil)) { */ case 5:
199287
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: decoder loop stop begin")])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199375
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: decoder loop stop begin")])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199288
199376
  w.decoderLoop.Stop();
199289
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: decoder loop stop complete")])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199377
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: decoder loop stop complete")])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199290
199378
  /* } */ case 6:
199291
199379
  /* */ if (!(w.renderingLoop === ptrType$7.nil)) { $s = 9; continue; }
199292
199380
  /* */ $s = 10; continue;
199293
199381
  /* if (!(w.renderingLoop === ptrType$7.nil)) { */ case 9:
199294
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: rendering loop stop begin")])); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199382
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: rendering loop stop begin")])); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199295
199383
  w.renderingLoop.Stop();
199296
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: rendering loop stop complete")])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199384
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: rendering loop stop complete")])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199297
199385
  /* } */ case 10:
199298
199386
  _tuple = $assertType(w.window, interfaceType, true);
199299
199387
  canceler = _tuple[0];
@@ -199301,14 +199389,14 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199301
199389
  /* */ if (ok) { $s = 13; continue; }
199302
199390
  /* */ $s = 14; continue;
199303
199391
  /* if (ok) { */ case 13:
199304
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: pending window uploads cancel begin")])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199392
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: pending window uploads cancel begin")])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199305
199393
  $r = canceler.CancelPendingUploads(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199306
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: pending window uploads cancel complete")])); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199394
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: pending window uploads cancel complete")])); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199307
199395
  /* } */ case 14:
199308
199396
  /* */ if (!(w.pinger === ptrType$13.nil)) { $s = 18; continue; }
199309
199397
  /* */ $s = 19; continue;
199310
199398
  /* if (!(w.pinger === ptrType$13.nil)) { */ case 18:
199311
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: pinger close begin")])); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199399
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: pinger close begin")])); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199312
199400
  $r = w.pinger.Close(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199313
199401
  waitDuration = w.timeoutDuration;
199314
199402
  if ((waitDuration.$high < 0 || (waitDuration.$high === 0 && waitDuration.$low <= 0))) {
@@ -199319,10 +199407,10 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199319
199407
  /* */ if (!pingerStopped) { $s = 23; continue; }
199320
199408
  /* */ $s = 24; continue;
199321
199409
  /* if (!pingerStopped) { */ case 23:
199322
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: pinger wait timed out; forcing transport close")])); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199410
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: pinger wait timed out; forcing transport close")])); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199323
199411
  /* } */ case 24:
199324
199412
  w.pinger = ptrType$13.nil;
199325
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: pinger close complete")])); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199413
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: pinger close complete")])); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199326
199414
  /* } */ case 19:
199327
199415
  errList = new sliceType$3([]);
199328
199416
  /* */ if (!($interfaceIsEqual(w.screenConn, $ifaceNil))) { $s = 27; continue; }
@@ -199332,62 +199420,62 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199332
199420
  /* */ $s = 30; continue;
199333
199421
  /* if (pingerStopped) { */ case 29:
199334
199422
  screenSender = w.createScreenSender();
199335
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: video stream unregister begin")])); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199423
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: video stream unregister begin")])); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199336
199424
  _r$1 = UnregisterVideoStream(screenSender); /* */ $s = 32; case 32: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
199337
199425
  err = _r$1;
199338
199426
  /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 33; continue; }
199339
199427
  /* */ $s = 34; continue;
199340
199428
  /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 33:
199341
- _r$2 = errs.Errorf("Could not unregister video stream: %s", new sliceType$2([err])); /* */ $s = 35; case 35: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
199429
+ _r$2 = errs.Errorf("Could not unregister video stream: %s", new sliceType([err])); /* */ $s = 35; case 35: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
199342
199430
  errList = $append(errList, _r$2);
199343
199431
  /* } */ case 34:
199344
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: video stream unregister complete")])); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199345
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: disconnect send begin")])); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199346
- _r$3 = screenSender.Send(3, new sliceType([])); /* */ $s = 38; case 38: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
199432
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: video stream unregister complete")])); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199433
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: disconnect send begin")])); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199434
+ _r$3 = screenSender.Send(3, new sliceType$1([])); /* */ $s = 38; case 38: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
199347
199435
  err = _r$3;
199348
199436
  /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 39; continue; }
199349
199437
  /* */ $s = 40; continue;
199350
199438
  /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 39:
199351
- _r$4 = errs.Errorf("Could not send disconnect msg to screen: %s", new sliceType$2([err])); /* */ $s = 41; case 41: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
199439
+ _r$4 = errs.Errorf("Could not send disconnect msg to screen: %s", new sliceType([err])); /* */ $s = 41; case 41: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
199352
199440
  errList = $append(errList, _r$4);
199353
199441
  /* } */ case 40:
199354
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: disconnect send complete")])); /* */ $s = 42; case 42: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199442
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: disconnect send complete")])); /* */ $s = 42; case 42: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199355
199443
  /* } */ case 30:
199356
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: screen connection close begin")])); /* */ $s = 43; case 43: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199444
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen connection close begin")])); /* */ $s = 43; case 43: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199357
199445
  _r$5 = w.screenConn.Close(); /* */ $s = 44; case 44: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
199358
199446
  err$1 = _r$5;
199359
199447
  /* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 45; continue; }
199360
199448
  /* */ $s = 46; continue;
199361
199449
  /* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 45:
199362
- _r$6 = errs.Errorf("Could not close screen connection: %s", new sliceType$2([err$1])); /* */ $s = 47; case 47: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
199450
+ _r$6 = errs.Errorf("Could not close screen connection: %s", new sliceType([err$1])); /* */ $s = 47; case 47: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
199363
199451
  errList = $append(errList, _r$6);
199364
199452
  /* } */ case 46:
199365
199453
  w.screenConn = $ifaceNil;
199366
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: screen connection close complete")])); /* */ $s = 48; case 48: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199454
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: screen connection close complete")])); /* */ $s = 48; case 48: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199367
199455
  /* } */ case 28:
199368
199456
  /* */ if (!(w.collectionLoop === ptrType$5.nil)) { $s = 49; continue; }
199369
199457
  /* */ $s = 50; continue;
199370
199458
  /* if (!(w.collectionLoop === ptrType$5.nil)) { */ case 49:
199371
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: collection loop wait begin")])); /* */ $s = 51; case 51: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199459
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: collection loop wait begin")])); /* */ $s = 51; case 51: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199372
199460
  $r = w.collectionLoop.Wait(); /* */ $s = 52; case 52: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199373
199461
  w.collectionLoop = ptrType$5.nil;
199374
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: collection loop wait complete")])); /* */ $s = 53; case 53: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199462
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: collection loop wait complete")])); /* */ $s = 53; case 53: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199375
199463
  /* } */ case 50:
199376
199464
  /* */ if (!(w.decoderLoop === ptrType$6.nil)) { $s = 54; continue; }
199377
199465
  /* */ $s = 55; continue;
199378
199466
  /* if (!(w.decoderLoop === ptrType$6.nil)) { */ case 54:
199379
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: decoder loop wait begin")])); /* */ $s = 56; case 56: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199467
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: decoder loop wait begin")])); /* */ $s = 56; case 56: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199380
199468
  $r = w.decoderLoop.Wait(); /* */ $s = 57; case 57: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199381
199469
  w.decoderLoop = ptrType$6.nil;
199382
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: decoder loop wait complete")])); /* */ $s = 58; case 58: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199470
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: decoder loop wait complete")])); /* */ $s = 58; case 58: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199383
199471
  /* } */ case 55:
199384
199472
  /* */ if (!(w.renderingLoop === ptrType$7.nil)) { $s = 59; continue; }
199385
199473
  /* */ $s = 60; continue;
199386
199474
  /* if (!(w.renderingLoop === ptrType$7.nil)) { */ case 59:
199387
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: rendering loop wait begin")])); /* */ $s = 61; case 61: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199475
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: rendering loop wait begin")])); /* */ $s = 61; case 61: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199388
199476
  $r = w.renderingLoop.Wait(); /* */ $s = 62; case 62: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199389
199477
  w.renderingLoop = ptrType$7.nil;
199390
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: rendering loop wait complete")])); /* */ $s = 63; case 63: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199478
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: rendering loop wait complete")])); /* */ $s = 63; case 63: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199391
199479
  /* } */ case 60:
199392
199480
  if (errList.$length === 0) {
199393
199481
  $s = -1; return $ifaceNil;
@@ -199545,7 +199633,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199545
199633
  /* */ if ((x = _r$4, (x.$high > 0 || (x.$high === 0 && x.$low > 30000)))) { $s = 5; continue; }
199546
199634
  /* */ $s = 6; continue;
199547
199635
  /* if ((x = _r$4, (x.$high > 0 || (x.$high === 0 && x.$low > 30000)))) { */ case 5:
199548
- _r$5 = errs.Errorf("Waiting for process %s start timed out", new sliceType$2([new $String(screenID)])); /* */ $s = 10; case 10: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
199636
+ _r$5 = errs.Errorf("Waiting for process %s start timed out", new sliceType([new $String(screenID)])); /* */ $s = 10; case 10: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }
199549
199637
  $24r = _r$5;
199550
199638
  $s = 11; case 11: return $24r;
199551
199639
  /* } */ case 6:
@@ -199576,7 +199664,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199576
199664
  /* */ if ((x = _r$2, (x.$high > timeout.$high || (x.$high === timeout.$high && x.$low > timeout.$low)))) { $s = 5; continue; }
199577
199665
  /* */ $s = 6; continue;
199578
199666
  /* if ((x = _r$2, (x.$high > timeout.$high || (x.$high === timeout.$high && x.$low > timeout.$low)))) { */ case 5:
199579
- _r$3 = errs.Errorf("Waiting for process %s stop timed out", new sliceType$2([new $String(screenID)])); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
199667
+ _r$3 = errs.Errorf("Waiting for process %s stop timed out", new sliceType([new $String(screenID)])); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
199580
199668
  $24r = _r$3;
199581
199669
  $s = 9; case 9: return $24r;
199582
199670
  /* } */ case 6:
@@ -199694,20 +199782,20 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199694
199782
  /* */ if (args.$length < 1) { $s = 1; continue; }
199695
199783
  /* */ $s = 2; continue;
199696
199784
  /* if (args.$length < 1) { */ case 1:
199697
- $r = log.Println(new sliceType$2([new $String("__supra.setEncodingPreferences: missing JSON argument")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199785
+ $r = log.Println(new sliceType([new $String("__supra.setEncodingPreferences: missing JSON argument")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199698
199786
  $s = -1; return $ifaceNil;
199699
199787
  /* } */ case 2:
199700
199788
  jsonStr = $clone((0 >= args.$length ? ($throwRuntimeError("index out of range"), undefined) : args.$array[args.$offset + 0]), js.Value).String();
199701
199789
  prefs[0] = new stats.EncodingPreferences.ptr(0, 0, "", "", "");
199702
- _r = json.Unmarshal((new sliceType($stringToBytes(jsonStr))), prefs[0]); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
199790
+ _r = json.Unmarshal((new sliceType$1($stringToBytes(jsonStr))), prefs[0]); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
199703
199791
  err = _r;
199704
199792
  /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 5; continue; }
199705
199793
  /* */ $s = 6; continue;
199706
199794
  /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 5:
199707
- $r = log.Printf("__supra.setEncodingPreferences: invalid JSON: %v\n", new sliceType$2([err])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199795
+ $r = log.Printf("__supra.setEncodingPreferences: invalid JSON: %v\n", new sliceType([err])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199708
199796
  $s = -1; return $ifaceNil;
199709
199797
  /* } */ case 6:
199710
- $r = log.Printf("__supra.setEncodingPreferences: updating preferences: %+v\n", new sliceType$2([new prefs[0].constructor.elem(prefs[0])])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199798
+ $r = log.Printf("__supra.setEncodingPreferences: updating preferences: %+v\n", new sliceType([new prefs[0].constructor.elem(prefs[0])])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199711
199799
  w[0].SetEncodingPreferences($clone(prefs[0], stats.EncodingPreferences));
199712
199800
  $s = -1; return $ifaceNil;
199713
199801
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, _r, args, err, jsonStr, prefs, this$1, $s};return $f;
@@ -199724,7 +199812,7 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199724
199812
  /* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 3; continue; }
199725
199813
  /* */ $s = 4; continue;
199726
199814
  /* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 3:
199727
- $r = log.Printf("__supra.getCurrentStats: marshal error: %v\n", new sliceType$2([err])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199815
+ $r = log.Printf("__supra.getCurrentStats: marshal error: %v\n", new sliceType([err])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199728
199816
  $s = -1; return $ifaceNil;
199729
199817
  /* } */ case 4:
199730
199818
  $s = -1; return new $String(($bytesToString(data)));
@@ -199734,7 +199822,8 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199734
199822
  var {args, this$1, $s, $r, $c} = $restore(this, {this$1, args});
199735
199823
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
199736
199824
  $clone(supraValue[0], js.Value).Set("screenStopped", new $Bool(true));
199737
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: JS bridge requested close")])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199825
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: JS bridge requested close")])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199826
+ $r = w[0].setCloseReason("JS bridge stopScreen"); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199738
199827
  $go($methodVal(w[0], "Close"), []);
199739
199828
  $s = -1; return $ifaceNil;
199740
199829
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, args, this$1, $s};return $f;
@@ -199753,13 +199842,13 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199753
199842
  $clone(setEncodingPreferences[0], js.Func).Release();
199754
199843
  $clone(getCurrentStats[0], js.Func).Release();
199755
199844
  $clone(stopScreen[0], js.Func).Release();
199756
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: setting JS completion marker")])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199845
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: setting JS completion marker")])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199757
199846
  $clone(supraValue[0], js.Value).Set("screenStopCompleted", new $Bool(true));
199758
- $r = log.Println(new sliceType$2([new $String("Screen close lifecycle: JS completion marker set")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199847
+ $r = log.Println(new sliceType([new $String("Screen close lifecycle: JS completion marker set")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199759
199848
  $s = -1; return;
199760
199849
  /* */ } return; } var $f = {$blk: $b, $c: true, $r, $s};return $f;
199761
199850
  }; })(deactivateFacades, getCurrentStats, setEncodingPreferences, stopScreen, supraValue, w)); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199762
- $r = log.Println(new sliceType$2([new $String("Registered window.__supra JS bridge")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199851
+ $r = log.Println(new sliceType([new $String("Registered window.__supra JS bridge")])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
199763
199852
  $s = -1; return;
199764
199853
  /* */ } return; } var $f = {$blk: registerJSBridge, $c: true, $r, _r, _tuple, deactivateFacades, facades, getCurrentStats, setEncodingPreferences, stopScreen, supraObj, supraValue, w, x, x$1, x$2, $s};return $f;
199765
199854
  };
@@ -199768,8 +199857,8 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199768
199857
  /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
199769
199858
  state = [state];
199770
199859
  state[0] = $clone(js.ValueOf(new mapType($makeMap($String.keyFor, [{ k: "active", v: new $Bool(true) }, { k: "setEncodingPreferences", v: new setEncodingPreferences.constructor.elem(setEncodingPreferences) }, { k: "getCurrentStats", v: new getCurrentStats.constructor.elem(getCurrentStats) }, { k: "stopScreen", v: new stopScreen.constructor.elem(stopScreen) }]))), js.Value);
199771
- _r = $clone($clone(js.Global(), js.Value).Get("Function"), js.Value).New(new sliceType$2([new $String("state"), new $String("return {\n\t\t\tsetEncodingPreferences: function(json) {\n\t\t\t\tif (state.active) return state.setEncodingPreferences(json);\n\t\t\t},\n\t\t\tgetCurrentStats: function() {\n\t\t\t\tif (state.active) return state.getCurrentStats();\n\t\t\t\treturn null;\n\t\t\t},\n\t\t\tstopScreen: function() {\n\t\t\t\tif (state.active) return state.stopScreen();\n\t\t\t}\n\t\t};")])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
199772
- _r$1 = $clone(_r, js.Value).Invoke(new sliceType$2([new state[0].constructor.elem(state[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
199860
+ _r = $clone($clone(js.Global(), js.Value).Get("Function"), js.Value).New(new sliceType([new $String("state"), new $String("return {\n\t\t\tsetEncodingPreferences: function(json) {\n\t\t\t\tif (state.active) return state.setEncodingPreferences(json);\n\t\t\t},\n\t\t\tgetCurrentStats: function() {\n\t\t\t\tif (state.active) return state.getCurrentStats();\n\t\t\t\treturn null;\n\t\t\t},\n\t\t\tstopScreen: function() {\n\t\t\t\tif (state.active) return state.stopScreen();\n\t\t\t}\n\t\t};")])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
199861
+ _r$1 = $clone(_r, js.Value).Invoke(new sliceType([new state[0].constructor.elem(state[0])])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
199773
199862
  facades = $clone(_r$1, js.Value);
199774
199863
  deactivate = (function(state) { return function() {
199775
199864
  var x, x$1, x$2;
@@ -199788,9 +199877,9 @@ $packages["github.com/supraio/client-daemon/pkg/render"] = (function() {
199788
199877
  }
199789
199878
  return new mapType($makeMap($String.keyFor, [{ k: "x", v: new $Int(g.X) }, { k: "y", v: new $Int(g.Y) }, { k: "width", v: new $Int(g.Width) }, { k: "height", v: new $Int(g.Height) }]));
199790
199879
  };
199791
- ptrType$15.methods = [{prop: "Geometry", name: "Geometry", pkg: "", typ: $funcType([], [ptrType$14], false)}, {prop: "SetEncodingPreferences", name: "SetEncodingPreferences", pkg: "", typ: $funcType([stats.EncodingPreferences], [], false)}, {prop: "Start", name: "Start", pkg: "", typ: $funcType([], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType], [], false)}, {prop: "startWindow", name: "startWindow", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "newWindowOptions", name: "newWindowOptions", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [screen.NewWindowOptions], false)}, {prop: "startClipboard", name: "startClipboard", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "isClosed", name: "isClosed", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$Bool], false)}, {prop: "retriableOpen", name: "retriableOpen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$Int, funcType$1], [$error], false)}, {prop: "openMetadata", name: "openMetadata", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createMetadataSender", name: "createMetadataSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "createScreenSender", name: "createScreenSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "getEventMultiplier", name: "getEventMultiplier", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [geom.Point], false)}, {prop: "startTimestampSyncing", name: "startTimestampSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "startStatsSyncing", name: "startStatsSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "sendStats", name: "sendStats", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "getFrameHealthCheckTimeout", name: "getFrameHealthCheckTimeout", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [time.Duration], false)}, {prop: "startScreenHealthChecking", name: "startScreenHealthChecking", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "openScreen", name: "openScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "closeScreen", name: "closeScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "closeScreenLocked", name: "closeScreenLocked", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createScreenBuffer", name: "createScreenBuffer", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [screen.Buffer, $error], false)}];
199880
+ ptrType$15.methods = [{prop: "Geometry", name: "Geometry", pkg: "", typ: $funcType([], [ptrType$14], false)}, {prop: "setCloseReason", name: "setCloseReason", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$String], [], false)}, {prop: "getCloseReason", name: "getCloseReason", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$String], false)}, {prop: "SetEncodingPreferences", name: "SetEncodingPreferences", pkg: "", typ: $funcType([stats.EncodingPreferences], [], false)}, {prop: "Start", name: "Start", pkg: "", typ: $funcType([], [$error], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "OnClose", name: "OnClose", pkg: "", typ: $funcType([funcType], [], false)}, {prop: "startWindow", name: "startWindow", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "newWindowOptions", name: "newWindowOptions", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [screen.NewWindowOptions], false)}, {prop: "startClipboard", name: "startClipboard", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "isClosed", name: "isClosed", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$Bool], false)}, {prop: "retriableOpen", name: "retriableOpen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([$Int, funcType$1], [$error], false)}, {prop: "openMetadata", name: "openMetadata", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createMetadataSender", name: "createMetadataSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "createScreenSender", name: "createScreenSender", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [message.Sender], false)}, {prop: "getEventMultiplier", name: "getEventMultiplier", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [geom.Point], false)}, {prop: "startTimestampSyncing", name: "startTimestampSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "startStatsSyncing", name: "startStatsSyncing", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "sendStats", name: "sendStats", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "getFrameHealthCheckTimeout", name: "getFrameHealthCheckTimeout", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [time.Duration], false)}, {prop: "startScreenHealthChecking", name: "startScreenHealthChecking", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [], false)}, {prop: "openScreen", name: "openScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "closeScreen", name: "closeScreen", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "closeScreenLocked", name: "closeScreenLocked", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$error], false)}, {prop: "createScreenBuffer", name: "createScreenBuffer", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [screen.Buffer, $error], false)}];
199792
199881
  ptrType.methods = [{prop: "CreateProcessInfo", name: "CreateProcessInfo", pkg: "", typ: $funcType([$String, $Int], [$error], false)}, {prop: "RemoveProcessInfo", name: "RemoveProcessInfo", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "RemoveProcessInfoByPid", name: "RemoveProcessInfoByPid", pkg: "", typ: $funcType([$String, $Int], [$error], false)}, {prop: "WaitProcess", name: "WaitProcess", pkg: "", typ: $funcType([$String], [$error], false)}, {prop: "WaitProcessStopped", name: "WaitProcessStopped", pkg: "", typ: $funcType([$String, time.Duration], [$error], false)}, {prop: "GetProcessInfo", name: "GetProcessInfo", pkg: "", typ: $funcType([$String], [ProcessInfo, $error], false)}, {prop: "ListScreenIDs", name: "ListScreenIDs", pkg: "", typ: $funcType([], [sliceType$4, $error], false)}, {prop: "getUserProcessDirPath", name: "getUserProcessDirPath", pkg: "github.com/supraio/client-daemon/pkg/render", typ: $funcType([], [$String], false)}];
199793
- ScreenWindow.init("github.com/supraio/client-daemon/pkg/render", [{prop: "processInfoManager", name: "processInfoManager", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "screenDriver", name: "screenDriver", embedded: false, exported: false, typ: netpacket.Driver, tag: ""}, {prop: "screenHost", name: "screenHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "metadataDriver", name: "metadataDriver", embedded: false, exported: false, typ: netstream.Driver, tag: ""}, {prop: "metadataHost", name: "metadataHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientID", name: "clientID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientSecret", name: "clientSecret", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenID", name: "screenID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "secure", name: "secure", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "forceScreenSize", name: "forceScreenSize", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "closed", name: "closed", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "closeDone", name: "closeDone", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "closeMu", name: "closeMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "screenMu", name: "screenMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "stats", name: "stats", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "onClose", name: "onClose", embedded: false, exported: false, typ: sliceType$1, tag: ""}, {prop: "window", name: "window", embedded: false, exported: false, typ: screen.Window, tag: ""}, {prop: "screen", name: "screen", embedded: false, exported: false, typ: screen.Screen, tag: ""}, {prop: "screenConn", name: "screenConn", embedded: false, exported: false, typ: netpacket.ReaderWriterCloser, tag: ""}, {prop: "metadataServer", name: "metadataServer", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "responsiveSender", name: "responsiveSender", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "collectionLoop", name: "collectionLoop", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "decoderLoop", name: "decoderLoop", embedded: false, exported: false, typ: ptrType$6, tag: ""}, {prop: "renderingLoop", name: "renderingLoop", embedded: false, exported: false, typ: ptrType$7, tag: ""}, {prop: "sizeHandler", name: "sizeHandler", embedded: false, exported: false, typ: ptrType$8, tag: ""}, {prop: "touchHandler", name: "touchHandler", embedded: false, exported: false, typ: ptrType$9, tag: ""}, {prop: "keyHandler", name: "keyHandler", embedded: false, exported: false, typ: ptrType$10, tag: ""}, {prop: "mouseHandler", name: "mouseHandler", embedded: false, exported: false, typ: ptrType$11, tag: ""}, {prop: "eventMetrics", name: "eventMetrics", embedded: false, exported: false, typ: ptrType$12, tag: ""}, {prop: "pinger", name: "pinger", embedded: false, exported: false, typ: ptrType$13, tag: ""}, {prop: "keyEventChan", name: "keyEventChan", embedded: false, exported: false, typ: chanType$1, tag: ""}, {prop: "mouseEventChan", name: "mouseEventChan", embedded: false, exported: false, typ: chanType$2, tag: ""}, {prop: "sizeEventChan", name: "sizeEventChan", embedded: false, exported: false, typ: chanType$3, tag: ""}, {prop: "focusEventChan", name: "focusEventChan", embedded: false, exported: false, typ: chanType$4, tag: ""}, {prop: "touchEventChan", name: "touchEventChan", embedded: false, exported: false, typ: chanType$5, tag: ""}, {prop: "winCloseChannel", name: "winCloseChannel", embedded: false, exported: false, typ: chanType$6, tag: ""}, {prop: "eventLoopStop", name: "eventLoopStop", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "eventLoopDone", name: "eventLoopDone", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "windowSize", name: "windowSize", embedded: false, exported: false, typ: image.Point, tag: ""}, {prop: "geometry", name: "geometry", embedded: false, exported: false, typ: ptrType$14, tag: ""}]);
199882
+ ScreenWindow.init("github.com/supraio/client-daemon/pkg/render", [{prop: "processInfoManager", name: "processInfoManager", embedded: false, exported: false, typ: ptrType, tag: ""}, {prop: "screenDriver", name: "screenDriver", embedded: false, exported: false, typ: netpacket.Driver, tag: ""}, {prop: "screenHost", name: "screenHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "metadataDriver", name: "metadataDriver", embedded: false, exported: false, typ: netstream.Driver, tag: ""}, {prop: "metadataHost", name: "metadataHost", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientID", name: "clientID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "clientSecret", name: "clientSecret", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "screenID", name: "screenID", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "secure", name: "secure", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "forceScreenSize", name: "forceScreenSize", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "timeoutDuration", name: "timeoutDuration", embedded: false, exported: false, typ: time.Duration, tag: ""}, {prop: "closed", name: "closed", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "closeDone", name: "closeDone", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "closeMu", name: "closeMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "screenMu", name: "screenMu", embedded: false, exported: false, typ: sync.Mutex, tag: ""}, {prop: "stats", name: "stats", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "onClose", name: "onClose", embedded: false, exported: false, typ: sliceType$2, tag: ""}, {prop: "window", name: "window", embedded: false, exported: false, typ: screen.Window, tag: ""}, {prop: "screen", name: "screen", embedded: false, exported: false, typ: screen.Screen, tag: ""}, {prop: "screenConn", name: "screenConn", embedded: false, exported: false, typ: netpacket.ReaderWriterCloser, tag: ""}, {prop: "metadataServer", name: "metadataServer", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "responsiveSender", name: "responsiveSender", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "collectionLoop", name: "collectionLoop", embedded: false, exported: false, typ: ptrType$5, tag: ""}, {prop: "decoderLoop", name: "decoderLoop", embedded: false, exported: false, typ: ptrType$6, tag: ""}, {prop: "renderingLoop", name: "renderingLoop", embedded: false, exported: false, typ: ptrType$7, tag: ""}, {prop: "sizeHandler", name: "sizeHandler", embedded: false, exported: false, typ: ptrType$8, tag: ""}, {prop: "touchHandler", name: "touchHandler", embedded: false, exported: false, typ: ptrType$9, tag: ""}, {prop: "keyHandler", name: "keyHandler", embedded: false, exported: false, typ: ptrType$10, tag: ""}, {prop: "mouseHandler", name: "mouseHandler", embedded: false, exported: false, typ: ptrType$11, tag: ""}, {prop: "eventMetrics", name: "eventMetrics", embedded: false, exported: false, typ: ptrType$12, tag: ""}, {prop: "pinger", name: "pinger", embedded: false, exported: false, typ: ptrType$13, tag: ""}, {prop: "keyEventChan", name: "keyEventChan", embedded: false, exported: false, typ: chanType$1, tag: ""}, {prop: "mouseEventChan", name: "mouseEventChan", embedded: false, exported: false, typ: chanType$2, tag: ""}, {prop: "sizeEventChan", name: "sizeEventChan", embedded: false, exported: false, typ: chanType$3, tag: ""}, {prop: "focusEventChan", name: "focusEventChan", embedded: false, exported: false, typ: chanType$4, tag: ""}, {prop: "touchEventChan", name: "touchEventChan", embedded: false, exported: false, typ: chanType$5, tag: ""}, {prop: "winCloseChannel", name: "winCloseChannel", embedded: false, exported: false, typ: chanType$6, tag: ""}, {prop: "eventLoopStop", name: "eventLoopStop", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "eventLoopDone", name: "eventLoopDone", embedded: false, exported: false, typ: chanType, tag: ""}, {prop: "windowSize", name: "windowSize", embedded: false, exported: false, typ: image.Point, tag: ""}, {prop: "geometry", name: "geometry", embedded: false, exported: false, typ: ptrType$14, tag: ""}, {prop: "closeReason", name: "closeReason", embedded: false, exported: false, typ: $String, tag: ""}]);
199794
199883
  Geometry.init("", [{prop: "X", name: "X", embedded: false, exported: true, typ: $Int, tag: "json:\"x\""}, {prop: "Y", name: "Y", embedded: false, exported: true, typ: $Int, tag: "json:\"y\""}, {prop: "Width", name: "Width", embedded: false, exported: true, typ: $Int, tag: "json:\"width\""}, {prop: "Height", name: "Height", embedded: false, exported: true, typ: $Int, tag: "json:\"height\""}]);
199795
199884
  screenWindowDetachEvent.init("", []);
199796
199885
  nonBlockingWindowEventSender.init([{prop: "SendNonBlocking", name: "SendNonBlocking", pkg: "", typ: $funcType([$emptyInterface], [$Bool], false)}]);