GE Lua Documentation

Press F to search!

assert

Definition


-- @/=[C]:-1
function assert(...)

Callers

@/lua/common/libs/lua-luaepnf/epnf.lua
local assert = assert
local string, io = assert( string ), assert( io )
local V = string.sub( assert( _VERSION ), -4 )
local assert = assert
local string, io = assert( string ), assert( io )
local V = string.sub( assert( _VERSION ), -4 )
local string, io = assert( string ), assert( io )
local V = string.sub( assert( _VERSION ), -4 )
local _G = assert( _G )
local V = string.sub( assert( _VERSION ), -4 )
local _G = assert( _G )
local error = assert( error )
local _G = assert( _G )
local error = assert( error )
local pairs = assert( pairs )
local error = assert( error )
local pairs = assert( pairs )
local next = assert( next )
local pairs = assert( pairs )
local next = assert( next )
local type = assert( type )
local next = assert( next )
local type = assert( type )
local tostring = assert( tostring )
local type = assert( type )
local tostring = assert( tostring )
local setmetatable = assert( setmetatable )
local tostring = assert( tostring )
local setmetatable = assert( setmetatable )
local setfenv = setfenv
if V == " 5.1" then
  assert( setfenv )
  assert( getfenv )
  assert( setfenv )
  assert( getfenv )
end
  local line, lno, sol = getline( s, p )
  assert( p <= #s )
  local clen = max( 70, p+10-sol )
  func( env )
  assert( g[ 1 ] and g[ g[ 1 ] ], "no start rule defined" )
  return g
function epnf.parsefile( g, fname, ... )
  local f = assert( io.open( fname, "r" ) )
  local a,n,i = epnf.parse( g, fname, assert( f:read"*a" ), ... )
  local f = assert( io.open( fname, "r" ) )
  local a,n,i = epnf.parse( g, fname, assert( f:read"*a" ), ... )
  f:close()
@/inspector/Views/ProbeSetDataGridNode.js
    {
        console.assert(dataGrid instanceof WI.ProbeSetDataGrid, "Invalid ProbeSetDataGrid argument:", dataGrid);
    {
        console.assert(value instanceof WI.ProbeSetDataFrame, "Invalid ProbeSetDataFrame argument: ", value);
        this._frame = value;
@/inspector/Views/ShaderProgramTreeElement.js
    {
        console.assert(shaderProgram instanceof WI.ShaderProgram);
@/inspector/Views/LogContentView.js
        // remove the event listeners. The singleton will never go away anyways.
        console.assert(this === WI.consoleContentView);
    {
        console.assert(messageView instanceof WI.ConsoleMessageView || messageView instanceof WI.ConsoleCommandView);

        console.assert(messageView.element instanceof Element);
        this._filterMessageElements([messageView.element]);
        }
        console.assert(false, "This should not be reached.");
    {
        console.assert(message);
        if (!message)

        console.assert(highlightedElements.length === matchRanges.length);
@/inspector/Views/FrameTreeElement.js
    {
        console.assert(frame instanceof WI.Frame);
@/inspector/Views/GroupNavigationItem.js
    {
        console.assert(!navigationItems || Array.isArray(navigationItems));
        for (let item of this._navigationItems) {
            console.assert(item instanceof WI.NavigationItem);
            this.element.appendChild(item.element);
@/inspector/Controllers/RuntimeManager.js

        console.assert(objectGroup, "RuntimeManager.evaluateInInspectedWindow should always be called with an objectGroup");
        console.assert(typeof sourceURLAppender === "function");
        console.assert(objectGroup, "RuntimeManager.evaluateInInspectedWindow should always be called with an objectGroup");
        console.assert(typeof sourceURLAppender === "function");
    {
        console.assert(remoteObject instanceof WI.RemoteObject);
        // Assert expected AST produced by our wrapping code.
        console.assert(esprimaSyntaxTree.type === "Program");
        console.assert(esprimaSyntaxTree.body.length === 1);
        console.assert(esprimaSyntaxTree.type === "Program");
        console.assert(esprimaSyntaxTree.body.length === 1);
        console.assert(esprimaSyntaxTree.body[0].type === "ExpressionStatement");
        console.assert(esprimaSyntaxTree.body.length === 1);
        console.assert(esprimaSyntaxTree.body[0].type === "ExpressionStatement");
        console.assert(esprimaSyntaxTree.body[0].expression.type === "FunctionExpression");
        console.assert(esprimaSyntaxTree.body[0].type === "ExpressionStatement");
        console.assert(esprimaSyntaxTree.body[0].expression.type === "FunctionExpression");
        console.assert(esprimaSyntaxTree.body[0].expression.async);
        console.assert(esprimaSyntaxTree.body[0].expression.type === "FunctionExpression");
        console.assert(esprimaSyntaxTree.body[0].expression.async);
        console.assert(esprimaSyntaxTree.body[0].expression.body.type === "BlockStatement");
        console.assert(esprimaSyntaxTree.body[0].expression.async);
        console.assert(esprimaSyntaxTree.body[0].expression.body.type === "BlockStatement");
@/inspector/Controllers/CodeMirrorCompletionController.js

        console.assert(codeMirror);
    {
        console.assert(completionText);
        if (!completionText)
        // We don't expect a undone history. But if there is one clear it. If could lead to undefined behavior.
        console.assert(!history.undone.length);
        history.undone = [];
        // Pop the last item from the done history.
        console.assert(history.done.length);
        history.done.pop();

            console.assert(!isNaN(this._startOffset));
            console.assert(!isNaN(this._endOffset));
            console.assert(!isNaN(this._startOffset));
            console.assert(!isNaN(this._endOffset));
            console.assert(!isNaN(this._lineNumber));
            console.assert(!isNaN(this._endOffset));
            console.assert(!isNaN(this._lineNumber));
    {
        console.assert(direction === -1 || direction === 1);

        console.assert(this._completions.length);
        if (!this._completions.length)

        console.assert(this._currentCompletion);
        if (!this._currentCompletion)
@/ui/ui-vue/src/services/logger.js
    if (cond instanceof Promise) {
      // window.BNG_Logger.assert(new Promise(res => setTimeout(() => res(0), 2000)), "logged")
      cond.then(res => !res && _log(lvl, ...msgs))
    } else if (typeof cond === "function") {
      // window.BNG_Logger.assert(() => 0, "logged")
      // window.BNG_Logger.assert(async () => 0, "logged")
      // window.BNG_Logger.assert(() => 0, "logged")
      // window.BNG_Logger.assert(async () => 0, "logged")
      !await cond() && _log(lvl, ...msgs)
  } else {
    // window.BNG_Logger.assert(0, "logged")
    _log(lvl, ...msgs)
@/inspector/Models/AuditTestCaseResult.js
    {
        console.assert(Object.values(WI.AuditTestCaseResult.Level).includes(level));
        console.assert(!data || typeof data === "object");
        console.assert(Object.values(WI.AuditTestCaseResult.Level).includes(level));
        console.assert(!data || typeof data === "object");
        console.assert(!metadata || typeof metadata === "object");
        console.assert(!data || typeof data === "object");
        console.assert(!metadata || typeof metadata === "object");
@/inspector/Protocol/InspectorFrontendAPI.js
    {
        console.assert(event.type === "readystatechange" || event.type === "visibilitychange");
        var methodName = signature.shift();
        console.assert(InspectorFrontendAPI[methodName], "Unexpected InspectorFrontendAPI method name: " + methodName);
        if (!InspectorFrontendAPI[methodName])
@/lua/common/jit/zone.lua
    else
      return (assert(remove(t), "empty zone stack"))
    end
@/inspector/Models/ScriptTimelineRecord.js

        console.assert(eventType);

        console.assert(payload.rootNodes instanceof Array);
        {
            console.assert("id" in nodePayload);
            if ("calls" in nodePayload) {
                console.assert(nodePayload.calls instanceof Array);
                calls = nodePayload.calls.map(profileNodeCallFromPayload);
        {
            console.assert("startTime" in nodeCallPayload);
            console.assert("totalTime" in nodeCallPayload);
            console.assert("startTime" in nodeCallPayload);
            console.assert("totalTime" in nodeCallPayload);
    case WI.ScriptTimelineRecord.EventType.GarbageCollected:
        console.assert(details);
        if (details && (details instanceof WI.GarbageCollection) && includeDetailsInMainTitle) {
@/inspector/Views/StackedAreaChart.js
    {
        console.assert(!this._pathElements.length, "Should not initialize multiple times");
    {
        console.assert(ys.length === this._pathElements.length);
        this._points.push({x, ys});
@/inspector/Views/LayoutTimelineDataGridNode.js
    {
        console.assert(record instanceof WI.LayoutTimelineRecord);
@/inspector/Controllers/CodeMirrorTextKillController.js

        console.assert(codeMirror);
        // It doesn't make sense to get more than one change per kill.
        console.assert(changes.length === 1);
        let change = changes[0];
        } else {
            console.assert(change.removed.length === 1);
            killedText = change.removed[0];
@/lua/ge/ge_utils.lua
  obj.staticFieldS32 = value_s32
  assert( obj.staticFieldS32 == value_s32 )
  obj.protectedFieldS32 = value_s32
  obj.protectedFieldS32 = value_s32
  assert( obj.protectedFieldS32 == value_s32 )
  obj.dynFieldS32 = value_s32
  obj.dynFieldS32 = value_s32
  assert( obj.dynFieldS32 == value_s32 )
  obj.staticFieldF32 = value_f32
  assert( math.abs(obj.staticFieldF32 - value_f32) < 0.0001 )
  obj.protectedFieldF32 = value_f32
  obj.protectedFieldF32 = value_f32
  assert( math.abs(obj.protectedFieldF32 - value_f32) < 0.0001 )
  obj.dynFieldF32 = value_f32
  obj.dynFieldF32 = value_f32
  assert( math.abs(obj.dynFieldF32 - value_f32) < 0.0001 )
  obj.staticFieldF64 = value_f64
  assert( math.abs(obj.staticFieldF64 - value_f64) < 0.0001 )
  obj.protectedFieldF64 = value_f64
  obj.protectedFieldF64 = value_f64
  assert( math.abs(obj.protectedFieldF64 - value_f64) < 0.0001 )
  obj.dynFieldF64 = value_f64
  obj.dynFieldF64 = value_f64
  assert( math.abs(obj.dynFieldF64 - value_f64) < 0.0001 )
  obj.staticFieldCString = value_cstring
  assert( obj.staticFieldCString == value_cstring )
  obj.protectedFieldCString = value_cstring
  obj.protectedFieldCString = value_cstring
  assert( obj.protectedFieldCString == value_cstring )
  obj.dynFieldCString = value_cstring
  obj.dynFieldCString = value_cstring
  assert( obj.dynFieldCString == value_cstring )
  obj.staticFieldString = value_string
  assert( obj.staticFieldString == value_string )
  obj.protectedFieldString = value_string
  obj.protectedFieldString = value_string
  assert( obj.protectedFieldString == value_string )
  obj.dynFieldString = value_string
  obj.dynFieldString = value_string
  assert( obj.dynFieldString == value_string )
  obj.staticFieldSimObjectPtr = obj
  assert( obj.staticFieldSimObjectPtr.staticFieldString == obj.staticFieldString )
  obj.protectedFieldSimObjectPtr = obj
  obj.protectedFieldSimObjectPtr = obj
  assert( obj.protectedFieldSimObjectPtr.staticFieldString == obj.staticFieldString )
  obj.dynFieldSimObjectPtr = obj
  obj.dynFieldSimObjectPtr = obj
  assert( obj.dynFieldSimObjectPtr.staticFieldString == obj.staticFieldString )
  -- uint GBitmap::getWidth - return the width of the image
  assert( bitmap:getWidth() == 16 )
  -- uint GBitmap::getHeight - return the height of the image
  -- uint GBitmap::getHeight - return the height of the image
  assert( bitmap:getHeight() == 16 )
  local colorBlack = ColorI(0, 0, 0, 255)
  assert( colorBlack == colorBlack )
  assert( colorWhite == colorWhite )
  assert( colorBlack == colorBlack )
  assert( colorWhite == colorWhite )
  assert( colorBlack ~= colorWhite )
  assert( colorWhite == colorWhite )
  assert( colorBlack ~= colorWhite )
  --    OUT color - the requested color
  assert( bitmap:getColor( 8, 8, col ) )
  assert( col == colorBlack )
  assert( bitmap:getColor( 8, 8, col ) )
  assert( col == colorBlack )
  assert( bitmap:getColor( 0, 0, col ) )
  assert( col == colorBlack )
  assert( bitmap:getColor( 0, 0, col ) )
  assert( col == colorWhite )
  assert( bitmap:getColor( 0, 0, col ) )
  assert( col == colorWhite )

  assert( bitmap:getColor( 8, 8, col ) )
  assert( col == colorBlack )
  assert( bitmap:getColor( 8, 8, col ) )
  assert( col == colorBlack )
  assert( bitmap:getColor( 0, 0, col ) )
  assert( col == colorBlack )
  assert( bitmap:getColor( 0, 0, col ) )
  assert( col == colorWhite )
  assert( bitmap:getColor( 0, 0, col ) )
  assert( col == colorWhite )
end
function escape_magic(str)
  assert(type(str) == "string", "utils.escape: Argument 'str' is not a string.")
  local escaped = str:gsub('[%-%.%+%[%]%(%)%^%%%?%*%^%$]','%%%1')
@/inspector/Models/CollectionEntryPreview.js
    {
        console.assert(valuePreview instanceof WI.ObjectPreview);
        console.assert(!keyPreview || keyPreview instanceof WI.ObjectPreview);
        console.assert(valuePreview instanceof WI.ObjectPreview);
        console.assert(!keyPreview || keyPreview instanceof WI.ObjectPreview);
@/inspector/Models/ProbeSetDataTable.js

        console.assert(this._openFrame, "Should always have an open frame before adding sample.", this, probe, sample);
        this._openFrame.addSampleForProbe(probe, sample);
@/inspector/Views/SpreadsheetRulesStyleDetailsPanel.js
        let [inspectorStyleSheets, regularStyleSheets] = styleSheets.partition(styleSheet => styleSheet.isInspectorStyleSheet());
        console.assert(inspectorStyleSheets.length <= 1, "There should never be more than one inspector style sheet");
    {
        console.assert(delta !== 0);
        section[SpreadsheetRulesStyleDetailsPanel.SectionIndexSymbol] = this._sections.indexOf(section);
        console.assert(section[SpreadsheetRulesStyleDetailsPanel.SectionIndexSymbol] >= 0);
    }
@/inspector/Views/DOMTreeElement.js
        var highlightElement = this.title.querySelector("." + WI.DOMTreeElement.SearchHighlightStyleClassName);
        console.assert(highlightElement);
        if (!highlightElement)
    {
        console.assert(!this._elementCloseTag);
        if (this._elementCloseTag)
            effectiveNode = effectiveNode.parentNode;
            console.assert(effectiveNode);
            if (!effectiveNode)
@/inspector/Views/StyleDetailsPanel.js
    {
        console.assert(domNode);
        if (!domNode)

            console.assert(this._nodeStyles);
            if (!this._nodeStyles)
@/inspector/Views/TimelineOverview.js

        console.assert(timelineRecording instanceof WI.TimelineRecording);
            let treeElement = this._treeElementsByTypeMap.get(this._selectedTimeline.type);
            console.assert(treeElement, "Missing tree element for timeline", this._selectedTimeline);
        let overviewGraph = this._overviewGraphsByTypeMap.get(timeline.type);
        console.assert(overviewGraph, "Missing overview graph for timeline type " + timeline.type);
        if (!overviewGraph)

        console.assert(overviewGraph.visible, "Record filtered in hidden overview graph", record);
        let overviewGraph = this._overviewGraphsByTypeMap.get(timeline.type);
        console.assert(overviewGraph, "Missing overview graph for timeline type " + timeline.type);
        if (!overviewGraph)

        console.assert(overviewGraph.visible, "Record selected in hidden overview graph", record);
            let renderingFramesTimeline = this._recording.timelines.get(WI.TimelineRecord.Type.RenderingFrame);
            console.assert(renderingFramesTimeline, "Recoring missing rendering frames timeline");
        let instrument = instrumentOrEvent instanceof WI.Instrument ? instrumentOrEvent : instrumentOrEvent.data.instrument;
        console.assert(instrument instanceof WI.Instrument, instrument);
        let timeline = this._recording.timelineForInstrument(instrument);
        console.assert(!this._overviewGraphsByTypeMap.has(timeline.type), timeline);
        console.assert(!this._treeElementsByTypeMap.has(timeline.type), timeline);
        console.assert(!this._overviewGraphsByTypeMap.has(timeline.type), timeline);
        console.assert(!this._treeElementsByTypeMap.has(timeline.type), timeline);
        let instrument = event.data.instrument;
        console.assert(instrument instanceof WI.Instrument, instrument);
        let overviewGraph = this._overviewGraphsByTypeMap.get(timeline.type);
        console.assert(overviewGraph, "Missing overview graph for timeline type", timeline.type);
            let timelineOverviewGraph = this._overviewGraphsByTypeMap.get(this._selectedTimelineRecord.type);
            console.assert(timelineOverviewGraph);
            if (timelineOverviewGraph)
            let treeElement = this._treeElementsByTypeMap.get(type);
            console.assert(treeElement, "Missing tree element for timeline type", type);
            timeline = selectedTreeElement.representedObject;
            console.assert(timeline instanceof WI.Timeline, timeline);
            console.assert(this._recording.timelines.get(timeline.type) === timeline, timeline);
            console.assert(timeline instanceof WI.Timeline, timeline);
            console.assert(this._recording.timelines.get(timeline.type) === timeline, timeline);
    {
        console.assert(this._viewMode === WI.TimelineOverview.ViewMode.Timelines);
                let timeline = this._recording.timelines.get(type);
                console.assert(timeline, "Missing timeline for type " + type);
            let placeholderGraph = treeElement[WI.TimelineOverview.PlaceholderOverviewGraph];
            console.assert(placeholderGraph);
            this._graphsContainerView.removeSubview(placeholderGraph);
@/inspector/Views/CookieStorageTreeElement.js
    {
        console.assert(representedObject instanceof WI.CookieStorageObject);
@/inspector/Models/PropertyDescriptor.js
    {
        console.assert(descriptor);
        console.assert(descriptor.name);
        console.assert(descriptor);
        console.assert(descriptor.name);
        console.assert(!descriptor.value || descriptor.value instanceof WI.RemoteObject);
        console.assert(descriptor.name);
        console.assert(!descriptor.value || descriptor.value instanceof WI.RemoteObject);
        console.assert(!descriptor.get || descriptor.get instanceof WI.RemoteObject);
        console.assert(!descriptor.value || descriptor.value instanceof WI.RemoteObject);
        console.assert(!descriptor.get || descriptor.get instanceof WI.RemoteObject);
        console.assert(!descriptor.set || descriptor.set instanceof WI.RemoteObject);
        console.assert(!descriptor.get || descriptor.get instanceof WI.RemoteObject);
        console.assert(!descriptor.set || descriptor.set instanceof WI.RemoteObject);
        console.assert(!symbol || symbol instanceof WI.RemoteObject);
        console.assert(!descriptor.set || descriptor.set instanceof WI.RemoteObject);
        console.assert(!symbol || symbol instanceof WI.RemoteObject);
        if (internal) {
            console.assert(payload.value);
            payload.writable = payload.configurable = payload.enumerable = false;
@/inspector/Views/ProfileNodeDataGridNode.js
    {
        console.assert(profileNode instanceof WI.ProfileNode);

        console.assert(className);
@/inspector/Views/ResourceHeadersContentView.js

        console.assert(resource instanceof WI.Resource);
        console.assert(delegate);
        console.assert(resource instanceof WI.Resource);
        console.assert(delegate);
                let responseCookies = this._resource.responseCookies;
                console.assert(responseCookies.length > 0);
                for (let cookie of responseCookies)
@/inspector/Views/TimelineDataGridNode.js
        // They need notified by using our needsGraphRefresh.
        console.assert(this.revealed);
        if (!this.revealed)

        console.assert(secondsPerPixel > 0);
@/inspector/Views/AuditTestGroupContentView.js
    {
        console.assert(representedObject instanceof WI.AuditTestGroup || representedObject instanceof WI.AuditTestGroupResult);
@/inspector/Models/CSSSelector.js
    {
        console.assert(text);
@/inspector/Models/NetworkTimeline.js
    {
        console.assert(resource instanceof WI.Resource);
    {
        console.assert(record instanceof WI.ResourceTimelineRecord);
@/inspector/Views/HeapAllocationsTimelineDataGridNode.js
    {
        console.assert(record instanceof WI.HeapAllocationsTimelineRecord);
@/inspector/Models/Cookie.js
    {
        console.assert(Object.values(WI.Cookie.Type).includes(type));
        console.assert(typeof name === "string");
        console.assert(Object.values(WI.Cookie.Type).includes(type));
        console.assert(typeof name === "string");
        console.assert(typeof value === "string");
        console.assert(typeof name === "string");
        console.assert(typeof value === "string");
        console.assert(!header || typeof header === "string");
        console.assert(typeof value === "string");
        console.assert(!header || typeof header === "string");
        console.assert(!expires || expires instanceof Date);
        console.assert(!header || typeof header === "string");
        console.assert(!expires || expires instanceof Date);
        console.assert(!maxAge || typeof maxAge === "number");
        console.assert(!expires || expires instanceof Date);
        console.assert(!maxAge || typeof maxAge === "number");
        console.assert(!path || typeof path === "string");
        console.assert(!maxAge || typeof maxAge === "number");
        console.assert(!path || typeof path === "string");
        console.assert(!domain || typeof domain === "string");
        console.assert(!path || typeof path === "string");
        console.assert(!domain || typeof domain === "string");
        console.assert(!secure || typeof secure === "boolean");
        console.assert(!domain || typeof domain === "string");
        console.assert(!secure || typeof secure === "boolean");
        console.assert(!httpOnly || typeof httpOnly === "boolean");
        console.assert(!secure || typeof secure === "boolean");
        console.assert(!httpOnly || typeof httpOnly === "boolean");
        console.assert(!sameSite || Object.values(WI.Cookie.SameSiteType).includes(sameSite));
        console.assert(!httpOnly || typeof httpOnly === "boolean");
        console.assert(!sameSite || Object.values(WI.Cookie.SameSiteType).includes(sameSite));
        console.assert(!size || typeof size === "number");
        console.assert(!sameSite || Object.values(WI.Cookie.SameSiteType).includes(sameSite));
        console.assert(!size || typeof size === "number");
            case "expires":
                console.assert(attributeValue);
                expires = new Date(attributeValue);
            case "max-age":
                console.assert(attributeValue);
                maxAge = parseInt(attributeValue, 10);
            case "path":
                console.assert(attributeValue);
                path = attributeValue;
            case "domain":
                console.assert(attributeValue);
                domain = attributeValue;
            case "secure":
                console.assert(!attributeValue);
                secure = true;
            case "httponly":
                console.assert(!attributeValue);
                httpOnly = true;
@/inspector/Controllers/WorkerManager.js

        console.assert(connection);
        if (!connection)
@/inspector/Views/ScriptDetailsTimelineView.js

        console.assert(timeline.type === WI.TimelineRecord.Type.Script);
    {
        console.assert(this.representedObject instanceof WI.Timeline);
        this.representedObject.removeEventListener(null, null, this);
        while (dataGridNode && !dataGridNode.root) {
            console.assert(dataGridNode instanceof WI.TimelineDataGridNode);
            if (dataGridNode.hidden)
        let dataGridNode = event.data.pathComponent.timelineDataGridNode;
        console.assert(dataGridNode.dataGrid === this._dataGrid);
        let scriptTimelineRecord = event.data.record;
        console.assert(scriptTimelineRecord instanceof WI.ScriptTimelineRecord);
@/inspector/Views/ContentViewContainer.js
    {
        console.assert(contentView instanceof WI.ContentView);
        if (!(contentView instanceof WI.ContentView))

        console.assert(newIndex === this._backForwardList.length - 1);
        console.assert(this._backForwardList[newIndex] === provisionalEntry);
        console.assert(newIndex === this._backForwardList.length - 1);
        console.assert(this._backForwardList[newIndex] === provisionalEntry);
    {
        console.assert(index >= 0 && index <= this._backForwardList.length - 1);
        if (index < 0 || index > this._backForwardList.length - 1)
        var currentEntry = this.currentBackForwardEntry;
        console.assert(currentEntry);
    {
        console.assert(oldContentView instanceof WI.ContentView);
        if (!(oldContentView instanceof WI.ContentView))

        console.assert(newContentView instanceof WI.ContentView);
        if (!(newContentView instanceof WI.ContentView))

        console.assert(oldContentView.parentContainer === this);
        if (oldContentView.parentContainer !== this)

        console.assert(!newContentView.parentContainer || newContentView.parentContainer === this);
        if (newContentView.parentContainer && newContentView.parentContainer !== this)
            if (this._backForwardList[i].contentView === oldContentView) {
                console.assert(!this._backForwardList[i].tombstone);
                let currentCookie = this._backForwardList[i].cookie;
        if (!this._backForwardList.length) {
            console.assert(this._currentIndex === -1);
            return;
        var currentEntry = this.currentBackForwardEntry;
        console.assert(currentEntry || (!currentEntry && this._currentIndex === -1));
        if (!this._backForwardList.length) {
            console.assert(this._currentIndex === -1);
            return;
    {
        console.assert(contentView.parentContainer !== this, "We already have ownership of the ContentView");
        if (contentView.parentContainer === this)
    {
        console.assert(contentView.parentContainer === this);
        let tombstoneContentViewContainers = this._tombstoneContentViewContainersForContentView(contentView);
        console.assert(!tombstoneContentViewContainers.includes(this));

            console.assert(!entry.tombstone);
            entry.tombstone = true;
    {
        console.assert(contentView.parentContainer === this);

            console.assert(entry.tombstone);
            entry.tombstone = false;

        console.assert(!contentView.visible);
    {
        console.assert(entry instanceof WI.BackForwardEntry);
            this._takeOwnershipOfContentView(entry.contentView);
            console.assert(!entry.tombstone);
        }
    {
        console.assert(entry instanceof WI.BackForwardEntry);
@/inspector/Models/CallingContextTreeNode.js
    {
        console.assert(startTime <= endTime);
        if (startTime > endTime)
            return false;
        console.assert(startTime <= timestamps[index]);
    {
        console.assert(!this._timestamps.length || this._timestamps.lastValue <= timestamp, "Expected timestamps to be added in sorted, increasing, order.");
        this._timestamps.push(timestamp);
        }
        console.assert(!timestamps.length || timestamps.lastValue <= timestamp, "Expected timestamps to be added in sorted, increasing, order.");
        timestamps.push(timestamp);
@/inspector/Views/ObjectTreePropertyTreeElement.js
    {
        console.assert(this.property.hasValue());
        console.assert(this.property.name === "__proto__");
        console.assert(this.property.hasValue());
        console.assert(this.property.name === "__proto__");
        var resolvedValue = this.resolvedValue();
        console.assert(resolvedValue.type === "function");
@/inspector/Models/CSSCompletions.js
                var propertyName = property.name;
                console.assert(propertyName);
    {
        console.assert(target.CSSAgent);

                console.assert(modeSpec.propertyKeywords);
                console.assert(modeSpec.valueKeywords);
                console.assert(modeSpec.propertyKeywords);
                console.assert(modeSpec.valueKeywords);
                console.assert(modeSpec.colorKeywords);
                console.assert(modeSpec.valueKeywords);
                console.assert(modeSpec.colorKeywords);
@/lua/ge/extensions/editor/forestEditor.lua
    if payload~=nil then
      assert(payload.DataSize == 2048)
      local data = ffi.string(payload.Data)
@/inspector/Views/ConsoleTabContentView.js

        console.assert(this.contentBrowser.currentContentView === WI.consoleContentView);
    }
        // to be created instead of reusing WI.consoleContentView.
        console.assert(representedObject instanceof WI.LogObject);
    }
@/inspector/Views/RecordingActionTreeElement.js
    {
        console.assert(representedObject instanceof WI.RecordingAction);
@/inspector/Views/DOMNodeEventsContentView.js
    {
        console.assert(domNode instanceof WI.DOMNode);
@/inspector/Views/HeapSnapshotInstanceFetchMoreDataGridNode.js

        console.assert(typeof batchCount === "number");
        console.assert(typeof remainingCount === "number");
        console.assert(typeof batchCount === "number");
        console.assert(typeof remainingCount === "number");
        console.assert(typeof fetchCallback === "function");
        console.assert(typeof remainingCount === "number");
        console.assert(typeof fetchCallback === "function");
@/lua/common/libs/lua-websockets/websocket/ev_common.lua
local async_send = function(sock,loop)
  assert(sock)
  loop = loop or ev.Loop.default
    else
      assert(last < len)
      index = last + 1
local message_io = function(sock,loop,on_message,on_error)
  assert(sock)
  assert(loop)
  assert(sock)
  assert(loop)
  assert(on_message)
  assert(loop)
  assert(on_message)
  assert(on_error)
  assert(on_message)
  assert(on_error)
  local last
  local first_opcode
  assert(sock:getfd() > -1)
  local message_io
@/inspector/Views/NavigationSidebarPanel.js
    {
        console.assert(Array.isArray(treeElements), "TreeElements should be an array.");
    {
        console.assert(treeElement);
        console.assert(treeElement.representedObject);
        console.assert(treeElement);
        console.assert(treeElement.representedObject);
        if (!treeElement || !treeElement.representedObject)
        let selectedTabContentView = WI.tabBrowser.selectedTabContentView;
        console.assert(selectedTabContentView instanceof WI.TabContentView, "Missing TabContentView for NavigationSidebarPanel.");
        return selectedTabContentView && selectedTabContentView.canShowRepresentedObject(representedObject);
    {
        console.assert(cookie);
    {
        console.assert(message);

            console.assert(inputs instanceof Array, "filterableData.text should be an array of text inputs");
    {
        console.assert(this._shouldAutoPruneStaleTopLevelResourceTreeElements);
@/inspector/Views/SpreadsheetTextField.js

        console.assert(this._element.isConnected, "SpreadsheetTextField already removed from the DOM.");
        if (!this._element.isConnected) {
@/inspector/Controllers/CanvasManager.js
    {
        console.assert(!this._enabled);
    {
        console.assert(this._enabled);
    {
        console.assert(!isNaN(count) && count >= 0);

        console.assert(!this._canvasIdentifierMap.has(canvasPayload.canvasId), `Canvas already exists with id ${canvasPayload.canvasId}.`);
        let canvas = this._canvasIdentifierMap.take(canvasIdentifier);
        console.assert(canvas);
        if (!canvas)
        let canvas = this._canvasIdentifierMap.get(canvasIdentifier);
        console.assert(canvas);
        if (!canvas)
        let canvas = this._canvasIdentifierMap.get(canvasIdentifier);
        console.assert(canvas);
        if (!canvas)
        let canvas = this._canvasIdentifierMap.get(canvasIdentifier);
        console.assert(canvas);
        if (!canvas)
        let canvas = this._canvasIdentifierMap.get(canvasIdentifier);
        console.assert(canvas);
        if (!canvas)
        let canvas = this._canvasIdentifierMap.get(canvasIdentifier);
        console.assert(canvas);
        if (!canvas)
        let canvas = this._canvasIdentifierMap.get(canvasIdentifier);
        console.assert(canvas);
        if (!canvas)
        let canvas = this._canvasIdentifierMap.get(canvasIdentifier);
        console.assert(canvas);
        if (!canvas)

        console.assert(!this._shaderProgramIdentifierMap.has(programIdentifier), `ShaderProgram already exists with id ${programIdentifier}.`);
        let program = this._shaderProgramIdentifierMap.take(programIdentifier);
        console.assert(program);
        if (!program)
    {
        console.assert(event.target instanceof WI.Frame);
        if (!event.target.isMainFrame())
@/inspector/Views/ResourceCollectionContentView.js
    {
        console.assert(collection instanceof WI.ResourceCollection);
    {
        console.assert(contentView instanceof WI.ResourceContentView);
        let resource = contentView.representedObject;
        console.assert(resource instanceof WI.Resource);
@/ui/ui-vue/dist/index.js
      nop(${this.serializeToLua(text)}) -- (actually run the lua check)
    `)}serializeToLua(obj){let tmp;if(obj==null)return`nil`;switch(obj.constructor){case String:return obj.search(/\\|\"|\n|\t|\r/)==-1?`"${obj}"`:`"${obj.replace(/\\/g,`\\\\`).replace(/\"/g,`\\"`).replace(/\n|\r/g,`\\n`).replace(/\t/g,`\\t`)}"`;case Number:return isFinite(obj)?obj.toString():null;case Boolean:return obj?`true`:`false`;case Array:tmp=[];for(let i=0;iLua_default.extensions[LUA_BLUR_EXTENSION].replaceGroup(`uiBlur`,blurRegionList),getNextAvailableId=()=>(highestId<2**53-1?highestId++:highestId=0).toString(),LUA_BLUR_UNLOADED=0,LUA_BLUR_LOADING=1,LUA_BLUR_LOADED=2,blurLoadedState=LUA_BLUR_UNLOADED;function applyBlur(){if(!window.beamng||!window.beamng.ingame||blurLoadedState===LUA_BLUR_LOADING)return;let isEmpty=!Object.keys(blurRegionList).length;blurLoadedState===LUA_BLUR_UNLOADED?isEmpty||(blurLoadedState=LUA_BLUR_LOADING,Lua_default.extensions.load(LUA_BLUR_EXTENSION).then(()=>{blurLoadedState=LUA_BLUR_LOADED,sendBlurListToLua()})):isEmpty?(Lua_default.extensions.unload(LUA_BLUR_EXTENSION),blurLoadedState=LUA_BLUR_UNLOADED):sendBlurListToLua()}var GameBlurrer_default={register(coord){if(coord===void 0)throw Error(`Cannot register bng-blur with coordinates: `+coord);let id=getNextAvailableId();return blurRegionList[id]=coord,applyBlur(),id},unregister(id){id in blurRegionList&&(delete blurRegionList[id],applyBlur())},update(id,coord){if(!(id in blurRegionList))throw Error(`Trying to update bng-blur with an ID that is not registered: ${id} (of ${Object.keys(blurRegionList)})`);blurRegionList[id]=coord,applyBlur()}},handlers={},streamCoordinator;window.streamUpdate=data=>_runHandlers(`stream`,data),window.multihookUpdate=hooksData=>{for(let i in hooksData){let hook=hooksData[i];trigger(hook[0],hook[1])}},window.HookManager={trigger};var skippedStreamUpdate=null,streamUpdateHandler=function(data){if(streamCoordinator?.processing){console.log(`ERROR: streamUpdate cycle is already active, skipping this update of streams`),skippedStreamUpdate=data;return}skippedStreamUpdate=null;let oldFormat={};if(data.globalStreams)for(let sn in data.globalStreams)oldFormat[sn]=data.globalStreams[sn];if(data.vehicleStreams&&data.vehicleStreams.player_0)for(let sn in data.vehicleStreams.player_0)oldFormat[sn]=data.vehicleStreams.player_0[sn];streamCoordinator?.beforeBroadcast(),window.globalAngularRootScope?.$broadcast(`streamsUpdate`,oldFormat),window.vueEventBus?.emit(`onStreamsUpdate`,oldFormat),window.vueGlobalStore&&(window.vueGlobalStore.streams=oldFormat),streamCoordinator?.afterBroadcast(()=>{!streamCoordinator.processing&&skippedStreamUpdate&&streamUpdateHandler(skippedStreamUpdate)})};add$1(`streamMain`,streamUpdateHandler,`stream`);var mainHookHandler=function(hookName,args){args&&!Array.isArray(args)&&console.error(`HookManager.trigger unsupported arguments (needs to be a list): `+JSON.stringify(hookName)+` - `+JSON.stringify(args).substring(0,30)+` ... `),window.vueEventBus?.emit(hookName,...args),window.globalAngularRootScope?.$broadcast(hookName,...args)};add$1(`hooksMain`,mainHookHandler);function add$1(id,func,type=`hook`){handlers[type]||(handlers[type]={}),handlers[type][id]=func}function remove$1(id,type=`hook`){handlers[type]&&delete handlers[type][id]}function trigger(hookName,args){_runHandlers(`hook`,hookName,args)}function _runHandlers(type,...data){if(handlers[type]){let toRun=Object.values(handlers[type]);toRun.length&&toRun.forEach(f=>f(...data))}}var Hooks_default={add:add$1,remove:remove$1,trigger,setStreamCoordinator(manager){streamCoordinator=manager}},scriptRel=`modulepreload`,assetsURL=function(dep){return`/local/ui/ui-vue/`+dep},seen={};const __vitePreload=function(baseModule,deps$1,importerUrl){let promise=Promise.resolve();if(deps$1&&deps$1.length>0){let links=document.getElementsByTagName(`link`),cspNonceMeta=document.querySelector(`meta[property=csp-nonce]`),cspNonce=cspNonceMeta?.nonce||cspNonceMeta?.getAttribute(`nonce`);function allSettled(promises$2){return Promise.all(promises$2.map(p$1=>Promise.resolve(p$1).then(value$1=>({status:`fulfilled`,value:value$1}),reason=>({status:`rejected`,reason}))))}promise=allSettled(deps$1.map(dep=>{if(dep=assetsURL(dep,importerUrl),dep in seen)return;seen[dep]=!0;let isCss=dep.endsWith(`.css`),cssSelector=isCss?`[rel="stylesheet"]`:``;if(importerUrl)for(let i$1=links.length-1;i$1>=0;i$1--){let link$1=links[i$1];if(link$1.href===dep&&(!isCss||link$1.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${dep}"]${cssSelector}`))return;let link=document.createElement(`link`);if(link.rel=isCss?`stylesheet`:scriptRel,isCss||(link.as=`script`),link.crossOrigin=``,link.href=dep,cspNonce&&link.setAttribute(`nonce`,cspNonce),document.head.appendChild(link),isCss)return new Promise((res,rej)=>{link.addEventListener(`load`,res),link.addEventListener(`error`,()=>rej(Error(`Unable to preload CSS for ${dep}`)))})}))}function handlePreloadError(err$2){let e$1=new Event(`vite:preloadError`,{cancelable:!0});if(e$1.payload=err$2,window.dispatchEvent(e$1),!e$1.defaultPrevented)throw err$2}return promise.then(res=>{for(let item of res||[])item.status===`rejected`&&handlePreloadError(item.reason);return baseModule().catch(handlePreloadError)})};var MOCK_DATA_PATH=`../mockdata`;function applyMockInterface(originalObject,mockInterface){let handler$1={mockInterface,get(target,propertyName){return this.mockInterface[propertyName]||target[propertyName]||defaultMockedMethod(propertyName)}};return new Proxy(originalObject,handler$1)}function defaultMockedMethod(name){return{[name]:function(...args){console.log(`Mocked method '${name}' called with:`),console.log(args)}}[name]}function getMockedData(fullPath){const[file$1,...path]=fullPath.split(`.`),filename=`${MOCK_DATA_PATH}/${file$1}.js`,toEval=[`d`,`default`,...path].join(`.`);return __vitePreload(()=>import(filename),[]).then(d=>eval(toEval))}const runInBrowser=fn=>{window.beamng||fn()},sendGUIHook=(name,...params)=>{window.bridge&&window.bridge.events&&window.bridge.events.emit(name,...params),window.globalAngularRootScope&&window.globalAngularRootScope.$broadcast(name,...params)};var withMocked=(sig,getData)=>(sig.mocked=getData,sig),LuaFunctionSignatures_default={dev:{getMockedData:key=>String},getVehicleColor:()=>{},getVehicleColorPalette:index=>Integer,resetGameplay:playerID=>Integer,quit:()=>{},checkFSErrors:()=>{},returnToMainMenu:()=>{},guihooks:{trigger:withMocked(hookName=>String,sendGUIHook)},simTimeAuthority:{togglePause:()=>{},getPause:()=>{},pause:state=>Boolean,pushPauseRequest:id=>String,popPauseRequest:id=>String},commands:{toggleCamera:()=>{}},ui_audio:{playEventSound:(soundClass,type)=>[String,String]},career_career:{closeAllMenus:()=>{},isActive:()=>{},sendAllCareerSaveSlotsData:()=>{},sendCurrentSaveSlotData:()=>{},createOrLoadCareerAndStart:(id,specificAutosave,tutorial)=>[String,Any$1,Boolean]},career_saveSystem:{saveCurrent:()=>{},removeSaveSlot:id=>String,renameSaveSlot:(name,newName)=>[String,String]},career_modules_uiUtils:{getCareerStatusData:withMocked(()=>{},()=>getMockedData(`career.status`)),getCareerSimpleStats:withMocked(()=>{},()=>getMockedData(`career.simpleStats`)),getCareerPauseContextButtons:()=>{},callCareerPauseContextButtons:id=>Number,getCareerCurrentLevelName:()=>{}},career_modules_fuel:{requestRefuelingTransactionData:()=>{},sendUpdateDataToUI:()=>{},uiButtonStartFueling:energyType=>String,uiButtonStopFueling:energyType=>String,onChangeFlowRate:flowRate=>Number,payPrice:()=>{},uiCancelTransaction:()=>{}},career_modules_logbook:{getLogbook:withMocked(()=>{},()=>getMockedData(`logbook.sample`)),setLogbookEntryRead:(id,state)=>[String,Boolean]},career_modules_milestones_milestones:{getMilestones:()=>{},claim:id=>Number,unclaimedMilestonesCount:()=>{}},career_modules_branches_landing:{openBigMapWithMissionSelected:id=>String,getBranchSkillCardData:id=>String,getBranchPageData:id=>String,getLandingPageData:domain=>String,getCargoProgressForUI:()=>{}},career_modules_partShopping:{cancelShopping:()=>{},applyShopping:()=>{},installPartByPartShopId:id=>Number,removePartBySlot:slot=>String,sendShoppingDataToUI:()=>{}},career_modules_vehicleShopping:{showVehicle:id=>Number,navigateToPos:pos=>Object,openShop:(seller,computerId)=>[Any$1,Any$1],cancelShopping:()=>{},quickTravelToVehicle:id=>Number,openPurchaseMenu:(purchaseType,shopId)=>[String,Number],updateInsuranceSelection:insuranceId=>Number,openInventoryMenuForTradeIn:()=>{},buyFromPurchaseMenu:(purchaseType,options)=>[String,Any$1],cancelPurchase:purchaseType=>String,getShoppingData:()=>{},sendPurchaseDataToUi:()=>{},removeTradeInVehicle:()=>{},onShoppingMenuClosed:()=>{}},career_modules_marketplace:{getListings:()=>{},menuOpened:open$1=>Boolean,acceptOffer:(inventoryId,offerIndex)=>[Number,Number],declineOffer:(inventoryId,offerIndex)=>[Number,Number],listVehicles:inventoryIds=>[Array],openMenu:()=>{},removeVehicleListing:inventoryId=>Number,startNegotiateBuyingOffer:(inventoryId,offerIndex)=>[Number,Number],startNegotiateSellingOffer:shopId=>[Number],getNegotiationState:()=>{},makeNegotiationOffer:price=>Number,takeTheirOffer:()=>{},cancelNegotiation:()=>{}},career_modules_testDrive:{stop:()=>{}},career_modules_inspectVehicle:{startTestDrive:()=>{},onInspectScreenChanged:enabled=>Boolean,onPurchaseMenuClosed:()=>{},repairVehicle:()=>{}},career_modules_loanerVehicles:{markForSpawning:loanInfo=>Object,spawnAndLoanVehicle:(vehicleInfo,loanInfo)=>[Object,Object],getLoanedVehiclesByOrg:orgId=>String,returnVehicle:inventoryId=>Number},career_modules_inventory:{sellVehicle:id=>Number,sellVehicleFromInventory:id=>Number,returnLoanedVehicleFromInventory:id=>Number,expediteRepairFromInventory:(inventoryId,price)=>[Number,Number],enterVehicle:id=>Number,openMenuFromComputer:computerId=>String,closeMenu:()=>{},chooseVehicleFromMenu:(vehId,buttonId,repairPrevVeh)=>[Number,Number,Boolean],setFavoriteVehicle:id=>Number,sendDataToUi:()=>{},removeVehicleObject:id=>Number,getVehicle:id=>Number,getVehicleUiData:id=>Number,isEmpty:()=>{},setLicensePlateText:(inventoryId,text)=>[Number,String],purchaseLicensePlateText:(inventoryId,text,money)=>[Number,String,Number],isLicensePlateValid:text=>String,isVehicleNameValid:text=>String,renameVehicle:(inventoryId,name)=>[Number,String],openInventoryMenuForChoosingListing:()=>{}},career_modules_vehiclePerformance:{startDragTest:id=>Number,cancelTest:()=>{}},career_modules_partInventory:{openMenu:computerId=>Any$1,closeMenu:()=>{},sendUIData:()=>{},sellParts:ids=>Array,partInventoryClosed:()=>{}},career_modules_insurance_insurance:{getProposablePoliciesForVehInv:invVehId=>Number,payInsuranceScoreReset:policyId=>Number,purchaseInsurance:id=>Number,calculateRenewalPriceDetails:(policyId,tempPerks)=>[Number,Any$1],changeInvVehInsuranceCoverageOptions:(policyId,changedPerks)=>[Number,Object],changeInvVehInsurance:(invVehId,newInsuranceId)=>[Number,Number],startRepairInGarage:(vehicleInfo,repairOptionData)=>[Object,Object],openRepairMenu:(vehicleInfo,originComputerId)=>[Object,Any$1],closeMenu:()=>{},sendUIData:()=>{},inventoryVehNeedsRepair:inventoryId=>Number,getInvVehHaveFuelDiscount:invVehId=>Object,openChooseInsuranceScreen:()=>{},calculateInsurancePremium:(insuranceId,potentialCoverageOptions,potentialVehiclesCoverageOptions)=>[Number,Object,Object],saveNewInsuranceCoverageOptions:(insuranceId,newCoverageOptions)=>[Number,Object],calculateVehiclePremium:(vehicleId,nonInvVehInfo,potentialCoverageOptions)=>[Number,Object,Object],saveNewVehicleCoverageOptions:(vehicleId,newCoverageOptions)=>[Number,Object],sendChooseInsuranceDataToTheUI:(purchaseType,shopId,defaultInsuranceId)=>[String,Number,Number],sendChangeInsuranceDataToTheUI:vehicleId=>[Number],resetDriverScore:()=>{}},career_modules_insurance_repairScreen:{getRepairData:()=>{},closeMenu:()=>{},startRepairInGarage:(invVehId,repairOptionData)=>[Number,Object],openRepairMenu:(vehicleInfo,originComputerId)=>[Object,Any$1]},career_modules_playerAbstract:{getPlayerAbstractData:()=>{},closePlayerAbstractMenu:()=>{}},career_modules_tuning:{apply:tuningValues=>Object,start:(vehId,origin)=>[Any$1,Any$1],getTuningData:()=>{},close:()=>{},applyShopping:()=>{},cancelShopping:()=>{},removeVarFromShoppingCart:varName=>String},career_modules_painting:{apply:()=>{},start:(vehId,origin)=>[Any$1,Any$1],getPaintData:()=>{},close:()=>{},setPaints:paint=>Object,getFactoryPaint:()=>{},onUIOpened:()=>{}},career_modules_questManager:{setQuestAsNotNew:id=>String,claimRewardsById:id=>String},career_modules_computer:{onMenuClosed:()=>{},getComputerUIData:()=>{},computerButtonCallback:(buttonId,inventoryId)=>[String,Any$1],openComputerMenuById:computerId=>String,closeAllMenus:()=>{}},career_modules_delivery_general:{setAutomaticRoute:enabled=>Boolean,setDetailedDropOff:enabled=>Boolean,setSetting:(key,value)=>[String,Any$1],getSettings:()=>{},setDeliveryTimePaused:paused=>Boolean},career_modules_delivery_cargoScreen:{requestCargoDataForUi:(facilityId,parkingSpotPath,updateMaxTimeStamp)=>[Any$1,Any$1,Any$1],moveCargoFromUi:(cargoId,targetLocation)=>[Number,Object],commitDeliveryConfiguration:()=>{},cancelDeliveryConfiguration:()=>{},exitDeliveryMode:()=>{},exitCargoOverviewScreen:()=>{},showCargoRoutePreview:cargoId=>Any$1,showVehicleOfferRoutePreview:offerId=>Any$1,setCargoRoute:(cargoId,origin)=>[Number,Boolean],showLocationRoutePreview:(location$1,asProvider)=>[Any$1,Boolean],showCargoContainerHelpPopup:()=>{},setBestRoute:()=>{},spawnOffer:(offerId,fadeToBlack)=>[Number,Any$1],abandonAcceptedOffer:vehId=>Number,setCargoScreenTab:tab=>String,unloadCargoPopupClosed:()=>{},moveMaterialFromUi:()=>{},requestDropOffData:()=>{},confirmDropOffData:(data,facId,psPath)=>[Any$1,Any$1,Any$1],dropOffPopupClosed:mode=>String,clearTransientMoveForCargo:cargoId=>Number,clearTransientMovesForStorage:materialType=>String,applyTransientMoves:()=>{},toggleOfferForSpawning:id=>Number,tryLoadAll:cargoIds=>Array,showRoutePreview:route=>Object,deliveryScreenExternalButtonPressed:id=>Any$1},career_modules_delivery_progress:{activateSound:(soundLabel,active)=>[String,Boolean]},career_modules_linearTutorial:{introPopup:(key,force)=>[String,Boolean],wasIntroPopupsSeen:pages=>Array,isLinearTutorialActive:()=>{}},gameplay_drag_dragBridge:{getHistory:id=>Object,screenshotTimeslip:()=>{}},gameplay_crashTest_scenarioManager:{nextStepFromUI:()=>{}},gameplay_discover:{getDiscoverPages:()=>{},startDiscover:discoverId=>String},freeroam_organizations:{getUIData:()=>{},getUIDataForOrg:orgId=>String},core_replay:{onInit:()=>{},loadFile:filename=>String,stop:()=>{},openReplayFolderInExplorer:()=>{},getRecordings:()=>{},removeRecording:filename=>String,togglePlay:()=>{},toggleRecording:()=>{},cancelRecording:()=>{},toggleSpeed:speed=>Number,pause:()=>{},seek:positionPercent=>Number,acceptRename:(oldFilename,newFilename)=>[String,String],saveMissionReplay:filename=>String,removeMissionSavedReplay:filename=>String,openMissionReplayFolder:filename=>String},core_gamestate:{requestGameState:()=>{},loadingScreenActive:()=>{}},core_gameContext:{getGameContext:withMocked(params=>{},params=>getMockedData(`gameContext.gameContextData`))},core_online:{requestState:()=>{}},core_hardwareinfo:{requestState:()=>{},getInfo:()=>{}},gameplay_statistic:{sendGUIState:()=>{}},core_quickAccess:{getUiData:()=>{},selectItem:(id,buttonDown,actionIndex)=>[Number,Boolean,Number],contextAction:(id,buttonDown,actionIndex)=>[Number,Boolean,Number],back:()=>{},setEnabled:(enabled,level$1,force)=>[Boolean,String,Boolean],openDynamicSlotConfigurator:index=>Number,getDynamicSlotConfigurationData:()=>{},setDynamicSlotConfiguration:(key,data)=>[String,Object],toggle:()=>[],tryAction:action=>String},ui_bindingsLegend:{sendDataToUI:forceResetFade=>Boolean,triggerInputAction:(action,value)=>[String,Number],toggleShowApp:()=>{},toggleShowVehicleSpecificActions:()=>{}},freeroam_bigMapMode:{enterBigMap:instant=>Object,exitBigMap:force=>Boolean,setBigmapScreenBounds:(windowBounds,mapBounds)=>[Object,Object],navigateToMission:poiId=>String,selectPoi:poiId=>String,poiHovered:(poiId,active)=>[String,Boolean],teleportToPoi:poiId=>String,setOnlyIdsVisible:poiIds=>Array,deselect:()=>{},openPopupCallback:()=>{},toggleBigMap:()=>{},setUiFocus:focus$1=>Boolean},freeroam_bigMapPoiProvider:{sendMissionLocationsToMinimap:()=>{},sendCurrentLevelMissionsToBigmap:()=>{},toggleGroupVisibility:groupKey=>String},freeroam_freeroamConfigurator:{getConfiguration:()=>{},getButtons:()=>{},triggerButton:buttonId=>Number,updateOption:(key,value)=>[String,Any$1],onSpawnPointTileClick:()=>{},onVehicleTileClick:()=>{},getCurrentSpawnPointTile:()=>{},getCurrentVehicleTile:()=>{},setSpawnPoint:(levelName,spawnPointName,key)=>[String,String,String],setVehicle:(model,config,additionalData,key)=>[String,String,Object,String],doubleClickOverride:item=>[Object]},gameplay_taxi:{startTaxiWithCurrentRoute:()=>{}},freeroam_vueBigMap:{enterBigMap:()=>{},exitBigMap:()=>{},getPoiData:()=>{},getFilters:()=>{},getGroups:()=>{},toggleFiltersByIds:filterIds=>Object,toggleFilterSectionById:sectionId=>Object,getGameStateInfo:()=>{},selectPoiFromList:poiId=>String,hoverPoiFromList:(poiId,active)=>[String,Boolean],executePoiAction:actionId=>Number},freeroam_freeroam:{startTrackBuilder:mapName=>String},extensions:{isExtensionLoaded:extensionName=>Boolean,load:extensionName=>String,unload:extensionName=>String,hook:hook=>String,ui_messagesDebugger:{show:()=>{},hide:()=>{},toggle:()=>{}},tech_license:{requestState:()=>{},isValid:()=>{}},core_input_actionFilter:{addAction:(filter,actionName,filtered)=>[Number,String,Boolean],setGroup:(name,actioNames)=>[String,Any$1]},core_input_bindings:{FFBSafetyDataRequest:()=>{},resetBindings:()=>{},resetBindingsForDevice:deviceName=>String,setMenuActionMapEnabled:state=>Boolean,getMenuActionMapEnabled:()=>{},setMenuActionEnabled:(enabled,actionName)=>[Boolean,String],notifyUI:reason=>String,saveBindingsToDisk:deviceContents=>Object,getRecentDevices:()=>{}},core_vehicle_partmgmt:{getConfigList:()=>{},highlightParts:(parts,vehID)=>[Object,Number],loadLocal:filename=>String,resetPartsToLoadedConfig:()=>{},resetVarsToLoadedConfig:()=>{},resetAllToLoadedConfig:()=>{},openConfigFolderInExplorer:()=>{},removeLocal:configName=>String,savedefault:()=>{},saveLocal:filename=>String,sendDataToUI:()=>{},selectPart:(part,subparts)=>[String,Boolean],selectParts:(parts,vehID)=>[Object,Number],selectReset:()=>{},setConfigVars:vars=>Object,setPartsConfig:config=>Object,setPartsTreeConfig:config=>Object,showHighlightedParts:vehID=>Number,setDynamicTextureMaterials:()=>{},partsSelectorChanged:parts=>Object,sendPartsSelectorStateToUI:()=>{}},core_vehicle_mirror:{getAnglesOffset:()=>{},focusOnMirror:mirror_name=>Any$1,setAngleOffset:(mirrorName,x,z,v,save)=>[String,Number,Number,Boolean,Boolean]},gameplay_drift_general:{onDriftAppMounted:()=>{},onDriftAppUnmounted:()=>{}},gameplay_missions_missionScreen:{getMissionScreenData:withMocked(()=>{},()=>getMockedData(`missionDetails.getMissionScreenData`)),startMissionById:(missionId,userSettings,startingOptions)=>[String,Object,Object],stopMissionById:id=>[String],changeUserSettings:(missionId,userSettings)=>[String,Object],startFromWithinMission:(id,userSettings)=>[String,Object],getActiveStarsForUserSettings:(id,userSettings)=>[String,Object],requestStartingOptionsForUserSettings:(id,userSettings)=>[String,Object],isAnyMissionActive:()=>{},isMissionStartOrEndScreenActive:()=>{},openAPMChallenges:(branch,skill)=>[String,String],navigateToMission:id=>[String],setPreselectedMissionId:id=>[String],showMissionRules:id=>[String],getMissionTiles:()=>{},activateSound:(soundLabel,active,frequency)=>[String,Boolean,Number],activateSoundBlur:active=>{Boolean},openVehicleSelectorForMissionBySetting:(mId,settingKey)=>[String,String]},gameplay_missions_missionManager:{getCurrentTaskdataTypeOrNil:()=>{}},gameplay_garageMode:{start:()=>{},isActive:()=>{},setCamera:view=>String,setLighting:lights=>Array,getLighting:()=>{},setGarageMenuState:state=>String,stop:()=>{},testVehicle:()=>{}},ui_dynamicDecals:{initialize:()=>{},exit:()=>{},requestUpdatedData:()=>{},setupEditor:()=>{},loadSaveFile:path=>String,createSaveFile:()=>{},saveChanges:filename=>String,cancelChanges:()=>{},exportSkin:skinName=>String,moveSelectedLayer:order=>Number,setDecalTexture:filePath=>String,setDecalColor:colorData=>Object,setDecalScale:decalData=>Object,setDecalRotation:decalRotation=>Number,setDecalSkew:decalSkew=>Object,setDecalApplyMultiple:applyMultiple=>Boolean,setDecalResetOnApply:resetOnApply=>Boolean,setDecalPositionX:positionX=>Number,setDecalPositionY:positionY=>Number,updateDecalPosition:(positionX,positionY)=>[Number,Number],toggleApplyingDecal:enable=>Boolean,toggleActionMap:enable=>Boolean,toggleDecalVisibility:enable=>Boolean,redo:()=>{},undo:()=>{},createLayer:layerData=>Object,createFillLayer:fillLayerData=>Object,createGroupLayer:layerData=>Object,updateLayer:layerData=>Object,deleteSelectedLayer:()=>{},selectLayer:layerUid=>String,toggleStampActionMap:enable=>Boolean,toggleLayerHighlight:uid$2=>String,toggleLayerVisibility:uid$2=>String},ui_liveryEditor:{save:filename=>String,setup:()=>{},deactivate:()=>{},setDecalTexture:texturePath=>String,useMousePosition:enable=>Boolean,useSurfaceNormal:enable=>Boolean,requestSettingsData:()=>{}},ui_liveryEditor_colorPresets:{getPresets:()=>{},addPreset:()=>{}},ui_liveryEditor_editor:{setup:()=>{},startEditor:()=>{},exitEditor:()=>{},startSession:()=>{},applyDecal:()=>{},applySkin:()=>{},createNew:()=>{},loadFile:path=>String,save:filename=>String,applyChanges:()=>{}},ui_liveryEditor_editMode:{reapply:()=>{},requestReapply:()=>{},cancelReapply:()=>{},setActiveLayer:layerUid=>String,setActiveLayerDirection:direction$1=>Number,removeAppliedLayer:layerUid=>String,resetCursorProperties:properties=>Array,toggleHighlightActive:()=>{},activate:()=>{},deactivate:()=>{},apply:()=>{},requestApply:()=>{},cancelRequestApply:()=>{},toggleRequestApply:()=>{},saveChanges:params=>Object,cancelChanges:()=>{},duplicateActiveLayer:()=>{}},ui_liveryEditor_camera:{setOrthographicView:view=>String,switchOrthographicViewByDirection:(x,y)=>[Number,Number]},ui_liveryEditor_controls:{toggleUseMousePos:()=>{}},ui_liveryEditor_history:{redo:()=>{},undo:()=>{}},ui_liveryEditor_layerAction:{performAction:action=>String,toggleEnabledByLayerUid:uid$2=>String},ui_liveryEditor_layerEdit:{setup:()=>{},setLayer:layerUid=>String,editNewDecal:params=>Object,translateLayer:(x,y)=>[Number,Number],holdTranslate:(axis,value)=>[String,Number],holdTranslateScalar:(axis,value)=>[String,Number],holdScale:(axis,value)=>[String,Number],holdSkew:(axis,value)=>[String,Number],holdPrecise:enable=>Boolean,scaleLayer:(x,y)=>[Number,Number],skewLayer:(x,y)=>[Number,Number],rotateLayer:(steps,counterClockwise)=>[Number,Boolean],setPosition:(x,y)=>[Number,Number],setScale:(x,y)=>[Number,Number],setRotation:degrees=>Number,setSkew:(x,y)=>[Number,Number],setMirrored:settings$1=>[Boolean,Boolean,Number],setLayerMaterials:properties=>Object,activateStampReapply:()=>{},cancelStampReapply:()=>{},requestLayerMaterials:()=>{},saveChanges:()=>{},cancelChanges:()=>{},requestStateData:()=>{},requestInitialLayerData:()=>{},requestTransform:()=>{},endTransform:()=>{},showCursorOrLayer:show=>Boolean,requestReposition:()=>{},cancelReposition:()=>{},applyReposition:()=>{},toggleUseMouseOrCursor:()=>{},setIsRotationPrecise:value=>Boolean,setAllowRotationAction:value=>Boolean},ui_liveryEditor_layers:{requestInitialData:()=>{}},ui_liveryEditor_layers_cursor:{requestData:()=>{}},ui_liveryEditor_layers_decals:{addLayer:params=>Object,setLayer:uid$2=>String},ui_liveryEditor_layers_decal:{addLayerCentered:params=>Object},ui_liveryEditor_layers_fill:{updateLayer:params=>Object,saveChanges:()=>{},restoreLayer:()=>{},restoreDefault:()=>{},requestLayerData:()=>{}},ui_liveryEditor_resources:{requestData:()=>{},getDecalTextures:()=>{},getTextureCategories:()=>{},getTexturesByCategory:category=>String},ui_liveryEditor_selection:{duplicateSelectedLayer:()=>{},getSelectedLayersData:()=>{},setSelected:layerUid=>String,setMultipleSelected:layerUids=>Array,clearSelection:()=>{},toggleSelection:layerIds=>Array,select:(layerIds,highlight)=>[Array,Boolean],toggleHighlightSelectedLayer:()=>{},requestInitialData:()=>{}},ui_liveryEditor_tools:{useTool:tool=>String,closeCurrentTool:()=>{}},ui_liveryEditor_tools_material:{setColor:rgbaArray=>Array,setMetallicIntensity:metallicIntensity=>Number,setNormalIntensity:normalIntensity=>Number,setRoughnessIntensity:roughnessIntensity=>Number,setDecal:decalTexture=>String},ui_liveryEditor_tools_misc:{duplicate:()=>{}},ui_liveryEditor_tools_group:{moveOrderUp:()=>{},moveOrderDown:()=>{},changeOrderToTop:()=>{},changeOrderToBottom:()=>{},moveOrderUpById:layerUid=>[String],moveOrderDownById:layerUid=>[String],setOrder:order=>Number,changeOrder:(oldOrder,oldParent,newOrder,newParent)=>[Number,String,Number,String],groupLayers:()=>{},ungroupLayer:()=>{}},ui_liveryEditor_tools_transform:{translate:(x,y)=>[Number,Number],setPosition:(x,y)=>[Number,Number],rotate:degrees=>Number,scale:(stepsX,stepsY)=>[Number,Number],setScale:(scaleX,scaleY)=>[Number,Number],setRotation:degrees=>Number,skew:(skewX,skewY)=>[Number,Number],setSkew:(skewX,skewY)=>[Number,Number],useStamp:()=>{},cancelStamp:()=>{}},ui_liveryEditor_tools_settings:{deleteLayer:()=>{},setMirrored:(mirrored,flip$2)=>[Boolean,Boolean],setVisibility:show=>Boolean,toggleVisibility:()=>{},toggleVisibilityById:layerUid=>String,toggleLock:()=>{},toggleLockById:layerUid=>String,setMirrorOffset:offset$2=>Number,setUseMousePos:value=>Boolean,setProjectSurfaceNormal:value=>Boolean,rename:name=>String},ui_liveryEditor_userData:{requestUpdatedData:()=>{},getSaveFiles:()=>{},createSaveFile:filename=>String,renameFile:(filename,newFilename)=>[String,String],deleteSaveFile:filename=>String},ui_gameBlur:{replaceGroup:(groupName,list)=>[String,Object]},ui_fadeScreen:{onScreenFadeStateDelayed:state=>Integer},ui_router:{addOrUpdateRoute:(route,config,options)=>[String,Object,Object],push:(routeName,params)=>[String,Object],back:()=>{},forward:()=>{},loadComplete:uiType=>String,routeChangeComplete:uiType=>String},ui_uiMods:{getVueMods:()=>{}}},ActionMap:{enableBindingCapturing:state=>Boolean},gameplay_markerInteraction:{startMissionById:(missionId,userSettings)=>[Any$1,Object],closeViewDetailPrompt:force=>Boolean,changeUserSettings:(missionId,userSettings)=>[String,Object]},ui_missionInfo:{performActivityAction:id=>Integer,setActivityIndexVisible:index=>Integer,closeDialogue:()=>{}},ui_apps_genericMissionData:{sendAllData:()=>{},setData:args=>Object,clearData:()=>{}},ui_apps_pointsBar:{requestAllData:()=>{}},ui_gameplayAppContainers:{getVisibleApps:containerId=>String,onGameplayAppContainerMounted:()=>{},onGameplayAppContainerUnmounted:()=>{},getAvailableApps:containerId=>String,setAppVisibility:(containerId,appId,visible)=>[String,String,Boolean],getAppVisibility:(containerId,appId)=>[String,String],showApp:(containerId,appId)=>[String,String],hideApp:(containerId,appId)=>[String,String],toggleApp:(containerId,appId)=>[String,String],hideAllApps:containerId=>String,getContainerContext:containerId=>String,setContainerContext:(containerId,context)=>[String,String],resetContainerContext:containerId=>String,getAvailableContexts:containerId=>String},ui_messagesTasksAppContainers:{getVisibleApps:containerId=>String,onMessagesTasksAppContainerMounted:()=>{},onMessagesTasksAppContainerUnmounted:()=>{},getAvailableApps:containerId=>String,setAppVisibility:(containerId,appId,visible)=>[String,String,Boolean],getAppVisibility:(containerId,appId)=>[String,String],showApp:(containerId,appId)=>[String,String],hideApp:(containerId,appId)=>[String,String],toggleApp:(containerId,appId)=>[String,String],hideAllApps:containerId=>String},scenetree:{"maincef:setMaxFPSLimit":fps=>Integer},settings:{notifyUI:()=>{},setState:state=>Object,getValue:value=>String,setValue:(settingName,value)=>[String,Any$1]},core_camera:{setFOV:(playerId,fovDeg)=>[Integer,Number]},core_modmanager:{requestState:()=>{}},core_vehicles:{cloneCurrent:()=>{},getModel:model=>String,getCurrentVehicleDetails:withMocked(()=>{},()=>getMockedData(`vehicle.details`)),getVehicleLicenseText:id=>Number,loadDefault:()=>{},removeAll:()=>{},removeAllExceptCurrent:()=>{},removeCurrent:()=>{},requestList:()=>{},requestListEnd:()=>{},setPlateText:plateText=>String,setMeshVisibility:state=>Number,spawnDefault:()=>{},spawnNewVehicle:(model,args)=>[String,Object],replaceVehicle:(model,args)=>[String,Object],isLicensePlateValid:text=>Any$1,getModelList:()=>{}},ui_gridSelector:{getTiles:(backendName,currentPath,pathChanged)=>[String,Object,Boolean],getFilters:backendName=>String,getActiveFilters:backendName=>String,toggleFilter:(backendName,propName,option)=>[String,String],updateRangeFilter:(backendName,propName,min$1,max$1)=>[String,String,Number,Number],resetRangeFilter:(backendName,propName)=>[String,String],resetSetFilter:(backendName,propName)=>[String,String],getSearchText:backendName=>String,setSearchText:(backendName,searchText$1)=>[String,String],getDisplayDataOptions:backendName=>String,setDisplayDataOption:(backendName,key,value)=>[String,String,Any$1],resetDisplayDataToDefaults:backendName=>String,getScreenHeaderTitleAndPath:(backendName,path)=>[String,Object],profilerFinish:(backendName,tag)=>[String,String],closedFromUI:backendName=>String,onOpenedSelectorWithItemDetails:(backendName,itemDetails)=>[String,Object],getDetails:(backendName,itemDetails)=>[String,Object],executeButton:(backendName,buttonId,additionalData)=>[String,Number,Object],getManagementDetails:backendName=>String,exitCallback:()=>{},executeDoubleClick:(backendName,itemDetails)=>[String,Object],exploreFolder:(backendName,path)=>[String,String],goToMod:(backendName,modId)=>[String,String],toggleFavourite:(backendName,itemDetails)=>[String,Object]},ui_gameplaySelector_general:{openGameplaySelector:()=>{},openChallengesSelector:()=>{},openCampaignsSelector:()=>{},openScenariosSelector:()=>{},openRallySelector:()=>{}},ui_gameplaySelector_tileGenerators_levelTiles:{getSpawningOptions:(levelName,backendName)=>[String,String],changeSpawningOption:(key,value)=>[String,Any$1],setAlwaysShowDialogue:(backendName,newValue)=>[String,Boolean]},ui_vehicleSelector_general:{openVehicleSelectorForFreeroamModal:()=>{}},ui_freeroamSelector_general:{setCustomDetailsButtons:buttons=>Array,getCustomDetailsButtons:()=>{},setManagementButtonsEnabled:enabled=>Boolean,getManagementButtonsEnabled:()=>{},openFreeroamSelectorWithCustomButtons:(buttons,callback)=>[Array,Function],setExitCallback:callback=>Function},ui_topBar:{hide:()=>{},requestData:()=>{},requestEntries:()=>{},setActiveItem:itemId=>String,selectItem:itemId=>String,show:()=>{}},core_vehicle_manager:{reloadAllVehicles:()=>{},toggleDebug:()=>{},getDebug:()=>{}},core_vehicle_colors:{setVehicleColor:(index,value)=>[Integer,Object]},core_recoveryPrompt:{getUIData:()=>{},buttonPressed:id=>[String],uiPopupButtonPressed:index=>[Integer],uiPopupCancelPressed:()=>{},onPopupClosed:()=>{}},core_remoteController:{devicesConnected:()=>Boolean,getQRCode:()=>{}},core_levels:{startLevel:()=>{}},util_screenshotCreator:{startWork:workOptions=>Any$1},util_groundModelDebug:{openWindow:()=>{}},scenario_scenariosLoader:{getList:()=>{},start:scenario=>Object},ui_apps_minimap_minimap:{setDrawTransform:(x,y,width$1,height$1)=>[Number,Number,Number,Number],hide:()=>{},toggleOptions:()=>{},getMode:()=>{},setOcclusionTransform:(id,x,y,width$1,height$1)=>[String,Number,Number,Number,Number],resetOcclusionTransform:id=>[String]},ui_apps_minimap_additionalInfo:{requestAdditionalInfo:()=>{}},WinInput:{setForwardRawEvents:state=>Boolean,setForwardFilteredEvents:state=>Boolean},Engine:{Audio:{playOnce:(channel,sound)=>[String,String]},Render:{getAdapterType:()=>{}},UI:{getUIEngine:()=>{}},Platform:{getFSInfo:()=>{}}},Steam:{showFloatingGamepadTextInput:(type,left,top,width$1,height$1)=>[Number,Number,Number,Number,Number]},setCEFTyping:state=>Boolean},api,loadAPI=()=>api||({api}=useBridge());const Any$1=i=>i,Integer=i=>i|0;var argTransformers={Any:Any$1,Boolean,String,Number,Integer,Object,Array:Any$1};signaturesToWrappers(LuaFunctionSignatures_default);var Lua_default=LuaFunctionSignatures_default;function signaturesToWrappers(sigsObject,prefixes$1=[]){let sigType,sig,funcPath,paramTypes,callName;for(let key in sigsObject)sig=sigsObject[key],sigType=typeof sig,funcPath=[...prefixes$1,key],sigType===`function`&&isArrowFunction(sig)?(paramTypes=normaliseTypes(sig(),sig.length),callName=funcPath.join(`.`),sigsObject[key]=buildWrapper(callName,paramTypes,sig.mocked)):sigType===`object`&&(sigsObject[key]=signaturesToWrappers(sig,funcPath));return sigsObject}function buildWrapper(callName,paramTypes,mockResponse=void 0){return(...args)=>run(callName,args,{argTypes:paramTypes,mockResponse})}function isArrowFunction(func){return(``+func).indexOf(`function(`)!=0}function normaliseTypes(types,paramCount){return types?Array.isArray(types)?types:[types]:Array(paramCount).fill(Any$1)}function run(funcName,args,{argTypes=Array(args.length).fill(Any$1),mockResponse}){if(loadAPI(),args.length(argTypes[i]&&argTransformers[argTypes[i].name]||Any$1)(arg)),runMocked(mockResponse,transformedArgs)):(transformedArgs=args.map((arg,i)=>serialize((argTypes[i]&&argTransformers[argTypes[i].name]||Any$1)(arg))),runRaw(`${funcName}(${transformedArgs})`))}function runRaw(luaCode,withPromise=!0){return loadAPI(),withPromise?new Promise(function(resolve$1){api.engineLua(luaCode,resolve$1)}):api.engineLua(luaCode)}function runMocked(response,args){let ret;return ret=typeof response==`function`?response(...args):response,ret&&ret.then?ret:new Promise(resolve$1=>resolve$1(ret))}function serialize(o){return loadAPI(),api.serializeToLua(o)}function serializeCheck(o){return loadAPI(),api.serializeToLua(o)}var StreamManager_default=class{streamsRefCnt={};gameAPI={};constructor(api$1){this.gameAPI=api$1}_updateSubscriptions(){let reqVehStreams=[];for(let k in this.streamsRefCnt)reqVehStreams.push(k);let subscriptions={vehicles:[{byPlayerId:0,streams:reqVehStreams}]};this.gameAPI.subscribeToEvents(JSON.stringify(subscriptions))}add(streams){for(let i=0;i!!(node.offsetWidth&&node.offsetHeight);function isVisible(node,_style=null){let tmp=node;for(_style||=document.defaultView.getComputedStyle(tmp,null);tmp.tagName!==`HTML`;){if(!tmp.isConnected||tmp.nodeType!==Node.ELEMENT_NODE||(_style=document.defaultView.getComputedStyle(tmp,null),_style.display===`none`||_style.visibility===`hidden`||_style.opacity===`0`))return!1;tmp=tmp.parentNode}return!0}function isOccluded$1(element,rect,dontIgnoreOffscreen){let x=(rect.left+rect.right)/2,y=(rect.top+rect.bottom)/2,topElement=document.elementFromPoint(x,y);if(!topElement)return!!dontIgnoreOffscreen;let tmp=topElement;for(;tmp.tagName!==`HTML`;){if(tmp==element||tmp.tagName===`MD-TOOLTIP`||tmp.noOcclude)return!1;tmp=tmp.parentNode}return!0}function dispatchKey(key,elem=window.document){if(typeof key!=`number`)throw Error(`Invalid key`);let target=elem||document,ev=document.createEvent(`KeyboardEvent`);return Object.defineProperty(ev,`keyCode`,{get:function(){return this.keyCodeVal}}),ev.initKeyboardEvent(`keydown`,!0,!0),ev.keyCodeVal=key,target.dispatchEvent(ev)}const eventDispatcherForElement=element=>(type,extras={})=>(isRef$1(element)?element.value:element).dispatchEvent(Object.assign(new Event(type),extras));function observePosition(element,callback){let trackDiv=document.createElement(`div`);setCss(trackDiv,{position:`fixed`,width:`2px`,height:`2px`,padding:`0`,margin:`0`,border:`0`,outline:`0`,"pointer-events":`none`},!0),element.classList.add(`bng-pos-observed`),trackDiv.className=`bng-pos-observer`,element.children.length?element.insertBefore(trackDiv,element.firstChild):element.appendChild(trackDiv),window.BNG_Logger&&window.BNG_Logger.assert(()=>!isAffectedByCss(trackDiv),`Position observer can break styles inside your element! Please adjust your styles using .bng-pos-observed and/or .bng-pos-observer selectors
`,element);let fixPosition=()=>{let rect=trackDiv.getBoundingClientRect();setCss(trackDiv,{"margin-left":`${parseFloat(trackDiv.style.marginLeft||`0`)-rect.left-1}px`,"margin-top":`${parseFloat(trackDiv.style.marginTop||`0`)-rect.top-1}px`},!0)};fixPosition();let intersectionObserver=new IntersectionObserver(entries=>{Math.round(entries[0].intersectionRatio*4)!==1&&(fixPosition(),callback())},{threshold:[.125,.375,.625,.875]});return intersectionObserver.observe(trackDiv),()=>{intersectionObserver.disconnect(),trackDiv.remove(),element.classList.remove(`bng-pos-observed`)}}window.observePosition=observePosition;function setCss(element,rules,important=void 0){if(window.BNG_Logger&&window.BNG_Logger.assert(()=>!Object.values(rules).some(val=>val.endsWith(` !important`)),`Rule values cannot have !important in them. Please set important flag instead.`,rules),important)for(let key in window.BNG_Logger&&window.BNG_Logger.assert(()=>!Object.keys(rules).some(name=>name!==name.toLowerCase()),`Rule names must be in kebab-case (as in CSS itself)`,rules),rules)element.style.setProperty(key,rules[key],`important`);else Object.assign(element.style,rules)}function isAffectedByCss(element,parent=void 0,fast=!1){if(!element||!element.isConnected||!parent&&!element.parentNode)return!1;parent||=element.parentNode;let clone=element.cloneNode(!fast);parent.insertBefore(clone,element);let orig=window.getComputedStyle(element),cloned=window.getComputedStyle(clone),affected=!1;for(let prop of orig)if(orig[prop]!==cloned[prop]){affected=!0;break}return parent.removeChild(clone),affected}var crossfire_exports=__export({MONITORED_UI_NAV_EVENTS:()=>MONITORED_UI_NAV_EVENTS,NAVIGABLE_ELEMENTS_SELECTOR:()=>NAVIGABLE_ELEMENTS_SELECTOR,NAV_PRIORITY_ATTR:()=>NAV_PRIORITY_ATTR,NAV_PRIORITY_CONTAINER_ATTR:()=>NAV_PRIORITY_CONTAINER_ATTR,NO_CHILD_NAV_ATTR:()=>NO_CHILD_NAV_ATTR,NO_NAV_ATTR:()=>NO_NAV_ATTR,SCROLL_ATTR:()=>SCROLL_ATTR,SCROLL_EVENT_H:()=>SCROLL_EVENT_H,SCROLL_EVENT_V:()=>SCROLL_EVENT_V,SCROLL_FORCE_ATTR:()=>SCROLL_FORCE_ATTR,collectRects:()=>collectRects,findNext:()=>findNext,focusOnElement:()=>focusOnElement,handleUINavEvent:()=>handleUINavEvent,isAvailable:()=>isAvailable,isNavigable:()=>isNavigable$1,isNavigatable:()=>isNavigable$1,isOccluded:()=>isOccluded,isVisibleFast:()=>isVisibleFast,navigate:()=>navigate,navigateScroll:()=>navigateScroll,scrollFix:()=>scrollFix,uncollectRects:()=>uncollectRects});const NAVIGABLE_ELEMENTS_SELECTOR=`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`,NO_NAV_ATTR=`bng-no-nav`,NO_CHILD_NAV_ATTR=`bng-no-child-nav`,NAV_PRIORITY_CONTAINER_ATTR=`bng-nav-priority-container`,NAV_PRIORITY_ATTR=`bng-nav-priority-item`;var MENU_NAVIGATION_CLASS=`menu-navigation`,IGNORE_TAGS=[`HTML`,`BODY`];const SCROLL_ATTR=`bng-nav-scroll`,SCROLL_FORCE_ATTR=`bng-nav-scroll-force`;var DIR={LEFT:`left`,UP:`up`,RIGHT:`right`,DOWN:`down`},DIR_KEYS={[DIR.LEFT]:37,[DIR.UP]:38,[DIR.RIGHT]:39,[DIR.DOWN]:40},AXIS_H=`horizontal`,AXIS_V=`vertical`;const SCROLL_EVENT_H=`rotate_h_cam`,SCROLL_EVENT_V=`rotate_v_cam`;var UI_SCROLL_EVENT_ACTIONS={[SCROLL_EVENT_H]:AXIS_H,[SCROLL_EVENT_V]:AXIS_V},UI_SCROLL_ACTION_EVENTS={[AXIS_H]:SCROLL_EVENT_H,[AXIS_V]:SCROLL_EVENT_V},SCALAR_EVENT_H=`focus_lr`,SCALAR_EVENT_V=`focus_ud`,UI_SCALAR_EVENT_ACTIONS={[SCALAR_EVENT_H]:AXIS_H,[SCALAR_EVENT_V]:AXIS_V},UI_NAV_EVENT_ACTIONS={focus_u:`up`,focus_d:`down`,focus_l:`left`,focus_r:`right`,ok:`confirm`,tab_l:`tab_l`,tab_r:`tab_r`};const MONITORED_UI_NAV_EVENTS=[...Object.keys(UI_NAV_EVENT_ACTIONS),...Object.keys(UI_SCALAR_EVENT_ACTIONS)];var THUMBSTICK_DEADZONE=.5,lastScalarValue={horizontal:0,vertical:0},TRACKER_ID=`crossfire`;function focusOnElement(elem){let contentEditable=elem.contentEditable,tabIndex=elem.tabIndex;elem.contentEditable=!0,elem.tabIndex=0,elem.focus(),elem.tabIndex=tabIndex,elem.contentEditable=contentEditable}function getNavigableElements(root=null,forceAll=!1){let res=[...(root||document.body).querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR)];return forceAll||(res=res.filter(elem=>{if(elem.parentNode.closest(`[bng-no-child-nav="1"], [bng-no-child-nav="true"]`))return!1;let noNav=elem.attributes.getNamedItem(NO_NAV_ATTR);return!noNav||noNav.value!==`true`})),res}function isNavigable$1(elem,forceAll=!1){if(!elem||IGNORE_TAGS.includes(elem.nodeName||elem.tagName))return!1;if(elem.classList.contains(MENU_NAVIGATION_CLASS))return!0;let parent=elem.parentNode;if(!parent)return!1;let children=getNavigableElements(parent,forceAll);for(let child of children)if(child===elem)return!0;return!1}function uncollectRects(){let ns=getNavigableElements();for(let node of ns)node.classList.remove(MENU_NAVIGATION_CLASS)}var warnPrioNesting=window.beamng&&!window.beamng.shipping;function collectRects(direction$1,parent,forceAll=!1){let links={};direction$1?links[direction$1]=[]:(links.up=[],links.down=[],links.left=[],links.right=[]);let prioNodes=new WeakSet,ns=getNavigableElements(parent,forceAll);for(let node of ns){if(!isAvailable(node)){node.classList.remove(MENU_NAVIGATION_CLASS);continue}let rectNode=node,prioNode=node.closest(`[${NAV_PRIORITY_CONTAINER_ATTR}]`);if(prioNode&&prioNode!==node&&!prioNodes.has(prioNode)){if(prioNodes.add(prioNode),!warnPrioNesting){let parent$1=prioNode.parentNode.closest(`[${NAV_PRIORITY_CONTAINER_ATTR}]`);parent$1&&(console.warn(`Priority container nesting is not supported. Please remove the nested priority container.
    `)}serializeToLua(obj){let tmp;if(obj==null)return`nil`;switch(obj.constructor){case String:return obj.search(/\\|\"|\n|\t|\r/)==-1?`"${obj}"`:`"${obj.replace(/\\/g,`\\\\`).replace(/\"/g,`\\"`).replace(/\n|\r/g,`\\n`).replace(/\t/g,`\\t`)}"`;case Number:return isFinite(obj)?obj.toString():null;case Boolean:return obj?`true`:`false`;case Array:tmp=[];for(let i=0;iLua_default.extensions[LUA_BLUR_EXTENSION].replaceGroup(`uiBlur`,blurRegionList),getNextAvailableId=()=>(highestId<2**53-1?highestId++:highestId=0).toString(),LUA_BLUR_UNLOADED=0,LUA_BLUR_LOADING=1,LUA_BLUR_LOADED=2,blurLoadedState=LUA_BLUR_UNLOADED;function applyBlur(){if(!window.beamng||!window.beamng.ingame||blurLoadedState===LUA_BLUR_LOADING)return;let isEmpty=!Object.keys(blurRegionList).length;blurLoadedState===LUA_BLUR_UNLOADED?isEmpty||(blurLoadedState=LUA_BLUR_LOADING,Lua_default.extensions.load(LUA_BLUR_EXTENSION).then(()=>{blurLoadedState=LUA_BLUR_LOADED,sendBlurListToLua()})):isEmpty?(Lua_default.extensions.unload(LUA_BLUR_EXTENSION),blurLoadedState=LUA_BLUR_UNLOADED):sendBlurListToLua()}var GameBlurrer_default={register(coord){if(coord===void 0)throw Error(`Cannot register bng-blur with coordinates: `+coord);let id=getNextAvailableId();return blurRegionList[id]=coord,applyBlur(),id},unregister(id){id in blurRegionList&&(delete blurRegionList[id],applyBlur())},update(id,coord){if(!(id in blurRegionList))throw Error(`Trying to update bng-blur with an ID that is not registered: ${id} (of ${Object.keys(blurRegionList)})`);blurRegionList[id]=coord,applyBlur()}},handlers={},streamCoordinator;window.streamUpdate=data=>_runHandlers(`stream`,data),window.multihookUpdate=hooksData=>{for(let i in hooksData){let hook=hooksData[i];trigger(hook[0],hook[1])}},window.HookManager={trigger};var skippedStreamUpdate=null,streamUpdateHandler=function(data){if(streamCoordinator?.processing){console.log(`ERROR: streamUpdate cycle is already active, skipping this update of streams`),skippedStreamUpdate=data;return}skippedStreamUpdate=null;let oldFormat={};if(data.globalStreams)for(let sn in data.globalStreams)oldFormat[sn]=data.globalStreams[sn];if(data.vehicleStreams&&data.vehicleStreams.player_0)for(let sn in data.vehicleStreams.player_0)oldFormat[sn]=data.vehicleStreams.player_0[sn];streamCoordinator?.beforeBroadcast(),window.globalAngularRootScope?.$broadcast(`streamsUpdate`,oldFormat),window.vueEventBus?.emit(`onStreamsUpdate`,oldFormat),window.vueGlobalStore&&(window.vueGlobalStore.streams=oldFormat),streamCoordinator?.afterBroadcast(()=>{!streamCoordinator.processing&&skippedStreamUpdate&&streamUpdateHandler(skippedStreamUpdate)})};add$1(`streamMain`,streamUpdateHandler,`stream`);var mainHookHandler=function(hookName,args){args&&!Array.isArray(args)&&console.error(`HookManager.trigger unsupported arguments (needs to be a list): `+JSON.stringify(hookName)+` - `+JSON.stringify(args).substring(0,30)+` ... `),window.vueEventBus?.emit(hookName,...args),window.globalAngularRootScope?.$broadcast(hookName,...args)};add$1(`hooksMain`,mainHookHandler);function add$1(id,func,type=`hook`){handlers[type]||(handlers[type]={}),handlers[type][id]=func}function remove$1(id,type=`hook`){handlers[type]&&delete handlers[type][id]}function trigger(hookName,args){_runHandlers(`hook`,hookName,args)}function _runHandlers(type,...data){if(handlers[type]){let toRun=Object.values(handlers[type]);toRun.length&&toRun.forEach(f=>f(...data))}}var Hooks_default={add:add$1,remove:remove$1,trigger,setStreamCoordinator(manager){streamCoordinator=manager}},scriptRel=`modulepreload`,assetsURL=function(dep){return`/local/ui/ui-vue/`+dep},seen={};const __vitePreload=function(baseModule,deps$1,importerUrl){let promise=Promise.resolve();if(deps$1&&deps$1.length>0){let links=document.getElementsByTagName(`link`),cspNonceMeta=document.querySelector(`meta[property=csp-nonce]`),cspNonce=cspNonceMeta?.nonce||cspNonceMeta?.getAttribute(`nonce`);function allSettled(promises$2){return Promise.all(promises$2.map(p$1=>Promise.resolve(p$1).then(value$1=>({status:`fulfilled`,value:value$1}),reason=>({status:`rejected`,reason}))))}promise=allSettled(deps$1.map(dep=>{if(dep=assetsURL(dep,importerUrl),dep in seen)return;seen[dep]=!0;let isCss=dep.endsWith(`.css`),cssSelector=isCss?`[rel="stylesheet"]`:``;if(importerUrl)for(let i$1=links.length-1;i$1>=0;i$1--){let link$1=links[i$1];if(link$1.href===dep&&(!isCss||link$1.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${dep}"]${cssSelector}`))return;let link=document.createElement(`link`);if(link.rel=isCss?`stylesheet`:scriptRel,isCss||(link.as=`script`),link.crossOrigin=``,link.href=dep,cspNonce&&link.setAttribute(`nonce`,cspNonce),document.head.appendChild(link),isCss)return new Promise((res,rej)=>{link.addEventListener(`load`,res),link.addEventListener(`error`,()=>rej(Error(`Unable to preload CSS for ${dep}`)))})}))}function handlePreloadError(err$2){let e$1=new Event(`vite:preloadError`,{cancelable:!0});if(e$1.payload=err$2,window.dispatchEvent(e$1),!e$1.defaultPrevented)throw err$2}return promise.then(res=>{for(let item of res||[])item.status===`rejected`&&handlePreloadError(item.reason);return baseModule().catch(handlePreloadError)})};var MOCK_DATA_PATH=`../mockdata`;function applyMockInterface(originalObject,mockInterface){let handler$1={mockInterface,get(target,propertyName){return this.mockInterface[propertyName]||target[propertyName]||defaultMockedMethod(propertyName)}};return new Proxy(originalObject,handler$1)}function defaultMockedMethod(name){return{[name]:function(...args){console.log(`Mocked method '${name}' called with:`),console.log(args)}}[name]}function getMockedData(fullPath){const[file$1,...path]=fullPath.split(`.`),filename=`${MOCK_DATA_PATH}/${file$1}.js`,toEval=[`d`,`default`,...path].join(`.`);return __vitePreload(()=>import(filename),[]).then(d=>eval(toEval))}const runInBrowser=fn=>{window.beamng||fn()},sendGUIHook=(name,...params)=>{window.bridge&&window.bridge.events&&window.bridge.events.emit(name,...params),window.globalAngularRootScope&&window.globalAngularRootScope.$broadcast(name,...params)};var withMocked=(sig,getData)=>(sig.mocked=getData,sig),LuaFunctionSignatures_default={dev:{getMockedData:key=>String},getVehicleColor:()=>{},getVehicleColorPalette:index=>Integer,resetGameplay:playerID=>Integer,quit:()=>{},checkFSErrors:()=>{},returnToMainMenu:()=>{},guihooks:{trigger:withMocked(hookName=>String,sendGUIHook)},simTimeAuthority:{togglePause:()=>{},getPause:()=>{},pause:state=>Boolean,pushPauseRequest:id=>String,popPauseRequest:id=>String},commands:{toggleCamera:()=>{}},ui_audio:{playEventSound:(soundClass,type)=>[String,String]},career_career:{closeAllMenus:()=>{},isActive:()=>{},sendAllCareerSaveSlotsData:()=>{},sendCurrentSaveSlotData:()=>{},createOrLoadCareerAndStart:(id,specificAutosave,tutorial)=>[String,Any$1,Boolean]},career_saveSystem:{saveCurrent:()=>{},removeSaveSlot:id=>String,renameSaveSlot:(name,newName)=>[String,String]},career_modules_uiUtils:{getCareerStatusData:withMocked(()=>{},()=>getMockedData(`career.status`)),getCareerSimpleStats:withMocked(()=>{},()=>getMockedData(`career.simpleStats`)),getCareerPauseContextButtons:()=>{},callCareerPauseContextButtons:id=>Number,getCareerCurrentLevelName:()=>{}},career_modules_fuel:{requestRefuelingTransactionData:()=>{},sendUpdateDataToUI:()=>{},uiButtonStartFueling:energyType=>String,uiButtonStopFueling:energyType=>String,onChangeFlowRate:flowRate=>Number,payPrice:()=>{},uiCancelTransaction:()=>{}},career_modules_logbook:{getLogbook:withMocked(()=>{},()=>getMockedData(`logbook.sample`)),setLogbookEntryRead:(id,state)=>[String,Boolean]},career_modules_milestones_milestones:{getMilestones:()=>{},claim:id=>Number,unclaimedMilestonesCount:()=>{}},career_modules_branches_landing:{openBigMapWithMissionSelected:id=>String,getBranchSkillCardData:id=>String,getBranchPageData:id=>String,getLandingPageData:domain=>String,getCargoProgressForUI:()=>{}},career_modules_partShopping:{cancelShopping:()=>{},applyShopping:()=>{},installPartByPartShopId:id=>Number,removePartBySlot:slot=>String,sendShoppingDataToUI:()=>{}},career_modules_vehicleShopping:{showVehicle:id=>Number,navigateToPos:pos=>Object,openShop:(seller,computerId)=>[Any$1,Any$1],cancelShopping:()=>{},quickTravelToVehicle:id=>Number,openPurchaseMenu:(purchaseType,shopId)=>[String,Number],updateInsuranceSelection:insuranceId=>Number,openInventoryMenuForTradeIn:()=>{},buyFromPurchaseMenu:(purchaseType,options)=>[String,Any$1],cancelPurchase:purchaseType=>String,getShoppingData:()=>{},sendPurchaseDataToUi:()=>{},removeTradeInVehicle:()=>{},onShoppingMenuClosed:()=>{}},career_modules_marketplace:{getListings:()=>{},menuOpened:open$1=>Boolean,acceptOffer:(inventoryId,offerIndex)=>[Number,Number],declineOffer:(inventoryId,offerIndex)=>[Number,Number],listVehicles:inventoryIds=>[Array],openMenu:()=>{},removeVehicleListing:inventoryId=>Number,startNegotiateBuyingOffer:(inventoryId,offerIndex)=>[Number,Number],startNegotiateSellingOffer:shopId=>[Number],getNegotiationState:()=>{},makeNegotiationOffer:price=>Number,takeTheirOffer:()=>{},cancelNegotiation:()=>{}},career_modules_testDrive:{stop:()=>{}},career_modules_inspectVehicle:{startTestDrive:()=>{},onInspectScreenChanged:enabled=>Boolean,onPurchaseMenuClosed:()=>{},repairVehicle:()=>{}},career_modules_loanerVehicles:{markForSpawning:loanInfo=>Object,spawnAndLoanVehicle:(vehicleInfo,loanInfo)=>[Object,Object],getLoanedVehiclesByOrg:orgId=>String,returnVehicle:inventoryId=>Number},career_modules_inventory:{sellVehicle:id=>Number,sellVehicleFromInventory:id=>Number,returnLoanedVehicleFromInventory:id=>Number,expediteRepairFromInventory:(inventoryId,price)=>[Number,Number],enterVehicle:id=>Number,openMenuFromComputer:computerId=>String,closeMenu:()=>{},chooseVehicleFromMenu:(vehId,buttonId,repairPrevVeh)=>[Number,Number,Boolean],setFavoriteVehicle:id=>Number,sendDataToUi:()=>{},removeVehicleObject:id=>Number,getVehicle:id=>Number,getVehicleUiData:id=>Number,isEmpty:()=>{},setLicensePlateText:(inventoryId,text)=>[Number,String],purchaseLicensePlateText:(inventoryId,text,money)=>[Number,String,Number],isLicensePlateValid:text=>String,isVehicleNameValid:text=>String,renameVehicle:(inventoryId,name)=>[Number,String],openInventoryMenuForChoosingListing:()=>{}},career_modules_vehiclePerformance:{startDragTest:id=>Number,cancelTest:()=>{}},career_modules_partInventory:{openMenu:computerId=>Any$1,closeMenu:()=>{},sendUIData:()=>{},sellParts:ids=>Array,partInventoryClosed:()=>{}},career_modules_insurance_insurance:{getProposablePoliciesForVehInv:invVehId=>Number,payInsuranceScoreReset:policyId=>Number,purchaseInsurance:id=>Number,calculateRenewalPriceDetails:(policyId,tempPerks)=>[Number,Any$1],changeInvVehInsuranceCoverageOptions:(policyId,changedPerks)=>[Number,Object],changeInvVehInsurance:(invVehId,newInsuranceId)=>[Number,Number],startRepairInGarage:(vehicleInfo,repairOptionData)=>[Object,Object],openRepairMenu:(vehicleInfo,originComputerId)=>[Object,Any$1],closeMenu:()=>{},sendUIData:()=>{},inventoryVehNeedsRepair:inventoryId=>Number,getInvVehHaveFuelDiscount:invVehId=>Object,openChooseInsuranceScreen:()=>{},calculateInsurancePremium:(insuranceId,potentialCoverageOptions,potentialVehiclesCoverageOptions)=>[Number,Object,Object],saveNewInsuranceCoverageOptions:(insuranceId,newCoverageOptions)=>[Number,Object],calculateVehiclePremium:(vehicleId,nonInvVehInfo,potentialCoverageOptions)=>[Number,Object,Object],saveNewVehicleCoverageOptions:(vehicleId,newCoverageOptions)=>[Number,Object],sendChooseInsuranceDataToTheUI:(purchaseType,shopId,defaultInsuranceId)=>[String,Number,Number],sendChangeInsuranceDataToTheUI:vehicleId=>[Number],resetDriverScore:()=>{}},career_modules_insurance_repairScreen:{getRepairData:()=>{},closeMenu:()=>{},startRepairInGarage:(invVehId,repairOptionData)=>[Number,Object],openRepairMenu:(vehicleInfo,originComputerId)=>[Object,Any$1]},career_modules_playerAbstract:{getPlayerAbstractData:()=>{},closePlayerAbstractMenu:()=>{}},career_modules_tuning:{apply:tuningValues=>Object,start:(vehId,origin)=>[Any$1,Any$1],getTuningData:()=>{},close:()=>{},applyShopping:()=>{},cancelShopping:()=>{},removeVarFromShoppingCart:varName=>String},career_modules_painting:{apply:()=>{},start:(vehId,origin)=>[Any$1,Any$1],getPaintData:()=>{},close:()=>{},setPaints:paint=>Object,getFactoryPaint:()=>{},onUIOpened:()=>{}},career_modules_questManager:{setQuestAsNotNew:id=>String,claimRewardsById:id=>String},career_modules_computer:{onMenuClosed:()=>{},getComputerUIData:()=>{},computerButtonCallback:(buttonId,inventoryId)=>[String,Any$1],openComputerMenuById:computerId=>String,closeAllMenus:()=>{}},career_modules_delivery_general:{setAutomaticRoute:enabled=>Boolean,setDetailedDropOff:enabled=>Boolean,setSetting:(key,value)=>[String,Any$1],getSettings:()=>{},setDeliveryTimePaused:paused=>Boolean},career_modules_delivery_cargoScreen:{requestCargoDataForUi:(facilityId,parkingSpotPath,updateMaxTimeStamp)=>[Any$1,Any$1,Any$1],moveCargoFromUi:(cargoId,targetLocation)=>[Number,Object],commitDeliveryConfiguration:()=>{},cancelDeliveryConfiguration:()=>{},exitDeliveryMode:()=>{},exitCargoOverviewScreen:()=>{},showCargoRoutePreview:cargoId=>Any$1,showVehicleOfferRoutePreview:offerId=>Any$1,setCargoRoute:(cargoId,origin)=>[Number,Boolean],showLocationRoutePreview:(location$1,asProvider)=>[Any$1,Boolean],showCargoContainerHelpPopup:()=>{},setBestRoute:()=>{},spawnOffer:(offerId,fadeToBlack)=>[Number,Any$1],abandonAcceptedOffer:vehId=>Number,setCargoScreenTab:tab=>String,unloadCargoPopupClosed:()=>{},moveMaterialFromUi:()=>{},requestDropOffData:()=>{},confirmDropOffData:(data,facId,psPath)=>[Any$1,Any$1,Any$1],dropOffPopupClosed:mode=>String,clearTransientMoveForCargo:cargoId=>Number,clearTransientMovesForStorage:materialType=>String,applyTransientMoves:()=>{},toggleOfferForSpawning:id=>Number,tryLoadAll:cargoIds=>Array,showRoutePreview:route=>Object,deliveryScreenExternalButtonPressed:id=>Any$1},career_modules_delivery_progress:{activateSound:(soundLabel,active)=>[String,Boolean]},career_modules_linearTutorial:{introPopup:(key,force)=>[String,Boolean],wasIntroPopupsSeen:pages=>Array,isLinearTutorialActive:()=>{}},gameplay_drag_dragBridge:{getHistory:id=>Object,screenshotTimeslip:()=>{}},gameplay_crashTest_scenarioManager:{nextStepFromUI:()=>{}},gameplay_discover:{getDiscoverPages:()=>{},startDiscover:discoverId=>String},freeroam_organizations:{getUIData:()=>{},getUIDataForOrg:orgId=>String},core_replay:{onInit:()=>{},loadFile:filename=>String,stop:()=>{},openReplayFolderInExplorer:()=>{},getRecordings:()=>{},removeRecording:filename=>String,togglePlay:()=>{},toggleRecording:()=>{},cancelRecording:()=>{},toggleSpeed:speed=>Number,pause:()=>{},seek:positionPercent=>Number,acceptRename:(oldFilename,newFilename)=>[String,String],saveMissionReplay:filename=>String,removeMissionSavedReplay:filename=>String,openMissionReplayFolder:filename=>String},core_gamestate:{requestGameState:()=>{},loadingScreenActive:()=>{}},core_gameContext:{getGameContext:withMocked(params=>{},params=>getMockedData(`gameContext.gameContextData`))},core_online:{requestState:()=>{}},core_hardwareinfo:{requestState:()=>{},getInfo:()=>{}},gameplay_statistic:{sendGUIState:()=>{}},core_quickAccess:{getUiData:()=>{},selectItem:(id,buttonDown,actionIndex)=>[Number,Boolean,Number],contextAction:(id,buttonDown,actionIndex)=>[Number,Boolean,Number],back:()=>{},setEnabled:(enabled,level$1,force)=>[Boolean,String,Boolean],openDynamicSlotConfigurator:index=>Number,getDynamicSlotConfigurationData:()=>{},setDynamicSlotConfiguration:(key,data)=>[String,Object],toggle:()=>[],tryAction:action=>String},ui_bindingsLegend:{sendDataToUI:forceResetFade=>Boolean,triggerInputAction:(action,value)=>[String,Number],toggleShowApp:()=>{},toggleShowVehicleSpecificActions:()=>{}},freeroam_bigMapMode:{enterBigMap:instant=>Object,exitBigMap:force=>Boolean,setBigmapScreenBounds:(windowBounds,mapBounds)=>[Object,Object],navigateToMission:poiId=>String,selectPoi:poiId=>String,poiHovered:(poiId,active)=>[String,Boolean],teleportToPoi:poiId=>String,setOnlyIdsVisible:poiIds=>Array,deselect:()=>{},openPopupCallback:()=>{},toggleBigMap:()=>{},setUiFocus:focus$1=>Boolean},freeroam_bigMapPoiProvider:{sendMissionLocationsToMinimap:()=>{},sendCurrentLevelMissionsToBigmap:()=>{},toggleGroupVisibility:groupKey=>String},freeroam_freeroamConfigurator:{getConfiguration:()=>{},getButtons:()=>{},triggerButton:buttonId=>Number,updateOption:(key,value)=>[String,Any$1],onSpawnPointTileClick:()=>{},onVehicleTileClick:()=>{},getCurrentSpawnPointTile:()=>{},getCurrentVehicleTile:()=>{},setSpawnPoint:(levelName,spawnPointName,key)=>[String,String,String],setVehicle:(model,config,additionalData,key)=>[String,String,Object,String],doubleClickOverride:item=>[Object]},gameplay_taxi:{startTaxiWithCurrentRoute:()=>{}},freeroam_vueBigMap:{enterBigMap:()=>{},exitBigMap:()=>{},getPoiData:()=>{},getFilters:()=>{},getGroups:()=>{},toggleFiltersByIds:filterIds=>Object,toggleFilterSectionById:sectionId=>Object,getGameStateInfo:()=>{},selectPoiFromList:poiId=>String,hoverPoiFromList:(poiId,active)=>[String,Boolean],executePoiAction:actionId=>Number},freeroam_freeroam:{startTrackBuilder:mapName=>String},extensions:{isExtensionLoaded:extensionName=>Boolean,load:extensionName=>String,unload:extensionName=>String,hook:hook=>String,ui_messagesDebugger:{show:()=>{},hide:()=>{},toggle:()=>{}},tech_license:{requestState:()=>{},isValid:()=>{}},core_input_actionFilter:{addAction:(filter,actionName,filtered)=>[Number,String,Boolean],setGroup:(name,actioNames)=>[String,Any$1]},core_input_bindings:{FFBSafetyDataRequest:()=>{},resetBindings:()=>{},resetBindingsForDevice:deviceName=>String,setMenuActionMapEnabled:state=>Boolean,getMenuActionMapEnabled:()=>{},setMenuActionEnabled:(enabled,actionName)=>[Boolean,String],notifyUI:reason=>String,saveBindingsToDisk:deviceContents=>Object,getRecentDevices:()=>{}},core_vehicle_partmgmt:{getConfigList:()=>{},highlightParts:(parts,vehID)=>[Object,Number],loadLocal:filename=>String,resetPartsToLoadedConfig:()=>{},resetVarsToLoadedConfig:()=>{},resetAllToLoadedConfig:()=>{},openConfigFolderInExplorer:()=>{},removeLocal:configName=>String,savedefault:()=>{},saveLocal:filename=>String,sendDataToUI:()=>{},selectPart:(part,subparts)=>[String,Boolean],selectParts:(parts,vehID)=>[Object,Number],selectReset:()=>{},setConfigVars:vars=>Object,setPartsConfig:config=>Object,setPartsTreeConfig:config=>Object,showHighlightedParts:vehID=>Number,setDynamicTextureMaterials:()=>{},partsSelectorChanged:parts=>Object,sendPartsSelectorStateToUI:()=>{}},core_vehicle_mirror:{getAnglesOffset:()=>{},focusOnMirror:mirror_name=>Any$1,setAngleOffset:(mirrorName,x,z,v,save)=>[String,Number,Number,Boolean,Boolean]},gameplay_drift_general:{onDriftAppMounted:()=>{},onDriftAppUnmounted:()=>{}},gameplay_missions_missionScreen:{getMissionScreenData:withMocked(()=>{},()=>getMockedData(`missionDetails.getMissionScreenData`)),startMissionById:(missionId,userSettings,startingOptions)=>[String,Object,Object],stopMissionById:id=>[String],changeUserSettings:(missionId,userSettings)=>[String,Object],startFromWithinMission:(id,userSettings)=>[String,Object],getActiveStarsForUserSettings:(id,userSettings)=>[String,Object],requestStartingOptionsForUserSettings:(id,userSettings)=>[String,Object],isAnyMissionActive:()=>{},isMissionStartOrEndScreenActive:()=>{},openAPMChallenges:(branch,skill)=>[String,String],navigateToMission:id=>[String],setPreselectedMissionId:id=>[String],showMissionRules:id=>[String],getMissionTiles:()=>{},activateSound:(soundLabel,active,frequency)=>[String,Boolean,Number],activateSoundBlur:active=>{Boolean},openVehicleSelectorForMissionBySetting:(mId,settingKey)=>[String,String]},gameplay_missions_missionManager:{getCurrentTaskdataTypeOrNil:()=>{}},gameplay_garageMode:{start:()=>{},isActive:()=>{},setCamera:view=>String,setLighting:lights=>Array,getLighting:()=>{},setGarageMenuState:state=>String,stop:()=>{},testVehicle:()=>{}},ui_dynamicDecals:{initialize:()=>{},exit:()=>{},requestUpdatedData:()=>{},setupEditor:()=>{},loadSaveFile:path=>String,createSaveFile:()=>{},saveChanges:filename=>String,cancelChanges:()=>{},exportSkin:skinName=>String,moveSelectedLayer:order=>Number,setDecalTexture:filePath=>String,setDecalColor:colorData=>Object,setDecalScale:decalData=>Object,setDecalRotation:decalRotation=>Number,setDecalSkew:decalSkew=>Object,setDecalApplyMultiple:applyMultiple=>Boolean,setDecalResetOnApply:resetOnApply=>Boolean,setDecalPositionX:positionX=>Number,setDecalPositionY:positionY=>Number,updateDecalPosition:(positionX,positionY)=>[Number,Number],toggleApplyingDecal:enable=>Boolean,toggleActionMap:enable=>Boolean,toggleDecalVisibility:enable=>Boolean,redo:()=>{},undo:()=>{},createLayer:layerData=>Object,createFillLayer:fillLayerData=>Object,createGroupLayer:layerData=>Object,updateLayer:layerData=>Object,deleteSelectedLayer:()=>{},selectLayer:layerUid=>String,toggleStampActionMap:enable=>Boolean,toggleLayerHighlight:uid$2=>String,toggleLayerVisibility:uid$2=>String},ui_liveryEditor:{save:filename=>String,setup:()=>{},deactivate:()=>{},setDecalTexture:texturePath=>String,useMousePosition:enable=>Boolean,useSurfaceNormal:enable=>Boolean,requestSettingsData:()=>{}},ui_liveryEditor_colorPresets:{getPresets:()=>{},addPreset:()=>{}},ui_liveryEditor_editor:{setup:()=>{},startEditor:()=>{},exitEditor:()=>{},startSession:()=>{},applyDecal:()=>{},applySkin:()=>{},createNew:()=>{},loadFile:path=>String,save:filename=>String,applyChanges:()=>{}},ui_liveryEditor_editMode:{reapply:()=>{},requestReapply:()=>{},cancelReapply:()=>{},setActiveLayer:layerUid=>String,setActiveLayerDirection:direction$1=>Number,removeAppliedLayer:layerUid=>String,resetCursorProperties:properties=>Array,toggleHighlightActive:()=>{},activate:()=>{},deactivate:()=>{},apply:()=>{},requestApply:()=>{},cancelRequestApply:()=>{},toggleRequestApply:()=>{},saveChanges:params=>Object,cancelChanges:()=>{},duplicateActiveLayer:()=>{}},ui_liveryEditor_camera:{setOrthographicView:view=>String,switchOrthographicViewByDirection:(x,y)=>[Number,Number]},ui_liveryEditor_controls:{toggleUseMousePos:()=>{}},ui_liveryEditor_history:{redo:()=>{},undo:()=>{}},ui_liveryEditor_layerAction:{performAction:action=>String,toggleEnabledByLayerUid:uid$2=>String},ui_liveryEditor_layerEdit:{setup:()=>{},setLayer:layerUid=>String,editNewDecal:params=>Object,translateLayer:(x,y)=>[Number,Number],holdTranslate:(axis,value)=>[String,Number],holdTranslateScalar:(axis,value)=>[String,Number],holdScale:(axis,value)=>[String,Number],holdSkew:(axis,value)=>[String,Number],holdPrecise:enable=>Boolean,scaleLayer:(x,y)=>[Number,Number],skewLayer:(x,y)=>[Number,Number],rotateLayer:(steps,counterClockwise)=>[Number,Boolean],setPosition:(x,y)=>[Number,Number],setScale:(x,y)=>[Number,Number],setRotation:degrees=>Number,setSkew:(x,y)=>[Number,Number],setMirrored:settings$1=>[Boolean,Boolean,Number],setLayerMaterials:properties=>Object,activateStampReapply:()=>{},cancelStampReapply:()=>{},requestLayerMaterials:()=>{},saveChanges:()=>{},cancelChanges:()=>{},requestStateData:()=>{},requestInitialLayerData:()=>{},requestTransform:()=>{},endTransform:()=>{},showCursorOrLayer:show=>Boolean,requestReposition:()=>{},cancelReposition:()=>{},applyReposition:()=>{},toggleUseMouseOrCursor:()=>{},setIsRotationPrecise:value=>Boolean,setAllowRotationAction:value=>Boolean},ui_liveryEditor_layers:{requestInitialData:()=>{}},ui_liveryEditor_layers_cursor:{requestData:()=>{}},ui_liveryEditor_layers_decals:{addLayer:params=>Object,setLayer:uid$2=>String},ui_liveryEditor_layers_decal:{addLayerCentered:params=>Object},ui_liveryEditor_layers_fill:{updateLayer:params=>Object,saveChanges:()=>{},restoreLayer:()=>{},restoreDefault:()=>{},requestLayerData:()=>{}},ui_liveryEditor_resources:{requestData:()=>{},getDecalTextures:()=>{},getTextureCategories:()=>{},getTexturesByCategory:category=>String},ui_liveryEditor_selection:{duplicateSelectedLayer:()=>{},getSelectedLayersData:()=>{},setSelected:layerUid=>String,setMultipleSelected:layerUids=>Array,clearSelection:()=>{},toggleSelection:layerIds=>Array,select:(layerIds,highlight)=>[Array,Boolean],toggleHighlightSelectedLayer:()=>{},requestInitialData:()=>{}},ui_liveryEditor_tools:{useTool:tool=>String,closeCurrentTool:()=>{}},ui_liveryEditor_tools_material:{setColor:rgbaArray=>Array,setMetallicIntensity:metallicIntensity=>Number,setNormalIntensity:normalIntensity=>Number,setRoughnessIntensity:roughnessIntensity=>Number,setDecal:decalTexture=>String},ui_liveryEditor_tools_misc:{duplicate:()=>{}},ui_liveryEditor_tools_group:{moveOrderUp:()=>{},moveOrderDown:()=>{},changeOrderToTop:()=>{},changeOrderToBottom:()=>{},moveOrderUpById:layerUid=>[String],moveOrderDownById:layerUid=>[String],setOrder:order=>Number,changeOrder:(oldOrder,oldParent,newOrder,newParent)=>[Number,String,Number,String],groupLayers:()=>{},ungroupLayer:()=>{}},ui_liveryEditor_tools_transform:{translate:(x,y)=>[Number,Number],setPosition:(x,y)=>[Number,Number],rotate:degrees=>Number,scale:(stepsX,stepsY)=>[Number,Number],setScale:(scaleX,scaleY)=>[Number,Number],setRotation:degrees=>Number,skew:(skewX,skewY)=>[Number,Number],setSkew:(skewX,skewY)=>[Number,Number],useStamp:()=>{},cancelStamp:()=>{}},ui_liveryEditor_tools_settings:{deleteLayer:()=>{},setMirrored:(mirrored,flip$2)=>[Boolean,Boolean],setVisibility:show=>Boolean,toggleVisibility:()=>{},toggleVisibilityById:layerUid=>String,toggleLock:()=>{},toggleLockById:layerUid=>String,setMirrorOffset:offset$2=>Number,setUseMousePos:value=>Boolean,setProjectSurfaceNormal:value=>Boolean,rename:name=>String},ui_liveryEditor_userData:{requestUpdatedData:()=>{},getSaveFiles:()=>{},createSaveFile:filename=>String,renameFile:(filename,newFilename)=>[String,String],deleteSaveFile:filename=>String},ui_gameBlur:{replaceGroup:(groupName,list)=>[String,Object]},ui_fadeScreen:{onScreenFadeStateDelayed:state=>Integer},ui_router:{addOrUpdateRoute:(route,config,options)=>[String,Object,Object],push:(routeName,params)=>[String,Object],back:()=>{},forward:()=>{},loadComplete:uiType=>String,routeChangeComplete:uiType=>String},ui_uiMods:{getVueMods:()=>{}}},ActionMap:{enableBindingCapturing:state=>Boolean},gameplay_markerInteraction:{startMissionById:(missionId,userSettings)=>[Any$1,Object],closeViewDetailPrompt:force=>Boolean,changeUserSettings:(missionId,userSettings)=>[String,Object]},ui_missionInfo:{performActivityAction:id=>Integer,setActivityIndexVisible:index=>Integer,closeDialogue:()=>{}},ui_apps_genericMissionData:{sendAllData:()=>{},setData:args=>Object,clearData:()=>{}},ui_apps_pointsBar:{requestAllData:()=>{}},ui_gameplayAppContainers:{getVisibleApps:containerId=>String,onGameplayAppContainerMounted:()=>{},onGameplayAppContainerUnmounted:()=>{},getAvailableApps:containerId=>String,setAppVisibility:(containerId,appId,visible)=>[String,String,Boolean],getAppVisibility:(containerId,appId)=>[String,String],showApp:(containerId,appId)=>[String,String],hideApp:(containerId,appId)=>[String,String],toggleApp:(containerId,appId)=>[String,String],hideAllApps:containerId=>String,getContainerContext:containerId=>String,setContainerContext:(containerId,context)=>[String,String],resetContainerContext:containerId=>String,getAvailableContexts:containerId=>String},ui_messagesTasksAppContainers:{getVisibleApps:containerId=>String,onMessagesTasksAppContainerMounted:()=>{},onMessagesTasksAppContainerUnmounted:()=>{},getAvailableApps:containerId=>String,setAppVisibility:(containerId,appId,visible)=>[String,String,Boolean],getAppVisibility:(containerId,appId)=>[String,String],showApp:(containerId,appId)=>[String,String],hideApp:(containerId,appId)=>[String,String],toggleApp:(containerId,appId)=>[String,String],hideAllApps:containerId=>String},scenetree:{"maincef:setMaxFPSLimit":fps=>Integer},settings:{notifyUI:()=>{},setState:state=>Object,getValue:value=>String,setValue:(settingName,value)=>[String,Any$1]},core_camera:{setFOV:(playerId,fovDeg)=>[Integer,Number]},core_modmanager:{requestState:()=>{}},core_vehicles:{cloneCurrent:()=>{},getModel:model=>String,getCurrentVehicleDetails:withMocked(()=>{},()=>getMockedData(`vehicle.details`)),getVehicleLicenseText:id=>Number,loadDefault:()=>{},removeAll:()=>{},removeAllExceptCurrent:()=>{},removeCurrent:()=>{},requestList:()=>{},requestListEnd:()=>{},setPlateText:plateText=>String,setMeshVisibility:state=>Number,spawnDefault:()=>{},spawnNewVehicle:(model,args)=>[String,Object],replaceVehicle:(model,args)=>[String,Object],isLicensePlateValid:text=>Any$1,getModelList:()=>{}},ui_gridSelector:{getTiles:(backendName,currentPath,pathChanged)=>[String,Object,Boolean],getFilters:backendName=>String,getActiveFilters:backendName=>String,toggleFilter:(backendName,propName,option)=>[String,String],updateRangeFilter:(backendName,propName,min$1,max$1)=>[String,String,Number,Number],resetRangeFilter:(backendName,propName)=>[String,String],resetSetFilter:(backendName,propName)=>[String,String],getSearchText:backendName=>String,setSearchText:(backendName,searchText$1)=>[String,String],getDisplayDataOptions:backendName=>String,setDisplayDataOption:(backendName,key,value)=>[String,String,Any$1],resetDisplayDataToDefaults:backendName=>String,getScreenHeaderTitleAndPath:(backendName,path)=>[String,Object],profilerFinish:(backendName,tag)=>[String,String],closedFromUI:backendName=>String,onOpenedSelectorWithItemDetails:(backendName,itemDetails)=>[String,Object],getDetails:(backendName,itemDetails)=>[String,Object],executeButton:(backendName,buttonId,additionalData)=>[String,Number,Object],getManagementDetails:backendName=>String,exitCallback:()=>{},executeDoubleClick:(backendName,itemDetails)=>[String,Object],exploreFolder:(backendName,path)=>[String,String],goToMod:(backendName,modId)=>[String,String],toggleFavourite:(backendName,itemDetails)=>[String,Object]},ui_gameplaySelector_general:{openGameplaySelector:()=>{},openChallengesSelector:()=>{},openCampaignsSelector:()=>{},openScenariosSelector:()=>{},openRallySelector:()=>{}},ui_gameplaySelector_tileGenerators_levelTiles:{getSpawningOptions:(levelName,backendName)=>[String,String],changeSpawningOption:(key,value)=>[String,Any$1],setAlwaysShowDialogue:(backendName,newValue)=>[String,Boolean]},ui_vehicleSelector_general:{openVehicleSelectorForFreeroamModal:()=>{}},ui_freeroamSelector_general:{setCustomDetailsButtons:buttons=>Array,getCustomDetailsButtons:()=>{},setManagementButtonsEnabled:enabled=>Boolean,getManagementButtonsEnabled:()=>{},openFreeroamSelectorWithCustomButtons:(buttons,callback)=>[Array,Function],setExitCallback:callback=>Function},ui_topBar:{hide:()=>{},requestData:()=>{},requestEntries:()=>{},setActiveItem:itemId=>String,selectItem:itemId=>String,show:()=>{}},core_vehicle_manager:{reloadAllVehicles:()=>{},toggleDebug:()=>{},getDebug:()=>{}},core_vehicle_colors:{setVehicleColor:(index,value)=>[Integer,Object]},core_recoveryPrompt:{getUIData:()=>{},buttonPressed:id=>[String],uiPopupButtonPressed:index=>[Integer],uiPopupCancelPressed:()=>{},onPopupClosed:()=>{}},core_remoteController:{devicesConnected:()=>Boolean,getQRCode:()=>{}},core_levels:{startLevel:()=>{}},util_screenshotCreator:{startWork:workOptions=>Any$1},util_groundModelDebug:{openWindow:()=>{}},scenario_scenariosLoader:{getList:()=>{},start:scenario=>Object},ui_apps_minimap_minimap:{setDrawTransform:(x,y,width$1,height$1)=>[Number,Number,Number,Number],hide:()=>{},toggleOptions:()=>{},getMode:()=>{},setOcclusionTransform:(id,x,y,width$1,height$1)=>[String,Number,Number,Number,Number],resetOcclusionTransform:id=>[String]},ui_apps_minimap_additionalInfo:{requestAdditionalInfo:()=>{}},WinInput:{setForwardRawEvents:state=>Boolean,setForwardFilteredEvents:state=>Boolean},Engine:{Audio:{playOnce:(channel,sound)=>[String,String]},Render:{getAdapterType:()=>{}},UI:{getUIEngine:()=>{}},Platform:{getFSInfo:()=>{}}},Steam:{showFloatingGamepadTextInput:(type,left,top,width$1,height$1)=>[Number,Number,Number,Number,Number]},setCEFTyping:state=>Boolean},api,loadAPI=()=>api||({api}=useBridge());const Any$1=i=>i,Integer=i=>i|0;var argTransformers={Any:Any$1,Boolean,String,Number,Integer,Object,Array:Any$1};signaturesToWrappers(LuaFunctionSignatures_default);var Lua_default=LuaFunctionSignatures_default;function signaturesToWrappers(sigsObject,prefixes$1=[]){let sigType,sig,funcPath,paramTypes,callName;for(let key in sigsObject)sig=sigsObject[key],sigType=typeof sig,funcPath=[...prefixes$1,key],sigType===`function`&&isArrowFunction(sig)?(paramTypes=normaliseTypes(sig(),sig.length),callName=funcPath.join(`.`),sigsObject[key]=buildWrapper(callName,paramTypes,sig.mocked)):sigType===`object`&&(sigsObject[key]=signaturesToWrappers(sig,funcPath));return sigsObject}function buildWrapper(callName,paramTypes,mockResponse=void 0){return(...args)=>run(callName,args,{argTypes:paramTypes,mockResponse})}function isArrowFunction(func){return(``+func).indexOf(`function(`)!=0}function normaliseTypes(types,paramCount){return types?Array.isArray(types)?types:[types]:Array(paramCount).fill(Any$1)}function run(funcName,args,{argTypes=Array(args.length).fill(Any$1),mockResponse}){if(loadAPI(),args.length(argTypes[i]&&argTransformers[argTypes[i].name]||Any$1)(arg)),runMocked(mockResponse,transformedArgs)):(transformedArgs=args.map((arg,i)=>serialize((argTypes[i]&&argTransformers[argTypes[i].name]||Any$1)(arg))),runRaw(`${funcName}(${transformedArgs})`))}function runRaw(luaCode,withPromise=!0){return loadAPI(),withPromise?new Promise(function(resolve$1){api.engineLua(luaCode,resolve$1)}):api.engineLua(luaCode)}function runMocked(response,args){let ret;return ret=typeof response==`function`?response(...args):response,ret&&ret.then?ret:new Promise(resolve$1=>resolve$1(ret))}function serialize(o){return loadAPI(),api.serializeToLua(o)}function serializeCheck(o){return loadAPI(),api.serializeToLua(o)}var StreamManager_default=class{streamsRefCnt={};gameAPI={};constructor(api$1){this.gameAPI=api$1}_updateSubscriptions(){let reqVehStreams=[];for(let k in this.streamsRefCnt)reqVehStreams.push(k);let subscriptions={vehicles:[{byPlayerId:0,streams:reqVehStreams}]};this.gameAPI.subscribeToEvents(JSON.stringify(subscriptions))}add(streams){for(let i=0;i!!(node.offsetWidth&&node.offsetHeight);function isVisible(node,_style=null){let tmp=node;for(_style||=document.defaultView.getComputedStyle(tmp,null);tmp.tagName!==`HTML`;){if(!tmp.isConnected||tmp.nodeType!==Node.ELEMENT_NODE||(_style=document.defaultView.getComputedStyle(tmp,null),_style.display===`none`||_style.visibility===`hidden`||_style.opacity===`0`))return!1;tmp=tmp.parentNode}return!0}function isOccluded$1(element,rect,dontIgnoreOffscreen){let x=(rect.left+rect.right)/2,y=(rect.top+rect.bottom)/2,topElement=document.elementFromPoint(x,y);if(!topElement)return!!dontIgnoreOffscreen;let tmp=topElement;for(;tmp.tagName!==`HTML`;){if(tmp==element||tmp.tagName===`MD-TOOLTIP`||tmp.noOcclude)return!1;tmp=tmp.parentNode}return!0}function dispatchKey(key,elem=window.document){if(typeof key!=`number`)throw Error(`Invalid key`);let target=elem||document,ev=document.createEvent(`KeyboardEvent`);return Object.defineProperty(ev,`keyCode`,{get:function(){return this.keyCodeVal}}),ev.initKeyboardEvent(`keydown`,!0,!0),ev.keyCodeVal=key,target.dispatchEvent(ev)}const eventDispatcherForElement=element=>(type,extras={})=>(isRef$1(element)?element.value:element).dispatchEvent(Object.assign(new Event(type),extras));function observePosition(element,callback){let trackDiv=document.createElement(`div`);setCss(trackDiv,{position:`fixed`,width:`2px`,height:`2px`,padding:`0`,margin:`0`,border:`0`,outline:`0`,"pointer-events":`none`},!0),element.classList.add(`bng-pos-observed`),trackDiv.className=`bng-pos-observer`,element.children.length?element.insertBefore(trackDiv,element.firstChild):element.appendChild(trackDiv),window.BNG_Logger&&window.BNG_Logger.assert(()=>!isAffectedByCss(trackDiv),`Position observer can break styles inside your element! Please adjust your styles using .bng-pos-observed and/or .bng-pos-observer selectors
`,element);let fixPosition=()=>{let rect=trackDiv.getBoundingClientRect();setCss(trackDiv,{"margin-left":`${parseFloat(trackDiv.style.marginLeft||`0`)-rect.left-1}px`,"margin-top":`${parseFloat(trackDiv.style.marginTop||`0`)-rect.top-1}px`},!0)};fixPosition();let intersectionObserver=new IntersectionObserver(entries=>{Math.round(entries[0].intersectionRatio*4)!==1&&(fixPosition(),callback())},{threshold:[.125,.375,.625,.875]});return intersectionObserver.observe(trackDiv),()=>{intersectionObserver.disconnect(),trackDiv.remove(),element.classList.remove(`bng-pos-observed`)}}window.observePosition=observePosition;function setCss(element,rules,important=void 0){if(window.BNG_Logger&&window.BNG_Logger.assert(()=>!Object.values(rules).some(val=>val.endsWith(` !important`)),`Rule values cannot have !important in them. Please set important flag instead.`,rules),important)for(let key in window.BNG_Logger&&window.BNG_Logger.assert(()=>!Object.keys(rules).some(name=>name!==name.toLowerCase()),`Rule names must be in kebab-case (as in CSS itself)`,rules),rules)element.style.setProperty(key,rules[key],`important`);else Object.assign(element.style,rules)}function isAffectedByCss(element,parent=void 0,fast=!1){if(!element||!element.isConnected||!parent&&!element.parentNode)return!1;parent||=element.parentNode;let clone=element.cloneNode(!fast);parent.insertBefore(clone,element);let orig=window.getComputedStyle(element),cloned=window.getComputedStyle(clone),affected=!1;for(let prop of orig)if(orig[prop]!==cloned[prop]){affected=!0;break}return parent.removeChild(clone),affected}var crossfire_exports=__export({MONITORED_UI_NAV_EVENTS:()=>MONITORED_UI_NAV_EVENTS,NAVIGABLE_ELEMENTS_SELECTOR:()=>NAVIGABLE_ELEMENTS_SELECTOR,NAV_PRIORITY_ATTR:()=>NAV_PRIORITY_ATTR,NAV_PRIORITY_CONTAINER_ATTR:()=>NAV_PRIORITY_CONTAINER_ATTR,NO_CHILD_NAV_ATTR:()=>NO_CHILD_NAV_ATTR,NO_NAV_ATTR:()=>NO_NAV_ATTR,SCROLL_ATTR:()=>SCROLL_ATTR,SCROLL_EVENT_H:()=>SCROLL_EVENT_H,SCROLL_EVENT_V:()=>SCROLL_EVENT_V,SCROLL_FORCE_ATTR:()=>SCROLL_FORCE_ATTR,collectRects:()=>collectRects,findNext:()=>findNext,focusOnElement:()=>focusOnElement,handleUINavEvent:()=>handleUINavEvent,isAvailable:()=>isAvailable,isNavigable:()=>isNavigable$1,isNavigatable:()=>isNavigable$1,isOccluded:()=>isOccluded,isVisibleFast:()=>isVisibleFast,navigate:()=>navigate,navigateScroll:()=>navigateScroll,scrollFix:()=>scrollFix,uncollectRects:()=>uncollectRects});const NAVIGABLE_ELEMENTS_SELECTOR=`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`,NO_NAV_ATTR=`bng-no-nav`,NO_CHILD_NAV_ATTR=`bng-no-child-nav`,NAV_PRIORITY_CONTAINER_ATTR=`bng-nav-priority-container`,NAV_PRIORITY_ATTR=`bng-nav-priority-item`;var MENU_NAVIGATION_CLASS=`menu-navigation`,IGNORE_TAGS=[`HTML`,`BODY`];const SCROLL_ATTR=`bng-nav-scroll`,SCROLL_FORCE_ATTR=`bng-nav-scroll-force`;var DIR={LEFT:`left`,UP:`up`,RIGHT:`right`,DOWN:`down`},DIR_KEYS={[DIR.LEFT]:37,[DIR.UP]:38,[DIR.RIGHT]:39,[DIR.DOWN]:40},AXIS_H=`horizontal`,AXIS_V=`vertical`;const SCROLL_EVENT_H=`rotate_h_cam`,SCROLL_EVENT_V=`rotate_v_cam`;var UI_SCROLL_EVENT_ACTIONS={[SCROLL_EVENT_H]:AXIS_H,[SCROLL_EVENT_V]:AXIS_V},UI_SCROLL_ACTION_EVENTS={[AXIS_H]:SCROLL_EVENT_H,[AXIS_V]:SCROLL_EVENT_V},SCALAR_EVENT_H=`focus_lr`,SCALAR_EVENT_V=`focus_ud`,UI_SCALAR_EVENT_ACTIONS={[SCALAR_EVENT_H]:AXIS_H,[SCALAR_EVENT_V]:AXIS_V},UI_NAV_EVENT_ACTIONS={focus_u:`up`,focus_d:`down`,focus_l:`left`,focus_r:`right`,ok:`confirm`,tab_l:`tab_l`,tab_r:`tab_r`};const MONITORED_UI_NAV_EVENTS=[...Object.keys(UI_NAV_EVENT_ACTIONS),...Object.keys(UI_SCALAR_EVENT_ACTIONS)];var THUMBSTICK_DEADZONE=.5,lastScalarValue={horizontal:0,vertical:0},TRACKER_ID=`crossfire`;function focusOnElement(elem){let contentEditable=elem.contentEditable,tabIndex=elem.tabIndex;elem.contentEditable=!0,elem.tabIndex=0,elem.focus(),elem.tabIndex=tabIndex,elem.contentEditable=contentEditable}function getNavigableElements(root=null,forceAll=!1){let res=[...(root||document.body).querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR)];return forceAll||(res=res.filter(elem=>{if(elem.parentNode.closest(`[bng-no-child-nav="1"], [bng-no-child-nav="true"]`))return!1;let noNav=elem.attributes.getNamedItem(NO_NAV_ATTR);return!noNav||noNav.value!==`true`})),res}function isNavigable$1(elem,forceAll=!1){if(!elem||IGNORE_TAGS.includes(elem.nodeName||elem.tagName))return!1;if(elem.classList.contains(MENU_NAVIGATION_CLASS))return!0;let parent=elem.parentNode;if(!parent)return!1;let children=getNavigableElements(parent,forceAll);for(let child of children)if(child===elem)return!0;return!1}function uncollectRects(){let ns=getNavigableElements();for(let node of ns)node.classList.remove(MENU_NAVIGATION_CLASS)}var warnPrioNesting=window.beamng&&!window.beamng.shipping;function collectRects(direction$1,parent,forceAll=!1){let links={};direction$1?links[direction$1]=[]:(links.up=[],links.down=[],links.left=[],links.right=[]);let prioNodes=new WeakSet,ns=getNavigableElements(parent,forceAll);for(let node of ns){if(!isAvailable(node)){node.classList.remove(MENU_NAVIGATION_CLASS);continue}let rectNode=node,prioNode=node.closest(`[${NAV_PRIORITY_CONTAINER_ATTR}]`);if(prioNode&&prioNode!==node&&!prioNodes.has(prioNode)){if(prioNodes.add(prioNode),!warnPrioNesting){let parent$1=prioNode.parentNode.closest(`[${NAV_PRIORITY_CONTAINER_ATTR}]`);parent$1&&(console.warn(`Priority container nesting is not supported. Please remove the nested priority container.
Parent:`,parent$1,`
    `)}serializeToLua(obj){let tmp;if(obj==null)return`nil`;switch(obj.constructor){case String:return obj.search(/\\|\"|\n|\t|\r/)==-1?`"${obj}"`:`"${obj.replace(/\\/g,`\\\\`).replace(/\"/g,`\\"`).replace(/\n|\r/g,`\\n`).replace(/\t/g,`\\t`)}"`;case Number:return isFinite(obj)?obj.toString():null;case Boolean:return obj?`true`:`false`;case Array:tmp=[];for(let i=0;iLua_default.extensions[LUA_BLUR_EXTENSION].replaceGroup(`uiBlur`,blurRegionList),getNextAvailableId=()=>(highestId<2**53-1?highestId++:highestId=0).toString(),LUA_BLUR_UNLOADED=0,LUA_BLUR_LOADING=1,LUA_BLUR_LOADED=2,blurLoadedState=LUA_BLUR_UNLOADED;function applyBlur(){if(!window.beamng||!window.beamng.ingame||blurLoadedState===LUA_BLUR_LOADING)return;let isEmpty=!Object.keys(blurRegionList).length;blurLoadedState===LUA_BLUR_UNLOADED?isEmpty||(blurLoadedState=LUA_BLUR_LOADING,Lua_default.extensions.load(LUA_BLUR_EXTENSION).then(()=>{blurLoadedState=LUA_BLUR_LOADED,sendBlurListToLua()})):isEmpty?(Lua_default.extensions.unload(LUA_BLUR_EXTENSION),blurLoadedState=LUA_BLUR_UNLOADED):sendBlurListToLua()}var GameBlurrer_default={register(coord){if(coord===void 0)throw Error(`Cannot register bng-blur with coordinates: `+coord);let id=getNextAvailableId();return blurRegionList[id]=coord,applyBlur(),id},unregister(id){id in blurRegionList&&(delete blurRegionList[id],applyBlur())},update(id,coord){if(!(id in blurRegionList))throw Error(`Trying to update bng-blur with an ID that is not registered: ${id} (of ${Object.keys(blurRegionList)})`);blurRegionList[id]=coord,applyBlur()}},handlers={},streamCoordinator;window.streamUpdate=data=>_runHandlers(`stream`,data),window.multihookUpdate=hooksData=>{for(let i in hooksData){let hook=hooksData[i];trigger(hook[0],hook[1])}},window.HookManager={trigger};var skippedStreamUpdate=null,streamUpdateHandler=function(data){if(streamCoordinator?.processing){console.log(`ERROR: streamUpdate cycle is already active, skipping this update of streams`),skippedStreamUpdate=data;return}skippedStreamUpdate=null;let oldFormat={};if(data.globalStreams)for(let sn in data.globalStreams)oldFormat[sn]=data.globalStreams[sn];if(data.vehicleStreams&&data.vehicleStreams.player_0)for(let sn in data.vehicleStreams.player_0)oldFormat[sn]=data.vehicleStreams.player_0[sn];streamCoordinator?.beforeBroadcast(),window.globalAngularRootScope?.$broadcast(`streamsUpdate`,oldFormat),window.vueEventBus?.emit(`onStreamsUpdate`,oldFormat),window.vueGlobalStore&&(window.vueGlobalStore.streams=oldFormat),streamCoordinator?.afterBroadcast(()=>{!streamCoordinator.processing&&skippedStreamUpdate&&streamUpdateHandler(skippedStreamUpdate)})};add$1(`streamMain`,streamUpdateHandler,`stream`);var mainHookHandler=function(hookName,args){args&&!Array.isArray(args)&&console.error(`HookManager.trigger unsupported arguments (needs to be a list): `+JSON.stringify(hookName)+` - `+JSON.stringify(args).substring(0,30)+` ... `),window.vueEventBus?.emit(hookName,...args),window.globalAngularRootScope?.$broadcast(hookName,...args)};add$1(`hooksMain`,mainHookHandler);function add$1(id,func,type=`hook`){handlers[type]||(handlers[type]={}),handlers[type][id]=func}function remove$1(id,type=`hook`){handlers[type]&&delete handlers[type][id]}function trigger(hookName,args){_runHandlers(`hook`,hookName,args)}function _runHandlers(type,...data){if(handlers[type]){let toRun=Object.values(handlers[type]);toRun.length&&toRun.forEach(f=>f(...data))}}var Hooks_default={add:add$1,remove:remove$1,trigger,setStreamCoordinator(manager){streamCoordinator=manager}},scriptRel=`modulepreload`,assetsURL=function(dep){return`/local/ui/ui-vue/`+dep},seen={};const __vitePreload=function(baseModule,deps$1,importerUrl){let promise=Promise.resolve();if(deps$1&&deps$1.length>0){let links=document.getElementsByTagName(`link`),cspNonceMeta=document.querySelector(`meta[property=csp-nonce]`),cspNonce=cspNonceMeta?.nonce||cspNonceMeta?.getAttribute(`nonce`);function allSettled(promises$2){return Promise.all(promises$2.map(p$1=>Promise.resolve(p$1).then(value$1=>({status:`fulfilled`,value:value$1}),reason=>({status:`rejected`,reason}))))}promise=allSettled(deps$1.map(dep=>{if(dep=assetsURL(dep,importerUrl),dep in seen)return;seen[dep]=!0;let isCss=dep.endsWith(`.css`),cssSelector=isCss?`[rel="stylesheet"]`:``;if(importerUrl)for(let i$1=links.length-1;i$1>=0;i$1--){let link$1=links[i$1];if(link$1.href===dep&&(!isCss||link$1.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${dep}"]${cssSelector}`))return;let link=document.createElement(`link`);if(link.rel=isCss?`stylesheet`:scriptRel,isCss||(link.as=`script`),link.crossOrigin=``,link.href=dep,cspNonce&&link.setAttribute(`nonce`,cspNonce),document.head.appendChild(link),isCss)return new Promise((res,rej)=>{link.addEventListener(`load`,res),link.addEventListener(`error`,()=>rej(Error(`Unable to preload CSS for ${dep}`)))})}))}function handlePreloadError(err$2){let e$1=new Event(`vite:preloadError`,{cancelable:!0});if(e$1.payload=err$2,window.dispatchEvent(e$1),!e$1.defaultPrevented)throw err$2}return promise.then(res=>{for(let item of res||[])item.status===`rejected`&&handlePreloadError(item.reason);return baseModule().catch(handlePreloadError)})};var MOCK_DATA_PATH=`../mockdata`;function applyMockInterface(originalObject,mockInterface){let handler$1={mockInterface,get(target,propertyName){return this.mockInterface[propertyName]||target[propertyName]||defaultMockedMethod(propertyName)}};return new Proxy(originalObject,handler$1)}function defaultMockedMethod(name){return{[name]:function(...args){console.log(`Mocked method '${name}' called with:`),console.log(args)}}[name]}function getMockedData(fullPath){const[file$1,...path]=fullPath.split(`.`),filename=`${MOCK_DATA_PATH}/${file$1}.js`,toEval=[`d`,`default`,...path].join(`.`);return __vitePreload(()=>import(filename),[]).then(d=>eval(toEval))}const runInBrowser=fn=>{window.beamng||fn()},sendGUIHook=(name,...params)=>{window.bridge&&window.bridge.events&&window.bridge.events.emit(name,...params),window.globalAngularRootScope&&window.globalAngularRootScope.$broadcast(name,...params)};var withMocked=(sig,getData)=>(sig.mocked=getData,sig),LuaFunctionSignatures_default={dev:{getMockedData:key=>String},getVehicleColor:()=>{},getVehicleColorPalette:index=>Integer,resetGameplay:playerID=>Integer,quit:()=>{},checkFSErrors:()=>{},returnToMainMenu:()=>{},guihooks:{trigger:withMocked(hookName=>String,sendGUIHook)},simTimeAuthority:{togglePause:()=>{},getPause:()=>{},pause:state=>Boolean,pushPauseRequest:id=>String,popPauseRequest:id=>String},commands:{toggleCamera:()=>{}},ui_audio:{playEventSound:(soundClass,type)=>[String,String]},career_career:{closeAllMenus:()=>{},isActive:()=>{},sendAllCareerSaveSlotsData:()=>{},sendCurrentSaveSlotData:()=>{},createOrLoadCareerAndStart:(id,specificAutosave,tutorial)=>[String,Any$1,Boolean]},career_saveSystem:{saveCurrent:()=>{},removeSaveSlot:id=>String,renameSaveSlot:(name,newName)=>[String,String]},career_modules_uiUtils:{getCareerStatusData:withMocked(()=>{},()=>getMockedData(`career.status`)),getCareerSimpleStats:withMocked(()=>{},()=>getMockedData(`career.simpleStats`)),getCareerPauseContextButtons:()=>{},callCareerPauseContextButtons:id=>Number,getCareerCurrentLevelName:()=>{}},career_modules_fuel:{requestRefuelingTransactionData:()=>{},sendUpdateDataToUI:()=>{},uiButtonStartFueling:energyType=>String,uiButtonStopFueling:energyType=>String,onChangeFlowRate:flowRate=>Number,payPrice:()=>{},uiCancelTransaction:()=>{}},career_modules_logbook:{getLogbook:withMocked(()=>{},()=>getMockedData(`logbook.sample`)),setLogbookEntryRead:(id,state)=>[String,Boolean]},career_modules_milestones_milestones:{getMilestones:()=>{},claim:id=>Number,unclaimedMilestonesCount:()=>{}},career_modules_branches_landing:{openBigMapWithMissionSelected:id=>String,getBranchSkillCardData:id=>String,getBranchPageData:id=>String,getLandingPageData:domain=>String,getCargoProgressForUI:()=>{}},career_modules_partShopping:{cancelShopping:()=>{},applyShopping:()=>{},installPartByPartShopId:id=>Number,removePartBySlot:slot=>String,sendShoppingDataToUI:()=>{}},career_modules_vehicleShopping:{showVehicle:id=>Number,navigateToPos:pos=>Object,openShop:(seller,computerId)=>[Any$1,Any$1],cancelShopping:()=>{},quickTravelToVehicle:id=>Number,openPurchaseMenu:(purchaseType,shopId)=>[String,Number],updateInsuranceSelection:insuranceId=>Number,openInventoryMenuForTradeIn:()=>{},buyFromPurchaseMenu:(purchaseType,options)=>[String,Any$1],cancelPurchase:purchaseType=>String,getShoppingData:()=>{},sendPurchaseDataToUi:()=>{},removeTradeInVehicle:()=>{},onShoppingMenuClosed:()=>{}},career_modules_marketplace:{getListings:()=>{},menuOpened:open$1=>Boolean,acceptOffer:(inventoryId,offerIndex)=>[Number,Number],declineOffer:(inventoryId,offerIndex)=>[Number,Number],listVehicles:inventoryIds=>[Array],openMenu:()=>{},removeVehicleListing:inventoryId=>Number,startNegotiateBuyingOffer:(inventoryId,offerIndex)=>[Number,Number],startNegotiateSellingOffer:shopId=>[Number],getNegotiationState:()=>{},makeNegotiationOffer:price=>Number,takeTheirOffer:()=>{},cancelNegotiation:()=>{}},career_modules_testDrive:{stop:()=>{}},career_modules_inspectVehicle:{startTestDrive:()=>{},onInspectScreenChanged:enabled=>Boolean,onPurchaseMenuClosed:()=>{},repairVehicle:()=>{}},career_modules_loanerVehicles:{markForSpawning:loanInfo=>Object,spawnAndLoanVehicle:(vehicleInfo,loanInfo)=>[Object,Object],getLoanedVehiclesByOrg:orgId=>String,returnVehicle:inventoryId=>Number},career_modules_inventory:{sellVehicle:id=>Number,sellVehicleFromInventory:id=>Number,returnLoanedVehicleFromInventory:id=>Number,expediteRepairFromInventory:(inventoryId,price)=>[Number,Number],enterVehicle:id=>Number,openMenuFromComputer:computerId=>String,closeMenu:()=>{},chooseVehicleFromMenu:(vehId,buttonId,repairPrevVeh)=>[Number,Number,Boolean],setFavoriteVehicle:id=>Number,sendDataToUi:()=>{},removeVehicleObject:id=>Number,getVehicle:id=>Number,getVehicleUiData:id=>Number,isEmpty:()=>{},setLicensePlateText:(inventoryId,text)=>[Number,String],purchaseLicensePlateText:(inventoryId,text,money)=>[Number,String,Number],isLicensePlateValid:text=>String,isVehicleNameValid:text=>String,renameVehicle:(inventoryId,name)=>[Number,String],openInventoryMenuForChoosingListing:()=>{}},career_modules_vehiclePerformance:{startDragTest:id=>Number,cancelTest:()=>{}},career_modules_partInventory:{openMenu:computerId=>Any$1,closeMenu:()=>{},sendUIData:()=>{},sellParts:ids=>Array,partInventoryClosed:()=>{}},career_modules_insurance_insurance:{getProposablePoliciesForVehInv:invVehId=>Number,payInsuranceScoreReset:policyId=>Number,purchaseInsurance:id=>Number,calculateRenewalPriceDetails:(policyId,tempPerks)=>[Number,Any$1],changeInvVehInsuranceCoverageOptions:(policyId,changedPerks)=>[Number,Object],changeInvVehInsurance:(invVehId,newInsuranceId)=>[Number,Number],startRepairInGarage:(vehicleInfo,repairOptionData)=>[Object,Object],openRepairMenu:(vehicleInfo,originComputerId)=>[Object,Any$1],closeMenu:()=>{},sendUIData:()=>{},inventoryVehNeedsRepair:inventoryId=>Number,getInvVehHaveFuelDiscount:invVehId=>Object,openChooseInsuranceScreen:()=>{},calculateInsurancePremium:(insuranceId,potentialCoverageOptions,potentialVehiclesCoverageOptions)=>[Number,Object,Object],saveNewInsuranceCoverageOptions:(insuranceId,newCoverageOptions)=>[Number,Object],calculateVehiclePremium:(vehicleId,nonInvVehInfo,potentialCoverageOptions)=>[Number,Object,Object],saveNewVehicleCoverageOptions:(vehicleId,newCoverageOptions)=>[Number,Object],sendChooseInsuranceDataToTheUI:(purchaseType,shopId,defaultInsuranceId)=>[String,Number,Number],sendChangeInsuranceDataToTheUI:vehicleId=>[Number],resetDriverScore:()=>{}},career_modules_insurance_repairScreen:{getRepairData:()=>{},closeMenu:()=>{},startRepairInGarage:(invVehId,repairOptionData)=>[Number,Object],openRepairMenu:(vehicleInfo,originComputerId)=>[Object,Any$1]},career_modules_playerAbstract:{getPlayerAbstractData:()=>{},closePlayerAbstractMenu:()=>{}},career_modules_tuning:{apply:tuningValues=>Object,start:(vehId,origin)=>[Any$1,Any$1],getTuningData:()=>{},close:()=>{},applyShopping:()=>{},cancelShopping:()=>{},removeVarFromShoppingCart:varName=>String},career_modules_painting:{apply:()=>{},start:(vehId,origin)=>[Any$1,Any$1],getPaintData:()=>{},close:()=>{},setPaints:paint=>Object,getFactoryPaint:()=>{},onUIOpened:()=>{}},career_modules_questManager:{setQuestAsNotNew:id=>String,claimRewardsById:id=>String},career_modules_computer:{onMenuClosed:()=>{},getComputerUIData:()=>{},computerButtonCallback:(buttonId,inventoryId)=>[String,Any$1],openComputerMenuById:computerId=>String,closeAllMenus:()=>{}},career_modules_delivery_general:{setAutomaticRoute:enabled=>Boolean,setDetailedDropOff:enabled=>Boolean,setSetting:(key,value)=>[String,Any$1],getSettings:()=>{},setDeliveryTimePaused:paused=>Boolean},career_modules_delivery_cargoScreen:{requestCargoDataForUi:(facilityId,parkingSpotPath,updateMaxTimeStamp)=>[Any$1,Any$1,Any$1],moveCargoFromUi:(cargoId,targetLocation)=>[Number,Object],commitDeliveryConfiguration:()=>{},cancelDeliveryConfiguration:()=>{},exitDeliveryMode:()=>{},exitCargoOverviewScreen:()=>{},showCargoRoutePreview:cargoId=>Any$1,showVehicleOfferRoutePreview:offerId=>Any$1,setCargoRoute:(cargoId,origin)=>[Number,Boolean],showLocationRoutePreview:(location$1,asProvider)=>[Any$1,Boolean],showCargoContainerHelpPopup:()=>{},setBestRoute:()=>{},spawnOffer:(offerId,fadeToBlack)=>[Number,Any$1],abandonAcceptedOffer:vehId=>Number,setCargoScreenTab:tab=>String,unloadCargoPopupClosed:()=>{},moveMaterialFromUi:()=>{},requestDropOffData:()=>{},confirmDropOffData:(data,facId,psPath)=>[Any$1,Any$1,Any$1],dropOffPopupClosed:mode=>String,clearTransientMoveForCargo:cargoId=>Number,clearTransientMovesForStorage:materialType=>String,applyTransientMoves:()=>{},toggleOfferForSpawning:id=>Number,tryLoadAll:cargoIds=>Array,showRoutePreview:route=>Object,deliveryScreenExternalButtonPressed:id=>Any$1},career_modules_delivery_progress:{activateSound:(soundLabel,active)=>[String,Boolean]},career_modules_linearTutorial:{introPopup:(key,force)=>[String,Boolean],wasIntroPopupsSeen:pages=>Array,isLinearTutorialActive:()=>{}},gameplay_drag_dragBridge:{getHistory:id=>Object,screenshotTimeslip:()=>{}},gameplay_crashTest_scenarioManager:{nextStepFromUI:()=>{}},gameplay_discover:{getDiscoverPages:()=>{},startDiscover:discoverId=>String},freeroam_organizations:{getUIData:()=>{},getUIDataForOrg:orgId=>String},core_replay:{onInit:()=>{},loadFile:filename=>String,stop:()=>{},openReplayFolderInExplorer:()=>{},getRecordings:()=>{},removeRecording:filename=>String,togglePlay:()=>{},toggleRecording:()=>{},cancelRecording:()=>{},toggleSpeed:speed=>Number,pause:()=>{},seek:positionPercent=>Number,acceptRename:(oldFilename,newFilename)=>[String,String],saveMissionReplay:filename=>String,removeMissionSavedReplay:filename=>String,openMissionReplayFolder:filename=>String},core_gamestate:{requestGameState:()=>{},loadingScreenActive:()=>{}},core_gameContext:{getGameContext:withMocked(params=>{},params=>getMockedData(`gameContext.gameContextData`))},core_online:{requestState:()=>{}},core_hardwareinfo:{requestState:()=>{},getInfo:()=>{}},gameplay_statistic:{sendGUIState:()=>{}},core_quickAccess:{getUiData:()=>{},selectItem:(id,buttonDown,actionIndex)=>[Number,Boolean,Number],contextAction:(id,buttonDown,actionIndex)=>[Number,Boolean,Number],back:()=>{},setEnabled:(enabled,level$1,force)=>[Boolean,String,Boolean],openDynamicSlotConfigurator:index=>Number,getDynamicSlotConfigurationData:()=>{},setDynamicSlotConfiguration:(key,data)=>[String,Object],toggle:()=>[],tryAction:action=>String},ui_bindingsLegend:{sendDataToUI:forceResetFade=>Boolean,triggerInputAction:(action,value)=>[String,Number],toggleShowApp:()=>{},toggleShowVehicleSpecificActions:()=>{}},freeroam_bigMapMode:{enterBigMap:instant=>Object,exitBigMap:force=>Boolean,setBigmapScreenBounds:(windowBounds,mapBounds)=>[Object,Object],navigateToMission:poiId=>String,selectPoi:poiId=>String,poiHovered:(poiId,active)=>[String,Boolean],teleportToPoi:poiId=>String,setOnlyIdsVisible:poiIds=>Array,deselect:()=>{},openPopupCallback:()=>{},toggleBigMap:()=>{},setUiFocus:focus$1=>Boolean},freeroam_bigMapPoiProvider:{sendMissionLocationsToMinimap:()=>{},sendCurrentLevelMissionsToBigmap:()=>{},toggleGroupVisibility:groupKey=>String},freeroam_freeroamConfigurator:{getConfiguration:()=>{},getButtons:()=>{},triggerButton:buttonId=>Number,updateOption:(key,value)=>[String,Any$1],onSpawnPointTileClick:()=>{},onVehicleTileClick:()=>{},getCurrentSpawnPointTile:()=>{},getCurrentVehicleTile:()=>{},setSpawnPoint:(levelName,spawnPointName,key)=>[String,String,String],setVehicle:(model,config,additionalData,key)=>[String,String,Object,String],doubleClickOverride:item=>[Object]},gameplay_taxi:{startTaxiWithCurrentRoute:()=>{}},freeroam_vueBigMap:{enterBigMap:()=>{},exitBigMap:()=>{},getPoiData:()=>{},getFilters:()=>{},getGroups:()=>{},toggleFiltersByIds:filterIds=>Object,toggleFilterSectionById:sectionId=>Object,getGameStateInfo:()=>{},selectPoiFromList:poiId=>String,hoverPoiFromList:(poiId,active)=>[String,Boolean],executePoiAction:actionId=>Number},freeroam_freeroam:{startTrackBuilder:mapName=>String},extensions:{isExtensionLoaded:extensionName=>Boolean,load:extensionName=>String,unload:extensionName=>String,hook:hook=>String,ui_messagesDebugger:{show:()=>{},hide:()=>{},toggle:()=>{}},tech_license:{requestState:()=>{},isValid:()=>{}},core_input_actionFilter:{addAction:(filter,actionName,filtered)=>[Number,String,Boolean],setGroup:(name,actioNames)=>[String,Any$1]},core_input_bindings:{FFBSafetyDataRequest:()=>{},resetBindings:()=>{},resetBindingsForDevice:deviceName=>String,setMenuActionMapEnabled:state=>Boolean,getMenuActionMapEnabled:()=>{},setMenuActionEnabled:(enabled,actionName)=>[Boolean,String],notifyUI:reason=>String,saveBindingsToDisk:deviceContents=>Object,getRecentDevices:()=>{}},core_vehicle_partmgmt:{getConfigList:()=>{},highlightParts:(parts,vehID)=>[Object,Number],loadLocal:filename=>String,resetPartsToLoadedConfig:()=>{},resetVarsToLoadedConfig:()=>{},resetAllToLoadedConfig:()=>{},openConfigFolderInExplorer:()=>{},removeLocal:configName=>String,savedefault:()=>{},saveLocal:filename=>String,sendDataToUI:()=>{},selectPart:(part,subparts)=>[String,Boolean],selectParts:(parts,vehID)=>[Object,Number],selectReset:()=>{},setConfigVars:vars=>Object,setPartsConfig:config=>Object,setPartsTreeConfig:config=>Object,showHighlightedParts:vehID=>Number,setDynamicTextureMaterials:()=>{},partsSelectorChanged:parts=>Object,sendPartsSelectorStateToUI:()=>{}},core_vehicle_mirror:{getAnglesOffset:()=>{},focusOnMirror:mirror_name=>Any$1,setAngleOffset:(mirrorName,x,z,v,save)=>[String,Number,Number,Boolean,Boolean]},gameplay_drift_general:{onDriftAppMounted:()=>{},onDriftAppUnmounted:()=>{}},gameplay_missions_missionScreen:{getMissionScreenData:withMocked(()=>{},()=>getMockedData(`missionDetails.getMissionScreenData`)),startMissionById:(missionId,userSettings,startingOptions)=>[String,Object,Object],stopMissionById:id=>[String],changeUserSettings:(missionId,userSettings)=>[String,Object],startFromWithinMission:(id,userSettings)=>[String,Object],getActiveStarsForUserSettings:(id,userSettings)=>[String,Object],requestStartingOptionsForUserSettings:(id,userSettings)=>[String,Object],isAnyMissionActive:()=>{},isMissionStartOrEndScreenActive:()=>{},openAPMChallenges:(branch,skill)=>[String,String],navigateToMission:id=>[String],setPreselectedMissionId:id=>[String],showMissionRules:id=>[String],getMissionTiles:()=>{},activateSound:(soundLabel,active,frequency)=>[String,Boolean,Number],activateSoundBlur:active=>{Boolean},openVehicleSelectorForMissionBySetting:(mId,settingKey)=>[String,String]},gameplay_missions_missionManager:{getCurrentTaskdataTypeOrNil:()=>{}},gameplay_garageMode:{start:()=>{},isActive:()=>{},setCamera:view=>String,setLighting:lights=>Array,getLighting:()=>{},setGarageMenuState:state=>String,stop:()=>{},testVehicle:()=>{}},ui_dynamicDecals:{initialize:()=>{},exit:()=>{},requestUpdatedData:()=>{},setupEditor:()=>{},loadSaveFile:path=>String,createSaveFile:()=>{},saveChanges:filename=>String,cancelChanges:()=>{},exportSkin:skinName=>String,moveSelectedLayer:order=>Number,setDecalTexture:filePath=>String,setDecalColor:colorData=>Object,setDecalScale:decalData=>Object,setDecalRotation:decalRotation=>Number,setDecalSkew:decalSkew=>Object,setDecalApplyMultiple:applyMultiple=>Boolean,setDecalResetOnApply:resetOnApply=>Boolean,setDecalPositionX:positionX=>Number,setDecalPositionY:positionY=>Number,updateDecalPosition:(positionX,positionY)=>[Number,Number],toggleApplyingDecal:enable=>Boolean,toggleActionMap:enable=>Boolean,toggleDecalVisibility:enable=>Boolean,redo:()=>{},undo:()=>{},createLayer:layerData=>Object,createFillLayer:fillLayerData=>Object,createGroupLayer:layerData=>Object,updateLayer:layerData=>Object,deleteSelectedLayer:()=>{},selectLayer:layerUid=>String,toggleStampActionMap:enable=>Boolean,toggleLayerHighlight:uid$2=>String,toggleLayerVisibility:uid$2=>String},ui_liveryEditor:{save:filename=>String,setup:()=>{},deactivate:()=>{},setDecalTexture:texturePath=>String,useMousePosition:enable=>Boolean,useSurfaceNormal:enable=>Boolean,requestSettingsData:()=>{}},ui_liveryEditor_colorPresets:{getPresets:()=>{},addPreset:()=>{}},ui_liveryEditor_editor:{setup:()=>{},startEditor:()=>{},exitEditor:()=>{},startSession:()=>{},applyDecal:()=>{},applySkin:()=>{},createNew:()=>{},loadFile:path=>String,save:filename=>String,applyChanges:()=>{}},ui_liveryEditor_editMode:{reapply:()=>{},requestReapply:()=>{},cancelReapply:()=>{},setActiveLayer:layerUid=>String,setActiveLayerDirection:direction$1=>Number,removeAppliedLayer:layerUid=>String,resetCursorProperties:properties=>Array,toggleHighlightActive:()=>{},activate:()=>{},deactivate:()=>{},apply:()=>{},requestApply:()=>{},cancelRequestApply:()=>{},toggleRequestApply:()=>{},saveChanges:params=>Object,cancelChanges:()=>{},duplicateActiveLayer:()=>{}},ui_liveryEditor_camera:{setOrthographicView:view=>String,switchOrthographicViewByDirection:(x,y)=>[Number,Number]},ui_liveryEditor_controls:{toggleUseMousePos:()=>{}},ui_liveryEditor_history:{redo:()=>{},undo:()=>{}},ui_liveryEditor_layerAction:{performAction:action=>String,toggleEnabledByLayerUid:uid$2=>String},ui_liveryEditor_layerEdit:{setup:()=>{},setLayer:layerUid=>String,editNewDecal:params=>Object,translateLayer:(x,y)=>[Number,Number],holdTranslate:(axis,value)=>[String,Number],holdTranslateScalar:(axis,value)=>[String,Number],holdScale:(axis,value)=>[String,Number],holdSkew:(axis,value)=>[String,Number],holdPrecise:enable=>Boolean,scaleLayer:(x,y)=>[Number,Number],skewLayer:(x,y)=>[Number,Number],rotateLayer:(steps,counterClockwise)=>[Number,Boolean],setPosition:(x,y)=>[Number,Number],setScale:(x,y)=>[Number,Number],setRotation:degrees=>Number,setSkew:(x,y)=>[Number,Number],setMirrored:settings$1=>[Boolean,Boolean,Number],setLayerMaterials:properties=>Object,activateStampReapply:()=>{},cancelStampReapply:()=>{},requestLayerMaterials:()=>{},saveChanges:()=>{},cancelChanges:()=>{},requestStateData:()=>{},requestInitialLayerData:()=>{},requestTransform:()=>{},endTransform:()=>{},showCursorOrLayer:show=>Boolean,requestReposition:()=>{},cancelReposition:()=>{},applyReposition:()=>{},toggleUseMouseOrCursor:()=>{},setIsRotationPrecise:value=>Boolean,setAllowRotationAction:value=>Boolean},ui_liveryEditor_layers:{requestInitialData:()=>{}},ui_liveryEditor_layers_cursor:{requestData:()=>{}},ui_liveryEditor_layers_decals:{addLayer:params=>Object,setLayer:uid$2=>String},ui_liveryEditor_layers_decal:{addLayerCentered:params=>Object},ui_liveryEditor_layers_fill:{updateLayer:params=>Object,saveChanges:()=>{},restoreLayer:()=>{},restoreDefault:()=>{},requestLayerData:()=>{}},ui_liveryEditor_resources:{requestData:()=>{},getDecalTextures:()=>{},getTextureCategories:()=>{},getTexturesByCategory:category=>String},ui_liveryEditor_selection:{duplicateSelectedLayer:()=>{},getSelectedLayersData:()=>{},setSelected:layerUid=>String,setMultipleSelected:layerUids=>Array,clearSelection:()=>{},toggleSelection:layerIds=>Array,select:(layerIds,highlight)=>[Array,Boolean],toggleHighlightSelectedLayer:()=>{},requestInitialData:()=>{}},ui_liveryEditor_tools:{useTool:tool=>String,closeCurrentTool:()=>{}},ui_liveryEditor_tools_material:{setColor:rgbaArray=>Array,setMetallicIntensity:metallicIntensity=>Number,setNormalIntensity:normalIntensity=>Number,setRoughnessIntensity:roughnessIntensity=>Number,setDecal:decalTexture=>String},ui_liveryEditor_tools_misc:{duplicate:()=>{}},ui_liveryEditor_tools_group:{moveOrderUp:()=>{},moveOrderDown:()=>{},changeOrderToTop:()=>{},changeOrderToBottom:()=>{},moveOrderUpById:layerUid=>[String],moveOrderDownById:layerUid=>[String],setOrder:order=>Number,changeOrder:(oldOrder,oldParent,newOrder,newParent)=>[Number,String,Number,String],groupLayers:()=>{},ungroupLayer:()=>{}},ui_liveryEditor_tools_transform:{translate:(x,y)=>[Number,Number],setPosition:(x,y)=>[Number,Number],rotate:degrees=>Number,scale:(stepsX,stepsY)=>[Number,Number],setScale:(scaleX,scaleY)=>[Number,Number],setRotation:degrees=>Number,skew:(skewX,skewY)=>[Number,Number],setSkew:(skewX,skewY)=>[Number,Number],useStamp:()=>{},cancelStamp:()=>{}},ui_liveryEditor_tools_settings:{deleteLayer:()=>{},setMirrored:(mirrored,flip$2)=>[Boolean,Boolean],setVisibility:show=>Boolean,toggleVisibility:()=>{},toggleVisibilityById:layerUid=>String,toggleLock:()=>{},toggleLockById:layerUid=>String,setMirrorOffset:offset$2=>Number,setUseMousePos:value=>Boolean,setProjectSurfaceNormal:value=>Boolean,rename:name=>String},ui_liveryEditor_userData:{requestUpdatedData:()=>{},getSaveFiles:()=>{},createSaveFile:filename=>String,renameFile:(filename,newFilename)=>[String,String],deleteSaveFile:filename=>String},ui_gameBlur:{replaceGroup:(groupName,list)=>[String,Object]},ui_fadeScreen:{onScreenFadeStateDelayed:state=>Integer},ui_router:{addOrUpdateRoute:(route,config,options)=>[String,Object,Object],push:(routeName,params)=>[String,Object],back:()=>{},forward:()=>{},loadComplete:uiType=>String,routeChangeComplete:uiType=>String},ui_uiMods:{getVueMods:()=>{}}},ActionMap:{enableBindingCapturing:state=>Boolean},gameplay_markerInteraction:{startMissionById:(missionId,userSettings)=>[Any$1,Object],closeViewDetailPrompt:force=>Boolean,changeUserSettings:(missionId,userSettings)=>[String,Object]},ui_missionInfo:{performActivityAction:id=>Integer,setActivityIndexVisible:index=>Integer,closeDialogue:()=>{}},ui_apps_genericMissionData:{sendAllData:()=>{},setData:args=>Object,clearData:()=>{}},ui_apps_pointsBar:{requestAllData:()=>{}},ui_gameplayAppContainers:{getVisibleApps:containerId=>String,onGameplayAppContainerMounted:()=>{},onGameplayAppContainerUnmounted:()=>{},getAvailableApps:containerId=>String,setAppVisibility:(containerId,appId,visible)=>[String,String,Boolean],getAppVisibility:(containerId,appId)=>[String,String],showApp:(containerId,appId)=>[String,String],hideApp:(containerId,appId)=>[String,String],toggleApp:(containerId,appId)=>[String,String],hideAllApps:containerId=>String,getContainerContext:containerId=>String,setContainerContext:(containerId,context)=>[String,String],resetContainerContext:containerId=>String,getAvailableContexts:containerId=>String},ui_messagesTasksAppContainers:{getVisibleApps:containerId=>String,onMessagesTasksAppContainerMounted:()=>{},onMessagesTasksAppContainerUnmounted:()=>{},getAvailableApps:containerId=>String,setAppVisibility:(containerId,appId,visible)=>[String,String,Boolean],getAppVisibility:(containerId,appId)=>[String,String],showApp:(containerId,appId)=>[String,String],hideApp:(containerId,appId)=>[String,String],toggleApp:(containerId,appId)=>[String,String],hideAllApps:containerId=>String},scenetree:{"maincef:setMaxFPSLimit":fps=>Integer},settings:{notifyUI:()=>{},setState:state=>Object,getValue:value=>String,setValue:(settingName,value)=>[String,Any$1]},core_camera:{setFOV:(playerId,fovDeg)=>[Integer,Number]},core_modmanager:{requestState:()=>{}},core_vehicles:{cloneCurrent:()=>{},getModel:model=>String,getCurrentVehicleDetails:withMocked(()=>{},()=>getMockedData(`vehicle.details`)),getVehicleLicenseText:id=>Number,loadDefault:()=>{},removeAll:()=>{},removeAllExceptCurrent:()=>{},removeCurrent:()=>{},requestList:()=>{},requestListEnd:()=>{},setPlateText:plateText=>String,setMeshVisibility:state=>Number,spawnDefault:()=>{},spawnNewVehicle:(model,args)=>[String,Object],replaceVehicle:(model,args)=>[String,Object],isLicensePlateValid:text=>Any$1,getModelList:()=>{}},ui_gridSelector:{getTiles:(backendName,currentPath,pathChanged)=>[String,Object,Boolean],getFilters:backendName=>String,getActiveFilters:backendName=>String,toggleFilter:(backendName,propName,option)=>[String,String],updateRangeFilter:(backendName,propName,min$1,max$1)=>[String,String,Number,Number],resetRangeFilter:(backendName,propName)=>[String,String],resetSetFilter:(backendName,propName)=>[String,String],getSearchText:backendName=>String,setSearchText:(backendName,searchText$1)=>[String,String],getDisplayDataOptions:backendName=>String,setDisplayDataOption:(backendName,key,value)=>[String,String,Any$1],resetDisplayDataToDefaults:backendName=>String,getScreenHeaderTitleAndPath:(backendName,path)=>[String,Object],profilerFinish:(backendName,tag)=>[String,String],closedFromUI:backendName=>String,onOpenedSelectorWithItemDetails:(backendName,itemDetails)=>[String,Object],getDetails:(backendName,itemDetails)=>[String,Object],executeButton:(backendName,buttonId,additionalData)=>[String,Number,Object],getManagementDetails:backendName=>String,exitCallback:()=>{},executeDoubleClick:(backendName,itemDetails)=>[String,Object],exploreFolder:(backendName,path)=>[String,String],goToMod:(backendName,modId)=>[String,String],toggleFavourite:(backendName,itemDetails)=>[String,Object]},ui_gameplaySelector_general:{openGameplaySelector:()=>{},openChallengesSelector:()=>{},openCampaignsSelector:()=>{},openScenariosSelector:()=>{},openRallySelector:()=>{}},ui_gameplaySelector_tileGenerators_levelTiles:{getSpawningOptions:(levelName,backendName)=>[String,String],changeSpawningOption:(key,value)=>[String,Any$1],setAlwaysShowDialogue:(backendName,newValue)=>[String,Boolean]},ui_vehicleSelector_general:{openVehicleSelectorForFreeroamModal:()=>{}},ui_freeroamSelector_general:{setCustomDetailsButtons:buttons=>Array,getCustomDetailsButtons:()=>{},setManagementButtonsEnabled:enabled=>Boolean,getManagementButtonsEnabled:()=>{},openFreeroamSelectorWithCustomButtons:(buttons,callback)=>[Array,Function],setExitCallback:callback=>Function},ui_topBar:{hide:()=>{},requestData:()=>{},requestEntries:()=>{},setActiveItem:itemId=>String,selectItem:itemId=>String,show:()=>{}},core_vehicle_manager:{reloadAllVehicles:()=>{},toggleDebug:()=>{},getDebug:()=>{}},core_vehicle_colors:{setVehicleColor:(index,value)=>[Integer,Object]},core_recoveryPrompt:{getUIData:()=>{},buttonPressed:id=>[String],uiPopupButtonPressed:index=>[Integer],uiPopupCancelPressed:()=>{},onPopupClosed:()=>{}},core_remoteController:{devicesConnected:()=>Boolean,getQRCode:()=>{}},core_levels:{startLevel:()=>{}},util_screenshotCreator:{startWork:workOptions=>Any$1},util_groundModelDebug:{openWindow:()=>{}},scenario_scenariosLoader:{getList:()=>{},start:scenario=>Object},ui_apps_minimap_minimap:{setDrawTransform:(x,y,width$1,height$1)=>[Number,Number,Number,Number],hide:()=>{},toggleOptions:()=>{},getMode:()=>{},setOcclusionTransform:(id,x,y,width$1,height$1)=>[String,Number,Number,Number,Number],resetOcclusionTransform:id=>[String]},ui_apps_minimap_additionalInfo:{requestAdditionalInfo:()=>{}},WinInput:{setForwardRawEvents:state=>Boolean,setForwardFilteredEvents:state=>Boolean},Engine:{Audio:{playOnce:(channel,sound)=>[String,String]},Render:{getAdapterType:()=>{}},UI:{getUIEngine:()=>{}},Platform:{getFSInfo:()=>{}}},Steam:{showFloatingGamepadTextInput:(type,left,top,width$1,height$1)=>[Number,Number,Number,Number,Number]},setCEFTyping:state=>Boolean},api,loadAPI=()=>api||({api}=useBridge());const Any$1=i=>i,Integer=i=>i|0;var argTransformers={Any:Any$1,Boolean,String,Number,Integer,Object,Array:Any$1};signaturesToWrappers(LuaFunctionSignatures_default);var Lua_default=LuaFunctionSignatures_default;function signaturesToWrappers(sigsObject,prefixes$1=[]){let sigType,sig,funcPath,paramTypes,callName;for(let key in sigsObject)sig=sigsObject[key],sigType=typeof sig,funcPath=[...prefixes$1,key],sigType===`function`&&isArrowFunction(sig)?(paramTypes=normaliseTypes(sig(),sig.length),callName=funcPath.join(`.`),sigsObject[key]=buildWrapper(callName,paramTypes,sig.mocked)):sigType===`object`&&(sigsObject[key]=signaturesToWrappers(sig,funcPath));return sigsObject}function buildWrapper(callName,paramTypes,mockResponse=void 0){return(...args)=>run(callName,args,{argTypes:paramTypes,mockResponse})}function isArrowFunction(func){return(``+func).indexOf(`function(`)!=0}function normaliseTypes(types,paramCount){return types?Array.isArray(types)?types:[types]:Array(paramCount).fill(Any$1)}function run(funcName,args,{argTypes=Array(args.length).fill(Any$1),mockResponse}){if(loadAPI(),args.length(argTypes[i]&&argTransformers[argTypes[i].name]||Any$1)(arg)),runMocked(mockResponse,transformedArgs)):(transformedArgs=args.map((arg,i)=>serialize((argTypes[i]&&argTransformers[argTypes[i].name]||Any$1)(arg))),runRaw(`${funcName}(${transformedArgs})`))}function runRaw(luaCode,withPromise=!0){return loadAPI(),withPromise?new Promise(function(resolve$1){api.engineLua(luaCode,resolve$1)}):api.engineLua(luaCode)}function runMocked(response,args){let ret;return ret=typeof response==`function`?response(...args):response,ret&&ret.then?ret:new Promise(resolve$1=>resolve$1(ret))}function serialize(o){return loadAPI(),api.serializeToLua(o)}function serializeCheck(o){return loadAPI(),api.serializeToLua(o)}var StreamManager_default=class{streamsRefCnt={};gameAPI={};constructor(api$1){this.gameAPI=api$1}_updateSubscriptions(){let reqVehStreams=[];for(let k in this.streamsRefCnt)reqVehStreams.push(k);let subscriptions={vehicles:[{byPlayerId:0,streams:reqVehStreams}]};this.gameAPI.subscribeToEvents(JSON.stringify(subscriptions))}add(streams){for(let i=0;i!!(node.offsetWidth&&node.offsetHeight);function isVisible(node,_style=null){let tmp=node;for(_style||=document.defaultView.getComputedStyle(tmp,null);tmp.tagName!==`HTML`;){if(!tmp.isConnected||tmp.nodeType!==Node.ELEMENT_NODE||(_style=document.defaultView.getComputedStyle(tmp,null),_style.display===`none`||_style.visibility===`hidden`||_style.opacity===`0`))return!1;tmp=tmp.parentNode}return!0}function isOccluded$1(element,rect,dontIgnoreOffscreen){let x=(rect.left+rect.right)/2,y=(rect.top+rect.bottom)/2,topElement=document.elementFromPoint(x,y);if(!topElement)return!!dontIgnoreOffscreen;let tmp=topElement;for(;tmp.tagName!==`HTML`;){if(tmp==element||tmp.tagName===`MD-TOOLTIP`||tmp.noOcclude)return!1;tmp=tmp.parentNode}return!0}function dispatchKey(key,elem=window.document){if(typeof key!=`number`)throw Error(`Invalid key`);let target=elem||document,ev=document.createEvent(`KeyboardEvent`);return Object.defineProperty(ev,`keyCode`,{get:function(){return this.keyCodeVal}}),ev.initKeyboardEvent(`keydown`,!0,!0),ev.keyCodeVal=key,target.dispatchEvent(ev)}const eventDispatcherForElement=element=>(type,extras={})=>(isRef$1(element)?element.value:element).dispatchEvent(Object.assign(new Event(type),extras));function observePosition(element,callback){let trackDiv=document.createElement(`div`);setCss(trackDiv,{position:`fixed`,width:`2px`,height:`2px`,padding:`0`,margin:`0`,border:`0`,outline:`0`,"pointer-events":`none`},!0),element.classList.add(`bng-pos-observed`),trackDiv.className=`bng-pos-observer`,element.children.length?element.insertBefore(trackDiv,element.firstChild):element.appendChild(trackDiv),window.BNG_Logger&&window.BNG_Logger.assert(()=>!isAffectedByCss(trackDiv),`Position observer can break styles inside your element! Please adjust your styles using .bng-pos-observed and/or .bng-pos-observer selectors
`,element);let fixPosition=()=>{let rect=trackDiv.getBoundingClientRect();setCss(trackDiv,{"margin-left":`${parseFloat(trackDiv.style.marginLeft||`0`)-rect.left-1}px`,"margin-top":`${parseFloat(trackDiv.style.marginTop||`0`)-rect.top-1}px`},!0)};fixPosition();let intersectionObserver=new IntersectionObserver(entries=>{Math.round(entries[0].intersectionRatio*4)!==1&&(fixPosition(),callback())},{threshold:[.125,.375,.625,.875]});return intersectionObserver.observe(trackDiv),()=>{intersectionObserver.disconnect(),trackDiv.remove(),element.classList.remove(`bng-pos-observed`)}}window.observePosition=observePosition;function setCss(element,rules,important=void 0){if(window.BNG_Logger&&window.BNG_Logger.assert(()=>!Object.values(rules).some(val=>val.endsWith(` !important`)),`Rule values cannot have !important in them. Please set important flag instead.`,rules),important)for(let key in window.BNG_Logger&&window.BNG_Logger.assert(()=>!Object.keys(rules).some(name=>name!==name.toLowerCase()),`Rule names must be in kebab-case (as in CSS itself)`,rules),rules)element.style.setProperty(key,rules[key],`important`);else Object.assign(element.style,rules)}function isAffectedByCss(element,parent=void 0,fast=!1){if(!element||!element.isConnected||!parent&&!element.parentNode)return!1;parent||=element.parentNode;let clone=element.cloneNode(!fast);parent.insertBefore(clone,element);let orig=window.getComputedStyle(element),cloned=window.getComputedStyle(clone),affected=!1;for(let prop of orig)if(orig[prop]!==cloned[prop]){affected=!0;break}return parent.removeChild(clone),affected}var crossfire_exports=__export({MONITORED_UI_NAV_EVENTS:()=>MONITORED_UI_NAV_EVENTS,NAVIGABLE_ELEMENTS_SELECTOR:()=>NAVIGABLE_ELEMENTS_SELECTOR,NAV_PRIORITY_ATTR:()=>NAV_PRIORITY_ATTR,NAV_PRIORITY_CONTAINER_ATTR:()=>NAV_PRIORITY_CONTAINER_ATTR,NO_CHILD_NAV_ATTR:()=>NO_CHILD_NAV_ATTR,NO_NAV_ATTR:()=>NO_NAV_ATTR,SCROLL_ATTR:()=>SCROLL_ATTR,SCROLL_EVENT_H:()=>SCROLL_EVENT_H,SCROLL_EVENT_V:()=>SCROLL_EVENT_V,SCROLL_FORCE_ATTR:()=>SCROLL_FORCE_ATTR,collectRects:()=>collectRects,findNext:()=>findNext,focusOnElement:()=>focusOnElement,handleUINavEvent:()=>handleUINavEvent,isAvailable:()=>isAvailable,isNavigable:()=>isNavigable$1,isNavigatable:()=>isNavigable$1,isOccluded:()=>isOccluded,isVisibleFast:()=>isVisibleFast,navigate:()=>navigate,navigateScroll:()=>navigateScroll,scrollFix:()=>scrollFix,uncollectRects:()=>uncollectRects});const NAVIGABLE_ELEMENTS_SELECTOR=`[is-bng-panel], [bng-nav-item], [ng-click], [href], [bng-all-clicks], [bng-all-clicks-no-nav], [ui-sref], input, textarea, button, md-option, md-slider, md-select, md-checkbox`,NO_NAV_ATTR=`bng-no-nav`,NO_CHILD_NAV_ATTR=`bng-no-child-nav`,NAV_PRIORITY_CONTAINER_ATTR=`bng-nav-priority-container`,NAV_PRIORITY_ATTR=`bng-nav-priority-item`;var MENU_NAVIGATION_CLASS=`menu-navigation`,IGNORE_TAGS=[`HTML`,`BODY`];const SCROLL_ATTR=`bng-nav-scroll`,SCROLL_FORCE_ATTR=`bng-nav-scroll-force`;var DIR={LEFT:`left`,UP:`up`,RIGHT:`right`,DOWN:`down`},DIR_KEYS={[DIR.LEFT]:37,[DIR.UP]:38,[DIR.RIGHT]:39,[DIR.DOWN]:40},AXIS_H=`horizontal`,AXIS_V=`vertical`;const SCROLL_EVENT_H=`rotate_h_cam`,SCROLL_EVENT_V=`rotate_v_cam`;var UI_SCROLL_EVENT_ACTIONS={[SCROLL_EVENT_H]:AXIS_H,[SCROLL_EVENT_V]:AXIS_V},UI_SCROLL_ACTION_EVENTS={[AXIS_H]:SCROLL_EVENT_H,[AXIS_V]:SCROLL_EVENT_V},SCALAR_EVENT_H=`focus_lr`,SCALAR_EVENT_V=`focus_ud`,UI_SCALAR_EVENT_ACTIONS={[SCALAR_EVENT_H]:AXIS_H,[SCALAR_EVENT_V]:AXIS_V},UI_NAV_EVENT_ACTIONS={focus_u:`up`,focus_d:`down`,focus_l:`left`,focus_r:`right`,ok:`confirm`,tab_l:`tab_l`,tab_r:`tab_r`};const MONITORED_UI_NAV_EVENTS=[...Object.keys(UI_NAV_EVENT_ACTIONS),...Object.keys(UI_SCALAR_EVENT_ACTIONS)];var THUMBSTICK_DEADZONE=.5,lastScalarValue={horizontal:0,vertical:0},TRACKER_ID=`crossfire`;function focusOnElement(elem){let contentEditable=elem.contentEditable,tabIndex=elem.tabIndex;elem.contentEditable=!0,elem.tabIndex=0,elem.focus(),elem.tabIndex=tabIndex,elem.contentEditable=contentEditable}function getNavigableElements(root=null,forceAll=!1){let res=[...(root||document.body).querySelectorAll(NAVIGABLE_ELEMENTS_SELECTOR)];return forceAll||(res=res.filter(elem=>{if(elem.parentNode.closest(`[bng-no-child-nav="1"], [bng-no-child-nav="true"]`))return!1;let noNav=elem.attributes.getNamedItem(NO_NAV_ATTR);return!noNav||noNav.value!==`true`})),res}function isNavigable$1(elem,forceAll=!1){if(!elem||IGNORE_TAGS.includes(elem.nodeName||elem.tagName))return!1;if(elem.classList.contains(MENU_NAVIGATION_CLASS))return!0;let parent=elem.parentNode;if(!parent)return!1;let children=getNavigableElements(parent,forceAll);for(let child of children)if(child===elem)return!0;return!1}function uncollectRects(){let ns=getNavigableElements();for(let node of ns)node.classList.remove(MENU_NAVIGATION_CLASS)}var warnPrioNesting=window.beamng&&!window.beamng.shipping;function collectRects(direction$1,parent,forceAll=!1){let links={};direction$1?links[direction$1]=[]:(links.up=[],links.down=[],links.left=[],links.right=[]);let prioNodes=new WeakSet,ns=getNavigableElements(parent,forceAll);for(let node of ns){if(!isAvailable(node)){node.classList.remove(MENU_NAVIGATION_CLASS);continue}let rectNode=node,prioNode=node.closest(`[${NAV_PRIORITY_CONTAINER_ATTR}]`);if(prioNode&&prioNode!==node&&!prioNodes.has(prioNode)){if(prioNodes.add(prioNode),!warnPrioNesting){let parent$1=prioNode.parentNode.closest(`[${NAV_PRIORITY_CONTAINER_ATTR}]`);parent$1&&(console.warn(`Priority container nesting is not supported. Please remove the nested priority container.
Parent:`,parent$1,`
@/inspector/Models/DOMBreakpoint.js
    {
        console.assert(domNodeOrInfo instanceof WI.DOMNode || typeof domNodeOrInfo === "object", domNodeOrInfo);
        console.assert(Object.values(WI.DOMBreakpoint.Type).includes(type), type);
        console.assert(domNodeOrInfo instanceof WI.DOMNode || typeof domNodeOrInfo === "object", domNodeOrInfo);
        console.assert(Object.values(WI.DOMBreakpoint.Type).includes(type), type);
            this._path = domNodeOrInfo.path();
            console.assert(WI.networkManager.mainFrame);
            this._url = WI.networkManager.mainFrame.url;
@/inspector/Controllers/CodeMirrorTokenTrackingController.js

        console.assert(codeMirror);
    {
        console.assert(x >= 0);
        this._mouseOverDelayDuration = Math.max(x, 0);
    {
        console.assert(x >= 0);
        this._mouseOutReleaseDelayDuration = Math.max(x, 0);
            if (nextToken && nextToken.type && !/\bmeta\b/.test(nextToken.type)) {
                console.assert(tokenInfo.token.end === nextToken.start);
            if (previousToken && previousToken.type && /\bmeta\b/.test(previousToken.type)) {
                console.assert(tokenInfo.token.start === previousToken.end);
    {
        console.assert(tokenInfo);
@/lua/common/libs/lua-websockets/websocket/client_ev.lua
    self.state = 'CONNECTING'
    assert(not sock)
    sock = socket.tcp()
    fd = sock:getfd()
    assert(fd > -1)
    -- set non blocking
@/inspector/Views/WebSocketContentView.js
    {
        console.assert(resource instanceof WI.WebSocketResource, resource);
@/inspector/Views/AuditNavigationSidebarPanel.js

        console.assert(this._resultsFolderTreeElement.children.length === WI.auditManager.results.length);
        if (WI.auditManager.editing) {
            console.assert(!this._selectedTreeElementBeforeEditing);
            this._selectedTreeElementBeforeEditing = this.contentTreeOutline.selectedTreeElement;
@/inspector/Views/ProfileView.js

        console.assert(callingContextTree instanceof WI.CallingContextTree);
    {
        console.assert(startTime >= 0);
        console.assert(endTime >= 0);
        console.assert(startTime >= 0);
        console.assert(endTime >= 0);
        console.assert(startTime <= endTime);
        console.assert(endTime >= 0);
        console.assert(startTime <= endTime);
@/inspector/Views/TreeElementStatusButton.js

        console.assert(element);
@/lua/common/libs/lua-websockets/websocket/handshake.lua
  local sha1 = sha1(a)
  assert((#sha1 % 2) == 0)
  return base64.encode(sha1)
    else
      assert(false,line..'('..#line..')')
    end
@/inspector/Views/ConsolePrompt.js
        {
            console.assert(a);
            console.assert(b);
            console.assert(a);
            console.assert(b);
            return a.line === b.line && a.ch === b.ch;
@/inspector/Controllers/JavaScriptRuntimeCompletionProvider.js

        console.assert(!WI.JavaScriptRuntimeCompletionProvider._instance);
@/inspector/Models/FPSInstrument.js

        console.assert(WI.FPSInstrument.supported());
    }
@/lua/ge/extensions/editor/terrainEditor.lua
    if payload ~= nil then
      assert(payload.DataSize == 2048)
      local path = ffi.string(payload.Data)
@/inspector/Models/ScopeChainNode.js
    {
        console.assert(typeof type === "string");
        console.assert(objects.every((x) => x instanceof WI.RemoteObject));
        console.assert(typeof type === "string");
        console.assert(objects.every((x) => x instanceof WI.RemoteObject));
@/inspector/Base/Object.js

        console.assert(eventType, "Object.addEventListener: invalid event type ", eventType, "(listener: ", listener, "thisObject: ", thisObject, ")");
        if (!eventType)

        console.assert(listener, "Object.addEventListener: invalid listener ", listener, "(event type: ", eventType, "thisObject: ", thisObject, ")");
        if (!listener)
        let didDelete = listenersTable.delete(thisObject, listener);
        console.assert(didDelete, "removeEventListener cannot remove " + eventType.toString() + " because it doesn't exist.");
    }

            console.assert(listenerTypesMap instanceof Map);
@/inspector/Views/CPUTimelineView.js
    {
        console.assert(timeline.type === WI.TimelineRecord.Type.CPU, timeline);
    {
        console.assert(this.representedObject instanceof WI.Timeline);
        this.representedObject.removeEventListener(null, null, this);
        function mapWithBias(value, rangeLow, rangeHigh, outputRangeLow, outputRangeHigh, bias) {
            console.assert(value >= rangeLow && value <= rangeHigh, "value was not in range.", value);
            let percentInRange = (value - rangeLow) / (rangeHigh - rangeLow);
        let cpuTimelineRecord = event.data.record;
        console.assert(cpuTimelineRecord instanceof WI.CPUTimelineRecord);
                return;
            console.assert(false, "If the user clicked on a rect there should have been a record in this pixel range");
        }
@/inspector/Views/ObjectTreeMapEntryTreeElement.js
    {
        console.assert(object instanceof WI.RemoteObject);
@/inspector/Views/LegacyTabBar.js
    {
        console.assert(tabBarItem instanceof WI.TabBarItem);
        if (!(tabBarItem instanceof WI.TabBarItem))
        return new Promise(function(resolve, reject) {
            console.assert(this._tabAnimatedClosedSinceMouseEnter);
            this._tabAnimatedClosedSinceMouseEnter = false;
    {
        console.assert(event.button === 0);
        console.assert(this._mouseIsDown);
        console.assert(event.button === 0);
        console.assert(this._mouseIsDown);
        if (!this._mouseIsDown)

        console.assert(this._selectedTabBarItem);
        if (!this._selectedTabBarItem)
    {
        console.assert(event.button === 0);
        console.assert(this._mouseIsDown);
        console.assert(event.button === 0);
        console.assert(this._mouseIsDown);
        if (!this._mouseIsDown)
@/inspector/Models/MemoryTimeline.js
    {
        console.assert(memoryPressureEvent instanceof WI.MemoryPressureEvent);
@/inspector/Models/MemoryTimelineRecord.js

        console.assert(typeof timestamp === "number");
        console.assert(categories instanceof Array);
        console.assert(typeof timestamp === "number");
        console.assert(categories instanceof Array);
    {
        console.assert(startTime < this._endTime);
        this._startTime = startTime;
@/inspector/Views/GeneralStyleDetailsSidebarPanel.js

        console.assert(this.visible, `Shown panel ${this._identifier} must be visible.`);
@/inspector/Views/CPUUsageCombinedView.js
    {
        console.assert(size instanceof WI.Size);
        console.assert(min >= 0);
        console.assert(size instanceof WI.Size);
        console.assert(min >= 0);
        console.assert(max >= 0);
        console.assert(min >= 0);
        console.assert(max >= 0);
        console.assert(min <= max);
        console.assert(max >= 0);
        console.assert(min <= max);
        console.assert(min <= average && average <= max);
        console.assert(min <= max);
        console.assert(min <= average && average <= max);
    {
        console.assert(size instanceof WI.Size);
            // Start a new chunk.
            console.assert(!currentRange);
            console.assert(!currentSampleType);
            console.assert(!currentRange);
            console.assert(!currentSampleType);
            currentRange = {type, startIndex: i, endIndex: i};
@/inspector/localizedStrings.js
localizedStrings["Assertion Failed: %s"] = "Assertion Failed: %s";
/* Break (pause) when console.assert() fails */
localizedStrings["Assertion Failures"] = "Assertion Failures";
@/inspector/Views/ObjectTreeBaseTreeElement.js
    {
        console.assert(representedObject);
        console.assert(propertyPath instanceof WI.PropertyPath);
        console.assert(representedObject);
        console.assert(propertyPath instanceof WI.PropertyPath);
        console.assert(!property || property instanceof WI.PropertyDescriptor);
        console.assert(propertyPath instanceof WI.PropertyPath);
        console.assert(!property || property instanceof WI.PropertyDescriptor);
    {
        console.assert(this._property);
        if (this._getterValue)
    {
        console.assert(this._property);
        if (this._getterValue)
    {
        console.assert(this._property);
        return this._propertyPath.appendPropertyDescriptor(null, this._property, this.propertyPathType());
    {
        console.assert(this._property);
        return this._property.wasThrown || this._getterHadError;
    {
        console.assert(this._property);
        if (this._getterValue || this._property.hasValue())
@/ui/lib/ext/vue3/vue.global.js
  }
  function assert(condition, msg) {
      /* istanbul ignore if */
          case 11 /* FOR */:
              assert(node.codegenNode != null, `Codegen node is missing for element/if/for node. ` +
                      `Apply appropriate transforms first.`);
              {
                  assert(false, `unhandled codegen node type: ${node.type}`);
                  // make sure we exhaust all possible types
@/inspector/Base/EventListener.js
    {
        console.assert(!this._emitter && !this._callback, "EventListener already bound to a callback.", this);
        console.assert(emitter, `Missing event emitter for event: ${type}.`);
        console.assert(!this._emitter && !this._callback, "EventListener already bound to a callback.", this);
        console.assert(emitter, `Missing event emitter for event: ${type}.`);
        console.assert(type, "Missing event type.");
        console.assert(emitter, `Missing event emitter for event: ${type}.`);
        console.assert(type, "Missing event type.");
        console.assert(callback, `Missing callback for event: ${type}.`);
        console.assert(type, "Missing event type.");
        console.assert(callback, `Missing callback for event: ${type}.`);
        var emitterIsValid = emitter && (emitter instanceof WI.Object || emitter instanceof Node || (typeof emitter.addEventListener === "function"));
        var emitterIsValid = emitter && (emitter instanceof WI.Object || emitter instanceof Node || (typeof emitter.addEventListener === "function"));
        console.assert(emitterIsValid, "Event emitter ", emitter, ` (type: ${type}) is null or does not implement Node or WI.Object.`);
    {
        console.assert(this._emitter && this._callback, "EventListener is not bound to a callback.", this);
@/inspector/Views/DOMTreeContentView.js
    {
        console.assert(representedObject);
    {
        console.assert(this._searchIdentifier);

            console.assert(nodeIdentifiers.length === 1);
            var domNode = WI.domManager.nodeForId(nodeIdentifiers[0]);
            console.assert(domNode);
            if (!domNode)
        let node = treeElement.representedObject;
        console.assert(node instanceof WI.DOMNode);
        if (!(node instanceof WI.DOMNode))

        console.assert(event.data.pathComponent instanceof WI.DOMTreeElementPathComponent);
        console.assert(event.data.pathComponent.domTreeElement instanceof WI.DOMTreeElement);
        console.assert(event.data.pathComponent instanceof WI.DOMTreeElementPathComponent);
        console.assert(event.data.pathComponent.domTreeElement instanceof WI.DOMTreeElement);
    {
        console.assert(WI.cssManager.canForceAppearance());

        console.assert(appearanceToForce);
        WI.cssManager.forcedAppearance = WI.cssManager.forcedAppearance == appearanceToForce ? null : appearanceToForce;
    {
        console.assert(this._searchIdentifier);

            console.assert(nodeIdentifiers.length === this._numberOfSearchResults);
                var domNode = WI.domManager.nodeForId(nodeIdentifiers[i]);
                console.assert(domNode);
                if (!domNode)
                var treeElement = this._domTreeOutline.findTreeElement(domNode);
                console.assert(treeElement);
                if (treeElement)
@/inspector/Views/LayerTreeDetailsSidebarPanel.js

        console.assert(this.parentSidebar);
@/inspector/Views/ProbeSetDataGrid.js
    {
        console.assert(probeSet instanceof WI.ProbeSet, "Invalid ProbeSet argument: ", probeSet);
    {
        console.assert(frame instanceof WI.ProbeSetDataFrame, "Invalid ProbeSetDataFrame argument: ", frame);
        var node = null;
        }
        console.assert(node);
    {
        console.assert(this._frameNodes.has(frame), "Tried to add separator for unknown data frame: ", frame);
        this._frameNodes.get(frame).updateCellsForSeparator(frame, this.probeSet);
@/inspector/Views/LayoutTimelineView.js

        console.assert(timeline.type === WI.TimelineRecord.Type.Layout, timeline);
        while (dataGridNode && !dataGridNode.root) {
            console.assert(dataGridNode instanceof WI.TimelineDataGridNode);
            if (dataGridNode.hidden)
    {
        console.assert(this.representedObject instanceof WI.Timeline);
        this.representedObject.removeEventListener(null, null, this);
        let dataGridNode = event.data.pathComponent.timelineDataGridNode;
        console.assert(dataGridNode.dataGrid === this._dataGrid);
                else {
                    console.assert(childRecord.type === WI.TimelineRecord.Type.Layout, childRecord);
                    childDataGridNode = new WI.LayoutTimelineDataGridNode(childRecord, options);

                console.assert(entry.parentDataGridNode, "Missing parent node for entry.", entry);
                this._dataGrid.addRowInSortOrder(childDataGridNode, entry.parentDataGridNode);
        let layoutTimelineRecord = event.data.record;
        console.assert(layoutTimelineRecord instanceof WI.LayoutTimelineRecord);
@/ui/ui-vue/src/bridge/libs/UINavEvents.js
  // check for the existence of the given scope, warn if missing
  window.BNG_Logger.assert(
    new Promise(resolve => {
@/inspector/Models/EventBreakpoint.js

        console.assert(Object.values(WI.EventBreakpoint.Type).includes(type), type);
        console.assert(typeof eventName === "string", eventName);
        console.assert(Object.values(WI.EventBreakpoint.Type).includes(type), type);
        console.assert(typeof eventName === "string", eventName);
@/inspector/Views/ProfileDataGridTree.js

        console.assert(callingContextTree instanceof WI.CallingContextTree);
        console.assert(typeof sortComparator === "function");
        console.assert(callingContextTree instanceof WI.CallingContextTree);
        console.assert(typeof sortComparator === "function");
    {
        console.assert(profileDataGridNode instanceof WI.ProfileDataGridNode);
    {
        console.assert(profileDataGridNode instanceof WI.ProfileDataGridNode);
        let index = this._focusNodes.indexOf(profileDataGridNode);
        console.assert(index !== -1, "rollbackFocusNode should be rolling back to a previous focused node");
        console.assert(index !== this._focusNodes.length - 1, "rollbackFocusNode should be rolling back to a previous focused node");
        console.assert(index !== -1, "rollbackFocusNode should be rolling back to a previous focused node");
        console.assert(index !== this._focusNodes.length - 1, "rollbackFocusNode should be rolling back to a previous focused node");
        if (index === -1)
@/inspector/Views/ResourceCookiesContentView.js

        console.assert(resource instanceof WI.Resource);
        let index = cookies.indexOf(object);
        console.assert(index >= 0);
        return index;
        let cookies = this._dataSourceForTable(table);
        console.assert(index >= 0 && index < cookies.length);
        return cookies[index];
        default:
            console.assert("Unexpected sort column", sortColumnIdentifier);
            return null;
@/inspector/Base/ObjectStore.js

        console.assert(typeof object.toJSON === "function", "ObjectStore cannot store an object without JSON serialization", object.constructor.name);
        let result = await this.put(object.toJSON(WI.ObjectStore.toJSONSymbol), ...args);
@/inspector/Views/ResourceDetailsSection.js
    {
        console.assert(typeof isIncomplete === "boolean");
        this.element.classList.toggle("incomplete", isIncomplete);
    {
        console.assert(typeof isError === "boolean");
        this.element.classList.toggle("error", isError);

        console.assert(typeof key === "string" || key instanceof Node);
        if (key instanceof Node)
@/inspector/Models/RecordingAction.js
    {
        console.assert(this._swizzled, "You must swizzle() before you can process().");
        console.assert(!this._processed, "You should only process() once.");
        console.assert(this._swizzled, "You must swizzle() before you can process().");
        console.assert(!this._processed, "You should only process() once.");

            console.assert("Unknown context type", context);
            return [];
            let currentState = WI.RecordingState.fromContext(recording.type, context, {source: this});
            console.assert(currentState);
    {
        console.assert(!this._swizzled, "You should only swizzle() once.");
    {
        console.assert(this._swizzled, "You must swizzle() before you can apply().");
        console.assert(this._processed, "You must process() before you can apply().");
        console.assert(this._swizzled, "You must swizzle() before you can apply().");
        console.assert(this._processed, "You must process() before you can apply().");
@/inspector/Controllers/DatabaseManager.js
        var database = this._databaseForIdentifier(id);
        console.assert(database);
        if (!database)
    {
        console.assert(event.target instanceof WI.Frame);
@/inspector/Controllers/BranchManager.js
    {
        console.assert(branch instanceof WI.Branch);
        if (!(branch instanceof WI.Branch))

        console.assert(fromBranch instanceof WI.Branch);
        if (!(fromBranch instanceof WI.Branch))
    {
        console.assert(branch instanceof WI.Branch);
        if (!(branch instanceof WI.Branch))

        console.assert(branch !== this._originalBranch);
        if (branch === this._originalBranch)
    {
        console.assert(event.target instanceof WI.Frame);
@/lua/vehicle/extensions/profiling/p.lua
local jit = require("jit")
assert(jit.version_num == 20100, "LuaJIT core/library version mismatch")
local profile = require("jit.profile")
  if outfile then
    out = outfile == "-" and stdout or assert(io.open(outfile, "w"))
  else
@/inspector/Base/Utilities.js
    {
        console.assert(initialValue !== undefined, "getOrInitialize should not be used with undefined.");

    console.assert(path.charAt(0) === "/");
    var typeParts = fullMimeType.split(/\s*;\s*/);
    console.assert(typeParts.length >= 1);
{
    console.assert(blob instanceof Blob);
    let fileReader = new FileReader;
@/inspector/Views/ObjectPropertiesDetailSectionRow.js

        console.assert(objectTree instanceof WI.ObjectTreeView);
        console.assert(!sectionForDeferredExpand || sectionForDeferredExpand instanceof WI.DetailsSection);
        console.assert(objectTree instanceof WI.ObjectTreeView);
        console.assert(!sectionForDeferredExpand || sectionForDeferredExpand instanceof WI.DetailsSection);
    {
        console.assert(!event.target.collapsed);
@/inspector/Controllers/DebuggerManager.js
    {
        console.assert(sourceCode instanceof WI.Resource || sourceCode instanceof WI.Script);
    {
        console.assert(sourceCodeLocation instanceof WI.SourceCodeLocation);

        console.assert(!(enabled && this.breakpointsDisabledTemporarily), "Should not enable breakpoints when we are temporarily disabling breakpoints.");
        if (enabled && this.breakpointsDisabledTemporarily)
    {
        console.assert(target instanceof WI.Target);
        return this.dataForTarget(target).scriptForIdentifier(id);
        // FIXME: This may not be safe. A Resource's URL may differ from a Script's URL.
        console.assert(target instanceof WI.Target);
        return this.dataForTarget(target).scriptsForURL(url);
    {
        console.assert(breakpoint instanceof WI.Breakpoint);
        if (!breakpoint)
    {
        console.assert(breakpoint instanceof WI.Breakpoint);
        if (!breakpoint)

        console.assert(this.isBreakpointRemovable(breakpoint));
        if (!this.isBreakpointRemovable(breakpoint))
        let breakpoint = this._breakpointIdMap.get(breakpointIdentifier);
        console.assert(breakpoint);
        if (!breakpoint)

        console.assert(breakpoint.identifier === breakpointIdentifier);
        if (existingScript) {
            console.assert(existingScript.url === (url || null));
            console.assert(existingScript.range.startLine === startLine);
            console.assert(existingScript.url === (url || null));
            console.assert(existingScript.range.startLine === startLine);
            console.assert(existingScript.range.startColumn === startColumn);
            console.assert(existingScript.range.startLine === startLine);
            console.assert(existingScript.range.startColumn === startColumn);
            console.assert(existingScript.range.endLine === endLine);
            console.assert(existingScript.range.startColumn === startColumn);
            console.assert(existingScript.range.endLine === endLine);
            console.assert(existingScript.range.endColumn === endColumn);
            console.assert(existingScript.range.endLine === endLine);
            console.assert(existingScript.range.endColumn === endColumn);
            return;
    {
        console.assert(this._probesByIdentifier.has(sample.probeId), "Unknown probe identifier specified for sample: ", sample);
        let probe = this._probesByIdentifier.get(sample.probeId);
        default:
            console.assert(false);
            return DebuggerAgent.BreakpointActionType.Log;
    {
        console.assert(!breakpoint.disabled);

        console.assert(this.isBreakpointEditable(breakpoint));
        if (!this.isBreakpointEditable(breakpoint))

        console.assert(!this.breakpointsDisabledTemporarily, "Already temporarily disabling breakpoints.");
        if (this.breakpointsDisabledTemporarily)

        console.assert(this.breakpointsDisabledTemporarily, "Was not temporarily disabling breakpoints.");
        if (!this.breakpointsDisabledTemporarily)
            // SourceCodes can be unequal if the SourceCodeLocation is associated with a Script and we are looking at the Resource.
            console.assert(breakpoint.sourceCodeLocation.sourceCode === sourceCode || breakpoint.sourceCodeLocation.sourceCode.contentIdentifier === sourceCode.contentIdentifier);
        }
    {
        console.assert(this._knownProbeIdentifiersForBreakpoint.has(breakpoint));
            let probeIdentifier = probeAction.id;
            console.assert(probeIdentifier, "Probe added without breakpoint action identifier: ", breakpoint);
            let probe = this._probesByIdentifier.get(probeIdentifier);
            console.assert(probe, "Probe known but couldn't be found by identifier: ", probeIdentifier);
            // Update probe expression; if it differed, change events will fire.
@/inspector/Models/DOMNodeStyles.js

        console.assert(node);
        this._node = node || null;
        var styleSheet = event.target;
        console.assert(styleSheet);
        if (!styleSheet)
                if (knownShorthands[property.canonicalName] && !knownShorthands[property.canonicalName].overridden) {
                    console.assert(property.overridden);
                    continue;
@/inspector/Views/DOMStorageTreeElement.js
    {
        console.assert(representedObject instanceof WI.DOMStorageObject);
@/inspector/Views/FormattedValue.js

    console.assert(false, "All RemoteObject types should be handled above");
    return false;
    if (!matches) {
        console.assert(!value.startsWith("<"), "Unexpected node preview format: " + value);
        span.textContent = value;
@/inspector/Models/MediaTimelineRecord.js
    {
        console.assert(Object.values(WI.MediaTimelineRecord.EventType).includes(eventType));
@/inspector/Views/StorageSidebarPanel.js
    {
        console.assert(this._scopeBar.selectedItems.length === 1);
        var selectedScopeBarItem = this._scopeBar.selectedItems[0];
    {
        console.assert(this._scopeBar.selectedItems.length === 1);
        var selectedScopeBarItem = this._scopeBar.selectedItems[0];
    {
        console.assert(database instanceof WI.DatabaseObject);
    {
        console.assert(indexedDatabase instanceof WI.IndexedDatabase);
    {
        console.assert(cookieStorage instanceof WI.CookieStorageObject);
    {
        console.assert(frameManifest instanceof WI.ApplicationCacheFrame);
    {
        console.assert(a.mainTitle);
        console.assert(b.mainTitle);
        console.assert(a.mainTitle);
        console.assert(b.mainTitle);
        if (parentElement instanceof WI.StorageTreeElement) {
            console.assert(parentElement.flattened);

        console.assert(parentElement instanceof WI.FolderTreeElement);
        parentElement.insertChild(childElement, insertionIndexForObjectInListSortedByFunction(childElement, parentElement.children, this._compareTreeElements));
@/inspector/Views/ProbeSetDetailsSection.js
    {
        console.assert(probeSet instanceof WI.ProbeSet, "Invalid ProbeSet argument:", probeSet);
            // Fallback for when we can't create a live source link.
            console.assert(!breakpoint.resolved);
@/inspector/Models/ServerTimingEntry.js
        function consumeDelimiter(char) {
            console.assert(char.length === 1);
            trimLeadingWhiteSpace();
            // https://tools.ietf.org/html/rfc7230#section-3.2.6
            console.assert(valueString.charAt(0) === "\"");
@/inspector/Views/ConsoleMessageView.js

        console.assert(message instanceof WI.ConsoleMessage);
    {
        console.assert(typeof count === "number");

        console.assert(this._message instanceof WI.ConsoleCommandResultMessage);
        console.assert(this._message.type === WI.ConsoleMessage.MessageType.Result);
        console.assert(this._message instanceof WI.ConsoleCommandResultMessage);
        console.assert(this._message.type === WI.ConsoleMessage.MessageType.Result);

        console.assert(this._message.type !== WI.ConsoleMessage.MessageType.Result);
                    // An exception might be a truncated string.
                    console.assert((isPreviewView && preview.lossless) || (!isPreviewView && this._shouldConsiderObjectLossless(parameter)));
                }
    {
        console.assert(parameter instanceof WI.RemoteObject);
    {
        console.assert(parameter instanceof WI.RemoteObject);
        else {
            console.assert(false, "no longer reachable");
            type = typeof parameter;

        console.assert(columnNamesArgument instanceof WI.RemoteObject);
@/inspector/Views/TimelineDataGrid.js

            console.assert(!dataGridNode.parent || dataGridNode.parent === this);
            if (dataGridNode.parent === this)
        let targetPopoverElement = this.callFramePopoverAnchorElement();
        console.assert(targetPopoverElement, "TimelineDataGrid subclass should always return a valid element from callFramePopoverAnchorElement.");
        if (!targetPopoverElement)

        console.assert(treeElement instanceof WI.CallFrameTreeElement, "TreeElements in TimelineDataGrid popover should always be CallFrameTreeElements");
        var callFrame = treeElement.callFrame;
@/inspector/Views/HierarchicalPathComponent.js

        console.assert(displayName);
        console.assert(styleClassNames);
        console.assert(displayName);
        console.assert(styleClassNames);
    {
        console.assert(newDisplayName);
        if (newDisplayName === this._displayName)
@/inspector/Models/Redirect.js
    {
        console.assert(typeof url === "string");
        console.assert(typeof requestMethod === "string");
        console.assert(typeof url === "string");
        console.assert(typeof requestMethod === "string");
        console.assert(typeof requestHeaders === "object");
        console.assert(typeof requestMethod === "string");
        console.assert(typeof requestHeaders === "object");
        console.assert(!isNaN(responseStatusCode));
        console.assert(typeof requestHeaders === "object");
        console.assert(!isNaN(responseStatusCode));
        console.assert(typeof responseStatusText === "string");
        console.assert(!isNaN(responseStatusCode));
        console.assert(typeof responseStatusText === "string");
        console.assert(typeof responseHeaders === "object");
        console.assert(typeof responseStatusText === "string");
        console.assert(typeof responseHeaders === "object");
        console.assert(!isNaN(timestamp));
        console.assert(typeof responseHeaders === "object");
        console.assert(!isNaN(timestamp));
@/lua/common/libs/luamqtt/mqtt/init.lua
		* all other errors will be returned in format: false, "error-text"
			* you can wrap function call into standard lua assert() to raise exception
@/inspector/Models/SourceCodeTextRange.js

        console.assert(sourceCode instanceof WI.SourceCode);
        console.assert(arguments.length === 2 || arguments.length === 3);
        console.assert(sourceCode instanceof WI.SourceCode);
        console.assert(arguments.length === 2 || arguments.length === 3);
            var textRange = arguments[1];
            console.assert(textRange instanceof WI.TextRange);
            this._startLocation = sourceCode.createSourceCodeLocation(textRange.startLine, textRange.startColumn);
        } else {
            console.assert(arguments[1] instanceof WI.SourceCodeLocation);
            console.assert(arguments[2] instanceof WI.SourceCodeLocation);
            console.assert(arguments[1] instanceof WI.SourceCodeLocation);
            console.assert(arguments[2] instanceof WI.SourceCodeLocation);
            this._startLocation = arguments[1];
@/lua/common/libs/resty/template.lua
            loadchunk = function(view)
                return assert(load(view, nil, nil, setmetatable({ template = template }, context)))
            end
            loadchunk = function(view)
                local func = assert(loadstring(view))
                setfenv(func, setmetatable({ template = template }, context))
        loadchunk = function(view)
            return assert(load(view, nil, nil, setmetatable({ template = template }, context)))
        end
function template.new(view, layout)
    assert(view, "view was not provided for template.new(view, layout).")
    local render, compile = template.render, template.compile
function template.compile(view, key, plain)
    assert(view, "view was not provided for template.compile(view, key, plain).")
    if key == "no-cache" then
function template.parse(view, plain)
    assert(view, "view was not provided for template.parse(view, plain).")
    if not plain then
function template.renderReturn(view, context, key, plain)
    assert(view, "view was not provided for template.render(view, context, key, plain).")
    return template.compile(view, key, plain)(context)
@/inspector/Models/Resource.js

        console.assert(url);
    {
        console.assert(typeof a === "symbol");
        console.assert(typeof b === "symbol");
        console.assert(typeof a === "symbol");
        console.assert(typeof b === "symbol");
    {
        console.assert(!(this instanceof WI.SourceMapResource));
        console.assert(sourceCodeLocation.sourceCode === this, "SourceCodeLocation must be in this Resource");
        console.assert(!(this instanceof WI.SourceMapResource));
        console.assert(sourceCodeLocation.sourceCode === this, "SourceCodeLocation must be in this Resource");
        if (sourceCodeLocation.sourceCode !== this)
    {
        console.assert(!this._finished);
        console.assert(!this._failed);
        console.assert(!this._finished);
        console.assert(!this._failed);
        console.assert(!this._canceled);
        console.assert(!this._failed);
        console.assert(!this._canceled);
    {
        console.assert(!this._finished);
        console.assert(!this._failed);
        console.assert(!this._finished);
        console.assert(!this._failed);
        console.assert(!this._canceled);
        console.assert(!this._failed);
        console.assert(!this._canceled);

        console.assert(isNaN(this._estimatedSize));
        console.assert(isNaN(this._estimatedTransferSize));
        console.assert(isNaN(this._estimatedSize));
        console.assert(isNaN(this._estimatedTransferSize));

            console.assert(this._requestHeadersTransferSize >= 0);
            console.assert(this._requestBodyTransferSize >= 0);
            console.assert(this._requestHeadersTransferSize >= 0);
            console.assert(this._requestBodyTransferSize >= 0);
            console.assert(this._responseHeadersTransferSize >= 0);
            console.assert(this._requestBodyTransferSize >= 0);
            console.assert(this._responseHeadersTransferSize >= 0);
            console.assert(this._responseBodyTransferSize >= 0);
            console.assert(this._responseHeadersTransferSize >= 0);
            console.assert(this._responseBodyTransferSize >= 0);
            console.assert(this._responseBodySize >= 0);
            console.assert(this._responseBodyTransferSize >= 0);
            console.assert(this._responseBodySize >= 0);
    {
        console.assert(!isNaN(size), "Size should be a valid number.");
        console.assert(isNaN(this._cachedResponseBodySize), "This should only be set once.");
        console.assert(!isNaN(size), "Size should be a valid number.");
        console.assert(isNaN(this._cachedResponseBodySize), "This should only be set once.");
        console.assert(this._estimatedSize === size, "The legacy path was updated already and matches.");
        console.assert(isNaN(this._cachedResponseBodySize), "This should only be set once.");
        console.assert(this._estimatedSize === size, "The legacy path was updated already and matches.");
    {
        console.assert(dataLength >= 0);
        console.assert(!this._receivedNetworkLoadMetrics, "If we received metrics we don't need to change the estimated size.");
        console.assert(dataLength >= 0);
        console.assert(!this._receivedNetworkLoadMetrics, "If we received metrics we don't need to change the estimated size.");
    {
        console.assert(encodedDataLength >= 0);
        console.assert(!this._receivedNetworkLoadMetrics, "If we received metrics we don't need to change the estimated transfer size.");
        console.assert(encodedDataLength >= 0);
        console.assert(!this._receivedNetworkLoadMetrics, "If we received metrics we don't need to change the estimated transfer size.");
    {
        console.assert(!this._failed);
        console.assert(!this._canceled);
        console.assert(!this._failed);
        console.assert(!this._canceled);
    {
        console.assert(!this._finished);
    {
        console.assert(!this._failed);
        console.assert(!this._canceled);
        console.assert(!this._failed);
        console.assert(!this._canceled);
        console.assert(this._finished);
        console.assert(!this._canceled);
        console.assert(this._finished);
        // COMPATIBILITY (iOS 10.3): This is a legacy code path where we know the resource came from the MemoryCache.
        console.assert(this._responseSource === WI.Resource.ResponseSource.Unknown);
        // COMPATIBILITY (iOS 10.3): This is a legacy code path where we know the resource came from the DiskCache.
        console.assert(this._responseSource === WI.Resource.ResponseSource.Unknown);
@/inspector/Controllers/DOMDebuggerManager.js
    {
        console.assert(node instanceof WI.DOMNode);
    {
        console.assert(node instanceof WI.DOMNode);
    {
        console.assert(breakpoint instanceof WI.DOMBreakpoint);
        if (!breakpoint || !breakpoint.url)
    {
        console.assert(breakpoint instanceof WI.DOMBreakpoint);
        if (!breakpoint)
    {
        console.assert(breakpoint instanceof WI.EventBreakpoint);
        if (!breakpoint)
    {
        console.assert(breakpoint instanceof WI.EventBreakpoint);
        if (!breakpoint)
                if (!WI.DOMDebuggerManager.supportsEventBreakpoints()) {
                    console.assert(breakpoint.type === WI.EventBreakpoint.Type.Listener);
                    target.DOMDebuggerAgent.removeEventListenerBreakpoint(breakpoint.eventName);
    {
        console.assert(breakpoint instanceof WI.URLBreakpoint);
        if (!breakpoint)

        console.assert(!this._urlBreakpoints.includes(breakpoint), "Already added URL breakpoint.", breakpoint);
        if (this._urlBreakpoints.includes(breakpoint))
    {
        console.assert(breakpoint instanceof WI.URLBreakpoint);
        if (!breakpoint)
        let node = WI.domManager.nodeForId(nodeIdentifier);
        console.assert(node, "Missing DOM node for breakpoint.", breakpoint);
        if (!node || !node.frame)
        let domBreakpointNodeIdentifierMap = this._domBreakpointFrameIdentifierMap.get(frameIdentifier);
        console.assert(domBreakpointNodeIdentifierMap, "Missing DOM breakpoints for node parent frame.", node);
        if (!domBreakpointNodeIdentifierMap)
                    // to resolve it again as it would've already been resolved.
                    console.assert(breakpoint.domNodeIdentifier === nodeIdentifier);
                    return;
        let node = WI.domManager.nodeForId(nodeIdentifier);
        console.assert(node, "Missing DOM node for nodeIdentifier.", nodeIdentifier);
        if (!node || !node.frame)
    {
        console.assert(target.DOMDebuggerAgent);
    {
        console.assert(target.DOMDebuggerAgent);
        if (!WI.DOMDebuggerManager.supportsEventBreakpoints()) {
            console.assert(breakpoint.type === WI.EventBreakpoint.Type.Listener);
            if (breakpoint.disabled)
    {
        console.assert(target.DOMDebuggerAgent);
@/inspector/Models/Geometry.js
    {
        console.assert(arguments.length === 1 || arguments.length === 4);
@/inspector/Views/DataGrid.js
    {
        console.assert(columnIdentifier && this.columns.has(columnIdentifier));
        console.assert("sortable" in this.columns.get(columnIdentifier));
        console.assert(columnIdentifier && this.columns.has(columnIdentifier));
        console.assert("sortable" in this.columns.get(columnIdentifier));
    {
        console.assert(identifier && typeof identifier === "string");
        if (this._settingsIdentifier === identifier)
    {
        console.assert(node, "Invalid argument: must provide DataGridNode to edit.");
    {
        console.assert(this._editingNode.element === element.closest("tr"));
            let headerView = column["headerView"];
            console.assert(headerView instanceof WI.View);
        if (column["collapsesGroup"]) {
            console.assert(column["group"] !== column["collapsesGroup"]);
    {
        console.assert(this.columns.has(columnIdentifier));
        var removedColumn = this.columns.get(columnIdentifier);
        let column = this.columns.get(columnIdentifier);
        console.assert(column, "Missing column info for identifier: " + columnIdentifier);
        console.assert(typeof visible === "boolean", "New visible state should be explicit boolean", typeof visible);
        console.assert(column, "Missing column info for identifier: " + columnIdentifier);
        console.assert(typeof visible === "boolean", "New visible state should be explicit boolean", typeof visible);
            let column = this.columns.get(columnIdentifier);
            console.assert(column, "Missing column data for header cell with columnIdentifier " + columnIdentifier);
            if (!column)
    {
        console.assert(child);
        if (!child)

        console.assert(child.parent !== this);
        if (child.parent === this)
    {
        console.assert(child);
        if (!child)

        console.assert(child.parent === this);
        if (child.parent !== this)

        console.assert(!child.isPlaceholderNode, "Shouldn't delete the placeholder node.");
    }
    {
        console.assert(typeof comparator === "function");
        {
            console.assert(!aNode.hasChildren, "This sort method can't be used with parent nodes, children will be displayed out of order.");
            console.assert(!bNode.hasChildren, "This sort method can't be used with parent nodes, children will be displayed out of order.");
            console.assert(!aNode.hasChildren, "This sort method can't be used with parent nodes, children will be displayed out of order.");
            console.assert(!bNode.hasChildren, "This sort method can't be used with parent nodes, children will be displayed out of order.");

        console.assert(collapserColumnIdentifier);
        if (!collapserColumnIdentifier)
        let column = this.columns.get(columnIdentifier);
        console.assert(column, "Missing column info for identifier: " + columnIdentifier);
        if (!column)
    {
        console.assert(resizer === this._currentResizer, resizer, this._currentResizer);
        if (resizer !== this._currentResizer)
    {
        console.assert(resizer === this._currentResizer, resizer, this._currentResizer);
        if (resizer !== this._currentResizer)
@/inspector/Views/ObjectPreviewView.js
    {
        console.assert(!object || object instanceof WI.RemoteObject);
        console.assert(preview instanceof WI.ObjectPreview);
        console.assert(!object || object instanceof WI.RemoteObject);
        console.assert(preview instanceof WI.ObjectPreview);
    {
        console.assert(!this._remoteObject);
        console.assert(remoteObject instanceof WI.RemoteObject);
        console.assert(!this._remoteObject);
        console.assert(remoteObject instanceof WI.RemoteObject);
        console.assert(!propertyPath || propertyPath instanceof WI.PropertyPath);
        console.assert(remoteObject instanceof WI.RemoteObject);
        console.assert(!propertyPath || propertyPath instanceof WI.PropertyPath);
@/lua/common/libs/binaryheap/binaryheap.lua
update = function(self, pos, newValue)
  assert(newValue ~= nil, "cannot add 'nil' as value")
  assert(pos >= 1 and pos <= #self.values, "illegal position")
  assert(newValue ~= nil, "cannot add 'nil' as value")
  assert(pos >= 1 and pos <= #self.values, "illegal position")
  self.values[pos] = newValue
insert = function(self, value)
  assert(value ~= nil, "cannot add 'nil' as value")
  local pos = #self.values + 1
function insertU(self, value, payload)
  assert(self.reverse[payload] == nil, "duplicate payload")
  local pos = #self.values + 1
@/lua/ge/extensions/tech/adasUltrasonic.lua

  assert(vid >= 0, "adasUltrasonic.lua - Failed to get a valid vehicle ID")
@/inspector/Models/ExecutionContext.js
    {
        console.assert(target instanceof WI.Target);
        console.assert(typeof id === "number" || id === WI.RuntimeManager.TopLevelExecutionContextIdentifier);
        console.assert(target instanceof WI.Target);
        console.assert(typeof id === "number" || id === WI.RuntimeManager.TopLevelExecutionContextIdentifier);
        console.assert(typeof name === "string");
        console.assert(typeof id === "number" || id === WI.RuntimeManager.TopLevelExecutionContextIdentifier);
        console.assert(typeof name === "string");
@/lua/common/libs/LuaIRC/asyncoperations.lua

    assert(add or rem, "table contains neither 'add' nor 'remove'")
@/inspector/Controllers/NetworkManager.js

        console.assert(originalSourceCode.url);
        if (!originalSourceCode.url)

            console.assert(frame);
            if (!frame)
            var parentFrame = this.frameForIdentifier(framePayload.parentId);
            console.assert(parentFrame);
            // This is an existing request which is being redirected, update the resource.
            console.assert(resource.parentFrame.id === frameIdentifier);
            console.assert(resource.loaderIdentifier === loaderIdentifier);
            console.assert(resource.parentFrame.id === frameIdentifier);
            console.assert(resource.loaderIdentifier === loaderIdentifier);
            console.assert(!targetId);
            console.assert(resource.loaderIdentifier === loaderIdentifier);
            console.assert(!targetId);
            resource.updateForRedirectResponse(request, redirectResponse, elapsedTime, walltime);
        let url = this._webSocketIdentifierToURL.get(requestId);
        console.assert(url);
        if (!url)
        let resource = this._resourceRequestIdentifierMap.get(requestId);
        console.assert(resource);
        if (!resource)
        let resource = this._resourceRequestIdentifierMap.get(requestId);
        console.assert(resource);
        if (!resource)
        let resource = this._resourceRequestIdentifierMap.get(requestId);
        console.assert(resource);
        if (!resource)

        console.assert(!this._resourceRequestIdentifierMap.has(requestIdentifier));

        console.assert(resource.cached, "This resource should be classified as cached since it was served from the MemoryCache", resource);
        let resource = this._resourceRequestIdentifierMap.get(requestIdentifier);
        console.assert(resource);
        if (!resource)
        let resource = this._resourceRequestIdentifierMap.get(requestIdentifier);
        console.assert(resource);
        if (!resource)
        let frame = this.frameForIdentifier(contextPayload.frameId);
        console.assert(frame);
        if (!frame)
    {
        console.assert(!this._waitingForMainFrameResourceTreePayload);
            // This is a new resource for a ServiceWorker target.
            console.assert(WI.sharedApp.debuggableType === WI.DebuggableType.ServiceWorker);
            console.assert(resourceOptions.targetId === WI.mainTarget.identifier);
            console.assert(WI.sharedApp.debuggableType === WI.DebuggableType.ServiceWorker);
            console.assert(resourceOptions.targetId === WI.mainTarget.identifier);
            resource = new WI.Resource(url, resourceOptions);
            // This is a new request for a new frame, which is always the main resource.
            console.assert(WI.sharedApp.debuggableType !== WI.DebuggableType.ServiceWorker);
            console.assert(!resourceOptions.targetId);
            console.assert(WI.sharedApp.debuggableType !== WI.DebuggableType.ServiceWorker);
            console.assert(!resourceOptions.targetId);
            resource = new WI.Resource(url, resourceOptions);

        console.assert(resource);
    {
        console.assert(!this._waitingForMainFrameResourceTreePayload);
        if (this._waitingForMainFrameResourceTreePayload)

        console.assert(frame);
        console.assert(resource);
        console.assert(frame);
        console.assert(resource);
        // This is just another resource, either for the main loader or the provisional loader.
        console.assert(resource.loaderIdentifier === frame.loaderIdentifier || resource.loaderIdentifier === frame.provisionalLoaderIdentifier);
        frame.addResource(resource);
    {
        console.assert(target !== WI.pageTarget);
        console.assert(resource);
        console.assert(target !== WI.pageTarget);
        console.assert(resource);
    {
        console.assert(this._waitingForMainFrameResourceTreePayload);
        this._waitingForMainFrameResourceTreePayload = false;

        console.assert(initializationPayload.targetId.startsWith("serviceworker:"));
    {
        console.assert(this._waitingForMainFrameResourceTreePayload);
        this._waitingForMainFrameResourceTreePayload = false;

        console.assert(mainFramePayload);
        console.assert(mainFramePayload.frame);
        console.assert(mainFramePayload);
        console.assert(mainFramePayload.frame);
        if (!(sourceMap.originalSourceCode instanceof WI.Resource)) {
            console.assert(sourceMap.originalSourceCode instanceof WI.Script);
            let resource = sourceMap.originalSourceCode.resource;
@/inspector/Views/DashboardContainerView.js

        console.assert(this._currentIndex > 0);
        this._showDashboardAtIndex(this._currentIndex - 1);
    {
        console.assert(representedObject);

        console.assert(dashboardView, "Unknown representedObject", representedObject);
        if (!dashboardView)
    {
        console.assert(index >= 0 && index <= this._dashboardStack.length - 1);
    {
        console.assert(dashboardView instanceof WI.DashboardView);
    {
        console.assert(dashboardView instanceof WI.DashboardView);
        console.assert(this.currentDashboardView === dashboardView);
        console.assert(dashboardView instanceof WI.DashboardView);
        console.assert(this.currentDashboardView === dashboardView);
    {
        console.assert(dashboardView instanceof WI.DashboardView);
@/inspector/Views/QuickConsole.js

        console.assert(executionContext);
        if (!executionContext)
    {
        console.assert(!executionContext || executionContext instanceof WI.ExecutionContext);
        // Only Frame contexts remain.
        console.assert(aExecutionContext.frame);
        console.assert(bExecutionContext.frame);
        console.assert(aExecutionContext.frame);
        console.assert(bExecutionContext.frame);

        console.assert(target.type === WI.Target.Type.Worker);
        let preferredName = WI.UIString("Worker \u2014 %s").format(target.displayName);
@/inspector/Views/ResourceContentView.js
    {
        console.assert(resource instanceof WI.Resource || resource instanceof WI.CSSStyleSheet, resource);
        console.assert(typeof styleClassName === "string");
        console.assert(resource instanceof WI.Resource || resource instanceof WI.CSSStyleSheet, resource);
        console.assert(typeof styleClassName === "string");
        // Content is ready to show, call the public method now.
        console.assert(!this._hasContent());
        console.assert(parameters.sourceCode === this._resource);
        console.assert(!this._hasContent());
        console.assert(parameters.sourceCode === this._resource);
        this.contentAvailable(parameters.sourceCode.content, parameters.base64Encoded);
    {
        console.assert(!this.managesOwnIssues);
@/inspector/Models/AuditTestGroupResult.js
    {
        console.assert(Array.isArray(results));
@/inspector/Workers/HeapSnapshot/HeapSnapshotWorker.js

        console.assert(snapshot1 instanceof HeapSnapshot);
        console.assert(snapshot2 instanceof HeapSnapshot);
        console.assert(snapshot1 instanceof HeapSnapshot);
        console.assert(snapshot2 instanceof HeapSnapshot);
        if (data.methodName) {
            console.assert(data.objectId, "Must have an objectId to call the method on");
            let object = this._objects.get(data.objectId);
@/inspector/Controllers/DOMManager.js
        this._idToDOMNode[node.id] = node;
        console.assert(!parent.pseudoElements().get(node.pseudoType()));
        parent.pseudoElements().set(node.pseudoType(), node);
        var parent = pseudoElement.parentNode;
        console.assert(parent);
        console.assert(parent.id === parentId);
        console.assert(parent);
        console.assert(parent.id === parentId);
        if (!parent)

            console.assert(nodeId);
            if (!nodeId)
        let nodeId = nodeOrNodeId instanceof WI.DOMNode ? nodeOrNodeId.id : nodeOrNodeId;
        console.assert(typeof nodeId === "number");
        let nodeId = nodeOrNodeId instanceof WI.DOMNode ? nodeOrNodeId.id : nodeOrNodeId;
        console.assert(typeof nodeId === "number");
    {
        console.assert(node instanceof WI.DOMNode);
        if (node === this._inspectedNode)
        let callback = (error) => {
            console.assert(!error, error);
            if (error)
        if (breakpoint) {
            console.assert(breakpoint.disabled);
            breakpoint.disabled = false;
        breakpoint = new WI.EventBreakpoint(WI.EventBreakpoint.Type.Listener, eventListener.type, {eventListener});
        console.assert(!breakpoint.disabled);
        let breakpoint = this._breakpointsForEventListeners.take(eventListener.eventListenerId);
        console.assert(breakpoint);
        let eventListener = breakpoint.eventListener;
        console.assert(eventListener);
@/inspector/Models/HeapSnapshotRootPath.js
    {
        console.assert(!node || node instanceof WI.HeapSnapshotNodeProxy);
        console.assert(!pathComponent || typeof pathComponent === "string");
        console.assert(!node || node instanceof WI.HeapSnapshotNodeProxy);
        console.assert(!pathComponent || typeof pathComponent === "string");
        console.assert(!parent || parent instanceof WI.HeapSnapshotRootPath);
        console.assert(!pathComponent || typeof pathComponent === "string");
        console.assert(!parent || parent instanceof WI.HeapSnapshotRootPath);
    {
        console.assert(edge instanceof WI.HeapSnapshotEdgeProxy);
@/inspector/Views/ProfileNodeTreeElement.js
    {
        console.assert(profileNode);

        console.assert(className);

        console.assert(this.element);
@/inspector/Views/RecordingContentView.js
    {
        console.assert(representedObject instanceof WI.Recording);

        console.assert(index >= 0 && index < this.representedObject.actions.length);
        if (index < 0 || index >= this.representedObject.actions.length)
@/inspector/Models/Profile.js

        console.assert(topDownRootNodes instanceof Array);
        console.assert(topDownRootNodes.reduce(function(previousValue, node) { return previousValue && node instanceof WI.ProfileNode; }, true));
        console.assert(topDownRootNodes instanceof Array);
        console.assert(topDownRootNodes.reduce(function(previousValue, node) { return previousValue && node instanceof WI.ProfileNode; }, true));
@/inspector/Views/ResourceClusterContentView.js
    {
        console.assert(contentView);
        if (!contentView)
    {
        console.assert(contentView);
        if (!contentView)

        console.assert(contentViewToShow);

        console.assert(this._customResponseContentViewConstructor.customContentViewDisplayName, "Custom Response ContentViews should have a static customContentViewDisplayName method.", this._customResponseContentViewConstructor);
@/inspector/Models/TextRange.js
        if (arguments.length === 4) {
            console.assert(startLineOrStartOffset <= endLine);
            console.assert(startLineOrStartOffset !== endLine || startColumnOrEndOffset <= endColumn);
            console.assert(startLineOrStartOffset <= endLine);
            console.assert(startLineOrStartOffset !== endLine || startColumnOrEndOffset <= endColumn);
        } else if (arguments.length === 2) {
            console.assert(startLineOrStartOffset <= startColumnOrEndOffset);
    {
        console.assert(typeof text === "string");
        if (typeof text !== "string")

        console.assert(!isNaN(this._startLine));
        console.assert(!isNaN(this._startColumn));
        console.assert(!isNaN(this._startLine));
        console.assert(!isNaN(this._startColumn));
        console.assert(!isNaN(this._endLine));
        console.assert(!isNaN(this._startColumn));
        console.assert(!isNaN(this._endLine));
        console.assert(!isNaN(this._endColumn));
        console.assert(!isNaN(this._endLine));
        console.assert(!isNaN(this._endColumn));
        if (isNaN(this._startLine) || isNaN(this._startColumn) || isNaN(this._endLine) || isNaN(this._endColumn))
    {
        console.assert(!isNaN(this._startLine), "TextRange needs line/column data");
    {
        console.assert(!isNaN(this._startLine), "TextRange needs line/column data.");
        return new WI.TextRange(this._startLine, this._startColumn, this._endLine, this._endColumn);
    {
        console.assert(!isNaN(this._startLine), "TextRange needs line/column data.");
        let endColumn = this._endColumn + deltaEndColumn;
        console.assert(startLine >= 0 && startColumn >= 0 && endLine >= 0 && endColumn >= 0, `Cannot have negative numbers in TextRange ${startLine}:${startColumn}...${endLine}:${endColumn}`);
    {
        console.assert(!isNaN(this._startLine), "TextRange needs line/column data.");
        return new WI.TextRange(this._startLine, this._startColumn, this._startLine, this._startColumn);
    {
        console.assert(!isNaN(this._endLine), "TextRange needs line/column data.");
        return new WI.TextRange(this._endLine, this._endColumn, this._endLine, this._endColumn);
@/inspector/Views/Dialog.js
    {
        console.assert(!this.element.parentNode);
@/inspector/Views/TypeTreeElement.js

        console.assert(!structureDescription || structureDescription instanceof WI.StructureDescription);

        console.assert(this.children.length > 0);
@/inspector/Proxies/FormatterWorkerProxy.js

        console.assert(typeof actionName === "string", "performAction should always have an actionName");
        console.assert(typeof callback === "function", "performAction should always have a callback");
        console.assert(typeof actionName === "string", "performAction should always have an actionName");
        console.assert(typeof callback === "function", "performAction should always have a callback");
@/lua/ge/extensions/editor/dynamicDecals/layerTypes/decal.lua
    if payload~=nil then
      assert(payload.DataSize == 256)
      local path = ffi.string(payload.Data)
@/inspector/Controllers/BreakpointLogMessageLexer.js
            let stateFunction = this._stateFunctions[this._states.lastValue];
            console.assert(stateFunction);
            if (!stateFunction) {
    {
        console.assert(this._index < this._input.length);

                console.assert(this._states.lastValue === WI.BreakpointLogMessageLexer.State.Expression);
                this._states.pop();
        let character = this._consume();
        console.assert(character === "$");
        let nextCharacter = this._peek();

        console.assert(this._states.lastValue === WI.BreakpointLogMessageLexer.State.PossiblePlaceholder);
        this._states.pop();
        if (character === this._literalStartCharacter) {
            console.assert(this._states.lastValue === WI.BreakpointLogMessageLexer.State.RegExpOrStringLiteral);
            this._states.pop();
@/lua/common/libs/lua-websockets/websocket/frame.lua
      if payload < 0xffff or payload > 2^53 then
        assert(false,'INVALID PAYLOAD '..payload)
      end
    else
      assert(false,'INVALID PAYLOAD '..payload)
    end
@/inspector/Views/DOMEventsBreakdownView.js
    {
        console.assert(domNodeOrEvents instanceof WI.DOMNode || Array.isArray(domNodeOrEvents));

        console.assert(this._domEvents || (this._domNode && this._domNode.domEvents));
        let domEvents = this._domEvents || this._domNode.domEvents;
@/inspector/Views/MemoryTimelineOverviewGraph.js
    {
        console.assert(timeline instanceof WI.MemoryTimeline);
        {
            console.assert(previousRecord || nextRecord);
            if (!(previousRecord || nextRecord))
        let memoryTimelineRecord = event.data.record;
        console.assert(memoryTimelineRecord instanceof WI.MemoryTimelineRecord);
@/inspector/Models/AuditTestBase.js
    {
        console.assert(typeof name === "string");
        console.assert(!description || typeof description === "string");
        console.assert(typeof name === "string");
        console.assert(!description || typeof description === "string");
        console.assert(supports === undefined || typeof supports === "number");
        console.assert(!description || typeof description === "string");
        console.assert(supports === undefined || typeof supports === "number");
        console.assert(!setup || typeof setup === "string");
        console.assert(supports === undefined || typeof supports === "number");
        console.assert(!setup || typeof setup === "string");
        console.assert(disabled === undefined || typeof disabled === "boolean");
        console.assert(!setup || typeof setup === "string");
        console.assert(disabled === undefined || typeof disabled === "boolean");
        // This class should not be instantiated directly. Create a concrete subclass instead.
        console.assert(this.constructor !== WI.AuditTestBase && this instanceof WI.AuditTestBase);
    {
        console.assert(this._runningState === WI.AuditManager.RunningState.Disabled || this._runningState === WI.AuditManager.RunningState.Inactive);
        if (this._runningState !== WI.AuditManager.RunningState.Disabled && this._runningState !== WI.AuditManager.RunningState.Inactive)

        console.assert(this.supported);

        console.assert(WI.auditManager.runningState === WI.AuditManager.RunningState.Active);

        console.assert(this._runningState === WI.AuditManager.RunningState.Inactive);
        if (this._runningState !== WI.AuditManager.RunningState.Inactive)

        console.assert(this.supported);

        console.assert(WI.auditManager.runningState === WI.AuditManager.RunningState.Stopping);
@/inspector/Views/TreeOutline.js

            console.assert(a.parent === b.parent, "Missing common ancestor for TreeElements.", a, b);
            return compareSiblings(a, b);
    {
        console.assert(child);
        if (!child)
    {
        console.assert(child);
        if (!child)
    {
        console.assert(childIndex >= 0 && childIndex < this.children.length);
        if (childIndex < 0 || childIndex >= this.children.length)
    {
        console.assert(child);
        if (!child)
        var childIndex = this.children.indexOf(child);
        console.assert(childIndex !== -1);
        if (childIndex === -1)

        console.assert(this.allowsMultipleSelection, "Cannot select TreeElements with multiple selection disabled.");
        if (!this.allowsMultipleSelection)
    {
        console.assert(scrollContainer);
        console.assert(!isNaN(treeItemHeight));
        console.assert(scrollContainer);
        console.assert(!isNaN(treeItemHeight));
        console.assert(!this.virtualized);
        console.assert(!isNaN(treeItemHeight));
        console.assert(!this.virtualized);
        let treeElement = this.getCachedTreeElement(item);
        console.assert(treeElement, "Missing TreeElement for representedObject.", item);
        if (!treeElement)
        let treeElement = this.getCachedTreeElement(item);
        console.assert(treeElement, "Missing TreeElement for representedObject.", item);
        if (!treeElement)
    {
        console.assert(this.virtualized);

        console.assert(firstItem < lastItem);
@/inspector/Views/ContentView.js
        // Concrete object instantiation.
        console.assert(!representedObject || WI.ContentView.isViewable(representedObject), representedObject);
    {
        console.assert(representedObject);

        console.assert(!WI.ContentView.isViewable(representedObject));
    {
        console.assert(representedObject);
        let existingContentView = resolvedRepresentedObject[WI.ContentView.ContentViewForRepresentedObjectSymbol];
        console.assert(!existingContentView || existingContentView instanceof WI.ContentView);
        if (existingContentView)
        let newContentView = WI.ContentView.createFromRepresentedObject(representedObject, extraArguments);
        console.assert(newContentView instanceof WI.ContentView);
        if (!newContentView)

        console.assert(newContentView.representedObject === resolvedRepresentedObject, "createFromRepresentedObject and resolvedRepresentedObjectForRepresentedObject are out of sync for type", representedObject.constructor.name);
        if (typeof resolvedRepresentedObject === "object")
@/inspector/Proxies/HeapSnapshotWorkerProxy.js

        console.assert(typeof actionName === "string", "performAction should always have an actionName");
        console.assert(typeof callback === "function", "performAction should always have a callback");
        console.assert(typeof actionName === "string", "performAction should always have an actionName");
        console.assert(typeof callback === "function", "performAction should always have a callback");

        console.assert(typeof objectId === "number", "callMethod should always have an objectId");
        console.assert(typeof methodName === "string", "callMethod should always have a methodName");
        console.assert(typeof objectId === "number", "callMethod should always have an objectId");
        console.assert(typeof methodName === "string", "callMethod should always have a methodName");
        console.assert(typeof callback === "function", "callMethod should always have a callback");
        console.assert(typeof methodName === "string", "callMethod should always have a methodName");
        console.assert(typeof callback === "function", "callMethod should always have a callback");
        if (data.error) {
            console.assert(data.callId);
            this._callbacks.delete(data.callId);
@/lua/common/libs/lua-websockets/websocket/tools.lua

  assert(#msg % 64 == 0,#msg % 64)
    local chunk = msg:sub(j,j+63)
    assert(#chunk==64,#chunk)
    local words = {}
    until next > 64
    assert(#words==16)
    for i=17,80 do
  local key = write_int32(r1)..write_int32(r2)..write_int32(r3)..write_int32(r4)
  assert(#key==16,#key)
  return base64_encode(key)
@/inspector/Views/ScriptContentView.js
    {
        console.assert(script instanceof WI.Script, script);
        // should be handled by TextResourceContentView via the Resource.
        console.assert(!script.resource);
        console.assert(script.range.startLine === 0);
        console.assert(!script.resource);
        console.assert(script.range.startLine === 0);
        console.assert(script.range.startColumn === 0);
        console.assert(script.range.startLine === 0);
        console.assert(script.range.startColumn === 0);
@/lua/common/libs/LuLPeg/lulpeg.lua
    pt = LL_P(pt)
    assert(type(sbj) == "string", "string expected for the match subject")
    si = computeidex(si, #sbj)
            r = checkstring(r, "R")
            assert(#r == 2, "bad argument #1 to 'R' (range must have two characters)")
            range = S_union ( range, Range(t_unpack(split_int(r))) )
function LL_V (name)
    assert(name ~= nil)
    return
        local len = fixedlen(pt)
        assert(len, "A 'behind' pattern takes a fixed length pattern as argument.")
        if len >= 260 then error("Subpattern too long in 'behind' pattern constructor.") end
    success, n = pcall(tonumber, n)
    assert(success and type(n) == "number",
        "Invalid type encountered at right side of '^'.")
LL["Carg"] = function(aux)
    assert(type(aux)=="number", "Number expected as parameter to Carg capture.")
    assert( 0 < aux and aux <= 200, "Argument out of bounds in Carg capture.")
    assert(type(aux)=="number", "Number expected as parameter to Carg capture.")
    assert( 0 < aux and aux <= 200, "Argument out of bounds in Carg capture.")
    return
    LL[cap] = function(pt, aux)
    assert(type(aux) == "function", msg)
    pt = LL_P(pt)
        local prox2 = newproxy(prox)
        assert (type(getmetatable(prox)) == "table" 
                and (getmetatable(prox)) == (getmetatable(prox2)))
@/inspector/Views/TabBar.js
    {
        console.assert(tabBarItem instanceof WI.TabBarItem);
        if (!(tabBarItem instanceof WI.TabBarItem))
        return new Promise(function(resolve, reject) {
            console.assert(this._tabAnimatedClosedSinceMouseEnter);
            this._tabAnimatedClosedSinceMouseEnter = false;
    {
        console.assert(event.button === 0);
        console.assert(this._mouseIsDown);
        console.assert(event.button === 0);
        console.assert(this._mouseIsDown);
        if (!this._mouseIsDown)

        console.assert(this._selectedTabBarItem);
        if (!this._selectedTabBarItem)
    {
        console.assert(event.button === 0);
        console.assert(this._mouseIsDown);
        console.assert(event.button === 0);
        console.assert(this._mouseIsDown);
        if (!this._mouseIsDown)
@/inspector/Models/Collection.js
        let isValidType = this.objectIsRequiredType(item);
        console.assert(isValidType);
        if (!isValidType)

        console.assert(!this._items.has(item));
        this._items.add(item);
        let wasRemoved = this._items.delete(item);
        console.assert(wasRemoved);
@/inspector/Views/BezierEditor.js
        var isCubicBezier = bezier instanceof WI.CubicBezier;
        console.assert(isCubicBezier);
        if (!isCubicBezier)
@/inspector/Models/TimelineRecording.js
    {
        console.assert(this.canExport(), "Attempted to export a recording which should not be exportable.");
    {
        console.assert(!this._capturing, "Attempted to start an already started session.");
        console.assert(!this._readonly, "Attempted to start a readonly session.");
        console.assert(!this._capturing, "Attempted to start an already started session.");
        console.assert(!this._readonly, "Attempted to start a readonly session.");
    {
        console.assert(this._capturing, "Attempted to stop an already stopped session.");
        console.assert(!this._readonly, "Attempted to stop a readonly session.");
        console.assert(this._capturing, "Attempted to stop an already stopped session.");
        console.assert(!this._readonly, "Attempted to stop a readonly session.");
    {
        console.assert(importing || !this.isEmpty(), "Shouldn't unload an empty recording; it should be reused instead.");
    {
        console.assert(!this._readonly, "Can't reset a read-only recording.");
    {
        console.assert(instrument instanceof WI.Instrument, instrument);
        console.assert(!this._instruments.includes(instrument), this._instruments, instrument);
        console.assert(instrument instanceof WI.Instrument, instrument);
        console.assert(!this._instruments.includes(instrument), this._instruments, instrument);
    {
        console.assert(instrument instanceof WI.Instrument, instrument);
        console.assert(this._instruments.includes(instrument), this._instruments, instrument);
        console.assert(instrument instanceof WI.Instrument, instrument);
        console.assert(this._instruments.includes(instrument), this._instruments, instrument);
        let timeline = this._timelines.get(record.type);
        console.assert(timeline, record, this._timelines);
        if (!timeline)
        let memoryTimeline = this._timelines.get(WI.TimelineRecord.Type.Memory);
        console.assert(memoryTimeline, this._timelines);
        if (!memoryTimeline)
    {
        console.assert(isNaN(this._legacyFirstRecordedTimestamp));
        if (isNaN(this._startTime)) {
            console.assert(isNaN(this._endTime));
@/inspector/Views/ScriptTimelineDataGridNode.js
    {
        console.assert(record instanceof WI.ScriptTimelineRecord);
@/inspector/Models/Recording.js
    {
        console.assert(!this._processing, "Cannot start an already started process().");
        console.assert(!this.ready, "Cannot start a completed process().");
        console.assert(!this._processing, "Cannot start an already started process().");
        console.assert(!this.ready, "Cannot start a completed process().");
        if (this._processing || this.ready)
    {
        console.assert(this._processing, "Cannot stop an already stopped process().");
        console.assert(!this.ready, "Cannot stop a completed process().");
        console.assert(this._processing, "Cannot stop an already stopped process().");
        console.assert(!this.ready, "Cannot stop a completed process().");
        if (!this._processing || this.ready)
    {
        console.assert(this._type === WI.Recording.Type.Canvas2D);
        console.assert(this.ready);
        console.assert(this._type === WI.Recording.Type.Canvas2D);
        console.assert(this.ready);
@/inspector/Controllers/IndexedDBManager.js
    {
        console.assert(window.IndexedDBAgent);
        console.assert(objectStore);
        console.assert(window.IndexedDBAgent);
        console.assert(objectStore);
        console.assert(callback);
        console.assert(objectStore);
        console.assert(callback);
    {
        console.assert(event.target instanceof WI.Frame);
    {
        console.assert(event.target instanceof WI.Frame);
@/inspector/Views/SettingEditor.js
        this._editorElement = this._createEditorElement(options);
        console.assert(this._editorElement);

        console.assert(type, "Cannot deduce editor type from setting value type.", setting);
        if (!type)

            console.assert(Array.isArray(options.values), "Expected values array for select editor.", options);
@/inspector/Controllers/ConsoleManager.js
    {
        console.assert(target.ConsoleAgent);

            console.assert(channels.every((channel) => this._loggingChannelSources.includes(channel.source)));
    {
        console.assert(event.target instanceof WI.Frame);
@/inspector/Controllers/LayerTreeManager.js
    {
        console.assert(this.supported);
    {
        console.assert(this.supported);
    {
        console.assert(this.supported);
@/inspector/Views/TimelineRecordTreeElement.js
    {
        console.assert(timelineRecord);

        console.assert(this.element);
@/inspector/Views/ObjectTreeView.js

        console.assert(object instanceof WI.RemoteObject);
        console.assert(!propertyPath || propertyPath instanceof WI.PropertyPath);
        console.assert(object instanceof WI.RemoteObject);
        console.assert(!propertyPath || propertyPath instanceof WI.PropertyPath);
@/inspector/Models/DatabaseTableObject.js
    {
        console.assert(database instanceof WI.DatabaseObject);
@/inspector/Controllers/AppController.js
        default:
            console.assert(false, "Unexpected debuggable type", type);
            return WI.DebuggableType.JavaScript;

        console.assert(WI.mainTarget instanceof WI.DirectBackendTarget);
        console.assert(WI.mainTarget.type === WI.Target.Type.JSContext);
        console.assert(WI.mainTarget instanceof WI.DirectBackendTarget);
        console.assert(WI.mainTarget.type === WI.Target.Type.JSContext);
        console.assert(WI.sharedApp.debuggableType === WI.DebuggableType.JavaScript);
        console.assert(WI.mainTarget.type === WI.Target.Type.JSContext);
        console.assert(WI.sharedApp.debuggableType === WI.DebuggableType.JavaScript);
        console.assert(WI.targets.length === 1);
        console.assert(WI.sharedApp.debuggableType === WI.DebuggableType.JavaScript);
        console.assert(WI.targets.length === 1);
@/inspector/Workers/HeapSnapshot/HeapSnapshot.js
        let {version, type, nodes, nodeClassNames, edges, edgeTypes, edgeNames} = json;
        console.assert(version === 1 || version === 2, "Expect JavaScriptCore Heap Snapshot version 1 or 2");
        console.assert(!type || (type === "Inspector" || type === "GCDebugging"), "Expect an Inspector / GCDebugging Heap Snapshot");
        console.assert(version === 1 || version === 2, "Expect JavaScriptCore Heap Snapshot version 1 or 2");
        console.assert(!type || (type === "Inspector" || type === "GCDebugging"), "Expect an Inspector / GCDebugging Heap Snapshot");
        let shortestPath = shortestPathWithGlobalObject || paths[0];
        console.assert("node" in shortestPath[0], "Path should start with a node");
        console.assert("node" in shortestPath[shortestPath.length - 1], "Path should end with a node");
        console.assert("node" in shortestPath[0], "Path should start with a node");
        console.assert("node" in shortestPath[shortestPath.length - 1], "Path should end with a node");
    {
        console.assert(!this._imported, "Should never use an imported snapshot to modify snapshots");
        console.assert(snapshots.every((x) => !x._imported), "Should never modify nodes of imported snapshots");
        console.assert(!this._imported, "Should never use an imported snapshot to modify snapshots");
        console.assert(snapshots.every((x) => !x._imported), "Should never modify nodes of imported snapshots");
    {
        console.assert((nodeIndex % this._nodeFieldCount) === 0, "Invalid nodeIndex to serialize");
    {
        console.assert((edgeIndex % edgeFieldCount) === 0, "Invalid edgeIndex to serialize");
            let fromIdentifier = this._edges[edgeIndex + edgeFromIdOffset];
            console.assert(lastFromIdentifier <= fromIdentifier, "Edge list should be ordered by from node identifier");
            if (fromIdentifier !== lastFromIdentifier) {
            let firstIncomingEdgeIndex = this._nodeOrdinalToFirstIncomingEdge[toNodeOrdinal];
            console.assert(this._incomingNodes[firstIncomingEdgeIndex] > 0, "Should be expecting edges for this node");
            let countAsOffset = this._incomingNodes[firstIncomingEdgeIndex]--;

        console.assert(postOrderIndex === this._nodeCount, "All nodes were visited");
        console.assert(nodeOrdinalToPostOrderIndex[rootNodeOrdinal] === this._nodeCount - 1, "Root node should have the last possible postOrderIndex");
        console.assert(postOrderIndex === this._nodeCount, "All nodes were visited");
        console.assert(nodeOrdinalToPostOrderIndex[rootNodeOrdinal] === this._nodeCount - 1, "Root node should have the last possible postOrderIndex");
@/inspector/Protocol/InspectorBackend.js
    {
        console.assert(!tracer || tracer instanceof WI.ProtocolTracer, tracer);
        console.assert(!tracer || tracer !== this._defaultTracer, tracer);
        console.assert(!tracer || tracer instanceof WI.ProtocolTracer, tracer);
        console.assert(!tracer || tracer !== this._defaultTracer, tracer);
    {
        console.assert(Object.values(WI.DebuggableType).includes(type), "Unknown debuggable type", type);
    function callable() {
        console.assert(this instanceof InspectorBackend.Agent);
        return instance._invokeWithArguments.call(instance, this, Array.from(arguments));
@/inspector/Models/ConsoleMessage.js
    {
        console.assert(target instanceof WI.Target);
        console.assert(typeof source === "string");
        console.assert(target instanceof WI.Target);
        console.assert(typeof source === "string");
        console.assert(typeof level === "string");
        console.assert(typeof source === "string");
        console.assert(typeof level === "string");
        console.assert(typeof message === "string");
        console.assert(typeof level === "string");
        console.assert(typeof message === "string");
        console.assert(!type || Object.values(WI.ConsoleMessage.MessageType).includes(type));
        console.assert(typeof message === "string");
        console.assert(!type || Object.values(WI.ConsoleMessage.MessageType).includes(type));
        console.assert(!parameters || parameters.every((x) => x instanceof WI.RemoteObject));
        console.assert(!type || Object.values(WI.ConsoleMessage.MessageType).includes(type));
        console.assert(!parameters || parameters.every((x) => x instanceof WI.RemoteObject));
@/inspector/Controllers/SelectionController.js

        console.assert(delegate);
        console.assert(typeof comparator === "function");
        console.assert(delegate);
        console.assert(typeof comparator === "function");

        console.assert(this._delegate.selectionControllerFirstSelectableItem, "SelectionController delegate must implement selectionControllerFirstSelectableItem.");
        console.assert(this._delegate.selectionControllerLastSelectableItem, "SelectionController delegate must implement selectionControllerLastSelectableItem.");
        console.assert(this._delegate.selectionControllerFirstSelectableItem, "SelectionController delegate must implement selectionControllerFirstSelectableItem.");
        console.assert(this._delegate.selectionControllerLastSelectableItem, "SelectionController delegate must implement selectionControllerLastSelectableItem.");
        console.assert(this._delegate.selectionControllerNextSelectableItem, "SelectionController delegate must implement selectionControllerNextSelectableItem.");
        console.assert(this._delegate.selectionControllerLastSelectableItem, "SelectionController delegate must implement selectionControllerLastSelectableItem.");
        console.assert(this._delegate.selectionControllerNextSelectableItem, "SelectionController delegate must implement selectionControllerNextSelectableItem.");
        console.assert(this._delegate.selectionControllerPreviousSelectableItem, "SelectionController delegate must implement selectionControllerPreviousSelectableItem.");
        console.assert(this._delegate.selectionControllerNextSelectableItem, "SelectionController delegate must implement selectionControllerNextSelectableItem.");
        console.assert(this._delegate.selectionControllerPreviousSelectableItem, "SelectionController delegate must implement selectionControllerPreviousSelectableItem.");
    }
    {
        console.assert(item, "Invalid item for selection.");
        console.assert(!extendSelection || this._allowsMultipleSelection, "Cannot extend selection with multiple selection disabled.");
        console.assert(item, "Invalid item for selection.");
        console.assert(!extendSelection || this._allowsMultipleSelection, "Cannot extend selection with multiple selection disabled.");
    {
        console.assert(this._allowsMultipleSelection, "Cannot select multiple items with multiple selection disabled.");
        if (!this._allowsMultipleSelection)
    {
        console.assert(item, "Invalid item for selection.");
    {
        console.assert(items instanceof Set);
    {
        console.assert(item, "Invalid item for selection.");

        console.assert(!lastItem || items.has(lastItem), "End of range could not be reached.");
    }

        console.assert(!lastItem || !items.has(lastItem), "End of range could not be reached.");
    }
@/inspector/Views/GeneralTreeElement.js
    {
        console.assert(this._listItemNode);
        if (!this._listItemNode)
@/inspector/Models/MemoryInstrument.js

        console.assert(WI.MemoryInstrument.supported());
    }
@/inspector/Views/NetworkResourceDetailView.js
    {
        console.assert(resource instanceof WI.Resource);
@/inspector/Models/RenderingFrameTimelineRecord.js
    {
        console.assert(this._frameIndex === -1, "Frame index should only be set once.");
        if (this._frameIndex >= 0)
@/inspector/Views/ScriptClusterTimelineView.js

        console.assert(timeline.type === WI.TimelineRecord.Type.Script);
    {
        console.assert(contentView);
        if (!contentView)
    {
        console.assert(contentView);
        if (!contentView)

        console.assert(contentViewToShow);
@/inspector/Views/ColorWheel.js
    {
        console.assert(!isNaN(dimension));
@/lua/common/extensions/ui/improfiler.lua
local jit = require("jit")
assert(jit.version_num == 20100, "LuaJIT core/library version mismatch")
local profile = require("jit.profile")
@/inspector/Proxies/HeapSnapshotEdgeProxy.js

        console.assert(type in WI.HeapSnapshotEdgeProxy.EdgeType);
@/inspector/Models/ShaderProgram.js
    {
        console.assert(identifier);
        console.assert(canvas instanceof WI.Canvas);
        console.assert(identifier);
        console.assert(canvas instanceof WI.Canvas);
        CanvasAgent.setShaderProgramDisabled(this._identifier, !this._disabled, (error) => {
            console.assert(!error, error);
            if (error)
        CanvasAgent.setShaderProgramHighlighted(this._identifier, highlighted, (error) => {
            console.assert(!error, error);
        });
        CanvasAgent.setShaderProgramHighlighted(this._identifier, highlighted, (error) => {
            console.assert(!error, error);
        });
        CanvasAgent.updateShader(this._identifier, shaderType, source, (error) => {
            console.assert(!error, error);
        });
@/inspector/Views/CodeMirrorAdditions.js
    {
        console.assert(state._linkQuoteCharacter !== undefined);
    {
        console.assert(state._linkQuoteCharacter !== undefined);
        console.assert(state._linkBaseStyle);
        console.assert(state._linkQuoteCharacter !== undefined);
        console.assert(state._linkBaseStyle);
    {
        console.assert(state._linkQuoteCharacter !== undefined);
    {
        console.assert(state._urlQuoteCharacter);
    {
        console.assert(state._urlQuoteCharacter);
        console.assert(state._urlBaseStyle);
        console.assert(state._urlQuoteCharacter);
        console.assert(state._urlBaseStyle);
@/inspector/Views/CPUTimelineOverviewGraph.js
    {
        console.assert(timeline instanceof WI.Timeline);
        console.assert(timeline.type === WI.TimelineRecord.Type.CPU, timeline);
        console.assert(timeline instanceof WI.Timeline);
        console.assert(timeline.type === WI.TimelineRecord.Type.CPU, timeline);
@/lua/ge/extensions/editor/inspector.lua
    else
      assert(false,"resetFieldValue not yet implemented for type " .. fieldType)
    end
@/lua/common/libs/luamqtt/mqtt/protocol.lua
function protocol.parse_string(read_func)
	assert(type(read_func) == "function", "expecting read_func to be a function")
	local len, err = read_func(2)
local function parse_uint8(read_func)
	assert(type(read_func) == "function", "expecting read_func to be a function")
	local value, err = read_func(1)
local function parse_uint16(read_func)
	assert(type(read_func) == "function", "expecting read_func to be a function")
	local value, err = read_func(2)
function protocol.parse_uint32(read_func)
	assert(type(read_func) == "function", "expecting read_func to be a function")
	local value, err = read_func(4)
local function parse_var_length(read_func)
	assert(type(read_func) == "function", "expecting read_func to be a function")
	local mult = 1
	end
	assert(type(curr) == "number", "expecting curr to be a number")
	assert(curr >= 1, "expecting curr to be >= 1")
	assert(type(curr) == "number", "expecting curr to be a number")
	assert(curr >= 1, "expecting curr to be >= 1")
	curr = curr + 1
function protocol.packet_id_required(args)
	assert(type(args) == "table", "expecting args to be a table")
	assert(type(args.type) == "number", "expecting .type to be a number")
	assert(type(args) == "table", "expecting args to be a table")
	assert(type(args.type) == "number", "expecting .type to be a number")
	local ptype = args.type
function protocol.start_parse_packet(read_func)
	assert(type(read_func) == "function", "expecting read_func to be a function")
	local byte1, err, len, data
@/inspector/Models/Instrument.js
    {
        console.assert(window.TimelineAgent, "Attempted to start legacy timeline agent without TimelineAgent.");
@/lua/common/libs/luasocket/ltn12.lua
function filter.cycle(low, ctx, extra)
    base.assert(low)
    return function(chunk)
function source.simplify(src)
    base.assert(src)
    return function()
function source.rewind(src)
    base.assert(src)
    local t = {}
    if ... then f=filter.chain(f, ...) end
    base.assert(src and f)
    local last_in, last_out = "", ""
function sink.simplify(snk)
    base.assert(snk)
    return function(chunk, err)
    end
    base.assert(f and snk)
    return function(chunk, err)
function pump.all(src, snk, step)
    base.assert(src and snk)
    step = step or pump.step
@/inspector/Views/SearchResultTreeElement.js
    {
        console.assert(representedObject instanceof WI.DOMSearchMatchObject || representedObject instanceof WI.SourceCodeSearchMatchObject);
        // We should only have one line text ranges, so make sure that is the case.
        console.assert(textRange.startLine === textRange.endLine);
@/inspector/Views/DOMNodeDetailsSidebarPanel.js
            for (let eventListener of eventListeners) {
                console.assert(eventListener.nodeId || eventListener.onWindow);
                if (eventListener.nodeId)
            for (let eventListener of eventListeners) {
                console.assert(eventListener.nodeId || eventListener.onWindow);
                if (eventListener.nodeId)
            WI.runtimeManager.evaluateInInspectedWindow(expression, options, (result, wasThrown) => {
                console.assert(!wasThrown);
@/inspector/Views/ThreadTreeElement.js
        while (currentStackTrace) {
            console.assert(currentStackTrace.callFrames.length, "StackTrace should have non-empty call frames array.");
            if (!currentStackTrace.callFrames.length)
                boundaryCallFrame = currentStackTrace.callFrames[0];
                console.assert(boundaryCallFrame.nativeCode && !boundaryCallFrame.sourceCodeLocation);
            } else {
@/inspector/Views/TimelineRuler.js
    {
        console.assert(typeof x === "function" || !x, x);
    {
        console.assert(marker instanceof WI.TimelineMarker);

            console.assert(dividerElement.firstChild.classList.contains(WI.TimelineRuler.DividerLabelElementStyleClassName));
    {
        console.assert(event.button === 0);
    {
        console.assert(event.button === 0);
    {
        console.assert(event.button === 0);
    {
        console.assert(event.button === 0);
@/lua/common/libs/StackTracePlus/StackTracePlus.lua

assert(debug, "debug table must be available at this point")
local function ParseLine(line)
  assert(type(line) == "string")
  --print(line)
@/inspector/Views/FlexibleSpaceNavigationItem.js

        console.assert(!navigationItem || navigationItem instanceof WI.NavigationItem);
@/inspector/Controllers/CallFrameTreeController.js
    {
        console.assert(treeOutline instanceof WI.TreeOutline);
@/inspector/Views/ScriptTreeElement.js
    {
        console.assert(script instanceof WI.Script);
        if (script.isMainResource()) {
            console.assert(script.target.type === WI.Target.Type.Worker || script.target.type === WI.Target.Type.ServiceWorker, script.target.type);
            this.addClassName("worker-icon");
@/inspector/Views/HeapSnapshotContentView.js
    {
        console.assert(representedObject instanceof WI.HeapSnapshotProxy || representedObject instanceof WI.HeapSnapshotDiffProxy);
@/inspector/Base/SearchUtilities.js

        console.assert((typeof query === "string" && query) || query instanceof RegExp);

        console.assert((typeof query === "string" && query) || query instanceof RegExp);
    {
        console.assert(!isEmptyObject(settings));
@/inspector/Views/CodeMirrorFormatters.js
        else {
            console.assert(!state._jsPrettyPrint.shouldDedent);
            console.assert(!state._jsPrettyPrint.dedentSize);
            console.assert(!state._jsPrettyPrint.shouldDedent);
            console.assert(!state._jsPrettyPrint.dedentSize);
@/inspector/Views/IndexedDatabaseObjectStoreContentView.js
                return keyPath.join(WI.UIString(", "));
            console.assert(keyPath instanceof String || typeof keyPath === "string");
            return keyPath;
@/inspector/Base/EventListenerSet.js
    {
        console.assert(emitter, `Missing event emitter for event: ${type}.`);
        console.assert(type, "Missing event type.");
        console.assert(emitter, `Missing event emitter for event: ${type}.`);
        console.assert(type, "Missing event type.");
        console.assert(callback, `Missing callback for event: ${type}.`);
        console.assert(type, "Missing event type.");
        console.assert(callback, `Missing callback for event: ${type}.`);
        var emitterIsValid = emitter && (emitter instanceof WI.Object || emitter instanceof Node || (typeof emitter.addEventListener === "function"));
        var emitterIsValid = emitter && (emitter instanceof WI.Object || emitter instanceof Node || (typeof emitter.addEventListener === "function"));
        console.assert(emitterIsValid, "Event emitter ", emitter, ` (type: ${type}) is null or does not implement Node or WI.Object.`);
    {
        console.assert(!this._installed, "Already installed listener group: " + this.name);
        if (this._installed)
    {
        console.assert(this._installed, "Trying to uninstall listener group " + this.name + ", but it isn't installed.");
        if (!this._installed)
@/inspector/Models/CSSMedia.js
    {
        console.assert(!sourceCodeLocation || sourceCodeLocation instanceof WI.SourceCodeLocation);
@/inspector/Models/PropertyPreview.js
    {
        console.assert(typeof name === "string");
        console.assert(type);
        console.assert(typeof name === "string");
        console.assert(type);
        console.assert(!value || typeof value === "string");
        console.assert(type);
        console.assert(!value || typeof value === "string");
        console.assert(!valuePreview || valuePreview instanceof WI.ObjectPreview);
        console.assert(!value || typeof value === "string");
        console.assert(!valuePreview || valuePreview instanceof WI.ObjectPreview);
@/inspector/Views/SourceMapResourceTreeElement.js
    {
        console.assert(sourceMapResource instanceof WI.SourceMapResource);

        console.assert(this.resource === sourceMapResource);
@/inspector/Views/CSSStyleSheetTreeElement.js
    {
        console.assert(styleSheet instanceof WI.CSSStyleSheet);
        console.assert(styleSheet.isInspectorStyleSheet());
        console.assert(styleSheet instanceof WI.CSSStyleSheet);
        console.assert(styleSheet.isInspectorStyleSheet());
@/ui/ui-vue/src/utils/DOM.js
  if (window.BNG_Logger) {
    window.BNG_Logger.assert(
      // () => !getCssRules(trackDiv).some(rule => posConflictingRules.some(sel => rule.includes(sel))),
  if (window.BNG_Logger) {
    window.BNG_Logger.assert(
      () => !Object.values(rules).some(val => val.endsWith(" !important")),
    if (window.BNG_Logger) {
      window.BNG_Logger.assert(
        () => !Object.keys(rules).some(name => name !== name.toLowerCase()),
@/inspector/Controllers/BasicBlockAnnotator.js
        let content = this._script.content;
        console.assert(content, "Missing script content for basic block annotations.");
        if (!content)
    {
        console.assert(basicBlock.startOffset <= basicBlock.endOffset && basicBlock.startOffset >= 0 && basicBlock.endOffset >= 0, "" + basicBlock.startOffset + ":" + basicBlock.endOffset);
        console.assert(!basicBlock.hasExecuted);
        console.assert(basicBlock.startOffset <= basicBlock.endOffset && basicBlock.startOffset >= 0 && basicBlock.endOffset >= 0, "" + basicBlock.startOffset + ":" + basicBlock.endOffset);
        console.assert(!basicBlock.hasExecuted);
    {
        console.assert(this._basicBlockMarkers.has(key));
        var marker = this._basicBlockMarkers.get(key);
@/inspector/Models/Canvas.js

        console.assert(identifier);
        console.assert(contextType);
        console.assert(identifier);
        console.assert(contextType);
        else {
            console.assert(initiator === RecordingAgent.Initiator.Frontend);
            this._recordingState = WI.Canvas.RecordingState.ActiveFrontend;
@/lua/ge/extensions/editor/dynamicDecals/layerStack.lua
      if payload~=nil then
        assert(payload.DataSize == ffi.sizeof(payloadSize))
        local data = jsonDecode(ffi.string(payload.Data))
      if payload~=nil then
        assert(payload.DataSize == ffi.sizeof(payloadSize))
        local data = jsonDecode(ffi.string(payload.Data))
          if payload~=nil then
            assert(payload.DataSize == ffi.sizeof(payloadSize))
            local data = jsonDecode(ffi.string(payload.Data))
        if payload~=nil then
          assert(payload.DataSize == ffi.sizeof(payloadSize))
          local data = jsonDecode(ffi.string(payload.Data))
@/inspector/Views/IndexedDatabaseObjectStoreTreeElement.js
    {
        console.assert(objectStore instanceof WI.IndexedDatabaseObjectStore);
@/lua/common/libs/LuaIRC/util.lua
setmetatable(color, {__call = function(_, text, colornum)
    colornum = type(colornum) == "string" and assert(color[colornum], "Invalid color '"..colornum.."'") or colornum
    return table.concat{colByte, tostring(colornum), text, colByte}
@/inspector/Models/PropertyPath.js
    {
        console.assert(object instanceof WI.RemoteObject || object === null);
        console.assert(!pathComponent || typeof pathComponent === "string");
        console.assert(object instanceof WI.RemoteObject || object === null);
        console.assert(!pathComponent || typeof pathComponent === "string");
        console.assert(!parent || parent instanceof WI.PropertyPath);
        console.assert(!pathComponent || typeof pathComponent === "string");
        console.assert(!parent || parent instanceof WI.PropertyPath);
        console.assert(!parent || pathComponent.length);
        console.assert(!parent || parent instanceof WI.PropertyPath);
        console.assert(!parent || pathComponent.length);
    {
        console.assert(!keyObject || keyObject instanceof WI.RemoteObject);
    {
        console.assert(descriptor instanceof WI.PropertyDescriptor);

        console.assert(type === WI.PropertyPath.Type.Value);
@/lua/ge/extensions/editor/dynamicDecals/inspector/utils.lua
    if payload~=nil then
      assert(payload.DataSize == 256)
      local path = ffi.string(payload.Data)
@/inspector/Base/URLUtilities.js
{
    console.assert(path.charAt(0) === "/");
    console.assert(basePath.charAt(0) === "/");
    console.assert(path.charAt(0) === "/");
    console.assert(basePath.charAt(0) === "/");
@/lua/console/unittests.lua
    a = vec3(0,0,0)
    assert(tostring(a) == "(0, 0, 0)", "vec3 constructor test failed")
    a = vec3(1.234,2.134,3.124)
    a = vec3(1.234,2.134,3.124)
    assert(tostring(a) == "(1.234, 2.134, 3.124)", "vec3 float point test failed")
    a = vec3(0,1337.13371337,-1)
    a = vec3(0,1337.13371337,-1)
    assert(tostring(a) == "(0, 1337.134, -1)", "vec3 float point test 2 failed")
    a = vec3(0,133007.133,-1)
    a = vec3(0,133007.133,-1)
    assert(tostring(a) == "(0, 133007.141, -1)", "vec3 float point precision test failed")
    c = a + b
    assert(tostring(c) == "(3, 2, 1)", "vec3 operator +")
    c = a - b
    --log('D', "lua.unittests", tostring(c))
    assert(tostring(c) == "(-1, -2, 5)", "vec3 operator -")
    c = a * b
    c = a * b
    assert(tostring(c) == "(2, 0, -6)", "vec3 operator *")
    c = a / b
    c = a / b
    assert(tostring(c) == "(0.5, 0, -1.5)", "vec3 operator /")
    c = -a
    c = -a
    assert(tostring(c) == "(-1, -0, -3)", "vec3 unary -")

    assert(a ~= b, "vec3 not equals operator")
    assert(a == a, "vec3 equals operator")
    assert(a ~= b, "vec3 not equals operator")
    assert(a == a, "vec3 equals operator")
end
@/inspector/Views/Resizer.js
    {
        console.assert(delegate);

        console.assert(false, "Unexpected Resizer orientation.", this._orientation);
    }
        else {
            console.assert(this._orientation === WI.Resizer.RuleOrientation.Horizontal);
            document.body.style.cursor = "row-resize";
@/lua/common/libs/luamqtt/mqtt/luasocket_ssl.lua
function luasocket_ssl.connect(conn)
	assert(type(conn.secure_params) == "table", "expecting .secure_params to be a table")
@/inspector/Models/BackForwardEntry.js
    {
        console.assert(!this._tombstone, "Should not be calling shown on a tombstone");
    {
        console.assert(!this._tombstone, "Should not be calling hidden on a tombstone");
        var scrollableElements = this.contentView.scrollableElements || [];
        console.assert(this._scrollPositions.length === scrollableElements.length);
@/inspector/Controllers/ApplicationCacheManager.js
    {
        console.assert(event.target instanceof WI.Frame);
@/inspector/Models/URLBreakpoint.js
    {
        console.assert(Object.values(WI.URLBreakpoint.Type).includes(type), type);
        console.assert(typeof url === "string", url);
        console.assert(Object.values(WI.URLBreakpoint.Type).includes(type), type);
        console.assert(typeof url === "string", url);
@/inspector/Views/WebSocketDataGridNode.js
        let logResult = (result, wasThrown, savedResultIndex) => {
            console.assert(!wasThrown);
@/inspector/Views/NavigationItem.js
    {
        console.assert(navigationBar instanceof WI.NavigationBar);
        this._parentNavigationBar = navigationBar;
@/inspector/Models/TypeDescription.js
    {
        console.assert(!leastCommonAncestor || typeof leastCommonAncestor === "string");
        console.assert(!typeSet || typeSet instanceof WI.TypeSet);
        console.assert(!leastCommonAncestor || typeof leastCommonAncestor === "string");
        console.assert(!typeSet || typeSet instanceof WI.TypeSet);
        console.assert(!structures || structures.every((x) => x instanceof WI.StructureDescription));
        console.assert(!typeSet || typeSet instanceof WI.TypeSet);
        console.assert(!structures || structures.every((x) => x instanceof WI.StructureDescription));
@/inspector/Views/HeapAllocationsTimelineView.js

        console.assert(timeline.type === WI.TimelineRecord.Type.HeapAllocations, timeline);
    {
        console.assert(this.representedObject instanceof WI.Timeline);
        this.representedObject.removeEventListener(null, null, this);
    {
        console.assert(event.data.pathComponent.representedObject instanceof WI.HeapAllocationsTimelineRecord);
        this.showHeapSnapshotTimelineRecord(event.data.pathComponent.representedObject);
@/lua/ge/extensions/editor/materialEditor.lua
    if payload~=nil then
      assert(payload.DataSize == 2048)
      local data = ffi.string(payload.Data)
    if payload~=nil then
      assert(payload.DataSize == 2048)
      local data = ffi.string(payload.Data)
@/lua/vehicle/extensions/tech/platooning.lua

    assert(vid >= 0, "platooning.lua - Failed to get a valid vehicle ID")
    local radarArgs = {}

    assert(vid >= 0, "platooning.lua - Failed to get a valid vehicle ID")
    local radarArgs = {}

  assert(leaderID >= 0, "platooning.lua - Failed to get a valid vehicle ID")
  local radarArgs = {}
  end
  assert(vid >= 0, "Failed to get a valid vehicle ID")
  local radarArgs = {}
@/inspector/Models/AuditTestResultBase.js
    {
        console.assert(typeof name === "string");
        console.assert(!description || typeof description === "string");
        console.assert(typeof name === "string");
        console.assert(!description || typeof description === "string");
@/inspector/Views/DatabaseTableTreeElement.js
    {
        console.assert(representedObject instanceof WI.DatabaseTableObject);
@/inspector/Views/CompletionSuggestionsView.js
        var element = this._containerElement.children[this._selectedIndex] || null;
        console.assert(element);
        return element;
        let itemElement = event.target.closest(".item");
        console.assert(itemElement);
        if (!itemElement)
@/inspector/Views/FindBanner.js
    {
        console.assert(this._targetElement);
        if (!this._targetElement)

        console.assert(this._targetElement.parentNode);
        if (!this._targetElement.parentNode)
    {
        console.assert(this._targetElement);
        if (!this._targetElement)
@/lua/common/dequeue.lua
local push_right = function(self, x)
  assert(x ~= nil)
  self.tail = self.tail + 1
local push_left = function(self, x)
  assert(x ~= nil)
  self[self.head] = x
@/inspector/Models/SourceMapResource.js

        console.assert(url);
        console.assert(sourceMap);
        console.assert(url);
        console.assert(sourceMap);
@/inspector/Base/ImageUtilities.js
    {
        console.assert(data instanceof ImageBitmap);
    {
        console.assert(data instanceof ImageData);
    {
        console.assert(gradient instanceof CanvasGradient);
@/inspector/Views/CodeMirrorRegexMode.js
                popContext: function() {
                    console.assert(contextStack.length, "Tried to pop empty context stack.");
                    return contextStack.pop().data;
@/inspector/Base/FileUtilities.js
    {
        console.assert(saveData);
        if (!saveData)

        console.assert(saveData.content);
        if (!saveData.content)
    {
        console.assert(fileOrList instanceof File || fileOrList instanceof FileList);
@/lua/common/libs/timerwheel/timerwheel.lua
function _M.new(opts)
  assert(opts ~= _M, "new should not be called with colon ':' notation")
  opts = opts or EMPTY
  assert(type(opts) == "table", "expected options to be a table")

  assert(type(precision) == "number" and precision > 0,
    "expected 'precision' to be number > 0")
    "expected 'precision' to be number > 0")
  assert(type(ringsize) == "number" and ringsize > 0 and math_floor(ringsize) == ringsize,
    "expected 'ringsize' to be an integer number > 0")
    "expected 'ringsize' to be an integer number > 0")
  assert(type(now) == "function",
    "expected 'now' to be a function, got: " .. type(now))
    "expected 'now' to be a function, got: " .. type(now))
  assert(type(err_handler) == "function",
    "expected 'err_handler' to be a function, got: " .. type(err_handler))
@/inspector/Models/SourceMap.js
            var baseURLPath = absoluteURL(this._sourceRoot, this._sourceMappingURL);
            console.assert(baseURLPath);
            if (baseURLPath) {
    {
        console.assert(!(resource.url in this._sourceMapResources));
        this._sourceMapResources[resource.url] = resource;
@/inspector/Views/NetworkTabContentView.js
    {
        console.assert(this._contentBrowser.currentContentView === this._networkTableContentView);
        this._networkTableContentView.showRepresentedObject(representedObject, cookie);
@/inspector/Models/CollectionEntry.js
    {
        console.assert(value instanceof WI.RemoteObject);
        console.assert(!key || key instanceof WI.RemoteObject);
        console.assert(value instanceof WI.RemoteObject);
        console.assert(!key || key instanceof WI.RemoteObject);
@/inspector/Models/ProbeSet.js

        console.assert(breakpoint instanceof WI.Breakpoint, "Unknown breakpoint argument: ", breakpoint);
    {
        console.assert(probe instanceof WI.Probe, "Tried to add non-probe ", probe, " to probe group", this);
        console.assert(probe.breakpoint === this.breakpoint, "Probe and ProbeSet must have same breakpoint.", probe, this);
        console.assert(probe instanceof WI.Probe, "Tried to add non-probe ", probe, " to probe group", this);
        console.assert(probe.breakpoint === this.breakpoint, "Probe and ProbeSet must have same breakpoint.", probe, this);
    {
        console.assert(probe instanceof WI.Probe, "Tried to remove non-probe ", probe, " to probe group", this);
        console.assert(this._probes.indexOf(probe) !== -1, "Tried to remove probe", probe, " not in group ", this);
        console.assert(probe instanceof WI.Probe, "Tried to remove non-probe ", probe, " to probe group", this);
        console.assert(this._probes.indexOf(probe) !== -1, "Tried to remove probe", probe, " not in group ", this);
        console.assert(this._probesByIdentifier.has(probe.id), "Tried to remove probe", probe, " not in group ", this);
        console.assert(this._probes.indexOf(probe) !== -1, "Tried to remove probe", probe, " not in group ", this);
        console.assert(this._probesByIdentifier.has(probe.id), "Tried to remove probe", probe, " not in group ", this);
    {
        console.assert(!this._probes.length, "ProbeSet.willRemove called, but probes still associated with group: ", this._probes);
        var sample = event.data;
        console.assert(sample instanceof WI.ProbeSample, "Tried to add non-sample to probe group: ", sample);

        console.assert(this.dataTable);
        this.dataTable.addSampleForProbe(probe, sample);
@/inspector/Workers/Formatter/EsprimaFormatter.js

                console.assert(tokenValue === "if", token);
                builder.appendToken(tokenValue, tokenOffset);
            if (tokenType === "Keyword") {
                console.assert(tokenValue === "function", token);
                builder.appendToken(tokenValue, tokenOffset);
        if (nodeType === "Property") {
            console.assert(tokenValue === ":" || tokenValue === "get" || tokenValue === "set" || tokenValue === "async" || tokenValue === "*" || tokenValue === "[" || tokenValue === "]" || tokenValue === "(" || tokenValue === ")", token);
            builder.appendToken(tokenValue, tokenOffset);
        if (nodeType === "MethodDefinition") {
            console.assert(tokenValue === "static" || tokenValue === "get" || tokenValue === "set" || tokenValue === "async" || tokenValue === "*" || tokenValue === "[" || tokenValue === "]" || tokenValue === "(" || tokenValue === ")", token);
            builder.appendToken(tokenValue, tokenOffset);
        if (nodeType === "LabeledStatement") {
            console.assert(tokenValue === ":", token);
            builder.appendToken(tokenValue, tokenOffset);
            if (tokenType === "Keyword") {
                console.assert(tokenValue === "yield", token);
                builder.appendToken(tokenValue, tokenOffset);

        console.assert(programNode.type === "Program");
                this._insertCommentsAndNewlines(programNode.leadingComments);
            console.assert(!programNode.trailingComments);
        }
@/inspector/Models/CSSProperty.js
    {
        console.assert(typeof name === "string");
        if (WI.CSSKeywordCompletions.InheritedProperties.has(name))
    {
        console.assert(this._overridden);
        return this._overridingProperty;

        console.assert(this !== effectiveProperty, `Property "${this.formattedText}" can't override itself.`, this);
        this._overridingProperty = effectiveProperty || null;

        console.assert(this._ownerStyle);
        if (!this._ownerStyle)

        console.assert(oldText === styleText.slice(range.startOffset, range.endOffset), "_styleSheetTextRange data is invalid.");
@/inspector/Views/ElementsTabContentView.js
        let domTreeContentView = this.contentBrowser.currentContentView;
        console.assert(domTreeContentView instanceof WI.DOMTreeContentView, "Unexpected DOMTreeContentView representedObject.", domTreeContentView);
@/inspector/Views/SettingsTabContentView.js
        let navigationItem = this._navigationBar.findNavigationItem(settingsView.identifier);
        console.assert(navigationItem, "Missing navigation item for settings view.", settingsView);
        if (!navigationItem)
        if (this._settingsViews.includes(settingsView)) {
            console.assert(false, "SettingsView already exists.", settingsView);
            return;
        let navigationItem = this._navigationBar.findNavigationItem(settingsView.identifier);
        console.assert(navigationItem, "Missing NavigationItem for identifier: " + settingsView.identifier);
        if (!navigationItem)
        let index = this._settingsViews.indexOf(settingsView);
        console.assert(index !== -1, "SettingsView not found.", settingsView);
        if (index === -1)
            let previousNavigationItem = this._navigationBar.navigationItems[previousIndex];
            console.assert(previousNavigationItem);
            if (!previousNavigationItem || previousNavigationItem.hidden)
            let nextNavigationItem = this._navigationBar.navigationItems[nextIndex];
            console.assert(nextNavigationItem);
            if (!nextNavigationItem || nextNavigationItem.hidden)
        let settingsView = this._settingsViews.find((view) => view.identifier === navigationItem.identifier);
        console.assert(settingsView, "Missing SettingsView for identifier " + navigationItem.identifier);
        if (!settingsView)
@/inspector/Base/YieldableTask.js
        let {workInterval, idleInterval} = options;
        console.assert(!workInterval || workInterval > 0, workInterval);
        console.assert(!idleInterval || idleInterval > 0, idleInterval);
        console.assert(!workInterval || workInterval > 0, workInterval);
        console.assert(!idleInterval || idleInterval > 0, idleInterval);

        console.assert(delegate && typeof delegate.yieldableTaskWillProcessItem === "function", "Delegate provide an implementation of method 'yieldableTaskWillProcessItem'.");

        console.assert(items instanceof Object && Symbol.iterator in items, "Argument `items` must subclass Object and be iterable.", items);
    {
        console.assert(!this._processing);
        if (this._processing)

        console.assert(!this._cancelled);
        if (this._cancelled)
    {
        console.assert(this._processing);
@/inspector/Models/AuditTestGroup.js
    {
        console.assert(Array.isArray(tests));
@/inspector/Views/DashboardView.js
    {
        console.assert(identifier);
    {
        console.assert(representedObject);
@/inspector/Views/ResourceTimelineDataGridNode.js
    {
        console.assert(record instanceof WI.ResourceTimelineRecord);

        console.assert(!this._mouseEnterRecordBarListener);
        this._mouseEnterRecordBarListener = this._mouseoverRecordBar.bind(this);
        if (responseSource === WI.Resource.ResponseSource.MemoryCache || responseSource === WI.Resource.ResponseSource.DiskCache) {
            console.assert(this.resource.cached, "This resource has a cache responseSource it should also be marked as cached", this.resource);
            let span = document.createElement("span");
        let recordBar = WI.TimelineRecordBar.fromElement(event.target);
        console.assert(recordBar);
        if (!recordBar)

        console.assert(recordBar.records.length);
        let resource = recordBar.records[0].resource;
@/inspector/Proxies/HeapSnapshotProxy.js

        console.assert(!this.invalid);
    {
        console.assert(!this.invalid);
        if (!event.data.affectedSnapshots.includes(this._identifier))
    {
        console.assert(!this.invalid);
        WI.HeapSnapshotWorkerProxy.singleton().callMethod(this._proxyObjectId, "allocationBucketCounts", bucketSizes, callback);
    {
        console.assert(!this.invalid);
        WI.HeapSnapshotWorkerProxy.singleton().callMethod(this._proxyObjectId, "instancesWithClassName", className, (serializedNodes) => {
    {
        console.assert(!this.invalid);
        WI.HeapSnapshotWorkerProxy.singleton().callMethod(this._proxyObjectId, "update", ({liveSize, categories}) => {
    {
        console.assert(!this.invalid);
        WI.HeapSnapshotWorkerProxy.singleton().callMethod(this._proxyObjectId, "nodeWithIdentifier", nodeIdentifier, (serializedNode) => {
@/inspector/Base/Main.js
{
    console.assert(!WI.mainTarget);
{
    console.assert(WI.sharedApp.debuggableType === WI.DebuggableType.Web);
    console.assert(target.type === WI.Target.Type.Page || target instanceof WI.DirectBackendTarget);
    console.assert(WI.sharedApp.debuggableType === WI.DebuggableType.Web);
    console.assert(target.type === WI.Target.Type.Page || target instanceof WI.DirectBackendTarget);
{
    console.assert(!WI.pageTarget);
    console.assert(WI.sharedApp.debuggableType === WI.DebuggableType.Web);
    console.assert(!WI.pageTarget);
    console.assert(WI.sharedApp.debuggableType === WI.DebuggableType.Web);
    console.assert(target.type === WI.Target.Type.Page);
    console.assert(WI.sharedApp.debuggableType === WI.DebuggableType.Web);
    console.assert(target.type === WI.Target.Type.Page);
{
    console.assert(WI.pageTarget);
    console.assert(WI.pageTarget === target);
    console.assert(WI.pageTarget);
    console.assert(WI.pageTarget === target);
    console.assert(WI.sharedApp.debuggableType === WI.DebuggableType.Web);
    console.assert(WI.pageTarget === target);
    console.assert(WI.sharedApp.debuggableType === WI.DebuggableType.Web);

    console.assert(WI.TabContentView.isPrototypeOf(tabClass));
    return new tabClass;
            continue;
        console.assert(tabContentView.type, "Tab type can't be null, undefined, or empty string", tabContentView.type, tabContentView);
        openTabs.push(tabContentView.type);
{
    console.assert(WI.isNewTabWithTypeAllowed(tabType));
    let {referencedView, shouldReplaceTab, shouldShowNewTab} = options;
    console.assert(!referencedView || referencedView instanceof WI.TabContentView, referencedView);
    console.assert(!shouldReplaceTab || referencedView, "Must provide a reference view to replace a tab.");
    console.assert(!referencedView || referencedView instanceof WI.TabContentView, referencedView);
    console.assert(!shouldReplaceTab || referencedView, "Must provide a reference view to replace a tab.");
{
    console.assert(url);
    if (!url)

    console.assert(typeof options.lineNumber === "undefined" || typeof options.lineNumber === "number", "lineNumber should be a number.");

    console.assert(WI.isShowingConsoleTab());
};
{
    console.assert(sidebar instanceof WI.Sidebar);
    let tabContentView = WI.tabBrowser.selectedTabContentView;
    console.assert(tabContentView);
    if (!tabContentView)
    let tabContentView = WI.tabContentViewForRepresentedObject(representedObject, options);
    console.assert(tabContentView);
    if (!tabContentView)
{
    console.assert(WI.networkManager.mainFrame);
    if (!WI.networkManager.mainFrame)

    console.assert(!positionToReveal || positionToReveal instanceof WI.SourceCodePosition, positionToReveal);
    var representedObject = sourceCode;
{
    console.assert(!WI.docked);
{
    console.assert(typeof formatString === "string");
    console.assert(navigationItem instanceof WI.NavigationItem);
    console.assert(typeof formatString === "string");
    console.assert(navigationItem instanceof WI.NavigationItem);
{
    console.assert(sourceCodeLocation);
    if (!sourceCodeLocation)
WI.linkifyElement = function(linkElement, sourceCodeLocation, options = {}) {
    console.assert(sourceCodeLocation);
        // This workaround can be removed once  is fixed.
        console.assert(false, "An internal exception was thrown.", error);
        handleInternalException(error);
@/inspector/Views/TimelineRecordFrame.js
            var nextSegment = item.index < segments.length - 1 ? segments[item.index + 1] : null;
            console.assert(previousSegment || nextSegment, "Invisible segment should have at least one adjacent visible segment.");

        console.assert(this._record);
        if (!this._record)
@/inspector/Models/MediaInstrument.js

        console.assert(WI.MediaInstrument.supported());
    }
@/inspector/Models/CPUInstrument.js

        console.assert(WI.CPUInstrument.supported());
    }
@/inspector/Views/ObjectTreeArrayIndexTreeElement.js
    {
        console.assert(property.isIndexProperty(), "ObjectTreeArrayIndexTreeElement expects numeric property names");
@/inspector/Protocol/RemoteObject.js
    {
        console.assert(type);
        console.assert(!preview || preview instanceof WI.ObjectPreview);
        console.assert(type);
        console.assert(!preview || preview instanceof WI.ObjectPreview);
        console.assert(!target || target instanceof WI.Target);
        console.assert(!preview || preview instanceof WI.ObjectPreview);
        console.assert(!target || target instanceof WI.Target);
            // Object, Function, or Symbol.
            console.assert(!subtype || typeof subtype === "string");
            console.assert(!description || typeof description === "string");
            console.assert(!subtype || typeof subtype === "string");
            console.assert(!description || typeof description === "string");
            console.assert(!value);
            console.assert(!description || typeof description === "string");
            console.assert(!value);
            // Primitive or null.
            console.assert(type !== "object" || value === null);
            console.assert(!preview);
            console.assert(type !== "object" || value === null);
            console.assert(!preview);
    {
        console.assert(typeof payload === "object", "Remote object payload should only be an object");
    {
        console.assert(typeof callback === "function");
    {
        console.assert(typeof callback === "function");
    {
        console.assert(this.type === "function");

        console.assert(start >= 0);
        console.assert(numberToFetch >= 0);
        console.assert(start >= 0);
        console.assert(numberToFetch >= 0);
        console.assert(this.isCollectionType());
        console.assert(numberToFetch >= 0);
        console.assert(this.isCollectionType());
        // WeakMaps and WeakSets are not ordered. We should never send a non-zero start.
        console.assert((this._subtype === "weakmap" && start === 0) || this._subtype !== "weakmap");
        console.assert((this._subtype === "weakset" && start === 0) || this._subtype !== "weakset");
        console.assert((this._subtype === "weakmap" && start === 0) || this._subtype !== "weakmap");
        console.assert((this._subtype === "weakset" && start === 0) || this._subtype !== "weakset");
    {
        console.assert(this.isWeakCollection());
    {
        console.assert(getterRemoteObject instanceof WI.RemoteObject);
@/lua/ge/extensions/tech/ultrasonicTest.lua
    end
    assert(vid >= 0, "ultrasonicTest.lua - Failed to get a valid vehicle ID")
    -- Test that the ultrasonic sensor was created and a valid unique ID number was issued.
    -- assert(sensorId == 0, "ultrasonicTest.lua - Failed to create valid ultrasonic sensor") *failes when updating lua and generating a new sensor if it's ID is not zero, the following line is a replacement checking tht the sensor is greater than or equal to zero to test several sensors attachement
    assert(sensorId >= 0, "ultrasonicTest.lua - Failed to create valid ultrasonic sensor")
    -- assert(sensorId == 0, "ultrasonicTest.lua - Failed to create valid ultrasonic sensor") *failes when updating lua and generating a new sensor if it's ID is not zero, the following line is a replacement checking tht the sensor is greater than or equal to zero to test several sensors attachement
    assert(sensorId >= 0, "ultrasonicTest.lua - Failed to create valid ultrasonic sensor")
    assert(extensions.tech_sensors.doesSensorExist(sensorId) == true, "ultrasonicTest.lua - doesSensorExist() has failed at sensor initialisation")
    assert(sensorId >= 0, "ultrasonicTest.lua - Failed to create valid ultrasonic sensor")
    assert(extensions.tech_sensors.doesSensorExist(sensorId) == true, "ultrasonicTest.lua - doesSensorExist() has failed at sensor initialisation")
      ctr = ctr + 1
      assert(s == 0, "ultrasonicTest.lua - getActiveUltrasonicSensors() has failed. A sensor contains the wrong ID number")
    end
    end
    assert(ctr == 1, "ultrasonicTest.lua - getActiveUltrasonicSensors() has failed. There is not one single ultrasonic sensor.")
    -- Test the core property getters for the ultrasonic sensor.
    assert(extensions.tech_sensors.getUltrasonicIsVisualised(sensorId) == true, "ultrasonicTest.lua - getUltrasonicIsVisualised has failed")
    assert(extensions.tech_sensors.getUltrasonicSensorPosition(sensorId) ~= nil, "ultrasonicTest.lua - getUltrasonicSensorPosition has failed")
    assert(extensions.tech_sensors.getUltrasonicIsVisualised(sensorId) == true, "ultrasonicTest.lua - getUltrasonicIsVisualised has failed")
    assert(extensions.tech_sensors.getUltrasonicSensorPosition(sensorId) ~= nil, "ultrasonicTest.lua - getUltrasonicSensorPosition has failed")
    assert(extensions.tech_sensors.getUltrasonicSensorDirection(sensorId) ~= nil, "ultrasonicTest.lua - getUltrasonicDirectionPosition has failed")
    assert(extensions.tech_sensors.getUltrasonicSensorPosition(sensorId) ~= nil, "ultrasonicTest.lua - getUltrasonicSensorPosition has failed")
    assert(extensions.tech_sensors.getUltrasonicSensorDirection(sensorId) ~= nil, "ultrasonicTest.lua - getUltrasonicDirectionPosition has failed")
    assert(extensions.tech_sensors.getUltrasonicSensorRadius(sensorId, 1) ~= nil, "ultrasonicTest.lua - getUltrasonicSensorRadius has failed")
    assert(extensions.tech_sensors.getUltrasonicSensorDirection(sensorId) ~= nil, "ultrasonicTest.lua - getUltrasonicDirectionPosition has failed")
    assert(extensions.tech_sensors.getUltrasonicSensorRadius(sensorId, 1) ~= nil, "ultrasonicTest.lua - getUltrasonicSensorRadius has failed")
    extensions.tech_sensors.setUltrasonicIsVisualised(sensorId, false)
    assert(extensions.tech_sensors.getUltrasonicIsVisualised(sensorId) == false, "ultrasonicTest.lua - getUltrasonicIsVisualised has failed")
    extensions.tech_sensors.setUltrasonicIsVisualised(sensorId, true)
    extensions.tech_sensors.setUltrasonicIsVisualised(sensorId, true)
    assert(extensions.tech_sensors.getUltrasonicIsVisualised(sensorId) == true, "ultrasonicTest.lua - getUltrasonicIsVisualised has failed")
    local requestID = extensions.tech_sensors.sendUltrasonicRequest(sensorId)

    assert(extensions.tech_sensors.getUltrasonicMaxPendingGpuRequests(sensorId) > 0, "ultrasonicTest.lua - getUltrasonicMaxPendingGpuRequests has failed")
    assert(extensions.tech_sensors.getUltrasonicRequestedUpdateTime(sensorId) > 0, "ultrasonicTest.lua - getUltrasonicRequestedUpdateTime has failed")
    assert(extensions.tech_sensors.getUltrasonicMaxPendingGpuRequests(sensorId) > 0, "ultrasonicTest.lua - getUltrasonicMaxPendingGpuRequests has failed")
    assert(extensions.tech_sensors.getUltrasonicRequestedUpdateTime(sensorId) > 0, "ultrasonicTest.lua - getUltrasonicRequestedUpdateTime has failed")
    assert(extensions.tech_sensors.getUltrasonicUpdatePriority(sensorId) >= 0, "ultrasonicTest.lua - getUltrasonicUpdatePriority has failed")
    assert(extensions.tech_sensors.getUltrasonicRequestedUpdateTime(sensorId) > 0, "ultrasonicTest.lua - getUltrasonicRequestedUpdateTime has failed")
    assert(extensions.tech_sensors.getUltrasonicUpdatePriority(sensorId) >= 0, "ultrasonicTest.lua - getUltrasonicUpdatePriority has failed")

    assert(extensions.tech_sensors.getUltrasonicMaxPendingGpuRequests(sensorId) <= 20, "ultrasonicTest.lua - getUltrasonicMaxPendingGpuRequests has failed")
    assert(extensions.tech_sensors.getUltrasonicRequestedUpdateTime(sensorId) > 0, "ultrasonicTest.lua - getUltrasonicRequestedUpdateTime has failed")
    assert(extensions.tech_sensors.getUltrasonicMaxPendingGpuRequests(sensorId) <= 20, "ultrasonicTest.lua - getUltrasonicMaxPendingGpuRequests has failed")
    assert(extensions.tech_sensors.getUltrasonicRequestedUpdateTime(sensorId) > 0, "ultrasonicTest.lua - getUltrasonicRequestedUpdateTime has failed")
    assert(extensions.tech_sensors.getUltrasonicUpdatePriority(sensorId) == 1, "ultrasonicTest.lua - getUltrasonicUpdatePriority has failed")
    assert(extensions.tech_sensors.getUltrasonicRequestedUpdateTime(sensorId) > 0, "ultrasonicTest.lua - getUltrasonicRequestedUpdateTime has failed")
    assert(extensions.tech_sensors.getUltrasonicUpdatePriority(sensorId) == 1, "ultrasonicTest.lua - getUltrasonicUpdatePriority has failed")
    -- Test the ultrasonic sensor readings.
    -- assert(extensions.tech_sensors.getUltrasonicDistanceMeasurement(sensorId) ~= nil, "ultrasonicTest.lua - failed to valid get distance reading")
    -- assert(extensions.tech_sensors.getUltrasonicWindowMin(sensorId) ~= nil, "ultrasonicTest.lua - failed to get valid windowMin readings")
    -- assert(extensions.tech_sensors.getUltrasonicDistanceMeasurement(sensorId) ~= nil, "ultrasonicTest.lua - failed to valid get distance reading")
    -- assert(extensions.tech_sensors.getUltrasonicWindowMin(sensorId) ~= nil, "ultrasonicTest.lua - failed to get valid windowMin readings")
    -- assert(extensions.tech_sensors.getUltrasonicWindowMax(sensorId) ~= nil, "ultrasonicTest.lua - failed to get valid windowMax readings")
    -- assert(extensions.tech_sensors.getUltrasonicWindowMin(sensorId) ~= nil, "ultrasonicTest.lua - failed to get valid windowMin readings")
    -- assert(extensions.tech_sensors.getUltrasonicWindowMax(sensorId) ~= nil, "ultrasonicTest.lua - failed to get valid windowMax readings")
    sensorData = extensions.tech_sensors.getUltrasonicReadings(sensorId)
    assert(extensions.tech_sensors.getUltrasonicReadings(sensorId) ~= nil, "ultrasonicTest.lua - failed to get valid ultrasonic sensor readings")
    
    -- extensions.tech_sensors.removeSensor(sensorId)
    -- assert(extensions.tech_sensors.doesSensorExist(sensorId) == false, "ultrasonicTest.lua - doesSensorExist() has failed after removal by ID")
    -- print("new sensorID: "..sensorId)
    -- assert(extensions.tech_sensors.getUltrasonicActiveSensors() ~= nil, "ultrasonicTest.lua - getUltrasonicActiveSensors has failed") *Function doesn't exist in sensors file

    -- assert(extensions.tech_sensors.doesSensorExist(sensorId) == true, "ultrasonicTest.lua - doesSensorExist() has failed after retrieval")
    extensions.tech_sensors.removeAllSensorsFromVehicle(vid)
    assert(extensions.tech_sensors.doesSensorExist(sensorId) == false, "ultrasonicTest.lua - doesSensorExist() has failed after removal by vid")
@/inspector/Views/RenderingFrameTimelineOverviewGraph.js

        console.assert(index >= 0 && index < this._timelineRecordFrames.length, "Selected record not within visible graph duration.", this.selectedRecord);
        if (index < 0 || index >= this._timelineRecordFrames.length)
@/lua/common/libs/luaqrcode/qrencode.lua
  end
  assert(false,"never reached")
  return nil
  end
  assert( local_mode <= 4 )
  end
  assert( i <= 4 )
  local tab = { {10,9,8,8},{12,11,16,10},{14,13,16,12} }
  else
    assert(false, "get_length, version > 40 not supported")
  end
  if mode then
    assert(false,"not implemented")
    -- check if the mode is OK for the string
  else
    assert(false,"not implemented yet")
  end
  end
  assert(math.fmod(#data,8) == 0)
  -- add "11101100" and "00010001" until enough data
  else
    assert(false,"Unknown type for data: %s",type(data))
  end
  else
    assert(false,"This can't happen (mask must be <= 7)")
  end
@/inspector/Views/SVGImageResourceClusterContentView.js
    {
        console.assert(contentView);
        if (!contentView)
    {
        console.assert(contentView);
        if (!contentView)
@/inspector/Models/SourceCodeRevision.js

        console.assert(sourceCode instanceof WI.SourceCode);
@/inspector/Views/CanvasTabContentView.js
    {
        console.assert(!representedObject || representedObject instanceof WI.Canvas);
        let treeElement = this._canvasTreeOutline.findTreeElement(canvas);
        console.assert(treeElement, "Missing tree element for canvas.", canvas);
        if (!this.canShowRepresentedObject(representedObject)) {
            console.assert(false, "Unexpected representedObject.", representedObject);
            return;
@/inspector/Views/ResourceTimingContentView.js

        console.assert(resource instanceof WI.Resource);
@/inspector/Models/SourceCode.js
    {
        console.assert(revision instanceof WI.SourceCodeRevision);
        if (!(revision instanceof WI.SourceCodeRevision))

        console.assert(revision.sourceCode === this);
        if (revision.sourceCode !== this)
    {
        console.assert(sourceMap instanceof WI.SourceMap);
    {
        console.assert(this._formatterSourceMap === null || formatterSourceMap === null);
        console.assert(formatterSourceMap === null || formatterSourceMap instanceof WI.FormatterSourceMap);
        console.assert(this._formatterSourceMap === null || formatterSourceMap === null);
        console.assert(formatterSourceMap === null || formatterSourceMap instanceof WI.FormatterSourceMap);
@/inspector/Models/LocalResource.js
    {
        console.assert(request);
        console.assert(typeof request.url === "string");
        console.assert(request);
        console.assert(typeof request.url === "string");
        console.assert(response);
        console.assert(typeof request.url === "string");
        console.assert(response);
    {
        console.assert(!this._localContent);
@/inspector/Views/Layers3DContentView.js

        console.assert(layer, "There should always be a top level (document) layer");
        if (!layer)
@/inspector/Views/NetworkDOMNodeDetailView.js
    {
        console.assert(domNode instanceof WI.DOMNode);
@/inspector/Views/DOMBreakpointTreeElement.js
    {
        console.assert(breakpoint instanceof WI.DOMBreakpoint);
@/inspector/Models/ResourceCollection.js
        if (this._resourceType) {
            console.assert(type === this._resourceType);
            return this;
        let resource = event.target;
        console.assert(resource instanceof WI.Resource);
        if (!(resource instanceof WI.Resource))
        let oldURL = event.data.oldURL;
        console.assert(oldURL);
        if (!oldURL)
        let resource = event.target;
        console.assert(resource instanceof WI.Resource);
        if (!(resource instanceof WI.Resource))
        if (this._resourceType) {
            console.assert(resource.type !== this._resourceType);
            this.remove(resource);

        console.assert(event.data.oldType);
@/lua/ge/extensions/editor/api/assets.lua
    if payload~=nil then
      assert(payload.DataSize == 2048)
      local str = ffi.string(payload.Data)
@/inspector/Models/TimelineMarker.js

        console.assert(type);
    {
        console.assert(typeof x === "number", "Time should be a number.");
@/inspector/Views/CollectionContentView.js
    {
        console.assert(collection instanceof WI.Collection);
    {
        console.assert(this._selectionEnabled, "Attempted to set selected item when selection is disabled.");
        if (!this._selectionEnabled)
        let contentView = this._contentViewMap.get(item);
        console.assert(contentView, "Missing contet view for item.", item);
        if (!contentView)
        if (this._contentViewMap.has(item)) {
            console.assert(false, "Already added ContentView for item.", item);
            return;
        let contentView = new this._contentViewConstructor(item);
        console.assert(contentView instanceof WI.ContentView);
        let contentView = this._contentViewMap.get(item);
        console.assert(contentView);
        if (!contentView)
        let handleClick = this._handleClickMap.get(item);
        console.assert(handleClick);
            let contentView = this._contentViewMap.get(this._selectedItem);
            console.assert(contentView, "Missing ContentView for deselected item.", this._selectedItem);
            contentView.element.classList.remove("selected");
            let selectedContentView = this._contentViewMap.get(this._selectedItem);
            console.assert(selectedContentView, "Missing ContentView for selected item.", this._selectedItem);
            selectedContentView.element.classList.add("selected");
@/inspector/Models/CSSStyleDeclaration.js

        console.assert(nodeStyles);
        this._nodeStyles = nodeStyles;
    {
        console.assert(name);
        if (!name)
@/inspector/Workers/Formatter/FormatterContentBuilder.js
        let formatted = this._formattedContent.join("");
        console.assert(formatted.length === this._formattedContentLength);
        return formatted;
    {
        console.assert(!this._originalContent);
        this._originalContent = originalContent;
    {
        console.assert(!this._originalLineEndings.length);
        this._originalLineEndings = originalLineEndings;
    {
        console.assert(newlines > 0);
    {
        console.assert(this.lastTokenWasNewline);
        console.assert(this.lastToken === "\n");
        console.assert(this.lastTokenWasNewline);
        console.assert(this.lastToken === "\n");
        if (this.lastTokenWasNewline) {
    {
        console.assert(this.lastTokenWasWhitespace);
        console.assert(this.lastToken === " ");
        console.assert(this.lastTokenWasWhitespace);
        console.assert(this.lastToken === " ");
        if (this.lastTokenWasWhitespace) {

        console.assert(this._indent >= 0);
        if (this._indent < 0)
    {
        console.assert(this._formattedContent.lastValue === "\n");
        this._formattedLineEndings.push(this._formattedContentLength - 1);
@/inspector/Models/LazySourceCodeLocation.js

        console.assert(sourceCode);
@/inspector/Views/MemoryTimelineView.js

        console.assert(timeline.type === WI.TimelineRecord.Type.Memory, timeline);
    {
        console.assert(this.representedObject instanceof WI.Timeline);
        this.representedObject.removeEventListener(null, null, this);
    {
        console.assert(!this._didInitializeCategories, "Should only initialize category views once");
        this._didInitializeCategories = true;
        let memoryTimelineRecord = event.data.record;
        console.assert(memoryTimelineRecord instanceof WI.MemoryTimelineRecord);
@/inspector/Models/SourceCodeLocation.js

        console.assert(sourceCode === null || sourceCode instanceof WI.SourceCode);
        console.assert(!(sourceCode instanceof WI.SourceMapResource));
        console.assert(sourceCode === null || sourceCode instanceof WI.SourceCode);
        console.assert(!(sourceCode instanceof WI.SourceMapResource));
        console.assert(typeof lineNumber === "number" && !isNaN(lineNumber) && lineNumber >= 0);
        console.assert(!(sourceCode instanceof WI.SourceMapResource));
        console.assert(typeof lineNumber === "number" && !isNaN(lineNumber) && lineNumber >= 0);
        console.assert(typeof columnNumber === "number" && !isNaN(columnNumber) && columnNumber >= 0);
        console.assert(typeof lineNumber === "number" && !isNaN(lineNumber) && lineNumber >= 0);
        console.assert(typeof columnNumber === "number" && !isNaN(columnNumber) && columnNumber >= 0);
    {
        console.assert(sourceCode === this._sourceCode || (this._mappedResource && sourceCode === this._mappedResource));
        console.assert(typeof lineNumber === "number" && !isNaN(lineNumber) && lineNumber >= 0);
        console.assert(sourceCode === this._sourceCode || (this._mappedResource && sourceCode === this._mappedResource));
        console.assert(typeof lineNumber === "number" && !isNaN(lineNumber) && lineNumber >= 0);
        console.assert(typeof columnNumber === "number" && !isNaN(columnNumber) && columnNumber >= 0);
        console.assert(typeof lineNumber === "number" && !isNaN(lineNumber) && lineNumber >= 0);
        console.assert(typeof columnNumber === "number" && !isNaN(columnNumber) && columnNumber >= 0);
        var newSourceCodeLocation = sourceCode.createSourceCodeLocation(lineNumber, columnNumber);
        console.assert(newSourceCodeLocation.sourceCode === this._sourceCode);
    {
        console.assert((this._sourceCode === null && sourceCode instanceof WI.SourceCode) || (this._sourceCode instanceof WI.SourceCode && sourceCode === null));

        console.assert(this._mappedResource === null);
        console.assert(isNaN(this._mappedLineNumber));
        console.assert(this._mappedResource === null);
        console.assert(isNaN(this._mappedLineNumber));
        console.assert(isNaN(this._mappedColumnNumber));
        console.assert(isNaN(this._mappedLineNumber));
        console.assert(isNaN(this._mappedColumnNumber));
                continue;
            console.assert(entry.length === 5);
            var url = entry[2];
    {
        console.assert(sourceCode);
        if (!sourceCode)
@/inspector/Views/ProfileDataGridNode.js
                for (let child of this._childrenToChargeToSelf) {
                    console.assert(child.hasStackTraceInTimeRange(this._tree.startTime, this._tree.endTime));
                    this.appendChild(new WI.ProfileDataGridNode(child, this._tree));
@/inspector/Views/ApplicationCacheDetailsSidebarPanel.js

        console.assert(event.data.frameManifest instanceof WI.ApplicationCacheFrame);
        if (event.data.frameManifest !== this.applicationCacheFrame)
@/inspector/Views/TimelineRecordBar.js
            // If one record uses active time the rest are assumed to use it.
            console.assert(record.usesActiveStartTime === usesActiveStartTime);
            // Only a single record type is supported right now.
            console.assert(!lastRecordType || record.type === lastRecordType);

        console.assert(graphDataSource.zeroTime);
        console.assert(graphDataSource.startTime);
        console.assert(graphDataSource.zeroTime);
        console.assert(graphDataSource.startTime);
        console.assert(graphDataSource.currentTime);
        console.assert(graphDataSource.startTime);
        console.assert(graphDataSource.currentTime);
        console.assert(graphDataSource.endTime);
        console.assert(graphDataSource.currentTime);
        console.assert(graphDataSource.endTime);
        console.assert(graphDataSource.secondsPerPixel);
        console.assert(graphDataSource.endTime);
        console.assert(graphDataSource.secondsPerPixel);
@/inspector/Views/SpringEditor.js
        let isSpring = spring instanceof WI.Spring;
        console.assert(isSpring);
        if (!isSpring)
@/inspector/Models/Branch.js
    {
        console.assert(displayName);
    {
        console.assert(displayName);
        if (!displayName)
    {
        console.assert(revision instanceof WI.Revision);
    {
        console.assert(revision instanceof WI.Revision);
    {
        console.assert(!this._locked);
        this._locked = true;
    {
        console.assert(this._locked);
        this._locked = false;
@/inspector/Views/TableColumn.js

        console.assert(identifier);
        console.assert(name);
        console.assert(identifier);
        console.assert(name);
        console.assert(!initialWidth || initialWidth > 0);
        console.assert(name);
        console.assert(!initialWidth || initialWidth > 0);
        console.assert(!minWidth || minWidth >= 0);
        console.assert(!initialWidth || initialWidth > 0);
        console.assert(!minWidth || minWidth >= 0);
        console.assert(!maxWidth || maxWidth >= 0);
        console.assert(!minWidth || minWidth >= 0);
        console.assert(!maxWidth || maxWidth >= 0);

        console.assert(!this._minWidth || !this._maxWidth || this._minWidth <= this._maxWidth, "Invalid min/max", this._minWidth, this._maxWidth);
        console.assert(isNaN(this._width) || !this._minWidth || (this._width >= this._minWidth), "Initial width is less than min", this._width, this._minWidth);
        console.assert(!this._minWidth || !this._maxWidth || this._minWidth <= this._maxWidth, "Invalid min/max", this._minWidth, this._maxWidth);
        console.assert(isNaN(this._width) || !this._minWidth || (this._width >= this._minWidth), "Initial width is less than min", this._width, this._minWidth);
        console.assert(isNaN(this._width) || !this._maxWidth || (this._width <= this._maxWidth), "Initial width is greater than max", this._width, this._maxWidth);
        console.assert(isNaN(this._width) || !this._minWidth || (this._width >= this._minWidth), "Initial width is less than min", this._width, this._minWidth);
        console.assert(isNaN(this._width) || !this._maxWidth || (this._width <= this._maxWidth), "Initial width is greater than max", this._width, this._maxWidth);
        console.assert(!this.locked || this.width, "A locked column should aways have an initial width");
        console.assert(isNaN(this._width) || !this._maxWidth || (this._width <= this._maxWidth), "Initial width is greater than max", this._width, this._maxWidth);
        console.assert(!this.locked || this.width, "A locked column should aways have an initial width");
        console.assert(!this.locked || !this.hidden, "A locked column should never be hidden");
        console.assert(!this.locked || this.width, "A locked column should aways have an initial width");
        console.assert(!this.locked || !this.hidden, "A locked column should never be hidden");
    }
        // If we support horizontal scrolling in the Table then we could assert these.
        // console.assert(isNaN(width) || !this._minWidth || width >= this._minWidth, "New width was less than midWidth.", width, this._minWidth);
        // console.assert(isNaN(width) || !this._maxWidth || width <= this._maxWidth, "New width was greater than maxWidth.", width, this._maxWidth);
        // console.assert(isNaN(width) || !this._minWidth || width >= this._minWidth, "New width was less than midWidth.", width, this._minWidth);
        // console.assert(isNaN(width) || !this._maxWidth || width <= this._maxWidth, "New width was greater than maxWidth.", width, this._maxWidth);
    {
        console.assert(!this.locked && this._hideable, "Should not be able to hide a non-hideable column.");
        this._hidden = x;
@/inspector/Views/DatabaseTreeElement.js
    {
        console.assert(representedObject instanceof WI.DatabaseObject);
@/inspector/Base/LoadLocalizedStrings.js
    let localizedStringsURL = InspectorFrontendHost.localizedStringsURL();
    console.assert(localizedStringsURL);
    if (localizedStringsURL)
WI.repeatedUIString.assertionFailures = function() {
    return WI.UIString("Assertion Failures", "Break (pause) when console.assert() fails");
};
@/inspector/Models/KeyboardShortcut.js
    {
        console.assert(key);
        console.assert(!callback || typeof callback === "function");
        console.assert(key);
        console.assert(!callback || typeof callback === "function");
        console.assert(!targetElement || targetElement instanceof Element);
        console.assert(!callback || typeof callback === "function");
        console.assert(!targetElement || targetElement instanceof Element);
    {
        console.assert(!callback || typeof callback === "function");
@/inspector/Views/EditableDataGridNode.js
        let content = super.createCellContent(columnIdentifier, cell);
        console.assert(typeof content === "string");
        if (typeof content !== "string")
@/inspector/Views/CanvasOverviewContentView.js
    {
        console.assert(representedObject instanceof WI.CanvasCollection);
    {
        console.assert(!isNaN(frameCount) && frameCount >= 0);
    {
        console.assert(!recording.source);
@/inspector/Views/HeapSnapshotInstanceDataGridNode.js

        console.assert(node instanceof WI.HeapSnapshotNodeProxy);
        console.assert(!edge || edge instanceof WI.HeapSnapshotEdgeProxy);
        console.assert(node instanceof WI.HeapSnapshotNodeProxy);
        console.assert(!edge || edge instanceof WI.HeapSnapshotEdgeProxy);
        console.assert(!base || base instanceof WI.HeapSnapshotInstanceDataGridNode);
        console.assert(!edge || edge instanceof WI.HeapSnapshotEdgeProxy);
        console.assert(!base || base instanceof WI.HeapSnapshotInstanceDataGridNode);
@/inspector/Views/ChartDetailsSectionRow.js
        innerRadiusRatio = innerRadiusRatio || 0;
        console.assert(chartSize > 0, chartSize);
        console.assert(innerRadiusRatio >= 0 && innerRadiusRatio < 1, innerRadiusRatio);
        console.assert(chartSize > 0, chartSize);
        console.assert(innerRadiusRatio >= 0 && innerRadiusRatio < 1, innerRadiusRatio);
    {
        console.assert(!this._items.has(id), "Already added item with id: " + id);
        if (this._items.has(id))

        console.assert(value >= 0, "Value cannot be negative.");
        if (value < 0)
        let item = this._items.get(id);
        console.assert(item, "Cannot set value for invalid item id: " + id);
        if (!item)

        console.assert(value >= 0, "Value cannot be negative.");
        if (value < 0)
@/inspector/Views/MediaTimelineDataGridNode.js
    {
        console.assert(record instanceof WI.MediaTimelineRecord);
@/inspector/Models/ResourceQueryResult.js
    {
        console.assert(matches.length, "Query matches list can't be empty.");
@/inspector/Views/CanvasTreeElement.js
    {
        console.assert(representedObject instanceof WI.Canvas);
@/inspector/Views/NetworkDetailView.js

        console.assert(firstNavigationItem, "Should have found at least one navigation item above");
        this._contentBrowser.navigationBar.selectedNavigationItem = firstNavigationItem;

        console.assert(navigationItem.identifier);
        WI.settings.selectedNetworkDetailContentViewIdentifier.value = navigationItem.identifier;
@/lua/common/libs/copas/copas/timer.lua
  function timer:arm(initial_delay)
    assert(initial_delay == nil or initial_delay >= 0, "delay must be greater than or equal to 0")
    if self.co then
function timer.new(opts)
  assert(opts.delay >= 0, "delay must be greater than or equal to 0")
  assert(type(opts.callback) == "function", "expected callback to be a function")
  assert(opts.delay >= 0, "delay must be greater than or equal to 0")
  assert(type(opts.callback) == "function", "expected callback to be a function")
  return setmetatable({
@/inspector/Views/ResourceSidebarPanel.js
    {
        console.assert(this._scopeBar.selectedItems.length === 1);
        var selectedScopeBarItem = this._scopeBar.selectedItems[0];
    {
        console.assert(this._scopeBar.selectedItems.length === 1);
        var selectedScopeBarItem = this._scopeBar.selectedItems[0];

            console.assert(treeElement instanceof WI.ResourceTreeElement, "Unknown treeElement", treeElement);
            if (!(treeElement instanceof WI.ResourceTreeElement))
    {
        console.assert(target.type === WI.Target.Type.Worker || target.type === WI.Target.Type.ServiceWorker);

        console.assert(a.mainTitle);
        console.assert(b.mainTitle);
        console.assert(a.mainTitle);
        console.assert(b.mainTitle);
@/inspector/Models/ApplicationCacheFrame.js
    {
        console.assert(frame instanceof WI.Frame);
        console.assert(manifest instanceof WI.ApplicationCacheManifest);
        console.assert(frame instanceof WI.Frame);
        console.assert(manifest instanceof WI.ApplicationCacheManifest);
@/inspector/Controllers/TimelineManager.js
    {
        console.assert(this._activeRecording || !this.isCapturing());
        return this._activeRecording;
    {
        console.assert(this._capturingState === TimelineManager.CapturingState.Stopping || this._capturingState === TimelineManager.CapturingState.Inactive, "TimelineManager is already capturing.");
        if (this._capturingState !== TimelineManager.CapturingState.Stopping && this._capturingState !== TimelineManager.CapturingState.Inactive)
    {
        console.assert(this._capturingState === TimelineManager.CapturingState.Starting || this._capturingState === TimelineManager.CapturingState.Active, "TimelineManager is not capturing.");
        if (this._capturingState !== TimelineManager.CapturingState.Starting && this._capturingState !== TimelineManager.CapturingState.Active)
        this._capturingInstrumentCount++;
        console.assert(this._capturingInstrumentCount);
        if (this._capturingInstrumentCount > 1)
        this._capturingInstrumentCount--;
        console.assert(this._capturingInstrumentCount >= 0);
        if (this._capturingInstrumentCount)

        console.assert(this.isCapturing());
        if (!this.isCapturing())

        console.assert(this._activeRecording);
        console.assert(isNaN(WI.networkManager.mainFrame.domContentReadyEventTimestamp));
        console.assert(this._activeRecording);
        console.assert(isNaN(WI.networkManager.mainFrame.domContentReadyEventTimestamp));

        console.assert(this._activeRecording);
        console.assert(isNaN(WI.networkManager.mainFrame.loadEventTimestamp));
        console.assert(this._activeRecording);
        console.assert(isNaN(WI.networkManager.mainFrame.loadEventTimestamp));

        console.assert(this.isCapturing());
        if (!this.isCapturing())

        console.assert(this.isCapturing());
        if (!this.isCapturing())
    {
        console.assert(this.isCapturing());
        case TimelineAgent.EventType.ScheduleStyleRecalculation:
            console.assert(isNaN(endTime));
        case TimelineAgent.EventType.InvalidateLayout:
            console.assert(isNaN(endTime));
            // COMPATIBILITY (iOS 9): With the Sampling Profiler, profiles no longer include legacy profile data.
            console.assert(profileData || TimelineAgent.setInstruments);
            return new WI.ScriptTimelineRecord(WI.ScriptTimelineRecord.EventType.ConsoleProfileRecorded, startTime, endTime, callFrames, sourceCodeLocation, recordPayload.data.title, profileData);
            default:
                console.assert(false, "Missed FunctionCall embedded inside of: " + parentRecordPayload.type);
                break;
        case TimelineAgent.EventType.TimerInstall:
            console.assert(isNaN(endTime));
        case TimelineAgent.EventType.TimerRemove:
            console.assert(isNaN(endTime));
        case TimelineAgent.EventType.RequestAnimationFrame:
            console.assert(isNaN(endTime));
        case TimelineAgent.EventType.CancelAnimationFrame:
            console.assert(isNaN(endTime));
    {
        console.assert(this.isCapturing());
        if (this._mainResourceForAutoCapturing && WI.TimelineRecording.isLegacy) {
            console.assert(this._mainResourceForAutoCapturing.originalRequestWillBeSentTimestamp);
            this._activeRecording.setLegacyBaseTimestamp(this._mainResourceForAutoCapturing.originalRequestWillBeSentTimestamp);

        console.assert(this.isCapturing(), "We saw autoCaptureStarted so we should already be capturing");
    {
        console.assert(!this._webTimelineScriptRecordsExpectingScriptProfilerEvents || this._scriptProfilerRecords.length >= this._webTimelineScriptRecordsExpectingScriptProfilerEvents.length);
            if (webRecord.parent instanceof WI.ScriptTimelineRecord) {
                console.assert(recordEnclosesRecord(webRecord.parent, webRecord), "Timeline Record incorrectly wrapping another Timeline Record");
                webRecord = nextWebTimelineRecord();
@/inspector/Views/ContentBrowser.js
            var hierarchicalPathItemIndex = this._navigationBar.navigationItems.indexOf(this._hierarchicalPathNavigationItem);
            console.assert(hierarchicalPathItemIndex !== -1);
            this._navigationBar.insertNavigationItem(this._contentViewSelectionPathNavigationItem, hierarchicalPathItemIndex + 1);
        let insertionIndex = navigationBar.navigationItems.indexOf(this._flexibleNavigationItem) + 1;
        console.assert(insertionIndex >= 0);
    {
        console.assert(event.data.pathComponent instanceof WI.GeneralTreeElementPathComponent);
@/inspector/Views/ResourceDetailsSidebarPanel.js
        {
            console.assert(typeof nodeValue.name === "string");
            console.assert(!nodeValue.value || typeof nodeValue.value === "string");
            console.assert(typeof nodeValue.name === "string");
            console.assert(!nodeValue.value || typeof nodeValue.value === "string");
        if (responseSource === WI.Resource.ResponseSource.MemoryCache || responseSource === WI.Resource.ResponseSource.DiskCache) {
            console.assert(this._resource.cached, "This resource has a cache responseSource it should also be marked as cached", this._resource);
            let span = document.createElement("span");
@/inspector/Views/NetworkTimelineView.js

        console.assert(timeline.type === WI.TimelineRecord.Type.Network);

        console.assert(this._dataGrid.selectedNode instanceof WI.ResourceTimelineDataGridNode);
    {
        console.assert(this.representedObject instanceof WI.Timeline);
        this.representedObject.removeEventListener(null, null, this);
        let pathComponent = event.data.pathComponent;
        console.assert(pathComponent instanceof WI.TimelineDataGridNodePathComponent);
        let dataGridNode = pathComponent.timelineDataGridNode;
        console.assert(dataGridNode.dataGrid === this._dataGrid);
        let resourceTimelineRecord = event.data.record;
        console.assert(resourceTimelineRecord instanceof WI.ResourceTimelineRecord);
@/inspector/Views/ComputedStyleDetailsSidebarPanel.js
        let styleRulesPanel = this.parentSidebar.sidebarPanels.find((panel) => panel instanceof WI.RulesStyleDetailsSidebarPanel);
        console.assert(styleRulesPanel, "Styles panel is missing.");
        if (!styleRulesPanel)
@/inspector/Controllers/TargetManager.js
        let target = this._targets.get(targetId);
        console.assert(target);
        if (!target)
    {
        console.assert(target);
        console.assert(!this._targets.has(target.identifier));
        console.assert(target);
        console.assert(!this._targets.has(target.identifier));
    {
        console.assert(target);
        console.assert(target !== WI.mainTarget);
        console.assert(target);
        console.assert(target !== WI.mainTarget);

        console.assert(target === WI.pageTarget);
        console.assert(this._seenPageTarget);
        console.assert(target === WI.pageTarget);
        console.assert(this._seenPageTarget);
@/inspector/Models/DOMTree.js
    {
        console.assert(typeof callback === "function");
        if (typeof callback !== "function")
    {
        console.assert(this._frame.isMainFrame() || this._frame.pageExecutionContext);
        console.assert(this._pendingRootDOMNodeRequests.length);
        console.assert(this._frame.isMainFrame() || this._frame.pageExecutionContext);
        console.assert(this._pendingRootDOMNodeRequests.length);

            console.assert(this._rootDOMNode);
            if (!this._rootDOMNode) {
    {
        console.assert(!this._frame.isMainFrame());
    {
        console.assert(!this._frame.isMainFrame());
        if (this._rootDOMNodeRequestWaitingForExecutionContext) {
            console.assert(this._frame.pageExecutionContext);
            console.assert(this._pendingRootDOMNodeRequests && this._pendingRootDOMNodeRequests.length);
            console.assert(this._frame.pageExecutionContext);
            console.assert(this._pendingRootDOMNodeRequests && this._pendingRootDOMNodeRequests.length);
@/inspector/Models/IssueMessage.js

        console.assert(consoleMessage instanceof WI.ConsoleMessage);
@/inspector/Views/LayoutTimelineOverviewGraph.js
        let layoutTimelineRecord = event.data.record;
        console.assert(layoutTimelineRecord instanceof WI.LayoutTimelineRecord);
@/inspector/Views/TabBrowser.js
    {
        console.assert(tabBar, "Must provide a TabBar.");
    {
        console.assert(!this.selectedTabContentView || this.selectedTabContentView === this._recentTabContentViews[0]);
    {
        console.assert(!this.selectedTabContentView || this.selectedTabContentView === this._recentTabContentViews[0]);
    {
        console.assert(tabContentView instanceof WI.TabContentView);
        if (!(tabContentView instanceof WI.TabContentView))

        console.assert(tabBarItem instanceof WI.TabBarItem);
        if (!(tabBarItem instanceof WI.TabBarItem))

        console.assert(this._recentTabContentViews.length === this._tabBar.saveableTabCount);
        console.assert(!this.selectedTabContentView || this.selectedTabContentView === this._recentTabContentViews[0]);
        console.assert(this._recentTabContentViews.length === this._tabBar.saveableTabCount);
        console.assert(!this.selectedTabContentView || this.selectedTabContentView === this._recentTabContentViews[0]);
    {
        console.assert(tabContentView instanceof WI.TabContentView);
        if (!(tabContentView instanceof WI.TabContentView))

        console.assert(tabContentView.tabBarItem instanceof WI.TabBarItem);
        if (!(tabContentView.tabBarItem instanceof WI.TabBarItem))

        console.assert(this._recentTabContentViews.length === this._tabBar.saveableTabCount);
        console.assert(!this.selectedTabContentView || this.selectedTabContentView === this._recentTabContentViews[0]);
        console.assert(this._recentTabContentViews.length === this._tabBar.saveableTabCount);
        console.assert(!this.selectedTabContentView || this.selectedTabContentView === this._recentTabContentViews[0]);

            console.assert(this.selectedTabContentView);
            console.assert(this._recentTabContentViews.length === this._tabBar.saveableTabCount);
            console.assert(this.selectedTabContentView);
            console.assert(this._recentTabContentViews.length === this._tabBar.saveableTabCount);
            console.assert(this.selectedTabContentView === this._recentTabContentViews[0] || !shouldSaveTab);
            console.assert(this._recentTabContentViews.length === this._tabBar.saveableTabCount);
            console.assert(this.selectedTabContentView === this._recentTabContentViews[0] || !shouldSaveTab);
        } else {

            console.assert(!this.selectedTabContentView);
        }

        console.assert(tabContentView);
        if (!tabContentView)

        console.assert(tabContentView);
        if (!tabContentView)

        console.assert(this._recentTabContentViews.length === this._tabBar.saveableTabCount);
        console.assert(!this.selectedTabContentView || this.selectedTabContentView === this._recentTabContentViews[0]);
        console.assert(this._recentTabContentViews.length === this._tabBar.saveableTabCount);
        console.assert(!this.selectedTabContentView || this.selectedTabContentView === this._recentTabContentViews[0]);
    }

        console.assert(event.target === this._detailsSidebar);

        console.assert(!this._navigationSidebar.sidebarPanels.length);

        console.assert(!this._detailsSidebar.sidebarPanels.length);
@/inspector/Models/DebuggerData.js
    {
        console.assert(target instanceof WI.Target);
@/inspector/Views/SearchSidebarPanel.js
            --promiseCount;
            console.assert(promiseCount >= 0);
            if (promiseCount === 0)

            console.assert(searchId);

        console.assert(treeElement instanceof WI.SearchResultTreeElement);
        if (!(treeElement instanceof WI.SearchResultTreeElement))
@/inspector/Controllers/AuditManager.js
    {
        console.assert(this._runningState === WI.AuditManager.RunningState.Disabled || this._runningState === WI.AuditManager.RunningState.Inactive);
        if (this._runningState !== WI.AuditManager.RunningState.Disabled && this._runningState !== WI.AuditManager.RunningState.Inactive)
        let runningState = editing ? WI.AuditManager.RunningState.Disabled : WI.AuditManager.RunningState.Inactive;
        console.assert(runningState !== this._runningState);
        if (runningState === this._runningState)
    {
        console.assert(this._runningState === WI.AuditManager.RunningState.Inactive);
        if (this._runningState !== WI.AuditManager.RunningState.Inactive)

        console.assert(tests.length);
        if (!tests.length)
            let topLevelTest = this._topLevelTestForTest(test);
            console.assert(topLevelTest || window.InspectorTest, "No matching top-level test found", test);
            if (topLevelTest)
    {
        console.assert(this._runningState === WI.AuditManager.RunningState.Active);
        if (this._runningState !== WI.AuditManager.RunningState.Active)
    {
        console.assert(object instanceof WI.AuditTestCase || object instanceof WI.AuditTestGroup || object instanceof WI.AuditTestCaseResult || object instanceof WI.AuditTestGroupResult, object);
@/inspector/Models/ProfileNode.js

        console.assert(id);
        console.assert(!calls || calls instanceof Array);
        console.assert(id);
        console.assert(!calls || calls instanceof Array);
        console.assert(!calls || calls.length >= 1);
        console.assert(!calls || calls instanceof Array);
        console.assert(!calls || calls.length >= 1);
        console.assert(!calls || calls.every((call) => call instanceof WI.ProfileNodeCall));
        console.assert(!calls || calls.length >= 1);
        console.assert(!calls || calls.every((call) => call instanceof WI.ProfileNodeCall));
        console.assert(childNodes instanceof Array);
        console.assert(!calls || calls.every((call) => call instanceof WI.ProfileNodeCall));
        console.assert(childNodes instanceof Array);
        console.assert(childNodes.every((node) => node instanceof WI.ProfileNode));
        console.assert(childNodes instanceof Array);
        console.assert(childNodes.every((node) => node instanceof WI.ProfileNode));
    {
        console.assert(typeof rangeStartTime === "number");
        console.assert(typeof rangeEndTime === "number");
        console.assert(typeof rangeStartTime === "number");
        console.assert(typeof rangeEndTime === "number");
@/inspector/Models/HeapAllocationsTimelineRecord.js

        console.assert(typeof timestamp === "number");
        console.assert(heapSnapshot instanceof WI.HeapSnapshotProxy);
        console.assert(typeof timestamp === "number");
        console.assert(heapSnapshot instanceof WI.HeapSnapshotProxy);
@/inspector/Models/LayoutTimelineRecord.js

        console.assert(eventType);
        console.assert(!quad || quad instanceof WI.Quad);
        console.assert(eventType);
        console.assert(!quad || quad instanceof WI.Quad);
@/inspector/Views/CanvasContentView.js
    {
        console.assert(representedObject instanceof WI.Canvas);
        this.representedObject.requestNode().then((node) => {
            console.assert(!this._canvasNode || this._canvasNode === node);
            if (this._canvasNode === node)
        let shaderPrograms = this.representedObject.shaderProgramCollection;
        console.assert(shaderPrograms.size);
        if (!shaderPrograms.size)
        let recordings = this.representedObject.recordingCollection;
        console.assert(recordings.size);
        if (!recordings.size)
@/inspector/Views/TabContentView.js
    {
        console.assert(typeof identifier === "string");
        console.assert(typeof styleClassNames === "string" || styleClassNames.every((className) => typeof className === "string"));
        console.assert(typeof identifier === "string");
        console.assert(typeof styleClassNames === "string" || styleClassNames.every((className) => typeof className === "string"));
        console.assert(tabBarItem instanceof WI.TabBarItem);
        console.assert(typeof styleClassNames === "string" || styleClassNames.every((className) => typeof className === "string"));
        console.assert(tabBarItem instanceof WI.TabBarItem);
        console.assert(!navigationSidebarPanelConstructor || typeof navigationSidebarPanelConstructor === "function");
        console.assert(tabBarItem instanceof WI.TabBarItem);
        console.assert(!navigationSidebarPanelConstructor || typeof navigationSidebarPanelConstructor === "function");
        console.assert(!detailsSidebarPanelConstructors || detailsSidebarPanelConstructors.every((detailsSidebarPanelConstructor) => typeof detailsSidebarPanelConstructor === "function"));
        console.assert(!navigationSidebarPanelConstructor || typeof navigationSidebarPanelConstructor === "function");
        console.assert(!detailsSidebarPanelConstructors || detailsSidebarPanelConstructors.every((detailsSidebarPanelConstructor) => typeof detailsSidebarPanelConstructor === "function"));
@/inspector/Models/SourceCodePosition.js
    {
        console.assert(this._columnNumber + delta >= 0);
        return new WI.SourceCodePosition(this._lineNumber, this._columnNumber + delta);
    {
        console.assert(startPosition.isBefore(endPosition) || startPosition.equals(endPosition));
@/inspector/Views/DetailsSection.js

        console.assert(identifier);
    {
        console.assert(element instanceof HTMLElement, "Expected titleElement to be an HTMLElement.", element);
@/lua/common/jit/vmdef.lua

assert(require("jit").version == "LuaJIT 2.1.1763476812", "LuaJIT core/library version mismatch")
@/inspector/Controllers/HARBuilder.js
        for (let resource of resources) {
            console.assert(resource.finished);
            promises.push(new Promise((resolve, reject) => {
        let contents = await Promise.all(promises);
        console.assert(contents.length === resources.length);

        console.assert();
        return undefined;

        console.assert();
        return undefined;
@/inspector/Models/Script.js

        console.assert(target instanceof WI.Target);
        console.assert(range instanceof WI.TextRange);
        console.assert(target instanceof WI.Target);
        console.assert(range instanceof WI.TextRange);
        if (this._resource && this._resource.type === WI.Resource.Type.Document && !this._range.startLine && !this._range.startColumn) {
            console.assert(this._resource.isMainResource());
            let documentResource = this._resource;
        if (isWebInspectorConsoleEvaluationScript(this._sourceURL)) {
            console.assert(this._uniqueDisplayNameNumber);
            return WI.UIString("Console Evaluation %d").format(this._uniqueDisplayNameNumber);
@/inspector/Models/DOMNode.js
    {
        console.assert(WI.domManager.inspectedNode === this);
        DOMAgent.getEventListenersForNode(this.id, callback);

        console.assert(this.canEnterPowerEfficientPlaybackState());
        if (isPowerEfficient) {
            console.assert(!lastValue || lastValue.endTimestamp);
            if (!lastValue || lastValue.endTimestamp)
        } else {
            console.assert(!lastValue || lastValue.startTimestamp);
            if (!lastValue)
@/inspector/Views/RecordingTraceDetailsSidebarPanel.js
    {
        console.assert(!action || action instanceof WI.RecordingAction);
        if (!this._recording || action === this._action)
@/inspector/Models/CallingContextTree.js
        default:
            console.assert(false, "This should not be reached.");
            break;
@/inspector/Models/MemoryCategory.js
    {
        console.assert(typeof type === "string");
        console.assert(typeof size === "number");
        console.assert(typeof type === "string");
        console.assert(typeof size === "number");
        console.assert(size >= 0);
        console.assert(typeof size === "number");
        console.assert(size >= 0);
@/inspector/Views/URLBreakpointTreeElement.js
    {
        console.assert(breakpoint instanceof WI.URLBreakpoint);
@/inspector/Views/ResourceTreeElement.js
    {
        console.assert(resource instanceof WI.Resource);
    {
        console.assert(resource instanceof WI.Resource);
        // without changing the representedObject is bad. If you need to change the resource, make a new ResourceTreeElement.
        console.assert(!this._resource || !(this.representedObject instanceof WI.Resource));
@/inspector/Test/TestHarness.js

    assert(condition, message)
    {
    {
        console.assert(typeof expected === "number");
        console.assert(typeof actual === "number");
        console.assert(typeof expected === "number");
        console.assert(typeof actual === "number");
    {
        console.assert(values.length > 0, "Should have an 'actual' value.");
@/inspector/Base/Debouncer.js
    {
        console.assert(typeof callback === "function");
    {
        console.assert(time >= 0);
@/inspector/Views/IndexedDatabaseObjectStoreIndexTreeElement.js
    {
        console.assert(objectStoreIndex instanceof WI.IndexedDatabaseObjectStoreIndex);
@/inspector/Base/DOMUtilities.js
{
    console.assert(node instanceof WI.DOMNode, "Expected a DOMNode.");
    if (node.nodeType() !== Node.ELEMENT_NODE)
{
    console.assert(node instanceof WI.DOMNode, "Expected a DOMNode.");
    console.assert(!node.isPseudoElement());
    console.assert(node instanceof WI.DOMNode, "Expected a DOMNode.");
    console.assert(!node.isPseudoElement());
    if (node.nodeType() !== Node.ELEMENT_NODE)
{
    console.assert(node instanceof WI.DOMNode, "Expected a DOMNode.");
{
    console.assert(node instanceof WI.DOMNode, "Expected a DOMNode.");

    console.assert(xPathIndex > 0, "Should have found the node.");
    return xPathIndex;
@/inspector/Proxies/HeapSnapshotNodeProxy.js
            for (let i = 1; i < path.length; i += 2) {
                console.assert(path[i] instanceof WI.HeapSnapshotEdgeProxy);
                let edge = path[i];
@/inspector/Views/HeapSnapshotClassDataGridNode.js
    {
        console.assert(this.children[this.children.length - 1] instanceof WI.HeapSnapshotInstanceFetchMoreDataGridNode);
    {
        console.assert(!(this.children[this.children.length - 1] instanceof WI.HeapSnapshotInstanceFetchMoreDataGridNode));
@/inspector/Views/StackedColumnChart.js
    {
        console.assert(this._sections === null, "Should not initialize multiple times");
    {
        console.assert(heights.length === this._sections.length, "Wrong number of sections in columns set", heights.length, this._sections.length);
@/inspector/Views/TypeTokenView.js
    {
        console.assert(titleType === WI.TypeTokenView.TitleType.Variable || titleType === WI.TypeTokenView.TitleType.ReturnStatement);
    {
        console.assert(typeDescription instanceof WI.TypeDescription);
@/lua/vehicle/tech/techVehicleUtils.lua
    local node = v.data.nodes[cid]
    assert(node and node.cid == cid)
    refNodes[k] = node.name
@/lua/common/libs/LuaIRC/init.lua
    local o = {
        nick = assert(data.nick, "Field 'nick' is required");
        username = data.username or "lua";
    }
    assert(checkNick(o.nick), "Erroneous nickname passed to irc.new")
    return setmetatable(o, meta_preconnect)

    assert(hooks, "no hooks exist for this event")
    assert(hooks[id], "hook ID not found")
    assert(hooks, "no hooks exist for this event")
    assert(hooks[id], "hook ID not found")
@/inspector/Views/FolderizedTreeElement.js
    {
        console.assert(type);
        console.assert(displayName || displayName === null);
        console.assert(type);
        console.assert(displayName || displayName === null);
        console.assert(representedObject);
        console.assert(displayName || displayName === null);
        console.assert(representedObject);
        console.assert(typeof treeElementConstructor === "function");
        console.assert(representedObject);
        console.assert(typeof treeElementConstructor === "function");
        var settings = this._settingsForRepresentedObject(representedObject);
        console.assert(settings);
        if (!settings) {
    {
        console.assert(childTreeElement);
        if (!childTreeElement)
    {
        console.assert(this._groupedIntoFolders);
        console.assert(!folderTreeElement.parent);
        console.assert(this._groupedIntoFolders);
        console.assert(!folderTreeElement.parent);
        this.insertChild(folderTreeElement, insertionIndexForObjectInListSortedByFunction(folderTreeElement, this.children, this._compareTreeElementsByMainTitle));
    {
        console.assert(!childTreeElement.parent);
        parentTreeElement.insertChild(childTreeElement, insertionIndexForObjectInListSortedByFunction(childTreeElement, parentTreeElement.children, this.compareChildTreeElements.bind(this)));

        console.assert(oldParent instanceof WI.FolderTreeElement);
        if (!(oldParent instanceof WI.FolderTreeElement))

        console.assert(this._folderSettingsKey !== "");
        let expandedSetting = this._folderExpandedSettingMap.get(folderTreeElement);
        console.assert(expandedSetting, "No expanded setting for folderTreeElement", folderTreeElement);
        if (!expandedSetting)
@/inspector/Controllers/TypeTokenAnnotator.js

        console.assert(node.type === WI.ScriptSyntaxTree.NodeType.FunctionDeclaration || node.type === WI.ScriptSyntaxTree.NodeType.FunctionExpression || node.type === WI.ScriptSyntaxTree.NodeType.ArrowFunctionExpression);
@/inspector/Views/ApplicationCacheFrameTreeElement.js
    {
        console.assert(representedObject instanceof WI.ApplicationCacheFrame);
@/inspector/Views/RenderingFrameTimelineDataGridNode.js
    {
        console.assert(record instanceof WI.RenderingFrameTimelineRecord);
@/inspector/Views/Sidebar.js

        console.assert(!side || side === WI.Sidebar.Sides.Left || side === WI.Sidebar.Sides.Right);
        this._side = side || WI.Sidebar.Sides.Left;
    {
        console.assert(sidebarPanel instanceof WI.SidebarPanel);
        if (!(sidebarPanel instanceof WI.SidebarPanel))

        console.assert(!sidebarPanel.parentSidebar);
        if (sidebarPanel.parentSidebar)

        console.assert(index >= 0 && index <= this._sidebarPanels.length);
        this._sidebarPanels.splice(index, 0, sidebarPanel);
        if (this._navigationBar) {
            console.assert(sidebarPanel.navigationItem);
            this._navigationBar.insertNavigationItem(sidebarPanel.navigationItem, index);
        if (this._navigationBar) {
            console.assert(sidebarPanel.navigationItem);
            this._navigationBar.removeNavigationItem(sidebarPanel.navigationItem);
@/inspector/Views/TimelineTabContentView.js
    {
        console.assert(cookie);
    {
        console.assert(cookie);
    {
        console.assert(WI.timelineManager.willAutoStop());

        console.assert(treeElement.representedObject instanceof WI.TimelineRecording);
    {
        console.assert(recording instanceof WI.TimelineRecording, recording);
    {
        console.assert(recording instanceof WI.TimelineRecording, recording);
        let selectedNavigationItem = event.target.selectedNavigationItem;
        console.assert(selectedNavigationItem);
        if (!selectedNavigationItem)
        let navigationItemForViewMode = this.contentBrowser.navigationBar.findNavigationItem(mode);
        console.assert(navigationItemForViewMode, "Couldn't find navigation item for this view mode.");
        if (!navigationItemForViewMode)
    {
        console.assert(this._displayedRecording);
        console.assert(this._displayedContentView);
        console.assert(this._displayedRecording);
        console.assert(this._displayedContentView);
@/inspector/Views/ProbeDetailsSidebarPanel.js
            probeSet = probeSetOrEvent.data.probeSet;
        console.assert(!this._probeSetSections.has(probeSet), "New probe group ", probeSet, " already has its own sidebar.");
        var probeSet = event.data.probeSet;
        console.assert(this._probeSetSections.has(probeSet), "Removed probe group ", probeSet, " doesn't have a sidebar.");
@/inspector/Views/NetworkTableContentView.js
    {
        console.assert(representedObject instanceof WI.Resource);
    {
        console.assert(index >=0 && index < this._activeCollection.filteredEntries.length);
        return this._activeCollection.filteredEntries[index];
    {
        console.assert(this._collections.includes(collection));
    {
        console.assert(event.data.pathComponent instanceof WI.HierarchicalPathComponent);
    {
        console.assert(!cell.firstChild, "We expect the cell to be empty.", cell, cell.firstChild);
    {
        console.assert(!cell.firstChild, "We expect the cell to be empty.", cell, cell.firstChild);
        cell.textContent = isNaN(transferSize) ? emDash : Number.bytesToString(transferSize);
        console.assert(!cell.classList.contains("cache-type"), "Should not have cache-type class on cell.");
    }

                console.assert((fullscreenDOMEvents.length % 2) === 0, "Every enter/exit of fullscreen should have a corresponding exit/enter.");
        default:
            console.assert("Unexpected sort column", sortColumnIdentifier);
            return;
                this._insertResourceAndReloadTable(resource);
            console.assert(collection.pendingInsertions.length === originalLength);
            collection.pendingInsertions = [];
            let mainResource = frame.provisionalMainResource || frame.mainResource;
            console.assert(mainResource, "Frame should have a main resource.");
            this._insertResourceAndReloadTable(mainResource);

            console.assert(!frame.resourceCollection.size, "New frame should be empty.");
            console.assert(!frame.childFrameCollection.size, "New frame should be empty.");
            console.assert(!frame.resourceCollection.size, "New frame should be empty.");
            console.assert(!frame.childFrameCollection.size, "New frame should be empty.");
        });
    {
        console.assert(this._hasActiveFilter());
        this._urlFilterNavigationItem.filterBar.clear();
        console.assert(!this._hasURLFilter());
        this._typeFilterScopeBar.resetToDefault();
        console.assert(!this._hasTypeFilter());

        console.assert(!this._hasActiveFilter());
@/inspector/External/Esprima/esprima.js
            var msg = messageFormat.replace(/%(\d)/g, function (whole, idx) {
                assert_1.assert(idx < args.length, 'Message reference must be in range');
                return args[idx];
            var msg = messageFormat.replace(/%(\d)/g, function (whole, idx) {
                assert_1.assert(idx < args.length, 'Message reference must be in range');
                return args[idx];
        Parser.prototype.parseTemplateHead = function () {
            assert_1.assert(this.lookahead.head, 'Template literal must start with a template head');
            var node = this.createNode();
            var id = this.parseIdentifierName();
            assert_1.assert(id.name === 'new', 'New expression must start with `new`');
            var expr;
        Parser.prototype.parseLeftHandSideExpression = function () {
            assert_1.assert(this.context.allowIn, 'callee of new expression always allow in keyword.');
            var node = this.startNode(this.lookahead);
            var kind = this.nextToken().value;
            assert_1.assert(kind === 'let' || kind === 'const', 'Lexical declaration must be either let or const');
            var declarations = this.parseBindingList(kind, options);
    "use strict";
    function assert(condition, message) {
        /* istanbul ignore if */
            var ch = this.source[start];
            assert_1.assert(character_1.Character.isDecimalDigit(ch.charCodeAt(0)) || (ch === '.'), 'Numeric literal must start with a decimal digit or a decimal point');
            var num = '';
            var quote = this.source[start];
            assert_1.assert((quote === '\'' || quote === '"'), 'String literal must starts with a quote');
            ++this.index;
            var ch = this.source[this.index];
            assert_1.assert(ch === '/', 'Regular expression literal must start with a slash');
            var str = this.source[this.index++];
@/inspector/Views/TimelineView.js
        // This class should not be instantiated directly. Create a concrete subclass instead.
        console.assert(this.constructor !== WI.TimelineView && this instanceof WI.TimelineView);
        let dataGridNode = this._timelineDataGrid.findNode((node) => node.record === record);
        console.assert(dataGridNode, "Timeline view has no grid node for record selected in timeline overview.", this, record);
        if (!dataGridNode || dataGridNode.selected)
    {
        console.assert(node);
        if (!this.matchDataGridNodeAgainstCustomFilters(node))
@/inspector/Views/ContextMenu.js
    {
        console.assert(this._event instanceof MouseEvent);
            if (this._event.type !== "contextmenu" && typeof InspectorFrontendHost.dispatchEventAsContextMenuEvent === "function") {
                console.assert(event.type !== "mousedown" || this._beforeShowCallbacks.length > 0, "Calling show() in a mousedown handler should have a before show callback to enable quick selection.");
    {
        console.assert(event.type === "contextmenu");
@/inspector/Models/SourceCodeSearchMatchObject.js
    {
        console.assert(sourceCode instanceof WI.SourceCode);
@/lua/common/libs/luamqtt/mqtt/client.lua
		if key == "uri" then
			assert(value_type == "string", "expecting uri to be a string")
			a.uri = value
		elseif key == "clean" then
			assert(value_type == "boolean", "expecting clean to be a boolean")
			a.clean = value
		elseif key == "version" then
			assert(value_type == "number", "expecting version to be a number")
			assert(value == 4 or value == 5, "expecting version to be a value either 4 or 5")
			assert(value_type == "number", "expecting version to be a number")
			assert(value == 4 or value == 5, "expecting version to be a value either 4 or 5")
			a.version = value
		elseif key == "id" then
			assert(value_type == "string", "expecting id to be a string")
			a.id = value
		elseif key == "username" then
			assert(value_type == "string", "expecting username to be a string")
			a.username = value
		elseif key == "password" then
			assert(value_type == "string", "expecting password to be a string")
			a.password = value
		elseif key == "secure" then
			assert(value_type == "boolean" or value_type == "table", "expecting secure to be a boolean or table")
			a.secure = value
		elseif key == "will" then
			assert(value_type == "table", "expecting will to be a table")
			a.will = value
		elseif key == "keep_alive" then
			assert(value_type == "number", "expecting keep_alive to be a number")
			a.keep_alive = value
		elseif key == "properties" then
			assert(value_type == "table", "expecting properties to be a table")
			a.properties = value
		elseif key == "user_properties" then
			assert(value_type == "table", "expecting user_properties to be a table")
			a.user_properties = value
		elseif key == "reconnect" then
			assert(value_type == "boolean" or value_type == "number", "expecting reconnect to be a boolean or number")
			a.reconnect = value
		elseif key == "ssl_module" then
			assert(value_type == "string", "expecting ssl_module to be a string")
			a.ssl_module = value
	-- check required arguments
	assert(a.uri, 'expecting uri="..." to create MQTT client')
	assert(a.clean ~= nil, "expecting clean=true or clean=false to create MQTT client")
	assert(a.uri, 'expecting uri="..." to create MQTT client')
	assert(a.clean ~= nil, "expecting clean=true or clean=false to create MQTT client")
	assert(not a.password or a.username, "password is not accepted in absence of username")
	assert(a.clean ~= nil, "expecting clean=true or clean=false to create MQTT client")
	assert(not a.password or a.username, "password is not accepted in absence of username")
	-- validate connector content
	assert(type(a.connector) == "table", "expecting connector to be a table")
	assert(type(a.connector.connect) == "function", "expecting connector.connect to be a function")
	assert(type(a.connector) == "table", "expecting connector to be a table")
	assert(type(a.connector.connect) == "function", "expecting connector.connect to be a function")
	assert(type(a.connector.shutdown) == "function", "expecting connector.shutdown to be a function")
	assert(type(a.connector.connect) == "function", "expecting connector.connect to be a function")
	assert(type(a.connector.shutdown) == "function", "expecting connector.shutdown to be a function")
	assert(type(a.connector.send) == "function", "expecting connector.send to be a function")
	assert(type(a.connector.shutdown) == "function", "expecting connector.shutdown to be a function")
	assert(type(a.connector.send) == "function", "expecting connector.send to be a function")
	assert(type(a.connector.receive) == "function", "expecting connector.receive to be a function")
	assert(type(a.connector.send) == "function", "expecting connector.send to be a function")
	assert(type(a.connector.receive) == "function", "expecting connector.receive to be a function")
	if a.will then
		assert(type(a.will.topic) == "string", "expecting will.topic to be a string")
		assert(type(a.will.payload) == "string", "expecting will.payload to be a string")
		assert(type(a.will.topic) == "string", "expecting will.topic to be a string")
		assert(type(a.will.payload) == "string", "expecting will.payload to be a string")
		if a.will.qos ~= nil then
		if a.will.qos ~= nil then
			assert(type(a.will.qos) == "number", "expecting will.qos to be a number")
			assert(check_qos(a.will.qos), "expecting will.qos to be a valid QoS value")
			assert(type(a.will.qos) == "number", "expecting will.qos to be a number")
			assert(check_qos(a.will.qos), "expecting will.qos to be a valid QoS value")
		end
		if a.will.retain ~= nil then
			assert(type(a.will.retain) == "boolean", "expecting will.retain to be a boolean")
		end
	for event, func in pairs(events) do
		assert(type(event) == "string", "expecting event to be a string")
		assert(type(func) == "function", "expecting func to be a function")
		assert(type(event) == "string", "expecting event to be a string")
		assert(type(func) == "function", "expecting func to be a function")
		local handlers = self.handlers[event]
	-- fetch and validate args
	assert(type(args) == "table", "expecting args to be a table")
	assert(type(args.topic) == "string", "expecting args.topic to be a string")
	assert(type(args) == "table", "expecting args to be a table")
	assert(type(args.topic) == "string", "expecting args.topic to be a string")
	assert(args.qos == nil or (type(args.qos) == "number" and check_qos(args.qos)), "expecting valid args.qos value")
	assert(type(args.topic) == "string", "expecting args.topic to be a string")
	assert(args.qos == nil or (type(args.qos) == "number" and check_qos(args.qos)), "expecting valid args.qos value")
	assert(args.no_local == nil or type(args.no_local) == "boolean", "expecting args.no_local to be a boolean")
	assert(args.qos == nil or (type(args.qos) == "number" and check_qos(args.qos)), "expecting valid args.qos value")
	assert(args.no_local == nil or type(args.no_local) == "boolean", "expecting args.no_local to be a boolean")
	assert(args.retain_as_published == nil or type(args.retain_as_published) == "boolean", "expecting args.retain_as_published to be a boolean")
	assert(args.no_local == nil or type(args.no_local) == "boolean", "expecting args.no_local to be a boolean")
	assert(args.retain_as_published == nil or type(args.retain_as_published) == "boolean", "expecting args.retain_as_published to be a boolean")
	assert(args.retain_handling == nil or type(args.retain_handling) == "boolean", "expecting args.retain_handling to be a boolean")
	assert(args.retain_as_published == nil or type(args.retain_as_published) == "boolean", "expecting args.retain_as_published to be a boolean")
	assert(args.retain_handling == nil or type(args.retain_handling) == "boolean", "expecting args.retain_handling to be a boolean")
	assert(args.properties == nil or type(args.properties) == "table", "expecting args.properties to be a table")
	assert(args.retain_handling == nil or type(args.retain_handling) == "boolean", "expecting args.retain_handling to be a boolean")
	assert(args.properties == nil or type(args.properties) == "table", "expecting args.properties to be a table")
	assert(args.user_properties == nil or type(args.user_properties) == "table", "expecting args.user_properties to be a table")
	assert(args.properties == nil or type(args.properties) == "table", "expecting args.properties to be a table")
	assert(args.user_properties == nil or type(args.user_properties) == "table", "expecting args.user_properties to be a table")
	assert(args.callback == nil or type(args.callback) == "function", "expecting args.callback to be a function")
	assert(args.user_properties == nil or type(args.user_properties) == "table", "expecting args.user_properties to be a table")
	assert(args.callback == nil or type(args.callback) == "function", "expecting args.callback to be a function")
	-- fetch and validate args
	assert(type(args) == "table", "expecting args to be a table")
	assert(type(args.topic) == "string", "expecting args.topic to be a string")
	assert(type(args) == "table", "expecting args to be a table")
	assert(type(args.topic) == "string", "expecting args.topic to be a string")
	assert(args.properties == nil or type(args.properties) == "table", "expecting args.properties to be a table")
	assert(type(args.topic) == "string", "expecting args.topic to be a string")
	assert(args.properties == nil or type(args.properties) == "table", "expecting args.properties to be a table")
	assert(args.user_properties == nil or type(args.user_properties) == "table", "expecting args.user_properties to be a table")
	assert(args.properties == nil or type(args.properties) == "table", "expecting args.properties to be a table")
	assert(args.user_properties == nil or type(args.user_properties) == "table", "expecting args.user_properties to be a table")
	assert(args.callback == nil or type(args.callback) == "function", "expecting args.callback to be a function")
	assert(args.user_properties == nil or type(args.user_properties) == "table", "expecting args.user_properties to be a table")
	assert(args.callback == nil or type(args.callback) == "function", "expecting args.callback to be a function")
	-- fetch and validate args
	assert(type(args) == "table", "expecting args to be a table")
	assert(type(args.topic) == "string", "expecting args.topic to be a string")
	assert(type(args) == "table", "expecting args to be a table")
	assert(type(args.topic) == "string", "expecting args.topic to be a string")
	assert(args.payload == nil or type(args.payload) == "string", "expecting args.payload to be a string")
	assert(type(args.topic) == "string", "expecting args.topic to be a string")
	assert(args.payload == nil or type(args.payload) == "string", "expecting args.payload to be a string")
	assert(args.qos == nil or type(args.qos) == "number", "expecting args.qos to be a number")
	assert(args.payload == nil or type(args.payload) == "string", "expecting args.payload to be a string")
	assert(args.qos == nil or type(args.qos) == "number", "expecting args.qos to be a number")
	if args.qos then
	if args.qos then
		assert(check_qos(args.qos), "expecting qos to be a valid QoS value")
	end
	end
	assert(args.retain == nil or type(args.retain) == "boolean", "expecting args.retain to be a boolean")
	assert(args.dup == nil or type(args.dup) == "boolean", "expecting args.dup to be a boolean")
	assert(args.retain == nil or type(args.retain) == "boolean", "expecting args.retain to be a boolean")
	assert(args.dup == nil or type(args.dup) == "boolean", "expecting args.dup to be a boolean")
	assert(args.properties == nil or type(args.properties) == "table", "expecting args.properties to be a table")
	assert(args.dup == nil or type(args.dup) == "boolean", "expecting args.dup to be a boolean")
	assert(args.properties == nil or type(args.properties) == "table", "expecting args.properties to be a table")
	assert(args.user_properties == nil or type(args.user_properties) == "table", "expecting args.user_properties to be a table")
	assert(args.properties == nil or type(args.properties) == "table", "expecting args.properties to be a table")
	assert(args.user_properties == nil or type(args.user_properties) == "table", "expecting args.user_properties to be a table")
	assert(args.callback == nil or type(args.callback) == "function", "expecting args.callback to be a function")
	assert(args.user_properties == nil or type(args.user_properties) == "table", "expecting args.user_properties to be a table")
	assert(args.callback == nil or type(args.callback) == "function", "expecting args.callback to be a function")
function client_mt:acknowledge(msg, rc, properties, user_properties)
	assert(type(msg) == "table" and msg.type == packet_type.PUBLISH, "expecting msg to be a publish packet")
	assert(rc == nil or type(rc) == "number", "expecting rc to be a number")
	assert(type(msg) == "table" and msg.type == packet_type.PUBLISH, "expecting msg to be a publish packet")
	assert(rc == nil or type(rc) == "number", "expecting rc to be a number")
	assert(properties == nil or type(properties) == "table", "expecting properties to be a table")
	assert(rc == nil or type(rc) == "number", "expecting rc to be a number")
	assert(properties == nil or type(properties) == "table", "expecting properties to be a table")
	assert(user_properties == nil or type(user_properties) == "table", "expecting user_properties to be a table")
	assert(properties == nil or type(properties) == "table", "expecting properties to be a table")
	assert(user_properties == nil or type(user_properties) == "table", "expecting user_properties to be a table")
	-- validate args
	assert(rc == nil or type(rc) == "number", "expecting rc to be a number")
	assert(properties == nil or type(properties) == "table", "expecting properties to be a table")
	assert(rc == nil or type(rc) == "number", "expecting rc to be a number")
	assert(properties == nil or type(properties) == "table", "expecting properties to be a table")
	assert(user_properties == nil or type(user_properties) == "table", "expecting user_properties to be a table")
	assert(properties == nil or type(properties) == "table", "expecting properties to be a table")
	assert(user_properties == nil or type(user_properties) == "table", "expecting user_properties to be a table")
	-- validate args
	assert(rc == nil or type(rc) == "number", "expecting rc to be a number")
	assert(properties == nil or type(properties) == "table", "expecting properties to be a table")
	assert(rc == nil or type(rc) == "number", "expecting rc to be a number")
	assert(properties == nil or type(properties) == "table", "expecting properties to be a table")
	assert(user_properties == nil or type(user_properties) == "table", "expecting user_properties to be a table")
	assert(properties == nil or type(properties) == "table", "expecting properties to be a table")
	assert(user_properties == nil or type(user_properties) == "table", "expecting user_properties to be a table")
	assert(self.args.version == 5, "allowed only in MQTT v5.0 protocol")
	assert(user_properties == nil or type(user_properties) == "table", "expecting user_properties to be a table")
	assert(self.args.version == 5, "allowed only in MQTT v5.0 protocol")
function client_mt:close_connection(reason)
	assert(not reason or type(reason) == "string", "expecting reason to be a string")
	local conn = self.connection
	local args = self.args
	local connector = assert(args.connector, "no connector configured in MQTT client")
		-- trying pattern without port
		host = assert(str_match(conn.uri, "^([^%s]+)$"), "invalid uri format: expecting at least host/ip in .uri")
	end
@/inspector/Views/TimelineRecordingContentView.js
    {
        console.assert(timeline instanceof WI.Timeline, timeline);
        console.assert(this._timelineViewMap.has(timeline), timeline);
        console.assert(timeline instanceof WI.Timeline, timeline);
        console.assert(this._timelineViewMap.has(timeline), timeline);
        if (!this._timelineViewMap.has(timeline))
    {
        console.assert(!this._updating);
        if (this._updating)
            // ascertained from a new incoming timeline record, so we wait for a Timeline to update.
            console.assert(!this._waitingToResetCurrentTime);
            this._waitingToResetCurrentTime = true;
    {
        console.assert(this._updating);
        this._updating = false;
        let instrument = instrumentOrEvent instanceof WI.Instrument ? instrumentOrEvent : instrumentOrEvent.data.instrument;
        console.assert(instrument instanceof WI.Instrument, instrument);
        let timeline = this._recording.timelineForInstrument(instrument);
        console.assert(!this._timelineViewMap.has(timeline), timeline);
        let instrument = event.data.instrument;
        console.assert(instrument instanceof WI.Instrument);
        let timeline = this._recording.timelineForInstrument(instrument);
        console.assert(this._timelineViewMap.has(timeline), timeline);
    {
        console.assert(!this._updating);
    {
        console.assert(this.currentTimelineView);
        if (!this.currentTimelineView)

        console.assert(this.currentTimelineView);
@/inspector/Views/ApplicationCacheFrameContentView.js
    {
        console.assert(representedObject instanceof WI.ApplicationCacheFrame);

        console.assert(frameManifest instanceof WI.ApplicationCacheFrame);
@/inspector/Models/ProfileNodeCall.js
    {
        console.assert(startTime);
@/inspector/Protocol/Target.js
        // Agents we always expect in every target.
        console.assert(this.RuntimeAgent);
        console.assert(this.DebuggerAgent);
        console.assert(this.RuntimeAgent);
        console.assert(this.DebuggerAgent);
        console.assert(this.ConsoleAgent);
        console.assert(this.DebuggerAgent);
        console.assert(this.ConsoleAgent);
    }
    {
        console.assert(!this._mainResource);
        default:
            console.assert(false, "Unexpected target type", type);
            return InspectorBackend.supportedDomainsForDebuggableType(WI.DebuggableType.Web);
@/inspector/Views/EventBreakpointTreeElement.js
    {
        console.assert(breakpoint instanceof WI.EventBreakpoint);
@/lua/vehicle/extensions/tech/ACC.lua
    end
    assert(vid >= 0, "Failed to get a valid vehicle ID")
    targetSpeed = speed
@/inspector/Views/DataGridNode.js
    {
        console.assert(typeof x === "object", "Data should be an object.");

        console.assert(this.parent);
        if (!this.parent)
@/inspector/Models/TimelineRecord.js

        console.assert(type);
@/lua/common/jit/p.lua
  if outfile then
    out = outfile == "-" and stdout or assert(io.open(outfile, "w"))
  else
@/inspector/Protocol/Connection.js
    {
        console.assert(!this._target);
    {
        console.assert(typeof callback === "function");
    {
        console.assert(this._pendingResponses.size >= 0);
        let sequenceId = messageObject["id"];
        console.assert(this._pendingResponses.has(sequenceId), sequenceId, this._target ? this._target.identifier : "(unknown)", this._pendingResponses);
    {
        console.assert(this._pendingResponses.size === 0);
@/inspector/Views/ResourceTimingBreakdownView.js

        console.assert(resource.timingData.startTime && resource.timingData.responseEnd, "Timing breakdown view requires a resource with timing data.");
        console.assert(!fixedWidth || fixedWidth >= 100, "fixedWidth must be at least wide enough for strings.");
        console.assert(resource.timingData.startTime && resource.timingData.responseEnd, "Timing breakdown view requires a resource with timing data.");
        console.assert(!fixedWidth || fixedWidth >= 100, "fixedWidth must be at least wide enough for strings.");
@/lua/ge/extensions/flowgraph/manager.lua
    if payload ~= nil then
      assert(payload.DataSize == 64)
      local path = ffi.string(payload.Data)
@/inspector/Models/Breakpoint.js
    {
        console.assert(sourceCodeLocation instanceof WI.SourceCodeLocation);
        console.assert(!contentIdentifier || typeof contentIdentifier === "string");
        console.assert(sourceCodeLocation instanceof WI.SourceCodeLocation);
        console.assert(!contentIdentifier || typeof contentIdentifier === "string");
        console.assert(!disabled || typeof disabled === "boolean");
        console.assert(!contentIdentifier || typeof contentIdentifier === "string");
        console.assert(!disabled || typeof disabled === "boolean");
        console.assert(!condition || typeof condition === "string");
        console.assert(!disabled || typeof disabled === "boolean");
        console.assert(!condition || typeof condition === "string");
        console.assert(!ignoreCount || !isNaN(ignoreCount));
        console.assert(!condition || typeof condition === "string");
        console.assert(!ignoreCount || !isNaN(ignoreCount));
        console.assert(!autoContinue || typeof autoContinue === "boolean");
        console.assert(!ignoreCount || !isNaN(ignoreCount));
        console.assert(!autoContinue || typeof autoContinue === "boolean");
            this._contentIdentifier = sourceCode.contentIdentifier;
            console.assert(!contentIdentifier || contentIdentifier === this._contentIdentifier, "The content identifier from the source code should match the given value.");
        } else
            this._contentIdentifier = contentIdentifier || null;
        console.assert(this._contentIdentifier || this._isSpecial(), "There should always be a content identifier for a breakpoint.");

        console.assert(!resolved || this._sourceCodeLocation.sourceCode || this._isSpecial(), "Breakpoints must have a SourceCode to be resolved.", this);
    {
        console.assert(ignoreCount >= 0, "Ignore count cannot be negative.");
        if (ignoreCount < 0)
            var index = this._actions.indexOf(precedingAction);
            console.assert(index !== -1);
            if (index === -1)
        let index = this._actions.indexOf(actionToReplace);
        console.assert(index !== -1);
        if (index === -1)
        var index = this._actions.indexOf(action);
        console.assert(index !== -1);
        if (index === -1)
        var index = this._actions.indexOf(action);
        console.assert(index !== -1);
        if (index === -1)
@/inspector/Views/NetworkTimelineOverviewGraph.js
        let resourceTimelineRecord = event.data.record;
        console.assert(resourceTimelineRecord instanceof WI.ResourceTimelineRecord);
                let lastRecord = rowRecords.lastValue;
                console.assert(lastRecord);
@/inspector/Models/ScriptSyntaxTree.js
    {
        console.assert(script && script instanceof WI.Script, script);
    {
        console.assert(this._parsedSuccessfully);
        if (!this._parsedSuccessfully)
    {
        console.assert(startNode && this._parsedSuccessfully);
        if (!this._parsedSuccessfully)
    {
        console.assert(this._parsedSuccessfully);
        if (!this._parsedSuccessfully)
    {
        console.assert(this._parsedSuccessfully);
        if (!this._parsedSuccessfully)
    {
        console.assert(startNode && this._parsedSuccessfully);
        if (!this._parsedSuccessfully)
    {
        console.assert(node.type === WI.ScriptSyntaxTree.NodeType.FunctionDeclaration || node.type === WI.ScriptSyntaxTree.NodeType.FunctionExpression || node.type === WI.ScriptSyntaxTree.NodeType.MethodDefinition || node.type === WI.ScriptSyntaxTree.NodeType.ArrowFunctionExpression);
    {
        console.assert(this._script.target.RuntimeAgent.getRuntimeTypesForVariablesAtOffsets);
        console.assert(Array.isArray(nodesToUpdate) && this._parsedSuccessfully);
        console.assert(this._script.target.RuntimeAgent.getRuntimeTypesForVariablesAtOffsets);
        console.assert(Array.isArray(nodesToUpdate) && this._parsedSuccessfully);

        console.assert(allRequests.length === allRequestNodes.length);

            console.assert(typeInformationArray.length === allRequests.length);
                default:
                    console.assert(false, "Unexpected node type in variable declarator: " + node.type);
                    return [];

        console.assert(node.type === WI.ScriptSyntaxTree.NodeType.Identifier || node.type === WI.ScriptSyntaxTree.NodeType.ObjectPattern || node.type === WI.ScriptSyntaxTree.NodeType.ArrayPattern || node.type === WI.ScriptSyntaxTree.NodeType.RestElement || node.type === WI.ScriptSyntaxTree.NodeType.RestProperty);
@/inspector/Views/MediaTimelineOverviewGraph.js
    {
        console.assert(timeline instanceof WI.Timeline);
        console.assert(timeline.type === WI.TimelineRecord.Type.Media);
        console.assert(timeline instanceof WI.Timeline);
        console.assert(timeline.type === WI.TimelineRecord.Type.Media);
@/inspector/Views/FrameDOMTreeContentView.js
    {
        console.assert(domTree instanceof WI.DOMTree, domTree);
@/inspector/Models/CSSStyleSheet.js

        console.assert(id);
@/inspector/Models/LineWidget.js
    {
        console.assert(widgetElement instanceof Element);
@/lua/common/libs/luamqtt/mqtt/protocol5.lua
	if args.clean ~= nil then
		assert(type(args.clean) == "boolean", "expecting .clean to be a boolean")
		if args.clean then
		-- check required args are presented
		assert(type(args.will) == "table", "expecting .will to be a table")
		assert(type(args.will.payload) == "string", "expecting .will.payload to be a string")
		assert(type(args.will) == "table", "expecting .will to be a table")
		assert(type(args.will.payload) == "string", "expecting .will.payload to be a string")
		assert(type(args.will.topic) == "string", "expecting .will.topic to be a string")
		assert(type(args.will.payload) == "string", "expecting .will.payload to be a string")
		assert(type(args.will.topic) == "string", "expecting .will.topic to be a string")
		assert(type(args.will.qos) == "number", "expecting .will.qos to be a number")
		assert(type(args.will.topic) == "string", "expecting .will.topic to be a string")
		assert(type(args.will.qos) == "number", "expecting .will.qos to be a number")
		assert(check_qos(args.will.qos), "expecting .will.qos to be a valid QoS value")
		assert(type(args.will.qos) == "number", "expecting .will.qos to be a number")
		assert(check_qos(args.will.qos), "expecting .will.qos to be a valid QoS value")
		assert(type(args.will.retain) == "boolean", "expecting .will.retain to be a boolean")
		assert(check_qos(args.will.qos), "expecting .will.qos to be a valid QoS value")
		assert(type(args.will.retain) == "boolean", "expecting .will.retain to be a boolean")
		if args.will.properties ~= nil then
		if args.will.properties ~= nil then
			assert(type(args.will.properties) == "table", "expecting .will.properties to be a table")
		end
		if args.will.user_properties ~= nil then
			assert(type(args.will.user_properties) == "table", "expecting .will.user_properties to be a table")
		end
	if args.username ~= nil then
		assert(type(args.username) == "string", "expecting .username to be a string")
		byte = bor(byte, lshift(1, 7))
	if args.password ~= nil then
		assert(type(args.password) == "string", "expecting .password to be a string")
		assert(args.username, "the .username is required to set .password")
		assert(type(args.password) == "string", "expecting .password to be a string")
		assert(args.username, "the .username is required to set .password")
		byte = bor(byte, lshift(1, 6))
local function make_properties(ptype, args)
	local allowed = assert(allowed_properties[ptype], "invalid packet type to detect allowed properties")
	local props = ""
	if args.properties ~= nil then
		assert(type(args.properties) == "table", "expecting .properties to be a table")
		-- validate all properties and append them to order list
		for name, value in pairs(args.properties) do
			assert(type(name) == "string", "expecting property name to be a string: "..tostring(name))
			-- detect property identifier and check it's allowed for that packet type
			-- detect property identifier and check it's allowed for that packet type
			local prop_id = assert(properties[name], "unknown property: "..tostring(name))
			assert(prop_id ~= uprop_id, "user properties should be passed in .user_properties table")
			local prop_id = assert(properties[name], "unknown property: "..tostring(name))
			assert(prop_id ~= uprop_id, "user properties should be passed in .user_properties table")
			assert(allowed[prop_id], "property "..name.." is not allowed for packet type "..ptype)
			assert(prop_id ~= uprop_id, "user properties should be passed in .user_properties table")
			assert(allowed[prop_id], "property "..name.." is not allowed for packet type "..ptype)
			order[#order + 1] = { prop_id, name, value }
			if property_multiple[prop_id] then
				assert(type(value) == "table", "expecting list-table for property with multiple value")
				assert(#value == 1, "only one value for multiple-property supported")
				assert(type(value) == "table", "expecting list-table for property with multiple value")
				assert(#value == 1, "only one value for multiple-property supported")
				value = value[1]
	if args.user_properties ~= nil then
		assert(type(args.user_properties) == "table", "expecting .user_properties to be a table")
		assert(allowed[uprop_id], "user_property is not allowed for packet type "..ptype)
		assert(type(args.user_properties) == "table", "expecting .user_properties to be a table")
		assert(allowed[uprop_id], "user_property is not allowed for packet type "..ptype)
		local order = {}
	-- check args
	assert(type(args.id) == "string", "expecting .id to be a string with MQTT client id")
	-- DOC: 3.1.2.10 Keep Alive
	if args.keep_alive then
		assert(type(args.keep_alive) == "number")
		keep_alive_ival = args.keep_alive
		-- DOC: 3.1.3.3 Will Topic
		assert(type(args.will.topic) == "string", "expecting will.topic to be a string")
		payload:append(make_string(args.will.topic))
		-- DOC: 3.1.3.4 Will Payload
		assert(args.will.payload == nil or type(args.will.payload) == "string", "expecting will.payload to be a string or nil")
		payload:append(make_string(args.will.payload))
	-- check args
	assert(type(args.topic) == "string", "expecting .topic to be a string")
	if args.payload ~= nil then
	if args.payload ~= nil then
		assert(type(args.payload) == "string", "expecting .payload to be a string")
	end
	if args.qos ~= nil then
		assert(type(args.qos) == "number", "expecting .qos to be a number")
		assert(check_qos(args.qos), "expecting .qos to be a valid QoS value")
		assert(type(args.qos) == "number", "expecting .qos to be a number")
		assert(check_qos(args.qos), "expecting .qos to be a valid QoS value")
	end
	if args.retain ~= nil then
		assert(type(args.retain) == "boolean", "expecting .retain to be a boolean")
	end
	if args.dup ~= nil then
		assert(type(args.dup) == "boolean", "expecting .dup to be a boolean")
	end
	if args.qos and args.qos > 0 then
		assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
		assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
		assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
		assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
		variable_header:append(make_uint16(args.packet_id))
	-- check args
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.rc) == "number", "expecting .rc to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.rc) == "number", "expecting .rc to be a number")
	-- DOC: 3.4.2 PUBACK Variable Header
	-- check args
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.rc) == "number", "expecting .rc to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.rc) == "number", "expecting .rc to be a number")
	-- DOC: 3.5.2 PUBREC Variable Header
	-- check args
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.rc) == "number", "expecting .rc to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.rc) == "number", "expecting .rc to be a number")
	-- DOC: 3.6.2 PUBREL Variable Header
	-- check args
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.rc) == "number", "expecting .rc to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.rc) == "number", "expecting .rc to be a number")
	-- DOC: 3.7.2 PUBCOMP Variable Header
	-- check args
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.subscriptions) == "table", "expecting .subscriptions to be a table")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.subscriptions) == "table", "expecting .subscriptions to be a table")
	assert(#args.subscriptions > 0, "expecting .subscriptions to be a non-empty array")
	assert(type(args.subscriptions) == "table", "expecting .subscriptions to be a table")
	assert(#args.subscriptions > 0, "expecting .subscriptions to be a non-empty array")
	-- DOC: 3.8.2 SUBSCRIBE Variable Header
	for i, subscription in ipairs(args.subscriptions) do
		assert(type(subscription) == "table", "expecting .subscriptions["..i.."] to be a table")
		assert(type(subscription.topic) == "string", "expecting .subscriptions["..i.."].topic to be a string")
		assert(type(subscription) == "table", "expecting .subscriptions["..i.."] to be a table")
		assert(type(subscription.topic) == "string", "expecting .subscriptions["..i.."].topic to be a string")
		if subscription.qos ~= nil then -- TODO: maybe remove that check and make .qos mandatory?
		if subscription.qos ~= nil then -- TODO: maybe remove that check and make .qos mandatory?
			assert(type(subscription.qos) == "number", "expecting .subscriptions["..i.."].qos to be a number")
			assert(check_qos(subscription.qos), "expecting .subscriptions["..i.."].qos to be a valid QoS value")
			assert(type(subscription.qos) == "number", "expecting .subscriptions["..i.."].qos to be a number")
			assert(check_qos(subscription.qos), "expecting .subscriptions["..i.."].qos to be a valid QoS value")
		end
		if subscription.retain_as_published ~= nil then
			assert(type(subscription.retain_as_published) == "boolean", "expecting .subscriptions["..i.."].retain_as_published to be a boolean")
		end
		if subscription.retain_handling ~= nil then
			assert(type(subscription.retain_handling) == "number", "expecting .subscriptions["..i.."].retain_handling to be a number")
			assert(check_retain_handling(subscription.retain_handling), "expecting .subscriptions["..i.."].retain_handling to be a valid Retain Handling option")
			assert(type(subscription.retain_handling) == "number", "expecting .subscriptions["..i.."].retain_handling to be a number")
			assert(check_retain_handling(subscription.retain_handling), "expecting .subscriptions["..i.."].retain_handling to be a valid Retain Handling option")
		end
	-- check args
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.subscriptions) == "table", "expecting .subscriptions to be a table")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.subscriptions) == "table", "expecting .subscriptions to be a table")
	assert(#args.subscriptions > 0, "expecting .subscriptions to be a non-empty array")
	assert(type(args.subscriptions) == "table", "expecting .subscriptions to be a table")
	assert(#args.subscriptions > 0, "expecting .subscriptions to be a non-empty array")
	-- DOC: 3.10.2 UNSUBSCRIBE Variable Header
	for i, subscription in ipairs(args.subscriptions) do
		assert(type(subscription) == "string", "expecting .subscriptions["..i.."] to be a string")
		payload:append(make_string(subscription))
	-- check args
	assert(type(args.rc) == "number", "expecting .rc to be a number")
	-- DOC: 3.14.2 DISCONNECT Variable Header
	-- check args
	assert(type(args.rc) == "number", "expecting .rc to be a number")
	-- DOC: 3.15.2 AUTH Variable Header
function protocol5.make_packet(args)
	assert(type(args) == "table", "expecting args to be a table")
	assert(type(args.type) == "number", "expecting .type number in args")
	assert(type(args) == "table", "expecting args to be a table")
	assert(type(args.type) == "number", "expecting .type number in args")
	local ptype = args.type
local function parse_properties(ptype, read_data, input, packet)
	assert(type(read_data) == "function", "expecting read_data to be a function")
	-- DOC: 2.2.2 Properties
	local uprop_id = properties.user_property
	local allowed = assert(allowed_properties[ptype], "no allowed properties for specified packet type: "..tostring(ptype))
	local props_end = input[1] + len
@/inspector/Proxies/HeapSnapshotDiffProxy.js

        console.assert(snapshot1 instanceof WI.HeapSnapshotProxy);
        console.assert(snapshot2 instanceof WI.HeapSnapshotProxy);
        console.assert(snapshot1 instanceof WI.HeapSnapshotProxy);
        console.assert(snapshot2 instanceof WI.HeapSnapshotProxy);
    {
        console.assert(!this.invalid);
        if (!event.data.affectedSnapshots.includes(this._snapshot2._identifier))
    {
        console.assert(!this.invalid);
        WI.HeapSnapshotWorkerProxy.singleton().callMethod(this._proxyObjectId, "allocationBucketCounts", bucketSizes, callback);
    {
        console.assert(!this.invalid);
        WI.HeapSnapshotWorkerProxy.singleton().callMethod(this._proxyObjectId, "instancesWithClassName", className, (serializedNodes) => {
    {
        console.assert(!this.invalid);
        WI.HeapSnapshotWorkerProxy.singleton().callMethod(this._proxyObjectId, "update", ({liveSize, categories}) => {
    {
        console.assert(!this.invalid);
        WI.HeapSnapshotWorkerProxy.singleton().callMethod(this._proxyObjectId, "nodeWithIdentifier", nodeIdentifier, (serializedNode) => {
@/inspector/Controllers/DOMStorageManager.js
        var domStorage = this._domStorageForIdentifier(id);
        console.assert(domStorage);
        if (!domStorage)
    {
        console.assert(event.target instanceof WI.Frame);
    {
        console.assert(event.target instanceof WI.Frame);
@/inspector/Models/BreakpointAction.js
    {
        console.assert(breakpoint instanceof WI.Breakpoint);
        console.assert(Object.values(WI.BreakpointAction.Type).includes(type));
        console.assert(breakpoint instanceof WI.Breakpoint);
        console.assert(Object.values(WI.BreakpointAction.Type).includes(type));
@/inspector/Models/ProbeSetDataFrame.js
    {
        console.assert(a instanceof WI.ProbeSetDataFrame, a);
        console.assert(b instanceof WI.ProbeSetDataFrame, b);
        console.assert(a instanceof WI.ProbeSetDataFrame, a);
        console.assert(b instanceof WI.ProbeSetDataFrame, b);
@/inspector/Views/WorkerTreeElement.js

        console.assert(target instanceof WI.Target);
        console.assert(target.type === WI.Target.Type.Worker || target.type === WI.Target.Type.ServiceWorker);
        console.assert(target instanceof WI.Target);
        console.assert(target.type === WI.Target.Type.Worker || target.type === WI.Target.Type.ServiceWorker);
        console.assert(target.mainResource instanceof WI.Script);
        console.assert(target.type === WI.Target.Type.Worker || target.type === WI.Target.Type.ServiceWorker);
        console.assert(target.mainResource instanceof WI.Script);
@/inspector/Views/ObjectTreeSetIndexTreeElement.js
    {
        console.assert(object instanceof WI.RemoteObject);
@/inspector/Views/HeapSnapshotDataGridTree.js

        console.assert(heapSnapshot instanceof WI.HeapSnapshotProxy || heapSnapshot instanceof WI.HeapSnapshotDiffProxy);
                let propertyNameCompare = a.propertyName.extendedLocaleCompare(b.propertyName);
                console.assert(propertyNameCompare !== 0, "Property names should be unique, we shouldn't have equal property names.");
                return multiplier * propertyNameCompare;
        for (let [className, {size, retainedSize, count, internalCount, deadCount, objectCount}] of this.heapSnapshot.categories) {
            console.assert(count > 0);
@/inspector/Views/IndexedDatabaseDetailsSidebarPanel.js
            if (object instanceof WI.IndexedDatabaseObjectStore) {
                console.assert(!this._database, "Shouldn't have multiple IndexedDatabase objects in the list.");
                this._objectStore = object;
            } else if (object instanceof WI.IndexedDatabaseObjectStoreIndex) {
                console.assert(!this._database, "Shouldn't have multiple IndexedDatabase objects in the list.");
                this._index = object;
@/inspector/Models/Frame.js

        console.assert(id);
    {
        console.assert(loaderIdentifier);
        console.assert(mainResource);
        console.assert(loaderIdentifier);
        console.assert(mainResource);
    {
        console.assert(provisionalMainResource);
    {
        console.assert(this._provisionalMainResource);
        console.assert(this._provisionalLoaderIdentifier);
        console.assert(this._provisionalMainResource);
        console.assert(this._provisionalLoaderIdentifier);
        if (!this._provisionalLoaderIdentifier)
    {
        console.assert(frame instanceof WI.Frame);
        if (!(frame instanceof WI.Frame))
    {
        console.assert(frameOrFrameId);
        let childFrame = this.childFrameForIdentifier(childFrameId);
        console.assert(childFrame instanceof WI.Frame);
        if (!(childFrame instanceof WI.Frame))

        console.assert(childFrame.parentFrame === this);
    {
        console.assert(resource instanceof WI.Resource);
        if (!(resource instanceof WI.Resource))
    {
        console.assert(!resource._parentFrame);
        if (resource._parentFrame)
    {
        console.assert(resource.parentFrame === this);
        if (resource.parentFrame !== this)
@/inspector/Base/Throttler.js
    {
        console.assert(typeof callback === "function");
        console.assert(delay >= 0);
        console.assert(typeof callback === "function");
        console.assert(delay >= 0);
@/inspector/Models/AuditTestCase.js
    {
        console.assert(typeof test === "string");
@/inspector/Views/OverviewTimelineView.js
    {
        console.assert(recording instanceof WI.TimelineRecording);
        while (dataGridNode && !dataGridNode.root) {
            console.assert(dataGridNode instanceof WI.TimelineDataGridNode);
            if (dataGridNode.hidden)
        let dataGridNode = event.data.pathComponent.timelineDataGridNode;
        console.assert(dataGridNode.dataGrid === this._dataGrid);
    {
        console.assert(dataGridNode);
        console.assert(!dataGridNode.parent);
        console.assert(dataGridNode);
        console.assert(!dataGridNode.parent);
    {
        console.assert(resource);
        if (!resource)
                parentDataGridNode = this._addResourceToDataGridIfNeeded(parentResource);
                console.assert(parentDataGridNode);
                if (!parentDataGridNode)

                console.assert(dataGridNode, representedObject);
                if (!dataGridNode)

            console.assert(record instanceof WI.ResourceTimelineRecord);
        var sourceCodeTimeline = event.data.sourceCodeTimeline;
        console.assert(sourceCodeTimeline);
        if (!sourceCodeTimeline)
@/inspector/Views/SpreadsheetCSSStyleDeclarationEditor.js
    {
        console.assert(anchorIndex < this._propertyViews.length, `anchorIndex (${anchorIndex}) is greater than the last property index (${this._propertyViews.length})`);
        console.assert(focusIndex < this._propertyViews.length, `focusIndex (${focusIndex}) is greater than the last property index (${this._propertyViews.length})`);
        console.assert(anchorIndex < this._propertyViews.length, `anchorIndex (${anchorIndex}) is greater than the last property index (${this._propertyViews.length})`);
        console.assert(focusIndex < this._propertyViews.length, `focusIndex (${focusIndex}) is greater than the last property index (${this._propertyViews.length})`);
        let movedFromIndex = this._propertyViews.indexOf(propertyView);
        console.assert(movedFromIndex !== -1, "Property doesn't exist, focusing on a selector as a fallback.");
        if (movedFromIndex === -1) {
        let index = this._propertyViews.indexOf(propertyView);
        console.assert(index !== -1, `Can't find StyleProperty to select (${propertyView.property.name})`);
        if (index !== -1)
@/inspector/Views/CookieStorageContentView.js
        let index = this._cookies.indexOf(object);
        console.assert(index >= 0);
        return index;
    {
        console.assert(index >= 0 && index < this._cookies.length);
        return this._cookies[index];
            let cookie = this._cookies[rowIndex];
            console.assert(cookie, "Missing cookie for row " + rowIndex);
            if (!cookie)
        default:
            console.assert("Unexpected sort column", sortColumnIdentifier);
            return;

        console.assert("Unexpected table column " + column.identifier);
        return "";
@/inspector/Models/GarbageCollection.js
    {
        console.assert(endTime >= startTime);
@/lua/common/libs/LuaJIT/zone.lua
    else
      return (assert(remove(t), "empty zone stack"))
    end
@/inspector/Models/StructureDescription.js
    {
        console.assert(!fields || fields.every((x) => typeof x === "string"));
        console.assert(!optionalFields || optionalFields.every((x) => typeof x === "string"));
        console.assert(!fields || fields.every((x) => typeof x === "string"));
        console.assert(!optionalFields || optionalFields.every((x) => typeof x === "string"));
        console.assert(!constructorName || typeof constructorName === "string");
        console.assert(!optionalFields || optionalFields.every((x) => typeof x === "string"));
        console.assert(!constructorName || typeof constructorName === "string");
        console.assert(!prototypeStructure || prototypeStructure instanceof WI.StructureDescription);
        console.assert(!constructorName || typeof constructorName === "string");
        console.assert(!prototypeStructure || prototypeStructure instanceof WI.StructureDescription);
@/inspector/Views/SourcesNavigationSidebarPanel.js
        this._breakpointsTreeOutline.ondelete = (treeElement) => {
            console.assert(treeElement.selected);

            console.assert(treeElement instanceof WI.ResourceTreeElement || treeElement instanceof WI.ScriptTreeElement);
            if (!(treeElement instanceof WI.ResourceTreeElement) && !(treeElement instanceof WI.ScriptTreeElement))
    {
        console.assert(this._resourceTypeScopeBar.selectedItems.length === 1);
        let selectedScopeBarItem = this._resourceTypeScopeBar.selectedItems[0];

        console.assert(this._resourceTypeScopeBar.selectedItems.length === 1);
        let selectedScopeBarItem = this._resourceTypeScopeBar.selectedItems[0];

            console.assert(treeElement instanceof WI.ResourceTreeElement, "Unknown treeElement", treeElement);
            if (!(treeElement instanceof WI.ResourceTreeElement))
    {
        console.assert(target.type === WI.Target.Type.Worker || target.type === WI.Target.Type.ServiceWorker);
        let getDOMNodeTreeElement = (domNode) => {
            console.assert(domNode, "Missing DOMNode for identifier", breakpoint.domNodeIdentifier);
            if (!domNode)
    {
        console.assert(treeElement instanceof WI.ResourceTreeElement || treeElement instanceof WI.ScriptTreeElement);
        if (!(treeElement instanceof WI.ResourceTreeElement) && !(treeElement instanceof WI.ScriptTreeElement))
        for (let child of treeElement.children) {
            console.assert(child instanceof WI.BreakpointTreeElement);
            let breakpoint = child.breakpoint;
            let breakpoint = child.breakpoint;
            console.assert(breakpoint);
            if (breakpoint)
        case WI.DebuggerManager.PauseReason.AnimationFrame: {
            console.assert(pauseData, "Expected data with an animation frame, but found none.");
            if (!pauseData)
            let eventBreakpoint = WI.domDebuggerManager.eventBreakpointForTypeAndEventName(WI.EventBreakpoint.Type.AnimationFrame, pauseData.eventName);
            console.assert(eventBreakpoint, "Expected AnimationFrame breakpoint for event name.", pauseData.eventName);
            if (!eventBreakpoint)
            // FIXME: We should include the assertion condition string.
            console.assert(pauseData, "Expected data with an assertion, but found none.");
            if (pauseData && pauseData.message)
        case WI.DebuggerManager.PauseReason.Breakpoint: {
            console.assert(pauseData, "Expected breakpoint identifier, but found none.");
            if (!pauseData || !pauseData.breakpointId)
        case WI.DebuggerManager.PauseReason.CSPViolation:
            console.assert(pauseData, "Expected data with a CSP Violation, but found none.");
            if (!pauseData)
        case WI.DebuggerManager.PauseReason.DOM: {
            console.assert(WI.domDebuggerManager.supported);
            console.assert(pauseData, "Expected DOM breakpoint data, but found none.");
            console.assert(WI.domDebuggerManager.supported);
            console.assert(pauseData, "Expected DOM breakpoint data, but found none.");
            if (!pauseData || !pauseData.nodeId)

            console.assert(domBreakpoint, "Missing DOM breakpoint of type for node", pauseData.type, domNode);
            if (!domBreakpoint)

            console.assert(pauseData.targetNode);
                let node = WI.domManager.nodeForId(nodeId);
                console.assert(node, "Missing node for id.", nodeId);
                if (!node)
        case WI.DebuggerManager.PauseReason.EventListener: {
            console.assert(pauseData, "Expected data with an event listener, but found none.");
            if (!pauseData)

            console.assert(eventBreakpoint, "Expected Event Listener breakpoint for event name.", pauseData.eventName);
            if (!eventBreakpoint)
            if (eventListener) {
                console.assert(eventListener.eventListenerId === pauseData.eventListenerId);
        case WI.DebuggerManager.PauseReason.Exception: {
            console.assert(pauseData, "Expected data with an exception, but found none.");
            if (!pauseData)
        case WI.DebuggerManager.PauseReason.Timer: {
            console.assert(pauseData, "Expected data with a timer, but found none.");
            if (!pauseData)
            let eventBreakpoint = WI.domDebuggerManager.eventBreakpointForTypeAndEventName(WI.EventBreakpoint.Type.Timer, pauseData.eventName);
            console.assert(eventBreakpoint, "Expected Timer breakpoint for event name.", pauseData.eventName);
            if (!eventBreakpoint)
        case WI.DebuggerManager.PauseReason.XHR: {
            console.assert(WI.domDebuggerManager.supported);
            console.assert(pauseData, "Expected URL breakpoint data, but found none.");
            console.assert(WI.domDebuggerManager.supported);
            console.assert(pauseData, "Expected URL breakpoint data, but found none.");
            if (!pauseData)
                let urlBreakpoint = WI.domDebuggerManager.urlBreakpointForURL(pauseData.breakpointURL);
                console.assert(urlBreakpoint, "Expected URL breakpoint for URL.", pauseData.breakpointURL);
            } else {
                console.assert(pauseData.breakpointURL === "", "Should be the All Requests breakpoint which has an empty URL");
                this._pauseReasonTextRow.text = WI.UIString("Requesting: %s").format(pauseData.url);
            if (treeElement.parent.representedObject) {
                console.assert(treeElement.parent.representedObject instanceof WI.SourceCode);
                if (treeElement.parent.representedObject instanceof WI.SourceCode) {
        let treeElement = this._findCallStackTargetTreeElement(target);
        console.assert(treeElement);
        if (treeElement)
        let callStackTreeElement = this._findCallStackTargetTreeElement(target);
        console.assert(callStackTreeElement);
        if (callStackTreeElement)
@/inspector/Views/CallFrameView.js
    {
        console.assert(callFrame instanceof WI.CallFrame);
@/inspector/Views/ResourceSizesContentView.js

        console.assert(resource instanceof WI.Resource);
        console.assert(delegate);
        console.assert(resource instanceof WI.Resource);
        console.assert(delegate);
    {
        console.assert(bytes >= 0);
@/inspector/Views/DebuggerTabContentView.js
    {
        console.assert(breakpoint instanceof WI.Breakpoint);
@/inspector/Controllers/Formatter.js
    {
        console.assert(codeMirror);
        console.assert(builder);
        console.assert(codeMirror);
        console.assert(builder);
    {
        console.assert(this._builder.originalContent === null);
        if (this._builder.originalContent !== null)
@/inspector/Views/DOMTreeOutline.js
            if (treeElement && oldTreeElement.isCloseTag()) {
                console.assert(treeElement.closeTagTreeElement, "Missing close tag TreeElement.", treeElement);
                if (treeElement.closeTagTreeElement)
        if (this.selectedTreeElement && !this.selectedTreeElement.isCloseTag()) {
            console.assert(this.selectedTreeElements.length === 1);
            this.selectedTreeElement.reveal();
        let treeElement = this.getCachedTreeElement(item);
        console.assert(treeElement, "Missing TreeElement for representedObject.", item);
        if (!treeElement)
@/inspector/Views/SourceCodeTextEditor.js
    {
        console.assert(sourceCode instanceof WI.SourceCode);
            } else {
                console.assert(!pretty && this._isProbablyMinified);
                if (this._basicBlockAnnotator)
    {
        console.assert(breakpoint === this._breakpointMap[lineInfo.lineNumber][lineInfo.columnNumber]);
        if (this._autoFormat) {
            console.assert(!this.formatted);
            this._autoFormat = false;
            for (let breakpoint of WI.debuggerManager.breakpointsForSourceCode(this._sourceCode)) {
                console.assert(this._matchesBreakpoint(breakpoint));
                var lineInfo = this._editorLineInfoForSourceCodeLocation(breakpoint.sourceCodeLocation);
        // Decide to automatically format the content if it looks minified and it can be formatted.
        console.assert(!this.formatted);
        if (this.canBeFormatted() && isTextLikelyMinified(content)) {

        console.assert(sourceCode === this._sourceCode);
        console.assert(!base64Encoded);
        console.assert(sourceCode === this._sourceCode);
        console.assert(!base64Encoded);
    {
        console.assert(this._supportsDebugging);
    {
        console.assert(this._supportsDebugging);
    {
        console.assert(this._supportsDebugging);

        console.assert(breakpoint === existingBreakpoint);
    {
        console.assert(this._supportsDebugging);
    {
        console.assert(this._supportsDebugging);
        let sourceCodeLocation = topCallFrame.sourceCodeLocation;
        console.assert(sourceCodeLocation, "Expected source code location to place thread indicator.");
        if (!sourceCodeLocation)

        console.assert(WI.targets.length > 1);
    {
        console.assert(this._supportsDebugging);
    {
        console.assert(!isNaN(this.executionLineNumber));
        if (isNaN(this.executionLineNumber))

        console.assert(WI.debuggerManager.activeCallFrame);
        console.assert(this._activeCallFrameSourceCodeLocation === WI.debuggerManager.activeCallFrame.sourceCodeLocation);
        console.assert(WI.debuggerManager.activeCallFrame);
        console.assert(this._activeCallFrameSourceCodeLocation === WI.debuggerManager.activeCallFrame.sourceCodeLocation);
    {
        console.assert(this._sourceCode instanceof WI.Resource);
        console.assert(!this._fullContentPopulated);
        console.assert(this._sourceCode instanceof WI.Resource);
        console.assert(!this._fullContentPopulated);
        console.assert(!this._requestingScriptContent);
        console.assert(!this._fullContentPopulated);
        console.assert(!this._requestingScriptContent);
        var scripts = this._sourceCode.scripts;
        console.assert(scripts.length);
        if (!scripts.length)
    {
        console.assert(this._sourceCode instanceof WI.Resource);
        console.assert(!this._fullContentPopulated);
        console.assert(this._sourceCode instanceof WI.Resource);
        console.assert(!this._fullContentPopulated);
        console.assert(!this._requestingScriptContent);
        console.assert(!this._fullContentPopulated);
        console.assert(!this._requestingScriptContent);
        var scripts = this._sourceCode.scripts;
        console.assert(scripts.length === 1);
        if (!scripts.length)

        console.assert(scripts[0].range.startLine === 0);
        console.assert(scripts[0].range.startColumn === 0);
        console.assert(scripts[0].range.startLine === 0);
        console.assert(scripts[0].range.startColumn === 0);
    {
        console.assert(this._supportsDebugging);
        if (this._sourceCode instanceof WI.SourceMapResource)
        var sourceCodeLocation = issue.sourceCodeLocation;
        console.assert(sourceCodeLocation, "Expected source code location to place issue.");
        if (!sourceCodeLocation)

        console.assert(level === WI.IssueMessage.Level.Error);
        return "icon-error";
            let breakpoint = this._breakpointForEditorLineInfo(lineInfo);
            console.assert(breakpoint);
            if (breakpoint)
    {
        console.assert(this._supportsDebugging);
        if (!this._supportsDebugging)
        var breakpoint = this._breakpointForEditorLineInfo(lineInfo);
        console.assert(breakpoint);
        if (!breakpoint)
    {
        console.assert(this._supportsDebugging);
        if (!this._supportsDebugging)
        var breakpoint = this._breakpointForEditorLineInfo(oldLineInfo);
        console.assert(breakpoint);
        if (!breakpoint)
    {
        console.assert(this._supportsDebugging);
        if (!this._supportsDebugging)
        var breakpoint = this._breakpointForEditorLineInfo({lineNumber, columnNumber});
        console.assert(breakpoint);
        if (!breakpoint)
    {
        console.assert(candidate.expression);
    {
        console.assert(candidate.expression);

            console.assert(allTypes.length === 1);
            if (!allTypes.length)
    {
        console.assert(this.tokenTrackingController.candidate || bounds);
        if (shouldActivate) {
            console.assert(this.visible, "Annotators should not be enabled if the TextEditor is not visible");
        if (shouldActivate) {
            console.assert(this.visible, "Annotators should not be enabled if the TextEditor is not visible");

            console.assert(!this._basicBlockAnnotator.isActive());
            this._basicBlockAnnotator.reset();
        // Pause updating type tokens while scrolling to prevent frame loss.
        console.assert(!this._typeTokenScrollHandler);
        this._typeTokenScrollHandler = this._createTypeTokenScrollEventHandler();
    {
        console.assert(!this._controlFlowScrollHandler);
        this._controlFlowScrollHandler = this._createControlFlowScrollEventHandler();
    {
        console.assert(this._typeTokenScrollHandler);
        this.removeScrollHandler(this._typeTokenScrollHandler);
    {
        console.assert(this._controlFlowScrollHandler);
        this.removeScrollHandler(this._controlFlowScrollHandler);
@/lua/common/jit/v.lua
  if outfile then
    out = outfile == "-" and stdout or assert(io.open(outfile, "w"))
  else
@/inspector/Views/SettingsGroup.js
        let editor = WI.SettingEditor.createForSetting(setting, label, options);
        console.assert(editor, "Could not create default editor for setting. Use addCustomSetting instead.", setting);
        if (!editor)
@/inspector/Views/DOMNodeTreeElement.js
    {
        console.assert(domNode instanceof WI.DOMNode);
@/inspector/Controllers/JavaScriptLogViewController.js

        console.assert(textPrompt instanceof WI.ConsolePrompt);
        console.assert(historySettingIdentifier);
        console.assert(textPrompt instanceof WI.ConsolePrompt);
        console.assert(historySettingIdentifier);
    {
        console.assert(result instanceof WI.RemoteObject);
    {
        console.assert(this._previousMessageView);
        if (!this._previousMessageView)
    {
        console.assert(text);
@/inspector/Models/ResourceTimingData.js

        console.assert(isNaN(data.startTime) || data.startTime <= data.fetchStart);
        console.assert(isNaN(data.redirectStart) === isNaN(data.redirectEnd));
        console.assert(isNaN(data.startTime) || data.startTime <= data.fetchStart);
        console.assert(isNaN(data.redirectStart) === isNaN(data.redirectEnd));
        console.assert(isNaN(data.domainLookupStart) === isNaN(data.domainLookupEnd));
        console.assert(isNaN(data.redirectStart) === isNaN(data.redirectEnd));
        console.assert(isNaN(data.domainLookupStart) === isNaN(data.domainLookupEnd));
        console.assert(isNaN(data.connectStart) === isNaN(data.connectEnd));
        console.assert(isNaN(data.domainLookupStart) === isNaN(data.domainLookupEnd));
        console.assert(isNaN(data.connectStart) === isNaN(data.connectEnd));
    {
        console.assert(typeof responseEnd === "number");
        console.assert(isNaN(responseEnd) || responseEnd >= this.startTime, "responseEnd time should be greater than the start time", this.startTime, responseEnd);
        console.assert(typeof responseEnd === "number");
        console.assert(isNaN(responseEnd) || responseEnd >= this.startTime, "responseEnd time should be greater than the start time", this.startTime, responseEnd);
        console.assert(isNaN(responseEnd) || responseEnd >= this.requestStart, "responseEnd time should be greater than the request time", this.requestStart, responseEnd);
        console.assert(isNaN(responseEnd) || responseEnd >= this.startTime, "responseEnd time should be greater than the start time", this.startTime, responseEnd);
        console.assert(isNaN(responseEnd) || responseEnd >= this.requestStart, "responseEnd time should be greater than the request time", this.requestStart, responseEnd);
        this._responseEnd = responseEnd;
@/inspector/Views/GaugeChart.js

        console.assert(!this._segments, "Set segments only once");
        console.assert(segments.length >= 1, "Need at least one segment");
        console.assert(!this._segments, "Set segments only once");
        console.assert(segments.length >= 1, "Need at least one segment");
        console.assert(this._validateSegments(segments));
        console.assert(segments.length >= 1, "Need at least one segment");
        console.assert(this._validateSegments(segments));
    {
        console.assert(value >= 0 && value <= 100, "value should be between 0 and 100.", value);
        for (let {className, limit} of segments) {
            console.assert(limit >= 1 && limit <= 100, "limit should be between 1 and 100", limit);
            console.assert(limit >= (lastLimit + 1), "limits should always increase between segments");
            console.assert(limit >= 1 && limit <= 100, "limit should be between 1 and 100", limit);
            console.assert(limit >= (lastLimit + 1), "limits should always increase between segments");
            lastLimit = limit;
@/inspector/Models/LoggingChannel.js
    {
        console.assert(typeof source === "string");
        console.assert(source === WI.ConsoleMessage.MessageSource.Media || source === WI.ConsoleMessage.MessageSource.WebRTC || source === WI.ConsoleMessage.MessageSource.MediaSource);
        console.assert(typeof source === "string");
        console.assert(source === WI.ConsoleMessage.MessageSource.Media || source === WI.ConsoleMessage.MessageSource.WebRTC || source === WI.ConsoleMessage.MessageSource.MediaSource);

        console.assert(typeof level === "string");
        console.assert(Object.values(WI.LoggingChannel.Level).includes(level));
        console.assert(typeof level === "string");
        console.assert(Object.values(WI.LoggingChannel.Level).includes(level));
@/inspector/Views/MediaTimelineView.js
    {
        console.assert(timeline instanceof WI.Timeline);
        console.assert(timeline.type === WI.TimelineRecord.Type.Media);
        console.assert(timeline instanceof WI.Timeline);
        console.assert(timeline.type === WI.TimelineRecord.Type.Media);
        let mediaTimelineRecord = event.data.record;
        console.assert(mediaTimelineRecord instanceof WI.MediaTimelineRecord);
        let pathComponent = event.data.pathComponent;
        console.assert(pathComponent instanceof WI.TimelineDataGridNodePathComponent);
        let dataGridNode = pathComponent.timelineDataGridNode;
        console.assert(dataGridNode.dataGrid === this._dataGrid);
@/inspector/Views/CallFrameTreeElement.js
    {
        console.assert(callFrame instanceof WI.CallFrame);

        console.assert(this.element);
@/inspector/Views/ResourceSecurityContentView.js
    {
        console.assert(resource instanceof WI.Resource);
@/inspector/Views/View.js
    {
        console.assert(view instanceof WI.View);
        console.assert(!referenceView || referenceView instanceof WI.View);
        console.assert(view instanceof WI.View);
        console.assert(!referenceView || referenceView instanceof WI.View);
        console.assert(view !== WI.View._rootView, "Root view cannot be a subview.");
        console.assert(!referenceView || referenceView instanceof WI.View);
        console.assert(view !== WI.View._rootView, "Root view cannot be a subview.");
        if (this._subviews.includes(view)) {
            console.assert(false, "Cannot add view that is already a subview.", view);
            return;
        if (beforeIndex === -1) {
            console.assert(false, "Cannot insert view. Invalid reference view.", referenceView);
            return;

        console.assert(!view.element.parentNode || this._element.contains(view.element.parentNode), "Subview DOM element must be a descendant of the parent view element.");
        if (!view.element.parentNode)
    {
        console.assert(view instanceof WI.View);
        console.assert(this._element.contains(view.element), "Subview DOM element must be a child of the parent view element.");
        console.assert(view instanceof WI.View);
        console.assert(this._element.contains(view.element), "Subview DOM element must be a child of the parent view element.");
        if (index === -1) {
            console.assert(false, "Cannot remove view which isn't a subview.", view);
            return;
    {
        console.assert(oldView !== newView, "Cannot replace subview with itself.");
        if (oldView === newView)
    {
        console.assert(WI.View._rootView, "Cannot layout view tree without a root.");
@/inspector/Models/DOMSearchMatchObject.js
    {
        console.assert(resource instanceof WI.Resource);
        console.assert(domNode instanceof WI.DOMNode);
        console.assert(resource instanceof WI.Resource);
        console.assert(domNode instanceof WI.DOMNode);
@/inspector/Views/CircleChart.js
    {
        console.assert(!values.length || values.length === this._pathElements.length, "Should have the same number of values as segments");
@/inspector/Views/ApplicationCacheManifestTreeElement.js
    {
        console.assert(representedObject instanceof WI.ApplicationCacheManifest);
@/inspector/Models/HeapAllocationsInstrument.js

        console.assert(WI.HeapAllocationsInstrument.supported());
@/inspector/Views/AuditTestContentView.js
    {
        console.assert(representedObject instanceof WI.AuditTestBase || representedObject instanceof WI.AuditTestResultBase);
        // This class should not be instantiated directly. Create a concrete subclass instead.
        console.assert(this.constructor !== WI.AuditTestContentView && this instanceof WI.AuditTestContentView);

        console.assert(this.placeholderElement);
@/inspector/Views/ScriptProfileTimelineView.js

        console.assert(timeline.type === WI.TimelineRecord.Type.Script);
    {
        console.assert(this.representedObject instanceof WI.Timeline);
        this.representedObject.removeEventListener(null, null, this);

        console.assert(false, "Should not be reached.");
        return this._recording.topDownCallingContextTree;
@/inspector/Views/ColorPicker.js
    {
        console.assert(color instanceof WI.Color);
@/lua/ge/extensions/tech/lidarTest.lua
    end
    assert(vid >= 0, "lidarTest.lua - Failed to get a valid vehicle ID")
    -- Test that the LiDAR sensor was created and a valid unique ID number was issued.
    assert(sensorId == 0, "lidarTest.lua - Failed to create valid LiDAR sensor")
    assert(extensions.tech_sensors.doesSensorExist(sensorId) == true, "lidarTest.lua - doesSensorExist() has failed at sensor initialisation")
    assert(sensorId == 0, "lidarTest.lua - Failed to create valid LiDAR sensor")
    assert(extensions.tech_sensors.doesSensorExist(sensorId) == true, "lidarTest.lua - doesSensorExist() has failed at sensor initialisation")
      ctr = ctr + 1
      assert(s == 0, "lidarTest.lua - getActiveLidarSensors() has failed. A sensor contains the wrong ID number")
    end
    end
    assert(ctr == 1, "lidarTest.lua - getActiveLidarSensors() has failed. There is not one single LiDAR sensor.")
    -- Test the core property getters for the LiDAR sensor.
    assert(extensions.tech_sensors.getLidarIsVisualised(sensorId) == true, "lidarTest.lua - getLidarIsVisualised has failed")
    assert(extensions.tech_sensors.getLidarIsAnnotated(sensorId) == false, "lidarTest.lua - getLidarIsAnnotated has failed")
    assert(extensions.tech_sensors.getLidarIsVisualised(sensorId) == true, "lidarTest.lua - getLidarIsVisualised has failed")
    assert(extensions.tech_sensors.getLidarIsAnnotated(sensorId) == false, "lidarTest.lua - getLidarIsAnnotated has failed")
    assert(extensions.tech_sensors.getLidarSensorPosition(sensorId) == vec3(3, 0, 3), "lidarTest.lua - getLidarSensorPosition has failed")
    assert(extensions.tech_sensors.getLidarIsAnnotated(sensorId) == false, "lidarTest.lua - getLidarIsAnnotated has failed")
    assert(extensions.tech_sensors.getLidarSensorPosition(sensorId) == vec3(3, 0, 3), "lidarTest.lua - getLidarSensorPosition has failed")
    assert(extensions.tech_sensors.getLidarSensorDirection(sensorId) == vec3(0, -1, 0), "lidarTest.lua - getLidarDirectionPosition has failed")
    assert(extensions.tech_sensors.getLidarSensorPosition(sensorId) == vec3(3, 0, 3), "lidarTest.lua - getLidarSensorPosition has failed")
    assert(extensions.tech_sensors.getLidarSensorDirection(sensorId) == vec3(0, -1, 0), "lidarTest.lua - getLidarDirectionPosition has failed")
    assert(extensions.tech_sensors.getLidarVerticalResolution(sensorId) == 64, "lidarTest.lua - getLidarVerticalResolution has failed")
    assert(extensions.tech_sensors.getLidarSensorDirection(sensorId) == vec3(0, -1, 0), "lidarTest.lua - getLidarDirectionPosition has failed")
    assert(extensions.tech_sensors.getLidarVerticalResolution(sensorId) == 64, "lidarTest.lua - getLidarVerticalResolution has failed")
    assert(extensions.tech_sensors.getLidarRaysPerSecond(sensorId) == 2200000, "lidarTest.lua - getLidarRaysPerSecond has failed")
    assert(extensions.tech_sensors.getLidarVerticalResolution(sensorId) == 64, "lidarTest.lua - getLidarVerticalResolution has failed")
    assert(extensions.tech_sensors.getLidarRaysPerSecond(sensorId) == 2200000, "lidarTest.lua - getLidarRaysPerSecond has failed")
    assert(extensions.tech_sensors.getLidarFrequency(sensorId) == 20, "lidarTest.lua - getLidarFrequency has failed")
    assert(extensions.tech_sensors.getLidarRaysPerSecond(sensorId) == 2200000, "lidarTest.lua - getLidarRaysPerSecond has failed")
    assert(extensions.tech_sensors.getLidarFrequency(sensorId) == 20, "lidarTest.lua - getLidarFrequency has failed")
    assert(extensions.tech_sensors.getLidarMaxDistance(sensorId) == 120, "lidarTest.lua - getLidarMaxDistance has failed")
    assert(extensions.tech_sensors.getLidarFrequency(sensorId) == 20, "lidarTest.lua - getLidarFrequency has failed")
    assert(extensions.tech_sensors.getLidarMaxDistance(sensorId) == 120, "lidarTest.lua - getLidarMaxDistance has failed")
    extensions.tech_sensors.setLidarVerticalResolution(sensorId, 44)
    assert(extensions.tech_sensors.getLidarVerticalResolution(sensorId) == 44, "lidarTest.lua - getLidarVerticalResolution has failed after set")
    extensions.tech_sensors.setLidarRaysPerSecond(sensorId, 1500000)
    assert(extensions.tech_sensors.getLidarRaysPerSecond(sensorId) == 1500000, "lidarTest.lua - getLidarRaysPerSecond has failed after set")
    extensions.tech_sensors.setLidarFrequency(sensorId, 12)
    assert(extensions.tech_sensors.getLidarFrequency(sensorId) == 12, "lidarTest.lua - getLidarFrequency has failed after set")
    extensions.tech_sensors.setLidarMaxDistance(sensorId, 90)
    assert(extensions.tech_sensors.getLidarMaxDistance(sensorId) == 90, "lidarTest.lua - getLidarMaxDistance has failed after set")
    extensions.tech_sensors.setLidarIsVisualised(sensorId, false)
    assert(extensions.tech_sensors.getLidarIsVisualised(sensorId) == false, "lidarTest.lua - getLidarIsVisualised has failed")
    extensions.tech_sensors.setLidarIsVisualised(sensorId, true)
    extensions.tech_sensors.setLidarIsVisualised(sensorId, true)
    assert(extensions.tech_sensors.getLidarIsVisualised(sensorId) == true, "lidarTest.lua - getLidarIsVisualised has failed")
    extensions.tech_sensors.setLidarIsAnnotated(sensorId, true)
    assert(extensions.tech_sensors.getLidarIsAnnotated(sensorId) == true, "lidarTest.lua - getLidarIsAnnotated has failed")
    extensions.tech_sensors.setLidarIsAnnotated(sensorId, false)
    extensions.tech_sensors.setLidarIsAnnotated(sensorId, false)
    assert(extensions.tech_sensors.getLidarIsAnnotated(sensorId) == false, "lidarTest.lua - getLidarIsAnnotated has failed")
  end
    local lidarPointCloud = extensions.tech_sensors.getLidarPointCloud(sensorId)
    assert(lidarPointCloud ~= nil, "lidarTest.lua - Failed to get valid LiDAR point cloud data")
    local ctr = 0
    end
    assert(ctr > 0, "lidarTest.lua - Failed. There are no points in the LiDAR point cloud data.")
    extensions.tech_sensors.removeSensor(sensorId)
    assert(extensions.tech_sensors.doesSensorExist(sensorId) == false, "lidarTest.lua - doesSensorExist() has failed after removal by ID")
      true, false, false, false, false)
    assert(extensions.tech_sensors.doesSensorExist(sensorId) == true, "lidarTest.lua - doesSensorExist() has failed to create with shared memory")
    extensions.tech_sensors.removeAllSensorsFromVehicle(vid)
    assert(extensions.tech_sensors.doesSensorExist(sensorId) == false, "lidarTest.lua - doesSensorExist() has failed after removal by vid")
@/inspector/Views/TimelineOverviewGraph.js
    {
        console.assert(timeline instanceof WI.Timeline, timeline);
        console.assert(timelineOverview instanceof WI.TimelineOverview, timelineOverview);
        console.assert(timeline instanceof WI.Timeline, timeline);
        console.assert(timelineOverview instanceof WI.TimelineOverview, timelineOverview);

            console.assert(this._selectedRecordBar.records.includes(this._selectedRecord));
        }
@/inspector/Models/DefaultDashboard.js
    {
        console.assert(event.target instanceof WI.Frame);
        let delta = event.target.size - event.data.previousSize;
        console.assert(!isNaN(delta), "Resource size change should never be NaN.");
        this.resourcesSize += delta;
@/inspector/Views/SpreadsheetStyleProperty.js

        console.assert(property instanceof WI.CSSProperty);
                this._toggle();
                console.assert(this._checkboxElement.checked === this._property.enabled);
            });
            if (!this._jumpToEffectivePropertyButton && this._delegate && this._delegate.spreadsheetStylePropertySelectByProperty && WI.settings.experimentalEnableStylesJumpToEffective.value) {
                console.assert(this._property.overridingProperty, `Overridden property is missing overridingProperty: ${this._property.formattedText}`);
                if (this._property.overridingProperty) {
                    this._jumpToEffectivePropertyButton.addEventListener("click", (event) => {
                        console.assert(this._property.overridingProperty);
                        event.stop();
@/inspector/Views/BreakpointTreeElement.js
    {
        console.assert(breakpoint instanceof WI.Breakpoint);
    {
        console.assert(probeSet instanceof WI.ProbeSet);
        console.assert(probeSet.breakpoint === this._breakpoint);
        console.assert(probeSet instanceof WI.ProbeSet);
        console.assert(probeSet.breakpoint === this._breakpoint);
        console.assert(probeSet !== this._probeSet);
        console.assert(probeSet.breakpoint === this._breakpoint);
        console.assert(probeSet !== this._probeSet);
    {
        console.assert(probeSet instanceof WI.ProbeSet);
        console.assert(probeSet === this._probeSet);
        console.assert(probeSet instanceof WI.ProbeSet);
        console.assert(probeSet === this._probeSet);
    {
        console.assert(this._probeSet);
    {
        console.assert(event.target === this._breakpoint);
@/inspector/Views/ErrorObjectView.js

        console.assert(object instanceof WI.RemoteObject && object.subtype === "error", object);
            let stackProperty = properties.find((property) => property.name === "stack");
            console.assert(stackProperty);
            if (!stackProperty)
@/lua/common/luaBinding.lua
  a.strB = 'abc'
  assert(a.strB == 'abc')
  assert(pcall(function() a:callC() end) == true)
  assert(a.strB == 'abc')
  assert(pcall(function() a:callC() end) == true)

  --assert(pcall(function() tc.strC = 'test' end) == false) -- this will fail as tc is declared as const
  --assert(pcall(function() tc:callA() end) == false) -- will not work as the function is not const
  --assert(pcall(function() tc.strC = 'test' end) == false) -- this will fail as tc is declared as const
  --assert(pcall(function() tc:callA() end) == false) -- will not work as the function is not const
  --assert(pcall(function() tc:callC() end) == true) -- will work as the fucntion is declared as const: void callC() const;
  --assert(pcall(function() tc:callA() end) == false) -- will not work as the function is not const
  --assert(pcall(function() tc:callC() end) == true) -- will work as the fucntion is declared as const: void callC() const;
@/lua/ge/extensions/trackbuilder/trackBuilder.lua
    if payload~=nil then
      assert(payload.DataSize == 64)
      local texture = ffi.string(payload.Data)
    if payload~=nil then
      assert(payload.DataSize == 64)
      local textureSet = ffi.string(payload.Data)
    if payload~=nil then
      assert(payload.DataSize == 64)
      local glowMap = ffi.string(payload.Data)
@/inspector/Views/StyleOriginView.js
        case WI.CSSStyleDeclaration.Type.Rule:
            console.assert(style.ownerRule);

                console.assert(originString);
                if (originString)
@/inspector/Models/StackTrace.js
    {
        console.assert(callFrames && callFrames.every((callFrame) => callFrame instanceof WI.CallFrame));
@/inspector/Models/CallFrame.js
    {
        console.assert(target instanceof WI.Target);
        console.assert(!sourceCodeLocation || sourceCodeLocation instanceof WI.SourceCodeLocation);
        console.assert(target instanceof WI.Target);
        console.assert(!sourceCodeLocation || sourceCodeLocation instanceof WI.SourceCodeLocation);
        console.assert(!thisObject || thisObject instanceof WI.RemoteObject);
        console.assert(!sourceCodeLocation || sourceCodeLocation instanceof WI.SourceCodeLocation);
        console.assert(!thisObject || thisObject instanceof WI.RemoteObject);
        console.assert(!scopeChain || scopeChain instanceof Array);
        console.assert(!thisObject || thisObject instanceof WI.RemoteObject);
        console.assert(!scopeChain || scopeChain instanceof Array);
            if (shouldMergeClosureScopes(scope, lastScope, lastMerge)) {
                console.assert(lastScope.__baseClosureScope);
                let type = WI.ScopeChainNode.Type.Closure;
                merged.__baseClosureScope = true;
                console.assert(objects.length === 2);
    {
        console.assert(payload);
                // Treat this as native code if we were unable to find a source.
                console.assert(!url, "We should have detected source code for something with a url");
                nativeCode = true;
@/inspector/Views/ContextMenuUtilities.js
{
    console.assert(contextMenu instanceof WI.ContextMenu);
    if (!(contextMenu instanceof WI.ContextMenu))

    console.assert(sourceCode instanceof WI.SourceCode);
    if (!(sourceCode instanceof WI.SourceCode))
{
    console.assert(contextMenu instanceof WI.ContextMenu);
    if (!(contextMenu instanceof WI.ContextMenu))

    console.assert(domNode instanceof WI.DOMNode);
    if (!(domNode instanceof WI.DOMNode))
@/inspector/Views/GradientEditor.js
        const isRadial = gradient instanceof WI.RadialGradient;
        console.assert(isLinear || isRadial);
        if (!isLinear && !isRadial)
@/inspector/Models/Probe.js
    {
        console.assert(object instanceof WI.RemoteObject);

        console.assert(id);
        console.assert(breakpoint instanceof WI.Breakpoint);
        console.assert(id);
        console.assert(breakpoint instanceof WI.Breakpoint);
    {
        console.assert(sample instanceof WI.ProbeSample, "Wrong object type passed as probe sample: ", sample);
        this._samples.push(sample);
@/inspector/Views/TextNavigationItem.js

        console.assert(identifier);
@/inspector/Views/BoxModelDetailsSectionRow.js
        {
            console.assert(name === "width" || name === "height");
        var selectionRange = selection.getRangeAt(0);
        console.assert(selectionRange, "We should have a range if we are handling a key down event");
        if (!element.contains(selectionRange.commonAncestorContainer))
@/inspector/Models/SourceCodeTimeline.js

        console.assert(sourceCode);
        console.assert(!sourceCodeLocation || sourceCodeLocation.sourceCode === sourceCode);
        console.assert(sourceCode);
        console.assert(!sourceCodeLocation || sourceCodeLocation.sourceCode === sourceCode);
        console.assert(recordType);
        console.assert(!sourceCodeLocation || sourceCodeLocation.sourceCode === sourceCode);
        console.assert(recordType);
@/lua/common/libs/luasec/options.lua
  local options = {}
  local f = assert(io.open(file, "r"))
  for line in f:lines() do
@/inspector/Views/AuditTestCaseContentView.js
    {
        console.assert(representedObject instanceof WI.AuditTestCase || representedObject instanceof WI.AuditTestCaseResult);
                WI.runtimeManager.evaluateInInspectedWindow(expression, options, (nonSpecialDataRemoteObject, wasThrown) => {
                    console.assert(!wasThrown);
                    if (!nonSpecialDataRemoteObject)
@/inspector/Views/CanvasSidebarPanel.js
        let treeElement = this._recordingTreeOutline.findTreeElement(action);
        console.assert(treeElement, "Missing tree element for recording action.", action);
        if (!treeElement)

        console.assert(this._recording, "Missing recording for action tree element.", treeElement);
        this._recording[WI.CanvasSidebarPanel.SelectedActionSymbol] = treeElement.representedObject;
            let scopeBarItem = this._scopeBar.item(this._recording.displayName);
            console.assert(scopeBarItem, "Missing scopeBarItem for recording.", this._recording);
            scopeBarItem.selected = true;

        console.assert(isInitialStateAction || this._recordingTreeOutline.children.lastValue instanceof WI.FolderTreeElement, "There should be a WI.FolderTreeElement for the frame for this action.");
        this._createRecordingActionTreeElement(action, index, isInitialStateAction ? this._recordingTreeOutline : this._recordingTreeOutline.children.lastValue);
        if (!this._recording[WI.CanvasSidebarPanel.SelectedActionSymbol]) {
            console.assert(action === this._recording.actions[0]);
            this.action = this._recording.actions[0];
@/inspector/Models/TypeSet.js
    {
        console.assert(typeSet);
            bitString |= WI.TypeSet.TypeBit.Symbol;
        console.assert(bitString);
@/inspector/Models/ExecutionContextList.js
        if (context.isPageContext && this._pageExecutionContext) {
            console.assert(context.id === this._pageExecutionContext.id);
            return false;
        if (context.isPageContext) {
            console.assert(!this._pageExecutionContext);
            this._pageExecutionContext = context;
@/inspector/Models/CPUTimelineRecord.js

        console.assert(typeof timestamp === "number");
        console.assert(typeof usage === "number");
        console.assert(typeof timestamp === "number");
        console.assert(typeof usage === "number");
        console.assert(usage >= 0);
        console.assert(typeof usage === "number");
        console.assert(usage >= 0);
        console.assert(threads === undefined || Array.isArray(threads));
        console.assert(usage >= 0);
        console.assert(threads === undefined || Array.isArray(threads));
            if (thread.type === InspectorBackend.domains.CPUProfiler.ThreadInfoType.Main) {
                console.assert(!this._mainThreadUsage, "There should only be one main thread.");
                this._mainThreadUsage += thread.usage;
    {
        console.assert(startTime < this._endTime);
        this._startTime = startTime;
@/lua/common/libs/lua-websockets/websocket/sync.lua
    else
      assert(type(fin) == 'number' and fin > 0)
      bytes = fin
  end
  assert(false,'never reach here')
end
local extend = function(obj)
  assert(obj.sock_send)
  assert(obj.sock_receive)
  assert(obj.sock_send)
  assert(obj.sock_receive)
  assert(obj.sock_close)
  assert(obj.sock_receive)
  assert(obj.sock_close)

  assert(obj.is_closing == nil)
  assert(obj.receive    == nil)
  assert(obj.is_closing == nil)
  assert(obj.receive    == nil)
  assert(obj.send       == nil)
  assert(obj.receive    == nil)
  assert(obj.send       == nil)
  assert(obj.close      == nil)
  assert(obj.send       == nil)
  assert(obj.close      == nil)
  assert(obj.connect    == nil)
  assert(obj.close      == nil)
  assert(obj.connect    == nil)
  if not obj.is_server then
    assert(obj.sock_connect)
  end
@/inspector/Views/IndexedDatabaseTreeElement.js
    {
        console.assert(indexedDatabase instanceof WI.IndexedDatabase);
@/inspector/Controllers/DragToAdjustController.js

        console.assert(window.event);
        if (dragging)
@/inspector/Controllers/BreakpointPopoverController.js
    {
        console.assert(document.body.contains(breakpointDisplayElement), "Breakpoint popover display element must be in the DOM.");
        const editBreakpoint = () => {
            console.assert(!this._popover, "Breakpoint popover already exists.");
            if (this._popover)
    {
        console.assert(!this._popoverContentElement, "Popover content element already exists.");
        if (this._popoverContentElement)
    {
        console.assert(this._popover === popover);
        this._popoverContentElement = null;
@/inspector/Views/HeapSnapshotClusterContentView.js

        console.assert(heapSnapshot instanceof WI.HeapSnapshotProxy || heapSnapshot instanceof WI.HeapSnapshotDiffProxy);
    {
        console.assert(contentView);
        if (!contentView)
    {
        console.assert(contentView);
        if (!contentView)

        console.assert(contentViewToShow);
@/inspector/Views/ShaderProgramContentView.js
    {
        console.assert(shaderProgram instanceof WI.ShaderProgram);
@/inspector/Views/CPUUsageView.js
    {
        console.assert(size instanceof WI.Size);
        console.assert(min >= 0);
        console.assert(size instanceof WI.Size);
        console.assert(min >= 0);
        console.assert(max >= 0);
        console.assert(min >= 0);
        console.assert(max >= 0);
        console.assert(min <= max);
        console.assert(max >= 0);
        console.assert(min <= max);
        console.assert(min <= average && average <= max);
        console.assert(min <= max);
        console.assert(min <= average && average <= max);
        console.assert(property, "CPUUsageView needs a property of the dataPoints to graph");
        console.assert(min <= average && average <= max);
        console.assert(property, "CPUUsageView needs a property of the dataPoints to graph");
@/lua/common/libs/luamqtt/mqtt/protocol4.lua
	if args.clean ~= nil then
		assert(type(args.clean) == "boolean", "expecting .clean to be a boolean")
		if args.clean then
		-- check required args are presented
		assert(type(args.will) == "table", "expecting .will to be a table")
		assert(type(args.will.payload) == "string", "expecting .will.payload to be a string")
		assert(type(args.will) == "table", "expecting .will to be a table")
		assert(type(args.will.payload) == "string", "expecting .will.payload to be a string")
		assert(type(args.will.topic) == "string", "expecting .will.topic to be a string")
		assert(type(args.will.payload) == "string", "expecting .will.payload to be a string")
		assert(type(args.will.topic) == "string", "expecting .will.topic to be a string")
		if args.will.qos ~= nil then
		if args.will.qos ~= nil then
			assert(type(args.will.qos) == "number", "expecting .will.qos to be a number")
			assert(check_qos(args.will.qos), "expecting .will.qos to be a valid QoS value")
			assert(type(args.will.qos) == "number", "expecting .will.qos to be a number")
			assert(check_qos(args.will.qos), "expecting .will.qos to be a valid QoS value")
		end
		if args.will.retain ~= nil then
			assert(type(args.will.retain) == "boolean", "expecting .will.retain to be a boolean")
		end
	if args.username ~= nil then
		assert(type(args.username) == "string", "expecting .username to be a string")
		byte = bor(byte, lshift(1, 7))
	if args.password ~= nil then
		assert(type(args.password) == "string", "expecting .password to be a string")
		assert(args.username, "the .username is required to set .password")
		assert(type(args.password) == "string", "expecting .password to be a string")
		assert(args.username, "the .username is required to set .password")
		byte = bor(byte, lshift(1, 6))
	-- check args
	assert(type(args.id) == "string", "expecting .id to be a string with MQTT client id")
	-- DOC: 3.1.2.10 Keep Alive
	if args.keep_alive then
		assert(type(args.keep_alive) == "number")
		keep_alive_ival = args.keep_alive
		-- DOC: 3.1.3.2 Will Topic
		assert(type(args.will.topic) == "string", "expecting will.topic to be a string")
		payload:append(make_string(args.will.topic))
		-- DOC: 3.1.3.3 Will Message
		assert(args.will.payload == nil or type(args.will.payload) == "string", "expecting will.payload to be a string or nil")
		payload:append(make_string(args.will.payload or ""))
	-- check args
	assert(type(args.topic) == "string", "expecting .topic to be a string")
	if args.payload ~= nil then
	if args.payload ~= nil then
		assert(type(args.payload) == "string", "expecting .payload to be a string")
	end
	if args.qos ~= nil then
		assert(type(args.qos) == "number", "expecting .qos to be a number")
		assert(check_qos(args.qos), "expecting .qos to be a valid QoS value")
		assert(type(args.qos) == "number", "expecting .qos to be a number")
		assert(check_qos(args.qos), "expecting .qos to be a valid QoS value")
	end
	if args.retain ~= nil then
		assert(type(args.retain) == "boolean", "expecting .retain to be a boolean")
	end
	if args.dup ~= nil then
		assert(type(args.dup) == "boolean", "expecting .dup to be a boolean")
	end
	if args.qos and args.qos > 0 then
		assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
		assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
		assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
		assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
		variable_header:append(make_uint16(args.packet_id))
	-- check args
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	-- DOC: 3.4.1 Fixed header
	-- check args
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	-- DOC: 3.5.1 Fixed header
	-- check args
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	-- DOC: 3.6.1 Fixed header
	-- check args
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	-- DOC: 3.7.1 Fixed header
	-- check args
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.subscriptions) == "table", "expecting .subscriptions to be a table")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.subscriptions) == "table", "expecting .subscriptions to be a table")
	assert(#args.subscriptions > 0, "expecting .subscriptions to be a non-empty array")
	assert(type(args.subscriptions) == "table", "expecting .subscriptions to be a table")
	assert(#args.subscriptions > 0, "expecting .subscriptions to be a non-empty array")
	-- DOC: 3.8.2 Variable header
	for i, subscription in ipairs(args.subscriptions) do
		assert(type(subscription) == "table", "expecting .subscriptions["..i.."] to be a table")
		assert(type(subscription.topic) == "string", "expecting .subscriptions["..i.."].topic to be a string")
		assert(type(subscription) == "table", "expecting .subscriptions["..i.."] to be a table")
		assert(type(subscription.topic) == "string", "expecting .subscriptions["..i.."].topic to be a string")
		if subscription.qos ~= nil then
		if subscription.qos ~= nil then
			assert(type(subscription.qos) == "number", "expecting .subscriptions["..i.."].qos to be a number")
			assert(check_qos(subscription.qos), "expecting .subscriptions["..i.."].qos to be a valid QoS value")
			assert(type(subscription.qos) == "number", "expecting .subscriptions["..i.."].qos to be a number")
			assert(check_qos(subscription.qos), "expecting .subscriptions["..i.."].qos to be a valid QoS value")
		end
	-- check args
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.packet_id) == "number", "expecting .packet_id to be a number")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.subscriptions) == "table", "expecting .subscriptions to be a table")
	assert(check_packet_id(args.packet_id), "expecting .packet_id to be a valid Packet Identifier")
	assert(type(args.subscriptions) == "table", "expecting .subscriptions to be a table")
	assert(#args.subscriptions > 0, "expecting .subscriptions to be a non-empty array")
	assert(type(args.subscriptions) == "table", "expecting .subscriptions to be a table")
	assert(#args.subscriptions > 0, "expecting .subscriptions to be a non-empty array")
	-- DOC: 3.10.2 Variable header
	for i, subscription in ipairs(args.subscriptions) do
		assert(type(subscription) == "string", "expecting .subscriptions["..i.."] to be a string")
		payload:append(make_string(subscription))
function protocol4.make_packet(args)
	assert(type(args) == "table", "expecting args to be a table")
	assert(type(args.type) == "number", "expecting .type number in args")
	assert(type(args) == "table", "expecting args to be a table")
	assert(type(args.type) == "number", "expecting .type number in args")
	local ptype = args.type
@/inspector/Workers/Formatter/ESTreeWalker.js
    {
        console.assert(typeof before === "function");
        console.assert(typeof after === "function");
        console.assert(typeof before === "function");
        console.assert(typeof after === "function");
@/lua/vehicle/extensions/profiling/zone.lua
    else
      return (assert(remove(t), "empty zone stack"))
    end
@/inspector/Views/TypeTreeView.js

        console.assert(typeDescription instanceof WI.TypeDescription);
@/inspector/Views/Popover.js
    {
        console.assert(typeof resizeHandler === "function");
        this._resizeHandler = resizeHandler;

        console.assert(this._isListeningForPopoverEvents);
        this._isListeningForPopoverEvents = false;

        console.assert(area(bestMetrics.contentSize) > 0);
@/inspector/Views/BreakpointActionView.js

        console.assert(action);
        console.assert(delegate);
        console.assert(action);
        console.assert(delegate);
        default:
            console.assert(false);
            return "";
        default:
            console.assert(false);
            this._bodyElement.hidden = true;
@/inspector/Views/SourcesTabContentView.js
    {
        console.assert(breakpoint instanceof WI.Breakpoint);
@/inspector/Views/TextEditor.js
        this._ignoreCodeMirrorContentDidChangeEvent--;
        console.assert(this._ignoreCodeMirrorContentDidChangeEvent >= 0);
    }
    {
        console.assert(textRanges);
        if (!textRanges || !textRanges.length)
    {
        console.assert(position === undefined || position instanceof WI.SourceCodePosition, "revealPosition called without a SourceCodePosition");
        if (!(position instanceof WI.SourceCodePosition))
    {
        console.assert(this._breakpoints[oldLineNumber]);
        if (!this._breakpoints[oldLineNumber])

        console.assert(this._breakpoints[oldLineNumber][oldColumnNumber]);
        if (!this._breakpoints[oldLineNumber][oldColumnNumber])
        var lineHandle = this._codeMirror.getLineHandle(lineNumber);
        console.assert(lineHandle);
        if (!lineHandle)
        var lineHandle = this._codeMirror.getLineHandle(lineNumber);
        console.assert(lineHandle);
        if (!lineHandle)

        console.assert(!formatted || this.canBeFormatted());
        if (formatted && !this.canBeFormatted())
            this._ignoreCodeMirrorContentDidChangeEvent--;
            console.assert(this._ignoreCodeMirrorContentDidChangeEvent >= 0);
            if (!isNaN(this._executionLineNumber)) {
                console.assert(!isNaN(this._executionColumnNumber));
                newExecutionLocation = this._formatterSourceMap.originalToFormatted(this._executionLineNumber, this._executionColumnNumber);
            if (!isNaN(this._executionLineNumber)) {
                console.assert(!isNaN(this._executionColumnNumber));
                newExecutionLocation = this._formatterSourceMap.formattedToOriginal(this._executionLineNumber, this._executionColumnNumber);
    {
        console.assert(start);
        console.assert(end);
        console.assert(start);
        console.assert(end);
    {
        console.assert(textRange);
    {
        console.assert(this._searchResults.length);
    {
        console.assert(this._searchResults.length);
    {
        console.assert(this._currentSearchResultIndex !== -1);
        console.assert(this._searchResults.length);
        console.assert(this._currentSearchResultIndex !== -1);
        console.assert(this._searchResults.length);
    {
        console.assert(direction !== undefined);

        console.assert(updatedSearchResults.length !== this._searchResults.length);
        var columnBreakpoints = this._breakpoints[lineNumber];
        console.assert(columnBreakpoints);
        if (!columnBreakpoints)
    {
        console.assert(columnNumber in this._breakpoints[lineNumber]);
        delete this._breakpoints[lineNumber][columnNumber];
    {
        console.assert(columnBreakpointInfo);
        this._breakpoints[lineNumber] = columnBreakpointInfo;
        if (!this._codeMirror.hasLineClass(lineNumber, "wrap", WI.TextEditor.HasBreakpointStyleClassName)) {
            console.assert(!(lineNumber in this._breakpoints));

        console.assert(lineNumber in this._breakpoints);
        if (this._codeMirror.hasLineClass(lineNumber, "wrap", WI.TextEditor.MultipleBreakpointsStyleClassName)) {
            console.assert(!isEmptyObject(this._breakpoints[lineNumber]));
            return;
        // Single existing breakpoint, start tracking it for dragging.
        console.assert(Object.keys(this._breakpoints[lineNumber]).length === 1);
        var columnNumber = Object.keys(this._breakpoints[lineNumber])[0];
    {
        console.assert("_lineNumberWithMousedDownBreakpoint" in this);
        if (!("_lineNumberWithMousedDownBreakpoint" in this))
    {
        console.assert("_lineNumberWithMousedDownBreakpoint" in this);
        if (!("_lineNumberWithMousedDownBreakpoint" in this))
            // Toggle the disabled state of the breakpoint.
            console.assert(this._lineNumberWithMousedDownBreakpoint in this._breakpoints);
            console.assert(this._columnNumberWithMousedDownBreakpoint in this._breakpoints[this._lineNumberWithMousedDownBreakpoint]);
            console.assert(this._lineNumberWithMousedDownBreakpoint in this._breakpoints);
            console.assert(this._columnNumberWithMousedDownBreakpoint in this._breakpoints[this._lineNumberWithMousedDownBreakpoint]);
            if (this._lineNumberWithMousedDownBreakpoint in this._breakpoints && this._columnNumberWithMousedDownBreakpoint in this._breakpoints[this._lineNumberWithMousedDownBreakpoint] && delegateImplementsBreakpointClicked)
@/inspector/Views/SpreadsheetCSSStyleDeclarationSection.js
    {
        console.assert(style instanceof WI.CSSStyleDeclaration, style);
        let appendSelector = (selector, matched) => {
            console.assert(selector instanceof WI.CSSSelector);
        case WI.CSSStyleDeclaration.Type.Rule:
            console.assert(this._style.ownerRule);

        console.assert(this._style.ownerRule instanceof WI.CSSRule);
        console.assert(this._style.ownerRule.sourceCodeLocation instanceof WI.SourceCodeLocation);
        console.assert(this._style.ownerRule instanceof WI.CSSRule);
        console.assert(this._style.ownerRule.sourceCodeLocation instanceof WI.SourceCodeLocation);
    {
        console.assert(this._mouseDownPoint);
        if (!this._propertiesEditor.hasSelectedProperties()) {
            console.assert(!isNaN(this._mouseDownIndex));
            this._propertiesEditor.selectProperties(this._mouseDownIndex, this._mouseDownIndex);
@/inspector/Controllers/Annotator.js

        console.assert(sourceCodeTextEditor instanceof WI.SourceCodeTextEditor, sourceCodeTextEditor);
    {
        console.assert(this._isActive);
        if (!this._isActive)
@/inspector/Controllers/CSSManager.js
        default:
            console.assert(false, "Unknown CSS.StyleSheetOrigin", origin);
            return CSSAgent.StyleSheetOrigin.Regular;
        default:
            console.assert(false, "Unknown CSS.CSSMediaSource", source);
            return WI.CSSMedia.Type.MediaRule;

            console.assert(styleSheet.isInspectorStyleSheet());
            console.assert(styleSheet.parentFrame === frame);
            console.assert(styleSheet.isInspectorStyleSheet());
            console.assert(styleSheet.parentFrame === frame);
        var styleSheet = this.styleSheetForIdentifier(styleSheetIdentifier);
        console.assert(styleSheet);
    {
        console.assert(!this._styleSheetIdentifierMap.has(styleSheetInfo.styleSheetId), "Attempted to add a CSSStyleSheet but identifier was already in use");
        let styleSheet = this.styleSheetForIdentifier(styleSheetInfo.styleSheetId);
        let styleSheet = this._styleSheetIdentifierMap.get(styleSheetIdentifier);
        console.assert(styleSheet, "Attempted to remove a CSSStyleSheet that was not tracked");
        if (!styleSheet)
    {
        console.assert(event.target instanceof WI.Frame);
    {
        console.assert(event.target instanceof WI.Frame);
        var resource = event.data.resource;
        console.assert(resource);
    {
        console.assert(event.target instanceof WI.Resource);
    {
        console.assert(frame instanceof WI.Frame);
    {
        console.assert(typeof callback === "function");

                console.assert(styleSheet);
                if (!styleSheet)
    {
        console.assert(styleSheet);

            console.assert(representedObject.url);
            if (!representedObject.url)
@/inspector/Models/CSSRule.js

        console.assert(nodeStyles);
        this._nodeStyles = nodeStyles;
    {
        console.assert(this.editable);
        if (!this.editable)
@/inspector/Views/SourceCodeTreeElement.js
    {
        console.assert(sourceCode instanceof WI.SourceCode);
        {
            console.assert(topFolder.children.length === 1);

        console.assert(this.hasChildren);
    {
        console.assert(sourceCode instanceof WI.SourceCode);
@/inspector/Test/FrontendTestHarness.js
    {
        console.assert(!this._testPageIsReloading);
        console.assert(!this._testPageReloadedOnce);
        console.assert(!this._testPageIsReloading);
        console.assert(!this._testPageReloadedOnce);
    {
        console.assert(!this._originalRequestAnimationFrame);
        if (this._originalRequestAnimationFrame)
    {
        console.assert(this._shouldResendResults);
        this._shouldResendResults = false;
@/inspector/Views/RecordingStateDetailsSidebarPanel.js
    {
        console.assert(!action || action instanceof WI.RecordingAction);
        if (!this._recording || action === this._action)
        let currentState = action.states.lastValue;
        console.assert(currentState);
        if (!currentState)
@/lua/common/libs/lua-websockets/websocket/server_ev.lua
local client = function(sock,protocol)
  assert(sock)
  sock:setoption('tcp-nodelay',true)
      self.state = 'CLOSING'
      assert(message_io)
      timeout = timeout or 3
local listen = function(opts)
  assert(opts and (opts.protocols or opts.default))
  ev = require'ev'
      client_sock:settimeout(0)
      assert(client_sock)
      local request = {}
              else
                assert(sent < len)
                index = sent
@/lua/common/libs/lua-websockets/websocket/server_copas.lua
  local copas = require('libs/copas/copas')
  assert(opts and (opts.protocols or opts.default))
  local on_error = opts.on_error or function(s) print(s) end
@/inspector/Views/Toolbar.js

        console.assert(sectionElement);
@/inspector/Models/ObjectPreview.js
    {
        console.assert(type);
        console.assert(typeof lossless === "boolean");
        console.assert(type);
        console.assert(typeof lossless === "boolean");
        console.assert(!properties || !properties.length || properties[0] instanceof WI.PropertyPreview);
        console.assert(typeof lossless === "boolean");
        console.assert(!properties || !properties.length || properties[0] instanceof WI.PropertyPreview);
        console.assert(!entries || !entries.length || entries[0] instanceof WI.CollectionEntryPreview);
        console.assert(!properties || !properties.length || properties[0] instanceof WI.PropertyPreview);
        console.assert(!entries || !entries.length || entries[0] instanceof WI.CollectionEntryPreview);
@/inspector/Views/ButtonNavigationItem.js

        console.assert(identifier);
        console.assert(toolTipOrLabel);
        console.assert(identifier);
        console.assert(toolTipOrLabel);
@/inspector/Views/DebuggerSidebarPanel.js
    {
        console.assert(cookie);
    {
        console.assert(cookie);
        let getDOMNodeTreeElement = (domNode) => {
            console.assert(domNode, "Missing DOMNode for identifier", breakpoint.domNodeIdentifier);
            if (!domNode)
    {
        console.assert(treeElement instanceof WI.ResourceTreeElement || treeElement instanceof WI.ScriptTreeElement);
        if (!(treeElement instanceof WI.ResourceTreeElement) && !(treeElement instanceof WI.ScriptTreeElement))
        for (var i = 0; i < breakpointTreeElements.length; ++i) {
            console.assert(breakpointTreeElements[i] instanceof WI.BreakpointTreeElement);
            console.assert(breakpointTreeElements[i].breakpoint);
            console.assert(breakpointTreeElements[i] instanceof WI.BreakpointTreeElement);
            console.assert(breakpointTreeElements[i].breakpoint);
            var breakpoint = breakpointTreeElements[i].breakpoint;
    {
        console.assert(treeElement.selected);

        console.assert(treeElement instanceof WI.ResourceTreeElement || treeElement instanceof WI.ScriptTreeElement);
        if (!(treeElement instanceof WI.ResourceTreeElement) && !(treeElement instanceof WI.ScriptTreeElement))

        console.assert(treeElement.parent.representedObject instanceof WI.SourceCode);
        if (!(treeElement.parent.representedObject instanceof WI.SourceCode))
        case WI.DebuggerManager.PauseReason.AnimationFrame:
            console.assert(pauseData, "Expected data with an animation frame, but found none.");
            if (!pauseData)
            var eventBreakpoint = WI.domDebuggerManager.eventBreakpointForTypeAndEventName(WI.EventBreakpoint.Type.AnimationFrame, pauseData.eventName);
            console.assert(eventBreakpoint, "Expected AnimationFrame breakpoint for event name.", pauseData.eventName);
            if (!eventBreakpoint)
            // FIXME: We should include the assertion condition string.
            console.assert(pauseData, "Expected data with an assertion, but found none.");
            if (pauseData && pauseData.message) {
        case WI.DebuggerManager.PauseReason.Breakpoint:
            console.assert(pauseData, "Expected breakpoint identifier, but found none.");
            if (pauseData && pauseData.breakpointId) {
        case WI.DebuggerManager.PauseReason.CSPViolation:
            console.assert(pauseData, "Expected data with a CSP Violation, but found none.");
            if (pauseData) {
        case WI.DebuggerManager.PauseReason.DOM:
            console.assert(WI.domDebuggerManager.supported);
            console.assert(pauseData, "Expected DOM breakpoint data, but found none.");
            console.assert(WI.domDebuggerManager.supported);
            console.assert(pauseData, "Expected DOM breakpoint data, but found none.");
            if (pauseData && pauseData.nodeId) {

                console.assert(pauseData.targetNode);
                    let node = WI.domManager.nodeForId(nodeId);
                    console.assert(node, "Missing node for id.", nodeId);
                    if (!node)
        case WI.DebuggerManager.PauseReason.EventListener:
            console.assert(pauseData, "Expected data with an event listener, but found none.");
            if (!pauseData)

            console.assert(eventBreakpoint, "Expected Event Listener breakpoint for event name.", pauseData.eventName);
            if (!eventBreakpoint)
            if (eventListener) {
                console.assert(eventListener.eventListenerId === pauseData.eventListenerId);
        case WI.DebuggerManager.PauseReason.Exception:
            console.assert(pauseData, "Expected data with an exception, but found none.");
            if (pauseData) {
        case WI.DebuggerManager.PauseReason.Timer:
            console.assert(pauseData, "Expected data with a timer, but found none.");
            if (!pauseData)
            var eventBreakpoint = WI.domDebuggerManager.eventBreakpointForTypeAndEventName(WI.EventBreakpoint.Type.Timer, pauseData.eventName);
            console.assert(eventBreakpoint, "Expected Timer breakpoint for event name.", pauseData.eventName);
            if (!eventBreakpoint)
        case WI.DebuggerManager.PauseReason.XHR:
            console.assert(WI.domDebuggerManager.supported);
            console.assert(pauseData, "Expected URL breakpoint data, but found none.");
            console.assert(WI.domDebuggerManager.supported);
            console.assert(pauseData, "Expected URL breakpoint data, but found none.");
            if (pauseData) {
                    let urlBreakpoint = WI.domDebuggerManager.urlBreakpointForURL(pauseData.breakpointURL);
                    console.assert(urlBreakpoint, "Expected URL breakpoint for URL.", pauseData.breakpointURL);
                } else {
                    console.assert(pauseData.breakpointURL === "", "Should be the All Requests breakpoint which has an empty URL");
                    this._pauseReasonTextRow.text = WI.UIString("Requesting: %s").format(pauseData.url);
@/inspector/Views/EventListenerSectionGroup.js

        console.assert();
        return "";
@/inspector/Models/Layer.js
    {
        console.assert(typeof bounds === "object");
@/inspector/Views/AuditTreeElement.js
        let isTestGroupResult = representedObject instanceof WI.AuditTestGroupResult;
        console.assert(isTestCase || isTestGroup || isTestCaseResult || isTestGroupResult);
    {
        console.assert(this.expanded);
    {
        console.assert(!this.expanded);
@/inspector/Views/InlineSwatch.js
                let nextFormat = this._value.nextFormat();
                console.assert(nextFormat);
                if (nextFormat) {
@/inspector/Views/NavigationBar.js
    {
        console.assert(navigationItem instanceof WI.NavigationItem);
        if (!(navigationItem instanceof WI.NavigationItem))

        console.assert(index >= 0 && index <= this._navigationItems.length);
        index = Math.max(0, Math.min(index, this._navigationItems.length));
    {
        console.assert(navigationItem instanceof WI.NavigationItem);
        if (!(navigationItem instanceof WI.NavigationItem))

        console.assert(navigationItem._parentNavigationBar === this, "Cannot remove item with unexpected parent bar.", navigationItem);
        if (navigationItem._parentNavigationBar !== this)
        let navigationItemHasOtherParent = navigationItem && navigationItem.parentNavigationBar !== this;
        console.assert(!navigationItemHasOtherParent, "Cannot select item with unexpected parent bar.", navigationItem);
        if (navigationItemHasOtherParent)
    {
        console.assert(event.button === 0);
        console.assert(this._mouseIsDown);
        console.assert(event.button === 0);
        console.assert(this._mouseIsDown);
        if (!this._mouseIsDown)
    {
        console.assert(event.button === 0);
        console.assert(this._mouseIsDown);
        console.assert(event.button === 0);
        console.assert(this._mouseIsDown);
        if (!this._mouseIsDown)
@/inspector/Views/MemoryCategoryView.js
    {
        console.assert(typeof category === "string");
    {
        console.assert(size instanceof WI.Size);
        console.assert(min >= 0);
        console.assert(size instanceof WI.Size);
        console.assert(min >= 0);
        console.assert(max >= 0);
        console.assert(min >= 0);
        console.assert(max >= 0);
        console.assert(min <= max);
        console.assert(max >= 0);
        console.assert(min <= max);
@/inspector/Views/Table.js

        console.assert(typeof identifier === "string");
        console.assert(dataSource);
        console.assert(typeof identifier === "string");
        console.assert(dataSource);
        console.assert(delegate);
        console.assert(dataSource);
        console.assert(delegate);
        console.assert(rowHeight > 0);
        console.assert(delegate);
        console.assert(rowHeight > 0);

        console.assert(this._dataSource.tableNumberOfRows, "Table data source must implement tableNumberOfRows.");
        console.assert(this._dataSource.tableIndexForRepresentedObject, "Table data source must implement tableIndexForRepresentedObject.");
        console.assert(this._dataSource.tableNumberOfRows, "Table data source must implement tableNumberOfRows.");
        console.assert(this._dataSource.tableIndexForRepresentedObject, "Table data source must implement tableIndexForRepresentedObject.");
        console.assert(this._dataSource.tableRepresentedObjectForIndex, "Table data source must implement tableRepresentedObjectForIndex.");
        console.assert(this._dataSource.tableIndexForRepresentedObject, "Table data source must implement tableIndexForRepresentedObject.");
        console.assert(this._dataSource.tableRepresentedObjectForIndex, "Table data source must implement tableRepresentedObjectForIndex.");

        console.assert(this._delegate.tablePopulateCell, "Table delegate must implement tablePopulateCell.");
    }

        console.assert(sortOrder === WI.Table.SortOrder.Indeterminate || sortOrder === WI.Table.SortOrder.Ascending || sortOrder === WI.Table.SortOrder.Descending);

        console.assert(column, "Column not found.", columnIdentifier);
        if (!column)

        console.assert(column.sortable, "Column is not sortable.", columnIdentifier);
        if (!column.sortable)
    {
        console.assert(rowIndex >= 0 && rowIndex < this.numberOfRows);
    {
        console.assert(rowIndex >= 0 && rowIndex < this.numberOfRows);
        if (rowIndex < 0 || rowIndex >= this.numberOfRows)
            let row = this._cachedRows.get(rowIndex);
            console.assert(row, "Visible rows should always be in the cache.");
            if (row) {
    {
        console.assert(this._columnSpecs.get(column.identifier) === column, "Column not in this table.");
        console.assert(!column.locked, "Locked columns should always be shown.");
        console.assert(this._columnSpecs.get(column.identifier) === column, "Column not in this table.");
        console.assert(!column.locked, "Locked columns should always be shown.");
        if (column.locked)
    {
        console.assert(this._columnSpecs.get(column.identifier) === column, "Column not in this table.");
        console.assert(!column.locked, "Locked columns should always be shown.");
        console.assert(this._columnSpecs.get(column.identifier) === column, "Column not in this table.");
        console.assert(!column.locked, "Locked columns should always be shown.");
        if (column.locked)

        console.assert(column.hideable, "Column is not hideable so should always be shown.");
        if (!column.hideable)
        let index = this._indexForRepresentedObject(item);
        console.assert(index >= 0 && index < this.numberOfRows);
        let index = this._indexForRepresentedObject(item);
        console.assert(index >= 0 && index < this.numberOfRows);
    {
        console.assert(!this._currentResizer, resizer, this._currentResizer);
    {
        console.assert(resizer === this._currentResizer, resizer, this._currentResizer);
        if (resizer !== this._currentResizer)
    {
        console.assert(resizer === this._currentResizer, resizer, this._currentResizer);
        if (resizer !== this._currentResizer)
    {
        console.assert(rowIndex !== undefined, "Tried to populate a row that did not know its index. Is this the filler row?");

            console.assert(!remainder, "Should not have undistributed pixels.");
        }
                        let column = this._visibleColumns[i];
                        console.assert(column.flexible, "Non-flexible columns should have been sized earlier", column);
            // Resize: Distribute pixels evenly across flex columns.
            console.assert(this._columnWidths.length === this._visibleColumns.length, "Number of columns should not change in a resize.");
    {
        console.assert(this._visibleColumns.length === this._columnWidths.length);
@/inspector/Views/RenderingFrameTimelineView.js

        console.assert(WI.TimelineRecord.Type.RenderingFrame);
    {
        console.assert(this.representedObject instanceof WI.Timeline);
        this.representedObject.removeEventListener(null, null, this);
        while (dataGridNode && !dataGridNode.root) {
            console.assert(dataGridNode instanceof WI.TimelineDataGridNode);
            if (dataGridNode.hidden)
        let dataGridNode = event.data.pathComponent.timelineDataGridNode;
        console.assert(dataGridNode.dataGrid === this._dataGrid);

        console.assert(node instanceof WI.TimelineDataGridNode);
        console.assert(this._scopeBar.selectedItems.length === 1);
        console.assert(node instanceof WI.TimelineDataGridNode);
        console.assert(this._scopeBar.selectedItems.length === 1);
        let selectedScopeBarItem = this._scopeBar.selectedItems[0];

        console.assert(node, "Cannot apply duration filter: no RenderingFrameTimelineRecord found.");
        if (!node)
        for (let renderingFrameTimelineRecord of this._pendingRecords) {
            console.assert(renderingFrameTimelineRecord instanceof WI.RenderingFrameTimelineRecord);
        let renderingFrameTimelineRecord = event.data.record;
        console.assert(renderingFrameTimelineRecord instanceof WI.RenderingFrameTimelineRecord);
        console.assert(renderingFrameTimelineRecord.children.length, "Missing child records for rendering frame.");
        console.assert(renderingFrameTimelineRecord instanceof WI.RenderingFrameTimelineRecord);
        console.assert(renderingFrameTimelineRecord.children.length, "Missing child records for rendering frame.");
@/lua/ge/extensions/editor/dynamicDecals/widgets.lua
    if payload~=nil then
      assert(payload.DataSize == 256)
      local path = ffi.string(payload.Data)