const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
import {
  __commonJS,
  __require,
  __toESM
} from "./chunk-34MYV7JD.js";

// packages/devtools/node_modules/ws/lib/stream.js
var require_stream = __commonJS({
  "packages/devtools/node_modules/ws/lib/stream.js"(exports, module) {
    "use strict";
    var { Duplex } = __require("stream");
    function emitClose(stream) {
      stream.emit("close");
    }
    function duplexOnEnd() {
      if (!this.destroyed && this._writableState.finished) {
        this.destroy();
      }
    }
    function duplexOnError(err) {
      this.removeListener("error", duplexOnError);
      this.destroy();
      if (this.listenerCount("error") === 0) {
        this.emit("error", err);
      }
    }
    function createWebSocketStream2(ws, options) {
      let terminateOnDestroy = true;
      const duplex = new Duplex({
        ...options,
        autoDestroy: false,
        emitClose: false,
        objectMode: false,
        writableObjectMode: false
      });
      ws.on("message", function message(msg, isBinary) {
        const data = !isBinary && duplex._readableState.objectMode ? msg.toString() : msg;
        if (!duplex.push(data)) ws.pause();
      });
      ws.once("error", function error(err) {
        if (duplex.destroyed) return;
        terminateOnDestroy = false;
        duplex.destroy(err);
      });
      ws.once("close", function close() {
        if (duplex.destroyed) return;
        duplex.push(null);
      });
      duplex._destroy = function(err, callback) {
        if (ws.readyState === ws.CLOSED) {
          callback(err);
          process.nextTick(emitClose, duplex);
          return;
        }
        let called = false;
        ws.once("error", function error(err2) {
          called = true;
          callback(err2);
        });
        ws.once("close", function close() {
          if (!called) callback(err);
          process.nextTick(emitClose, duplex);
        });
        if (terminateOnDestroy) ws.terminate();
      };
      duplex._final = function(callback) {
        if (ws.readyState === ws.CONNECTING) {
          ws.once("open", function open() {
            duplex._final(callback);
          });
          return;
        }
        if (ws._socket === null) return;
        if (ws._socket._writableState.finished) {
          callback();
          if (duplex._readableState.endEmitted) duplex.destroy();
        } else {
          ws._socket.once("finish", function finish() {
            callback();
          });
          ws.close();
        }
      };
      duplex._read = function() {
        if (ws.isPaused) ws.resume();
      };
      duplex._write = function(chunk, encoding, callback) {
        if (ws.readyState === ws.CONNECTING) {
          ws.once("open", function open() {
            duplex._write(chunk, encoding, callback);
          });
          return;
        }
        ws.send(chunk, callback);
      };
      duplex.on("end", duplexOnEnd);
      duplex.on("error", duplexOnError);
      return duplex;
    }
    module.exports = createWebSocketStream2;
  }
});

// packages/devtools/node_modules/ws/lib/constants.js
var require_constants = __commonJS({
  "packages/devtools/node_modules/ws/lib/constants.js"(exports, module) {
    "use strict";
    module.exports = {
      BINARY_TYPES: ["nodebuffer", "arraybuffer", "fragments"],
      EMPTY_BUFFER: Buffer.alloc(0),
      GUID: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11",
      kForOnEventAttribute: Symbol("kIsForOnEventAttribute"),
      kListener: Symbol("kListener"),
      kStatusCode: Symbol("status-code"),
      kWebSocket: Symbol("websocket"),
      NOOP: () => {
      }
    };
  }
});

// packages/devtools/node_modules/ws/lib/buffer-util.js
var require_buffer_util = __commonJS({
  "packages/devtools/node_modules/ws/lib/buffer-util.js"(exports, module) {
    "use strict";
    var { EMPTY_BUFFER } = require_constants();
    var FastBuffer = Buffer[Symbol.species];
    function concat(list, totalLength) {
      if (list.length === 0) return EMPTY_BUFFER;
      if (list.length === 1) return list[0];
      const target = Buffer.allocUnsafe(totalLength);
      let offset = 0;
      for (let i = 0; i < list.length; i++) {
        const buf = list[i];
        target.set(buf, offset);
        offset += buf.length;
      }
      if (offset < totalLength) {
        return new FastBuffer(target.buffer, target.byteOffset, offset);
      }
      return target;
    }
    function _mask(source, mask, output, offset, length) {
      for (let i = 0; i < length; i++) {
        output[offset + i] = source[i] ^ mask[i & 3];
      }
    }
    function _unmask(buffer, mask) {
      for (let i = 0; i < buffer.length; i++) {
        buffer[i] ^= mask[i & 3];
      }
    }
    function toArrayBuffer(buf) {
      if (buf.length === buf.buffer.byteLength) {
        return buf.buffer;
      }
      return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.length);
    }
    function toBuffer(data) {
      toBuffer.readOnly = true;
      if (Buffer.isBuffer(data)) return data;
      let buf;
      if (data instanceof ArrayBuffer) {
        buf = new FastBuffer(data);
      } else if (ArrayBuffer.isView(data)) {
        buf = new FastBuffer(data.buffer, data.byteOffset, data.byteLength);
      } else {
        buf = Buffer.from(data);
        toBuffer.readOnly = false;
      }
      return buf;
    }
    module.exports = {
      concat,
      mask: _mask,
      toArrayBuffer,
      toBuffer,
      unmask: _unmask
    };
    if (!process.env.WS_NO_BUFFER_UTIL) {
      try {
        const bufferUtil = __require("bufferutil");
        module.exports.mask = function(source, mask, output, offset, length) {
          if (length < 48) _mask(source, mask, output, offset, length);
          else bufferUtil.mask(source, mask, output, offset, length);
        };
        module.exports.unmask = function(buffer, mask) {
          if (buffer.length < 32) _unmask(buffer, mask);
          else bufferUtil.unmask(buffer, mask);
        };
      } catch (e) {
      }
    }
  }
});

// packages/devtools/node_modules/ws/lib/limiter.js
var require_limiter = __commonJS({
  "packages/devtools/node_modules/ws/lib/limiter.js"(exports, module) {
    "use strict";
    var kDone = Symbol("kDone");
    var kRun = Symbol("kRun");
    var Limiter = class {
      /**
       * Creates a new `Limiter`.
       *
       * @param {Number} [concurrency=Infinity] The maximum number of jobs allowed
       *     to run concurrently
       */
      constructor(concurrency) {
        this[kDone] = () => {
          this.pending--;
          this[kRun]();
        };
        this.concurrency = concurrency || Infinity;
        this.jobs = [];
        this.pending = 0;
      }
      /**
       * Adds a job to the queue.
       *
       * @param {Function} job The job to run
       * @public
       */
      add(job) {
        this.jobs.push(job);
        this[kRun]();
      }
      /**
       * Removes a job from the queue and runs it if possible.
       *
       * @private
       */
      [kRun]() {
        if (this.pending === this.concurrency) return;
        if (this.jobs.length) {
          const job = this.jobs.shift();
          this.pending++;
          job(this[kDone]);
        }
      }
    };
    module.exports = Limiter;
  }
});

// packages/devtools/node_modules/ws/lib/permessage-deflate.js
var require_permessage_deflate = __commonJS({
  "packages/devtools/node_modules/ws/lib/permessage-deflate.js"(exports, module) {
    "use strict";
    var zlib = __require("zlib");
    var bufferUtil = require_buffer_util();
    var Limiter = require_limiter();
    var { kStatusCode } = require_constants();
    var FastBuffer = Buffer[Symbol.species];
    var TRAILER = Buffer.from([0, 0, 255, 255]);
    var kPerMessageDeflate = Symbol("permessage-deflate");
    var kTotalLength = Symbol("total-length");
    var kCallback = Symbol("callback");
    var kBuffers = Symbol("buffers");
    var kError = Symbol("error");
    var zlibLimiter;
    var PerMessageDeflate = class {
      /**
       * Creates a PerMessageDeflate instance.
       *
       * @param {Object} [options] Configuration options
       * @param {(Boolean|Number)} [options.clientMaxWindowBits] Advertise support
       *     for, or request, a custom client window size
       * @param {Boolean} [options.clientNoContextTakeover=false] Advertise/
       *     acknowledge disabling of client context takeover
       * @param {Number} [options.concurrencyLimit=10] The number of concurrent
       *     calls to zlib
       * @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the
       *     use of a custom server window size
       * @param {Boolean} [options.serverNoContextTakeover=false] Request/accept
       *     disabling of server context takeover
       * @param {Number} [options.threshold=1024] Size (in bytes) below which
       *     messages should not be compressed if context takeover is disabled
       * @param {Object} [options.zlibDeflateOptions] Options to pass to zlib on
       *     deflate
       * @param {Object} [options.zlibInflateOptions] Options to pass to zlib on
       *     inflate
       * @param {Boolean} [isServer=false] Create the instance in either server or
       *     client mode
       * @param {Number} [maxPayload=0] The maximum allowed message length
       */
      constructor(options, isServer, maxPayload) {
        this._maxPayload = maxPayload | 0;
        this._options = options || {};
        this._threshold = this._options.threshold !== void 0 ? this._options.threshold : 1024;
        this._isServer = !!isServer;
        this._deflate = null;
        this._inflate = null;
        this.params = null;
        if (!zlibLimiter) {
          const concurrency = this._options.concurrencyLimit !== void 0 ? this._options.concurrencyLimit : 10;
          zlibLimiter = new Limiter(concurrency);
        }
      }
      /**
       * @type {String}
       */
      static get extensionName() {
        return "permessage-deflate";
      }
      /**
       * Create an extension negotiation offer.
       *
       * @return {Object} Extension parameters
       * @public
       */
      offer() {
        const params = {};
        if (this._options.serverNoContextTakeover) {
          params.server_no_context_takeover = true;
        }
        if (this._options.clientNoContextTakeover) {
          params.client_no_context_takeover = true;
        }
        if (this._options.serverMaxWindowBits) {
          params.server_max_window_bits = this._options.serverMaxWindowBits;
        }
        if (this._options.clientMaxWindowBits) {
          params.client_max_window_bits = this._options.clientMaxWindowBits;
        } else if (this._options.clientMaxWindowBits == null) {
          params.client_max_window_bits = true;
        }
        return params;
      }
      /**
       * Accept an extension negotiation offer/response.
       *
       * @param {Array} configurations The extension negotiation offers/reponse
       * @return {Object} Accepted configuration
       * @public
       */
      accept(configurations) {
        configurations = this.normalizeParams(configurations);
        this.params = this._isServer ? this.acceptAsServer(configurations) : this.acceptAsClient(configurations);
        return this.params;
      }
      /**
       * Releases all resources used by the extension.
       *
       * @public
       */
      cleanup() {
        if (this._inflate) {
          this._inflate.close();
          this._inflate = null;
        }
        if (this._deflate) {
          const callback = this._deflate[kCallback];
          this._deflate.close();
          this._deflate = null;
          if (callback) {
            callback(
              new Error(
                "The deflate stream was closed while data was being processed"
              )
            );
          }
        }
      }
      /**
       *  Accept an extension negotiation offer.
       *
       * @param {Array} offers The extension negotiation offers
       * @return {Object} Accepted configuration
       * @private
       */
      acceptAsServer(offers) {
        const opts = this._options;
        const accepted = offers.find((params) => {
          if (opts.serverNoContextTakeover === false && params.server_no_context_takeover || params.server_max_window_bits && (opts.serverMaxWindowBits === false || typeof opts.serverMaxWindowBits === "number" && opts.serverMaxWindowBits > params.server_max_window_bits) || typeof opts.clientMaxWindowBits === "number" && !params.client_max_window_bits) {
            return false;
          }
          return true;
        });
        if (!accepted) {
          throw new Error("None of the extension offers can be accepted");
        }
        if (opts.serverNoContextTakeover) {
          accepted.server_no_context_takeover = true;
        }
        if (opts.clientNoContextTakeover) {
          accepted.client_no_context_takeover = true;
        }
        if (typeof opts.serverMaxWindowBits === "number") {
          accepted.server_max_window_bits = opts.serverMaxWindowBits;
        }
        if (typeof opts.clientMaxWindowBits === "number") {
          accepted.client_max_window_bits = opts.clientMaxWindowBits;
        } else if (accepted.client_max_window_bits === true || opts.clientMaxWindowBits === false) {
          delete accepted.client_max_window_bits;
        }
        return accepted;
      }
      /**
       * Accept the extension negotiation response.
       *
       * @param {Array} response The extension negotiation response
       * @return {Object} Accepted configuration
       * @private
       */
      acceptAsClient(response) {
        const params = response[0];
        if (this._options.clientNoContextTakeover === false && params.client_no_context_takeover) {
          throw new Error('Unexpected parameter "client_no_context_takeover"');
        }
        if (!params.client_max_window_bits) {
          if (typeof this._options.clientMaxWindowBits === "number") {
            params.client_max_window_bits = this._options.clientMaxWindowBits;
          }
        } else if (this._options.clientMaxWindowBits === false || typeof this._options.clientMaxWindowBits === "number" && params.client_max_window_bits > this._options.clientMaxWindowBits) {
          throw new Error(
            'Unexpected or invalid parameter "client_max_window_bits"'
          );
        }
        return params;
      }
      /**
       * Normalize parameters.
       *
       * @param {Array} configurations The extension negotiation offers/reponse
       * @return {Array} The offers/response with normalized parameters
       * @private
       */
      normalizeParams(configurations) {
        configurations.forEach((params) => {
          Object.keys(params).forEach((key) => {
            let value = params[key];
            if (value.length > 1) {
              throw new Error(`Parameter "${key}" must have only a single value`);
            }
            value = value[0];
            if (key === "client_max_window_bits") {
              if (value !== true) {
                const num = +value;
                if (!Number.isInteger(num) || num < 8 || num > 15) {
                  throw new TypeError(
                    `Invalid value for parameter "${key}": ${value}`
                  );
                }
                value = num;
              } else if (!this._isServer) {
                throw new TypeError(
                  `Invalid value for parameter "${key}": ${value}`
                );
              }
            } else if (key === "server_max_window_bits") {
              const num = +value;
              if (!Number.isInteger(num) || num < 8 || num > 15) {
                throw new TypeError(
                  `Invalid value for parameter "${key}": ${value}`
                );
              }
              value = num;
            } else if (key === "client_no_context_takeover" || key === "server_no_context_takeover") {
              if (value !== true) {
                throw new TypeError(
                  `Invalid value for parameter "${key}": ${value}`
                );
              }
            } else {
              throw new Error(`Unknown parameter "${key}"`);
            }
            params[key] = value;
          });
        });
        return configurations;
      }
      /**
       * Decompress data. Concurrency limited.
       *
       * @param {Buffer} data Compressed data
       * @param {Boolean} fin Specifies whether or not this is the last fragment
       * @param {Function} callback Callback
       * @public
       */
      decompress(data, fin, callback) {
        zlibLimiter.add((done) => {
          this._decompress(data, fin, (err, result) => {
            done();
            callback(err, result);
          });
        });
      }
      /**
       * Compress data. Concurrency limited.
       *
       * @param {(Buffer|String)} data Data to compress
       * @param {Boolean} fin Specifies whether or not this is the last fragment
       * @param {Function} callback Callback
       * @public
       */
      compress(data, fin, callback) {
        zlibLimiter.add((done) => {
          this._compress(data, fin, (err, result) => {
            done();
            callback(err, result);
          });
        });
      }
      /**
       * Decompress data.
       *
       * @param {Buffer} data Compressed data
       * @param {Boolean} fin Specifies whether or not this is the last fragment
       * @param {Function} callback Callback
       * @private
       */
      _decompress(data, fin, callback) {
        const endpoint = this._isServer ? "client" : "server";
        if (!this._inflate) {
          const key = `${endpoint}_max_window_bits`;
          const windowBits = typeof this.params[key] !== "number" ? zlib.Z_DEFAULT_WINDOWBITS : this.params[key];
          this._inflate = zlib.createInflateRaw({
            ...this._options.zlibInflateOptions,
            windowBits
          });
          this._inflate[kPerMessageDeflate] = this;
          this._inflate[kTotalLength] = 0;
          this._inflate[kBuffers] = [];
          this._inflate.on("error", inflateOnError);
          this._inflate.on("data", inflateOnData);
        }
        this._inflate[kCallback] = callback;
        this._inflate.write(data);
        if (fin) this._inflate.write(TRAILER);
        this._inflate.flush(() => {
          const err = this._inflate[kError];
          if (err) {
            this._inflate.close();
            this._inflate = null;
            callback(err);
            return;
          }
          const data2 = bufferUtil.concat(
            this._inflate[kBuffers],
            this._inflate[kTotalLength]
          );
          if (this._inflate._readableState.endEmitted) {
            this._inflate.close();
            this._inflate = null;
          } else {
            this._inflate[kTotalLength] = 0;
            this._inflate[kBuffers] = [];
            if (fin && this.params[`${endpoint}_no_context_takeover`]) {
              this._inflate.reset();
            }
          }
          callback(null, data2);
        });
      }
      /**
       * Compress data.
       *
       * @param {(Buffer|String)} data Data to compress
       * @param {Boolean} fin Specifies whether or not this is the last fragment
       * @param {Function} callback Callback
       * @private
       */
      _compress(data, fin, callback) {
        const endpoint = this._isServer ? "server" : "client";
        if (!this._deflate) {
          const key = `${endpoint}_max_window_bits`;
          const windowBits = typeof this.params[key] !== "number" ? zlib.Z_DEFAULT_WINDOWBITS : this.params[key];
          this._deflate = zlib.createDeflateRaw({
            ...this._options.zlibDeflateOptions,
            windowBits
          });
          this._deflate[kTotalLength] = 0;
          this._deflate[kBuffers] = [];
          this._deflate.on("data", deflateOnData);
        }
        this._deflate[kCallback] = callback;
        this._deflate.write(data);
        this._deflate.flush(zlib.Z_SYNC_FLUSH, () => {
          if (!this._deflate) {
            return;
          }
          let data2 = bufferUtil.concat(
            this._deflate[kBuffers],
            this._deflate[kTotalLength]
          );
          if (fin) {
            data2 = new FastBuffer(data2.buffer, data2.byteOffset, data2.length - 4);
          }
          this._deflate[kCallback] = null;
          this._deflate[kTotalLength] = 0;
          this._deflate[kBuffers] = [];
          if (fin && this.params[`${endpoint}_no_context_takeover`]) {
            this._deflate.reset();
          }
          callback(null, data2);
        });
      }
    };
    module.exports = PerMessageDeflate;
    function deflateOnData(chunk) {
      this[kBuffers].push(chunk);
      this[kTotalLength] += chunk.length;
    }
    function inflateOnData(chunk) {
      this[kTotalLength] += chunk.length;
      if (this[kPerMessageDeflate]._maxPayload < 1 || this[kTotalLength] <= this[kPerMessageDeflate]._maxPayload) {
        this[kBuffers].push(chunk);
        return;
      }
      this[kError] = new RangeError("Max payload size exceeded");
      this[kError].code = "WS_ERR_UNSUPPORTED_MESSAGE_LENGTH";
      this[kError][kStatusCode] = 1009;
      this.removeListener("data", inflateOnData);
      this.reset();
    }
    function inflateOnError(err) {
      this[kPerMessageDeflate]._inflate = null;
      err[kStatusCode] = 1007;
      this[kCallback](err);
    }
  }
});

// packages/devtools/node_modules/ws/lib/validation.js
var require_validation = __commonJS({
  "packages/devtools/node_modules/ws/lib/validation.js"(exports, module) {
    "use strict";
    var { isUtf8 } = __require("buffer");
    var tokenChars = [
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      // 0 - 15
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      // 16 - 31
      0,
      1,
      0,
      1,
      1,
      1,
      1,
      1,
      0,
      0,
      1,
      1,
      0,
      1,
      1,
      0,
      // 32 - 47
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      0,
      0,
      0,
      0,
      0,
      0,
      // 48 - 63
      0,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      // 64 - 79
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      0,
      0,
      0,
      1,
      1,
      // 80 - 95
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      // 96 - 111
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      1,
      0,
      1,
      0,
      1,
      0
      // 112 - 127
    ];
    function isValidStatusCode(code) {
      return code >= 1e3 && code <= 1014 && code !== 1004 && code !== 1005 && code !== 1006 || code >= 3e3 && code <= 4999;
    }
    function _isValidUTF8(buf) {
      const len = buf.length;
      let i = 0;
      while (i < len) {
        if ((buf[i] & 128) === 0) {
          i++;
        } else if ((buf[i] & 224) === 192) {
          if (i + 1 === len || (buf[i + 1] & 192) !== 128 || (buf[i] & 254) === 192) {
            return false;
          }
          i += 2;
        } else if ((buf[i] & 240) === 224) {
          if (i + 2 >= len || (buf[i + 1] & 192) !== 128 || (buf[i + 2] & 192) !== 128 || buf[i] === 224 && (buf[i + 1] & 224) === 128 || // Overlong
          buf[i] === 237 && (buf[i + 1] & 224) === 160) {
            return false;
          }
          i += 3;
        } else if ((buf[i] & 248) === 240) {
          if (i + 3 >= len || (buf[i + 1] & 192) !== 128 || (buf[i + 2] & 192) !== 128 || (buf[i + 3] & 192) !== 128 || buf[i] === 240 && (buf[i + 1] & 240) === 128 || // Overlong
          buf[i] === 244 && buf[i + 1] > 143 || buf[i] > 244) {
            return false;
          }
          i += 4;
        } else {
          return false;
        }
      }
      return true;
    }
    module.exports = {
      isValidStatusCode,
      isValidUTF8: _isValidUTF8,
      tokenChars
    };
    if (isUtf8) {
      module.exports.isValidUTF8 = function(buf) {
        return buf.length < 24 ? _isValidUTF8(buf) : isUtf8(buf);
      };
    } else if (!process.env.WS_NO_UTF_8_VALIDATE) {
      try {
        const isValidUTF8 = __require("utf-8-validate");
        module.exports.isValidUTF8 = function(buf) {
          return buf.length < 32 ? _isValidUTF8(buf) : isValidUTF8(buf);
        };
      } catch (e) {
      }
    }
  }
});

// packages/devtools/node_modules/ws/lib/receiver.js
var require_receiver = __commonJS({
  "packages/devtools/node_modules/ws/lib/receiver.js"(exports, module) {
    "use strict";
    var { Writable } = __require("stream");
    var PerMessageDeflate = require_permessage_deflate();
    var {
      BINARY_TYPES,
      EMPTY_BUFFER,
      kStatusCode,
      kWebSocket
    } = require_constants();
    var { concat, toArrayBuffer, unmask } = require_buffer_util();
    var { isValidStatusCode, isValidUTF8 } = require_validation();
    var FastBuffer = Buffer[Symbol.species];
    var promise = Promise.resolve();
    var queueTask = typeof queueMicrotask === "function" ? queueMicrotask : queueMicrotaskShim;
    var GET_INFO = 0;
    var GET_PAYLOAD_LENGTH_16 = 1;
    var GET_PAYLOAD_LENGTH_64 = 2;
    var GET_MASK = 3;
    var GET_DATA = 4;
    var INFLATING = 5;
    var DEFER_EVENT = 6;
    var Receiver2 = class extends Writable {
      /**
       * Creates a Receiver instance.
       *
       * @param {Object} [options] Options object
       * @param {Boolean} [options.allowSynchronousEvents=false] Specifies whether
       *     any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
       *     multiple times in the same tick
       * @param {String} [options.binaryType=nodebuffer] The type for binary data
       * @param {Object} [options.extensions] An object containing the negotiated
       *     extensions
       * @param {Boolean} [options.isServer=false] Specifies whether to operate in
       *     client or server mode
       * @param {Number} [options.maxPayload=0] The maximum allowed message length
       * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
       *     not to skip UTF-8 validation for text and close messages
       */
      constructor(options = {}) {
        super();
        this._allowSynchronousEvents = !!options.allowSynchronousEvents;
        this._binaryType = options.binaryType || BINARY_TYPES[0];
        this._extensions = options.extensions || {};
        this._isServer = !!options.isServer;
        this._maxPayload = options.maxPayload | 0;
        this._skipUTF8Validation = !!options.skipUTF8Validation;
        this[kWebSocket] = void 0;
        this._bufferedBytes = 0;
        this._buffers = [];
        this._compressed = false;
        this._payloadLength = 0;
        this._mask = void 0;
        this._fragmented = 0;
        this._masked = false;
        this._fin = false;
        this._opcode = 0;
        this._totalPayloadLength = 0;
        this._messageLength = 0;
        this._fragments = [];
        this._errored = false;
        this._loop = false;
        this._state = GET_INFO;
      }
      /**
       * Implements `Writable.prototype._write()`.
       *
       * @param {Buffer} chunk The chunk of data to write
       * @param {String} encoding The character encoding of `chunk`
       * @param {Function} cb Callback
       * @private
       */
      _write(chunk, encoding, cb) {
        if (this._opcode === 8 && this._state == GET_INFO) return cb();
        this._bufferedBytes += chunk.length;
        this._buffers.push(chunk);
        this.startLoop(cb);
      }
      /**
       * Consumes `n` bytes from the buffered data.
       *
       * @param {Number} n The number of bytes to consume
       * @return {Buffer} The consumed bytes
       * @private
       */
      consume(n) {
        this._bufferedBytes -= n;
        if (n === this._buffers[0].length) return this._buffers.shift();
        if (n < this._buffers[0].length) {
          const buf = this._buffers[0];
          this._buffers[0] = new FastBuffer(
            buf.buffer,
            buf.byteOffset + n,
            buf.length - n
          );
          return new FastBuffer(buf.buffer, buf.byteOffset, n);
        }
        const dst = Buffer.allocUnsafe(n);
        do {
          const buf = this._buffers[0];
          const offset = dst.length - n;
          if (n >= buf.length) {
            dst.set(this._buffers.shift(), offset);
          } else {
            dst.set(new Uint8Array(buf.buffer, buf.byteOffset, n), offset);
            this._buffers[0] = new FastBuffer(
              buf.buffer,
              buf.byteOffset + n,
              buf.length - n
            );
          }
          n -= buf.length;
        } while (n > 0);
        return dst;
      }
      /**
       * Starts the parsing loop.
       *
       * @param {Function} cb Callback
       * @private
       */
      startLoop(cb) {
        this._loop = true;
        do {
          switch (this._state) {
            case GET_INFO:
              this.getInfo(cb);
              break;
            case GET_PAYLOAD_LENGTH_16:
              this.getPayloadLength16(cb);
              break;
            case GET_PAYLOAD_LENGTH_64:
              this.getPayloadLength64(cb);
              break;
            case GET_MASK:
              this.getMask();
              break;
            case GET_DATA:
              this.getData(cb);
              break;
            case INFLATING:
            case DEFER_EVENT:
              this._loop = false;
              return;
          }
        } while (this._loop);
        if (!this._errored) cb();
      }
      /**
       * Reads the first two bytes of a frame.
       *
       * @param {Function} cb Callback
       * @private
       */
      getInfo(cb) {
        if (this._bufferedBytes < 2) {
          this._loop = false;
          return;
        }
        const buf = this.consume(2);
        if ((buf[0] & 48) !== 0) {
          const error = this.createError(
            RangeError,
            "RSV2 and RSV3 must be clear",
            true,
            1002,
            "WS_ERR_UNEXPECTED_RSV_2_3"
          );
          cb(error);
          return;
        }
        const compressed = (buf[0] & 64) === 64;
        if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {
          const error = this.createError(
            RangeError,
            "RSV1 must be clear",
            true,
            1002,
            "WS_ERR_UNEXPECTED_RSV_1"
          );
          cb(error);
          return;
        }
        this._fin = (buf[0] & 128) === 128;
        this._opcode = buf[0] & 15;
        this._payloadLength = buf[1] & 127;
        if (this._opcode === 0) {
          if (compressed) {
            const error = this.createError(
              RangeError,
              "RSV1 must be clear",
              true,
              1002,
              "WS_ERR_UNEXPECTED_RSV_1"
            );
            cb(error);
            return;
          }
          if (!this._fragmented) {
            const error = this.createError(
              RangeError,
              "invalid opcode 0",
              true,
              1002,
              "WS_ERR_INVALID_OPCODE"
            );
            cb(error);
            return;
          }
          this._opcode = this._fragmented;
        } else if (this._opcode === 1 || this._opcode === 2) {
          if (this._fragmented) {
            const error = this.createError(
              RangeError,
              `invalid opcode ${this._opcode}`,
              true,
              1002,
              "WS_ERR_INVALID_OPCODE"
            );
            cb(error);
            return;
          }
          this._compressed = compressed;
        } else if (this._opcode > 7 && this._opcode < 11) {
          if (!this._fin) {
            const error = this.createError(
              RangeError,
              "FIN must be set",
              true,
              1002,
              "WS_ERR_EXPECTED_FIN"
            );
            cb(error);
            return;
          }
          if (compressed) {
            const error = this.createError(
              RangeError,
              "RSV1 must be clear",
              true,
              1002,
              "WS_ERR_UNEXPECTED_RSV_1"
            );
            cb(error);
            return;
          }
          if (this._payloadLength > 125 || this._opcode === 8 && this._payloadLength === 1) {
            const error = this.createError(
              RangeError,
              `invalid payload length ${this._payloadLength}`,
              true,
              1002,
              "WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"
            );
            cb(error);
            return;
          }
        } else {
          const error = this.createError(
            RangeError,
            `invalid opcode ${this._opcode}`,
            true,
            1002,
            "WS_ERR_INVALID_OPCODE"
          );
          cb(error);
          return;
        }
        if (!this._fin && !this._fragmented) this._fragmented = this._opcode;
        this._masked = (buf[1] & 128) === 128;
        if (this._isServer) {
          if (!this._masked) {
            const error = this.createError(
              RangeError,
              "MASK must be set",
              true,
              1002,
              "WS_ERR_EXPECTED_MASK"
            );
            cb(error);
            return;
          }
        } else if (this._masked) {
          const error = this.createError(
            RangeError,
            "MASK must be clear",
            true,
            1002,
            "WS_ERR_UNEXPECTED_MASK"
          );
          cb(error);
          return;
        }
        if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16;
        else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64;
        else this.haveLength(cb);
      }
      /**
       * Gets extended payload length (7+16).
       *
       * @param {Function} cb Callback
       * @private
       */
      getPayloadLength16(cb) {
        if (this._bufferedBytes < 2) {
          this._loop = false;
          return;
        }
        this._payloadLength = this.consume(2).readUInt16BE(0);
        this.haveLength(cb);
      }
      /**
       * Gets extended payload length (7+64).
       *
       * @param {Function} cb Callback
       * @private
       */
      getPayloadLength64(cb) {
        if (this._bufferedBytes < 8) {
          this._loop = false;
          return;
        }
        const buf = this.consume(8);
        const num = buf.readUInt32BE(0);
        if (num > Math.pow(2, 53 - 32) - 1) {
          const error = this.createError(
            RangeError,
            "Unsupported WebSocket frame: payload length > 2^53 - 1",
            false,
            1009,
            "WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"
          );
          cb(error);
          return;
        }
        this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4);
        this.haveLength(cb);
      }
      /**
       * Payload length has been read.
       *
       * @param {Function} cb Callback
       * @private
       */
      haveLength(cb) {
        if (this._payloadLength && this._opcode < 8) {
          this._totalPayloadLength += this._payloadLength;
          if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) {
            const error = this.createError(
              RangeError,
              "Max payload size exceeded",
              false,
              1009,
              "WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"
            );
            cb(error);
            return;
          }
        }
        if (this._masked) this._state = GET_MASK;
        else this._state = GET_DATA;
      }
      /**
       * Reads mask bytes.
       *
       * @private
       */
      getMask() {
        if (this._bufferedBytes < 4) {
          this._loop = false;
          return;
        }
        this._mask = this.consume(4);
        this._state = GET_DATA;
      }
      /**
       * Reads data bytes.
       *
       * @param {Function} cb Callback
       * @private
       */
      getData(cb) {
        let data = EMPTY_BUFFER;
        if (this._payloadLength) {
          if (this._bufferedBytes < this._payloadLength) {
            this._loop = false;
            return;
          }
          data = this.consume(this._payloadLength);
          if (this._masked && (this._mask[0] | this._mask[1] | this._mask[2] | this._mask[3]) !== 0) {
            unmask(data, this._mask);
          }
        }
        if (this._opcode > 7) {
          this.controlMessage(data, cb);
          return;
        }
        if (this._compressed) {
          this._state = INFLATING;
          this.decompress(data, cb);
          return;
        }
        if (data.length) {
          this._messageLength = this._totalPayloadLength;
          this._fragments.push(data);
        }
        this.dataMessage(cb);
      }
      /**
       * Decompresses data.
       *
       * @param {Buffer} data Compressed data
       * @param {Function} cb Callback
       * @private
       */
      decompress(data, cb) {
        const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
        perMessageDeflate.decompress(data, this._fin, (err, buf) => {
          if (err) return cb(err);
          if (buf.length) {
            this._messageLength += buf.length;
            if (this._messageLength > this._maxPayload && this._maxPayload > 0) {
              const error = this.createError(
                RangeError,
                "Max payload size exceeded",
                false,
                1009,
                "WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"
              );
              cb(error);
              return;
            }
            this._fragments.push(buf);
          }
          this.dataMessage(cb);
          if (this._state === GET_INFO) this.startLoop(cb);
        });
      }
      /**
       * Handles a data message.
       *
       * @param {Function} cb Callback
       * @private
       */
      dataMessage(cb) {
        if (!this._fin) {
          this._state = GET_INFO;
          return;
        }
        const messageLength = this._messageLength;
        const fragments = this._fragments;
        this._totalPayloadLength = 0;
        this._messageLength = 0;
        this._fragmented = 0;
        this._fragments = [];
        if (this._opcode === 2) {
          let data;
          if (this._binaryType === "nodebuffer") {
            data = concat(fragments, messageLength);
          } else if (this._binaryType === "arraybuffer") {
            data = toArrayBuffer(concat(fragments, messageLength));
          } else {
            data = fragments;
          }
          if (this._state === INFLATING || this._allowSynchronousEvents) {
            this.emit("message", data, true);
            this._state = GET_INFO;
          } else {
            this._state = DEFER_EVENT;
            queueTask(() => {
              this.emit("message", data, true);
              this._state = GET_INFO;
              this.startLoop(cb);
            });
          }
        } else {
          const buf = concat(fragments, messageLength);
          if (!this._skipUTF8Validation && !isValidUTF8(buf)) {
            const error = this.createError(
              Error,
              "invalid UTF-8 sequence",
              true,
              1007,
              "WS_ERR_INVALID_UTF8"
            );
            cb(error);
            return;
          }
          if (this._state === INFLATING || this._allowSynchronousEvents) {
            this.emit("message", buf, false);
            this._state = GET_INFO;
          } else {
            this._state = DEFER_EVENT;
            queueTask(() => {
              this.emit("message", buf, false);
              this._state = GET_INFO;
              this.startLoop(cb);
            });
          }
        }
      }
      /**
       * Handles a control message.
       *
       * @param {Buffer} data Data to handle
       * @return {(Error|RangeError|undefined)} A possible error
       * @private
       */
      controlMessage(data, cb) {
        if (this._opcode === 8) {
          if (data.length === 0) {
            this._loop = false;
            this.emit("conclude", 1005, EMPTY_BUFFER);
            this.end();
          } else {
            const code = data.readUInt16BE(0);
            if (!isValidStatusCode(code)) {
              const error = this.createError(
                RangeError,
                `invalid status code ${code}`,
                true,
                1002,
                "WS_ERR_INVALID_CLOSE_CODE"
              );
              cb(error);
              return;
            }
            const buf = new FastBuffer(
              data.buffer,
              data.byteOffset + 2,
              data.length - 2
            );
            if (!this._skipUTF8Validation && !isValidUTF8(buf)) {
              const error = this.createError(
                Error,
                "invalid UTF-8 sequence",
                true,
                1007,
                "WS_ERR_INVALID_UTF8"
              );
              cb(error);
              return;
            }
            this._loop = false;
            this.emit("conclude", code, buf);
            this.end();
          }
          this._state = GET_INFO;
          return;
        }
        if (this._allowSynchronousEvents) {
          this.emit(this._opcode === 9 ? "ping" : "pong", data);
          this._state = GET_INFO;
        } else {
          this._state = DEFER_EVENT;
          queueTask(() => {
            this.emit(this._opcode === 9 ? "ping" : "pong", data);
            this._state = GET_INFO;
            this.startLoop(cb);
          });
        }
      }
      /**
       * Builds an error object.
       *
       * @param {function(new:Error|RangeError)} ErrorCtor The error constructor
       * @param {String} message The error message
       * @param {Boolean} prefix Specifies whether or not to add a default prefix to
       *     `message`
       * @param {Number} statusCode The status code
       * @param {String} errorCode The exposed error code
       * @return {(Error|RangeError)} The error
       * @private
       */
      createError(ErrorCtor, message, prefix, statusCode, errorCode) {
        this._loop = false;
        this._errored = true;
        const err = new ErrorCtor(
          prefix ? `Invalid WebSocket frame: ${message}` : message
        );
        Error.captureStackTrace(err, this.createError);
        err.code = errorCode;
        err[kStatusCode] = statusCode;
        return err;
      }
    };
    module.exports = Receiver2;
    function queueMicrotaskShim(cb) {
      promise.then(cb).catch(throwErrorNextTick);
    }
    function throwError(err) {
      throw err;
    }
    function throwErrorNextTick(err) {
      process.nextTick(throwError, err);
    }
  }
});

// packages/devtools/node_modules/ws/lib/sender.js
var require_sender = __commonJS({
  "packages/devtools/node_modules/ws/lib/sender.js"(exports, module) {
    "use strict";
    var { Duplex } = __require("stream");
    var { randomFillSync } = __require("crypto");
    var PerMessageDeflate = require_permessage_deflate();
    var { EMPTY_BUFFER } = require_constants();
    var { isValidStatusCode } = require_validation();
    var { mask: applyMask, toBuffer } = require_buffer_util();
    var kByteLength = Symbol("kByteLength");
    var maskBuffer = Buffer.alloc(4);
    var Sender2 = class _Sender {
      /**
       * Creates a Sender instance.
       *
       * @param {Duplex} socket The connection socket
       * @param {Object} [extensions] An object containing the negotiated extensions
       * @param {Function} [generateMask] The function used to generate the masking
       *     key
       */
      constructor(socket, extensions, generateMask) {
        this._extensions = extensions || {};
        if (generateMask) {
          this._generateMask = generateMask;
          this._maskBuffer = Buffer.alloc(4);
        }
        this._socket = socket;
        this._firstFragment = true;
        this._compress = false;
        this._bufferedBytes = 0;
        this._deflating = false;
        this._queue = [];
      }
      /**
       * Frames a piece of data according to the HyBi WebSocket protocol.
       *
       * @param {(Buffer|String)} data The data to frame
       * @param {Object} options Options object
       * @param {Boolean} [options.fin=false] Specifies whether or not to set the
       *     FIN bit
       * @param {Function} [options.generateMask] The function used to generate the
       *     masking key
       * @param {Boolean} [options.mask=false] Specifies whether or not to mask
       *     `data`
       * @param {Buffer} [options.maskBuffer] The buffer used to store the masking
       *     key
       * @param {Number} options.opcode The opcode
       * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be
       *     modified
       * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the
       *     RSV1 bit
       * @return {(Buffer|String)[]} The framed data
       * @public
       */
      static frame(data, options) {
        let mask;
        let merge = false;
        let offset = 2;
        let skipMasking = false;
        if (options.mask) {
          mask = options.maskBuffer || maskBuffer;
          if (options.generateMask) {
            options.generateMask(mask);
          } else {
            randomFillSync(mask, 0, 4);
          }
          skipMasking = (mask[0] | mask[1] | mask[2] | mask[3]) === 0;
          offset = 6;
        }
        let dataLength;
        if (typeof data === "string") {
          if ((!options.mask || skipMasking) && options[kByteLength] !== void 0) {
            dataLength = options[kByteLength];
          } else {
            data = Buffer.from(data);
            dataLength = data.length;
          }
        } else {
          dataLength = data.length;
          merge = options.mask && options.readOnly && !skipMasking;
        }
        let payloadLength = dataLength;
        if (dataLength >= 65536) {
          offset += 8;
          payloadLength = 127;
        } else if (dataLength > 125) {
          offset += 2;
          payloadLength = 126;
        }
        const target = Buffer.allocUnsafe(merge ? dataLength + offset : offset);
        target[0] = options.fin ? options.opcode | 128 : options.opcode;
        if (options.rsv1) target[0] |= 64;
        target[1] = payloadLength;
        if (payloadLength === 126) {
          target.writeUInt16BE(dataLength, 2);
        } else if (payloadLength === 127) {
          target[2] = target[3] = 0;
          target.writeUIntBE(dataLength, 4, 6);
        }
        if (!options.mask) return [target, data];
        target[1] |= 128;
        target[offset - 4] = mask[0];
        target[offset - 3] = mask[1];
        target[offset - 2] = mask[2];
        target[offset - 1] = mask[3];
        if (skipMasking) return [target, data];
        if (merge) {
          applyMask(data, mask, target, offset, dataLength);
          return [target];
        }
        applyMask(data, mask, data, 0, dataLength);
        return [target, data];
      }
      /**
       * Sends a close message to the other peer.
       *
       * @param {Number} [code] The status code component of the body
       * @param {(String|Buffer)} [data] The message component of the body
       * @param {Boolean} [mask=false] Specifies whether or not to mask the message
       * @param {Function} [cb] Callback
       * @public
       */
      close(code, data, mask, cb) {
        let buf;
        if (code === void 0) {
          buf = EMPTY_BUFFER;
        } else if (typeof code !== "number" || !isValidStatusCode(code)) {
          throw new TypeError("First argument must be a valid error code number");
        } else if (data === void 0 || !data.length) {
          buf = Buffer.allocUnsafe(2);
          buf.writeUInt16BE(code, 0);
        } else {
          const length = Buffer.byteLength(data);
          if (length > 123) {
            throw new RangeError("The message must not be greater than 123 bytes");
          }
          buf = Buffer.allocUnsafe(2 + length);
          buf.writeUInt16BE(code, 0);
          if (typeof data === "string") {
            buf.write(data, 2);
          } else {
            buf.set(data, 2);
          }
        }
        const options = {
          [kByteLength]: buf.length,
          fin: true,
          generateMask: this._generateMask,
          mask,
          maskBuffer: this._maskBuffer,
          opcode: 8,
          readOnly: false,
          rsv1: false
        };
        if (this._deflating) {
          this.enqueue([this.dispatch, buf, false, options, cb]);
        } else {
          this.sendFrame(_Sender.frame(buf, options), cb);
        }
      }
      /**
       * Sends a ping message to the other peer.
       *
       * @param {*} data The message to send
       * @param {Boolean} [mask=false] Specifies whether or not to mask `data`
       * @param {Function} [cb] Callback
       * @public
       */
      ping(data, mask, cb) {
        let byteLength;
        let readOnly;
        if (typeof data === "string") {
          byteLength = Buffer.byteLength(data);
          readOnly = false;
        } else {
          data = toBuffer(data);
          byteLength = data.length;
          readOnly = toBuffer.readOnly;
        }
        if (byteLength > 125) {
          throw new RangeError("The data size must not be greater than 125 bytes");
        }
        const options = {
          [kByteLength]: byteLength,
          fin: true,
          generateMask: this._generateMask,
          mask,
          maskBuffer: this._maskBuffer,
          opcode: 9,
          readOnly,
          rsv1: false
        };
        if (this._deflating) {
          this.enqueue([this.dispatch, data, false, options, cb]);
        } else {
          this.sendFrame(_Sender.frame(data, options), cb);
        }
      }
      /**
       * Sends a pong message to the other peer.
       *
       * @param {*} data The message to send
       * @param {Boolean} [mask=false] Specifies whether or not to mask `data`
       * @param {Function} [cb] Callback
       * @public
       */
      pong(data, mask, cb) {
        let byteLength;
        let readOnly;
        if (typeof data === "string") {
          byteLength = Buffer.byteLength(data);
          readOnly = false;
        } else {
          data = toBuffer(data);
          byteLength = data.length;
          readOnly = toBuffer.readOnly;
        }
        if (byteLength > 125) {
          throw new RangeError("The data size must not be greater than 125 bytes");
        }
        const options = {
          [kByteLength]: byteLength,
          fin: true,
          generateMask: this._generateMask,
          mask,
          maskBuffer: this._maskBuffer,
          opcode: 10,
          readOnly,
          rsv1: false
        };
        if (this._deflating) {
          this.enqueue([this.dispatch, data, false, options, cb]);
        } else {
          this.sendFrame(_Sender.frame(data, options), cb);
        }
      }
      /**
       * Sends a data message to the other peer.
       *
       * @param {*} data The message to send
       * @param {Object} options Options object
       * @param {Boolean} [options.binary=false] Specifies whether `data` is binary
       *     or text
       * @param {Boolean} [options.compress=false] Specifies whether or not to
       *     compress `data`
       * @param {Boolean} [options.fin=false] Specifies whether the fragment is the
       *     last one
       * @param {Boolean} [options.mask=false] Specifies whether or not to mask
       *     `data`
       * @param {Function} [cb] Callback
       * @public
       */
      send(data, options, cb) {
        const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
        let opcode = options.binary ? 2 : 1;
        let rsv1 = options.compress;
        let byteLength;
        let readOnly;
        if (typeof data === "string") {
          byteLength = Buffer.byteLength(data);
          readOnly = false;
        } else {
          data = toBuffer(data);
          byteLength = data.length;
          readOnly = toBuffer.readOnly;
        }
        if (this._firstFragment) {
          this._firstFragment = false;
          if (rsv1 && perMessageDeflate && perMessageDeflate.params[perMessageDeflate._isServer ? "server_no_context_takeover" : "client_no_context_takeover"]) {
            rsv1 = byteLength >= perMessageDeflate._threshold;
          }
          this._compress = rsv1;
        } else {
          rsv1 = false;
          opcode = 0;
        }
        if (options.fin) this._firstFragment = true;
        if (perMessageDeflate) {
          const opts = {
            [kByteLength]: byteLength,
            fin: options.fin,
            generateMask: this._generateMask,
            mask: options.mask,
            maskBuffer: this._maskBuffer,
            opcode,
            readOnly,
            rsv1
          };
          if (this._deflating) {
            this.enqueue([this.dispatch, data, this._compress, opts, cb]);
          } else {
            this.dispatch(data, this._compress, opts, cb);
          }
        } else {
          this.sendFrame(
            _Sender.frame(data, {
              [kByteLength]: byteLength,
              fin: options.fin,
              generateMask: this._generateMask,
              mask: options.mask,
              maskBuffer: this._maskBuffer,
              opcode,
              readOnly,
              rsv1: false
            }),
            cb
          );
        }
      }
      /**
       * Dispatches a message.
       *
       * @param {(Buffer|String)} data The message to send
       * @param {Boolean} [compress=false] Specifies whether or not to compress
       *     `data`
       * @param {Object} options Options object
       * @param {Boolean} [options.fin=false] Specifies whether or not to set the
       *     FIN bit
       * @param {Function} [options.generateMask] The function used to generate the
       *     masking key
       * @param {Boolean} [options.mask=false] Specifies whether or not to mask
       *     `data`
       * @param {Buffer} [options.maskBuffer] The buffer used to store the masking
       *     key
       * @param {Number} options.opcode The opcode
       * @param {Boolean} [options.readOnly=false] Specifies whether `data` can be
       *     modified
       * @param {Boolean} [options.rsv1=false] Specifies whether or not to set the
       *     RSV1 bit
       * @param {Function} [cb] Callback
       * @private
       */
      dispatch(data, compress, options, cb) {
        if (!compress) {
          this.sendFrame(_Sender.frame(data, options), cb);
          return;
        }
        const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
        this._bufferedBytes += options[kByteLength];
        this._deflating = true;
        perMessageDeflate.compress(data, options.fin, (_, buf) => {
          if (this._socket.destroyed) {
            const err = new Error(
              "The socket was closed while data was being compressed"
            );
            if (typeof cb === "function") cb(err);
            for (let i = 0; i < this._queue.length; i++) {
              const params = this._queue[i];
              const callback = params[params.length - 1];
              if (typeof callback === "function") callback(err);
            }
            return;
          }
          this._bufferedBytes -= options[kByteLength];
          this._deflating = false;
          options.readOnly = false;
          this.sendFrame(_Sender.frame(buf, options), cb);
          this.dequeue();
        });
      }
      /**
       * Executes queued send operations.
       *
       * @private
       */
      dequeue() {
        while (!this._deflating && this._queue.length) {
          const params = this._queue.shift();
          this._bufferedBytes -= params[3][kByteLength];
          Reflect.apply(params[0], this, params.slice(1));
        }
      }
      /**
       * Enqueues a send operation.
       *
       * @param {Array} params Send operation parameters.
       * @private
       */
      enqueue(params) {
        this._bufferedBytes += params[3][kByteLength];
        this._queue.push(params);
      }
      /**
       * Sends a frame.
       *
       * @param {Buffer[]} list The frame to send
       * @param {Function} [cb] Callback
       * @private
       */
      sendFrame(list, cb) {
        if (list.length === 2) {
          this._socket.cork();
          this._socket.write(list[0]);
          this._socket.write(list[1], cb);
          this._socket.uncork();
        } else {
          this._socket.write(list[0], cb);
        }
      }
    };
    module.exports = Sender2;
  }
});

// packages/devtools/node_modules/ws/lib/event-target.js
var require_event_target = __commonJS({
  "packages/devtools/node_modules/ws/lib/event-target.js"(exports, module) {
    "use strict";
    var { kForOnEventAttribute, kListener } = require_constants();
    var kCode = Symbol("kCode");
    var kData = Symbol("kData");
    var kError = Symbol("kError");
    var kMessage = Symbol("kMessage");
    var kReason = Symbol("kReason");
    var kTarget = Symbol("kTarget");
    var kType = Symbol("kType");
    var kWasClean = Symbol("kWasClean");
    var Event = class {
      /**
       * Create a new `Event`.
       *
       * @param {String} type The name of the event
       * @throws {TypeError} If the `type` argument is not specified
       */
      constructor(type) {
        this[kTarget] = null;
        this[kType] = type;
      }
      /**
       * @type {*}
       */
      get target() {
        return this[kTarget];
      }
      /**
       * @type {String}
       */
      get type() {
        return this[kType];
      }
    };
    Object.defineProperty(Event.prototype, "target", { enumerable: true });
    Object.defineProperty(Event.prototype, "type", { enumerable: true });
    var CloseEvent = class extends Event {
      /**
       * Create a new `CloseEvent`.
       *
       * @param {String} type The name of the event
       * @param {Object} [options] A dictionary object that allows for setting
       *     attributes via object members of the same name
       * @param {Number} [options.code=0] The status code explaining why the
       *     connection was closed
       * @param {String} [options.reason=''] A human-readable string explaining why
       *     the connection was closed
       * @param {Boolean} [options.wasClean=false] Indicates whether or not the
       *     connection was cleanly closed
       */
      constructor(type, options = {}) {
        super(type);
        this[kCode] = options.code === void 0 ? 0 : options.code;
        this[kReason] = options.reason === void 0 ? "" : options.reason;
        this[kWasClean] = options.wasClean === void 0 ? false : options.wasClean;
      }
      /**
       * @type {Number}
       */
      get code() {
        return this[kCode];
      }
      /**
       * @type {String}
       */
      get reason() {
        return this[kReason];
      }
      /**
       * @type {Boolean}
       */
      get wasClean() {
        return this[kWasClean];
      }
    };
    Object.defineProperty(CloseEvent.prototype, "code", { enumerable: true });
    Object.defineProperty(CloseEvent.prototype, "reason", { enumerable: true });
    Object.defineProperty(CloseEvent.prototype, "wasClean", { enumerable: true });
    var ErrorEvent = class extends Event {
      /**
       * Create a new `ErrorEvent`.
       *
       * @param {String} type The name of the event
       * @param {Object} [options] A dictionary object that allows for setting
       *     attributes via object members of the same name
       * @param {*} [options.error=null] The error that generated this event
       * @param {String} [options.message=''] The error message
       */
      constructor(type, options = {}) {
        super(type);
        this[kError] = options.error === void 0 ? null : options.error;
        this[kMessage] = options.message === void 0 ? "" : options.message;
      }
      /**
       * @type {*}
       */
      get error() {
        return this[kError];
      }
      /**
       * @type {String}
       */
      get message() {
        return this[kMessage];
      }
    };
    Object.defineProperty(ErrorEvent.prototype, "error", { enumerable: true });
    Object.defineProperty(ErrorEvent.prototype, "message", { enumerable: true });
    var MessageEvent = class extends Event {
      /**
       * Create a new `MessageEvent`.
       *
       * @param {String} type The name of the event
       * @param {Object} [options] A dictionary object that allows for setting
       *     attributes via object members of the same name
       * @param {*} [options.data=null] The message content
       */
      constructor(type, options = {}) {
        super(type);
        this[kData] = options.data === void 0 ? null : options.data;
      }
      /**
       * @type {*}
       */
      get data() {
        return this[kData];
      }
    };
    Object.defineProperty(MessageEvent.prototype, "data", { enumerable: true });
    var EventTarget = {
      /**
       * Register an event listener.
       *
       * @param {String} type A string representing the event type to listen for
       * @param {(Function|Object)} handler The listener to add
       * @param {Object} [options] An options object specifies characteristics about
       *     the event listener
       * @param {Boolean} [options.once=false] A `Boolean` indicating that the
       *     listener should be invoked at most once after being added. If `true`,
       *     the listener would be automatically removed when invoked.
       * @public
       */
      addEventListener(type, handler, options = {}) {
        for (const listener of this.listeners(type)) {
          if (!options[kForOnEventAttribute] && listener[kListener] === handler && !listener[kForOnEventAttribute]) {
            return;
          }
        }
        let wrapper;
        if (type === "message") {
          wrapper = function onMessage(data, isBinary) {
            const event = new MessageEvent("message", {
              data: isBinary ? data : data.toString()
            });
            event[kTarget] = this;
            callListener(handler, this, event);
          };
        } else if (type === "close") {
          wrapper = function onClose(code, message) {
            const event = new CloseEvent("close", {
              code,
              reason: message.toString(),
              wasClean: this._closeFrameReceived && this._closeFrameSent
            });
            event[kTarget] = this;
            callListener(handler, this, event);
          };
        } else if (type === "error") {
          wrapper = function onError(error) {
            const event = new ErrorEvent("error", {
              error,
              message: error.message
            });
            event[kTarget] = this;
            callListener(handler, this, event);
          };
        } else if (type === "open") {
          wrapper = function onOpen() {
            const event = new Event("open");
            event[kTarget] = this;
            callListener(handler, this, event);
          };
        } else {
          return;
        }
        wrapper[kForOnEventAttribute] = !!options[kForOnEventAttribute];
        wrapper[kListener] = handler;
        if (options.once) {
          this.once(type, wrapper);
        } else {
          this.on(type, wrapper);
        }
      },
      /**
       * Remove an event listener.
       *
       * @param {String} type A string representing the event type to remove
       * @param {(Function|Object)} handler The listener to remove
       * @public
       */
      removeEventListener(type, handler) {
        for (const listener of this.listeners(type)) {
          if (listener[kListener] === handler && !listener[kForOnEventAttribute]) {
            this.removeListener(type, listener);
            break;
          }
        }
      }
    };
    module.exports = {
      CloseEvent,
      ErrorEvent,
      Event,
      EventTarget,
      MessageEvent
    };
    function callListener(listener, thisArg, event) {
      if (typeof listener === "object" && listener.handleEvent) {
        listener.handleEvent.call(listener, event);
      } else {
        listener.call(thisArg, event);
      }
    }
  }
});

// packages/devtools/node_modules/ws/lib/extension.js
var require_extension = __commonJS({
  "packages/devtools/node_modules/ws/lib/extension.js"(exports, module) {
    "use strict";
    var { tokenChars } = require_validation();
    function push(dest, name, elem) {
      if (dest[name] === void 0) dest[name] = [elem];
      else dest[name].push(elem);
    }
    function parse(header) {
      const offers = /* @__PURE__ */ Object.create(null);
      let params = /* @__PURE__ */ Object.create(null);
      let mustUnescape = false;
      let isEscaping = false;
      let inQuotes = false;
      let extensionName;
      let paramName;
      let start = -1;
      let code = -1;
      let end = -1;
      let i = 0;
      for (; i < header.length; i++) {
        code = header.charCodeAt(i);
        if (extensionName === void 0) {
          if (end === -1 && tokenChars[code] === 1) {
            if (start === -1) start = i;
          } else if (i !== 0 && (code === 32 || code === 9)) {
            if (end === -1 && start !== -1) end = i;
          } else if (code === 59 || code === 44) {
            if (start === -1) {
              throw new SyntaxError(`Unexpected character at index ${i}`);
            }
            if (end === -1) end = i;
            const name = header.slice(start, end);
            if (code === 44) {
              push(offers, name, params);
              params = /* @__PURE__ */ Object.create(null);
            } else {
              extensionName = name;
            }
            start = end = -1;
          } else {
            throw new SyntaxError(`Unexpected character at index ${i}`);
          }
        } else if (paramName === void 0) {
          if (end === -1 && tokenChars[code] === 1) {
            if (start === -1) start = i;
          } else if (code === 32 || code === 9) {
            if (end === -1 && start !== -1) end = i;
          } else if (code === 59 || code === 44) {
            if (start === -1) {
              throw new SyntaxError(`Unexpected character at index ${i}`);
            }
            if (end === -1) end = i;
            push(params, header.slice(start, end), true);
            if (code === 44) {
              push(offers, extensionName, params);
              params = /* @__PURE__ */ Object.create(null);
              extensionName = void 0;
            }
            start = end = -1;
          } else if (code === 61 && start !== -1 && end === -1) {
            paramName = header.slice(start, i);
            start = end = -1;
          } else {
            throw new SyntaxError(`Unexpected character at index ${i}`);
          }
        } else {
          if (isEscaping) {
            if (tokenChars[code] !== 1) {
              throw new SyntaxError(`Unexpected character at index ${i}`);
            }
            if (start === -1) start = i;
            else if (!mustUnescape) mustUnescape = true;
            isEscaping = false;
          } else if (inQuotes) {
            if (tokenChars[code] === 1) {
              if (start === -1) start = i;
            } else if (code === 34 && start !== -1) {
              inQuotes = false;
              end = i;
            } else if (code === 92) {
              isEscaping = true;
            } else {
              throw new SyntaxError(`Unexpected character at index ${i}`);
            }
          } else if (code === 34 && header.charCodeAt(i - 1) === 61) {
            inQuotes = true;
          } else if (end === -1 && tokenChars[code] === 1) {
            if (start === -1) start = i;
          } else if (start !== -1 && (code === 32 || code === 9)) {
            if (end === -1) end = i;
          } else if (code === 59 || code === 44) {
            if (start === -1) {
              throw new SyntaxError(`Unexpected character at index ${i}`);
            }
            if (end === -1) end = i;
            let value = header.slice(start, end);
            if (mustUnescape) {
              value = value.replace(/\\/g, "");
              mustUnescape = false;
            }
            push(params, paramName, value);
            if (code === 44) {
              push(offers, extensionName, params);
              params = /* @__PURE__ */ Object.create(null);
              extensionName = void 0;
            }
            paramName = void 0;
            start = end = -1;
          } else {
            throw new SyntaxError(`Unexpected character at index ${i}`);
          }
        }
      }
      if (start === -1 || inQuotes || code === 32 || code === 9) {
        throw new SyntaxError("Unexpected end of input");
      }
      if (end === -1) end = i;
      const token = header.slice(start, end);
      if (extensionName === void 0) {
        push(offers, token, params);
      } else {
        if (paramName === void 0) {
          push(params, token, true);
        } else if (mustUnescape) {
          push(params, paramName, token.replace(/\\/g, ""));
        } else {
          push(params, paramName, token);
        }
        push(offers, extensionName, params);
      }
      return offers;
    }
    function format(extensions) {
      return Object.keys(extensions).map((extension) => {
        let configurations = extensions[extension];
        if (!Array.isArray(configurations)) configurations = [configurations];
        return configurations.map((params) => {
          return [extension].concat(
            Object.keys(params).map((k) => {
              let values = params[k];
              if (!Array.isArray(values)) values = [values];
              return values.map((v) => v === true ? k : `${k}=${v}`).join("; ");
            })
          ).join("; ");
        }).join(", ");
      }).join(", ");
    }
    module.exports = { format, parse };
  }
});

// packages/devtools/node_modules/ws/lib/websocket.js
var require_websocket = __commonJS({
  "packages/devtools/node_modules/ws/lib/websocket.js"(exports, module) {
    "use strict";
    var EventEmitter2 = __require("events");
    var https = __require("https");
    var http2 = __require("http");
    var net = __require("net");
    var tls = __require("tls");
    var { randomBytes, createHash } = __require("crypto");
    var { Duplex, Readable } = __require("stream");
    var { URL } = __require("url");
    var PerMessageDeflate = require_permessage_deflate();
    var Receiver2 = require_receiver();
    var Sender2 = require_sender();
    var {
      BINARY_TYPES,
      EMPTY_BUFFER,
      GUID,
      kForOnEventAttribute,
      kListener,
      kStatusCode,
      kWebSocket,
      NOOP
    } = require_constants();
    var {
      EventTarget: { addEventListener, removeEventListener }
    } = require_event_target();
    var { format, parse } = require_extension();
    var { toBuffer } = require_buffer_util();
    var closeTimeout = 30 * 1e3;
    var kAborted = Symbol("kAborted");
    var protocolVersions = [8, 13];
    var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"];
    var subprotocolRegex = /^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;
    var WebSocket2 = class _WebSocket extends EventEmitter2 {
      /**
       * Create a new `WebSocket`.
       *
       * @param {(String|URL)} address The URL to which to connect
       * @param {(String|String[])} [protocols] The subprotocols
       * @param {Object} [options] Connection options
       */
      constructor(address, protocols, options) {
        super();
        this._binaryType = BINARY_TYPES[0];
        this._closeCode = 1006;
        this._closeFrameReceived = false;
        this._closeFrameSent = false;
        this._closeMessage = EMPTY_BUFFER;
        this._closeTimer = null;
        this._extensions = {};
        this._paused = false;
        this._protocol = "";
        this._readyState = _WebSocket.CONNECTING;
        this._receiver = null;
        this._sender = null;
        this._socket = null;
        if (address !== null) {
          this._bufferedAmount = 0;
          this._isServer = false;
          this._redirects = 0;
          if (protocols === void 0) {
            protocols = [];
          } else if (!Array.isArray(protocols)) {
            if (typeof protocols === "object" && protocols !== null) {
              options = protocols;
              protocols = [];
            } else {
              protocols = [protocols];
            }
          }
          initAsClient(this, address, protocols, options);
        } else {
          this._autoPong = options.autoPong;
          this._isServer = true;
        }
      }
      /**
       * This deviates from the WHATWG interface since ws doesn't support the
       * required default "blob" type (instead we define a custom "nodebuffer"
       * type).
       *
       * @type {String}
       */
      get binaryType() {
        return this._binaryType;
      }
      set binaryType(type) {
        if (!BINARY_TYPES.includes(type)) return;
        this._binaryType = type;
        if (this._receiver) this._receiver._binaryType = type;
      }
      /**
       * @type {Number}
       */
      get bufferedAmount() {
        if (!this._socket) return this._bufferedAmount;
        return this._socket._writableState.length + this._sender._bufferedBytes;
      }
      /**
       * @type {String}
       */
      get extensions() {
        return Object.keys(this._extensions).join();
      }
      /**
       * @type {Boolean}
       */
      get isPaused() {
        return this._paused;
      }
      /**
       * @type {Function}
       */
      /* istanbul ignore next */
      get onclose() {
        return null;
      }
      /**
       * @type {Function}
       */
      /* istanbul ignore next */
      get onerror() {
        return null;
      }
      /**
       * @type {Function}
       */
      /* istanbul ignore next */
      get onopen() {
        return null;
      }
      /**
       * @type {Function}
       */
      /* istanbul ignore next */
      get onmessage() {
        return null;
      }
      /**
       * @type {String}
       */
      get protocol() {
        return this._protocol;
      }
      /**
       * @type {Number}
       */
      get readyState() {
        return this._readyState;
      }
      /**
       * @type {String}
       */
      get url() {
        return this._url;
      }
      /**
       * Set up the socket and the internal resources.
       *
       * @param {Duplex} socket The network socket between the server and client
       * @param {Buffer} head The first packet of the upgraded stream
       * @param {Object} options Options object
       * @param {Boolean} [options.allowSynchronousEvents=false] Specifies whether
       *     any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
       *     multiple times in the same tick
       * @param {Function} [options.generateMask] The function used to generate the
       *     masking key
       * @param {Number} [options.maxPayload=0] The maximum allowed message size
       * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
       *     not to skip UTF-8 validation for text and close messages
       * @private
       */
      setSocket(socket, head, options) {
        const receiver = new Receiver2({
          allowSynchronousEvents: options.allowSynchronousEvents,
          binaryType: this.binaryType,
          extensions: this._extensions,
          isServer: this._isServer,
          maxPayload: options.maxPayload,
          skipUTF8Validation: options.skipUTF8Validation
        });
        this._sender = new Sender2(socket, this._extensions, options.generateMask);
        this._receiver = receiver;
        this._socket = socket;
        receiver[kWebSocket] = this;
        socket[kWebSocket] = this;
        receiver.on("conclude", receiverOnConclude);
        receiver.on("drain", receiverOnDrain);
        receiver.on("error", receiverOnError);
        receiver.on("message", receiverOnMessage);
        receiver.on("ping", receiverOnPing);
        receiver.on("pong", receiverOnPong);
        if (socket.setTimeout) socket.setTimeout(0);
        if (socket.setNoDelay) socket.setNoDelay();
        if (head.length > 0) socket.unshift(head);
        socket.on("close", socketOnClose);
        socket.on("data", socketOnData);
        socket.on("end", socketOnEnd);
        socket.on("error", socketOnError);
        this._readyState = _WebSocket.OPEN;
        this.emit("open");
      }
      /**
       * Emit the `'close'` event.
       *
       * @private
       */
      emitClose() {
        if (!this._socket) {
          this._readyState = _WebSocket.CLOSED;
          this.emit("close", this._closeCode, this._closeMessage);
          return;
        }
        if (this._extensions[PerMessageDeflate.extensionName]) {
          this._extensions[PerMessageDeflate.extensionName].cleanup();
        }
        this._receiver.removeAllListeners();
        this._readyState = _WebSocket.CLOSED;
        this.emit("close", this._closeCode, this._closeMessage);
      }
      /**
       * Start a closing handshake.
       *
       *          +----------+   +-----------+   +----------+
       *     - - -|ws.close()|-->|close frame|-->|ws.close()|- - -
       *    |     +----------+   +-----------+   +----------+     |
       *          +----------+   +-----------+         |
       * CLOSING  |ws.close()|<--|close frame|<--+-----+       CLOSING
       *          +----------+   +-----------+   |
       *    |           |                        |   +---+        |
       *                +------------------------+-->|fin| - - - -
       *    |         +---+                      |   +---+
       *     - - - - -|fin|<---------------------+
       *              +---+
       *
       * @param {Number} [code] Status code explaining why the connection is closing
       * @param {(String|Buffer)} [data] The reason why the connection is
       *     closing
       * @public
       */
      close(code, data) {
        if (this.readyState === _WebSocket.CLOSED) return;
        if (this.readyState === _WebSocket.CONNECTING) {
          const msg = "WebSocket was closed before the connection was established";
          abortHandshake(this, this._req, msg);
          return;
        }
        if (this.readyState === _WebSocket.CLOSING) {
          if (this._closeFrameSent && (this._closeFrameReceived || this._receiver._writableState.errorEmitted)) {
            this._socket.end();
          }
          return;
        }
        this._readyState = _WebSocket.CLOSING;
        this._sender.close(code, data, !this._isServer, (err) => {
          if (err) return;
          this._closeFrameSent = true;
          if (this._closeFrameReceived || this._receiver._writableState.errorEmitted) {
            this._socket.end();
          }
        });
        this._closeTimer = setTimeout(
          this._socket.destroy.bind(this._socket),
          closeTimeout
        );
      }
      /**
       * Pause the socket.
       *
       * @public
       */
      pause() {
        if (this.readyState === _WebSocket.CONNECTING || this.readyState === _WebSocket.CLOSED) {
          return;
        }
        this._paused = true;
        this._socket.pause();
      }
      /**
       * Send a ping.
       *
       * @param {*} [data] The data to send
       * @param {Boolean} [mask] Indicates whether or not to mask `data`
       * @param {Function} [cb] Callback which is executed when the ping is sent
       * @public
       */
      ping(data, mask, cb) {
        if (this.readyState === _WebSocket.CONNECTING) {
          throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");
        }
        if (typeof data === "function") {
          cb = data;
          data = mask = void 0;
        } else if (typeof mask === "function") {
          cb = mask;
          mask = void 0;
        }
        if (typeof data === "number") data = data.toString();
        if (this.readyState !== _WebSocket.OPEN) {
          sendAfterClose(this, data, cb);
          return;
        }
        if (mask === void 0) mask = !this._isServer;
        this._sender.ping(data || EMPTY_BUFFER, mask, cb);
      }
      /**
       * Send a pong.
       *
       * @param {*} [data] The data to send
       * @param {Boolean} [mask] Indicates whether or not to mask `data`
       * @param {Function} [cb] Callback which is executed when the pong is sent
       * @public
       */
      pong(data, mask, cb) {
        if (this.readyState === _WebSocket.CONNECTING) {
          throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");
        }
        if (typeof data === "function") {
          cb = data;
          data = mask = void 0;
        } else if (typeof mask === "function") {
          cb = mask;
          mask = void 0;
        }
        if (typeof data === "number") data = data.toString();
        if (this.readyState !== _WebSocket.OPEN) {
          sendAfterClose(this, data, cb);
          return;
        }
        if (mask === void 0) mask = !this._isServer;
        this._sender.pong(data || EMPTY_BUFFER, mask, cb);
      }
      /**
       * Resume the socket.
       *
       * @public
       */
      resume() {
        if (this.readyState === _WebSocket.CONNECTING || this.readyState === _WebSocket.CLOSED) {
          return;
        }
        this._paused = false;
        if (!this._receiver._writableState.needDrain) this._socket.resume();
      }
      /**
       * Send a data message.
       *
       * @param {*} data The message to send
       * @param {Object} [options] Options object
       * @param {Boolean} [options.binary] Specifies whether `data` is binary or
       *     text
       * @param {Boolean} [options.compress] Specifies whether or not to compress
       *     `data`
       * @param {Boolean} [options.fin=true] Specifies whether the fragment is the
       *     last one
       * @param {Boolean} [options.mask] Specifies whether or not to mask `data`
       * @param {Function} [cb] Callback which is executed when data is written out
       * @public
       */
      send(data, options, cb) {
        if (this.readyState === _WebSocket.CONNECTING) {
          throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");
        }
        if (typeof options === "function") {
          cb = options;
          options = {};
        }
        if (typeof data === "number") data = data.toString();
        if (this.readyState !== _WebSocket.OPEN) {
          sendAfterClose(this, data, cb);
          return;
        }
        const opts = {
          binary: typeof data !== "string",
          mask: !this._isServer,
          compress: true,
          fin: true,
          ...options
        };
        if (!this._extensions[PerMessageDeflate.extensionName]) {
          opts.compress = false;
        }
        this._sender.send(data || EMPTY_BUFFER, opts, cb);
      }
      /**
       * Forcibly close the connection.
       *
       * @public
       */
      terminate() {
        if (this.readyState === _WebSocket.CLOSED) return;
        if (this.readyState === _WebSocket.CONNECTING) {
          const msg = "WebSocket was closed before the connection was established";
          abortHandshake(this, this._req, msg);
          return;
        }
        if (this._socket) {
          this._readyState = _WebSocket.CLOSING;
          this._socket.destroy();
        }
      }
    };
    Object.defineProperty(WebSocket2, "CONNECTING", {
      enumerable: true,
      value: readyStates.indexOf("CONNECTING")
    });
    Object.defineProperty(WebSocket2.prototype, "CONNECTING", {
      enumerable: true,
      value: readyStates.indexOf("CONNECTING")
    });
    Object.defineProperty(WebSocket2, "OPEN", {
      enumerable: true,
      value: readyStates.indexOf("OPEN")
    });
    Object.defineProperty(WebSocket2.prototype, "OPEN", {
      enumerable: true,
      value: readyStates.indexOf("OPEN")
    });
    Object.defineProperty(WebSocket2, "CLOSING", {
      enumerable: true,
      value: readyStates.indexOf("CLOSING")
    });
    Object.defineProperty(WebSocket2.prototype, "CLOSING", {
      enumerable: true,
      value: readyStates.indexOf("CLOSING")
    });
    Object.defineProperty(WebSocket2, "CLOSED", {
      enumerable: true,
      value: readyStates.indexOf("CLOSED")
    });
    Object.defineProperty(WebSocket2.prototype, "CLOSED", {
      enumerable: true,
      value: readyStates.indexOf("CLOSED")
    });
    [
      "binaryType",
      "bufferedAmount",
      "extensions",
      "isPaused",
      "protocol",
      "readyState",
      "url"
    ].forEach((property) => {
      Object.defineProperty(WebSocket2.prototype, property, { enumerable: true });
    });
    ["open", "error", "close", "message"].forEach((method) => {
      Object.defineProperty(WebSocket2.prototype, `on${method}`, {
        enumerable: true,
        get() {
          for (const listener of this.listeners(method)) {
            if (listener[kForOnEventAttribute]) return listener[kListener];
          }
          return null;
        },
        set(handler) {
          for (const listener of this.listeners(method)) {
            if (listener[kForOnEventAttribute]) {
              this.removeListener(method, listener);
              break;
            }
          }
          if (typeof handler !== "function") return;
          this.addEventListener(method, handler, {
            [kForOnEventAttribute]: true
          });
        }
      });
    });
    WebSocket2.prototype.addEventListener = addEventListener;
    WebSocket2.prototype.removeEventListener = removeEventListener;
    module.exports = WebSocket2;
    function initAsClient(websocket, address, protocols, options) {
      const opts = {
        allowSynchronousEvents: false,
        autoPong: true,
        protocolVersion: protocolVersions[1],
        maxPayload: 100 * 1024 * 1024,
        skipUTF8Validation: false,
        perMessageDeflate: true,
        followRedirects: false,
        maxRedirects: 10,
        ...options,
        createConnection: void 0,
        socketPath: void 0,
        hostname: void 0,
        protocol: void 0,
        timeout: void 0,
        method: "GET",
        host: void 0,
        path: void 0,
        port: void 0
      };
      websocket._autoPong = opts.autoPong;
      if (!protocolVersions.includes(opts.protocolVersion)) {
        throw new RangeError(
          `Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})`
        );
      }
      let parsedUrl;
      if (address instanceof URL) {
        parsedUrl = address;
      } else {
        try {
          parsedUrl = new URL(address);
        } catch (e) {
          throw new SyntaxError(`Invalid URL: ${address}`);
        }
      }
      if (parsedUrl.protocol === "http:") {
        parsedUrl.protocol = "ws:";
      } else if (parsedUrl.protocol === "https:") {
        parsedUrl.protocol = "wss:";
      }
      websocket._url = parsedUrl.href;
      const isSecure = parsedUrl.protocol === "wss:";
      const isIpcUrl = parsedUrl.protocol === "ws+unix:";
      let invalidUrlMessage;
      if (parsedUrl.protocol !== "ws:" && !isSecure && !isIpcUrl) {
        invalidUrlMessage = `The URL's protocol must be one of "ws:", "wss:", "http:", "https", or "ws+unix:"`;
      } else if (isIpcUrl && !parsedUrl.pathname) {
        invalidUrlMessage = "The URL's pathname is empty";
      } else if (parsedUrl.hash) {
        invalidUrlMessage = "The URL contains a fragment identifier";
      }
      if (invalidUrlMessage) {
        const err = new SyntaxError(invalidUrlMessage);
        if (websocket._redirects === 0) {
          throw err;
        } else {
          emitErrorAndClose(websocket, err);
          return;
        }
      }
      const defaultPort = isSecure ? 443 : 80;
      const key = randomBytes(16).toString("base64");
      const request = isSecure ? https.request : http2.request;
      const protocolSet = /* @__PURE__ */ new Set();
      let perMessageDeflate;
      opts.createConnection = isSecure ? tlsConnect : netConnect;
      opts.defaultPort = opts.defaultPort || defaultPort;
      opts.port = parsedUrl.port || defaultPort;
      opts.host = parsedUrl.hostname.startsWith("[") ? parsedUrl.hostname.slice(1, -1) : parsedUrl.hostname;
      opts.headers = {
        ...opts.headers,
        "Sec-WebSocket-Version": opts.protocolVersion,
        "Sec-WebSocket-Key": key,
        Connection: "Upgrade",
        Upgrade: "websocket"
      };
      opts.path = parsedUrl.pathname + parsedUrl.search;
      opts.timeout = opts.handshakeTimeout;
      if (opts.perMessageDeflate) {
        perMessageDeflate = new PerMessageDeflate(
          opts.perMessageDeflate !== true ? opts.perMessageDeflate : {},
          false,
          opts.maxPayload
        );
        opts.headers["Sec-WebSocket-Extensions"] = format({
          [PerMessageDeflate.extensionName]: perMessageDeflate.offer()
        });
      }
      if (protocols.length) {
        for (const protocol of protocols) {
          if (typeof protocol !== "string" || !subprotocolRegex.test(protocol) || protocolSet.has(protocol)) {
            throw new SyntaxError(
              "An invalid or duplicated subprotocol was specified"
            );
          }
          protocolSet.add(protocol);
        }
        opts.headers["Sec-WebSocket-Protocol"] = protocols.join(",");
      }
      if (opts.origin) {
        if (opts.protocolVersion < 13) {
          opts.headers["Sec-WebSocket-Origin"] = opts.origin;
        } else {
          opts.headers.Origin = opts.origin;
        }
      }
      if (parsedUrl.username || parsedUrl.password) {
        opts.auth = `${parsedUrl.username}:${parsedUrl.password}`;
      }
      if (isIpcUrl) {
        const parts = opts.path.split(":");
        opts.socketPath = parts[0];
        opts.path = parts[1];
      }
      let req;
      if (opts.followRedirects) {
        if (websocket._redirects === 0) {
          websocket._originalIpc = isIpcUrl;
          websocket._originalSecure = isSecure;
          websocket._originalHostOrSocketPath = isIpcUrl ? opts.socketPath : parsedUrl.host;
          const headers = options && options.headers;
          options = { ...options, headers: {} };
          if (headers) {
            for (const [key2, value] of Object.entries(headers)) {
              options.headers[key2.toLowerCase()] = value;
            }
          }
        } else if (websocket.listenerCount("redirect") === 0) {
          const isSameHost = isIpcUrl ? websocket._originalIpc ? opts.socketPath === websocket._originalHostOrSocketPath : false : websocket._originalIpc ? false : parsedUrl.host === websocket._originalHostOrSocketPath;
          if (!isSameHost || websocket._originalSecure && !isSecure) {
            delete opts.headers.authorization;
            delete opts.headers.cookie;
            if (!isSameHost) delete opts.headers.host;
            opts.auth = void 0;
          }
        }
        if (opts.auth && !options.headers.authorization) {
          options.headers.authorization = "Basic " + Buffer.from(opts.auth).toString("base64");
        }
        req = websocket._req = request(opts);
        if (websocket._redirects) {
          websocket.emit("redirect", websocket.url, req);
        }
      } else {
        req = websocket._req = request(opts);
      }
      if (opts.timeout) {
        req.on("timeout", () => {
          abortHandshake(websocket, req, "Opening handshake has timed out");
        });
      }
      req.on("error", (err) => {
        if (req === null || req[kAborted]) return;
        req = websocket._req = null;
        emitErrorAndClose(websocket, err);
      });
      req.on("response", (res) => {
        const location = res.headers.location;
        const statusCode = res.statusCode;
        if (location && opts.followRedirects && statusCode >= 300 && statusCode < 400) {
          if (++websocket._redirects > opts.maxRedirects) {
            abortHandshake(websocket, req, "Maximum redirects exceeded");
            return;
          }
          req.abort();
          let addr;
          try {
            addr = new URL(location, address);
          } catch (e) {
            const err = new SyntaxError(`Invalid URL: ${location}`);
            emitErrorAndClose(websocket, err);
            return;
          }
          initAsClient(websocket, addr, protocols, options);
        } else if (!websocket.emit("unexpected-response", req, res)) {
          abortHandshake(
            websocket,
            req,
            `Unexpected server response: ${res.statusCode}`
          );
        }
      });
      req.on("upgrade", (res, socket, head) => {
        websocket.emit("upgrade", res);
        if (websocket.readyState !== WebSocket2.CONNECTING) return;
        req = websocket._req = null;
        if (res.headers.upgrade.toLowerCase() !== "websocket") {
          abortHandshake(websocket, socket, "Invalid Upgrade header");
          return;
        }
        const digest = createHash("sha1").update(key + GUID).digest("base64");
        if (res.headers["sec-websocket-accept"] !== digest) {
          abortHandshake(websocket, socket, "Invalid Sec-WebSocket-Accept header");
          return;
        }
        const serverProt = res.headers["sec-websocket-protocol"];
        let protError;
        if (serverProt !== void 0) {
          if (!protocolSet.size) {
            protError = "Server sent a subprotocol but none was requested";
          } else if (!protocolSet.has(serverProt)) {
            protError = "Server sent an invalid subprotocol";
          }
        } else if (protocolSet.size) {
          protError = "Server sent no subprotocol";
        }
        if (protError) {
          abortHandshake(websocket, socket, protError);
          return;
        }
        if (serverProt) websocket._protocol = serverProt;
        const secWebSocketExtensions = res.headers["sec-websocket-extensions"];
        if (secWebSocketExtensions !== void 0) {
          if (!perMessageDeflate) {
            const message = "Server sent a Sec-WebSocket-Extensions header but no extension was requested";
            abortHandshake(websocket, socket, message);
            return;
          }
          let extensions;
          try {
            extensions = parse(secWebSocketExtensions);
          } catch (err) {
            const message = "Invalid Sec-WebSocket-Extensions header";
            abortHandshake(websocket, socket, message);
            return;
          }
          const extensionNames = Object.keys(extensions);
          if (extensionNames.length !== 1 || extensionNames[0] !== PerMessageDeflate.extensionName) {
            const message = "Server indicated an extension that was not requested";
            abortHandshake(websocket, socket, message);
            return;
          }
          try {
            perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]);
          } catch (err) {
            const message = "Invalid Sec-WebSocket-Extensions header";
            abortHandshake(websocket, socket, message);
            return;
          }
          websocket._extensions[PerMessageDeflate.extensionName] = perMessageDeflate;
        }
        websocket.setSocket(socket, head, {
          allowSynchronousEvents: opts.allowSynchronousEvents,
          generateMask: opts.generateMask,
          maxPayload: opts.maxPayload,
          skipUTF8Validation: opts.skipUTF8Validation
        });
      });
      if (opts.finishRequest) {
        opts.finishRequest(req, websocket);
      } else {
        req.end();
      }
    }
    function emitErrorAndClose(websocket, err) {
      websocket._readyState = WebSocket2.CLOSING;
      websocket.emit("error", err);
      websocket.emitClose();
    }
    function netConnect(options) {
      options.path = options.socketPath;
      return net.connect(options);
    }
    function tlsConnect(options) {
      options.path = void 0;
      if (!options.servername && options.servername !== "") {
        options.servername = net.isIP(options.host) ? "" : options.host;
      }
      return tls.connect(options);
    }
    function abortHandshake(websocket, stream, message) {
      websocket._readyState = WebSocket2.CLOSING;
      const err = new Error(message);
      Error.captureStackTrace(err, abortHandshake);
      if (stream.setHeader) {
        stream[kAborted] = true;
        stream.abort();
        if (stream.socket && !stream.socket.destroyed) {
          stream.socket.destroy();
        }
        process.nextTick(emitErrorAndClose, websocket, err);
      } else {
        stream.destroy(err);
        stream.once("error", websocket.emit.bind(websocket, "error"));
        stream.once("close", websocket.emitClose.bind(websocket));
      }
    }
    function sendAfterClose(websocket, data, cb) {
      if (data) {
        const length = toBuffer(data).length;
        if (websocket._socket) websocket._sender._bufferedBytes += length;
        else websocket._bufferedAmount += length;
      }
      if (cb) {
        const err = new Error(
          `WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})`
        );
        process.nextTick(cb, err);
      }
    }
    function receiverOnConclude(code, reason) {
      const websocket = this[kWebSocket];
      websocket._closeFrameReceived = true;
      websocket._closeMessage = reason;
      websocket._closeCode = code;
      if (websocket._socket[kWebSocket] === void 0) return;
      websocket._socket.removeListener("data", socketOnData);
      process.nextTick(resume, websocket._socket);
      if (code === 1005) websocket.close();
      else websocket.close(code, reason);
    }
    function receiverOnDrain() {
      const websocket = this[kWebSocket];
      if (!websocket.isPaused) websocket._socket.resume();
    }
    function receiverOnError(err) {
      const websocket = this[kWebSocket];
      if (websocket._socket[kWebSocket] !== void 0) {
        websocket._socket.removeListener("data", socketOnData);
        process.nextTick(resume, websocket._socket);
        websocket.close(err[kStatusCode]);
      }
      websocket.emit("error", err);
    }
    function receiverOnFinish() {
      this[kWebSocket].emitClose();
    }
    function receiverOnMessage(data, isBinary) {
      this[kWebSocket].emit("message", data, isBinary);
    }
    function receiverOnPing(data) {
      const websocket = this[kWebSocket];
      if (websocket._autoPong) websocket.pong(data, !this._isServer, NOOP);
      websocket.emit("ping", data);
    }
    function receiverOnPong(data) {
      this[kWebSocket].emit("pong", data);
    }
    function resume(stream) {
      stream.resume();
    }
    function socketOnClose() {
      const websocket = this[kWebSocket];
      this.removeListener("close", socketOnClose);
      this.removeListener("data", socketOnData);
      this.removeListener("end", socketOnEnd);
      websocket._readyState = WebSocket2.CLOSING;
      let chunk;
      if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && (chunk = websocket._socket.read()) !== null) {
        websocket._receiver.write(chunk);
      }
      websocket._receiver.end();
      this[kWebSocket] = void 0;
      clearTimeout(websocket._closeTimer);
      if (websocket._receiver._writableState.finished || websocket._receiver._writableState.errorEmitted) {
        websocket.emitClose();
      } else {
        websocket._receiver.on("error", receiverOnFinish);
        websocket._receiver.on("finish", receiverOnFinish);
      }
    }
    function socketOnData(chunk) {
      if (!this[kWebSocket]._receiver.write(chunk)) {
        this.pause();
      }
    }
    function socketOnEnd() {
      const websocket = this[kWebSocket];
      websocket._readyState = WebSocket2.CLOSING;
      websocket._receiver.end();
      this.end();
    }
    function socketOnError() {
      const websocket = this[kWebSocket];
      this.removeListener("error", socketOnError);
      this.on("error", NOOP);
      if (websocket) {
        websocket._readyState = WebSocket2.CLOSING;
        this.destroy();
      }
    }
  }
});

// packages/devtools/node_modules/ws/lib/subprotocol.js
var require_subprotocol = __commonJS({
  "packages/devtools/node_modules/ws/lib/subprotocol.js"(exports, module) {
    "use strict";
    var { tokenChars } = require_validation();
    function parse(header) {
      const protocols = /* @__PURE__ */ new Set();
      let start = -1;
      let end = -1;
      let i = 0;
      for (i; i < header.length; i++) {
        const code = header.charCodeAt(i);
        if (end === -1 && tokenChars[code] === 1) {
          if (start === -1) start = i;
        } else if (i !== 0 && (code === 32 || code === 9)) {
          if (end === -1 && start !== -1) end = i;
        } else if (code === 44) {
          if (start === -1) {
            throw new SyntaxError(`Unexpected character at index ${i}`);
          }
          if (end === -1) end = i;
          const protocol2 = header.slice(start, end);
          if (protocols.has(protocol2)) {
            throw new SyntaxError(`The "${protocol2}" subprotocol is duplicated`);
          }
          protocols.add(protocol2);
          start = end = -1;
        } else {
          throw new SyntaxError(`Unexpected character at index ${i}`);
        }
      }
      if (start === -1 || end !== -1) {
        throw new SyntaxError("Unexpected end of input");
      }
      const protocol = header.slice(start, i);
      if (protocols.has(protocol)) {
        throw new SyntaxError(`The "${protocol}" subprotocol is duplicated`);
      }
      protocols.add(protocol);
      return protocols;
    }
    module.exports = { parse };
  }
});

// packages/devtools/node_modules/ws/lib/websocket-server.js
var require_websocket_server = __commonJS({
  "packages/devtools/node_modules/ws/lib/websocket-server.js"(exports, module) {
    "use strict";
    var EventEmitter2 = __require("events");
    var http2 = __require("http");
    var { Duplex } = __require("stream");
    var { createHash } = __require("crypto");
    var extension = require_extension();
    var PerMessageDeflate = require_permessage_deflate();
    var subprotocol = require_subprotocol();
    var WebSocket2 = require_websocket();
    var { GUID, kWebSocket } = require_constants();
    var keyRegex = /^[+/0-9A-Za-z]{22}==$/;
    var RUNNING = 0;
    var CLOSING = 1;
    var CLOSED = 2;
    var WebSocketServer2 = class extends EventEmitter2 {
      /**
       * Create a `WebSocketServer` instance.
       *
       * @param {Object} options Configuration options
       * @param {Boolean} [options.allowSynchronousEvents=false] Specifies whether
       *     any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
       *     multiple times in the same tick
       * @param {Boolean} [options.autoPong=true] Specifies whether or not to
       *     automatically send a pong in response to a ping
       * @param {Number} [options.backlog=511] The maximum length of the queue of
       *     pending connections
       * @param {Boolean} [options.clientTracking=true] Specifies whether or not to
       *     track clients
       * @param {Function} [options.handleProtocols] A hook to handle protocols
       * @param {String} [options.host] The hostname where to bind the server
       * @param {Number} [options.maxPayload=104857600] The maximum allowed message
       *     size
       * @param {Boolean} [options.noServer=false] Enable no server mode
       * @param {String} [options.path] Accept only connections matching this path
       * @param {(Boolean|Object)} [options.perMessageDeflate=false] Enable/disable
       *     permessage-deflate
       * @param {Number} [options.port] The port where to bind the server
       * @param {(http.Server|https.Server)} [options.server] A pre-created HTTP/S
       *     server to use
       * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
       *     not to skip UTF-8 validation for text and close messages
       * @param {Function} [options.verifyClient] A hook to reject connections
       * @param {Function} [options.WebSocket=WebSocket] Specifies the `WebSocket`
       *     class to use. It must be the `WebSocket` class or class that extends it
       * @param {Function} [callback] A listener for the `listening` event
       */
      constructor(options, callback) {
        super();
        options = {
          allowSynchronousEvents: false,
          autoPong: true,
          maxPayload: 100 * 1024 * 1024,
          skipUTF8Validation: false,
          perMessageDeflate: false,
          handleProtocols: null,
          clientTracking: true,
          verifyClient: null,
          noServer: false,
          backlog: null,
          // use default (511 as implemented in net.js)
          server: null,
          host: null,
          path: null,
          port: null,
          WebSocket: WebSocket2,
          ...options
        };
        if (options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer) {
          throw new TypeError(
            'One and only one of the "port", "server", or "noServer" options must be specified'
          );
        }
        if (options.port != null) {
          this._server = http2.createServer((req, res) => {
            const body = http2.STATUS_CODES[426];
            res.writeHead(426, {
              "Content-Length": body.length,
              "Content-Type": "text/plain"
            });
            res.end(body);
          });
          this._server.listen(
            options.port,
            options.host,
            options.backlog,
            callback
          );
        } else if (options.server) {
          this._server = options.server;
        }
        if (this._server) {
          const emitConnection = this.emit.bind(this, "connection");
          this._removeListeners = addListeners(this._server, {
            listening: this.emit.bind(this, "listening"),
            error: this.emit.bind(this, "error"),
            upgrade: (req, socket, head) => {
              this.handleUpgrade(req, socket, head, emitConnection);
            }
          });
        }
        if (options.perMessageDeflate === true) options.perMessageDeflate = {};
        if (options.clientTracking) {
          this.clients = /* @__PURE__ */ new Set();
          this._shouldEmitClose = false;
        }
        this.options = options;
        this._state = RUNNING;
      }
      /**
       * Returns the bound address, the address family name, and port of the server
       * as reported by the operating system if listening on an IP socket.
       * If the server is listening on a pipe or UNIX domain socket, the name is
       * returned as a string.
       *
       * @return {(Object|String|null)} The address of the server
       * @public
       */
      address() {
        if (this.options.noServer) {
          throw new Error('The server is operating in "noServer" mode');
        }
        if (!this._server) return null;
        return this._server.address();
      }
      /**
       * Stop the server from accepting new connections and emit the `'close'` event
       * when all existing connections are closed.
       *
       * @param {Function} [cb] A one-time listener for the `'close'` event
       * @public
       */
      close(cb) {
        if (this._state === CLOSED) {
          if (cb) {
            this.once("close", () => {
              cb(new Error("The server is not running"));
            });
          }
          process.nextTick(emitClose, this);
          return;
        }
        if (cb) this.once("close", cb);
        if (this._state === CLOSING) return;
        this._state = CLOSING;
        if (this.options.noServer || this.options.server) {
          if (this._server) {
            this._removeListeners();
            this._removeListeners = this._server = null;
          }
          if (this.clients) {
            if (!this.clients.size) {
              process.nextTick(emitClose, this);
            } else {
              this._shouldEmitClose = true;
            }
          } else {
            process.nextTick(emitClose, this);
          }
        } else {
          const server = this._server;
          this._removeListeners();
          this._removeListeners = this._server = null;
          server.close(() => {
            emitClose(this);
          });
        }
      }
      /**
       * See if a given request should be handled by this server instance.
       *
       * @param {http.IncomingMessage} req Request object to inspect
       * @return {Boolean} `true` if the request is valid, else `false`
       * @public
       */
      shouldHandle(req) {
        if (this.options.path) {
          const index = req.url.indexOf("?");
          const pathname = index !== -1 ? req.url.slice(0, index) : req.url;
          if (pathname !== this.options.path) return false;
        }
        return true;
      }
      /**
       * Handle a HTTP Upgrade request.
       *
       * @param {http.IncomingMessage} req The request object
       * @param {Duplex} socket The network socket between the server and client
       * @param {Buffer} head The first packet of the upgraded stream
       * @param {Function} cb Callback
       * @public
       */
      handleUpgrade(req, socket, head, cb) {
        socket.on("error", socketOnError);
        const key = req.headers["sec-websocket-key"];
        const version = +req.headers["sec-websocket-version"];
        if (req.method !== "GET") {
          const message = "Invalid HTTP method";
          abortHandshakeOrEmitwsClientError(this, req, socket, 405, message);
          return;
        }
        if (req.headers.upgrade.toLowerCase() !== "websocket") {
          const message = "Invalid Upgrade header";
          abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
          return;
        }
        if (!key || !keyRegex.test(key)) {
          const message = "Missing or invalid Sec-WebSocket-Key header";
          abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
          return;
        }
        if (version !== 8 && version !== 13) {
          const message = "Missing or invalid Sec-WebSocket-Version header";
          abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
          return;
        }
        if (!this.shouldHandle(req)) {
          abortHandshake(socket, 400);
          return;
        }
        const secWebSocketProtocol = req.headers["sec-websocket-protocol"];
        let protocols = /* @__PURE__ */ new Set();
        if (secWebSocketProtocol !== void 0) {
          try {
            protocols = subprotocol.parse(secWebSocketProtocol);
          } catch (err) {
            const message = "Invalid Sec-WebSocket-Protocol header";
            abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
            return;
          }
        }
        const secWebSocketExtensions = req.headers["sec-websocket-extensions"];
        const extensions = {};
        if (this.options.perMessageDeflate && secWebSocketExtensions !== void 0) {
          const perMessageDeflate = new PerMessageDeflate(
            this.options.perMessageDeflate,
            true,
            this.options.maxPayload
          );
          try {
            const offers = extension.parse(secWebSocketExtensions);
            if (offers[PerMessageDeflate.extensionName]) {
              perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);
              extensions[PerMessageDeflate.extensionName] = perMessageDeflate;
            }
          } catch (err) {
            const message = "Invalid or unacceptable Sec-WebSocket-Extensions header";
            abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
            return;
          }
        }
        if (this.options.verifyClient) {
          const info = {
            origin: req.headers[`${version === 8 ? "sec-websocket-origin" : "origin"}`],
            secure: !!(req.socket.authorized || req.socket.encrypted),
            req
          };
          if (this.options.verifyClient.length === 2) {
            this.options.verifyClient(info, (verified, code, message, headers) => {
              if (!verified) {
                return abortHandshake(socket, code || 401, message, headers);
              }
              this.completeUpgrade(
                extensions,
                key,
                protocols,
                req,
                socket,
                head,
                cb
              );
            });
            return;
          }
          if (!this.options.verifyClient(info)) return abortHandshake(socket, 401);
        }
        this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);
      }
      /**
       * Upgrade the connection to WebSocket.
       *
       * @param {Object} extensions The accepted extensions
       * @param {String} key The value of the `Sec-WebSocket-Key` header
       * @param {Set} protocols The subprotocols
       * @param {http.IncomingMessage} req The request object
       * @param {Duplex} socket The network socket between the server and client
       * @param {Buffer} head The first packet of the upgraded stream
       * @param {Function} cb Callback
       * @throws {Error} If called more than once with the same socket
       * @private
       */
      completeUpgrade(extensions, key, protocols, req, socket, head, cb) {
        if (!socket.readable || !socket.writable) return socket.destroy();
        if (socket[kWebSocket]) {
          throw new Error(
            "server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration"
          );
        }
        if (this._state > RUNNING) return abortHandshake(socket, 503);
        const digest = createHash("sha1").update(key + GUID).digest("base64");
        const headers = [
          "HTTP/1.1 101 Switching Protocols",
          "Upgrade: websocket",
          "Connection: Upgrade",
          `Sec-WebSocket-Accept: ${digest}`
        ];
        const ws = new this.options.WebSocket(null, void 0, this.options);
        if (protocols.size) {
          const protocol = this.options.handleProtocols ? this.options.handleProtocols(protocols, req) : protocols.values().next().value;
          if (protocol) {
            headers.push(`Sec-WebSocket-Protocol: ${protocol}`);
            ws._protocol = protocol;
          }
        }
        if (extensions[PerMessageDeflate.extensionName]) {
          const params = extensions[PerMessageDeflate.extensionName].params;
          const value = extension.format({
            [PerMessageDeflate.extensionName]: [params]
          });
          headers.push(`Sec-WebSocket-Extensions: ${value}`);
          ws._extensions = extensions;
        }
        this.emit("headers", headers, req);
        socket.write(headers.concat("\r\n").join("\r\n"));
        socket.removeListener("error", socketOnError);
        ws.setSocket(socket, head, {
          allowSynchronousEvents: this.options.allowSynchronousEvents,
          maxPayload: this.options.maxPayload,
          skipUTF8Validation: this.options.skipUTF8Validation
        });
        if (this.clients) {
          this.clients.add(ws);
          ws.on("close", () => {
            this.clients.delete(ws);
            if (this._shouldEmitClose && !this.clients.size) {
              process.nextTick(emitClose, this);
            }
          });
        }
        cb(ws, req);
      }
    };
    module.exports = WebSocketServer2;
    function addListeners(server, map) {
      for (const event of Object.keys(map)) server.on(event, map[event]);
      return function removeListeners() {
        for (const event of Object.keys(map)) {
          server.removeListener(event, map[event]);
        }
      };
    }
    function emitClose(server) {
      server._state = CLOSED;
      server.emit("close");
    }
    function socketOnError() {
      this.destroy();
    }
    function abortHandshake(socket, code, message, headers) {
      message = message || http2.STATUS_CODES[code];
      headers = {
        Connection: "close",
        "Content-Type": "text/html",
        "Content-Length": Buffer.byteLength(message),
        ...headers
      };
      socket.once("finish", socket.destroy);
      socket.end(
        `HTTP/1.1 ${code} ${http2.STATUS_CODES[code]}\r
` + Object.keys(headers).map((h) => `${h}: ${headers[h]}`).join("\r\n") + "\r\n\r\n" + message
      );
    }
    function abortHandshakeOrEmitwsClientError(server, req, socket, code, message) {
      if (server.listenerCount("wsClientError")) {
        const err = new Error(message);
        Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError);
        server.emit("wsClientError", err, socket, req);
      } else {
        abortHandshake(socket, code, message);
      }
    }
  }
});

// packages/devtools/src/index.ts
import http from "node:http";
import { randomUUID } from "node:crypto";
import { EventEmitter } from "node:events";

// packages/devtools/node_modules/ws/wrapper.mjs
var import_stream = __toESM(require_stream(), 1);
var import_receiver = __toESM(require_receiver(), 1);
var import_sender = __toESM(require_sender(), 1);
var import_websocket = __toESM(require_websocket(), 1);
var import_websocket_server = __toESM(require_websocket_server(), 1);

// packages/devtools/src/_client-assets.ts
var INDEX_HTML = `<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Gemini CLI DevTools</title>
    <style>
      html,
      body,
      #root {
        height: 100%;
        margin: 0;
        padding: 0;
        font-family:
          -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,
          Arial, sans-serif;
        overflow: hidden;
      }
    </style>
  </head>
  <body>
    <div id="root"></div>
    <script type="module" src="/assets/main.js"></script>
  </body>
</html>
`;
var CLIENT_JS = 'var uy=Object.create;var Pf=Object.defineProperty;var iy=Object.getOwnPropertyDescriptor;var cy=Object.getOwnPropertyNames;var fy=Object.getPrototypeOf,oy=Object.prototype.hasOwnProperty;var lt=(l,t)=>()=>(t||l((t={exports:{}}).exports,t),t.exports);var sy=(l,t,e,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of cy(t))!oy.call(l,n)&&n!==e&&Pf(l,n,{get:()=>t[n],enumerable:!(a=iy(t,n))||a.enumerable});return l};var Ut=(l,t,e)=>(e=l!=null?uy(fy(l)):{},sy(t||!l||!l.__esModule?Pf(e,"default",{value:l,enumerable:!0}):e,l));var so=lt(D=>{"use strict";var oi=Symbol.for("react.transitional.element"),dy=Symbol.for("react.portal"),yy=Symbol.for("react.fragment"),ry=Symbol.for("react.strict_mode"),my=Symbol.for("react.profiler"),vy=Symbol.for("react.consumer"),hy=Symbol.for("react.context"),gy=Symbol.for("react.forward_ref"),py=Symbol.for("react.suspense"),Sy=Symbol.for("react.memo"),no=Symbol.for("react.lazy"),by=Symbol.for("react.activity"),lo=Symbol.iterator;function zy(l){return l===null||typeof l!="object"?null:(l=lo&&l[lo]||l["@@iterator"],typeof l=="function"?l:null)}var uo={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},io=Object.assign,co={};function _e(l,t,e){this.props=l,this.context=t,this.refs=co,this.updater=e||uo}_e.prototype.isReactComponent={};_e.prototype.setState=function(l,t){if(typeof l!="object"&&typeof l!="function"&&l!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,l,t,"setState")};_e.prototype.forceUpdate=function(l){this.updater.enqueueForceUpdate(this,l,"forceUpdate")};function fo(){}fo.prototype=_e.prototype;function si(l,t,e){this.props=l,this.context=t,this.refs=co,this.updater=e||uo}var di=si.prototype=new fo;di.constructor=si;io(di,_e.prototype);di.isPureReactComponent=!0;var to=Array.isArray;function fi(){}var J={H:null,A:null,T:null,S:null},oo=Object.prototype.hasOwnProperty;function yi(l,t,e){var a=e.ref;return{$$typeof:oi,type:l,key:t,ref:a!==void 0?a:null,props:e}}function Ty(l,t){return yi(l.type,t,l.props)}function ri(l){return typeof l=="object"&&l!==null&&l.$$typeof===oi}function Ey(l){var t={"=":"=0",":":"=2"};return"$"+l.replace(/[=:]/g,function(e){return t[e]})}var eo=/\\/+/g;function ci(l,t){return typeof l=="object"&&l!==null&&l.key!=null?Ey(""+l.key):t.toString(36)}function xy(l){switch(l.status){case"fulfilled":return l.value;case"rejected":throw l.reason;default:switch(typeof l.status=="string"?l.then(fi,fi):(l.status="pending",l.then(function(t){l.status==="pending"&&(l.status="fulfilled",l.value=t)},function(t){l.status==="pending"&&(l.status="rejected",l.reason=t)})),l.status){case"fulfilled":return l.value;case"rejected":throw l.reason}}throw l}function Oe(l,t,e,a,n){var u=typeof l;(u==="undefined"||u==="boolean")&&(l=null);var i=!1;if(l===null)i=!0;else switch(u){case"bigint":case"string":case"number":i=!0;break;case"object":switch(l.$$typeof){case oi:case dy:i=!0;break;case no:return i=l._init,Oe(i(l._payload),t,e,a,n)}}if(i)return n=n(l),i=a===""?"."+ci(l,0):a,to(n)?(e="",i!=null&&(e=i.replace(eo,"$&/")+"/"),Oe(n,t,e,"",function(s){return s})):n!=null&&(ri(n)&&(n=Ty(n,e+(n.key==null||l&&l.key===n.key?"":(""+n.key).replace(eo,"$&/")+"/")+i)),t.push(n)),1;i=0;var c=a===""?".":a+":";if(to(l))for(var f=0;f<l.length;f++)a=l[f],u=c+ci(a,f),i+=Oe(a,t,e,u,n);else if(f=zy(l),typeof f=="function")for(l=f.call(l),f=0;!(a=l.next()).done;)a=a.value,u=c+ci(a,f++),i+=Oe(a,t,e,u,n);else if(u==="object"){if(typeof l.then=="function")return Oe(xy(l),t,e,a,n);throw t=String(l),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(l).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return i}function Dn(l,t,e){if(l==null)return l;var a=[],n=0;return Oe(l,a,"","",function(u){return t.call(e,u,n++)}),a}function Ay(l){if(l._status===-1){var t=l._result;t=t(),t.then(function(e){(l._status===0||l._status===-1)&&(l._status=1,l._result=e)},function(e){(l._status===0||l._status===-1)&&(l._status=2,l._result=e)}),l._status===-1&&(l._status=0,l._result=t)}if(l._status===1)return l._result.default;throw l._result}var ao=typeof reportError=="function"?reportError:function(l){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof l=="object"&&l!==null&&typeof l.message=="string"?String(l.message):String(l),error:l});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",l);return}console.error(l)},My={map:Dn,forEach:function(l,t,e){Dn(l,function(){t.apply(this,arguments)},e)},count:function(l){var t=0;return Dn(l,function(){t++}),t},toArray:function(l){return Dn(l,function(t){return t})||[]},only:function(l){if(!ri(l))throw Error("React.Children.only expected to receive a single React element child.");return l}};D.Activity=by;D.Children=My;D.Component=_e;D.Fragment=yy;D.Profiler=my;D.PureComponent=si;D.StrictMode=ry;D.Suspense=py;D.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=J;D.__COMPILER_RUNTIME={__proto__:null,c:function(l){return J.H.useMemoCache(l)}};D.cache=function(l){return function(){return l.apply(null,arguments)}};D.cacheSignal=function(){return null};D.cloneElement=function(l,t,e){if(l==null)throw Error("The argument must be a React element, but you passed "+l+".");var a=io({},l.props),n=l.key;if(t!=null)for(u in t.key!==void 0&&(n=""+t.key),t)!oo.call(t,u)||u==="key"||u==="__self"||u==="__source"||u==="ref"&&t.ref===void 0||(a[u]=t[u]);var u=arguments.length-2;if(u===1)a.children=e;else if(1<u){for(var i=Array(u),c=0;c<u;c++)i[c]=arguments[c+2];a.children=i}return yi(l.type,n,a)};D.createContext=function(l){return l={$$typeof:hy,_currentValue:l,_currentValue2:l,_threadCount:0,Provider:null,Consumer:null},l.Provider=l,l.Consumer={$$typeof:vy,_context:l},l};D.createElement=function(l,t,e){var a,n={},u=null;if(t!=null)for(a in t.key!==void 0&&(u=""+t.key),t)oo.call(t,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(n[a]=t[a]);var i=arguments.length-2;if(i===1)n.children=e;else if(1<i){for(var c=Array(i),f=0;f<i;f++)c[f]=arguments[f+2];n.children=c}if(l&&l.defaultProps)for(a in i=l.defaultProps,i)n[a]===void 0&&(n[a]=i[a]);return yi(l,u,n)};D.createRef=function(){return{current:null}};D.forwardRef=function(l){return{$$typeof:gy,render:l}};D.isValidElement=ri;D.lazy=function(l){return{$$typeof:no,_payload:{_status:-1,_result:l},_init:Ay}};D.memo=function(l,t){return{$$typeof:Sy,type:l,compare:t===void 0?null:t}};D.startTransition=function(l){var t=J.T,e={};J.T=e;try{var a=l(),n=J.S;n!==null&&n(e,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(fi,ao)}catch(u){ao(u)}finally{t!==null&&e.types!==null&&(t.types=e.types),J.T=t}};D.unstable_useCacheRefresh=function(){return J.H.useCacheRefresh()};D.use=function(l){return J.H.use(l)};D.useActionState=function(l,t,e){return J.H.useActionState(l,t,e)};D.useCallback=function(l,t){return J.H.useCallback(l,t)};D.useContext=function(l){return J.H.useContext(l)};D.useDebugValue=function(){};D.useDeferredValue=function(l,t){return J.H.useDeferredValue(l,t)};D.useEffect=function(l,t){return J.H.useEffect(l,t)};D.useEffectEvent=function(l){return J.H.useEffectEvent(l)};D.useId=function(){return J.H.useId()};D.useImperativeHandle=function(l,t,e){return J.H.useImperativeHandle(l,t,e)};D.useInsertionEffect=function(l,t){return J.H.useInsertionEffect(l,t)};D.useLayoutEffect=function(l,t){return J.H.useLayoutEffect(l,t)};D.useMemo=function(l,t){return J.H.useMemo(l,t)};D.useOptimistic=function(l,t){return J.H.useOptimistic(l,t)};D.useReducer=function(l,t,e){return J.H.useReducer(l,t,e)};D.useRef=function(l){return J.H.useRef(l)};D.useState=function(l){return J.H.useState(l)};D.useSyncExternalStore=function(l,t,e){return J.H.useSyncExternalStore(l,t,e)};D.useTransition=function(){return J.H.useTransition()};D.version="19.2.4"});var De=lt((rv,yo)=>{"use strict";yo.exports=so()});var To=lt($=>{"use strict";function gi(l,t){var e=l.length;l.push(t);l:for(;0<e;){var a=e-1>>>1,n=l[a];if(0<Un(n,t))l[a]=t,l[e]=n,e=a;else break l}}function tt(l){return l.length===0?null:l[0]}function Cn(l){if(l.length===0)return null;var t=l[0],e=l.pop();if(e!==t){l[0]=e;l:for(var a=0,n=l.length,u=n>>>1;a<u;){var i=2*(a+1)-1,c=l[i],f=i+1,s=l[f];if(0>Un(c,e))f<n&&0>Un(s,c)?(l[a]=s,l[f]=e,a=f):(l[a]=c,l[i]=e,a=i);else if(f<n&&0>Un(s,e))l[a]=s,l[f]=e,a=f;else break l}}return t}function Un(l,t){var e=l.sortIndex-t.sortIndex;return e!==0?e:l.id-t.id}$.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(ro=performance,$.unstable_now=function(){return ro.now()}):(mi=Date,mo=mi.now(),$.unstable_now=function(){return mi.now()-mo});var ro,mi,mo,st=[],Nt=[],Oy=1,jl=null,gl=3,pi=!1,Ea=!1,xa=!1,Si=!1,go=typeof setTimeout=="function"?setTimeout:null,po=typeof clearTimeout=="function"?clearTimeout:null,vo=typeof setImmediate<"u"?setImmediate:null;function Nn(l){for(var t=tt(Nt);t!==null;){if(t.callback===null)Cn(Nt);else if(t.startTime<=l)Cn(Nt),t.sortIndex=t.expirationTime,gi(st,t);else break;t=tt(Nt)}}function bi(l){if(xa=!1,Nn(l),!Ea)if(tt(st)!==null)Ea=!0,Ne||(Ne=!0,Ue());else{var t=tt(Nt);t!==null&&zi(bi,t.startTime-l)}}var Ne=!1,Aa=-1,So=5,bo=-1;function zo(){return Si?!0:!($.unstable_now()-bo<So)}function vi(){if(Si=!1,Ne){var l=$.unstable_now();bo=l;var t=!0;try{l:{Ea=!1,xa&&(xa=!1,po(Aa),Aa=-1),pi=!0;var e=gl;try{t:{for(Nn(l),jl=tt(st);jl!==null&&!(jl.expirationTime>l&&zo());){var a=jl.callback;if(typeof a=="function"){jl.callback=null,gl=jl.priorityLevel;var n=a(jl.expirationTime<=l);if(l=$.unstable_now(),typeof n=="function"){jl.callback=n,Nn(l),t=!0;break t}jl===tt(st)&&Cn(st),Nn(l)}else Cn(st);jl=tt(st)}if(jl!==null)t=!0;else{var u=tt(Nt);u!==null&&zi(bi,u.startTime-l),t=!1}}break l}finally{jl=null,gl=e,pi=!1}t=void 0}}finally{t?Ue():Ne=!1}}}var Ue;typeof vo=="function"?Ue=function(){vo(vi)}:typeof MessageChannel<"u"?(hi=new MessageChannel,ho=hi.port2,hi.port1.onmessage=vi,Ue=function(){ho.postMessage(null)}):Ue=function(){go(vi,0)};var hi,ho;function zi(l,t){Aa=go(function(){l($.unstable_now())},t)}$.unstable_IdlePriority=5;$.unstable_ImmediatePriority=1;$.unstable_LowPriority=4;$.unstable_NormalPriority=3;$.unstable_Profiling=null;$.unstable_UserBlockingPriority=2;$.unstable_cancelCallback=function(l){l.callback=null};$.unstable_forceFrameRate=function(l){0>l||125<l?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):So=0<l?Math.floor(1e3/l):5};$.unstable_getCurrentPriorityLevel=function(){return gl};$.unstable_next=function(l){switch(gl){case 1:case 2:case 3:var t=3;break;default:t=gl}var e=gl;gl=t;try{return l()}finally{gl=e}};$.unstable_requestPaint=function(){Si=!0};$.unstable_runWithPriority=function(l,t){switch(l){case 1:case 2:case 3:case 4:case 5:break;default:l=3}var e=gl;gl=l;try{return t()}finally{gl=e}};$.unstable_scheduleCallback=function(l,t,e){var a=$.unstable_now();switch(typeof e=="object"&&e!==null?(e=e.delay,e=typeof e=="number"&&0<e?a+e:a):e=a,l){case 1:var n=-1;break;case 2:n=250;break;case 5:n=1073741823;break;case 4:n=1e4;break;default:n=5e3}return n=e+n,l={id:Oy++,callback:t,priorityLevel:l,startTime:e,expirationTime:n,sortIndex:-1},e>a?(l.sortIndex=e,gi(Nt,l),tt(st)===null&&l===tt(Nt)&&(xa?(po(Aa),Aa=-1):xa=!0,zi(bi,e-a))):(l.sortIndex=n,gi(st,l),Ea||pi||(Ea=!0,Ne||(Ne=!0,Ue()))),l};$.unstable_shouldYield=zo;$.unstable_wrapCallback=function(l){var t=gl;return function(){var e=gl;gl=t;try{return l.apply(this,arguments)}finally{gl=e}}}});var xo=lt((vv,Eo)=>{"use strict";Eo.exports=To()});var Mo=lt(Sl=>{"use strict";var _y=De();function Ao(l){var t="https://react.dev/errors/"+l;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var e=2;e<arguments.length;e++)t+="&args[]="+encodeURIComponent(arguments[e])}return"Minified React error #"+l+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Ct(){}var pl={d:{f:Ct,r:function(){throw Error(Ao(522))},D:Ct,C:Ct,L:Ct,m:Ct,X:Ct,S:Ct,M:Ct},p:0,findDOMNode:null},Dy=Symbol.for("react.portal");function Uy(l,t,e){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Dy,key:a==null?null:""+a,children:l,containerInfo:t,implementation:e}}var Ma=_y.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Rn(l,t){if(l==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}Sl.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=pl;Sl.createPortal=function(l,t){var e=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(Ao(299));return Uy(l,t,null,e)};Sl.flushSync=function(l){var t=Ma.T,e=pl.p;try{if(Ma.T=null,pl.p=2,l)return l()}finally{Ma.T=t,pl.p=e,pl.d.f()}};Sl.preconnect=function(l,t){typeof l=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,pl.d.C(l,t))};Sl.prefetchDNS=function(l){typeof l=="string"&&pl.d.D(l)};Sl.preinit=function(l,t){if(typeof l=="string"&&t&&typeof t.as=="string"){var e=t.as,a=Rn(e,t.crossOrigin),n=typeof t.integrity=="string"?t.integrity:void 0,u=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;e==="style"?pl.d.S(l,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:a,integrity:n,fetchPriority:u}):e==="script"&&pl.d.X(l,{crossOrigin:a,integrity:n,fetchPriority:u,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};Sl.preinitModule=function(l,t){if(typeof l=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var e=Rn(t.as,t.crossOrigin);pl.d.M(l,{crossOrigin:e,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&pl.d.M(l)};Sl.preload=function(l,t){if(typeof l=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var e=t.as,a=Rn(e,t.crossOrigin);pl.d.L(l,e,{crossOrigin:a,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};Sl.preloadModule=function(l,t){if(typeof l=="string")if(t){var e=Rn(t.as,t.crossOrigin);pl.d.m(l,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:e,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else pl.d.m(l)};Sl.requestFormReset=function(l){pl.d.r(l)};Sl.unstable_batchedUpdates=function(l,t){return l(t)};Sl.useFormState=function(l,t,e){return Ma.H.useFormState(l,t,e)};Sl.useFormStatus=function(){return Ma.H.useHostTransitionStatus()};Sl.version="19.2.4"});var Do=lt((gv,_o)=>{"use strict";function Oo(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Oo)}catch(l){console.error(l)}}Oo(),_o.exports=Mo()});var X1=lt(ni=>{"use strict";var fl=xo(),td=De(),Ny=Do();function S(l){var t="https://react.dev/errors/"+l;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var e=2;e<arguments.length;e++)t+="&args[]="+encodeURIComponent(arguments[e])}return"Minified React error #"+l+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function ed(l){return!(!l||l.nodeType!==1&&l.nodeType!==9&&l.nodeType!==11)}function rn(l){var t=l,e=l;if(l.alternate)for(;t.return;)t=t.return;else{l=t;do t=l,(t.flags&4098)!==0&&(e=t.return),l=t.return;while(l)}return t.tag===3?e:null}function ad(l){if(l.tag===13){var t=l.memoizedState;if(t===null&&(l=l.alternate,l!==null&&(t=l.memoizedState)),t!==null)return t.dehydrated}return null}function nd(l){if(l.tag===31){var t=l.memoizedState;if(t===null&&(l=l.alternate,l!==null&&(t=l.memoizedState)),t!==null)return t.dehydrated}return null}function Uo(l){if(rn(l)!==l)throw Error(S(188))}function Cy(l){var t=l.alternate;if(!t){if(t=rn(l),t===null)throw Error(S(188));return t!==l?null:l}for(var e=l,a=t;;){var n=e.return;if(n===null)break;var u=n.alternate;if(u===null){if(a=n.return,a!==null){e=a;continue}break}if(n.child===u.child){for(u=n.child;u;){if(u===e)return Uo(n),l;if(u===a)return Uo(n),t;u=u.sibling}throw Error(S(188))}if(e.return!==a.return)e=n,a=u;else{for(var i=!1,c=n.child;c;){if(c===e){i=!0,e=n,a=u;break}if(c===a){i=!0,a=n,e=u;break}c=c.sibling}if(!i){for(c=u.child;c;){if(c===e){i=!0,e=u,a=n;break}if(c===a){i=!0,a=u,e=n;break}c=c.sibling}if(!i)throw Error(S(189))}}if(e.alternate!==a)throw Error(S(190))}if(e.tag!==3)throw Error(S(188));return e.stateNode.current===e?l:t}function ud(l){var t=l.tag;if(t===5||t===26||t===27||t===6)return l;for(l=l.child;l!==null;){if(t=ud(l),t!==null)return t;l=l.sibling}return null}var W=Object.assign,Ry=Symbol.for("react.element"),Hn=Symbol.for("react.transitional.element"),Ha=Symbol.for("react.portal"),Ye=Symbol.for("react.fragment"),id=Symbol.for("react.strict_mode"),tc=Symbol.for("react.profiler"),cd=Symbol.for("react.consumer"),pt=Symbol.for("react.context"),$c=Symbol.for("react.forward_ref"),ec=Symbol.for("react.suspense"),ac=Symbol.for("react.suspense_list"),Fc=Symbol.for("react.memo"),Rt=Symbol.for("react.lazy");Symbol.for("react.scope");var nc=Symbol.for("react.activity");Symbol.for("react.legacy_hidden");Symbol.for("react.tracing_marker");var Hy=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var No=Symbol.iterator;function Oa(l){return l===null||typeof l!="object"?null:(l=No&&l[No]||l["@@iterator"],typeof l=="function"?l:null)}var By=Symbol.for("react.client.reference");function uc(l){if(l==null)return null;if(typeof l=="function")return l.$$typeof===By?null:l.displayName||l.name||null;if(typeof l=="string")return l;switch(l){case Ye:return"Fragment";case tc:return"Profiler";case id:return"StrictMode";case ec:return"Suspense";case ac:return"SuspenseList";case nc:return"Activity"}if(typeof l=="object")switch(l.$$typeof){case Ha:return"Portal";case pt:return l.displayName||"Context";case cd:return(l._context.displayName||"Context")+".Consumer";case $c:var t=l.render;return l=l.displayName,l||(l=t.displayName||t.name||"",l=l!==""?"ForwardRef("+l+")":"ForwardRef"),l;case Fc:return t=l.displayName||null,t!==null?t:uc(l.type)||"Memo";case Rt:t=l._payload,l=l._init;try{return uc(l(t))}catch{}}return null}var Ba=Array.isArray,O=td.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,G=Ny.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,se={pending:!1,data:null,method:null,action:null},ic=[],Le=-1;function it(l){return{current:l}}function dl(l){0>Le||(l.current=ic[Le],ic[Le]=null,Le--)}function K(l,t){Le++,ic[Le]=l.current,l.current=t}var ut=it(null),Ia=it(null),Vt=it(null),ru=it(null);function mu(l,t){switch(K(Vt,t),K(Ia,l),K(ut,null),t.nodeType){case 9:case 11:l=(l=t.documentElement)&&(l=l.namespaceURI)?Ls(l):0;break;default:if(l=t.tagName,t=t.namespaceURI)t=Ls(t),l=O1(t,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}dl(ut),K(ut,l)}function ea(){dl(ut),dl(Ia),dl(Vt)}function cc(l){l.memoizedState!==null&&K(ru,l);var t=ut.current,e=O1(t,l.type);t!==e&&(K(Ia,l),K(ut,e))}function vu(l){Ia.current===l&&(dl(ut),dl(Ia)),ru.current===l&&(dl(ru),sn._currentValue=se)}var Ti,Co;function ie(l){if(Ti===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\\n( *(at )?)/);Ti=t&&t[1]||"",Co=-1<e.stack.indexOf(`\n    at`)?" (<anonymous>)":-1<e.stack.indexOf("@")?"@unknown:0:0":""}return`\n`+Ti+l+Co}var Ei=!1;function xi(l,t){if(!l||Ei)return"";Ei=!0;var e=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(t){var g=function(){throw Error()};if(Object.defineProperty(g.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(g,[])}catch(h){var y=h}Reflect.construct(l,[],g)}else{try{g.call()}catch(h){y=h}l.call(g.prototype)}}else{try{throw Error()}catch(h){y=h}(g=l())&&typeof g.catch=="function"&&g.catch(function(){})}}catch(h){if(h&&y&&typeof h.stack=="string")return[h.stack,y.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var n=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");n&&n.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var u=a.DetermineComponentFrameRoot(),i=u[0],c=u[1];if(i&&c){var f=i.split(`\n`),s=c.split(`\n`);for(n=a=0;a<f.length&&!f[a].includes("DetermineComponentFrameRoot");)a++;for(;n<s.length&&!s[n].includes("DetermineComponentFrameRoot");)n++;if(a===f.length||n===s.length)for(a=f.length-1,n=s.length-1;1<=a&&0<=n&&f[a]!==s[n];)n--;for(;1<=a&&0<=n;a--,n--)if(f[a]!==s[n]){if(a!==1||n!==1)do if(a--,n--,0>n||f[a]!==s[n]){var m=`\n`+f[a].replace(" at new "," at ");return l.displayName&&m.includes("<anonymous>")&&(m=m.replace("<anonymous>",l.displayName)),m}while(1<=a&&0<=n);break}}}finally{Ei=!1,Error.prepareStackTrace=e}return(e=l?l.displayName||l.name:"")?ie(e):""}function qy(l,t){switch(l.tag){case 26:case 27:case 5:return ie(l.type);case 16:return ie("Lazy");case 13:return l.child!==t&&t!==null?ie("Suspense Fallback"):ie("Suspense");case 19:return ie("SuspenseList");case 0:case 15:return xi(l.type,!1);case 11:return xi(l.type.render,!1);case 1:return xi(l.type,!0);case 31:return ie("Activity");default:return""}}function Ro(l){try{var t="",e=null;do t+=qy(l,e),e=l,l=l.return;while(l);return t}catch(a){return`\nError generating stack: `+a.message+`\n`+a.stack}}var fc=Object.prototype.hasOwnProperty,Ic=fl.unstable_scheduleCallback,Ai=fl.unstable_cancelCallback,Yy=fl.unstable_shouldYield,Ly=fl.unstable_requestPaint,Hl=fl.unstable_now,Gy=fl.unstable_getCurrentPriorityLevel,fd=fl.unstable_ImmediatePriority,od=fl.unstable_UserBlockingPriority,hu=fl.unstable_NormalPriority,jy=fl.unstable_LowPriority,sd=fl.unstable_IdlePriority,Xy=fl.log,Qy=fl.unstable_setDisableYieldValue,mn=null,Bl=null;function Gt(l){if(typeof Xy=="function"&&Qy(l),Bl&&typeof Bl.setStrictMode=="function")try{Bl.setStrictMode(mn,l)}catch{}}var ql=Math.clz32?Math.clz32:Ky,Zy=Math.log,Vy=Math.LN2;function Ky(l){return l>>>=0,l===0?32:31-(Zy(l)/Vy|0)|0}var Bn=256,qn=262144,Yn=4194304;function ce(l){var t=l&42;if(t!==0)return t;switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return l&261888;case 262144:case 524288:case 1048576:case 2097152:return l&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function Qu(l,t,e){var a=l.pendingLanes;if(a===0)return 0;var n=0,u=l.suspendedLanes,i=l.pingedLanes;l=l.warmLanes;var c=a&134217727;return c!==0?(a=c&~u,a!==0?n=ce(a):(i&=c,i!==0?n=ce(i):e||(e=c&~l,e!==0&&(n=ce(e))))):(c=a&~u,c!==0?n=ce(c):i!==0?n=ce(i):e||(e=a&~l,e!==0&&(n=ce(e)))),n===0?0:t!==0&&t!==n&&(t&u)===0&&(u=n&-n,e=t&-t,u>=e||u===32&&(e&4194048)!==0)?t:n}function vn(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function Jy(l,t){switch(l){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function dd(){var l=Yn;return Yn<<=1,(Yn&62914560)===0&&(Yn=4194304),l}function Mi(l){for(var t=[],e=0;31>e;e++)t.push(l);return t}function hn(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function wy(l,t,e,a,n,u){var i=l.pendingLanes;l.pendingLanes=e,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=e,l.entangledLanes&=e,l.errorRecoveryDisabledLanes&=e,l.shellSuspendCounter=0;var c=l.entanglements,f=l.expirationTimes,s=l.hiddenUpdates;for(e=i&~e;0<e;){var m=31-ql(e),g=1<<m;c[m]=0,f[m]=-1;var y=s[m];if(y!==null)for(s[m]=null,m=0;m<y.length;m++){var h=y[m];h!==null&&(h.lane&=-536870913)}e&=~g}a!==0&&yd(l,a,0),u!==0&&n===0&&l.tag!==0&&(l.suspendedLanes|=u&~(i&~t))}function yd(l,t,e){l.pendingLanes|=t,l.suspendedLanes&=~t;var a=31-ql(t);l.entangledLanes|=t,l.entanglements[a]=l.entanglements[a]|1073741824|e&261930}function rd(l,t){var e=l.entangledLanes|=t;for(l=l.entanglements;e;){var a=31-ql(e),n=1<<a;n&t|l[a]&t&&(l[a]|=t),e&=~n}}function md(l,t){var e=t&-t;return e=(e&42)!==0?1:Pc(e),(e&(l.suspendedLanes|t))!==0?0:e}function Pc(l){switch(l){case 2:l=1;break;case 8:l=4;break;case 32:l=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:l=128;break;case 268435456:l=134217728;break;default:l=0}return l}function lf(l){return l&=-l,2<l?8<l?(l&134217727)!==0?32:268435456:8:2}function vd(){var l=G.p;return l!==0?l:(l=window.event,l===void 0?32:L1(l.type))}function Ho(l,t){var e=G.p;try{return G.p=l,t()}finally{G.p=e}}var ae=Math.random().toString(36).slice(2),rl="__reactFiber$"+ae,Ol="__reactProps$"+ae,ra="__reactContainer$"+ae,oc="__reactEvents$"+ae,ky="__reactListeners$"+ae,Wy="__reactHandles$"+ae,Bo="__reactResources$"+ae,gn="__reactMarker$"+ae;function tf(l){delete l[rl],delete l[Ol],delete l[oc],delete l[ky],delete l[Wy]}function Ge(l){var t=l[rl];if(t)return t;for(var e=l.parentNode;e;){if(t=e[ra]||e[rl]){if(e=t.alternate,t.child!==null||e!==null&&e.child!==null)for(l=Zs(l);l!==null;){if(e=l[rl])return e;l=Zs(l)}return t}l=e,e=l.parentNode}return null}function ma(l){if(l=l[rl]||l[ra]){var t=l.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return l}return null}function qa(l){var t=l.tag;if(t===5||t===26||t===27||t===6)return l.stateNode;throw Error(S(33))}function We(l){var t=l[Bo];return t||(t=l[Bo]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function sl(l){l[gn]=!0}var hd=new Set,gd={};function be(l,t){aa(l,t),aa(l+"Capture",t)}function aa(l,t){for(gd[l]=t,l=0;l<t.length;l++)hd.add(t[l])}var $y=RegExp("^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$"),qo={},Yo={};function Fy(l){return fc.call(Yo,l)?!0:fc.call(qo,l)?!1:$y.test(l)?Yo[l]=!0:(qo[l]=!0,!1)}function In(l,t,e){if(Fy(t))if(e===null)l.removeAttribute(t);else{switch(typeof e){case"undefined":case"function":case"symbol":l.removeAttribute(t);return;case"boolean":var a=t.toLowerCase().slice(0,5);if(a!=="data-"&&a!=="aria-"){l.removeAttribute(t);return}}l.setAttribute(t,""+e)}}function Ln(l,t,e){if(e===null)l.removeAttribute(t);else{switch(typeof e){case"undefined":case"function":case"symbol":case"boolean":l.removeAttribute(t);return}l.setAttribute(t,""+e)}}function dt(l,t,e,a){if(a===null)l.removeAttribute(e);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":l.removeAttribute(e);return}l.setAttributeNS(t,e,""+a)}}function Ql(l){switch(typeof l){case"bigint":case"boolean":case"number":case"string":case"undefined":return l;case"object":return l;default:return""}}function pd(l){var t=l.type;return(l=l.nodeName)&&l.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Iy(l,t,e){var a=Object.getOwnPropertyDescriptor(l.constructor.prototype,t);if(!l.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var n=a.get,u=a.set;return Object.defineProperty(l,t,{configurable:!0,get:function(){return n.call(this)},set:function(i){e=""+i,u.call(this,i)}}),Object.defineProperty(l,t,{enumerable:a.enumerable}),{getValue:function(){return e},setValue:function(i){e=""+i},stopTracking:function(){l._valueTracker=null,delete l[t]}}}}function sc(l){if(!l._valueTracker){var t=pd(l)?"checked":"value";l._valueTracker=Iy(l,t,""+l[t])}}function Sd(l){if(!l)return!1;var t=l._valueTracker;if(!t)return!0;var e=t.getValue(),a="";return l&&(a=pd(l)?l.checked?"true":"false":l.value),l=a,l!==e?(t.setValue(l),!0):!1}function gu(l){if(l=l||(typeof document<"u"?document:void 0),typeof l>"u")return null;try{return l.activeElement||l.body}catch{return l.body}}var Py=/[\\n"\\\\]/g;function Kl(l){return l.replace(Py,function(t){return"\\\\"+t.charCodeAt(0).toString(16)+" "})}function dc(l,t,e,a,n,u,i,c){l.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?l.type=i:l.removeAttribute("type"),t!=null?i==="number"?(t===0&&l.value===""||l.value!=t)&&(l.value=""+Ql(t)):l.value!==""+Ql(t)&&(l.value=""+Ql(t)):i!=="submit"&&i!=="reset"||l.removeAttribute("value"),t!=null?yc(l,i,Ql(t)):e!=null?yc(l,i,Ql(e)):a!=null&&l.removeAttribute("value"),n==null&&u!=null&&(l.defaultChecked=!!u),n!=null&&(l.checked=n&&typeof n!="function"&&typeof n!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?l.name=""+Ql(c):l.removeAttribute("name")}function bd(l,t,e,a,n,u,i,c){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(l.type=u),t!=null||e!=null){if(!(u!=="submit"&&u!=="reset"||t!=null)){sc(l);return}e=e!=null?""+Ql(e):"",t=t!=null?""+Ql(t):e,c||t===l.value||(l.value=t),l.defaultValue=t}a=a??n,a=typeof a!="function"&&typeof a!="symbol"&&!!a,l.checked=c?l.checked:!!a,l.defaultChecked=!!a,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(l.name=i),sc(l)}function yc(l,t,e){t==="number"&&gu(l.ownerDocument)===l||l.defaultValue===""+e||(l.defaultValue=""+e)}function $e(l,t,e,a){if(l=l.options,t){t={};for(var n=0;n<e.length;n++)t["$"+e[n]]=!0;for(e=0;e<l.length;e++)n=t.hasOwnProperty("$"+l[e].value),l[e].selected!==n&&(l[e].selected=n),n&&a&&(l[e].defaultSelected=!0)}else{for(e=""+Ql(e),t=null,n=0;n<l.length;n++){if(l[n].value===e){l[n].selected=!0,a&&(l[n].defaultSelected=!0);return}t!==null||l[n].disabled||(t=l[n])}t!==null&&(t.selected=!0)}}function zd(l,t,e){if(t!=null&&(t=""+Ql(t),t!==l.value&&(l.value=t),e==null)){l.defaultValue!==t&&(l.defaultValue=t);return}l.defaultValue=e!=null?""+Ql(e):""}function Td(l,t,e,a){if(t==null){if(a!=null){if(e!=null)throw Error(S(92));if(Ba(a)){if(1<a.length)throw Error(S(93));a=a[0]}e=a}e==null&&(e=""),t=e}e=Ql(t),l.defaultValue=e,a=l.textContent,a===e&&a!==""&&a!==null&&(l.value=a),sc(l)}function na(l,t){if(t){var e=l.firstChild;if(e&&e===l.lastChild&&e.nodeType===3){e.nodeValue=t;return}}l.textContent=t}var lr=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Lo(l,t,e){var a=t.indexOf("--")===0;e==null||typeof e=="boolean"||e===""?a?l.setProperty(t,""):t==="float"?l.cssFloat="":l[t]="":a?l.setProperty(t,e):typeof e!="number"||e===0||lr.has(t)?t==="float"?l.cssFloat=e:l[t]=(""+e).trim():l[t]=e+"px"}function Ed(l,t,e){if(t!=null&&typeof t!="object")throw Error(S(62));if(l=l.style,e!=null){for(var a in e)!e.hasOwnProperty(a)||t!=null&&t.hasOwnProperty(a)||(a.indexOf("--")===0?l.setProperty(a,""):a==="float"?l.cssFloat="":l[a]="");for(var n in t)a=t[n],t.hasOwnProperty(n)&&e[n]!==a&&Lo(l,n,a)}else for(var u in t)t.hasOwnProperty(u)&&Lo(l,u,t[u])}function ef(l){if(l.indexOf("-")===-1)return!1;switch(l){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var tr=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),er=/^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;function Pn(l){return er.test(""+l)?"javascript:throw new Error(\'React has blocked a javascript: URL as a security precaution.\')":l}function St(){}var rc=null;function af(l){return l=l.target||l.srcElement||window,l.correspondingUseElement&&(l=l.correspondingUseElement),l.nodeType===3?l.parentNode:l}var je=null,Fe=null;function Go(l){var t=ma(l);if(t&&(l=t.stateNode)){var e=l[Ol]||null;l:switch(l=t.stateNode,t.type){case"input":if(dc(l,e.value,e.defaultValue,e.defaultValue,e.checked,e.defaultChecked,e.type,e.name),t=e.name,e.type==="radio"&&t!=null){for(e=l;e.parentNode;)e=e.parentNode;for(e=e.querySelectorAll(\'input[name="\'+Kl(""+t)+\'"][type="radio"]\'),t=0;t<e.length;t++){var a=e[t];if(a!==l&&a.form===l.form){var n=a[Ol]||null;if(!n)throw Error(S(90));dc(a,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name)}}for(t=0;t<e.length;t++)a=e[t],a.form===l.form&&Sd(a)}break l;case"textarea":zd(l,e.value,e.defaultValue);break l;case"select":t=e.value,t!=null&&$e(l,!!e.multiple,t,!1)}}}var Oi=!1;function xd(l,t,e){if(Oi)return l(t,e);Oi=!0;try{var a=l(t);return a}finally{if(Oi=!1,(je!==null||Fe!==null)&&(li(),je&&(t=je,l=Fe,Fe=je=null,Go(t),l)))for(t=0;t<l.length;t++)Go(l[t])}}function Pa(l,t){var e=l.stateNode;if(e===null)return null;var a=e[Ol]||null;if(a===null)return null;e=a[t];l:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(l=l.type,a=!(l==="button"||l==="input"||l==="select"||l==="textarea")),l=!a;break l;default:l=!1}if(l)return null;if(e&&typeof e!="function")throw Error(S(231,t,typeof e));return e}var xt=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),mc=!1;if(xt)try{Ce={},Object.defineProperty(Ce,"passive",{get:function(){mc=!0}}),window.addEventListener("test",Ce,Ce),window.removeEventListener("test",Ce,Ce)}catch{mc=!1}var Ce,jt=null,nf=null,lu=null;function Ad(){if(lu)return lu;var l,t=nf,e=t.length,a,n="value"in jt?jt.value:jt.textContent,u=n.length;for(l=0;l<e&&t[l]===n[l];l++);var i=e-l;for(a=1;a<=i&&t[e-a]===n[u-a];a++);return lu=n.slice(l,1<a?1-a:void 0)}function tu(l){var t=l.keyCode;return"charCode"in l?(l=l.charCode,l===0&&t===13&&(l=13)):l=t,l===10&&(l=13),32<=l||l===13?l:0}function Gn(){return!0}function jo(){return!1}function _l(l){function t(e,a,n,u,i){this._reactName=e,this._targetInst=n,this.type=a,this.nativeEvent=u,this.target=i,this.currentTarget=null;for(var c in l)l.hasOwnProperty(c)&&(e=l[c],this[c]=e?e(u):u[c]);return this.isDefaultPrevented=(u.defaultPrevented!=null?u.defaultPrevented:u.returnValue===!1)?Gn:jo,this.isPropagationStopped=jo,this}return W(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!="unknown"&&(e.returnValue=!1),this.isDefaultPrevented=Gn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!="unknown"&&(e.cancelBubble=!0),this.isPropagationStopped=Gn)},persist:function(){},isPersistent:Gn}),t}var ze={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(l){return l.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Zu=_l(ze),pn=W({},ze,{view:0,detail:0}),ar=_l(pn),_i,Di,_a,Vu=W({},pn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:uf,button:0,buttons:0,relatedTarget:function(l){return l.relatedTarget===void 0?l.fromElement===l.srcElement?l.toElement:l.fromElement:l.relatedTarget},movementX:function(l){return"movementX"in l?l.movementX:(l!==_a&&(_a&&l.type==="mousemove"?(_i=l.screenX-_a.screenX,Di=l.screenY-_a.screenY):Di=_i=0,_a=l),_i)},movementY:function(l){return"movementY"in l?l.movementY:Di}}),Xo=_l(Vu),nr=W({},Vu,{dataTransfer:0}),ur=_l(nr),ir=W({},pn,{relatedTarget:0}),Ui=_l(ir),cr=W({},ze,{animationName:0,elapsedTime:0,pseudoElement:0}),fr=_l(cr),or=W({},ze,{clipboardData:function(l){return"clipboardData"in l?l.clipboardData:window.clipboardData}}),sr=_l(or),dr=W({},ze,{data:0}),Qo=_l(dr),yr={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},rr={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},mr={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function vr(l){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(l):(l=mr[l])?!!t[l]:!1}function uf(){return vr}var hr=W({},pn,{key:function(l){if(l.key){var t=yr[l.key]||l.key;if(t!=="Unidentified")return t}return l.type==="keypress"?(l=tu(l),l===13?"Enter":String.fromCharCode(l)):l.type==="keydown"||l.type==="keyup"?rr[l.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:uf,charCode:function(l){return l.type==="keypress"?tu(l):0},keyCode:function(l){return l.type==="keydown"||l.type==="keyup"?l.keyCode:0},which:function(l){return l.type==="keypress"?tu(l):l.type==="keydown"||l.type==="keyup"?l.keyCode:0}}),gr=_l(hr),pr=W({},Vu,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Zo=_l(pr),Sr=W({},pn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:uf}),br=_l(Sr),zr=W({},ze,{propertyName:0,elapsedTime:0,pseudoElement:0}),Tr=_l(zr),Er=W({},Vu,{deltaX:function(l){return"deltaX"in l?l.deltaX:"wheelDeltaX"in l?-l.wheelDeltaX:0},deltaY:function(l){return"deltaY"in l?l.deltaY:"wheelDeltaY"in l?-l.wheelDeltaY:"wheelDelta"in l?-l.wheelDelta:0},deltaZ:0,deltaMode:0}),xr=_l(Er),Ar=W({},ze,{newState:0,oldState:0}),Mr=_l(Ar),Or=[9,13,27,32],cf=xt&&"CompositionEvent"in window,Ga=null;xt&&"documentMode"in document&&(Ga=document.documentMode);var _r=xt&&"TextEvent"in window&&!Ga,Md=xt&&(!cf||Ga&&8<Ga&&11>=Ga),Vo=" ",Ko=!1;function Od(l,t){switch(l){case"keyup":return Or.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function _d(l){return l=l.detail,typeof l=="object"&&"data"in l?l.data:null}var Xe=!1;function Dr(l,t){switch(l){case"compositionend":return _d(t);case"keypress":return t.which!==32?null:(Ko=!0,Vo);case"textInput":return l=t.data,l===Vo&&Ko?null:l;default:return null}}function Ur(l,t){if(Xe)return l==="compositionend"||!cf&&Od(l,t)?(l=Ad(),lu=nf=jt=null,Xe=!1,l):null;switch(l){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Md&&t.locale!=="ko"?null:t.data;default:return null}}var Nr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Jo(l){var t=l&&l.nodeName&&l.nodeName.toLowerCase();return t==="input"?!!Nr[l.type]:t==="textarea"}function Dd(l,t,e,a){je?Fe?Fe.push(a):Fe=[a]:je=a,t=Bu(t,"onChange"),0<t.length&&(e=new Zu("onChange","change",null,e,a),l.push({event:e,listeners:t}))}var ja=null,ln=null;function Cr(l){x1(l,0)}function Ku(l){var t=qa(l);if(Sd(t))return l}function wo(l,t){if(l==="change")return t}var Ud=!1;xt&&(xt?(Xn="oninput"in document,Xn||(Ni=document.createElement("div"),Ni.setAttribute("oninput","return;"),Xn=typeof Ni.oninput=="function"),jn=Xn):jn=!1,Ud=jn&&(!document.documentMode||9<document.documentMode));var jn,Xn,Ni;function ko(){ja&&(ja.detachEvent("onpropertychange",Nd),ln=ja=null)}function Nd(l){if(l.propertyName==="value"&&Ku(ln)){var t=[];Dd(t,ln,l,af(l)),xd(Cr,t)}}function Rr(l,t,e){l==="focusin"?(ko(),ja=t,ln=e,ja.attachEvent("onpropertychange",Nd)):l==="focusout"&&ko()}function Hr(l){if(l==="selectionchange"||l==="keyup"||l==="keydown")return Ku(ln)}function Br(l,t){if(l==="click")return Ku(t)}function qr(l,t){if(l==="input"||l==="change")return Ku(t)}function Yr(l,t){return l===t&&(l!==0||1/l===1/t)||l!==l&&t!==t}var Ll=typeof Object.is=="function"?Object.is:Yr;function tn(l,t){if(Ll(l,t))return!0;if(typeof l!="object"||l===null||typeof t!="object"||t===null)return!1;var e=Object.keys(l),a=Object.keys(t);if(e.length!==a.length)return!1;for(a=0;a<e.length;a++){var n=e[a];if(!fc.call(t,n)||!Ll(l[n],t[n]))return!1}return!0}function Wo(l){for(;l&&l.firstChild;)l=l.firstChild;return l}function $o(l,t){var e=Wo(l);l=0;for(var a;e;){if(e.nodeType===3){if(a=l+e.textContent.length,l<=t&&a>=t)return{node:e,offset:t-l};l=a}l:{for(;e;){if(e.nextSibling){e=e.nextSibling;break l}e=e.parentNode}e=void 0}e=Wo(e)}}function Cd(l,t){return l&&t?l===t?!0:l&&l.nodeType===3?!1:t&&t.nodeType===3?Cd(l,t.parentNode):"contains"in l?l.contains(t):l.compareDocumentPosition?!!(l.compareDocumentPosition(t)&16):!1:!1}function Rd(l){l=l!=null&&l.ownerDocument!=null&&l.ownerDocument.defaultView!=null?l.ownerDocument.defaultView:window;for(var t=gu(l.document);t instanceof l.HTMLIFrameElement;){try{var e=typeof t.contentWindow.location.href=="string"}catch{e=!1}if(e)l=t.contentWindow;else break;t=gu(l.document)}return t}function ff(l){var t=l&&l.nodeName&&l.nodeName.toLowerCase();return t&&(t==="input"&&(l.type==="text"||l.type==="search"||l.type==="tel"||l.type==="url"||l.type==="password")||t==="textarea"||l.contentEditable==="true")}var Lr=xt&&"documentMode"in document&&11>=document.documentMode,Qe=null,vc=null,Xa=null,hc=!1;function Fo(l,t,e){var a=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;hc||Qe==null||Qe!==gu(a)||(a=Qe,"selectionStart"in a&&ff(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Xa&&tn(Xa,a)||(Xa=a,a=Bu(vc,"onSelect"),0<a.length&&(t=new Zu("onSelect","select",null,t,e),l.push({event:t,listeners:a}),t.target=Qe)))}function ue(l,t){var e={};return e[l.toLowerCase()]=t.toLowerCase(),e["Webkit"+l]="webkit"+t,e["Moz"+l]="moz"+t,e}var Ze={animationend:ue("Animation","AnimationEnd"),animationiteration:ue("Animation","AnimationIteration"),animationstart:ue("Animation","AnimationStart"),transitionrun:ue("Transition","TransitionRun"),transitionstart:ue("Transition","TransitionStart"),transitioncancel:ue("Transition","TransitionCancel"),transitionend:ue("Transition","TransitionEnd")},Ci={},Hd={};xt&&(Hd=document.createElement("div").style,"AnimationEvent"in window||(delete Ze.animationend.animation,delete Ze.animationiteration.animation,delete Ze.animationstart.animation),"TransitionEvent"in window||delete Ze.transitionend.transition);function Te(l){if(Ci[l])return Ci[l];if(!Ze[l])return l;var t=Ze[l],e;for(e in t)if(t.hasOwnProperty(e)&&e in Hd)return Ci[l]=t[e];return l}var Bd=Te("animationend"),qd=Te("animationiteration"),Yd=Te("animationstart"),Gr=Te("transitionrun"),jr=Te("transitionstart"),Xr=Te("transitioncancel"),Ld=Te("transitionend"),Gd=new Map,gc="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");gc.push("scrollEnd");function Pl(l,t){Gd.set(l,t),be(t,[l])}var pu=typeof reportError=="function"?reportError:function(l){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof l=="object"&&l!==null&&typeof l.message=="string"?String(l.message):String(l),error:l});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",l);return}console.error(l)},Xl=[],Ve=0,of=0;function Ju(){for(var l=Ve,t=of=Ve=0;t<l;){var e=Xl[t];Xl[t++]=null;var a=Xl[t];Xl[t++]=null;var n=Xl[t];Xl[t++]=null;var u=Xl[t];if(Xl[t++]=null,a!==null&&n!==null){var i=a.pending;i===null?n.next=n:(n.next=i.next,i.next=n),a.pending=n}u!==0&&jd(e,n,u)}}function wu(l,t,e,a){Xl[Ve++]=l,Xl[Ve++]=t,Xl[Ve++]=e,Xl[Ve++]=a,of|=a,l.lanes|=a,l=l.alternate,l!==null&&(l.lanes|=a)}function sf(l,t,e,a){return wu(l,t,e,a),Su(l)}function Ee(l,t){return wu(l,null,null,t),Su(l)}function jd(l,t,e){l.lanes|=e;var a=l.alternate;a!==null&&(a.lanes|=e);for(var n=!1,u=l.return;u!==null;)u.childLanes|=e,a=u.alternate,a!==null&&(a.childLanes|=e),u.tag===22&&(l=u.stateNode,l===null||l._visibility&1||(n=!0)),l=u,u=u.return;return l.tag===3?(u=l.stateNode,n&&t!==null&&(n=31-ql(e),l=u.hiddenUpdates,a=l[n],a===null?l[n]=[t]:a.push(t),t.lane=e|536870912),u):null}function Su(l){if(50<$a)throw $a=0,Lc=null,Error(S(185));for(var t=l.return;t!==null;)l=t,t=l.return;return l.tag===3?l.stateNode:null}var Ke={};function Qr(l,t,e,a){this.tag=l,this.key=e,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Cl(l,t,e,a){return new Qr(l,t,e,a)}function df(l){return l=l.prototype,!(!l||!l.isReactComponent)}function zt(l,t){var e=l.alternate;return e===null?(e=Cl(l.tag,t,l.key,l.mode),e.elementType=l.elementType,e.type=l.type,e.stateNode=l.stateNode,e.alternate=l,l.alternate=e):(e.pendingProps=t,e.type=l.type,e.flags=0,e.subtreeFlags=0,e.deletions=null),e.flags=l.flags&65011712,e.childLanes=l.childLanes,e.lanes=l.lanes,e.child=l.child,e.memoizedProps=l.memoizedProps,e.memoizedState=l.memoizedState,e.updateQueue=l.updateQueue,t=l.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},e.sibling=l.sibling,e.index=l.index,e.ref=l.ref,e.refCleanup=l.refCleanup,e}function Xd(l,t){l.flags&=65011714;var e=l.alternate;return e===null?(l.childLanes=0,l.lanes=t,l.child=null,l.subtreeFlags=0,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=e.childLanes,l.lanes=e.lanes,l.child=e.child,l.subtreeFlags=0,l.deletions=null,l.memoizedProps=e.memoizedProps,l.memoizedState=e.memoizedState,l.updateQueue=e.updateQueue,l.type=e.type,t=e.dependencies,l.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),l}function eu(l,t,e,a,n,u){var i=0;if(a=l,typeof l=="function")df(l)&&(i=1);else if(typeof l=="string")i=Km(l,e,ut.current)?26:l==="html"||l==="head"||l==="body"?27:5;else l:switch(l){case nc:return l=Cl(31,e,t,n),l.elementType=nc,l.lanes=u,l;case Ye:return de(e.children,n,u,t);case id:i=8,n|=24;break;case tc:return l=Cl(12,e,t,n|2),l.elementType=tc,l.lanes=u,l;case ec:return l=Cl(13,e,t,n),l.elementType=ec,l.lanes=u,l;case ac:return l=Cl(19,e,t,n),l.elementType=ac,l.lanes=u,l;default:if(typeof l=="object"&&l!==null)switch(l.$$typeof){case pt:i=10;break l;case cd:i=9;break l;case $c:i=11;break l;case Fc:i=14;break l;case Rt:i=16,a=null;break l}i=29,e=Error(S(130,l===null?"null":typeof l,"")),a=null}return t=Cl(i,e,t,n),t.elementType=l,t.type=a,t.lanes=u,t}function de(l,t,e,a){return l=Cl(7,l,a,t),l.lanes=e,l}function Ri(l,t,e){return l=Cl(6,l,null,t),l.lanes=e,l}function Qd(l){var t=Cl(18,null,null,0);return t.stateNode=l,t}function Hi(l,t,e){return t=Cl(4,l.children!==null?l.children:[],l.key,t),t.lanes=e,t.stateNode={containerInfo:l.containerInfo,pendingChildren:null,implementation:l.implementation},t}var Io=new WeakMap;function Jl(l,t){if(typeof l=="object"&&l!==null){var e=Io.get(l);return e!==void 0?e:(t={value:l,source:t,stack:Ro(t)},Io.set(l,t),t)}return{value:l,source:t,stack:Ro(t)}}var Je=[],we=0,bu=null,en=0,Zl=[],Vl=0,Pt=null,et=1,at="";function ht(l,t){Je[we++]=en,Je[we++]=bu,bu=l,en=t}function Zd(l,t,e){Zl[Vl++]=et,Zl[Vl++]=at,Zl[Vl++]=Pt,Pt=l;var a=et;l=at;var n=32-ql(a)-1;a&=~(1<<n),e+=1;var u=32-ql(t)+n;if(30<u){var i=n-n%5;u=(a&(1<<i)-1).toString(32),a>>=i,n-=i,et=1<<32-ql(t)+n|e<<n|a,at=u+l}else et=1<<u|e<<n|a,at=l}function yf(l){l.return!==null&&(ht(l,1),Zd(l,1,0))}function rf(l){for(;l===bu;)bu=Je[--we],Je[we]=null,en=Je[--we],Je[we]=null;for(;l===Pt;)Pt=Zl[--Vl],Zl[Vl]=null,at=Zl[--Vl],Zl[Vl]=null,et=Zl[--Vl],Zl[Vl]=null}function Vd(l,t){Zl[Vl++]=et,Zl[Vl++]=at,Zl[Vl++]=Pt,et=t.id,at=t.overflow,Pt=l}var ml=null,k=null,Y=!1,Kt=null,wl=!1,pc=Error(S(519));function le(l){var t=Error(S(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw an(Jl(t,l)),pc}function Po(l){var t=l.stateNode,e=l.type,a=l.memoizedProps;switch(t[rl]=l,t[Ol]=a,e){case"dialog":H("cancel",t),H("close",t);break;case"iframe":case"object":case"embed":H("load",t);break;case"video":case"audio":for(e=0;e<fn.length;e++)H(fn[e],t);break;case"source":H("error",t);break;case"img":case"image":case"link":H("error",t),H("load",t);break;case"details":H("toggle",t);break;case"input":H("invalid",t),bd(t,a.value,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name,!0);break;case"select":H("invalid",t);break;case"textarea":H("invalid",t),Td(t,a.value,a.defaultValue,a.children)}e=a.children,typeof e!="string"&&typeof e!="number"&&typeof e!="bigint"||t.textContent===""+e||a.suppressHydrationWarning===!0||M1(t.textContent,e)?(a.popover!=null&&(H("beforetoggle",t),H("toggle",t)),a.onScroll!=null&&H("scroll",t),a.onScrollEnd!=null&&H("scrollend",t),a.onClick!=null&&(t.onclick=St),t=!0):t=!1,t||le(l,!0)}function ls(l){for(ml=l.return;ml;)switch(ml.tag){case 5:case 31:case 13:wl=!1;return;case 27:case 3:wl=!0;return;default:ml=ml.return}}function Re(l){if(l!==ml)return!1;if(!Y)return ls(l),Y=!0,!1;var t=l.tag,e;if((e=t!==3&&t!==27)&&((e=t===5)&&(e=l.type,e=!(e!=="form"&&e!=="button")||Zc(l.type,l.memoizedProps)),e=!e),e&&k&&le(l),ls(l),t===13){if(l=l.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(317));k=Qs(l)}else if(t===31){if(l=l.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(317));k=Qs(l)}else t===27?(t=k,ne(l.type)?(l=wc,wc=null,k=l):k=t):k=ml?Wl(l.stateNode.nextSibling):null;return!0}function ve(){k=ml=null,Y=!1}function Bi(){var l=Kt;return l!==null&&(Al===null?Al=l:Al.push.apply(Al,l),Kt=null),l}function an(l){Kt===null?Kt=[l]:Kt.push(l)}var Sc=it(null),xe=null,bt=null;function Bt(l,t,e){K(Sc,t._currentValue),t._currentValue=e}function Tt(l){l._currentValue=Sc.current,dl(Sc)}function bc(l,t,e){for(;l!==null;){var a=l.alternate;if((l.childLanes&t)!==t?(l.childLanes|=t,a!==null&&(a.childLanes|=t)):a!==null&&(a.childLanes&t)!==t&&(a.childLanes|=t),l===e)break;l=l.return}}function zc(l,t,e,a){var n=l.child;for(n!==null&&(n.return=l);n!==null;){var u=n.dependencies;if(u!==null){var i=n.child;u=u.firstContext;l:for(;u!==null;){var c=u;u=n;for(var f=0;f<t.length;f++)if(c.context===t[f]){u.lanes|=e,c=u.alternate,c!==null&&(c.lanes|=e),bc(u.return,e,l),a||(i=null);break l}u=c.next}}else if(n.tag===18){if(i=n.return,i===null)throw Error(S(341));i.lanes|=e,u=i.alternate,u!==null&&(u.lanes|=e),bc(i,e,l),i=null}else i=n.child;if(i!==null)i.return=n;else for(i=n;i!==null;){if(i===l){i=null;break}if(n=i.sibling,n!==null){n.return=i.return,i=n;break}i=i.return}n=i}}function va(l,t,e,a){l=null;for(var n=t,u=!1;n!==null;){if(!u){if((n.flags&524288)!==0)u=!0;else if((n.flags&262144)!==0)break}if(n.tag===10){var i=n.alternate;if(i===null)throw Error(S(387));if(i=i.memoizedProps,i!==null){var c=n.type;Ll(n.pendingProps.value,i.value)||(l!==null?l.push(c):l=[c])}}else if(n===ru.current){if(i=n.alternate,i===null)throw Error(S(387));i.memoizedState.memoizedState!==n.memoizedState.memoizedState&&(l!==null?l.push(sn):l=[sn])}n=n.return}l!==null&&zc(t,l,e,a),t.flags|=262144}function zu(l){for(l=l.firstContext;l!==null;){if(!Ll(l.context._currentValue,l.memoizedValue))return!0;l=l.next}return!1}function he(l){xe=l,bt=null,l=l.dependencies,l!==null&&(l.firstContext=null)}function vl(l){return Kd(xe,l)}function Qn(l,t){return xe===null&&he(l),Kd(l,t)}function Kd(l,t){var e=t._currentValue;if(t={context:t,memoizedValue:e,next:null},bt===null){if(l===null)throw Error(S(308));bt=t,l.dependencies={lanes:0,firstContext:t},l.flags|=524288}else bt=bt.next=t;return e}var Zr=typeof AbortController<"u"?AbortController:function(){var l=[],t=this.signal={aborted:!1,addEventListener:function(e,a){l.push(a)}};this.abort=function(){t.aborted=!0,l.forEach(function(e){return e()})}},Vr=fl.unstable_scheduleCallback,Kr=fl.unstable_NormalPriority,ul={$$typeof:pt,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function mf(){return{controller:new Zr,data:new Map,refCount:0}}function Sn(l){l.refCount--,l.refCount===0&&Vr(Kr,function(){l.controller.abort()})}var Qa=null,Tc=0,ua=0,Ie=null;function Jr(l,t){if(Qa===null){var e=Qa=[];Tc=0,ua=Gf(),Ie={status:"pending",value:void 0,then:function(a){e.push(a)}}}return Tc++,t.then(ts,ts),t}function ts(){if(--Tc===0&&Qa!==null){Ie!==null&&(Ie.status="fulfilled");var l=Qa;Qa=null,ua=0,Ie=null;for(var t=0;t<l.length;t++)(0,l[t])()}}function wr(l,t){var e=[],a={status:"pending",value:null,reason:null,then:function(n){e.push(n)}};return l.then(function(){a.status="fulfilled",a.value=t;for(var n=0;n<e.length;n++)(0,e[n])(t)},function(n){for(a.status="rejected",a.reason=n,n=0;n<e.length;n++)(0,e[n])(void 0)}),a}var es=O.S;O.S=function(l,t){u1=Hl(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&Jr(l,t),es!==null&&es(l,t)};var ye=it(null);function vf(){var l=ye.current;return l!==null?l:V.pooledCache}function au(l,t){t===null?K(ye,ye.current):K(ye,t.pool)}function Jd(){var l=vf();return l===null?null:{parent:ul._currentValue,pool:l}}var ha=Error(S(460)),hf=Error(S(474)),ku=Error(S(542)),Tu={then:function(){}};function as(l){return l=l.status,l==="fulfilled"||l==="rejected"}function wd(l,t,e){switch(e=l[e],e===void 0?l.push(t):e!==t&&(t.then(St,St),t=e),t.status){case"fulfilled":return t.value;case"rejected":throw l=t.reason,us(l),l;default:if(typeof t.status=="string")t.then(St,St);else{if(l=V,l!==null&&100<l.shellSuspendCounter)throw Error(S(482));l=t,l.status="pending",l.then(function(a){if(t.status==="pending"){var n=t;n.status="fulfilled",n.value=a}},function(a){if(t.status==="pending"){var n=t;n.status="rejected",n.reason=a}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw l=t.reason,us(l),l}throw re=t,ha}}function fe(l){try{var t=l._init;return t(l._payload)}catch(e){throw e!==null&&typeof e=="object"&&typeof e.then=="function"?(re=e,ha):e}}var re=null;function ns(){if(re===null)throw Error(S(459));var l=re;return re=null,l}function us(l){if(l===ha||l===ku)throw Error(S(483))}var Pe=null,nn=0;function Zn(l){var t=nn;return nn+=1,Pe===null&&(Pe=[]),wd(Pe,l,t)}function Da(l,t){t=t.props.ref,l.ref=t!==void 0?t:null}function Vn(l,t){throw t.$$typeof===Ry?Error(S(525)):(l=Object.prototype.toString.call(t),Error(S(31,l==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":l)))}function kd(l){function t(r,o){if(l){var v=r.deletions;v===null?(r.deletions=[o],r.flags|=16):v.push(o)}}function e(r,o){if(!l)return null;for(;o!==null;)t(r,o),o=o.sibling;return null}function a(r){for(var o=new Map;r!==null;)r.key!==null?o.set(r.key,r):o.set(r.index,r),r=r.sibling;return o}function n(r,o){return r=zt(r,o),r.index=0,r.sibling=null,r}function u(r,o,v){return r.index=v,l?(v=r.alternate,v!==null?(v=v.index,v<o?(r.flags|=67108866,o):v):(r.flags|=67108866,o)):(r.flags|=1048576,o)}function i(r){return l&&r.alternate===null&&(r.flags|=67108866),r}function c(r,o,v,d){return o===null||o.tag!==6?(o=Ri(v,r.mode,d),o.return=r,o):(o=n(o,v),o.return=r,o)}function f(r,o,v,d){var b=v.type;return b===Ye?m(r,o,v.props.children,d,v.key):o!==null&&(o.elementType===b||typeof b=="object"&&b!==null&&b.$$typeof===Rt&&fe(b)===o.type)?(o=n(o,v.props),Da(o,v),o.return=r,o):(o=eu(v.type,v.key,v.props,null,r.mode,d),Da(o,v),o.return=r,o)}function s(r,o,v,d){return o===null||o.tag!==4||o.stateNode.containerInfo!==v.containerInfo||o.stateNode.implementation!==v.implementation?(o=Hi(v,r.mode,d),o.return=r,o):(o=n(o,v.children||[]),o.return=r,o)}function m(r,o,v,d,b){return o===null||o.tag!==7?(o=de(v,r.mode,d,b),o.return=r,o):(o=n(o,v),o.return=r,o)}function g(r,o,v){if(typeof o=="string"&&o!==""||typeof o=="number"||typeof o=="bigint")return o=Ri(""+o,r.mode,v),o.return=r,o;if(typeof o=="object"&&o!==null){switch(o.$$typeof){case Hn:return v=eu(o.type,o.key,o.props,null,r.mode,v),Da(v,o),v.return=r,v;case Ha:return o=Hi(o,r.mode,v),o.return=r,o;case Rt:return o=fe(o),g(r,o,v)}if(Ba(o)||Oa(o))return o=de(o,r.mode,v,null),o.return=r,o;if(typeof o.then=="function")return g(r,Zn(o),v);if(o.$$typeof===pt)return g(r,Qn(r,o),v);Vn(r,o)}return null}function y(r,o,v,d){var b=o!==null?o.key:null;if(typeof v=="string"&&v!==""||typeof v=="number"||typeof v=="bigint")return b!==null?null:c(r,o,""+v,d);if(typeof v=="object"&&v!==null){switch(v.$$typeof){case Hn:return v.key===b?f(r,o,v,d):null;case Ha:return v.key===b?s(r,o,v,d):null;case Rt:return v=fe(v),y(r,o,v,d)}if(Ba(v)||Oa(v))return b!==null?null:m(r,o,v,d,null);if(typeof v.then=="function")return y(r,o,Zn(v),d);if(v.$$typeof===pt)return y(r,o,Qn(r,v),d);Vn(r,v)}return null}function h(r,o,v,d,b){if(typeof d=="string"&&d!==""||typeof d=="number"||typeof d=="bigint")return r=r.get(v)||null,c(o,r,""+d,b);if(typeof d=="object"&&d!==null){switch(d.$$typeof){case Hn:return r=r.get(d.key===null?v:d.key)||null,f(o,r,d,b);case Ha:return r=r.get(d.key===null?v:d.key)||null,s(o,r,d,b);case Rt:return d=fe(d),h(r,o,v,d,b)}if(Ba(d)||Oa(d))return r=r.get(v)||null,m(o,r,d,b,null);if(typeof d.then=="function")return h(r,o,v,Zn(d),b);if(d.$$typeof===pt)return h(r,o,v,Qn(o,d),b);Vn(o,d)}return null}function z(r,o,v,d){for(var b=null,A=null,T=o,x=o=0,_=null;T!==null&&x<v.length;x++){T.index>x?(_=T,T=null):_=T.sibling;var R=y(r,T,v[x],d);if(R===null){T===null&&(T=_);break}l&&T&&R.alternate===null&&t(r,T),o=u(R,o,x),A===null?b=R:A.sibling=R,A=R,T=_}if(x===v.length)return e(r,T),Y&&ht(r,x),b;if(T===null){for(;x<v.length;x++)T=g(r,v[x],d),T!==null&&(o=u(T,o,x),A===null?b=T:A.sibling=T,A=T);return Y&&ht(r,x),b}for(T=a(T);x<v.length;x++)_=h(T,r,x,v[x],d),_!==null&&(l&&_.alternate!==null&&T.delete(_.key===null?x:_.key),o=u(_,o,x),A===null?b=_:A.sibling=_,A=_);return l&&T.forEach(function(M){return t(r,M)}),Y&&ht(r,x),b}function E(r,o,v,d){if(v==null)throw Error(S(151));for(var b=null,A=null,T=o,x=o=0,_=null,R=v.next();T!==null&&!R.done;x++,R=v.next()){T.index>x?(_=T,T=null):_=T.sibling;var M=y(r,T,R.value,d);if(M===null){T===null&&(T=_);break}l&&T&&M.alternate===null&&t(r,T),o=u(M,o,x),A===null?b=M:A.sibling=M,A=M,T=_}if(R.done)return e(r,T),Y&&ht(r,x),b;if(T===null){for(;!R.done;x++,R=v.next())R=g(r,R.value,d),R!==null&&(o=u(R,o,x),A===null?b=R:A.sibling=R,A=R);return Y&&ht(r,x),b}for(T=a(T);!R.done;x++,R=v.next())R=h(T,r,x,R.value,d),R!==null&&(l&&R.alternate!==null&&T.delete(R.key===null?x:R.key),o=u(R,o,x),A===null?b=R:A.sibling=R,A=R);return l&&T.forEach(function(Dl){return t(r,Dl)}),Y&&ht(r,x),b}function U(r,o,v,d){if(typeof v=="object"&&v!==null&&v.type===Ye&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Hn:l:{for(var b=v.key;o!==null;){if(o.key===b){if(b=v.type,b===Ye){if(o.tag===7){e(r,o.sibling),d=n(o,v.props.children),d.return=r,r=d;break l}}else if(o.elementType===b||typeof b=="object"&&b!==null&&b.$$typeof===Rt&&fe(b)===o.type){e(r,o.sibling),d=n(o,v.props),Da(d,v),d.return=r,r=d;break l}e(r,o);break}else t(r,o);o=o.sibling}v.type===Ye?(d=de(v.props.children,r.mode,d,v.key),d.return=r,r=d):(d=eu(v.type,v.key,v.props,null,r.mode,d),Da(d,v),d.return=r,r=d)}return i(r);case Ha:l:{for(b=v.key;o!==null;){if(o.key===b)if(o.tag===4&&o.stateNode.containerInfo===v.containerInfo&&o.stateNode.implementation===v.implementation){e(r,o.sibling),d=n(o,v.children||[]),d.return=r,r=d;break l}else{e(r,o);break}else t(r,o);o=o.sibling}d=Hi(v,r.mode,d),d.return=r,r=d}return i(r);case Rt:return v=fe(v),U(r,o,v,d)}if(Ba(v))return z(r,o,v,d);if(Oa(v)){if(b=Oa(v),typeof b!="function")throw Error(S(150));return v=b.call(v),E(r,o,v,d)}if(typeof v.then=="function")return U(r,o,Zn(v),d);if(v.$$typeof===pt)return U(r,o,Qn(r,v),d);Vn(r,v)}return typeof v=="string"&&v!==""||typeof v=="number"||typeof v=="bigint"?(v=""+v,o!==null&&o.tag===6?(e(r,o.sibling),d=n(o,v),d.return=r,r=d):(e(r,o),d=Ri(v,r.mode,d),d.return=r,r=d),i(r)):e(r,o)}return function(r,o,v,d){try{nn=0;var b=U(r,o,v,d);return Pe=null,b}catch(T){if(T===ha||T===ku)throw T;var A=Cl(29,T,null,r.mode);return A.lanes=d,A.return=r,A}finally{}}}var ge=kd(!0),Wd=kd(!1),Ht=!1;function gf(l){l.updateQueue={baseState:l.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ec(l,t){l=l.updateQueue,t.updateQueue===l&&(t.updateQueue={baseState:l.baseState,firstBaseUpdate:l.firstBaseUpdate,lastBaseUpdate:l.lastBaseUpdate,shared:l.shared,callbacks:null})}function Jt(l){return{lane:l,tag:0,payload:null,callback:null,next:null}}function wt(l,t,e){var a=l.updateQueue;if(a===null)return null;if(a=a.shared,(L&2)!==0){var n=a.pending;return n===null?t.next=t:(t.next=n.next,n.next=t),a.pending=t,t=Su(l),jd(l,null,e),t}return wu(l,a,t,e),Su(l)}function Za(l,t,e){if(t=t.updateQueue,t!==null&&(t=t.shared,(e&4194048)!==0)){var a=t.lanes;a&=l.pendingLanes,e|=a,t.lanes=e,rd(l,e)}}function qi(l,t){var e=l.updateQueue,a=l.alternate;if(a!==null&&(a=a.updateQueue,e===a)){var n=null,u=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};u===null?n=u=i:u=u.next=i,e=e.next}while(e!==null);u===null?n=u=t:u=u.next=t}else n=u=t;e={baseState:a.baseState,firstBaseUpdate:n,lastBaseUpdate:u,shared:a.shared,callbacks:a.callbacks},l.updateQueue=e;return}l=e.lastBaseUpdate,l===null?e.firstBaseUpdate=t:l.next=t,e.lastBaseUpdate=t}var xc=!1;function Va(){if(xc){var l=Ie;if(l!==null)throw l}}function Ka(l,t,e,a){xc=!1;var n=l.updateQueue;Ht=!1;var u=n.firstBaseUpdate,i=n.lastBaseUpdate,c=n.shared.pending;if(c!==null){n.shared.pending=null;var f=c,s=f.next;f.next=null,i===null?u=s:i.next=s,i=f;var m=l.alternate;m!==null&&(m=m.updateQueue,c=m.lastBaseUpdate,c!==i&&(c===null?m.firstBaseUpdate=s:c.next=s,m.lastBaseUpdate=f))}if(u!==null){var g=n.baseState;i=0,m=s=f=null,c=u;do{var y=c.lane&-536870913,h=y!==c.lane;if(h?(q&y)===y:(a&y)===y){y!==0&&y===ua&&(xc=!0),m!==null&&(m=m.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});l:{var z=l,E=c;y=t;var U=e;switch(E.tag){case 1:if(z=E.payload,typeof z=="function"){g=z.call(U,g,y);break l}g=z;break l;case 3:z.flags=z.flags&-65537|128;case 0:if(z=E.payload,y=typeof z=="function"?z.call(U,g,y):z,y==null)break l;g=W({},g,y);break l;case 2:Ht=!0}}y=c.callback,y!==null&&(l.flags|=64,h&&(l.flags|=8192),h=n.callbacks,h===null?n.callbacks=[y]:h.push(y))}else h={lane:y,tag:c.tag,payload:c.payload,callback:c.callback,next:null},m===null?(s=m=h,f=g):m=m.next=h,i|=y;if(c=c.next,c===null){if(c=n.shared.pending,c===null)break;h=c,c=h.next,h.next=null,n.lastBaseUpdate=h,n.shared.pending=null}}while(!0);m===null&&(f=g),n.baseState=f,n.firstBaseUpdate=s,n.lastBaseUpdate=m,u===null&&(n.shared.lanes=0),ee|=i,l.lanes=i,l.memoizedState=g}}function $d(l,t){if(typeof l!="function")throw Error(S(191,l));l.call(t)}function Fd(l,t){var e=l.callbacks;if(e!==null)for(l.callbacks=null,l=0;l<e.length;l++)$d(e[l],t)}var ia=it(null),Eu=it(0);function is(l,t){l=_t,K(Eu,l),K(ia,t),_t=l|t.baseLanes}function Ac(){K(Eu,_t),K(ia,ia.current)}function pf(){_t=Eu.current,dl(ia),dl(Eu)}var Gl=it(null),kl=null;function qt(l){var t=l.alternate;K(tl,tl.current&1),K(Gl,l),kl===null&&(t===null||ia.current!==null||t.memoizedState!==null)&&(kl=l)}function Mc(l){K(tl,tl.current),K(Gl,l),kl===null&&(kl=l)}function Id(l){l.tag===22?(K(tl,tl.current),K(Gl,l),kl===null&&(kl=l)):Yt(l)}function Yt(){K(tl,tl.current),K(Gl,Gl.current)}function Nl(l){dl(Gl),kl===l&&(kl=null),dl(tl)}var tl=it(0);function xu(l){for(var t=l;t!==null;){if(t.tag===13){var e=t.memoizedState;if(e!==null&&(e=e.dehydrated,e===null||Kc(e)||Jc(e)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===l)break;for(;t.sibling===null;){if(t.return===null||t.return===l)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var At=0,N=null,Z=null,al=null,Au=!1,la=!1,pe=!1,Mu=0,un=0,ta=null,kr=0;function P(){throw Error(S(321))}function Sf(l,t){if(t===null)return!1;for(var e=0;e<t.length&&e<l.length;e++)if(!Ll(l[e],t[e]))return!1;return!0}function bf(l,t,e,a,n,u){return At=u,N=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,O.H=l===null||l.memoizedState===null?D0:Nf,pe=!1,u=e(a,n),pe=!1,la&&(u=l0(t,e,a,n)),Pd(l),u}function Pd(l){O.H=cn;var t=Z!==null&&Z.next!==null;if(At=0,al=Z=N=null,Au=!1,un=0,ta=null,t)throw Error(S(300));l===null||il||(l=l.dependencies,l!==null&&zu(l)&&(il=!0))}function l0(l,t,e,a){N=l;var n=0;do{if(la&&(ta=null),un=0,la=!1,25<=n)throw Error(S(301));if(n+=1,al=Z=null,l.updateQueue!=null){var u=l.updateQueue;u.lastEffect=null,u.events=null,u.stores=null,u.memoCache!=null&&(u.memoCache.index=0)}O.H=U0,u=t(e,a)}while(la);return u}function Wr(){var l=O.H,t=l.useState()[0];return t=typeof t.then=="function"?bn(t):t,l=l.useState()[0],(Z!==null?Z.memoizedState:null)!==l&&(N.flags|=1024),t}function zf(){var l=Mu!==0;return Mu=0,l}function Tf(l,t,e){t.updateQueue=l.updateQueue,t.flags&=-2053,l.lanes&=~e}function Ef(l){if(Au){for(l=l.memoizedState;l!==null;){var t=l.queue;t!==null&&(t.pending=null),l=l.next}Au=!1}At=0,al=Z=N=null,la=!1,un=Mu=0,ta=null}function bl(){var l={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return al===null?N.memoizedState=al=l:al=al.next=l,al}function el(){if(Z===null){var l=N.alternate;l=l!==null?l.memoizedState:null}else l=Z.next;var t=al===null?N.memoizedState:al.next;if(t!==null)al=t,Z=l;else{if(l===null)throw N.alternate===null?Error(S(467)):Error(S(310));Z=l,l={memoizedState:Z.memoizedState,baseState:Z.baseState,baseQueue:Z.baseQueue,queue:Z.queue,next:null},al===null?N.memoizedState=al=l:al=al.next=l}return al}function Wu(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function bn(l){var t=un;return un+=1,ta===null&&(ta=[]),l=wd(ta,l,t),t=N,(al===null?t.memoizedState:al.next)===null&&(t=t.alternate,O.H=t===null||t.memoizedState===null?D0:Nf),l}function $u(l){if(l!==null&&typeof l=="object"){if(typeof l.then=="function")return bn(l);if(l.$$typeof===pt)return vl(l)}throw Error(S(438,String(l)))}function xf(l){var t=null,e=N.updateQueue;if(e!==null&&(t=e.memoCache),t==null){var a=N.alternate;a!==null&&(a=a.updateQueue,a!==null&&(a=a.memoCache,a!=null&&(t={data:a.data.map(function(n){return n.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),e===null&&(e=Wu(),N.updateQueue=e),e.memoCache=t,e=t.data[t.index],e===void 0)for(e=t.data[t.index]=Array(l),a=0;a<l;a++)e[a]=Hy;return t.index++,e}function Mt(l,t){return typeof t=="function"?t(l):t}function nu(l){var t=el();return Af(t,Z,l)}function Af(l,t,e){var a=l.queue;if(a===null)throw Error(S(311));a.lastRenderedReducer=e;var n=l.baseQueue,u=a.pending;if(u!==null){if(n!==null){var i=n.next;n.next=u.next,u.next=i}t.baseQueue=n=u,a.pending=null}if(u=l.baseState,n===null)l.memoizedState=u;else{t=n.next;var c=i=null,f=null,s=t,m=!1;do{var g=s.lane&-536870913;if(g!==s.lane?(q&g)===g:(At&g)===g){var y=s.revertLane;if(y===0)f!==null&&(f=f.next={lane:0,revertLane:0,gesture:null,action:s.action,hasEagerState:s.hasEagerState,eagerState:s.eagerState,next:null}),g===ua&&(m=!0);else if((At&y)===y){s=s.next,y===ua&&(m=!0);continue}else g={lane:0,revertLane:s.revertLane,gesture:null,action:s.action,hasEagerState:s.hasEagerState,eagerState:s.eagerState,next:null},f===null?(c=f=g,i=u):f=f.next=g,N.lanes|=y,ee|=y;g=s.action,pe&&e(u,g),u=s.hasEagerState?s.eagerState:e(u,g)}else y={lane:g,revertLane:s.revertLane,gesture:s.gesture,action:s.action,hasEagerState:s.hasEagerState,eagerState:s.eagerState,next:null},f===null?(c=f=y,i=u):f=f.next=y,N.lanes|=g,ee|=g;s=s.next}while(s!==null&&s!==t);if(f===null?i=u:f.next=c,!Ll(u,l.memoizedState)&&(il=!0,m&&(e=Ie,e!==null)))throw e;l.memoizedState=u,l.baseState=i,l.baseQueue=f,a.lastRenderedState=u}return n===null&&(a.lanes=0),[l.memoizedState,a.dispatch]}function Yi(l){var t=el(),e=t.queue;if(e===null)throw Error(S(311));e.lastRenderedReducer=l;var a=e.dispatch,n=e.pending,u=t.memoizedState;if(n!==null){e.pending=null;var i=n=n.next;do u=l(u,i.action),i=i.next;while(i!==n);Ll(u,t.memoizedState)||(il=!0),t.memoizedState=u,t.baseQueue===null&&(t.baseState=u),e.lastRenderedState=u}return[u,a]}function t0(l,t,e){var a=N,n=el(),u=Y;if(u){if(e===void 0)throw Error(S(407));e=e()}else e=t();var i=!Ll((Z||n).memoizedState,e);if(i&&(n.memoizedState=e,il=!0),n=n.queue,Mf(n0.bind(null,a,n,l),[l]),n.getSnapshot!==t||i||al!==null&&al.memoizedState.tag&1){if(a.flags|=2048,ca(9,{destroy:void 0},a0.bind(null,a,n,e,t),null),V===null)throw Error(S(349));u||(At&127)!==0||e0(a,t,e)}return e}function e0(l,t,e){l.flags|=16384,l={getSnapshot:t,value:e},t=N.updateQueue,t===null?(t=Wu(),N.updateQueue=t,t.stores=[l]):(e=t.stores,e===null?t.stores=[l]:e.push(l))}function a0(l,t,e,a){t.value=e,t.getSnapshot=a,u0(t)&&i0(l)}function n0(l,t,e){return e(function(){u0(t)&&i0(l)})}function u0(l){var t=l.getSnapshot;l=l.value;try{var e=t();return!Ll(l,e)}catch{return!0}}function i0(l){var t=Ee(l,2);t!==null&&Ml(t,l,2)}function Oc(l){var t=bl();if(typeof l=="function"){var e=l;if(l=e(),pe){Gt(!0);try{e()}finally{Gt(!1)}}}return t.memoizedState=t.baseState=l,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mt,lastRenderedState:l},t}function c0(l,t,e,a){return l.baseState=e,Af(l,Z,typeof a=="function"?a:Mt)}function $r(l,t,e,a,n){if(Iu(l))throw Error(S(485));if(l=t.action,l!==null){var u={payload:n,action:l,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(i){u.listeners.push(i)}};O.T!==null?e(!0):u.isTransition=!1,a(u),e=t.pending,e===null?(u.next=t.pending=u,f0(t,u)):(u.next=e.next,t.pending=e.next=u)}}function f0(l,t){var e=t.action,a=t.payload,n=l.state;if(t.isTransition){var u=O.T,i={};O.T=i;try{var c=e(n,a),f=O.S;f!==null&&f(i,c),cs(l,t,c)}catch(s){_c(l,t,s)}finally{u!==null&&i.types!==null&&(u.types=i.types),O.T=u}}else try{u=e(n,a),cs(l,t,u)}catch(s){_c(l,t,s)}}function cs(l,t,e){e!==null&&typeof e=="object"&&typeof e.then=="function"?e.then(function(a){fs(l,t,a)},function(a){return _c(l,t,a)}):fs(l,t,e)}function fs(l,t,e){t.status="fulfilled",t.value=e,o0(t),l.state=e,t=l.pending,t!==null&&(e=t.next,e===t?l.pending=null:(e=e.next,t.next=e,f0(l,e)))}function _c(l,t,e){var a=l.pending;if(l.pending=null,a!==null){a=a.next;do t.status="rejected",t.reason=e,o0(t),t=t.next;while(t!==a)}l.action=null}function o0(l){l=l.listeners;for(var t=0;t<l.length;t++)(0,l[t])()}function s0(l,t){return t}function os(l,t){if(Y){var e=V.formState;if(e!==null){l:{var a=N;if(Y){if(k){t:{for(var n=k,u=wl;n.nodeType!==8;){if(!u){n=null;break t}if(n=Wl(n.nextSibling),n===null){n=null;break t}}u=n.data,n=u==="F!"||u==="F"?n:null}if(n){k=Wl(n.nextSibling),a=n.data==="F!";break l}}le(a)}a=!1}a&&(t=e[0])}}return e=bl(),e.memoizedState=e.baseState=t,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:s0,lastRenderedState:t},e.queue=a,e=M0.bind(null,N,a),a.dispatch=e,a=Oc(!1),u=Uf.bind(null,N,!1,a.queue),a=bl(),n={state:t,dispatch:null,action:l,pending:null},a.queue=n,e=$r.bind(null,N,n,u,e),n.dispatch=e,a.memoizedState=l,[t,e,!1]}function ss(l){var t=el();return d0(t,Z,l)}function d0(l,t,e){if(t=Af(l,t,s0)[0],l=nu(Mt)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var a=bn(t)}catch(i){throw i===ha?ku:i}else a=t;t=el();var n=t.queue,u=n.dispatch;return e!==t.memoizedState&&(N.flags|=2048,ca(9,{destroy:void 0},Fr.bind(null,n,e),null)),[a,u,l]}function Fr(l,t){l.action=t}function ds(l){var t=el(),e=Z;if(e!==null)return d0(t,e,l);el(),t=t.memoizedState,e=el();var a=e.queue.dispatch;return e.memoizedState=l,[t,a,!1]}function ca(l,t,e,a){return l={tag:l,create:e,deps:a,inst:t,next:null},t=N.updateQueue,t===null&&(t=Wu(),N.updateQueue=t),e=t.lastEffect,e===null?t.lastEffect=l.next=l:(a=e.next,e.next=l,l.next=a,t.lastEffect=l),l}function y0(){return el().memoizedState}function uu(l,t,e,a){var n=bl();N.flags|=l,n.memoizedState=ca(1|t,{destroy:void 0},e,a===void 0?null:a)}function Fu(l,t,e,a){var n=el();a=a===void 0?null:a;var u=n.memoizedState.inst;Z!==null&&a!==null&&Sf(a,Z.memoizedState.deps)?n.memoizedState=ca(t,u,e,a):(N.flags|=l,n.memoizedState=ca(1|t,u,e,a))}function ys(l,t){uu(8390656,8,l,t)}function Mf(l,t){Fu(2048,8,l,t)}function Ir(l){N.flags|=4;var t=N.updateQueue;if(t===null)t=Wu(),N.updateQueue=t,t.events=[l];else{var e=t.events;e===null?t.events=[l]:e.push(l)}}function r0(l){var t=el().memoizedState;return Ir({ref:t,nextImpl:l}),function(){if((L&2)!==0)throw Error(S(440));return t.impl.apply(void 0,arguments)}}function m0(l,t){return Fu(4,2,l,t)}function v0(l,t){return Fu(4,4,l,t)}function h0(l,t){if(typeof t=="function"){l=l();var e=t(l);return function(){typeof e=="function"?e():t(null)}}if(t!=null)return l=l(),t.current=l,function(){t.current=null}}function g0(l,t,e){e=e!=null?e.concat([l]):null,Fu(4,4,h0.bind(null,t,l),e)}function Of(){}function p0(l,t){var e=el();t=t===void 0?null:t;var a=e.memoizedState;return t!==null&&Sf(t,a[1])?a[0]:(e.memoizedState=[l,t],l)}function S0(l,t){var e=el();t=t===void 0?null:t;var a=e.memoizedState;if(t!==null&&Sf(t,a[1]))return a[0];if(a=l(),pe){Gt(!0);try{l()}finally{Gt(!1)}}return e.memoizedState=[a,t],a}function _f(l,t,e){return e===void 0||(At&1073741824)!==0&&(q&261930)===0?l.memoizedState=t:(l.memoizedState=e,l=c1(),N.lanes|=l,ee|=l,e)}function b0(l,t,e,a){return Ll(e,t)?e:ia.current!==null?(l=_f(l,e,a),Ll(l,t)||(il=!0),l):(At&42)===0||(At&1073741824)!==0&&(q&261930)===0?(il=!0,l.memoizedState=e):(l=c1(),N.lanes|=l,ee|=l,t)}function z0(l,t,e,a,n){var u=G.p;G.p=u!==0&&8>u?u:8;var i=O.T,c={};O.T=c,Uf(l,!1,t,e);try{var f=n(),s=O.S;if(s!==null&&s(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var m=wr(f,a);Ja(l,t,m,Yl(l))}else Ja(l,t,a,Yl(l))}catch(g){Ja(l,t,{then:function(){},status:"rejected",reason:g},Yl())}finally{G.p=u,i!==null&&c.types!==null&&(i.types=c.types),O.T=i}}function Pr(){}function Dc(l,t,e,a){if(l.tag!==5)throw Error(S(476));var n=T0(l).queue;z0(l,n,t,se,e===null?Pr:function(){return E0(l),e(a)})}function T0(l){var t=l.memoizedState;if(t!==null)return t;t={memoizedState:se,baseState:se,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mt,lastRenderedState:se},next:null};var e={};return t.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Mt,lastRenderedState:e},next:null},l.memoizedState=t,l=l.alternate,l!==null&&(l.memoizedState=t),t}function E0(l){var t=T0(l);t.next===null&&(t=l.alternate.memoizedState),Ja(l,t.next.queue,{},Yl())}function Df(){return vl(sn)}function x0(){return el().memoizedState}function A0(){return el().memoizedState}function lm(l){for(var t=l.return;t!==null;){switch(t.tag){case 24:case 3:var e=Yl();l=Jt(e);var a=wt(t,l,e);a!==null&&(Ml(a,t,e),Za(a,t,e)),t={cache:mf()},l.payload=t;return}t=t.return}}function tm(l,t,e){var a=Yl();e={lane:a,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},Iu(l)?O0(t,e):(e=sf(l,t,e,a),e!==null&&(Ml(e,l,a),_0(e,t,a)))}function M0(l,t,e){var a=Yl();Ja(l,t,e,a)}function Ja(l,t,e,a){var n={lane:a,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(Iu(l))O0(t,n);else{var u=l.alternate;if(l.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var i=t.lastRenderedState,c=u(i,e);if(n.hasEagerState=!0,n.eagerState=c,Ll(c,i))return wu(l,t,n,0),V===null&&Ju(),!1}catch{}finally{}if(e=sf(l,t,n,a),e!==null)return Ml(e,l,a),_0(e,t,a),!0}return!1}function Uf(l,t,e,a){if(a={lane:2,revertLane:Gf(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Iu(l)){if(t)throw Error(S(479))}else t=sf(l,e,a,2),t!==null&&Ml(t,l,2)}function Iu(l){var t=l.alternate;return l===N||t!==null&&t===N}function O0(l,t){la=Au=!0;var e=l.pending;e===null?t.next=t:(t.next=e.next,e.next=t),l.pending=t}function _0(l,t,e){if((e&4194048)!==0){var a=t.lanes;a&=l.pendingLanes,e|=a,t.lanes=e,rd(l,e)}}var cn={readContext:vl,use:$u,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useLayoutEffect:P,useInsertionEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useSyncExternalStore:P,useId:P,useHostTransitionStatus:P,useFormState:P,useActionState:P,useOptimistic:P,useMemoCache:P,useCacheRefresh:P};cn.useEffectEvent=P;var D0={readContext:vl,use:$u,useCallback:function(l,t){return bl().memoizedState=[l,t===void 0?null:t],l},useContext:vl,useEffect:ys,useImperativeHandle:function(l,t,e){e=e!=null?e.concat([l]):null,uu(4194308,4,h0.bind(null,t,l),e)},useLayoutEffect:function(l,t){return uu(4194308,4,l,t)},useInsertionEffect:function(l,t){uu(4,2,l,t)},useMemo:function(l,t){var e=bl();t=t===void 0?null:t;var a=l();if(pe){Gt(!0);try{l()}finally{Gt(!1)}}return e.memoizedState=[a,t],a},useReducer:function(l,t,e){var a=bl();if(e!==void 0){var n=e(t);if(pe){Gt(!0);try{e(t)}finally{Gt(!1)}}}else n=t;return a.memoizedState=a.baseState=n,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:n},a.queue=l,l=l.dispatch=tm.bind(null,N,l),[a.memoizedState,l]},useRef:function(l){var t=bl();return l={current:l},t.memoizedState=l},useState:function(l){l=Oc(l);var t=l.queue,e=M0.bind(null,N,t);return t.dispatch=e,[l.memoizedState,e]},useDebugValue:Of,useDeferredValue:function(l,t){var e=bl();return _f(e,l,t)},useTransition:function(){var l=Oc(!1);return l=z0.bind(null,N,l.queue,!0,!1),bl().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,t,e){var a=N,n=bl();if(Y){if(e===void 0)throw Error(S(407));e=e()}else{if(e=t(),V===null)throw Error(S(349));(q&127)!==0||e0(a,t,e)}n.memoizedState=e;var u={value:e,getSnapshot:t};return n.queue=u,ys(n0.bind(null,a,u,l),[l]),a.flags|=2048,ca(9,{destroy:void 0},a0.bind(null,a,u,e,t),null),e},useId:function(){var l=bl(),t=V.identifierPrefix;if(Y){var e=at,a=et;e=(a&~(1<<32-ql(a)-1)).toString(32)+e,t="_"+t+"R_"+e,e=Mu++,0<e&&(t+="H"+e.toString(32)),t+="_"}else e=kr++,t="_"+t+"r_"+e.toString(32)+"_";return l.memoizedState=t},useHostTransitionStatus:Df,useFormState:os,useActionState:os,useOptimistic:function(l){var t=bl();t.memoizedState=t.baseState=l;var e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=e,t=Uf.bind(null,N,!0,e),e.dispatch=t,[l,t]},useMemoCache:xf,useCacheRefresh:function(){return bl().memoizedState=lm.bind(null,N)},useEffectEvent:function(l){var t=bl(),e={impl:l};return t.memoizedState=e,function(){if((L&2)!==0)throw Error(S(440));return e.impl.apply(void 0,arguments)}}},Nf={readContext:vl,use:$u,useCallback:p0,useContext:vl,useEffect:Mf,useImperativeHandle:g0,useInsertionEffect:m0,useLayoutEffect:v0,useMemo:S0,useReducer:nu,useRef:y0,useState:function(){return nu(Mt)},useDebugValue:Of,useDeferredValue:function(l,t){var e=el();return b0(e,Z.memoizedState,l,t)},useTransition:function(){var l=nu(Mt)[0],t=el().memoizedState;return[typeof l=="boolean"?l:bn(l),t]},useSyncExternalStore:t0,useId:x0,useHostTransitionStatus:Df,useFormState:ss,useActionState:ss,useOptimistic:function(l,t){var e=el();return c0(e,Z,l,t)},useMemoCache:xf,useCacheRefresh:A0};Nf.useEffectEvent=r0;var U0={readContext:vl,use:$u,useCallback:p0,useContext:vl,useEffect:Mf,useImperativeHandle:g0,useInsertionEffect:m0,useLayoutEffect:v0,useMemo:S0,useReducer:Yi,useRef:y0,useState:function(){return Yi(Mt)},useDebugValue:Of,useDeferredValue:function(l,t){var e=el();return Z===null?_f(e,l,t):b0(e,Z.memoizedState,l,t)},useTransition:function(){var l=Yi(Mt)[0],t=el().memoizedState;return[typeof l=="boolean"?l:bn(l),t]},useSyncExternalStore:t0,useId:x0,useHostTransitionStatus:Df,useFormState:ds,useActionState:ds,useOptimistic:function(l,t){var e=el();return Z!==null?c0(e,Z,l,t):(e.baseState=l,[l,e.queue.dispatch])},useMemoCache:xf,useCacheRefresh:A0};U0.useEffectEvent=r0;function Li(l,t,e,a){t=l.memoizedState,e=e(a,t),e=e==null?t:W({},t,e),l.memoizedState=e,l.lanes===0&&(l.updateQueue.baseState=e)}var Uc={enqueueSetState:function(l,t,e){l=l._reactInternals;var a=Yl(),n=Jt(a);n.payload=t,e!=null&&(n.callback=e),t=wt(l,n,a),t!==null&&(Ml(t,l,a),Za(t,l,a))},enqueueReplaceState:function(l,t,e){l=l._reactInternals;var a=Yl(),n=Jt(a);n.tag=1,n.payload=t,e!=null&&(n.callback=e),t=wt(l,n,a),t!==null&&(Ml(t,l,a),Za(t,l,a))},enqueueForceUpdate:function(l,t){l=l._reactInternals;var e=Yl(),a=Jt(e);a.tag=2,t!=null&&(a.callback=t),t=wt(l,a,e),t!==null&&(Ml(t,l,e),Za(t,l,e))}};function rs(l,t,e,a,n,u,i){return l=l.stateNode,typeof l.shouldComponentUpdate=="function"?l.shouldComponentUpdate(a,u,i):t.prototype&&t.prototype.isPureReactComponent?!tn(e,a)||!tn(n,u):!0}function ms(l,t,e,a){l=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(e,a),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(e,a),t.state!==l&&Uc.enqueueReplaceState(t,t.state,null)}function Se(l,t){var e=t;if("ref"in t){e={};for(var a in t)a!=="ref"&&(e[a]=t[a])}if(l=l.defaultProps){e===t&&(e=W({},e));for(var n in l)e[n]===void 0&&(e[n]=l[n])}return e}function N0(l){pu(l)}function C0(l){console.error(l)}function R0(l){pu(l)}function Ou(l,t){try{var e=l.onUncaughtError;e(t.value,{componentStack:t.stack})}catch(a){setTimeout(function(){throw a})}}function vs(l,t,e){try{var a=l.onCaughtError;a(e.value,{componentStack:e.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(n){setTimeout(function(){throw n})}}function Nc(l,t,e){return e=Jt(e),e.tag=3,e.payload={element:null},e.callback=function(){Ou(l,t)},e}function H0(l){return l=Jt(l),l.tag=3,l}function B0(l,t,e,a){var n=e.type.getDerivedStateFromError;if(typeof n=="function"){var u=a.value;l.payload=function(){return n(u)},l.callback=function(){vs(t,e,a)}}var i=e.stateNode;i!==null&&typeof i.componentDidCatch=="function"&&(l.callback=function(){vs(t,e,a),typeof n!="function"&&(kt===null?kt=new Set([this]):kt.add(this));var c=a.stack;this.componentDidCatch(a.value,{componentStack:c!==null?c:""})})}function em(l,t,e,a,n){if(e.flags|=32768,a!==null&&typeof a=="object"&&typeof a.then=="function"){if(t=e.alternate,t!==null&&va(t,e,n,!0),e=Gl.current,e!==null){switch(e.tag){case 31:case 13:return kl===null?Cu():e.alternate===null&&ll===0&&(ll=3),e.flags&=-257,e.flags|=65536,e.lanes=n,a===Tu?e.flags|=16384:(t=e.updateQueue,t===null?e.updateQueue=new Set([a]):t.add(a),Wi(l,a,n)),!1;case 22:return e.flags|=65536,a===Tu?e.flags|=16384:(t=e.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([a])},e.updateQueue=t):(e=t.retryQueue,e===null?t.retryQueue=new Set([a]):e.add(a)),Wi(l,a,n)),!1}throw Error(S(435,e.tag))}return Wi(l,a,n),Cu(),!1}if(Y)return t=Gl.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=n,a!==pc&&(l=Error(S(422),{cause:a}),an(Jl(l,e)))):(a!==pc&&(t=Error(S(423),{cause:a}),an(Jl(t,e))),l=l.current.alternate,l.flags|=65536,n&=-n,l.lanes|=n,a=Jl(a,e),n=Nc(l.stateNode,a,n),qi(l,n),ll!==4&&(ll=2)),!1;var u=Error(S(520),{cause:a});if(u=Jl(u,e),Wa===null?Wa=[u]:Wa.push(u),ll!==4&&(ll=2),t===null)return!0;a=Jl(a,e),e=t;do{switch(e.tag){case 3:return e.flags|=65536,l=n&-n,e.lanes|=l,l=Nc(e.stateNode,a,l),qi(e,l),!1;case 1:if(t=e.type,u=e.stateNode,(e.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||u!==null&&typeof u.componentDidCatch=="function"&&(kt===null||!kt.has(u))))return e.flags|=65536,n&=-n,e.lanes|=n,n=H0(n),B0(n,l,e,a),qi(e,n),!1}e=e.return}while(e!==null);return!1}var Cf=Error(S(461)),il=!1;function yl(l,t,e,a){t.child=l===null?Wd(t,null,e,a):ge(t,l.child,e,a)}function hs(l,t,e,a,n){e=e.render;var u=t.ref;if("ref"in a){var i={};for(var c in a)c!=="ref"&&(i[c]=a[c])}else i=a;return he(t),a=bf(l,t,e,i,u,n),c=zf(),l!==null&&!il?(Tf(l,t,n),Ot(l,t,n)):(Y&&c&&yf(t),t.flags|=1,yl(l,t,a,n),t.child)}function gs(l,t,e,a,n){if(l===null){var u=e.type;return typeof u=="function"&&!df(u)&&u.defaultProps===void 0&&e.compare===null?(t.tag=15,t.type=u,q0(l,t,u,a,n)):(l=eu(e.type,null,a,t,t.mode,n),l.ref=t.ref,l.return=t,t.child=l)}if(u=l.child,!Rf(l,n)){var i=u.memoizedProps;if(e=e.compare,e=e!==null?e:tn,e(i,a)&&l.ref===t.ref)return Ot(l,t,n)}return t.flags|=1,l=zt(u,a),l.ref=t.ref,l.return=t,t.child=l}function q0(l,t,e,a,n){if(l!==null){var u=l.memoizedProps;if(tn(u,a)&&l.ref===t.ref)if(il=!1,t.pendingProps=a=u,Rf(l,n))(l.flags&131072)!==0&&(il=!0);else return t.lanes=l.lanes,Ot(l,t,n)}return Cc(l,t,e,a,n)}function Y0(l,t,e,a){var n=a.children,u=l!==null?l.memoizedState:null;if(l===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.mode==="hidden"){if((t.flags&128)!==0){if(u=u!==null?u.baseLanes|e:e,l!==null){for(a=t.child=l.child,n=0;a!==null;)n=n|a.lanes|a.childLanes,a=a.sibling;a=n&~u}else a=0,t.child=null;return ps(l,t,u,e,a)}if((e&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},l!==null&&au(t,u!==null?u.cachePool:null),u!==null?is(t,u):Ac(),Id(t);else return a=t.lanes=536870912,ps(l,t,u!==null?u.baseLanes|e:e,e,a)}else u!==null?(au(t,u.cachePool),is(t,u),Yt(t),t.memoizedState=null):(l!==null&&au(t,null),Ac(),Yt(t));return yl(l,t,n,e),t.child}function Ya(l,t){return l!==null&&l.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function ps(l,t,e,a,n){var u=vf();return u=u===null?null:{parent:ul._currentValue,pool:u},t.memoizedState={baseLanes:e,cachePool:u},l!==null&&au(t,null),Ac(),Id(t),l!==null&&va(l,t,a,!0),t.childLanes=n,null}function iu(l,t){return t=_u({mode:t.mode,children:t.children},l.mode),t.ref=l.ref,l.child=t,t.return=l,t}function Ss(l,t,e){return ge(t,l.child,null,e),l=iu(t,t.pendingProps),l.flags|=2,Nl(t),t.memoizedState=null,l}function am(l,t,e){var a=t.pendingProps,n=(t.flags&128)!==0;if(t.flags&=-129,l===null){if(Y){if(a.mode==="hidden")return l=iu(t,a),t.lanes=536870912,Ya(null,l);if(Mc(t),(l=k)?(l=D1(l,wl),l=l!==null&&l.data==="&"?l:null,l!==null&&(t.memoizedState={dehydrated:l,treeContext:Pt!==null?{id:et,overflow:at}:null,retryLane:536870912,hydrationErrors:null},e=Qd(l),e.return=t,t.child=e,ml=t,k=null)):l=null,l===null)throw le(t);return t.lanes=536870912,null}return iu(t,a)}var u=l.memoizedState;if(u!==null){var i=u.dehydrated;if(Mc(t),n)if(t.flags&256)t.flags&=-257,t=Ss(l,t,e);else if(t.memoizedState!==null)t.child=l.child,t.flags|=128,t=null;else throw Error(S(558));else if(il||va(l,t,e,!1),n=(e&l.childLanes)!==0,il||n){if(a=V,a!==null&&(i=md(a,e),i!==0&&i!==u.retryLane))throw u.retryLane=i,Ee(l,i),Ml(a,l,i),Cf;Cu(),t=Ss(l,t,e)}else l=u.treeContext,k=Wl(i.nextSibling),ml=t,Y=!0,Kt=null,wl=!1,l!==null&&Vd(t,l),t=iu(t,a),t.flags|=4096;return t}return l=zt(l.child,{mode:a.mode,children:a.children}),l.ref=t.ref,t.child=l,l.return=t,l}function cu(l,t){var e=t.ref;if(e===null)l!==null&&l.ref!==null&&(t.flags|=4194816);else{if(typeof e!="function"&&typeof e!="object")throw Error(S(284));(l===null||l.ref!==e)&&(t.flags|=4194816)}}function Cc(l,t,e,a,n){return he(t),e=bf(l,t,e,a,void 0,n),a=zf(),l!==null&&!il?(Tf(l,t,n),Ot(l,t,n)):(Y&&a&&yf(t),t.flags|=1,yl(l,t,e,n),t.child)}function bs(l,t,e,a,n,u){return he(t),t.updateQueue=null,e=l0(t,a,e,n),Pd(l),a=zf(),l!==null&&!il?(Tf(l,t,u),Ot(l,t,u)):(Y&&a&&yf(t),t.flags|=1,yl(l,t,e,u),t.child)}function zs(l,t,e,a,n){if(he(t),t.stateNode===null){var u=Ke,i=e.contextType;typeof i=="object"&&i!==null&&(u=vl(i)),u=new e(a,u),t.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,u.updater=Uc,t.stateNode=u,u._reactInternals=t,u=t.stateNode,u.props=a,u.state=t.memoizedState,u.refs={},gf(t),i=e.contextType,u.context=typeof i=="object"&&i!==null?vl(i):Ke,u.state=t.memoizedState,i=e.getDerivedStateFromProps,typeof i=="function"&&(Li(t,e,i,a),u.state=t.memoizedState),typeof e.getDerivedStateFromProps=="function"||typeof u.getSnapshotBeforeUpdate=="function"||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(i=u.state,typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount(),i!==u.state&&Uc.enqueueReplaceState(u,u.state,null),Ka(t,a,u,n),Va(),u.state=t.memoizedState),typeof u.componentDidMount=="function"&&(t.flags|=4194308),a=!0}else if(l===null){u=t.stateNode;var c=t.memoizedProps,f=Se(e,c);u.props=f;var s=u.context,m=e.contextType;i=Ke,typeof m=="object"&&m!==null&&(i=vl(m));var g=e.getDerivedStateFromProps;m=typeof g=="function"||typeof u.getSnapshotBeforeUpdate=="function",c=t.pendingProps!==c,m||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(c||s!==i)&&ms(t,u,a,i),Ht=!1;var y=t.memoizedState;u.state=y,Ka(t,a,u,n),Va(),s=t.memoizedState,c||y!==s||Ht?(typeof g=="function"&&(Li(t,e,g,a),s=t.memoizedState),(f=Ht||rs(t,e,f,a,y,s,i))?(m||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount()),typeof u.componentDidMount=="function"&&(t.flags|=4194308)):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=s),u.props=a,u.state=s,u.context=i,a=f):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),a=!1)}else{u=t.stateNode,Ec(l,t),i=t.memoizedProps,m=Se(e,i),u.props=m,g=t.pendingProps,y=u.context,s=e.contextType,f=Ke,typeof s=="object"&&s!==null&&(f=vl(s)),c=e.getDerivedStateFromProps,(s=typeof c=="function"||typeof u.getSnapshotBeforeUpdate=="function")||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(i!==g||y!==f)&&ms(t,u,a,f),Ht=!1,y=t.memoizedState,u.state=y,Ka(t,a,u,n),Va();var h=t.memoizedState;i!==g||y!==h||Ht||l!==null&&l.dependencies!==null&&zu(l.dependencies)?(typeof c=="function"&&(Li(t,e,c,a),h=t.memoizedState),(m=Ht||rs(t,e,m,a,y,h,f)||l!==null&&l.dependencies!==null&&zu(l.dependencies))?(s||typeof u.UNSAFE_componentWillUpdate!="function"&&typeof u.componentWillUpdate!="function"||(typeof u.componentWillUpdate=="function"&&u.componentWillUpdate(a,h,f),typeof u.UNSAFE_componentWillUpdate=="function"&&u.UNSAFE_componentWillUpdate(a,h,f)),typeof u.componentDidUpdate=="function"&&(t.flags|=4),typeof u.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof u.componentDidUpdate!="function"||i===l.memoizedProps&&y===l.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||i===l.memoizedProps&&y===l.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=h),u.props=a,u.state=h,u.context=f,a=m):(typeof u.componentDidUpdate!="function"||i===l.memoizedProps&&y===l.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||i===l.memoizedProps&&y===l.memoizedState||(t.flags|=1024),a=!1)}return u=a,cu(l,t),a=(t.flags&128)!==0,u||a?(u=t.stateNode,e=a&&typeof e.getDerivedStateFromError!="function"?null:u.render(),t.flags|=1,l!==null&&a?(t.child=ge(t,l.child,null,n),t.child=ge(t,null,e,n)):yl(l,t,e,n),t.memoizedState=u.state,l=t.child):l=Ot(l,t,n),l}function Ts(l,t,e,a){return ve(),t.flags|=256,yl(l,t,e,a),t.child}var Gi={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ji(l){return{baseLanes:l,cachePool:Jd()}}function Xi(l,t,e){return l=l!==null?l.childLanes&~e:0,t&&(l|=Rl),l}function L0(l,t,e){var a=t.pendingProps,n=!1,u=(t.flags&128)!==0,i;if((i=u)||(i=l!==null&&l.memoizedState===null?!1:(tl.current&2)!==0),i&&(n=!0,t.flags&=-129),i=(t.flags&32)!==0,t.flags&=-33,l===null){if(Y){if(n?qt(t):Yt(t),(l=k)?(l=D1(l,wl),l=l!==null&&l.data!=="&"?l:null,l!==null&&(t.memoizedState={dehydrated:l,treeContext:Pt!==null?{id:et,overflow:at}:null,retryLane:536870912,hydrationErrors:null},e=Qd(l),e.return=t,t.child=e,ml=t,k=null)):l=null,l===null)throw le(t);return Jc(l)?t.lanes=32:t.lanes=536870912,null}var c=a.children;return a=a.fallback,n?(Yt(t),n=t.mode,c=_u({mode:"hidden",children:c},n),a=de(a,n,e,null),c.return=t,a.return=t,c.sibling=a,t.child=c,a=t.child,a.memoizedState=ji(e),a.childLanes=Xi(l,i,e),t.memoizedState=Gi,Ya(null,a)):(qt(t),Rc(t,c))}var f=l.memoizedState;if(f!==null&&(c=f.dehydrated,c!==null)){if(u)t.flags&256?(qt(t),t.flags&=-257,t=Qi(l,t,e)):t.memoizedState!==null?(Yt(t),t.child=l.child,t.flags|=128,t=null):(Yt(t),c=a.fallback,n=t.mode,a=_u({mode:"visible",children:a.children},n),c=de(c,n,e,null),c.flags|=2,a.return=t,c.return=t,a.sibling=c,t.child=a,ge(t,l.child,null,e),a=t.child,a.memoizedState=ji(e),a.childLanes=Xi(l,i,e),t.memoizedState=Gi,t=Ya(null,a));else if(qt(t),Jc(c)){if(i=c.nextSibling&&c.nextSibling.dataset,i)var s=i.dgst;i=s,a=Error(S(419)),a.stack="",a.digest=i,an({value:a,source:null,stack:null}),t=Qi(l,t,e)}else if(il||va(l,t,e,!1),i=(e&l.childLanes)!==0,il||i){if(i=V,i!==null&&(a=md(i,e),a!==0&&a!==f.retryLane))throw f.retryLane=a,Ee(l,a),Ml(i,l,a),Cf;Kc(c)||Cu(),t=Qi(l,t,e)}else Kc(c)?(t.flags|=192,t.child=l.child,t=null):(l=f.treeContext,k=Wl(c.nextSibling),ml=t,Y=!0,Kt=null,wl=!1,l!==null&&Vd(t,l),t=Rc(t,a.children),t.flags|=4096);return t}return n?(Yt(t),c=a.fallback,n=t.mode,f=l.child,s=f.sibling,a=zt(f,{mode:"hidden",children:a.children}),a.subtreeFlags=f.subtreeFlags&65011712,s!==null?c=zt(s,c):(c=de(c,n,e,null),c.flags|=2),c.return=t,a.return=t,a.sibling=c,t.child=a,Ya(null,a),a=t.child,c=l.child.memoizedState,c===null?c=ji(e):(n=c.cachePool,n!==null?(f=ul._currentValue,n=n.parent!==f?{parent:f,pool:f}:n):n=Jd(),c={baseLanes:c.baseLanes|e,cachePool:n}),a.memoizedState=c,a.childLanes=Xi(l,i,e),t.memoizedState=Gi,Ya(l.child,a)):(qt(t),e=l.child,l=e.sibling,e=zt(e,{mode:"visible",children:a.children}),e.return=t,e.sibling=null,l!==null&&(i=t.deletions,i===null?(t.deletions=[l],t.flags|=16):i.push(l)),t.child=e,t.memoizedState=null,e)}function Rc(l,t){return t=_u({mode:"visible",children:t},l.mode),t.return=l,l.child=t}function _u(l,t){return l=Cl(22,l,null,t),l.lanes=0,l}function Qi(l,t,e){return ge(t,l.child,null,e),l=Rc(t,t.pendingProps.children),l.flags|=2,t.memoizedState=null,l}function Es(l,t,e){l.lanes|=t;var a=l.alternate;a!==null&&(a.lanes|=t),bc(l.return,t,e)}function Zi(l,t,e,a,n,u){var i=l.memoizedState;i===null?l.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:e,tailMode:n,treeForkCount:u}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=a,i.tail=e,i.tailMode=n,i.treeForkCount=u)}function G0(l,t,e){var a=t.pendingProps,n=a.revealOrder,u=a.tail;a=a.children;var i=tl.current,c=(i&2)!==0;if(c?(i=i&1|2,t.flags|=128):i&=1,K(tl,i),yl(l,t,a,e),a=Y?en:0,!c&&l!==null&&(l.flags&128)!==0)l:for(l=t.child;l!==null;){if(l.tag===13)l.memoizedState!==null&&Es(l,e,t);else if(l.tag===19)Es(l,e,t);else if(l.child!==null){l.child.return=l,l=l.child;continue}if(l===t)break l;for(;l.sibling===null;){if(l.return===null||l.return===t)break l;l=l.return}l.sibling.return=l.return,l=l.sibling}switch(n){case"forwards":for(e=t.child,n=null;e!==null;)l=e.alternate,l!==null&&xu(l)===null&&(n=e),e=e.sibling;e=n,e===null?(n=t.child,t.child=null):(n=e.sibling,e.sibling=null),Zi(t,!1,n,e,u,a);break;case"backwards":case"unstable_legacy-backwards":for(e=null,n=t.child,t.child=null;n!==null;){if(l=n.alternate,l!==null&&xu(l)===null){t.child=n;break}l=n.sibling,n.sibling=e,e=n,n=l}Zi(t,!0,e,null,u,a);break;case"together":Zi(t,!1,null,null,void 0,a);break;default:t.memoizedState=null}return t.child}function Ot(l,t,e){if(l!==null&&(t.dependencies=l.dependencies),ee|=t.lanes,(e&t.childLanes)===0)if(l!==null){if(va(l,t,e,!1),(e&t.childLanes)===0)return null}else return null;if(l!==null&&t.child!==l.child)throw Error(S(153));if(t.child!==null){for(l=t.child,e=zt(l,l.pendingProps),t.child=e,e.return=t;l.sibling!==null;)l=l.sibling,e=e.sibling=zt(l,l.pendingProps),e.return=t;e.sibling=null}return t.child}function Rf(l,t){return(l.lanes&t)!==0?!0:(l=l.dependencies,!!(l!==null&&zu(l)))}function nm(l,t,e){switch(t.tag){case 3:mu(t,t.stateNode.containerInfo),Bt(t,ul,l.memoizedState.cache),ve();break;case 27:case 5:cc(t);break;case 4:mu(t,t.stateNode.containerInfo);break;case 10:Bt(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Mc(t),null;break;case 13:var a=t.memoizedState;if(a!==null)return a.dehydrated!==null?(qt(t),t.flags|=128,null):(e&t.child.childLanes)!==0?L0(l,t,e):(qt(t),l=Ot(l,t,e),l!==null?l.sibling:null);qt(t);break;case 19:var n=(l.flags&128)!==0;if(a=(e&t.childLanes)!==0,a||(va(l,t,e,!1),a=(e&t.childLanes)!==0),n){if(a)return G0(l,t,e);t.flags|=128}if(n=t.memoizedState,n!==null&&(n.rendering=null,n.tail=null,n.lastEffect=null),K(tl,tl.current),a)break;return null;case 22:return t.lanes=0,Y0(l,t,e,t.pendingProps);case 24:Bt(t,ul,l.memoizedState.cache)}return Ot(l,t,e)}function j0(l,t,e){if(l!==null)if(l.memoizedProps!==t.pendingProps)il=!0;else{if(!Rf(l,e)&&(t.flags&128)===0)return il=!1,nm(l,t,e);il=(l.flags&131072)!==0}else il=!1,Y&&(t.flags&1048576)!==0&&Zd(t,en,t.index);switch(t.lanes=0,t.tag){case 16:l:{var a=t.pendingProps;if(l=fe(t.elementType),t.type=l,typeof l=="function")df(l)?(a=Se(l,a),t.tag=1,t=zs(null,t,l,a,e)):(t.tag=0,t=Cc(null,t,l,a,e));else{if(l!=null){var n=l.$$typeof;if(n===$c){t.tag=11,t=hs(null,t,l,a,e);break l}else if(n===Fc){t.tag=14,t=gs(null,t,l,a,e);break l}}throw t=uc(l)||l,Error(S(306,t,""))}}return t;case 0:return Cc(l,t,t.type,t.pendingProps,e);case 1:return a=t.type,n=Se(a,t.pendingProps),zs(l,t,a,n,e);case 3:l:{if(mu(t,t.stateNode.containerInfo),l===null)throw Error(S(387));a=t.pendingProps;var u=t.memoizedState;n=u.element,Ec(l,t),Ka(t,a,null,e);var i=t.memoizedState;if(a=i.cache,Bt(t,ul,a),a!==u.cache&&zc(t,[ul],e,!0),Va(),a=i.element,u.isDehydrated)if(u={element:a,isDehydrated:!1,cache:i.cache},t.updateQueue.baseState=u,t.memoizedState=u,t.flags&256){t=Ts(l,t,a,e);break l}else if(a!==n){n=Jl(Error(S(424)),t),an(n),t=Ts(l,t,a,e);break l}else{switch(l=t.stateNode.containerInfo,l.nodeType){case 9:l=l.body;break;default:l=l.nodeName==="HTML"?l.ownerDocument.body:l}for(k=Wl(l.firstChild),ml=t,Y=!0,Kt=null,wl=!0,e=Wd(t,null,a,e),t.child=e;e;)e.flags=e.flags&-3|4096,e=e.sibling}else{if(ve(),a===n){t=Ot(l,t,e);break l}yl(l,t,a,e)}t=t.child}return t;case 26:return cu(l,t),l===null?(e=Ks(t.type,null,t.pendingProps,null))?t.memoizedState=e:Y||(e=t.type,l=t.pendingProps,a=qu(Vt.current).createElement(e),a[rl]=t,a[Ol]=l,hl(a,e,l),sl(a),t.stateNode=a):t.memoizedState=Ks(t.type,l.memoizedProps,t.pendingProps,l.memoizedState),null;case 27:return cc(t),l===null&&Y&&(a=t.stateNode=U1(t.type,t.pendingProps,Vt.current),ml=t,wl=!0,n=k,ne(t.type)?(wc=n,k=Wl(a.firstChild)):k=n),yl(l,t,t.pendingProps.children,e),cu(l,t),l===null&&(t.flags|=4194304),t.child;case 5:return l===null&&Y&&((n=a=k)&&(a=Cm(a,t.type,t.pendingProps,wl),a!==null?(t.stateNode=a,ml=t,k=Wl(a.firstChild),wl=!1,n=!0):n=!1),n||le(t)),cc(t),n=t.type,u=t.pendingProps,i=l!==null?l.memoizedProps:null,a=u.children,Zc(n,u)?a=null:i!==null&&Zc(n,i)&&(t.flags|=32),t.memoizedState!==null&&(n=bf(l,t,Wr,null,null,e),sn._currentValue=n),cu(l,t),yl(l,t,a,e),t.child;case 6:return l===null&&Y&&((l=e=k)&&(e=Rm(e,t.pendingProps,wl),e!==null?(t.stateNode=e,ml=t,k=null,l=!0):l=!1),l||le(t)),null;case 13:return L0(l,t,e);case 4:return mu(t,t.stateNode.containerInfo),a=t.pendingProps,l===null?t.child=ge(t,null,a,e):yl(l,t,a,e),t.child;case 11:return hs(l,t,t.type,t.pendingProps,e);case 7:return yl(l,t,t.pendingProps,e),t.child;case 8:return yl(l,t,t.pendingProps.children,e),t.child;case 12:return yl(l,t,t.pendingProps.children,e),t.child;case 10:return a=t.pendingProps,Bt(t,t.type,a.value),yl(l,t,a.children,e),t.child;case 9:return n=t.type._context,a=t.pendingProps.children,he(t),n=vl(n),a=a(n),t.flags|=1,yl(l,t,a,e),t.child;case 14:return gs(l,t,t.type,t.pendingProps,e);case 15:return q0(l,t,t.type,t.pendingProps,e);case 19:return G0(l,t,e);case 31:return am(l,t,e);case 22:return Y0(l,t,e,t.pendingProps);case 24:return he(t),a=vl(ul),l===null?(n=vf(),n===null&&(n=V,u=mf(),n.pooledCache=u,u.refCount++,u!==null&&(n.pooledCacheLanes|=e),n=u),t.memoizedState={parent:a,cache:n},gf(t),Bt(t,ul,n)):((l.lanes&e)!==0&&(Ec(l,t),Ka(t,null,null,e),Va()),n=l.memoizedState,u=t.memoizedState,n.parent!==a?(n={parent:a,cache:a},t.memoizedState=n,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=n),Bt(t,ul,a)):(a=u.cache,Bt(t,ul,a),a!==n.cache&&zc(t,[ul],e,!0))),yl(l,t,t.pendingProps.children,e),t.child;case 29:throw t.pendingProps}throw Error(S(156,t.tag))}function yt(l){l.flags|=4}function Vi(l,t,e,a,n){if((t=(l.mode&32)!==0)&&(t=!1),t){if(l.flags|=16777216,(n&335544128)===n)if(l.stateNode.complete)l.flags|=8192;else if(s1())l.flags|=8192;else throw re=Tu,hf}else l.flags&=-16777217}function xs(l,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)l.flags&=-16777217;else if(l.flags|=16777216,!R1(t))if(s1())l.flags|=8192;else throw re=Tu,hf}function Kn(l,t){t!==null&&(l.flags|=4),l.flags&16384&&(t=l.tag!==22?dd():536870912,l.lanes|=t,fa|=t)}function Ua(l,t){if(!Y)switch(l.tailMode){case"hidden":t=l.tail;for(var e=null;t!==null;)t.alternate!==null&&(e=t),t=t.sibling;e===null?l.tail=null:e.sibling=null;break;case"collapsed":e=l.tail;for(var a=null;e!==null;)e.alternate!==null&&(a=e),e=e.sibling;a===null?t||l.tail===null?l.tail=null:l.tail.sibling=null:a.sibling=null}}function w(l){var t=l.alternate!==null&&l.alternate.child===l.child,e=0,a=0;if(t)for(var n=l.child;n!==null;)e|=n.lanes|n.childLanes,a|=n.subtreeFlags&65011712,a|=n.flags&65011712,n.return=l,n=n.sibling;else for(n=l.child;n!==null;)e|=n.lanes|n.childLanes,a|=n.subtreeFlags,a|=n.flags,n.return=l,n=n.sibling;return l.subtreeFlags|=a,l.childLanes=e,t}function um(l,t,e){var a=t.pendingProps;switch(rf(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return w(t),null;case 1:return w(t),null;case 3:return e=t.stateNode,a=null,l!==null&&(a=l.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),Tt(ul),ea(),e.pendingContext&&(e.context=e.pendingContext,e.pendingContext=null),(l===null||l.child===null)&&(Re(t)?yt(t):l===null||l.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Bi())),w(t),null;case 26:var n=t.type,u=t.memoizedState;return l===null?(yt(t),u!==null?(w(t),xs(t,u)):(w(t),Vi(t,n,null,a,e))):u?u!==l.memoizedState?(yt(t),w(t),xs(t,u)):(w(t),t.flags&=-16777217):(l=l.memoizedProps,l!==a&&yt(t),w(t),Vi(t,n,l,a,e)),null;case 27:if(vu(t),e=Vt.current,n=t.type,l!==null&&t.stateNode!=null)l.memoizedProps!==a&&yt(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return w(t),null}l=ut.current,Re(t)?Po(t,l):(l=U1(n,a,e),t.stateNode=l,yt(t))}return w(t),null;case 5:if(vu(t),n=t.type,l!==null&&t.stateNode!=null)l.memoizedProps!==a&&yt(t);else{if(!a){if(t.stateNode===null)throw Error(S(166));return w(t),null}if(u=ut.current,Re(t))Po(t,u);else{var i=qu(Vt.current);switch(u){case 1:u=i.createElementNS("http://www.w3.org/2000/svg",n);break;case 2:u=i.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;default:switch(n){case"svg":u=i.createElementNS("http://www.w3.org/2000/svg",n);break;case"math":u=i.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;case"script":u=i.createElement("div"),u.innerHTML="<script><\\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof a.is=="string"?i.createElement("select",{is:a.is}):i.createElement("select"),a.multiple?u.multiple=!0:a.size&&(u.size=a.size);break;default:u=typeof a.is=="string"?i.createElement(n,{is:a.is}):i.createElement(n)}}u[rl]=t,u[Ol]=a;l:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)u.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break l;for(;i.sibling===null;){if(i.return===null||i.return===t)break l;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=u;l:switch(hl(u,n,a),n){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break l;case"img":a=!0;break l;default:a=!1}a&&yt(t)}}return w(t),Vi(t,t.type,l===null?null:l.memoizedProps,t.pendingProps,e),null;case 6:if(l&&t.stateNode!=null)l.memoizedProps!==a&&yt(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(S(166));if(l=Vt.current,Re(t)){if(l=t.stateNode,e=t.memoizedProps,a=null,n=ml,n!==null)switch(n.tag){case 27:case 5:a=n.memoizedProps}l[rl]=t,l=!!(l.nodeValue===e||a!==null&&a.suppressHydrationWarning===!0||M1(l.nodeValue,e)),l||le(t,!0)}else l=qu(l).createTextNode(a),l[rl]=t,t.stateNode=l}return w(t),null;case 31:if(e=t.memoizedState,l===null||l.memoizedState!==null){if(a=Re(t),e!==null){if(l===null){if(!a)throw Error(S(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(S(557));l[rl]=t}else ve(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;w(t),l=!1}else e=Bi(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=e),l=!0;if(!l)return t.flags&256?(Nl(t),t):(Nl(t),null);if((t.flags&128)!==0)throw Error(S(558))}return w(t),null;case 13:if(a=t.memoizedState,l===null||l.memoizedState!==null&&l.memoizedState.dehydrated!==null){if(n=Re(t),a!==null&&a.dehydrated!==null){if(l===null){if(!n)throw Error(S(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(S(317));n[rl]=t}else ve(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;w(t),n=!1}else n=Bi(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=n),n=!0;if(!n)return t.flags&256?(Nl(t),t):(Nl(t),null)}return Nl(t),(t.flags&128)!==0?(t.lanes=e,t):(e=a!==null,l=l!==null&&l.memoizedState!==null,e&&(a=t.child,n=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(n=a.alternate.memoizedState.cachePool.pool),u=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(u=a.memoizedState.cachePool.pool),u!==n&&(a.flags|=2048)),e!==l&&e&&(t.child.flags|=8192),Kn(t,t.updateQueue),w(t),null);case 4:return ea(),l===null&&jf(t.stateNode.containerInfo),w(t),null;case 10:return Tt(t.type),w(t),null;case 19:if(dl(tl),a=t.memoizedState,a===null)return w(t),null;if(n=(t.flags&128)!==0,u=a.rendering,u===null)if(n)Ua(a,!1);else{if(ll!==0||l!==null&&(l.flags&128)!==0)for(l=t.child;l!==null;){if(u=xu(l),u!==null){for(t.flags|=128,Ua(a,!1),l=u.updateQueue,t.updateQueue=l,Kn(t,l),t.subtreeFlags=0,l=e,e=t.child;e!==null;)Xd(e,l),e=e.sibling;return K(tl,tl.current&1|2),Y&&ht(t,a.treeForkCount),t.child}l=l.sibling}a.tail!==null&&Hl()>Uu&&(t.flags|=128,n=!0,Ua(a,!1),t.lanes=4194304)}else{if(!n)if(l=xu(u),l!==null){if(t.flags|=128,n=!0,l=l.updateQueue,t.updateQueue=l,Kn(t,l),Ua(a,!0),a.tail===null&&a.tailMode==="hidden"&&!u.alternate&&!Y)return w(t),null}else 2*Hl()-a.renderingStartTime>Uu&&e!==536870912&&(t.flags|=128,n=!0,Ua(a,!1),t.lanes=4194304);a.isBackwards?(u.sibling=t.child,t.child=u):(l=a.last,l!==null?l.sibling=u:t.child=u,a.last=u)}return a.tail!==null?(l=a.tail,a.rendering=l,a.tail=l.sibling,a.renderingStartTime=Hl(),l.sibling=null,e=tl.current,K(tl,n?e&1|2:e&1),Y&&ht(t,a.treeForkCount),l):(w(t),null);case 22:case 23:return Nl(t),pf(),a=t.memoizedState!==null,l!==null?l.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(e&536870912)!==0&&(t.flags&128)===0&&(w(t),t.subtreeFlags&6&&(t.flags|=8192)):w(t),e=t.updateQueue,e!==null&&Kn(t,e.retryQueue),e=null,l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(e=l.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==e&&(t.flags|=2048),l!==null&&dl(ye),null;case 24:return e=null,l!==null&&(e=l.memoizedState.cache),t.memoizedState.cache!==e&&(t.flags|=2048),Tt(ul),w(t),null;case 25:return null;case 30:return null}throw Error(S(156,t.tag))}function im(l,t){switch(rf(t),t.tag){case 1:return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 3:return Tt(ul),ea(),l=t.flags,(l&65536)!==0&&(l&128)===0?(t.flags=l&-65537|128,t):null;case 26:case 27:case 5:return vu(t),null;case 31:if(t.memoizedState!==null){if(Nl(t),t.alternate===null)throw Error(S(340));ve()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 13:if(Nl(t),l=t.memoizedState,l!==null&&l.dehydrated!==null){if(t.alternate===null)throw Error(S(340));ve()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 19:return dl(tl),null;case 4:return ea(),null;case 10:return Tt(t.type),null;case 22:case 23:return Nl(t),pf(),l!==null&&dl(ye),l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 24:return Tt(ul),null;case 25:return null;default:return null}}function X0(l,t){switch(rf(t),t.tag){case 3:Tt(ul),ea();break;case 26:case 27:case 5:vu(t);break;case 4:ea();break;case 31:t.memoizedState!==null&&Nl(t);break;case 13:Nl(t);break;case 19:dl(tl);break;case 10:Tt(t.type);break;case 22:case 23:Nl(t),pf(),l!==null&&dl(ye);break;case 24:Tt(ul)}}function zn(l,t){try{var e=t.updateQueue,a=e!==null?e.lastEffect:null;if(a!==null){var n=a.next;e=n;do{if((e.tag&l)===l){a=void 0;var u=e.create,i=e.inst;a=u(),i.destroy=a}e=e.next}while(e!==n)}}catch(c){X(t,t.return,c)}}function te(l,t,e){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var u=n.next;a=u;do{if((a.tag&l)===l){var i=a.inst,c=i.destroy;if(c!==void 0){i.destroy=void 0,n=t;var f=e,s=c;try{s()}catch(m){X(n,f,m)}}}a=a.next}while(a!==u)}}catch(m){X(t,t.return,m)}}function Q0(l){var t=l.updateQueue;if(t!==null){var e=l.stateNode;try{Fd(t,e)}catch(a){X(l,l.return,a)}}}function Z0(l,t,e){e.props=Se(l.type,l.memoizedProps),e.state=l.memoizedState;try{e.componentWillUnmount()}catch(a){X(l,t,a)}}function wa(l,t){try{var e=l.ref;if(e!==null){switch(l.tag){case 26:case 27:case 5:var a=l.stateNode;break;case 30:a=l.stateNode;break;default:a=l.stateNode}typeof e=="function"?l.refCleanup=e(a):e.current=a}}catch(n){X(l,t,n)}}function nt(l,t){var e=l.ref,a=l.refCleanup;if(e!==null)if(typeof a=="function")try{a()}catch(n){X(l,t,n)}finally{l.refCleanup=null,l=l.alternate,l!=null&&(l.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(n){X(l,t,n)}else e.current=null}function V0(l){var t=l.type,e=l.memoizedProps,a=l.stateNode;try{l:switch(t){case"button":case"input":case"select":case"textarea":e.autoFocus&&a.focus();break l;case"img":e.src?a.src=e.src:e.srcSet&&(a.srcset=e.srcSet)}}catch(n){X(l,l.return,n)}}function Ki(l,t,e){try{var a=l.stateNode;Mm(a,l.type,e,t),a[Ol]=t}catch(n){X(l,l.return,n)}}function K0(l){return l.tag===5||l.tag===3||l.tag===26||l.tag===27&&ne(l.type)||l.tag===4}function Ji(l){l:for(;;){for(;l.sibling===null;){if(l.return===null||K0(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.tag===27&&ne(l.type)||l.flags&2||l.child===null||l.tag===4)continue l;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function Hc(l,t,e){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(l,t):(t=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,t.appendChild(l),e=e._reactRootContainer,e!=null||t.onclick!==null||(t.onclick=St));else if(a!==4&&(a===27&&ne(l.type)&&(e=l.stateNode,t=null),l=l.child,l!==null))for(Hc(l,t,e),l=l.sibling;l!==null;)Hc(l,t,e),l=l.sibling}function Du(l,t,e){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?e.insertBefore(l,t):e.appendChild(l);else if(a!==4&&(a===27&&ne(l.type)&&(e=l.stateNode),l=l.child,l!==null))for(Du(l,t,e),l=l.sibling;l!==null;)Du(l,t,e),l=l.sibling}function J0(l){var t=l.stateNode,e=l.memoizedProps;try{for(var a=l.type,n=t.attributes;n.length;)t.removeAttributeNode(n[0]);hl(t,a,e),t[rl]=l,t[Ol]=e}catch(u){X(l,l.return,u)}}var gt=!1,nl=!1,wi=!1,As=typeof WeakSet=="function"?WeakSet:Set,ol=null;function cm(l,t){if(l=l.containerInfo,Xc=ju,l=Rd(l),ff(l)){if("selectionStart"in l)var e={start:l.selectionStart,end:l.selectionEnd};else l:{e=(e=l.ownerDocument)&&e.defaultView||window;var a=e.getSelection&&e.getSelection();if(a&&a.rangeCount!==0){e=a.anchorNode;var n=a.anchorOffset,u=a.focusNode;a=a.focusOffset;try{e.nodeType,u.nodeType}catch{e=null;break l}var i=0,c=-1,f=-1,s=0,m=0,g=l,y=null;t:for(;;){for(var h;g!==e||n!==0&&g.nodeType!==3||(c=i+n),g!==u||a!==0&&g.nodeType!==3||(f=i+a),g.nodeType===3&&(i+=g.nodeValue.length),(h=g.firstChild)!==null;)y=g,g=h;for(;;){if(g===l)break t;if(y===e&&++s===n&&(c=i),y===u&&++m===a&&(f=i),(h=g.nextSibling)!==null)break;g=y,y=g.parentNode}g=h}e=c===-1||f===-1?null:{start:c,end:f}}else e=null}e=e||{start:0,end:0}}else e=null;for(Qc={focusedElem:l,selectionRange:e},ju=!1,ol=t;ol!==null;)if(t=ol,l=t.child,(t.subtreeFlags&1028)!==0&&l!==null)l.return=t,ol=l;else for(;ol!==null;){switch(t=ol,u=t.alternate,l=t.flags,t.tag){case 0:if((l&4)!==0&&(l=t.updateQueue,l=l!==null?l.events:null,l!==null))for(e=0;e<l.length;e++)n=l[e],n.ref.impl=n.nextImpl;break;case 11:case 15:break;case 1:if((l&1024)!==0&&u!==null){l=void 0,e=t,n=u.memoizedProps,u=u.memoizedState,a=e.stateNode;try{var z=Se(e.type,n);l=a.getSnapshotBeforeUpdate(z,u),a.__reactInternalSnapshotBeforeUpdate=l}catch(E){X(e,e.return,E)}}break;case 3:if((l&1024)!==0){if(l=t.stateNode.containerInfo,e=l.nodeType,e===9)Vc(l);else if(e===1)switch(l.nodeName){case"HEAD":case"HTML":case"BODY":Vc(l);break;default:l.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((l&1024)!==0)throw Error(S(163))}if(l=t.sibling,l!==null){l.return=t.return,ol=l;break}ol=t.return}}function w0(l,t,e){var a=e.flags;switch(e.tag){case 0:case 11:case 15:mt(l,e),a&4&&zn(5,e);break;case 1:if(mt(l,e),a&4)if(l=e.stateNode,t===null)try{l.componentDidMount()}catch(i){X(e,e.return,i)}else{var n=Se(e.type,t.memoizedProps);t=t.memoizedState;try{l.componentDidUpdate(n,t,l.__reactInternalSnapshotBeforeUpdate)}catch(i){X(e,e.return,i)}}a&64&&Q0(e),a&512&&wa(e,e.return);break;case 3:if(mt(l,e),a&64&&(l=e.updateQueue,l!==null)){if(t=null,e.child!==null)switch(e.child.tag){case 27:case 5:t=e.child.stateNode;break;case 1:t=e.child.stateNode}try{Fd(l,t)}catch(i){X(e,e.return,i)}}break;case 27:t===null&&a&4&&J0(e);case 26:case 5:mt(l,e),t===null&&a&4&&V0(e),a&512&&wa(e,e.return);break;case 12:mt(l,e);break;case 31:mt(l,e),a&4&&$0(l,e);break;case 13:mt(l,e),a&4&&F0(l,e),a&64&&(l=e.memoizedState,l!==null&&(l=l.dehydrated,l!==null&&(e=hm.bind(null,e),Hm(l,e))));break;case 22:if(a=e.memoizedState!==null||gt,!a){t=t!==null&&t.memoizedState!==null||nl,n=gt;var u=nl;gt=a,(nl=t)&&!u?vt(l,e,(e.subtreeFlags&8772)!==0):mt(l,e),gt=n,nl=u}break;case 30:break;default:mt(l,e)}}function k0(l){var t=l.alternate;t!==null&&(l.alternate=null,k0(t)),l.child=null,l.deletions=null,l.sibling=null,l.tag===5&&(t=l.stateNode,t!==null&&tf(t)),l.stateNode=null,l.return=null,l.dependencies=null,l.memoizedProps=null,l.memoizedState=null,l.pendingProps=null,l.stateNode=null,l.updateQueue=null}var F=null,xl=!1;function rt(l,t,e){for(e=e.child;e!==null;)W0(l,t,e),e=e.sibling}function W0(l,t,e){if(Bl&&typeof Bl.onCommitFiberUnmount=="function")try{Bl.onCommitFiberUnmount(mn,e)}catch{}switch(e.tag){case 26:nl||nt(e,t),rt(l,t,e),e.memoizedState?e.memoizedState.count--:e.stateNode&&(e=e.stateNode,e.parentNode.removeChild(e));break;case 27:nl||nt(e,t);var a=F,n=xl;ne(e.type)&&(F=e.stateNode,xl=!1),rt(l,t,e),Fa(e.stateNode),F=a,xl=n;break;case 5:nl||nt(e,t);case 6:if(a=F,n=xl,F=null,rt(l,t,e),F=a,xl=n,F!==null)if(xl)try{(F.nodeType===9?F.body:F.nodeName==="HTML"?F.ownerDocument.body:F).removeChild(e.stateNode)}catch(u){X(e,t,u)}else try{F.removeChild(e.stateNode)}catch(u){X(e,t,u)}break;case 18:F!==null&&(xl?(l=F,js(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,e.stateNode),ya(l)):js(F,e.stateNode));break;case 4:a=F,n=xl,F=e.stateNode.containerInfo,xl=!0,rt(l,t,e),F=a,xl=n;break;case 0:case 11:case 14:case 15:te(2,e,t),nl||te(4,e,t),rt(l,t,e);break;case 1:nl||(nt(e,t),a=e.stateNode,typeof a.componentWillUnmount=="function"&&Z0(e,t,a)),rt(l,t,e);break;case 21:rt(l,t,e);break;case 22:nl=(a=nl)||e.memoizedState!==null,rt(l,t,e),nl=a;break;default:rt(l,t,e)}}function $0(l,t){if(t.memoizedState===null&&(l=t.alternate,l!==null&&(l=l.memoizedState,l!==null))){l=l.dehydrated;try{ya(l)}catch(e){X(t,t.return,e)}}}function F0(l,t){if(t.memoizedState===null&&(l=t.alternate,l!==null&&(l=l.memoizedState,l!==null&&(l=l.dehydrated,l!==null))))try{ya(l)}catch(e){X(t,t.return,e)}}function fm(l){switch(l.tag){case 31:case 13:case 19:var t=l.stateNode;return t===null&&(t=l.stateNode=new As),t;case 22:return l=l.stateNode,t=l._retryCache,t===null&&(t=l._retryCache=new As),t;default:throw Error(S(435,l.tag))}}function Jn(l,t){var e=fm(l);t.forEach(function(a){if(!e.has(a)){e.add(a);var n=gm.bind(null,l,a);a.then(n,n)}})}function Tl(l,t){var e=t.deletions;if(e!==null)for(var a=0;a<e.length;a++){var n=e[a],u=l,i=t,c=i;l:for(;c!==null;){switch(c.tag){case 27:if(ne(c.type)){F=c.stateNode,xl=!1;break l}break;case 5:F=c.stateNode,xl=!1;break l;case 3:case 4:F=c.stateNode.containerInfo,xl=!0;break l}c=c.return}if(F===null)throw Error(S(160));W0(u,i,n),F=null,xl=!1,u=n.alternate,u!==null&&(u.return=null),n.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)I0(t,l),t=t.sibling}var Il=null;function I0(l,t){var e=l.alternate,a=l.flags;switch(l.tag){case 0:case 11:case 14:case 15:Tl(t,l),El(l),a&4&&(te(3,l,l.return),zn(3,l),te(5,l,l.return));break;case 1:Tl(t,l),El(l),a&512&&(nl||e===null||nt(e,e.return)),a&64&&gt&&(l=l.updateQueue,l!==null&&(a=l.callbacks,a!==null&&(e=l.shared.hiddenCallbacks,l.shared.hiddenCallbacks=e===null?a:e.concat(a))));break;case 26:var n=Il;if(Tl(t,l),El(l),a&512&&(nl||e===null||nt(e,e.return)),a&4){var u=e!==null?e.memoizedState:null;if(a=l.memoizedState,e===null)if(a===null)if(l.stateNode===null){l:{a=l.type,e=l.memoizedProps,n=n.ownerDocument||n;t:switch(a){case"title":u=n.getElementsByTagName("title")[0],(!u||u[gn]||u[rl]||u.namespaceURI==="http://www.w3.org/2000/svg"||u.hasAttribute("itemprop"))&&(u=n.createElement(a),n.head.insertBefore(u,n.querySelector("head > title"))),hl(u,a,e),u[rl]=l,sl(u),a=u;break l;case"link":var i=ws("link","href",n).get(a+(e.href||""));if(i){for(var c=0;c<i.length;c++)if(u=i[c],u.getAttribute("href")===(e.href==null||e.href===""?null:e.href)&&u.getAttribute("rel")===(e.rel==null?null:e.rel)&&u.getAttribute("title")===(e.title==null?null:e.title)&&u.getAttribute("crossorigin")===(e.crossOrigin==null?null:e.crossOrigin)){i.splice(c,1);break t}}u=n.createElement(a),hl(u,a,e),n.head.appendChild(u);break;case"meta":if(i=ws("meta","content",n).get(a+(e.content||""))){for(c=0;c<i.length;c++)if(u=i[c],u.getAttribute("content")===(e.content==null?null:""+e.content)&&u.getAttribute("name")===(e.name==null?null:e.name)&&u.getAttribute("property")===(e.property==null?null:e.property)&&u.getAttribute("http-equiv")===(e.httpEquiv==null?null:e.httpEquiv)&&u.getAttribute("charset")===(e.charSet==null?null:e.charSet)){i.splice(c,1);break t}}u=n.createElement(a),hl(u,a,e),n.head.appendChild(u);break;default:throw Error(S(468,a))}u[rl]=l,sl(u),a=u}l.stateNode=a}else ks(n,l.type,l.stateNode);else l.stateNode=Js(n,a,l.memoizedProps);else u!==a?(u===null?e.stateNode!==null&&(e=e.stateNode,e.parentNode.removeChild(e)):u.count--,a===null?ks(n,l.type,l.stateNode):Js(n,a,l.memoizedProps)):a===null&&l.stateNode!==null&&Ki(l,l.memoizedProps,e.memoizedProps)}break;case 27:Tl(t,l),El(l),a&512&&(nl||e===null||nt(e,e.return)),e!==null&&a&4&&Ki(l,l.memoizedProps,e.memoizedProps);break;case 5:if(Tl(t,l),El(l),a&512&&(nl||e===null||nt(e,e.return)),l.flags&32){n=l.stateNode;try{na(n,"")}catch(z){X(l,l.return,z)}}a&4&&l.stateNode!=null&&(n=l.memoizedProps,Ki(l,n,e!==null?e.memoizedProps:n)),a&1024&&(wi=!0);break;case 6:if(Tl(t,l),El(l),a&4){if(l.stateNode===null)throw Error(S(162));a=l.memoizedProps,e=l.stateNode;try{e.nodeValue=a}catch(z){X(l,l.return,z)}}break;case 3:if(su=null,n=Il,Il=Yu(t.containerInfo),Tl(t,l),Il=n,El(l),a&4&&e!==null&&e.memoizedState.isDehydrated)try{ya(t.containerInfo)}catch(z){X(l,l.return,z)}wi&&(wi=!1,P0(l));break;case 4:a=Il,Il=Yu(l.stateNode.containerInfo),Tl(t,l),El(l),Il=a;break;case 12:Tl(t,l),El(l);break;case 31:Tl(t,l),El(l),a&4&&(a=l.updateQueue,a!==null&&(l.updateQueue=null,Jn(l,a)));break;case 13:Tl(t,l),El(l),l.child.flags&8192&&l.memoizedState!==null!=(e!==null&&e.memoizedState!==null)&&(Pu=Hl()),a&4&&(a=l.updateQueue,a!==null&&(l.updateQueue=null,Jn(l,a)));break;case 22:n=l.memoizedState!==null;var f=e!==null&&e.memoizedState!==null,s=gt,m=nl;if(gt=s||n,nl=m||f,Tl(t,l),nl=m,gt=s,El(l),a&8192)l:for(t=l.stateNode,t._visibility=n?t._visibility&-2:t._visibility|1,n&&(e===null||f||gt||nl||oe(l)),e=null,t=l;;){if(t.tag===5||t.tag===26){if(e===null){f=e=t;try{if(u=f.stateNode,n)i=u.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none";else{c=f.stateNode;var g=f.memoizedProps.style,y=g!=null&&g.hasOwnProperty("display")?g.display:null;c.style.display=y==null||typeof y=="boolean"?"":(""+y).trim()}}catch(z){X(f,f.return,z)}}}else if(t.tag===6){if(e===null){f=t;try{f.stateNode.nodeValue=n?"":f.memoizedProps}catch(z){X(f,f.return,z)}}}else if(t.tag===18){if(e===null){f=t;try{var h=f.stateNode;n?Xs(h,!0):Xs(f.stateNode,!1)}catch(z){X(f,f.return,z)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===l)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===l)break l;for(;t.sibling===null;){if(t.return===null||t.return===l)break l;e===t&&(e=null),t=t.return}e===t&&(e=null),t.sibling.return=t.return,t=t.sibling}a&4&&(a=l.updateQueue,a!==null&&(e=a.retryQueue,e!==null&&(a.retryQueue=null,Jn(l,e))));break;case 19:Tl(t,l),El(l),a&4&&(a=l.updateQueue,a!==null&&(l.updateQueue=null,Jn(l,a)));break;case 30:break;case 21:break;default:Tl(t,l),El(l)}}function El(l){var t=l.flags;if(t&2){try{for(var e,a=l.return;a!==null;){if(K0(a)){e=a;break}a=a.return}if(e==null)throw Error(S(160));switch(e.tag){case 27:var n=e.stateNode,u=Ji(l);Du(l,u,n);break;case 5:var i=e.stateNode;e.flags&32&&(na(i,""),e.flags&=-33);var c=Ji(l);Du(l,c,i);break;case 3:case 4:var f=e.stateNode.containerInfo,s=Ji(l);Hc(l,s,f);break;default:throw Error(S(161))}}catch(m){X(l,l.return,m)}l.flags&=-3}t&4096&&(l.flags&=-4097)}function P0(l){if(l.subtreeFlags&1024)for(l=l.child;l!==null;){var t=l;P0(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),l=l.sibling}}function mt(l,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)w0(l,t.alternate,t),t=t.sibling}function oe(l){for(l=l.child;l!==null;){var t=l;switch(t.tag){case 0:case 11:case 14:case 15:te(4,t,t.return),oe(t);break;case 1:nt(t,t.return);var e=t.stateNode;typeof e.componentWillUnmount=="function"&&Z0(t,t.return,e),oe(t);break;case 27:Fa(t.stateNode);case 26:case 5:nt(t,t.return),oe(t);break;case 22:t.memoizedState===null&&oe(t);break;case 30:oe(t);break;default:oe(t)}l=l.sibling}}function vt(l,t,e){for(e=e&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var a=t.alternate,n=l,u=t,i=u.flags;switch(u.tag){case 0:case 11:case 15:vt(n,u,e),zn(4,u);break;case 1:if(vt(n,u,e),a=u,n=a.stateNode,typeof n.componentDidMount=="function")try{n.componentDidMount()}catch(s){X(a,a.return,s)}if(a=u,n=a.updateQueue,n!==null){var c=a.stateNode;try{var f=n.shared.hiddenCallbacks;if(f!==null)for(n.shared.hiddenCallbacks=null,n=0;n<f.length;n++)$d(f[n],c)}catch(s){X(a,a.return,s)}}e&&i&64&&Q0(u),wa(u,u.return);break;case 27:J0(u);case 26:case 5:vt(n,u,e),e&&a===null&&i&4&&V0(u),wa(u,u.return);break;case 12:vt(n,u,e);break;case 31:vt(n,u,e),e&&i&4&&$0(n,u);break;case 13:vt(n,u,e),e&&i&4&&F0(n,u);break;case 22:u.memoizedState===null&&vt(n,u,e),wa(u,u.return);break;case 30:break;default:vt(n,u,e)}t=t.sibling}}function Hf(l,t){var e=null;l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(e=l.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==e&&(l!=null&&l.refCount++,e!=null&&Sn(e))}function Bf(l,t){l=null,t.alternate!==null&&(l=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==l&&(t.refCount++,l!=null&&Sn(l))}function Fl(l,t,e,a){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)l1(l,t,e,a),t=t.sibling}function l1(l,t,e,a){var n=t.flags;switch(t.tag){case 0:case 11:case 15:Fl(l,t,e,a),n&2048&&zn(9,t);break;case 1:Fl(l,t,e,a);break;case 3:Fl(l,t,e,a),n&2048&&(l=null,t.alternate!==null&&(l=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==l&&(t.refCount++,l!=null&&Sn(l)));break;case 12:if(n&2048){Fl(l,t,e,a),l=t.stateNode;try{var u=t.memoizedProps,i=u.id,c=u.onPostCommit;typeof c=="function"&&c(i,t.alternate===null?"mount":"update",l.passiveEffectDuration,-0)}catch(f){X(t,t.return,f)}}else Fl(l,t,e,a);break;case 31:Fl(l,t,e,a);break;case 13:Fl(l,t,e,a);break;case 23:break;case 22:u=t.stateNode,i=t.alternate,t.memoizedState!==null?u._visibility&2?Fl(l,t,e,a):ka(l,t):u._visibility&2?Fl(l,t,e,a):(u._visibility|=2,Be(l,t,e,a,(t.subtreeFlags&10256)!==0||!1)),n&2048&&Hf(i,t);break;case 24:Fl(l,t,e,a),n&2048&&Bf(t.alternate,t);break;default:Fl(l,t,e,a)}}function Be(l,t,e,a,n){for(n=n&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var u=l,i=t,c=e,f=a,s=i.flags;switch(i.tag){case 0:case 11:case 15:Be(u,i,c,f,n),zn(8,i);break;case 23:break;case 22:var m=i.stateNode;i.memoizedState!==null?m._visibility&2?Be(u,i,c,f,n):ka(u,i):(m._visibility|=2,Be(u,i,c,f,n)),n&&s&2048&&Hf(i.alternate,i);break;case 24:Be(u,i,c,f,n),n&&s&2048&&Bf(i.alternate,i);break;default:Be(u,i,c,f,n)}t=t.sibling}}function ka(l,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var e=l,a=t,n=a.flags;switch(a.tag){case 22:ka(e,a),n&2048&&Hf(a.alternate,a);break;case 24:ka(e,a),n&2048&&Bf(a.alternate,a);break;default:ka(e,a)}t=t.sibling}}var La=8192;function He(l,t,e){if(l.subtreeFlags&La)for(l=l.child;l!==null;)t1(l,t,e),l=l.sibling}function t1(l,t,e){switch(l.tag){case 26:He(l,t,e),l.flags&La&&l.memoizedState!==null&&Jm(e,Il,l.memoizedState,l.memoizedProps);break;case 5:He(l,t,e);break;case 3:case 4:var a=Il;Il=Yu(l.stateNode.containerInfo),He(l,t,e),Il=a;break;case 22:l.memoizedState===null&&(a=l.alternate,a!==null&&a.memoizedState!==null?(a=La,La=16777216,He(l,t,e),La=a):He(l,t,e));break;default:He(l,t,e)}}function e1(l){var t=l.alternate;if(t!==null&&(l=t.child,l!==null)){t.child=null;do t=l.sibling,l.sibling=null,l=t;while(l!==null)}}function Na(l){var t=l.deletions;if((l.flags&16)!==0){if(t!==null)for(var e=0;e<t.length;e++){var a=t[e];ol=a,n1(a,l)}e1(l)}if(l.subtreeFlags&10256)for(l=l.child;l!==null;)a1(l),l=l.sibling}function a1(l){switch(l.tag){case 0:case 11:case 15:Na(l),l.flags&2048&&te(9,l,l.return);break;case 3:Na(l);break;case 12:Na(l);break;case 22:var t=l.stateNode;l.memoizedState!==null&&t._visibility&2&&(l.return===null||l.return.tag!==13)?(t._visibility&=-3,fu(l)):Na(l);break;default:Na(l)}}function fu(l){var t=l.deletions;if((l.flags&16)!==0){if(t!==null)for(var e=0;e<t.length;e++){var a=t[e];ol=a,n1(a,l)}e1(l)}for(l=l.child;l!==null;){switch(t=l,t.tag){case 0:case 11:case 15:te(8,t,t.return),fu(t);break;case 22:e=t.stateNode,e._visibility&2&&(e._visibility&=-3,fu(t));break;default:fu(t)}l=l.sibling}}function n1(l,t){for(;ol!==null;){var e=ol;switch(e.tag){case 0:case 11:case 15:te(8,e,t);break;case 23:case 22:if(e.memoizedState!==null&&e.memoizedState.cachePool!==null){var a=e.memoizedState.cachePool.pool;a!=null&&a.refCount++}break;case 24:Sn(e.memoizedState.cache)}if(a=e.child,a!==null)a.return=e,ol=a;else l:for(e=l;ol!==null;){a=ol;var n=a.sibling,u=a.return;if(k0(a),a===e){ol=null;break l}if(n!==null){n.return=u,ol=n;break l}ol=u}}}var om={getCacheForType:function(l){var t=vl(ul),e=t.data.get(l);return e===void 0&&(e=l(),t.data.set(l,e)),e},cacheSignal:function(){return vl(ul).controller.signal}},sm=typeof WeakMap=="function"?WeakMap:Map,L=0,V=null,B=null,q=0,j=0,Ul=null,Xt=!1,ga=!1,qf=!1,_t=0,ll=0,ee=0,me=0,Yf=0,Rl=0,fa=0,Wa=null,Al=null,Bc=!1,Pu=0,u1=0,Uu=1/0,Nu=null,kt=null,cl=0,Wt=null,oa=null,Et=0,qc=0,Yc=null,i1=null,$a=0,Lc=null;function Yl(){return(L&2)!==0&&q!==0?q&-q:O.T!==null?Gf():vd()}function c1(){if(Rl===0)if((q&536870912)===0||Y){var l=qn;qn<<=1,(qn&3932160)===0&&(qn=262144),Rl=l}else Rl=536870912;return l=Gl.current,l!==null&&(l.flags|=32),Rl}function Ml(l,t,e){(l===V&&(j===2||j===9)||l.cancelPendingCommit!==null)&&(sa(l,0),Qt(l,q,Rl,!1)),hn(l,e),((L&2)===0||l!==V)&&(l===V&&((L&2)===0&&(me|=e),ll===4&&Qt(l,q,Rl,!1)),ct(l))}function f1(l,t,e){if((L&6)!==0)throw Error(S(327));var a=!e&&(t&127)===0&&(t&l.expiredLanes)===0||vn(l,t),n=a?rm(l,t):ki(l,t,!0),u=a;do{if(n===0){ga&&!a&&Qt(l,t,0,!1);break}else{if(e=l.current.alternate,u&&!dm(e)){n=ki(l,t,!1),u=!1;continue}if(n===2){if(u=t,l.errorRecoveryDisabledLanes&u)var i=0;else i=l.pendingLanes&-536870913,i=i!==0?i:i&536870912?536870912:0;if(i!==0){t=i;l:{var c=l;n=Wa;var f=c.current.memoizedState.isDehydrated;if(f&&(sa(c,i).flags|=256),i=ki(c,i,!1),i!==2){if(qf&&!f){c.errorRecoveryDisabledLanes|=u,me|=u,n=4;break l}u=Al,Al=n,u!==null&&(Al===null?Al=u:Al.push.apply(Al,u))}n=i}if(u=!1,n!==2)continue}}if(n===1){sa(l,0),Qt(l,t,0,!0);break}l:{switch(a=l,u=n,u){case 0:case 1:throw Error(S(345));case 4:if((t&4194048)!==t)break;case 6:Qt(a,t,Rl,!Xt);break l;case 2:Al=null;break;case 3:case 5:break;default:throw Error(S(329))}if((t&62914560)===t&&(n=Pu+300-Hl(),10<n)){if(Qt(a,t,Rl,!Xt),Qu(a,0,!0)!==0)break l;Et=t,a.timeoutHandle=_1(Ms.bind(null,a,e,Al,Nu,Bc,t,Rl,me,fa,Xt,u,"Throttled",-0,0),n);break l}Ms(a,e,Al,Nu,Bc,t,Rl,me,fa,Xt,u,null,-0,0)}}break}while(!0);ct(l)}function Ms(l,t,e,a,n,u,i,c,f,s,m,g,y,h){if(l.timeoutHandle=-1,g=t.subtreeFlags,g&8192||(g&16785408)===16785408){g={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:St},t1(t,u,g);var z=(u&62914560)===u?Pu-Hl():(u&4194048)===u?u1-Hl():0;if(z=wm(g,z),z!==null){Et=u,l.cancelPendingCommit=z(_s.bind(null,l,t,u,e,a,n,i,c,f,m,g,null,y,h)),Qt(l,u,i,!s);return}}_s(l,t,u,e,a,n,i,c,f)}function dm(l){for(var t=l;;){var e=t.tag;if((e===0||e===11||e===15)&&t.flags&16384&&(e=t.updateQueue,e!==null&&(e=e.stores,e!==null)))for(var a=0;a<e.length;a++){var n=e[a],u=n.getSnapshot;n=n.value;try{if(!Ll(u(),n))return!1}catch{return!1}}if(e=t.child,t.subtreeFlags&16384&&e!==null)e.return=t,t=e;else{if(t===l)break;for(;t.sibling===null;){if(t.return===null||t.return===l)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Qt(l,t,e,a){t&=~Yf,t&=~me,l.suspendedLanes|=t,l.pingedLanes&=~t,a&&(l.warmLanes|=t),a=l.expirationTimes;for(var n=t;0<n;){var u=31-ql(n),i=1<<u;a[u]=-1,n&=~i}e!==0&&yd(l,e,t)}function li(){return(L&6)===0?(Tn(0,!1),!1):!0}function Lf(){if(B!==null){if(j===0)var l=B.return;else l=B,bt=xe=null,Ef(l),Pe=null,nn=0,l=B;for(;l!==null;)X0(l.alternate,l),l=l.return;B=null}}function sa(l,t){var e=l.timeoutHandle;e!==-1&&(l.timeoutHandle=-1,Dm(e)),e=l.cancelPendingCommit,e!==null&&(l.cancelPendingCommit=null,e()),Et=0,Lf(),V=l,B=e=zt(l.current,null),q=t,j=0,Ul=null,Xt=!1,ga=vn(l,t),qf=!1,fa=Rl=Yf=me=ee=ll=0,Al=Wa=null,Bc=!1,(t&8)!==0&&(t|=t&32);var a=l.entangledLanes;if(a!==0)for(l=l.entanglements,a&=t;0<a;){var n=31-ql(a),u=1<<n;t|=l[n],a&=~u}return _t=t,Ju(),e}function o1(l,t){N=null,O.H=cn,t===ha||t===ku?(t=ns(),j=3):t===hf?(t=ns(),j=4):j=t===Cf?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ul=t,B===null&&(ll=1,Ou(l,Jl(t,l.current)))}function s1(){var l=Gl.current;return l===null?!0:(q&4194048)===q?kl===null:(q&62914560)===q||(q&536870912)!==0?l===kl:!1}function d1(){var l=O.H;return O.H=cn,l===null?cn:l}function y1(){var l=O.A;return O.A=om,l}function Cu(){ll=4,Xt||(q&4194048)!==q&&Gl.current!==null||(ga=!0),(ee&134217727)===0&&(me&134217727)===0||V===null||Qt(V,q,Rl,!1)}function ki(l,t,e){var a=L;L|=2;var n=d1(),u=y1();(V!==l||q!==t)&&(Nu=null,sa(l,t)),t=!1;var i=ll;l:do try{if(j!==0&&B!==null){var c=B,f=Ul;switch(j){case 8:Lf(),i=6;break l;case 3:case 2:case 9:case 6:Gl.current===null&&(t=!0);var s=j;if(j=0,Ul=null,ke(l,c,f,s),e&&ga){i=0;break l}break;default:s=j,j=0,Ul=null,ke(l,c,f,s)}}ym(),i=ll;break}catch(m){o1(l,m)}while(!0);return t&&l.shellSuspendCounter++,bt=xe=null,L=a,O.H=n,O.A=u,B===null&&(V=null,q=0,Ju()),i}function ym(){for(;B!==null;)r1(B)}function rm(l,t){var e=L;L|=2;var a=d1(),n=y1();V!==l||q!==t?(Nu=null,Uu=Hl()+500,sa(l,t)):ga=vn(l,t);l:do try{if(j!==0&&B!==null){t=B;var u=Ul;t:switch(j){case 1:j=0,Ul=null,ke(l,t,u,1);break;case 2:case 9:if(as(u)){j=0,Ul=null,Os(t);break}t=function(){j!==2&&j!==9||V!==l||(j=7),ct(l)},u.then(t,t);break l;case 3:j=7;break l;case 4:j=5;break l;case 7:as(u)?(j=0,Ul=null,Os(t)):(j=0,Ul=null,ke(l,t,u,7));break;case 5:var i=null;switch(B.tag){case 26:i=B.memoizedState;case 5:case 27:var c=B;if(i?R1(i):c.stateNode.complete){j=0,Ul=null;var f=c.sibling;if(f!==null)B=f;else{var s=c.return;s!==null?(B=s,ti(s)):B=null}break t}}j=0,Ul=null,ke(l,t,u,5);break;case 6:j=0,Ul=null,ke(l,t,u,6);break;case 8:Lf(),ll=6;break l;default:throw Error(S(462))}}mm();break}catch(m){o1(l,m)}while(!0);return bt=xe=null,O.H=a,O.A=n,L=e,B!==null?0:(V=null,q=0,Ju(),ll)}function mm(){for(;B!==null&&!Yy();)r1(B)}function r1(l){var t=j0(l.alternate,l,_t);l.memoizedProps=l.pendingProps,t===null?ti(l):B=t}function Os(l){var t=l,e=t.alternate;switch(t.tag){case 15:case 0:t=bs(e,t,t.pendingProps,t.type,void 0,q);break;case 11:t=bs(e,t,t.pendingProps,t.type.render,t.ref,q);break;case 5:Ef(t);default:X0(e,t),t=B=Xd(t,_t),t=j0(e,t,_t)}l.memoizedProps=l.pendingProps,t===null?ti(l):B=t}function ke(l,t,e,a){bt=xe=null,Ef(t),Pe=null,nn=0;var n=t.return;try{if(em(l,n,t,e,q)){ll=1,Ou(l,Jl(e,l.current)),B=null;return}}catch(u){if(n!==null)throw B=n,u;ll=1,Ou(l,Jl(e,l.current)),B=null;return}t.flags&32768?(Y||a===1?l=!0:ga||(q&536870912)!==0?l=!1:(Xt=l=!0,(a===2||a===9||a===3||a===6)&&(a=Gl.current,a!==null&&a.tag===13&&(a.flags|=16384))),m1(t,l)):ti(t)}function ti(l){var t=l;do{if((t.flags&32768)!==0){m1(t,Xt);return}l=t.return;var e=um(t.alternate,t,_t);if(e!==null){B=e;return}if(t=t.sibling,t!==null){B=t;return}B=t=l}while(t!==null);ll===0&&(ll=5)}function m1(l,t){do{var e=im(l.alternate,l);if(e!==null){e.flags&=32767,B=e;return}if(e=l.return,e!==null&&(e.flags|=32768,e.subtreeFlags=0,e.deletions=null),!t&&(l=l.sibling,l!==null)){B=l;return}B=l=e}while(l!==null);ll=6,B=null}function _s(l,t,e,a,n,u,i,c,f){l.cancelPendingCommit=null;do ei();while(cl!==0);if((L&6)!==0)throw Error(S(327));if(t!==null){if(t===l.current)throw Error(S(177));if(u=t.lanes|t.childLanes,u|=of,wy(l,e,u,i,c,f),l===V&&(B=V=null,q=0),oa=t,Wt=l,Et=e,qc=u,Yc=n,i1=a,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(l.callbackNode=null,l.callbackPriority=0,pm(hu,function(){return S1(),null})):(l.callbackNode=null,l.callbackPriority=0),a=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||a){a=O.T,O.T=null,n=G.p,G.p=2,i=L,L|=4;try{cm(l,t,e)}finally{L=i,G.p=n,O.T=a}}cl=1,v1(),h1(),g1()}}function v1(){if(cl===1){cl=0;var l=Wt,t=oa,e=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||e){e=O.T,O.T=null;var a=G.p;G.p=2;var n=L;L|=4;try{I0(t,l);var u=Qc,i=Rd(l.containerInfo),c=u.focusedElem,f=u.selectionRange;if(i!==c&&c&&c.ownerDocument&&Cd(c.ownerDocument.documentElement,c)){if(f!==null&&ff(c)){var s=f.start,m=f.end;if(m===void 0&&(m=s),"selectionStart"in c)c.selectionStart=s,c.selectionEnd=Math.min(m,c.value.length);else{var g=c.ownerDocument||document,y=g&&g.defaultView||window;if(y.getSelection){var h=y.getSelection(),z=c.textContent.length,E=Math.min(f.start,z),U=f.end===void 0?E:Math.min(f.end,z);!h.extend&&E>U&&(i=U,U=E,E=i);var r=$o(c,E),o=$o(c,U);if(r&&o&&(h.rangeCount!==1||h.anchorNode!==r.node||h.anchorOffset!==r.offset||h.focusNode!==o.node||h.focusOffset!==o.offset)){var v=g.createRange();v.setStart(r.node,r.offset),h.removeAllRanges(),E>U?(h.addRange(v),h.extend(o.node,o.offset)):(v.setEnd(o.node,o.offset),h.addRange(v))}}}}for(g=[],h=c;h=h.parentNode;)h.nodeType===1&&g.push({element:h,left:h.scrollLeft,top:h.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;c<g.length;c++){var d=g[c];d.element.scrollLeft=d.left,d.element.scrollTop=d.top}}ju=!!Xc,Qc=Xc=null}finally{L=n,G.p=a,O.T=e}}l.current=t,cl=2}}function h1(){if(cl===2){cl=0;var l=Wt,t=oa,e=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||e){e=O.T,O.T=null;var a=G.p;G.p=2;var n=L;L|=4;try{w0(l,t.alternate,t)}finally{L=n,G.p=a,O.T=e}}cl=3}}function g1(){if(cl===4||cl===3){cl=0,Ly();var l=Wt,t=oa,e=Et,a=i1;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?cl=5:(cl=0,oa=Wt=null,p1(l,l.pendingLanes));var n=l.pendingLanes;if(n===0&&(kt=null),lf(e),t=t.stateNode,Bl&&typeof Bl.onCommitFiberRoot=="function")try{Bl.onCommitFiberRoot(mn,t,void 0,(t.current.flags&128)===128)}catch{}if(a!==null){t=O.T,n=G.p,G.p=2,O.T=null;try{for(var u=l.onRecoverableError,i=0;i<a.length;i++){var c=a[i];u(c.value,{componentStack:c.stack})}}finally{O.T=t,G.p=n}}(Et&3)!==0&&ei(),ct(l),n=l.pendingLanes,(e&261930)!==0&&(n&42)!==0?l===Lc?$a++:($a=0,Lc=l):$a=0,Tn(0,!1)}}function p1(l,t){(l.pooledCacheLanes&=t)===0&&(t=l.pooledCache,t!=null&&(l.pooledCache=null,Sn(t)))}function ei(){return v1(),h1(),g1(),S1()}function S1(){if(cl!==5)return!1;var l=Wt,t=qc;qc=0;var e=lf(Et),a=O.T,n=G.p;try{G.p=32>e?32:e,O.T=null,e=Yc,Yc=null;var u=Wt,i=Et;if(cl=0,oa=Wt=null,Et=0,(L&6)!==0)throw Error(S(331));var c=L;if(L|=4,a1(u.current),l1(u,u.current,i,e),L=c,Tn(0,!1),Bl&&typeof Bl.onPostCommitFiberRoot=="function")try{Bl.onPostCommitFiberRoot(mn,u)}catch{}return!0}finally{G.p=n,O.T=a,p1(l,t)}}function Ds(l,t,e){t=Jl(e,t),t=Nc(l.stateNode,t,2),l=wt(l,t,2),l!==null&&(hn(l,2),ct(l))}function X(l,t,e){if(l.tag===3)Ds(l,l,e);else for(;t!==null;){if(t.tag===3){Ds(t,l,e);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(kt===null||!kt.has(a))){l=Jl(e,l),e=H0(2),a=wt(t,e,2),a!==null&&(B0(e,a,t,l),hn(a,2),ct(a));break}}t=t.return}}function Wi(l,t,e){var a=l.pingCache;if(a===null){a=l.pingCache=new sm;var n=new Set;a.set(t,n)}else n=a.get(t),n===void 0&&(n=new Set,a.set(t,n));n.has(e)||(qf=!0,n.add(e),l=vm.bind(null,l,t,e),t.then(l,l))}function vm(l,t,e){var a=l.pingCache;a!==null&&a.delete(t),l.pingedLanes|=l.suspendedLanes&e,l.warmLanes&=~e,V===l&&(q&e)===e&&(ll===4||ll===3&&(q&62914560)===q&&300>Hl()-Pu?(L&2)===0&&sa(l,0):Yf|=e,fa===q&&(fa=0)),ct(l)}function b1(l,t){t===0&&(t=dd()),l=Ee(l,t),l!==null&&(hn(l,t),ct(l))}function hm(l){var t=l.memoizedState,e=0;t!==null&&(e=t.retryLane),b1(l,e)}function gm(l,t){var e=0;switch(l.tag){case 31:case 13:var a=l.stateNode,n=l.memoizedState;n!==null&&(e=n.retryLane);break;case 19:a=l.stateNode;break;case 22:a=l.stateNode._retryCache;break;default:throw Error(S(314))}a!==null&&a.delete(t),b1(l,e)}function pm(l,t){return Ic(l,t)}var Ru=null,qe=null,Gc=!1,Hu=!1,$i=!1,Zt=0;function ct(l){l!==qe&&l.next===null&&(qe===null?Ru=qe=l:qe=qe.next=l),Hu=!0,Gc||(Gc=!0,bm())}function Tn(l,t){if(!$i&&Hu){$i=!0;do for(var e=!1,a=Ru;a!==null;){if(!t)if(l!==0){var n=a.pendingLanes;if(n===0)var u=0;else{var i=a.suspendedLanes,c=a.pingedLanes;u=(1<<31-ql(42|l)+1)-1,u&=n&~(i&~c),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(e=!0,Us(a,u))}else u=q,u=Qu(a,a===V?u:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(u&3)===0||vn(a,u)||(e=!0,Us(a,u));a=a.next}while(e);$i=!1}}function Sm(){z1()}function z1(){Hu=Gc=!1;var l=0;Zt!==0&&_m()&&(l=Zt);for(var t=Hl(),e=null,a=Ru;a!==null;){var n=a.next,u=T1(a,t);u===0?(a.next=null,e===null?Ru=n:e.next=n,n===null&&(qe=e)):(e=a,(l!==0||(u&3)!==0)&&(Hu=!0)),a=n}cl!==0&&cl!==5||Tn(l,!1),Zt!==0&&(Zt=0)}function T1(l,t){for(var e=l.suspendedLanes,a=l.pingedLanes,n=l.expirationTimes,u=l.pendingLanes&-62914561;0<u;){var i=31-ql(u),c=1<<i,f=n[i];f===-1?((c&e)===0||(c&a)!==0)&&(n[i]=Jy(c,t)):f<=t&&(l.expiredLanes|=c),u&=~c}if(t=V,e=q,e=Qu(l,l===t?e:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),a=l.callbackNode,e===0||l===t&&(j===2||j===9)||l.cancelPendingCommit!==null)return a!==null&&a!==null&&Ai(a),l.callbackNode=null,l.callbackPriority=0;if((e&3)===0||vn(l,e)){if(t=e&-e,t===l.callbackPriority)return t;switch(a!==null&&Ai(a),lf(e)){case 2:case 8:e=od;break;case 32:e=hu;break;case 268435456:e=sd;break;default:e=hu}return a=E1.bind(null,l),e=Ic(e,a),l.callbackPriority=t,l.callbackNode=e,t}return a!==null&&a!==null&&Ai(a),l.callbackPriority=2,l.callbackNode=null,2}function E1(l,t){if(cl!==0&&cl!==5)return l.callbackNode=null,l.callbackPriority=0,null;var e=l.callbackNode;if(ei()&&l.callbackNode!==e)return null;var a=q;return a=Qu(l,l===V?a:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),a===0?null:(f1(l,a,t),T1(l,Hl()),l.callbackNode!=null&&l.callbackNode===e?E1.bind(null,l):null)}function Us(l,t){if(ei())return null;f1(l,t,!0)}function bm(){Um(function(){(L&6)!==0?Ic(fd,Sm):z1()})}function Gf(){if(Zt===0){var l=ua;l===0&&(l=Bn,Bn<<=1,(Bn&261888)===0&&(Bn=256)),Zt=l}return Zt}function Ns(l){return l==null||typeof l=="symbol"||typeof l=="boolean"?null:typeof l=="function"?l:Pn(""+l)}function Cs(l,t){var e=t.ownerDocument.createElement("input");return e.name=t.name,e.value=t.value,l.id&&e.setAttribute("form",l.id),t.parentNode.insertBefore(e,t),l=new FormData(l),e.parentNode.removeChild(e),l}function zm(l,t,e,a,n){if(t==="submit"&&e&&e.stateNode===n){var u=Ns((n[Ol]||null).action),i=a.submitter;i&&(t=(t=i[Ol]||null)?Ns(t.formAction):i.getAttribute("formAction"),t!==null&&(u=t,i=null));var c=new Zu("action","action",null,a,n);l.push({event:c,listeners:[{instance:null,listener:function(){if(a.defaultPrevented){if(Zt!==0){var f=i?Cs(n,i):new FormData(n);Dc(e,{pending:!0,data:f,method:n.method,action:u},null,f)}}else typeof u=="function"&&(c.preventDefault(),f=i?Cs(n,i):new FormData(n),Dc(e,{pending:!0,data:f,method:n.method,action:u},u,f))},currentTarget:n}]})}}for(wn=0;wn<gc.length;wn++)kn=gc[wn],Rs=kn.toLowerCase(),Hs=kn[0].toUpperCase()+kn.slice(1),Pl(Rs,"on"+Hs);var kn,Rs,Hs,wn;Pl(Bd,"onAnimationEnd");Pl(qd,"onAnimationIteration");Pl(Yd,"onAnimationStart");Pl("dblclick","onDoubleClick");Pl("focusin","onFocus");Pl("focusout","onBlur");Pl(Gr,"onTransitionRun");Pl(jr,"onTransitionStart");Pl(Xr,"onTransitionCancel");Pl(Ld,"onTransitionEnd");aa("onMouseEnter",["mouseout","mouseover"]);aa("onMouseLeave",["mouseout","mouseover"]);aa("onPointerEnter",["pointerout","pointerover"]);aa("onPointerLeave",["pointerout","pointerover"]);be("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));be("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));be("onBeforeInput",["compositionend","keypress","textInput","paste"]);be("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));be("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));be("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var fn="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Tm=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(fn));function x1(l,t){t=(t&4)!==0;for(var e=0;e<l.length;e++){var a=l[e],n=a.event;a=a.listeners;l:{var u=void 0;if(t)for(var i=a.length-1;0<=i;i--){var c=a[i],f=c.instance,s=c.currentTarget;if(c=c.listener,f!==u&&n.isPropagationStopped())break l;u=c,n.currentTarget=s;try{u(n)}catch(m){pu(m)}n.currentTarget=null,u=f}else for(i=0;i<a.length;i++){if(c=a[i],f=c.instance,s=c.currentTarget,c=c.listener,f!==u&&n.isPropagationStopped())break l;u=c,n.currentTarget=s;try{u(n)}catch(m){pu(m)}n.currentTarget=null,u=f}}}}function H(l,t){var e=t[oc];e===void 0&&(e=t[oc]=new Set);var a=l+"__bubble";e.has(a)||(A1(t,l,2,!1),e.add(a))}function Fi(l,t,e){var a=0;t&&(a|=4),A1(e,l,a,t)}var Wn="_reactListening"+Math.random().toString(36).slice(2);function jf(l){if(!l[Wn]){l[Wn]=!0,hd.forEach(function(e){e!=="selectionchange"&&(Tm.has(e)||Fi(e,!1,l),Fi(e,!0,l))});var t=l.nodeType===9?l:l.ownerDocument;t===null||t[Wn]||(t[Wn]=!0,Fi("selectionchange",!1,t))}}function A1(l,t,e,a){switch(L1(t)){case 2:var n=$m;break;case 8:n=Fm;break;default:n=Vf}e=n.bind(null,t,e,l),n=void 0,!mc||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(n=!0),a?n!==void 0?l.addEventListener(t,e,{capture:!0,passive:n}):l.addEventListener(t,e,!0):n!==void 0?l.addEventListener(t,e,{passive:n}):l.addEventListener(t,e,!1)}function Ii(l,t,e,a,n){var u=a;if((t&1)===0&&(t&2)===0&&a!==null)l:for(;;){if(a===null)return;var i=a.tag;if(i===3||i===4){var c=a.stateNode.containerInfo;if(c===n)break;if(i===4)for(i=a.return;i!==null;){var f=i.tag;if((f===3||f===4)&&i.stateNode.containerInfo===n)return;i=i.return}for(;c!==null;){if(i=Ge(c),i===null)return;if(f=i.tag,f===5||f===6||f===26||f===27){a=u=i;continue l}c=c.parentNode}}a=a.return}xd(function(){var s=u,m=af(e),g=[];l:{var y=Gd.get(l);if(y!==void 0){var h=Zu,z=l;switch(l){case"keypress":if(tu(e)===0)break l;case"keydown":case"keyup":h=gr;break;case"focusin":z="focus",h=Ui;break;case"focusout":z="blur",h=Ui;break;case"beforeblur":case"afterblur":h=Ui;break;case"click":if(e.button===2)break l;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":h=Xo;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":h=ur;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":h=br;break;case Bd:case qd:case Yd:h=fr;break;case Ld:h=Tr;break;case"scroll":case"scrollend":h=ar;break;case"wheel":h=xr;break;case"copy":case"cut":case"paste":h=sr;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":h=Zo;break;case"toggle":case"beforetoggle":h=Mr}var E=(t&4)!==0,U=!E&&(l==="scroll"||l==="scrollend"),r=E?y!==null?y+"Capture":null:y;E=[];for(var o=s,v;o!==null;){var d=o;if(v=d.stateNode,d=d.tag,d!==5&&d!==26&&d!==27||v===null||r===null||(d=Pa(o,r),d!=null&&E.push(on(o,d,v))),U)break;o=o.return}0<E.length&&(y=new h(y,z,null,e,m),g.push({event:y,listeners:E}))}}if((t&7)===0){l:{if(y=l==="mouseover"||l==="pointerover",h=l==="mouseout"||l==="pointerout",y&&e!==rc&&(z=e.relatedTarget||e.fromElement)&&(Ge(z)||z[ra]))break l;if((h||y)&&(y=m.window===m?m:(y=m.ownerDocument)?y.defaultView||y.parentWindow:window,h?(z=e.relatedTarget||e.toElement,h=s,z=z?Ge(z):null,z!==null&&(U=rn(z),E=z.tag,z!==U||E!==5&&E!==27&&E!==6)&&(z=null)):(h=null,z=s),h!==z)){if(E=Xo,d="onMouseLeave",r="onMouseEnter",o="mouse",(l==="pointerout"||l==="pointerover")&&(E=Zo,d="onPointerLeave",r="onPointerEnter",o="pointer"),U=h==null?y:qa(h),v=z==null?y:qa(z),y=new E(d,o+"leave",h,e,m),y.target=U,y.relatedTarget=v,d=null,Ge(m)===s&&(E=new E(r,o+"enter",z,e,m),E.target=v,E.relatedTarget=U,d=E),U=d,h&&z)t:{for(E=Em,r=h,o=z,v=0,d=r;d;d=E(d))v++;d=0;for(var b=o;b;b=E(b))d++;for(;0<v-d;)r=E(r),v--;for(;0<d-v;)o=E(o),d--;for(;v--;){if(r===o||o!==null&&r===o.alternate){E=r;break t}r=E(r),o=E(o)}E=null}else E=null;h!==null&&Bs(g,y,h,E,!1),z!==null&&U!==null&&Bs(g,U,z,E,!0)}}l:{if(y=s?qa(s):window,h=y.nodeName&&y.nodeName.toLowerCase(),h==="select"||h==="input"&&y.type==="file")var A=wo;else if(Jo(y))if(Ud)A=qr;else{A=Hr;var T=Rr}else h=y.nodeName,!h||h.toLowerCase()!=="input"||y.type!=="checkbox"&&y.type!=="radio"?s&&ef(s.elementType)&&(A=wo):A=Br;if(A&&(A=A(l,s))){Dd(g,A,e,m);break l}T&&T(l,y,s),l==="focusout"&&s&&y.type==="number"&&s.memoizedProps.value!=null&&yc(y,"number",y.value)}switch(T=s?qa(s):window,l){case"focusin":(Jo(T)||T.contentEditable==="true")&&(Qe=T,vc=s,Xa=null);break;case"focusout":Xa=vc=Qe=null;break;case"mousedown":hc=!0;break;case"contextmenu":case"mouseup":case"dragend":hc=!1,Fo(g,e,m);break;case"selectionchange":if(Lr)break;case"keydown":case"keyup":Fo(g,e,m)}var x;if(cf)l:{switch(l){case"compositionstart":var _="onCompositionStart";break l;case"compositionend":_="onCompositionEnd";break l;case"compositionupdate":_="onCompositionUpdate";break l}_=void 0}else Xe?Od(l,e)&&(_="onCompositionEnd"):l==="keydown"&&e.keyCode===229&&(_="onCompositionStart");_&&(Md&&e.locale!=="ko"&&(Xe||_!=="onCompositionStart"?_==="onCompositionEnd"&&Xe&&(x=Ad()):(jt=m,nf="value"in jt?jt.value:jt.textContent,Xe=!0)),T=Bu(s,_),0<T.length&&(_=new Qo(_,l,null,e,m),g.push({event:_,listeners:T}),x?_.data=x:(x=_d(e),x!==null&&(_.data=x)))),(x=_r?Dr(l,e):Ur(l,e))&&(_=Bu(s,"onBeforeInput"),0<_.length&&(T=new Qo("onBeforeInput","beforeinput",null,e,m),g.push({event:T,listeners:_}),T.data=x)),zm(g,l,s,e,m)}x1(g,t)})}function on(l,t,e){return{instance:l,listener:t,currentTarget:e}}function Bu(l,t){for(var e=t+"Capture",a=[];l!==null;){var n=l,u=n.stateNode;if(n=n.tag,n!==5&&n!==26&&n!==27||u===null||(n=Pa(l,e),n!=null&&a.unshift(on(l,n,u)),n=Pa(l,t),n!=null&&a.push(on(l,n,u))),l.tag===3)return a;l=l.return}return[]}function Em(l){if(l===null)return null;do l=l.return;while(l&&l.tag!==5&&l.tag!==27);return l||null}function Bs(l,t,e,a,n){for(var u=t._reactName,i=[];e!==null&&e!==a;){var c=e,f=c.alternate,s=c.stateNode;if(c=c.tag,f!==null&&f===a)break;c!==5&&c!==26&&c!==27||s===null||(f=s,n?(s=Pa(e,u),s!=null&&i.unshift(on(e,s,f))):n||(s=Pa(e,u),s!=null&&i.push(on(e,s,f)))),e=e.return}i.length!==0&&l.push({event:t,listeners:i})}var xm=/\\r\\n?/g,Am=/\\u0000|\\uFFFD/g;function qs(l){return(typeof l=="string"?l:""+l).replace(xm,`\n`).replace(Am,"")}function M1(l,t){return t=qs(t),qs(l)===t}function Q(l,t,e,a,n,u){switch(e){case"children":typeof a=="string"?t==="body"||t==="textarea"&&a===""||na(l,a):(typeof a=="number"||typeof a=="bigint")&&t!=="body"&&na(l,""+a);break;case"className":Ln(l,"class",a);break;case"tabIndex":Ln(l,"tabindex",a);break;case"dir":case"role":case"viewBox":case"width":case"height":Ln(l,e,a);break;case"style":Ed(l,a,u);break;case"data":if(t!=="object"){Ln(l,"data",a);break}case"src":case"href":if(a===""&&(t!=="a"||e!=="href")){l.removeAttribute(e);break}if(a==null||typeof a=="function"||typeof a=="symbol"||typeof a=="boolean"){l.removeAttribute(e);break}a=Pn(""+a),l.setAttribute(e,a);break;case"action":case"formAction":if(typeof a=="function"){l.setAttribute(e,"javascript:throw new Error(\'A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().\')");break}else typeof u=="function"&&(e==="formAction"?(t!=="input"&&Q(l,t,"name",n.name,n,null),Q(l,t,"formEncType",n.formEncType,n,null),Q(l,t,"formMethod",n.formMethod,n,null),Q(l,t,"formTarget",n.formTarget,n,null)):(Q(l,t,"encType",n.encType,n,null),Q(l,t,"method",n.method,n,null),Q(l,t,"target",n.target,n,null)));if(a==null||typeof a=="symbol"||typeof a=="boolean"){l.removeAttribute(e);break}a=Pn(""+a),l.setAttribute(e,a);break;case"onClick":a!=null&&(l.onclick=St);break;case"onScroll":a!=null&&H("scroll",l);break;case"onScrollEnd":a!=null&&H("scrollend",l);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(e=a.__html,e!=null){if(n.children!=null)throw Error(S(60));l.innerHTML=e}}break;case"multiple":l.multiple=a&&typeof a!="function"&&typeof a!="symbol";break;case"muted":l.muted=a&&typeof a!="function"&&typeof a!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(a==null||typeof a=="function"||typeof a=="boolean"||typeof a=="symbol"){l.removeAttribute("xlink:href");break}e=Pn(""+a),l.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",e);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":a!=null&&typeof a!="function"&&typeof a!="symbol"?l.setAttribute(e,""+a):l.removeAttribute(e);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":a&&typeof a!="function"&&typeof a!="symbol"?l.setAttribute(e,""):l.removeAttribute(e);break;case"capture":case"download":a===!0?l.setAttribute(e,""):a!==!1&&a!=null&&typeof a!="function"&&typeof a!="symbol"?l.setAttribute(e,a):l.removeAttribute(e);break;case"cols":case"rows":case"size":case"span":a!=null&&typeof a!="function"&&typeof a!="symbol"&&!isNaN(a)&&1<=a?l.setAttribute(e,a):l.removeAttribute(e);break;case"rowSpan":case"start":a==null||typeof a=="function"||typeof a=="symbol"||isNaN(a)?l.removeAttribute(e):l.setAttribute(e,a);break;case"popover":H("beforetoggle",l),H("toggle",l),In(l,"popover",a);break;case"xlinkActuate":dt(l,"http://www.w3.org/1999/xlink","xlink:actuate",a);break;case"xlinkArcrole":dt(l,"http://www.w3.org/1999/xlink","xlink:arcrole",a);break;case"xlinkRole":dt(l,"http://www.w3.org/1999/xlink","xlink:role",a);break;case"xlinkShow":dt(l,"http://www.w3.org/1999/xlink","xlink:show",a);break;case"xlinkTitle":dt(l,"http://www.w3.org/1999/xlink","xlink:title",a);break;case"xlinkType":dt(l,"http://www.w3.org/1999/xlink","xlink:type",a);break;case"xmlBase":dt(l,"http://www.w3.org/XML/1998/namespace","xml:base",a);break;case"xmlLang":dt(l,"http://www.w3.org/XML/1998/namespace","xml:lang",a);break;case"xmlSpace":dt(l,"http://www.w3.org/XML/1998/namespace","xml:space",a);break;case"is":In(l,"is",a);break;case"innerText":case"textContent":break;default:(!(2<e.length)||e[0]!=="o"&&e[0]!=="O"||e[1]!=="n"&&e[1]!=="N")&&(e=tr.get(e)||e,In(l,e,a))}}function jc(l,t,e,a,n,u){switch(e){case"style":Ed(l,a,u);break;case"dangerouslySetInnerHTML":if(a!=null){if(typeof a!="object"||!("__html"in a))throw Error(S(61));if(e=a.__html,e!=null){if(n.children!=null)throw Error(S(60));l.innerHTML=e}}break;case"children":typeof a=="string"?na(l,a):(typeof a=="number"||typeof a=="bigint")&&na(l,""+a);break;case"onScroll":a!=null&&H("scroll",l);break;case"onScrollEnd":a!=null&&H("scrollend",l);break;case"onClick":a!=null&&(l.onclick=St);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!gd.hasOwnProperty(e))l:{if(e[0]==="o"&&e[1]==="n"&&(n=e.endsWith("Capture"),t=e.slice(2,n?e.length-7:void 0),u=l[Ol]||null,u=u!=null?u[e]:null,typeof u=="function"&&l.removeEventListener(t,u,n),typeof a=="function")){typeof u!="function"&&u!==null&&(e in l?l[e]=null:l.hasAttribute(e)&&l.removeAttribute(e)),l.addEventListener(t,a,n);break l}e in l?l[e]=a:a===!0?l.setAttribute(e,""):In(l,e,a)}}}function hl(l,t,e){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":H("error",l),H("load",l);var a=!1,n=!1,u;for(u in e)if(e.hasOwnProperty(u)){var i=e[u];if(i!=null)switch(u){case"src":a=!0;break;case"srcSet":n=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:Q(l,t,u,i,e,null)}}n&&Q(l,t,"srcSet",e.srcSet,e,null),a&&Q(l,t,"src",e.src,e,null);return;case"input":H("invalid",l);var c=u=i=n=null,f=null,s=null;for(a in e)if(e.hasOwnProperty(a)){var m=e[a];if(m!=null)switch(a){case"name":n=m;break;case"type":i=m;break;case"checked":f=m;break;case"defaultChecked":s=m;break;case"value":u=m;break;case"defaultValue":c=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(S(137,t));break;default:Q(l,t,a,m,e,null)}}bd(l,u,c,f,s,i,n,!1);return;case"select":H("invalid",l),a=i=u=null;for(n in e)if(e.hasOwnProperty(n)&&(c=e[n],c!=null))switch(n){case"value":u=c;break;case"defaultValue":i=c;break;case"multiple":a=c;default:Q(l,t,n,c,e,null)}t=u,e=i,l.multiple=!!a,t!=null?$e(l,!!a,t,!1):e!=null&&$e(l,!!a,e,!0);return;case"textarea":H("invalid",l),u=n=a=null;for(i in e)if(e.hasOwnProperty(i)&&(c=e[i],c!=null))switch(i){case"value":a=c;break;case"defaultValue":n=c;break;case"children":u=c;break;case"dangerouslySetInnerHTML":if(c!=null)throw Error(S(91));break;default:Q(l,t,i,c,e,null)}Td(l,a,n,u);return;case"option":for(f in e)if(e.hasOwnProperty(f)&&(a=e[f],a!=null))switch(f){case"selected":l.selected=a&&typeof a!="function"&&typeof a!="symbol";break;default:Q(l,t,f,a,e,null)}return;case"dialog":H("beforetoggle",l),H("toggle",l),H("cancel",l),H("close",l);break;case"iframe":case"object":H("load",l);break;case"video":case"audio":for(a=0;a<fn.length;a++)H(fn[a],l);break;case"image":H("error",l),H("load",l);break;case"details":H("toggle",l);break;case"embed":case"source":case"link":H("error",l),H("load",l);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(s in e)if(e.hasOwnProperty(s)&&(a=e[s],a!=null))switch(s){case"children":case"dangerouslySetInnerHTML":throw Error(S(137,t));default:Q(l,t,s,a,e,null)}return;default:if(ef(t)){for(m in e)e.hasOwnProperty(m)&&(a=e[m],a!==void 0&&jc(l,t,m,a,e,void 0));return}}for(c in e)e.hasOwnProperty(c)&&(a=e[c],a!=null&&Q(l,t,c,a,e,null))}function Mm(l,t,e,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var n=null,u=null,i=null,c=null,f=null,s=null,m=null;for(h in e){var g=e[h];if(e.hasOwnProperty(h)&&g!=null)switch(h){case"checked":break;case"value":break;case"defaultValue":f=g;default:a.hasOwnProperty(h)||Q(l,t,h,null,a,g)}}for(var y in a){var h=a[y];if(g=e[y],a.hasOwnProperty(y)&&(h!=null||g!=null))switch(y){case"type":u=h;break;case"name":n=h;break;case"checked":s=h;break;case"defaultChecked":m=h;break;case"value":i=h;break;case"defaultValue":c=h;break;case"children":case"dangerouslySetInnerHTML":if(h!=null)throw Error(S(137,t));break;default:h!==g&&Q(l,t,y,h,a,g)}}dc(l,i,c,f,s,m,u,n);return;case"select":h=i=c=y=null;for(u in e)if(f=e[u],e.hasOwnProperty(u)&&f!=null)switch(u){case"value":break;case"multiple":h=f;default:a.hasOwnProperty(u)||Q(l,t,u,null,a,f)}for(n in a)if(u=a[n],f=e[n],a.hasOwnProperty(n)&&(u!=null||f!=null))switch(n){case"value":y=u;break;case"defaultValue":c=u;break;case"multiple":i=u;default:u!==f&&Q(l,t,n,u,a,f)}t=c,e=i,a=h,y!=null?$e(l,!!e,y,!1):!!a!=!!e&&(t!=null?$e(l,!!e,t,!0):$e(l,!!e,e?[]:"",!1));return;case"textarea":h=y=null;for(c in e)if(n=e[c],e.hasOwnProperty(c)&&n!=null&&!a.hasOwnProperty(c))switch(c){case"value":break;case"children":break;default:Q(l,t,c,null,a,n)}for(i in a)if(n=a[i],u=e[i],a.hasOwnProperty(i)&&(n!=null||u!=null))switch(i){case"value":y=n;break;case"defaultValue":h=n;break;case"children":break;case"dangerouslySetInnerHTML":if(n!=null)throw Error(S(91));break;default:n!==u&&Q(l,t,i,n,a,u)}zd(l,y,h);return;case"option":for(var z in e)if(y=e[z],e.hasOwnProperty(z)&&y!=null&&!a.hasOwnProperty(z))switch(z){case"selected":l.selected=!1;break;default:Q(l,t,z,null,a,y)}for(f in a)if(y=a[f],h=e[f],a.hasOwnProperty(f)&&y!==h&&(y!=null||h!=null))switch(f){case"selected":l.selected=y&&typeof y!="function"&&typeof y!="symbol";break;default:Q(l,t,f,y,a,h)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var E in e)y=e[E],e.hasOwnProperty(E)&&y!=null&&!a.hasOwnProperty(E)&&Q(l,t,E,null,a,y);for(s in a)if(y=a[s],h=e[s],a.hasOwnProperty(s)&&y!==h&&(y!=null||h!=null))switch(s){case"children":case"dangerouslySetInnerHTML":if(y!=null)throw Error(S(137,t));break;default:Q(l,t,s,y,a,h)}return;default:if(ef(t)){for(var U in e)y=e[U],e.hasOwnProperty(U)&&y!==void 0&&!a.hasOwnProperty(U)&&jc(l,t,U,void 0,a,y);for(m in a)y=a[m],h=e[m],!a.hasOwnProperty(m)||y===h||y===void 0&&h===void 0||jc(l,t,m,y,a,h);return}}for(var r in e)y=e[r],e.hasOwnProperty(r)&&y!=null&&!a.hasOwnProperty(r)&&Q(l,t,r,null,a,y);for(g in a)y=a[g],h=e[g],!a.hasOwnProperty(g)||y===h||y==null&&h==null||Q(l,t,g,y,a,h)}function Ys(l){switch(l){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Om(){if(typeof performance.getEntriesByType=="function"){for(var l=0,t=0,e=performance.getEntriesByType("resource"),a=0;a<e.length;a++){var n=e[a],u=n.transferSize,i=n.initiatorType,c=n.duration;if(u&&c&&Ys(i)){for(i=0,c=n.responseEnd,a+=1;a<e.length;a++){var f=e[a],s=f.startTime;if(s>c)break;var m=f.transferSize,g=f.initiatorType;m&&Ys(g)&&(f=f.responseEnd,i+=m*(f<c?1:(c-s)/(f-s)))}if(--a,t+=8*(u+i)/(n.duration/1e3),l++,10<l)break}}if(0<l)return t/l/1e6}return navigator.connection&&(l=navigator.connection.downlink,typeof l=="number")?l:5}var Xc=null,Qc=null;function qu(l){return l.nodeType===9?l:l.ownerDocument}function Ls(l){switch(l){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function O1(l,t){if(l===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return l===1&&t==="foreignObject"?0:l}function Zc(l,t){return l==="textarea"||l==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Pi=null;function _m(){var l=window.event;return l&&l.type==="popstate"?l===Pi?!1:(Pi=l,!0):(Pi=null,!1)}var _1=typeof setTimeout=="function"?setTimeout:void 0,Dm=typeof clearTimeout=="function"?clearTimeout:void 0,Gs=typeof Promise=="function"?Promise:void 0,Um=typeof queueMicrotask=="function"?queueMicrotask:typeof Gs<"u"?function(l){return Gs.resolve(null).then(l).catch(Nm)}:_1;function Nm(l){setTimeout(function(){throw l})}function ne(l){return l==="head"}function js(l,t){var e=t,a=0;do{var n=e.nextSibling;if(l.removeChild(e),n&&n.nodeType===8)if(e=n.data,e==="/$"||e==="/&"){if(a===0){l.removeChild(n),ya(t);return}a--}else if(e==="$"||e==="$?"||e==="$~"||e==="$!"||e==="&")a++;else if(e==="html")Fa(l.ownerDocument.documentElement);else if(e==="head"){e=l.ownerDocument.head,Fa(e);for(var u=e.firstChild;u;){var i=u.nextSibling,c=u.nodeName;u[gn]||c==="SCRIPT"||c==="STYLE"||c==="LINK"&&u.rel.toLowerCase()==="stylesheet"||e.removeChild(u),u=i}}else e==="body"&&Fa(l.ownerDocument.body);e=n}while(e);ya(t)}function Xs(l,t){var e=l;l=0;do{var a=e.nextSibling;if(e.nodeType===1?t?(e._stashedDisplay=e.style.display,e.style.display="none"):(e.style.display=e._stashedDisplay||"",e.getAttribute("style")===""&&e.removeAttribute("style")):e.nodeType===3&&(t?(e._stashedText=e.nodeValue,e.nodeValue=""):e.nodeValue=e._stashedText||""),a&&a.nodeType===8)if(e=a.data,e==="/$"){if(l===0)break;l--}else e!=="$"&&e!=="$?"&&e!=="$~"&&e!=="$!"||l++;e=a}while(e)}function Vc(l){var t=l.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var e=t;switch(t=t.nextSibling,e.nodeName){case"HTML":case"HEAD":case"BODY":Vc(e),tf(e);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(e.rel.toLowerCase()==="stylesheet")continue}l.removeChild(e)}}function Cm(l,t,e,a){for(;l.nodeType===1;){var n=e;if(l.nodeName.toLowerCase()!==t.toLowerCase()){if(!a&&(l.nodeName!=="INPUT"||l.type!=="hidden"))break}else if(a){if(!l[gn])switch(t){case"meta":if(!l.hasAttribute("itemprop"))break;return l;case"link":if(u=l.getAttribute("rel"),u==="stylesheet"&&l.hasAttribute("data-precedence"))break;if(u!==n.rel||l.getAttribute("href")!==(n.href==null||n.href===""?null:n.href)||l.getAttribute("crossorigin")!==(n.crossOrigin==null?null:n.crossOrigin)||l.getAttribute("title")!==(n.title==null?null:n.title))break;return l;case"style":if(l.hasAttribute("data-precedence"))break;return l;case"script":if(u=l.getAttribute("src"),(u!==(n.src==null?null:n.src)||l.getAttribute("type")!==(n.type==null?null:n.type)||l.getAttribute("crossorigin")!==(n.crossOrigin==null?null:n.crossOrigin))&&u&&l.hasAttribute("async")&&!l.hasAttribute("itemprop"))break;return l;default:return l}}else if(t==="input"&&l.type==="hidden"){var u=n.name==null?null:""+n.name;if(n.type==="hidden"&&l.getAttribute("name")===u)return l}else return l;if(l=Wl(l.nextSibling),l===null)break}return null}function Rm(l,t,e){if(t==="")return null;for(;l.nodeType!==3;)if((l.nodeType!==1||l.nodeName!=="INPUT"||l.type!=="hidden")&&!e||(l=Wl(l.nextSibling),l===null))return null;return l}function D1(l,t){for(;l.nodeType!==8;)if((l.nodeType!==1||l.nodeName!=="INPUT"||l.type!=="hidden")&&!t||(l=Wl(l.nextSibling),l===null))return null;return l}function Kc(l){return l.data==="$?"||l.data==="$~"}function Jc(l){return l.data==="$!"||l.data==="$?"&&l.ownerDocument.readyState!=="loading"}function Hm(l,t){var e=l.ownerDocument;if(l.data==="$~")l._reactRetry=t;else if(l.data!=="$?"||e.readyState!=="loading")t();else{var a=function(){t(),e.removeEventListener("DOMContentLoaded",a)};e.addEventListener("DOMContentLoaded",a),l._reactRetry=a}}function Wl(l){for(;l!=null;l=l.nextSibling){var t=l.nodeType;if(t===1||t===3)break;if(t===8){if(t=l.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return l}var wc=null;function Qs(l){l=l.nextSibling;for(var t=0;l;){if(l.nodeType===8){var e=l.data;if(e==="/$"||e==="/&"){if(t===0)return Wl(l.nextSibling);t--}else e!=="$"&&e!=="$!"&&e!=="$?"&&e!=="$~"&&e!=="&"||t++}l=l.nextSibling}return null}function Zs(l){l=l.previousSibling;for(var t=0;l;){if(l.nodeType===8){var e=l.data;if(e==="$"||e==="$!"||e==="$?"||e==="$~"||e==="&"){if(t===0)return l;t--}else e!=="/$"&&e!=="/&"||t++}l=l.previousSibling}return null}function U1(l,t,e){switch(t=qu(e),l){case"html":if(l=t.documentElement,!l)throw Error(S(452));return l;case"head":if(l=t.head,!l)throw Error(S(453));return l;case"body":if(l=t.body,!l)throw Error(S(454));return l;default:throw Error(S(451))}}function Fa(l){for(var t=l.attributes;t.length;)l.removeAttributeNode(t[0]);tf(l)}var $l=new Map,Vs=new Set;function Yu(l){return typeof l.getRootNode=="function"?l.getRootNode():l.nodeType===9?l:l.ownerDocument}var Dt=G.d;G.d={f:Bm,r:qm,D:Ym,C:Lm,L:Gm,m:jm,X:Qm,S:Xm,M:Zm};function Bm(){var l=Dt.f(),t=li();return l||t}function qm(l){var t=ma(l);t!==null&&t.tag===5&&t.type==="form"?E0(t):Dt.r(l)}var pa=typeof document>"u"?null:document;function N1(l,t,e){var a=pa;if(a&&typeof t=="string"&&t){var n=Kl(t);n=\'link[rel="\'+l+\'"][href="\'+n+\'"]\',typeof e=="string"&&(n+=\'[crossorigin="\'+e+\'"]\'),Vs.has(n)||(Vs.add(n),l={rel:l,crossOrigin:e,href:t},a.querySelector(n)===null&&(t=a.createElement("link"),hl(t,"link",l),sl(t),a.head.appendChild(t)))}}function Ym(l){Dt.D(l),N1("dns-prefetch",l,null)}function Lm(l,t){Dt.C(l,t),N1("preconnect",l,t)}function Gm(l,t,e){Dt.L(l,t,e);var a=pa;if(a&&l&&t){var n=\'link[rel="preload"][as="\'+Kl(t)+\'"]\';t==="image"&&e&&e.imageSrcSet?(n+=\'[imagesrcset="\'+Kl(e.imageSrcSet)+\'"]\',typeof e.imageSizes=="string"&&(n+=\'[imagesizes="\'+Kl(e.imageSizes)+\'"]\')):n+=\'[href="\'+Kl(l)+\'"]\';var u=n;switch(t){case"style":u=da(l);break;case"script":u=Sa(l)}$l.has(u)||(l=W({rel:"preload",href:t==="image"&&e&&e.imageSrcSet?void 0:l,as:t},e),$l.set(u,l),a.querySelector(n)!==null||t==="style"&&a.querySelector(En(u))||t==="script"&&a.querySelector(xn(u))||(t=a.createElement("link"),hl(t,"link",l),sl(t),a.head.appendChild(t)))}}function jm(l,t){Dt.m(l,t);var e=pa;if(e&&l){var a=t&&typeof t.as=="string"?t.as:"script",n=\'link[rel="modulepreload"][as="\'+Kl(a)+\'"][href="\'+Kl(l)+\'"]\',u=n;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Sa(l)}if(!$l.has(u)&&(l=W({rel:"modulepreload",href:l},t),$l.set(u,l),e.querySelector(n)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(xn(u)))return}a=e.createElement("link"),hl(a,"link",l),sl(a),e.head.appendChild(a)}}}function Xm(l,t,e){Dt.S(l,t,e);var a=pa;if(a&&l){var n=We(a).hoistableStyles,u=da(l);t=t||"default";var i=n.get(u);if(!i){var c={loading:0,preload:null};if(i=a.querySelector(En(u)))c.loading=5;else{l=W({rel:"stylesheet",href:l,"data-precedence":t},e),(e=$l.get(u))&&Xf(l,e);var f=i=a.createElement("link");sl(f),hl(f,"link",l),f._p=new Promise(function(s,m){f.onload=s,f.onerror=m}),f.addEventListener("load",function(){c.loading|=1}),f.addEventListener("error",function(){c.loading|=2}),c.loading|=4,ou(i,t,a)}i={type:"stylesheet",instance:i,count:1,state:c},n.set(u,i)}}}function Qm(l,t){Dt.X(l,t);var e=pa;if(e&&l){var a=We(e).hoistableScripts,n=Sa(l),u=a.get(n);u||(u=e.querySelector(xn(n)),u||(l=W({src:l,async:!0},t),(t=$l.get(n))&&Qf(l,t),u=e.createElement("script"),sl(u),hl(u,"link",l),e.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},a.set(n,u))}}function Zm(l,t){Dt.M(l,t);var e=pa;if(e&&l){var a=We(e).hoistableScripts,n=Sa(l),u=a.get(n);u||(u=e.querySelector(xn(n)),u||(l=W({src:l,async:!0,type:"module"},t),(t=$l.get(n))&&Qf(l,t),u=e.createElement("script"),sl(u),hl(u,"link",l),e.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},a.set(n,u))}}function Ks(l,t,e,a){var n=(n=Vt.current)?Yu(n):null;if(!n)throw Error(S(446));switch(l){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(t=da(e.href),e=We(n).hoistableStyles,a=e.get(t),a||(a={type:"style",instance:null,count:0,state:null},e.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){l=da(e.href);var u=We(n).hoistableStyles,i=u.get(l);if(i||(n=n.ownerDocument||n,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(l,i),(u=n.querySelector(En(l)))&&!u._p&&(i.instance=u,i.state.loading=5),$l.has(l)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},$l.set(l,e),u||Vm(n,l,e,i.state))),t&&a===null)throw Error(S(528,""));return i}if(t&&a!==null)throw Error(S(529,""));return null;case"script":return t=e.async,e=e.src,typeof e=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Sa(e),e=We(n).hoistableScripts,a=e.get(t),a||(a={type:"script",instance:null,count:0,state:null},e.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(S(444,l))}}function da(l){return\'href="\'+Kl(l)+\'"\'}function En(l){return\'link[rel="stylesheet"][\'+l+"]"}function C1(l){return W({},l,{"data-precedence":l.precedence,precedence:null})}function Vm(l,t,e,a){l.querySelector(\'link[rel="preload"][as="style"][\'+t+"]")?a.loading=1:(t=l.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),hl(t,"link",e),sl(t),l.head.appendChild(t))}function Sa(l){return\'[src="\'+Kl(l)+\'"]\'}function xn(l){return"script[async]"+l}function Js(l,t,e){if(t.count++,t.instance===null)switch(t.type){case"style":var a=l.querySelector(\'style[data-href~="\'+Kl(e.href)+\'"]\');if(a)return t.instance=a,sl(a),a;var n=W({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return a=(l.ownerDocument||l).createElement("style"),sl(a),hl(a,"style",n),ou(a,e.precedence,l),t.instance=a;case"stylesheet":n=da(e.href);var u=l.querySelector(En(n));if(u)return t.state.loading|=4,t.instance=u,sl(u),u;a=C1(e),(n=$l.get(n))&&Xf(a,n),u=(l.ownerDocument||l).createElement("link"),sl(u);var i=u;return i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),hl(u,"link",a),t.state.loading|=4,ou(u,e.precedence,l),t.instance=u;case"script":return u=Sa(e.src),(n=l.querySelector(xn(u)))?(t.instance=n,sl(n),n):(a=e,(n=$l.get(u))&&(a=W({},e),Qf(a,n)),l=l.ownerDocument||l,n=l.createElement("script"),sl(n),hl(n,"link",a),l.head.appendChild(n),t.instance=n);case"void":return null;default:throw Error(S(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,ou(a,e.precedence,l));return t.instance}function ou(l,t,e){for(var a=e.querySelectorAll(\'link[rel="stylesheet"][data-precedence],style[data-precedence]\'),n=a.length?a[a.length-1]:null,u=n,i=0;i<a.length;i++){var c=a[i];if(c.dataset.precedence===t)u=c;else if(u!==n)break}u?u.parentNode.insertBefore(l,u.nextSibling):(t=e.nodeType===9?e.head:e,t.insertBefore(l,t.firstChild))}function Xf(l,t){l.crossOrigin==null&&(l.crossOrigin=t.crossOrigin),l.referrerPolicy==null&&(l.referrerPolicy=t.referrerPolicy),l.title==null&&(l.title=t.title)}function Qf(l,t){l.crossOrigin==null&&(l.crossOrigin=t.crossOrigin),l.referrerPolicy==null&&(l.referrerPolicy=t.referrerPolicy),l.integrity==null&&(l.integrity=t.integrity)}var su=null;function ws(l,t,e){if(su===null){var a=new Map,n=su=new Map;n.set(e,a)}else n=su,a=n.get(e),a||(a=new Map,n.set(e,a));if(a.has(l))return a;for(a.set(l,null),e=e.getElementsByTagName(l),n=0;n<e.length;n++){var u=e[n];if(!(u[gn]||u[rl]||l==="link"&&u.getAttribute("rel")==="stylesheet")&&u.namespaceURI!=="http://www.w3.org/2000/svg"){var i=u.getAttribute(t)||"";i=l+i;var c=a.get(i);c?c.push(u):a.set(i,[u])}}return a}function ks(l,t,e){l=l.ownerDocument||l,l.head.insertBefore(e,t==="title"?l.querySelector("head > title"):null)}function Km(l,t,e){if(e===1||t.itemProp!=null)return!1;switch(l){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return l=t.disabled,typeof t.precedence=="string"&&l==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function R1(l){return!(l.type==="stylesheet"&&(l.state.loading&3)===0)}function Jm(l,t,e,a){if(e.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(e.state.loading&4)===0){if(e.instance===null){var n=da(a.href),u=t.querySelector(En(n));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(l.count++,l=Lu.bind(l),t.then(l,l)),e.state.loading|=4,e.instance=u,sl(u);return}u=t.ownerDocument||t,a=C1(a),(n=$l.get(n))&&Xf(a,n),u=u.createElement("link"),sl(u);var i=u;i._p=new Promise(function(c,f){i.onload=c,i.onerror=f}),hl(u,"link",a),e.instance=u}l.stylesheets===null&&(l.stylesheets=new Map),l.stylesheets.set(e,t),(t=e.state.preload)&&(e.state.loading&3)===0&&(l.count++,e=Lu.bind(l),t.addEventListener("load",e),t.addEventListener("error",e))}}var lc=0;function wm(l,t){return l.stylesheets&&l.count===0&&du(l,l.stylesheets),0<l.count||0<l.imgCount?function(e){var a=setTimeout(function(){if(l.stylesheets&&du(l,l.stylesheets),l.unsuspend){var u=l.unsuspend;l.unsuspend=null,u()}},6e4+t);0<l.imgBytes&&lc===0&&(lc=62500*Om());var n=setTimeout(function(){if(l.waitingForImages=!1,l.count===0&&(l.stylesheets&&du(l,l.stylesheets),l.unsuspend)){var u=l.unsuspend;l.unsuspend=null,u()}},(l.imgBytes>lc?50:800)+t);return l.unsuspend=e,function(){l.unsuspend=null,clearTimeout(a),clearTimeout(n)}}:null}function Lu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)du(this,this.stylesheets);else if(this.unsuspend){var l=this.unsuspend;this.unsuspend=null,l()}}}var Gu=null;function du(l,t){l.stylesheets=null,l.unsuspend!==null&&(l.count++,Gu=new Map,t.forEach(km,l),Gu=null,Lu.call(l))}function km(l,t){if(!(t.state.loading&4)){var e=Gu.get(l);if(e)var a=e.get(null);else{e=new Map,Gu.set(l,e);for(var n=l.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u<n.length;u++){var i=n[u];(i.nodeName==="LINK"||i.getAttribute("media")!=="not all")&&(e.set(i.dataset.precedence,i),a=i)}a&&e.set(null,a)}n=t.instance,i=n.getAttribute("data-precedence"),u=e.get(i)||a,u===a&&e.set(null,n),e.set(i,n),this.count++,a=Lu.bind(this),n.addEventListener("load",a),n.addEventListener("error",a),u?u.parentNode.insertBefore(n,u.nextSibling):(l=l.nodeType===9?l.head:l,l.insertBefore(n,l.firstChild)),t.state.loading|=4}}var sn={$$typeof:pt,Provider:null,Consumer:null,_currentValue:se,_currentValue2:se,_threadCount:0};function Wm(l,t,e,a,n,u,i,c,f){this.tag=1,this.containerInfo=l,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Mi(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Mi(0),this.hiddenUpdates=Mi(null),this.identifierPrefix=a,this.onUncaughtError=n,this.onCaughtError=u,this.onRecoverableError=i,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=f,this.incompleteTransitions=new Map}function H1(l,t,e,a,n,u,i,c,f,s,m,g){return l=new Wm(l,t,e,i,f,s,m,g,c),t=1,u===!0&&(t|=24),u=Cl(3,null,null,t),l.current=u,u.stateNode=l,t=mf(),t.refCount++,l.pooledCache=t,t.refCount++,u.memoizedState={element:a,isDehydrated:e,cache:t},gf(u),l}function B1(l){return l?(l=Ke,l):Ke}function q1(l,t,e,a,n,u){n=B1(n),a.context===null?a.context=n:a.pendingContext=n,a=Jt(t),a.payload={element:e},u=u===void 0?null:u,u!==null&&(a.callback=u),e=wt(l,a,t),e!==null&&(Ml(e,l,t),Za(e,l,t))}function Ws(l,t){if(l=l.memoizedState,l!==null&&l.dehydrated!==null){var e=l.retryLane;l.retryLane=e!==0&&e<t?e:t}}function Zf(l,t){Ws(l,t),(l=l.alternate)&&Ws(l,t)}function Y1(l){if(l.tag===13||l.tag===31){var t=Ee(l,67108864);t!==null&&Ml(t,l,67108864),Zf(l,67108864)}}function $s(l){if(l.tag===13||l.tag===31){var t=Yl();t=Pc(t);var e=Ee(l,t);e!==null&&Ml(e,l,t),Zf(l,t)}}var ju=!0;function $m(l,t,e,a){var n=O.T;O.T=null;var u=G.p;try{G.p=2,Vf(l,t,e,a)}finally{G.p=u,O.T=n}}function Fm(l,t,e,a){var n=O.T;O.T=null;var u=G.p;try{G.p=8,Vf(l,t,e,a)}finally{G.p=u,O.T=n}}function Vf(l,t,e,a){if(ju){var n=kc(a);if(n===null)Ii(l,t,a,Xu,e),Fs(l,a);else if(Pm(n,l,t,e,a))a.stopPropagation();else if(Fs(l,a),t&4&&-1<Im.indexOf(l)){for(;n!==null;){var u=ma(n);if(u!==null)switch(u.tag){case 3:if(u=u.stateNode,u.current.memoizedState.isDehydrated){var i=ce(u.pendingLanes);if(i!==0){var c=u;for(c.pendingLanes|=2,c.entangledLanes|=2;i;){var f=1<<31-ql(i);c.entanglements[1]|=f,i&=~f}ct(u),(L&6)===0&&(Uu=Hl()+500,Tn(0,!1))}}break;case 31:case 13:c=Ee(u,2),c!==null&&Ml(c,u,2),li(),Zf(u,2)}if(u=kc(a),u===null&&Ii(l,t,a,Xu,e),u===n)break;n=u}n!==null&&a.stopPropagation()}else Ii(l,t,a,null,e)}}function kc(l){return l=af(l),Kf(l)}var Xu=null;function Kf(l){if(Xu=null,l=Ge(l),l!==null){var t=rn(l);if(t===null)l=null;else{var e=t.tag;if(e===13){if(l=ad(t),l!==null)return l;l=null}else if(e===31){if(l=nd(t),l!==null)return l;l=null}else if(e===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;l=null}else t!==l&&(l=null)}}return Xu=l,null}function L1(l){switch(l){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Gy()){case fd:return 2;case od:return 8;case hu:case jy:return 32;case sd:return 268435456;default:return 32}default:return 32}}var Wc=!1,$t=null,Ft=null,It=null,dn=new Map,yn=new Map,Lt=[],Im="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Fs(l,t){switch(l){case"focusin":case"focusout":$t=null;break;case"dragenter":case"dragleave":Ft=null;break;case"mouseover":case"mouseout":It=null;break;case"pointerover":case"pointerout":dn.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":yn.delete(t.pointerId)}}function Ca(l,t,e,a,n,u){return l===null||l.nativeEvent!==u?(l={blockedOn:t,domEventName:e,eventSystemFlags:a,nativeEvent:u,targetContainers:[n]},t!==null&&(t=ma(t),t!==null&&Y1(t)),l):(l.eventSystemFlags|=a,t=l.targetContainers,n!==null&&t.indexOf(n)===-1&&t.push(n),l)}function Pm(l,t,e,a,n){switch(t){case"focusin":return $t=Ca($t,l,t,e,a,n),!0;case"dragenter":return Ft=Ca(Ft,l,t,e,a,n),!0;case"mouseover":return It=Ca(It,l,t,e,a,n),!0;case"pointerover":var u=n.pointerId;return dn.set(u,Ca(dn.get(u)||null,l,t,e,a,n)),!0;case"gotpointercapture":return u=n.pointerId,yn.set(u,Ca(yn.get(u)||null,l,t,e,a,n)),!0}return!1}function G1(l){var t=Ge(l.target);if(t!==null){var e=rn(t);if(e!==null){if(t=e.tag,t===13){if(t=ad(e),t!==null){l.blockedOn=t,Ho(l.priority,function(){$s(e)});return}}else if(t===31){if(t=nd(e),t!==null){l.blockedOn=t,Ho(l.priority,function(){$s(e)});return}}else if(t===3&&e.stateNode.current.memoizedState.isDehydrated){l.blockedOn=e.tag===3?e.stateNode.containerInfo:null;return}}}l.blockedOn=null}function yu(l){if(l.blockedOn!==null)return!1;for(var t=l.targetContainers;0<t.length;){var e=kc(l.nativeEvent);if(e===null){e=l.nativeEvent;var a=new e.constructor(e.type,e);rc=a,e.target.dispatchEvent(a),rc=null}else return t=ma(e),t!==null&&Y1(t),l.blockedOn=e,!1;t.shift()}return!0}function Is(l,t,e){yu(l)&&e.delete(t)}function lv(){Wc=!1,$t!==null&&yu($t)&&($t=null),Ft!==null&&yu(Ft)&&(Ft=null),It!==null&&yu(It)&&(It=null),dn.forEach(Is),yn.forEach(Is)}function $n(l,t){l.blockedOn===t&&(l.blockedOn=null,Wc||(Wc=!0,fl.unstable_scheduleCallback(fl.unstable_NormalPriority,lv)))}var Fn=null;function Ps(l){Fn!==l&&(Fn=l,fl.unstable_scheduleCallback(fl.unstable_NormalPriority,function(){Fn===l&&(Fn=null);for(var t=0;t<l.length;t+=3){var e=l[t],a=l[t+1],n=l[t+2];if(typeof a!="function"){if(Kf(a||e)===null)continue;break}var u=ma(e);u!==null&&(l.splice(t,3),t-=3,Dc(u,{pending:!0,data:n,method:e.method,action:a},a,n))}}))}function ya(l){function t(f){return $n(f,l)}$t!==null&&$n($t,l),Ft!==null&&$n(Ft,l),It!==null&&$n(It,l),dn.forEach(t),yn.forEach(t);for(var e=0;e<Lt.length;e++){var a=Lt[e];a.blockedOn===l&&(a.blockedOn=null)}for(;0<Lt.length&&(e=Lt[0],e.blockedOn===null);)G1(e),e.blockedOn===null&&Lt.shift();if(e=(l.ownerDocument||l).$$reactFormReplay,e!=null)for(a=0;a<e.length;a+=3){var n=e[a],u=e[a+1],i=n[Ol]||null;if(typeof u=="function")i||Ps(e);else if(i){var c=null;if(u&&u.hasAttribute("formAction")){if(n=u,i=u[Ol]||null)c=i.formAction;else if(Kf(n)!==null)continue}else c=i.action;typeof c=="function"?e[a+1]=c:(e.splice(a,3),a-=3),Ps(e)}}}function j1(){function l(u){u.canIntercept&&u.info==="react-transition"&&u.intercept({handler:function(){return new Promise(function(i){return n=i})},focusReset:"manual",scroll:"manual"})}function t(){n!==null&&(n(),n=null),a||setTimeout(e,20)}function e(){if(!a&&!navigation.transition){var u=navigation.currentEntry;u&&u.url!=null&&navigation.navigate(u.url,{state:u.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var a=!1,n=null;return navigation.addEventListener("navigate",l),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(e,100),function(){a=!0,navigation.removeEventListener("navigate",l),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),n!==null&&(n(),n=null)}}}function Jf(l){this._internalRoot=l}ai.prototype.render=Jf.prototype.render=function(l){var t=this._internalRoot;if(t===null)throw Error(S(409));var e=t.current,a=Yl();q1(e,a,l,t,null,null)};ai.prototype.unmount=Jf.prototype.unmount=function(){var l=this._internalRoot;if(l!==null){this._internalRoot=null;var t=l.containerInfo;q1(l.current,2,null,l,null,null),li(),t[ra]=null}};function ai(l){this._internalRoot=l}ai.prototype.unstable_scheduleHydration=function(l){if(l){var t=vd();l={blockedOn:null,target:l,priority:t};for(var e=0;e<Lt.length&&t!==0&&t<Lt[e].priority;e++);Lt.splice(e,0,l),e===0&&G1(l)}};var ld=td.version;if(ld!=="19.2.4")throw Error(S(527,ld,"19.2.4"));G.findDOMNode=function(l){var t=l._reactInternals;if(t===void 0)throw typeof l.render=="function"?Error(S(188)):(l=Object.keys(l).join(","),Error(S(268,l)));return l=Cy(t),l=l!==null?ud(l):null,l=l===null?null:l.stateNode,l};var tv={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:O,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Ra=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Ra.isDisabled&&Ra.supportsFiber))try{mn=Ra.inject(tv),Bl=Ra}catch{}var Ra;ni.createRoot=function(l,t){if(!ed(l))throw Error(S(299));var e=!1,a="",n=N0,u=C0,i=R0;return t!=null&&(t.unstable_strictMode===!0&&(e=!0),t.identifierPrefix!==void 0&&(a=t.identifierPrefix),t.onUncaughtError!==void 0&&(n=t.onUncaughtError),t.onCaughtError!==void 0&&(u=t.onCaughtError),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=H1(l,1,!1,null,null,e,a,null,n,u,i,j1),l[ra]=t.current,jf(l),new Jf(t)};ni.hydrateRoot=function(l,t,e){if(!ed(l))throw Error(S(299));var a=!1,n="",u=N0,i=C0,c=R0,f=null;return e!=null&&(e.unstable_strictMode===!0&&(a=!0),e.identifierPrefix!==void 0&&(n=e.identifierPrefix),e.onUncaughtError!==void 0&&(u=e.onUncaughtError),e.onCaughtError!==void 0&&(i=e.onCaughtError),e.onRecoverableError!==void 0&&(c=e.onRecoverableError),e.formState!==void 0&&(f=e.formState)),t=H1(l,1,!0,t,e??null,a,n,f,u,i,c,j1),t.context=B1(null),e=t.current,a=Yl(),a=Pc(a),n=Jt(a),n.callback=null,wt(e,n,a),e=a,t.current.lanes=e,hn(t,e),ct(t),l[ra]=t.current,jf(l),new ai(t)};ni.version="19.2.4"});var V1=lt((Sv,Z1)=>{"use strict";function Q1(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Q1)}catch(l){console.error(l)}}Q1(),Z1.exports=X1()});var w1=lt(ui=>{"use strict";var ev=Symbol.for("react.transitional.element"),av=Symbol.for("react.fragment");function J1(l,t,e){var a=null;if(e!==void 0&&(a=""+e),t.key!==void 0&&(a=""+t.key),"key"in t){e={};for(var n in t)n!=="key"&&(e[n]=t[n])}else e=t;return t=e.ref,{$$typeof:ev,type:l,key:a,ref:t!==void 0?t:null,props:e}}ui.Fragment=av;ui.jsx=J1;ui.jsxs=J1});var An=lt((Tv,k1)=>{"use strict";k1.exports=w1()});var ey=Ut(De(),1),ay=Ut(V1(),1);var C=Ut(De(),1);var Ae=Ut(De(),1);function K1(){let[l,t]=(0,Ae.useState)([]),[e,a]=(0,Ae.useState)([]),[n,u]=(0,Ae.useState)(!1),[i,c]=(0,Ae.useState)([]);return(0,Ae.useEffect)(()=>{let f=new EventSource("/events");return f.onopen=()=>u(!0),f.onerror=()=>u(!1),f.addEventListener("snapshot",s=>{try{let m=JSON.parse(s.data);t(g=>{if(m.networkLogs.length===0)return g;let y=new Map(g.map(h=>[h.id,h]));for(let h of m.networkLogs)y.set(h.id,h);return Array.from(y.values())}),a(g=>{if(m.consoleLogs.length===0)return g;let y=new Set(g.map(E=>E.id)),h=m.consoleLogs.filter(E=>!y.has(E.id)),z=[...g,...h];return z.length>5e3?z.slice(-5e3):z}),c(m.sessions)}catch{}}),f.addEventListener("network",s=>{try{let m=JSON.parse(s.data);t(g=>{let y=g.findIndex(h=>h.id===m.id);if(y>-1){let h=[...g];return h[y]=m,h}return[...g,m]})}catch{}}),f.addEventListener("console",s=>{try{let m=JSON.parse(s.data);a(g=>{let y=[...g,m];return y.length>5e3?y.slice(-5e3):y})}catch{}}),f.addEventListener("session",s=>{try{c(JSON.parse(s.data))}catch{}}),()=>f.close()},[]),{networkLogs:l,consoleLogs:e,isConnected:n,connectedSessions:i}}var p=Ut(An(),1);function Wf(){let[l,t]=(0,C.useState)("console"),{networkLogs:e,consoleLogs:a,connectedSessions:n}=K1(),[u,i]=(0,C.useState)(null),[c,f]=(0,C.useState)(null),[s,m]=(0,C.useState)(null),[g,y]=(0,C.useState)(null),h=(0,C.useRef)(null),z=M=>{y(M),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{y(null),h.current=null},5e3)},[E,U]=(0,C.useState)(()=>{let M=localStorage.getItem("devtools-theme");return M||null}),[r,o]=(0,C.useState)(window.matchMedia("(prefers-color-scheme: dark)").matches);(0,C.useEffect)(()=>{let M=window.matchMedia("(prefers-color-scheme: dark)"),Dl=ft=>o(ft.matches);return M.addEventListener("change",Dl),()=>M.removeEventListener("change",Dl)},[]);let v=E===null?r:E==="dark",d=(0,C.useMemo)(()=>({bg:v?"#202124":"#ffffff",bgSecondary:v?"#292a2d":"#f3f3f3",bgHover:v?"#35363a":"#e8f0fe",border:v?"#3c4043":"#ccc",text:v?"#e8eaed":"#333",textSecondary:v?"#9aa0a6":"#666",accent:v?"#8ab4f8":"#1a73e8",consoleBg:v?"#1e1e1e":"#fff",rowBorder:v?"#303134":"#f0f0f0",errorBg:v?"#3c1e1e":"#fff0f0",errorText:v?"#f28b82":"#a80000",warnBg:v?"#302a10":"#fff3cd",warnText:v?"#fdd663":"#7a5d00"}),[v]),b=()=>{let M=v?"light":"dark";U(M),localStorage.setItem("devtools-theme",M)},A=M=>{let Dl=M.target.files?.[0];if(!Dl)return;let ft=new FileReader;ft.onload=zl=>{let ot=zl.target?.result;try{let I=new Map,On=[];ot.split(`\n`).filter(ba=>ba.trim()).forEach(ba=>{let za=JSON.parse(ba),Ta=za.payload||{},_n=za.type,If=za.timestamp;if(_n==="console")On.push({...Ta,type:_n,timestamp:If,id:Ta.id||Math.random().toString(36).substring(2,11)});else if(_n==="network"){let Me=Ta.id;if(!Me)return;if(!I.has(Me))I.set(Me,{...Ta,type:_n,timestamp:If,id:Me});else{let ii=I.get(Me);I.set(Me,{...ii,...Ta,type:ii.type,timestamp:ii.timestamp})}}});let Ff=`[Imported] ${Dl.name}`,ny=Array.from(I.values()).sort((ba,za)=>ba.timestamp-za.timestamp);f({network:ny,console:On}),m(Ff),i(Ff)}catch(I){console.error("Import error:",I),alert("Failed to parse session file. Ensure it is a valid JSONL file.")}},ft.readAsText(Dl),M.target.value=""},T=()=>{if(!u)return;let M=[];_.forEach(I=>{M.push({timestamp:I.timestamp,data:{type:"console",payload:{type:I.type,content:I.content},sessionId:I.sessionId,timestamp:I.timestamp}})}),R.forEach(I=>{M.push({timestamp:I.timestamp,data:{type:"network",payload:I,sessionId:I.sessionId,timestamp:I.timestamp}})}),M.sort((I,On)=>I.timestamp-On.timestamp);let Dl=M.map(I=>JSON.stringify(I.data)).join(`\n`),ft=new Blob([Dl],{type:"application/jsonl"}),zl=URL.createObjectURL(ft),ot=document.createElement("a");ot.href=zl,ot.download=`session-${u}.jsonl`,ot.click(),URL.revokeObjectURL(zl)},x=(0,C.useMemo)(()=>{let M=new Map,Dl=zl=>{if(!zl.sessionId)return;let ot=M.get(zl.sessionId)||0;zl.timestamp>ot&&M.set(zl.sessionId,zl.timestamp)};e.forEach(Dl),a.forEach(Dl);let ft=Array.from(M.entries()).sort((zl,ot)=>ot[1]-zl[1]).map(zl=>zl[0]);return s?[s,...ft]:ft},[e,a,s]);(0,C.useEffect)(()=>{x.length>0&&u===null&&i(x[0])},[x,u]);let _=(0,C.useMemo)(()=>u?u===s&&c?c.console:a.filter(M=>M.sessionId===u):[],[a,u,s,c]),R=(0,C.useMemo)(()=>u?u===s&&c?c.network:e.filter(M=>M.sessionId===u):[],[e,u,s,c]);return(0,p.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100vh",background:d.bg,color:d.text,transition:"background 0.2s, color 0.2s",fontFamily:\'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif\'},children:[(0,p.jsx)("style",{children:`\n        ::-webkit-scrollbar { width: 8px; height: 8px; }\n        ::-webkit-scrollbar-track { background: ${d.bgSecondary}; }\n        ::-webkit-scrollbar-thumb { background: ${d.border}; border-radius: 4px; }\n        ::-webkit-scrollbar-thumb:hover { background: ${d.textSecondary}; }\n        [data-gutter]::selection, [data-gutter] *::selection { background: transparent; }\n        [data-gutter] .fold-icon { opacity: 0; transition: opacity 0.15s; }\n        [data-code-view]:has([data-gutter]:hover) .fold-icon { opacity: 1; }\n      `}),(0,p.jsxs)("div",{style:{display:"flex",background:d.bgSecondary,borderBottom:`1px solid ${d.border}`,height:"36px",alignItems:"center",padding:"0 8px",gap:"12px"},children:[(0,p.jsxs)("div",{style:{display:"flex",height:"100%"},children:[(0,p.jsx)(W1,{active:l==="console",onClick:()=>t("console"),label:"Console",t:d}),(0,p.jsx)(W1,{active:l==="network",onClick:()=>t("network"),label:"Network",t:d})]}),(0,p.jsxs)("div",{style:{marginLeft:"auto",fontSize:"11px",display:"flex",alignItems:"center",gap:"12px"},children:[u&&n.includes(u)&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("button",{onClick:async()=>{try{await fetch("/api/trigger-debugger",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:u})}),z("Node debugger attached. Open chrome://inspect in Chrome to start debugging.")}catch(M){console.error("Failed to trigger debugger:",M)}},style:{fontSize:"11px",padding:"4px 8px",border:`1px solid ${d.border}`,background:d.bg,color:d.text,borderRadius:"4px",cursor:"pointer",fontWeight:600},title:"Attach Node Debugger and open chrome://inspect",children:"\\u{1F41E} Debug Node"}),(0,p.jsx)("button",{onClick:T,style:{fontSize:"11px",padding:"4px 8px",border:`1px solid ${d.border}`,background:d.bg,color:d.text,borderRadius:"4px",cursor:"pointer",fontWeight:600},children:"\\u{1F4E4} Export"})]}),(0,p.jsxs)("label",{style:{padding:"2px 8px",borderRadius:"4px",border:`1px solid ${d.border}`,background:d.bg,cursor:"pointer",display:"flex",alignItems:"center",gap:"6px",fontWeight:600,fontSize:"11px"},children:[(0,p.jsx)("span",{children:"\\u{1F4E5} Import"}),(0,p.jsx)("input",{type:"file",accept:".jsonl",onChange:A,style:{display:"none"}})]}),(0,p.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[(0,p.jsx)("span",{style:{fontSize:"11px",color:d.textSecondary},children:"Session:"}),x.length>0?(0,p.jsx)("select",{value:u||"",onChange:M=>i(M.target.value),style:{fontSize:"11px",padding:"2px 8px",background:d.bg,color:d.text,border:`1px solid ${d.border}`,borderRadius:"3px",minWidth:"280px",outline:"none"},children:x.map(M=>(0,p.jsxs)("option",{value:M,children:[M," ",M===x[0]&&!M.startsWith("[Imported]")?"(Latest)":""]},M))}):(0,p.jsx)("span",{style:{fontSize:"11px",color:d.textSecondary,fontStyle:"italic"},children:"No Sessions"}),u&&!u.startsWith("[Imported]")&&(0,p.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:"4px",fontSize:"11px",marginLeft:"8px"},children:[(0,p.jsx)("span",{style:{width:"6px",height:"6px",borderRadius:"50%",background:n.includes(u)?"#34a853":"#ea4335"}}),(0,p.jsx)("span",{style:{color:d.textSecondary},children:n.includes(u)?"Connected":"Disconnected"})]})]}),(0,p.jsx)("button",{onClick:b,style:{fontSize:"14px",padding:"2px 8px",border:`1px solid ${d.border}`,background:d.bg,color:d.text,borderRadius:"4px",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",height:"24px",width:"32px"},title:v?"Switch to light mode":"Switch to dark mode",children:v?"\\u{1F319}":"\\u2600\\uFE0F"})]})]}),(0,p.jsx)("div",{style:{flex:1,overflow:"hidden",display:"flex",flexDirection:"column"},children:u?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("div",{style:{display:l==="console"?"flex":"none",height:"100%"},children:(0,p.jsx)(uv,{logs:_,t:d})}),(0,p.jsx)("div",{style:{display:l==="network"?"flex":"none",height:"100%"},children:(0,p.jsx)(iv,{logs:R,t:d,isDark:v})})]}):(0,p.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",color:d.textSecondary,fontSize:"14px"},children:"Please start Gemini CLI to begin debugging"})}),g&&(0,p.jsx)("div",{style:{position:"fixed",bottom:"24px",right:"24px",background:d.accent,color:"#fff",padding:"12px 24px",borderRadius:"8px",boxShadow:"0 4px 12px rgba(0,0,0,0.15)",fontSize:"13px",fontWeight:500,zIndex:1e3,animation:"fadeInOut 5s ease forwards"},children:g}),(0,p.jsx)("style",{children:`\n        @keyframes fadeInOut {\n          0% { opacity: 0; transform: translateY(10px); }\n          5% { opacity: 1; transform: translateY(0); }\n          95% { opacity: 1; transform: translateY(0); }\n          100% { opacity: 0; transform: translateY(10px); }\n        }\n      `})]})}function W1({active:l,onClick:t,label:e,t:a}){return(0,p.jsx)("div",{onClick:t,style:{padding:"4px 16px",cursor:"pointer",color:l?a.accent:a.textSecondary,fontWeight:600,fontSize:"12px",userSelect:"none",borderBottom:l?`2px solid ${a.accent}`:"2px solid transparent",height:"100%",boxSizing:"border-box",display:"flex",alignItems:"center",transition:"all 0.2s"},children:e})}function nv({log:l,t}){let[e,a]=(0,C.useState)(!1),n=l.content||"",u=n.split(`\n`),i=500,c=5,f=n.length>i,s=u.length>c,m=f||s,g=l.type==="error",y=l.type==="warn",h=g?t.errorBg:y?t.warnBg:"transparent",z=g?t.errorText:y?t.warnText:t.text,E=g?"\\u274C":y?"\\u26A0\\uFE0F":" ",U=n;return m&&!e&&(s?U=u.slice(0,c).join(`\n`)+`\n...`:U=n.substring(0,i)+"..."),(0,p.jsxs)("div",{style:{display:"flex",borderBottom:`1px solid ${t.rowBorder}`,padding:"4px 12px",backgroundColor:h,alignItems:"flex-start",gap:"8px"},children:[(0,p.jsx)("div",{style:{width:"16px",textAlign:"center",flexShrink:0,fontSize:"10px",marginTop:"2px"},children:E}),(0,p.jsx)("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:(0,p.jsx)("div",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",color:z,lineHeight:"1.5",fontSize:"11px"},children:U})}),(0,p.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0},children:[m&&(0,p.jsx)("div",{onClick:()=>a(!e),style:{fontSize:"12px",color:t.text,cursor:"pointer",fontWeight:"bold",userSelect:"none",width:"20px",height:"20px",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"4px",border:`1px solid ${t.border}`,background:t.bgSecondary,transition:"all 0.1s"},onMouseOver:r=>{r.currentTarget.style.background=t.bgHover},onMouseOut:r=>{r.currentTarget.style.background=t.bgSecondary},title:e?"Collapse":"Expand",children:e?"\\u2212":"+"}),(0,p.jsx)("div",{style:{color:t.textSecondary,fontSize:"10px",userSelect:"none",textAlign:"right",minWidth:"70px"},children:new Date(l.timestamp).toLocaleTimeString([],{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})})]})]})}function uv({logs:l,t}){let e=(0,C.useRef)(null);return(0,C.useEffect)(()=>{e.current?.scrollIntoView({behavior:"smooth"})},[l.length]),l.length===0?(0,p.jsx)("div",{style:{padding:"20px",color:t.textSecondary,fontSize:"11px",textAlign:"center",flex:1},children:"No console logs in this session"}):(0,p.jsxs)("div",{style:{flex:1,overflowY:"auto",fontFamily:\'SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace\',background:t.consoleBg,fontSize:"12px"},children:[l.map(a=>(0,p.jsx)(nv,{log:a,t},a.id)),(0,p.jsx)("div",{ref:e})]})}function iv({logs:l,t,isDark:e}){let[a,n]=(0,C.useState)(null),[u,i]=(0,C.useState)(""),[c,f]=(0,C.useState)(!0),[s,m]=(0,C.useState)({}),[g,y]=(0,C.useState)(400),h=(0,C.useRef)(!1);(0,C.useEffect)(()=>{let d=A=>{if(!h.current)return;let T=Math.max(200,Math.min(A.clientX,window.innerWidth-200));y(T)},b=()=>{h.current=!1,document.body.style.cursor="default",document.body.style.userSelect="auto"};return document.addEventListener("mousemove",d),document.addEventListener("mouseup",b),()=>{document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",b)}},[]);let z=()=>{h.current=!0,document.body.style.cursor="col-resize",document.body.style.userSelect="none"},E=(0,C.useMemo)(()=>{let d=l;if(u){let b=u.toLowerCase();d=l.filter(A=>A.url.toLowerCase().includes(b))}return d},[l,u]),U=(0,C.useMemo)(()=>{if(!c)return null;let d={};return E.forEach(b=>{let A="Other";try{let T=new URL(b.url),x=T.pathname.lastIndexOf("/"),_=x!==-1?T.pathname.substring(0,x+1):"/";A=T.hostname+_}catch{}d[A]||(d[A]=[]),d[A].push(b)}),d},[E,c]);(0,C.useEffect)(()=>{U&&m(d=>{let b={...d};return Object.keys(U).forEach(A=>{b[A]===void 0&&(b[A]=!A.includes("play.googleapis.com"))}),b})},[U]);let r=d=>{m(b=>({...b,[d]:!b[d]}))},o=l.find(d=>d.id===a),v=(d,b)=>{let A=d.pending,T=d.response?d.response.status:d.error?"ERR":"...",x=d.error||d.response&&d.response.status>=400,_=b||d.url;if(!b)try{let M=new URL(d.url);_=M.pathname+M.search}catch{}let R=d.id===a;return(0,p.jsx)("div",{onClick:()=>n(d.id),style:{padding:"8px 12px",cursor:"pointer",borderBottom:`1px solid ${t.rowBorder}`,display:"flex",flexDirection:"column",fontSize:"12px",backgroundColor:R?t.bgHover:"transparent",color:x?"#f28b82":t.text,paddingLeft:b?"24px":"12px"},children:(0,p.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,p.jsx)("span",{style:{fontWeight:"bold",width:"45px",flexShrink:0,fontSize:"10px",color:e?"#81c995":"#188038"},children:d.method}),(0,p.jsx)("span",{style:{flex:1,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",margin:"0 8px",fontWeight:500},title:d.url,children:_}),(0,p.jsx)("span",{style:{width:"40px",textAlign:"right",flexShrink:0,fontSize:"11px",color:A?t.accent:x?"#f28b82":"#81c995"},children:A?"\\u23F3":T})]})},d.id)};return l.length===0?(0,p.jsx)("div",{style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",color:t.textSecondary,fontSize:"12px"},children:"No network activity in this session"}):(0,p.jsxs)("div",{style:{display:"flex",width:"100%",height:"100%"},children:[(0,p.jsxs)("div",{style:{width:`${g}px`,display:"flex",flexDirection:"column",borderRight:`1px solid ${t.border}`,background:t.bg},children:[(0,p.jsxs)("div",{style:{padding:"6px",background:t.bgSecondary,borderBottom:`1px solid ${t.border}`,display:"flex",gap:"6px"},children:[(0,p.jsx)("input",{type:"text",placeholder:"Filter...",value:u,onChange:d=>i(d.target.value),style:{flex:1,boxSizing:"border-box",padding:"4px 10px",background:t.bg,color:t.text,border:`1px solid ${t.border}`,borderRadius:"4px",fontSize:"12px"}}),(0,p.jsx)("button",{onClick:()=>f(!c),style:{background:c?t.accent:t.bg,color:c?"#fff":t.text,border:`1px solid ${t.border}`,borderRadius:"4px",cursor:"pointer",fontSize:"12px",padding:"0 8px"},title:"Group by Domain",children:"\\u{1F4C2}"})]}),(0,p.jsx)("div",{style:{flex:1,overflowY:"auto"},children:c&&U?Object.keys(U).map(d=>(0,p.jsxs)("div",{children:[(0,p.jsxs)("div",{onClick:()=>r(d),style:{padding:"6px 12px",background:t.bgSecondary,fontWeight:"bold",fontSize:"11px",borderBottom:`1px solid ${t.rowBorder}`,wordBreak:"break-all",cursor:"pointer",display:"flex",alignItems:"center",userSelect:"none"},children:[(0,p.jsx)("span",{style:{marginRight:"8px",fontSize:"9px",color:t.textSecondary},children:s[d]?"\\u25BC":"\\u25B6"}),d,(0,p.jsx)("span",{style:{marginLeft:"auto",fontWeight:"normal",color:t.textSecondary,fontSize:"10px",background:t.bg,padding:"0 6px",borderRadius:"10px"},children:U[d].length})]}),s[d]&&U[d].map(b=>{let A=b.url;try{let T=new URL(b.url),x=T.pathname.lastIndexOf("/");A=(T.pathname.substring(x+1)||"/")+T.search}catch{}return v(b,A)})]},d)):E.map(d=>v(d))})]}),(0,p.jsx)("div",{onMouseDown:z,style:{width:"2px",cursor:"col-resize",background:t.border,flexShrink:0,zIndex:10}}),(0,p.jsx)("div",{style:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden",background:t.bg},children:o?(0,p.jsx)(cv,{log:o,t}):(0,p.jsx)("div",{style:{padding:"40px",textAlign:"center",color:t.textSecondary,fontSize:"14px"},children:"Select a request to view details"})})]})}function cv({log:l,t}){let[e,a]=(0,C.useState)("headers"),n=l.response?l.pending?"\\u23F3":l.response.status:l.error?"Error":"\\u23F3";return(0,p.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",overflow:"hidden"},children:[(0,p.jsxs)("div",{style:{padding:"12px 16px",borderBottom:`1px solid ${t.border}`,background:t.bgSecondary},children:[(0,p.jsx)("div",{style:{fontWeight:"bold",fontSize:"13px",marginBottom:"6px",wordBreak:"break-all",color:t.text},children:l.url}),(0,p.jsxs)("div",{style:{fontSize:"11px",color:t.textSecondary,display:"flex",gap:"8px"},children:[(0,p.jsx)("span",{style:{background:t.bg,padding:"1px 6px",borderRadius:"3px",fontWeight:"bold"},children:l.method}),(0,p.jsx)("span",{children:"\\u2022"}),(0,p.jsx)("span",{style:{color:l.error?"#f28b82":"#81c995"},children:n}),(0,p.jsx)("span",{children:"\\u2022"}),(0,p.jsx)("span",{children:new Date(l.timestamp).toLocaleTimeString()}),l.response&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("span",{children:"\\u2022"}),(0,p.jsxs)("span",{style:{color:t.accent},children:[l.response.durationMs,"ms"]})]})]})]}),(0,p.jsx)("div",{style:{display:"flex",borderBottom:`1px solid ${t.border}`,background:t.bgSecondary,paddingLeft:"8px"},children:["headers","payload","response"].map(u=>(0,p.jsx)("div",{onClick:()=>a(u),style:{padding:"8px 16px",cursor:"pointer",fontWeight:600,fontSize:"12px",textTransform:"capitalize",borderBottom:e===u?`2px solid ${t.accent}`:"2px solid transparent",color:e===u?t.accent:t.textSecondary,transition:"all 0.2s"},children:u},u))}),(0,p.jsxs)("div",{style:{flex:1,overflowY:"auto",background:t.bg},children:[e==="headers"&&(0,p.jsxs)("div",{style:{padding:"16px"},children:[(0,p.jsxs)(wf,{title:"General",t,children:[(0,p.jsx)(Mn,{k:"Request URL",v:l.url,t}),(0,p.jsx)(Mn,{k:"Request Method",v:l.method,t}),(0,p.jsx)(Mn,{k:"Status Code",v:String(l.response?l.response.status:"Pending"),t,color:l.error?"#f28b82":"#81c995"}),l.error&&(0,p.jsx)(Mn,{k:"Error",v:l.error,t,color:"#f28b82"})]}),(0,p.jsx)(wf,{title:"Response Headers",t,children:l.response?(0,p.jsx)($1,{headers:l.response.headers,t}):(0,p.jsx)("span",{style:{fontStyle:"italic",color:t.textSecondary},children:"(no response yet)"})}),(0,p.jsx)(wf,{title:"Request Headers",t,children:(0,p.jsx)($1,{headers:l.headers,t})})]}),e==="payload"&&(0,p.jsx)(F1,{content:l.body,t}),e==="response"&&(0,p.jsx)(F1,{content:l.response?.body,chunks:l.chunks,t})]})]})}function wf({title:l,children:t,t:e}){let[a,n]=(0,C.useState)(!1);return(0,p.jsxs)("div",{style:{marginBottom:"16px",border:`1px solid ${e.border}`,borderRadius:"6px",overflow:"hidden"},children:[(0,p.jsxs)("div",{onClick:()=>n(!a),style:{padding:"8px 12px",background:e.bgSecondary,fontWeight:"bold",fontSize:"11px",cursor:"pointer",userSelect:"none",display:"flex",alignItems:"center",gap:"8px"},children:[(0,p.jsx)("span",{style:{fontSize:"9px",color:e.textSecondary},children:a?"\\u25B6":"\\u25BC"}),l]}),!a&&(0,p.jsx)("div",{style:{padding:"12px",background:e.bg},children:t})]})}function Mn({k:l,v:t,color:e,t:a}){return(0,p.jsxs)("div",{style:{display:"flex",fontSize:"12px",fontFamily:"monospace",marginBottom:"4px",lineHeight:"1.4"},children:[(0,p.jsxs)("div",{style:{fontWeight:"bold",color:a.textSecondary,width:"160px",flexShrink:0},children:[l,":"]}),(0,p.jsx)("div",{style:{flex:1,wordBreak:"break-all",color:e||a.text},children:t})]})}function $1({headers:l,t}){return l?(0,p.jsx)(p.Fragment,{children:Object.entries(l).map(([e,a])=>(0,p.jsx)(Mn,{k:e,v:String(a),t},e))}):(0,p.jsx)("div",{style:{color:t.textSecondary},children:"(none)"})}function F1({content:l,chunks:t,t:e}){let[a,n]=(0,C.useState)("json"),u=t&&t.length>0,i=u?t.map(g=>g.data).join(""):l||"",c=()=>{try{return JSON.stringify(JSON.parse(i),null,2)}catch{return i}},f=()=>{navigator.clipboard.writeText(c()).catch(()=>{})},s=()=>{let g=new Blob([c()],{type:"application/json"}),y=URL.createObjectURL(g),h=document.createElement("a");h.href=y,h.download="body.json",h.click(),URL.revokeObjectURL(y)};if(!i&&!u)return(0,p.jsx)("div",{style:{padding:"40px",color:e.textSecondary,textAlign:"center"},children:"(No content)"});let m={background:"none",border:"none",cursor:"pointer",color:e.textSecondary,padding:"2px",borderRadius:"4px",display:"flex",alignItems:"center"};return(0,p.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%"},children:[(0,p.jsxs)("div",{style:{padding:"6px 12px",background:e.bgSecondary,borderBottom:`1px solid ${e.border}`,display:"flex",gap:"8px",alignItems:"center"},children:[["json","raw"].map(g=>(0,p.jsx)("button",{onClick:()=>n(g),style:{fontSize:"11px",padding:"2px 8px",borderRadius:"4px",border:`1px solid ${e.border}`,background:a===g?e.accent:e.bg,color:a===g?"#fff":e.text,cursor:"pointer",textTransform:"uppercase",fontWeight:"bold"},children:g},g)),(0,p.jsx)("div",{style:{flex:1}}),(0,p.jsx)("button",{onClick:f,style:m,title:"Copy JSON",children:(0,p.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:[(0,p.jsx)("path",{d:"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25z"}),(0,p.jsx)("path",{d:"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25z"})]})}),(0,p.jsx)("button",{onClick:s,style:m,title:"Download JSON",children:(0,p.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"currentColor",children:[(0,p.jsx)("path",{d:"M2.75 14A1.75 1.75 0 011 12.25v-2.5a.75.75 0 011.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 00.25-.25v-2.5a.75.75 0 011.5 0v2.5A1.75 1.75 0 0113.25 14z"}),(0,p.jsx)("path",{d:"M7.25 7.689V2a.75.75 0 011.5 0v5.689l1.97-1.969a.749.749 0 111.06 1.06l-3.25 3.25a.749.749 0 01-1.06 0L4.22 6.78a.749.749 0 111.06-1.06z"})]})})]}),(0,p.jsx)("div",{style:{flex:1,overflow:"auto",padding:a==="raw"?"16px":0},children:u&&a==="raw"?(0,p.jsx)("div",{children:t.map((g,y)=>(0,p.jsxs)("div",{style:{marginBottom:"12px"},children:[(0,p.jsxs)("div",{style:{fontSize:"10px",color:e.textSecondary,marginBottom:"4px"},children:["[",new Date(g.timestamp).toLocaleTimeString("en-US",{hour12:!1}),".",String(g.timestamp%1e3).padStart(3,"0"),"]"]}),(0,p.jsx)("pre",{style:{margin:0,fontSize:"12px",fontFamily:"SFMono-Regular, Consolas, monospace",whiteSpace:"pre-wrap",wordBreak:"break-all",color:e.text,lineHeight:"1.5"},children:g.data})]},y))}):a==="raw"?(0,p.jsx)("pre",{style:{margin:0,fontSize:"12px",fontFamily:"SFMono-Regular, Consolas, monospace",whiteSpace:"pre-wrap",wordBreak:"break-all",color:e.text,lineHeight:"1.5"},children:i}):(0,p.jsx)(fv,{content:i,t:e})})]})}function fv({content:l,t}){let e=l||"";if(e.includes("data:")){let a=e.split(/\\n\\s*\\n/).map((n,u)=>({index:u+1,jsonStr:n.split(`\n`).filter(i=>i.trim().startsWith("data:")).map(i=>i.trim().substring(5).trim()).join("")})).filter(n=>n.jsonStr);if(a.length>0)return(0,p.jsx)("div",{children:a.map(n=>(0,p.jsxs)("div",{style:{marginBottom:"12px",borderLeft:`2px solid ${t.accent}`,paddingLeft:"12px",background:t.bgSecondary,borderRadius:"0 4px 4px 0",padding:"8px 12px"},children:[(0,p.jsxs)("div",{style:{fontWeight:"bold",color:t.textSecondary,fontSize:"10px",marginBottom:"4px"},children:["CHUNK ",n.index]}),(0,p.jsx)(ty,{data:I1(n.jsonStr),t})]},n.index))})}return(0,p.jsx)(ty,{data:I1(e),t})}function I1(l){try{return JSON.parse(l)}catch{return l}}function ov(l){let t=typeof l=="string"&&!l.startsWith("{")&&!l.startsWith("[")?l:JSON.stringify(l,null,2);if(t==null)return[{text:"undefined",foldStart:!1,foldEnd:-1,closingBracket:""}];let e=t.split(`\n`),a=e.map(u=>({text:u,foldStart:!1,foldEnd:-1,closingBracket:""})),n=[];for(let u=0;u<e.length;u++){let i=e[u].trimEnd(),c=i[i.length-1];(c==="{"||c==="[")&&n.push({index:u,bracket:c==="{"?"}":"]"});let f=i.replace(/,\\s*$/,""),s=f[f.length-1];if((s==="}"||s==="]")&&n.length>0&&n[n.length-1].bracket===s){let m=n.pop();a[m.index].foldStart=!0,a[m.index].foldEnd=u,a[m.index].closingBracket=m.bracket}}return a}var P1=/("(?:[^"\\\\]|\\\\.)*")\\s*(?=:)|("(?:[^"\\\\]|\\\\.)*")|(-?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(\\btrue\\b|\\bfalse\\b)|(\\bnull\\b)|([{}[\\]:,])/g;function ly(l,t){let e=[],a=0,n;for(P1.lastIndex=0;(n=P1.exec(l))!==null;){n.index>a&&e.push(l.slice(a,n.index));let[u,i,c,f,s,m]=n;if(i)e.push((0,p.jsx)("span",{style:{color:t.accent,fontWeight:"bold"},children:u},a));else if(c){let g;try{g=JSON.parse(u)}catch{g=u.slice(1,-1)}let y=g.split(`\n`);if(y.length<=1)e.push((0,p.jsx)("span",{style:{color:"#81c995"},children:u},a));else{let h=" ".repeat(n.index+1);e.push((0,p.jsx)(sv,{lines:y,indent:h,t},a))}}else f?e.push((0,p.jsx)("span",{style:{color:"#ad7fa8"},children:u},a)):s?e.push((0,p.jsx)("span",{style:{color:"#fdd663",fontWeight:"bold"},children:u},a)):m?e.push((0,p.jsx)("span",{style:{color:"#babdb6",fontWeight:"bold"},children:u},a)):e.push((0,p.jsx)("span",{children:u},a));a=n.index+u.length}return a<l.length&&e.push(l.slice(a)),e}var kf=20;function sv({lines:l,indent:t,t:e}){let[a,n]=(0,C.useState)(!1),u=l.length>kf,i=u&&!a?l.slice(0,kf):l;return(0,p.jsxs)("span",{style:{color:"#81c995"},children:[\'"\',i[0],i.slice(1).map((c,f)=>(0,p.jsxs)(C.default.Fragment,{children:[`\n`,t,c]},f)),u&&(0,p.jsxs)(p.Fragment,{children:[`\n`,t,(0,p.jsx)("span",{onClick:()=>n(!a),style:{color:e.accent,cursor:"pointer",fontStyle:"italic",userSelect:"none"},children:a?"\\u25B2 collapse":`... ${l.length-kf} more lines`})]}),\'"\']})}function ty({data:l,t}){let e=(0,C.useMemo)(()=>ov(l),[l]),[a,n]=(0,C.useState)(()=>new Set),u=(0,C.useRef)(null),i=m=>{n(g=>{let y=new Set(g);return y.has(m)?y.delete(m):y.add(m),y})},c=m=>{if((m.metaKey||m.ctrlKey)&&m.key==="a"){m.preventDefault();let g=window.getSelection();if(g&&u.current){g.removeAllRanges();let y=document.createRange();y.selectNodeContents(u.current),g.addRange(y)}}},f=[],s=0;for(;s<e.length;){let m=e[s],g=a.has(s);if(m.foldStart&&g){let y=m.text.match(/^(\\s*)/)?.[1]||"",h=m.text.trimStart();f.push({index:s,content:(0,p.jsxs)(p.Fragment,{children:[y.length>0&&(0,p.jsx)("span",{children:y}),ly(h,t),(0,p.jsxs)("span",{style:{color:t.textSecondary,fontStyle:"italic"},children:[" ","... ",m.closingBracket]})]}),foldable:!0,isCollapsed:!0}),s=m.foldEnd+1}else f.push({index:s,content:ly(m.text,t),foldable:m.foldStart,isCollapsed:!1}),s++}return(0,p.jsx)("div",{tabIndex:0,onKeyDown:c,ref:u,"data-code-view":!0,style:{display:"grid",gridTemplateColumns:"20px 1fr",fontFamily:\'SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace\',fontSize:"12px",lineHeight:"1.5",outline:"none"},children:f.map(m=>(0,p.jsxs)(C.default.Fragment,{children:[(0,p.jsx)("div",{"data-gutter":!0,style:{userSelect:"none",textAlign:"center",color:t.textSecondary,borderRight:`1px solid ${t.border}`,paddingRight:"2px",cursor:m.foldable?"pointer":"default",fontSize:"9px",paddingTop:"3px"},onClick:m.foldable?()=>i(m.index):void 0,children:m.foldable?(0,p.jsx)("span",{className:"fold-icon",children:m.isCollapsed?"\\u25B6":"\\u25BC"}):""}),(0,p.jsx)("div",{style:{whiteSpace:"pre",color:t.text,paddingLeft:"8px",minHeight:"18px"},children:m.content})]},m.index))})}var $f=Ut(An(),1);ay.default.createRoot(document.getElementById("root")).render((0,$f.jsx)(ey.default.StrictMode,{children:(0,$f.jsx)(Wf,{})}));\n/**\n * @license\n * Copyright 2025 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n/*! Bundled license information:\n\nreact/cjs/react.production.js:\n  (**\n   * @license React\n   * react.production.js\n   *\n   * Copyright (c) Meta Platforms, Inc. and affiliates.\n   *\n   * This source code is licensed under the MIT license found in the\n   * LICENSE file in the root directory of this source tree.\n   *)\n\nscheduler/cjs/scheduler.production.js:\n  (**\n   * @license React\n   * scheduler.production.js\n   *\n   * Copyright (c) Meta Platforms, Inc. and affiliates.\n   *\n   * This source code is licensed under the MIT license found in the\n   * LICENSE file in the root directory of this source tree.\n   *)\n\nreact-dom/cjs/react-dom.production.js:\n  (**\n   * @license React\n   * react-dom.production.js\n   *\n   * Copyright (c) Meta Platforms, Inc. and affiliates.\n   *\n   * This source code is licensed under the MIT license found in the\n   * LICENSE file in the root directory of this source tree.\n   *)\n\nreact-dom/cjs/react-dom-client.production.js:\n  (**\n   * @license React\n   * react-dom-client.production.js\n   *\n   * Copyright (c) Meta Platforms, Inc. and affiliates.\n   *\n   * This source code is licensed under the MIT license found in the\n   * LICENSE file in the root directory of this source tree.\n   *)\n\nreact/cjs/react-jsx-runtime.production.js:\n  (**\n   * @license React\n   * react-jsx-runtime.production.js\n   *\n   * Copyright (c) Meta Platforms, Inc. and affiliates.\n   *\n   * This source code is licensed under the MIT license found in the\n   * LICENSE file in the root directory of this source tree.\n   *)\n*/\n';

// packages/devtools/src/index.ts
var DevTools = class _DevTools extends EventEmitter {
  static instance;
  logs = [];
  consoleLogs = [];
  server = null;
  wss = null;
  sessions = /* @__PURE__ */ new Map();
  heartbeatTimer = null;
  port = 25417;
  static DEFAULT_PORT = 25417;
  static MAX_PORT_RETRIES = 10;
  constructor() {
    super();
    this.setMaxListeners(50);
  }
  static getInstance() {
    if (!_DevTools.instance) {
      _DevTools.instance = new _DevTools();
    }
    return _DevTools.instance;
  }
  addInternalConsoleLog(payload, sessionId, timestamp) {
    const entry = {
      ...payload,
      id: randomUUID(),
      sessionId,
      timestamp: timestamp || Date.now()
    };
    this.consoleLogs.push(entry);
    if (this.consoleLogs.length > 5e3) this.consoleLogs.shift();
    this.emit("console-update", entry);
  }
  addInternalNetworkLog(payload, sessionId, timestamp) {
    if (!payload.id) return;
    const existingIndex = this.logs.findIndex((l) => l.id === payload.id);
    if (existingIndex > -1) {
      const existing = this.logs[existingIndex];
      if (payload.chunk) {
        const chunks = existing.chunks || [];
        chunks.push(payload.chunk);
        this.logs[existingIndex] = {
          ...existing,
          chunks,
          sessionId: sessionId || existing.sessionId
        };
      } else {
        this.logs[existingIndex] = {
          ...existing,
          ...payload,
          sessionId: sessionId || existing.sessionId,
          // Drop chunks once we have the full response body — the data
          // is redundant and keeping both can blow past V8's string limit
          // when serializing the snapshot.
          chunks: payload.response?.body ? void 0 : existing.chunks,
          response: payload.response ? { ...existing.response, ...payload.response } : existing.response
        };
      }
      this.emit("update", this.logs[existingIndex]);
    } else if (payload.url) {
      const entry = {
        ...payload,
        sessionId,
        timestamp: timestamp || Date.now(),
        chunks: payload.chunk ? [payload.chunk] : void 0
      };
      this.logs.push(entry);
      if (this.logs.length > 10) this.logs.shift();
      this.emit("update", entry);
    }
  }
  getUrl() {
    return `http://127.0.0.1:${this.port}`;
  }
  getPort() {
    return this.port;
  }
  stop() {
    return new Promise((resolve) => {
      if (this.heartbeatTimer) {
        clearInterval(this.heartbeatTimer);
        this.heartbeatTimer = null;
      }
      if (this.wss) {
        this.wss.close();
        this.wss = null;
      }
      if (this.server) {
        this.server.close(() => resolve());
        this.server = null;
      } else {
        resolve();
      }
      _DevTools.instance = void 0;
    });
  }
  start() {
    return new Promise((resolve, reject) => {
      if (this.server) {
        resolve(this.getUrl());
        return;
      }
      this.server = http.createServer((req, res) => {
        const origin = req.headers.origin;
        if (origin) {
          const allowed = `http://127.0.0.1:${this.port}`;
          if (origin === allowed) {
            res.setHeader("Access-Control-Allow-Origin", allowed);
          }
        }
        if (req.url === "/api/trigger-debugger" && req.method === "POST") {
          let body = "";
          req.on("data", (chunk) => {
            body += chunk;
          });
          req.on("end", () => {
            try {
              const parsed = JSON.parse(body);
              if (typeof parsed !== "object" || parsed === null || !("sessionId" in parsed) || typeof parsed.sessionId !== "string") {
                res.writeHead(400, { "Content-Type": "application/json" });
                res.end(JSON.stringify({ error: "Invalid request" }));
                return;
              }
              const sessionId = parsed.sessionId;
              const session = this.sessions.get(sessionId);
              if (session) {
                session.ws.send(JSON.stringify({ type: "trigger-debugger" }));
                res.writeHead(200, { "Content-Type": "application/json" });
                res.end(JSON.stringify({ success: true }));
              } else {
                res.writeHead(404, { "Content-Type": "application/json" });
                res.end(JSON.stringify({ error: "Session not found" }));
              }
            } catch {
              res.writeHead(400, { "Content-Type": "application/json" });
              res.end(JSON.stringify({ error: "Invalid request" }));
            }
          });
        } else if (req.url === "/events") {
          res.writeHead(200, {
            "Content-Type": "text/event-stream",
            "Cache-Control": "no-cache",
            Connection: "keep-alive"
          });
          const snapshot = JSON.stringify({
            networkLogs: this.logs,
            consoleLogs: this.consoleLogs,
            sessions: Array.from(this.sessions.keys())
          });
          res.write(`event: snapshot
data: ${snapshot}

`);
          const onNetwork = (log) => {
            res.write(`event: network
data: ${JSON.stringify(log)}

`);
          };
          const onConsole = (log) => {
            res.write(`event: console
data: ${JSON.stringify(log)}

`);
          };
          const onSession = () => {
            const sessions = Array.from(this.sessions.keys());
            res.write(`event: session
data: ${JSON.stringify(sessions)}

`);
          };
          this.on("update", onNetwork);
          this.on("console-update", onConsole);
          this.on("session-update", onSession);
          req.on("close", () => {
            this.off("update", onNetwork);
            this.off("console-update", onConsole);
            this.off("session-update", onSession);
          });
        } else if (req.url === "/" || req.url === "/index.html") {
          res.writeHead(200, { "Content-Type": "text/html" });
          res.end(INDEX_HTML);
        } else if (req.url === "/assets/main.js") {
          res.writeHead(200, { "Content-Type": "application/javascript" });
          res.end(CLIENT_JS);
        } else {
          res.writeHead(404);
          res.end("Not Found");
        }
      });
      this.server.on("error", (e) => {
        if (typeof e === "object" && e !== null && "code" in e && e.code === "EADDRINUSE") {
          if (this.port - _DevTools.DEFAULT_PORT >= _DevTools.MAX_PORT_RETRIES) {
            reject(
              new Error(
                `DevTools: all ports ${_DevTools.DEFAULT_PORT}\u2013${this.port} in use`
              )
            );
            return;
          }
          this.port++;
          this.server?.listen(this.port, "127.0.0.1");
        } else {
          reject(e instanceof Error ? e : new Error(String(e)));
        }
      });
      this.server.listen(this.port, "127.0.0.1", () => {
        this.setupWebSocketServer();
        resolve(this.getUrl());
      });
    });
  }
  setupWebSocketServer() {
    if (!this.server) return;
    this.wss = new import_websocket_server.default({ server: this.server, path: "/ws" });
    this.wss.on("connection", (ws) => {
      let sessionId = null;
      ws.on("message", (data) => {
        try {
          const message = JSON.parse(data.toString());
          if (message.type === "register") {
            sessionId = String(message.sessionId);
            if (!sessionId) return;
            this.sessions.set(sessionId, {
              sessionId,
              ws,
              lastPing: Date.now()
            });
            this.emit("session-update");
            ws.send(
              JSON.stringify({
                type: "registered",
                sessionId,
                timestamp: Date.now()
              })
            );
          } else if (sessionId) {
            this.handleWebSocketMessage(sessionId, message);
          }
        } catch {
        }
      });
      ws.on("close", () => {
        if (sessionId) {
          this.sessions.delete(sessionId);
          this.emit("session-update");
        }
      });
      ws.on("error", () => {
      });
    });
    this.heartbeatTimer = setInterval(() => {
      const now = Date.now();
      this.sessions.forEach((session, sessionId) => {
        if (now - session.lastPing > 3e4) {
          session.ws.close();
          this.sessions.delete(sessionId);
        } else {
          session.ws.send(JSON.stringify({ type: "ping", timestamp: now }));
        }
      });
    }, 1e4);
    this.heartbeatTimer.unref();
  }
  handleWebSocketMessage(sessionId, message) {
    const session = this.sessions.get(sessionId);
    if (!session) return;
    switch (message["type"]) {
      case "pong":
        session.lastPing = Date.now();
        break;
      case "console":
        this.addInternalConsoleLog(
          // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
          message["payload"],
          sessionId,
          // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
          message["timestamp"]
        );
        break;
      case "network":
        this.addInternalNetworkLog(
          // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
          message["payload"],
          sessionId,
          // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
          message["timestamp"]
        );
        break;
      default:
        break;
    }
  }
};
export {
  DevTools
};
/**
 * @license
 * Copyright 2025 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */
