<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[180356] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/180356">180356</a></dd>
<dt>Author</dt> <dd>joepeck@webkit.org</dd>
<dt>Date</dt> <dd>2015-02-19 12:25:04 -0800 (Thu, 19 Feb 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Web Inspector: Create Separate Model and View Objects for RemoteObjects / ObjectPreview / PropertyDescriptor
https://bugs.webkit.org/show_bug.cgi?id=141696

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

* UserInterface/Main.html:
Add new files.

* UserInterface/Models/CollectionEntry.js: Added.
(WebInspector.CollectionEntry):
(WebInspector.CollectionEntry.fromPayload):
(WebInspector.CollectionEntry.prototype.get key):
(WebInspector.CollectionEntry.prototype.get value):
* UserInterface/Models/CollectionEntryPreview.js: Added.
(WebInspector.CollectionEntryPreview):
(WebInspector.CollectionEntryPreview.fromPayload):
(WebInspector.CollectionEntryPreview.prototype.get keyPreview):
(WebInspector.CollectionEntryPreview.prototype.get valuePreview):
* UserInterface/Models/ObjectPreview.js: Added.
(WebInspector.ObjectPreview):
(WebInspector.ObjectPreview.fromPayload):
(WebInspector.ObjectPreview.prototype.get type):
(WebInspector.ObjectPreview.prototype.get subtype):
(WebInspector.ObjectPreview.prototype.get description):
(WebInspector.ObjectPreview.prototype.get lossless):
(WebInspector.ObjectPreview.prototype.get overflow):
(WebInspector.ObjectPreview.prototype.get properties):
(WebInspector.ObjectPreview.prototype.get entries):
* UserInterface/Models/PropertyPreview.js: Added.
(WebInspector.PropertyPreview):
(WebInspector.PropertyPreview.fromPayload):
(WebInspector.PropertyPreview.prototype.get name):
(WebInspector.PropertyPreview.prototype.get type):
(WebInspector.PropertyPreview.prototype.get subtype):
(WebInspector.PropertyPreview.prototype.get value):
(WebInspector.PropertyPreview.prototype.get valuePreview):
* UserInterface/Models/PropertyDescriptor.js: Added.
(WebInspector.PropertyDescriptor.fromPayload):
(WebInspector.PropertyDescriptor.prototype.get name):
(WebInspector.PropertyDescriptor.prototype.get value):
(WebInspector.PropertyDescriptor.prototype.get writable):
(WebInspector.PropertyDescriptor.prototype.get configurable):
(WebInspector.PropertyDescriptor.prototype.get enumerable):
(WebInspector.PropertyDescriptor.prototype.get isOwnProperty):
(WebInspector.PropertyDescriptor.prototype.get wasThrown):
(WebInspector.PropertyDescriptor.prototype.get isInternalProperty):
(WebInspector.PropertyDescriptor.prototype.hasValue):
(WebInspector.PropertyDescriptor.prototype.hasGetter):
(WebInspector.PropertyDescriptor.prototype.hasSetter):
New Model objects for different Protocol types.
The only customizations right now are compatibility modifications
and PropertyDescriptor's &quot;hasValue&quot;, &quot;hasGetter&quot;, and &quot;hasSetter&quot;
functions to return reliable checks based on the descriptors contents.

* UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.resolveNode):
(WebInspector.RemoteObject.prototype.get value):
(WebInspector.RemoteObject.prototype._isSymbol):
(WebInspector.RemoteObject.prototype.isCollectionType):
(WebInspector.RemoteObject.prototype.isWeakCollection):
(WebInspector.RemoteObject.prototype.getCollectionEntries):
(WebInspector.RemoteObject.prototype.arrayLength):
Clean up the existing code to enforce more checks and use our
style of member variables and public accessors.

(WebInspector.RemoteObject.prototype.getOwnPropertyDescriptors):
(WebInspector.RemoteObject.prototype.getOwnAndGetterPropertyDescriptors):
(WebInspector.RemoteObject.prototype.getAllPropertyDescriptors):
(WebInspector.RemoteObject.prototype.callback):
Provide a new way of getting properties that returns Model objects
instead of raw protocol types.

* UserInterface/Views/ConsoleMessageImpl.js:
(WebInspector.ConsoleMessageImpl.prototype._format):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype._propertyPreviewElement):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
(WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
Always include a preview when possible. Now, when forced to be an object,
force expansion even if the preview is lossless.

(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
Use an ObjectTreeView instead of ObjectPropertiesSection.

(WebInspector.ConsoleMessageImpl.prototype._appendPreview): Deleted.
(WebInspector.ConsoleMessageImpl.prototype._appendEntryPreviews): Deleted.
(WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews): Deleted.
(WebInspector.ConsoleMessageImpl.prototype._appendValuePreview): Deleted.
This code is moved into ObjectPreviewView.

* UserInterface/Views/ObjectPropertiesSection.js:
(WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand.callback):
(WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand):
These types are now converted to Model types in Model objects, so do not do it here.

* UserInterface/Views/ObjectPreviewView.css: Added.
(.object-preview):
(.object-preview.lossless):
(.object-preview .name):
* UserInterface/Views/ObjectPreviewView.js: Added.
(WebInspector.ObjectPreviewView):
(WebInspector.ObjectPreviewView.prototype.get preview):
(WebInspector.ObjectPreviewView.prototype.get element):
(WebInspector.ObjectPreviewView.prototype.get mode):
(WebInspector.ObjectPreviewView.prototype.get lossless):
(WebInspector.ObjectPreviewView.prototype._numberOfPropertiesToShowInMode):
(WebInspector.ObjectPreviewView.prototype._appendPreview):
(WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
(WebInspector.ObjectPreviewView.prototype._appendValuePreview):
(WebInspector.ObjectPreviewView.prototype._formattedObjectElementForPreview):
An ObjectPreviewView can create a full/brief view given a ObjectPreview.
The view will contain formatted values everywhere possible.

* UserInterface/Views/ObjectTreePropertyTreeElement.js: Added.
(WebInspector.ObjectTreePropertyTreeElement):
(WebInspector.ObjectTreePropertyTreeElement.prototype.get property):
(WebInspector.ObjectTreePropertyTreeElement.prototype.onpopulate):
(WebInspector.ObjectTreePropertyTreeElement.prototype.onattach):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitlePropertyStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAPIStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._descriptionString):
(WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
(WebInspector.ObjectTreePropertyTreeElement.prototype.mode):
(WebInspector.ObjectTreePropertyTreeElement.prototype):
* UserInterface/Views/ObjectTreeView.js: Added.
(WebInspector.ObjectTreeView):
(WebInspector.ObjectTreeView.classNameForObject):
(WebInspector.ObjectTreeView.ComparePropertyDescriptors):
(WebInspector.ObjectTreeView.prototype.get object):
(WebInspector.ObjectTreeView.prototype.get element):
(WebInspector.ObjectTreeView.prototype.get expanded):
(WebInspector.ObjectTreeView.prototype.expand):
(WebInspector.ObjectTreeView.prototype.collapse):
(WebInspector.ObjectTreeView.prototype.update):
(WebInspector.ObjectTreeView.prototype._updateProperties):
(WebInspector.ObjectTreeView.prototype._handlePreviewOrTitleElementClick):
Re-implementation of ObjectPropertiesSection for our Model objects
without &quot;Section&quot; semantics / dependencies. An ObjectTree will creates
an expandable tree for a RemoteObject. The top level clickable item
will be an ObjectPreview if possible, otherwise just a title element.

* UserInterface/Views/ObjectTreeView.css: Added.
(.object-tree):
(.object-tree &gt; .title):
(.object-tree &gt; :matches(.title, .object-preview)::before):
(.object-tree.expanded &gt; :matches(.title, .object-preview)::before):
(.object-tree.lossless-preview &gt; :matches(.title, .object-preview)::before):
(.object-tree-outline):
(.object-tree.expanded &gt; .object-tree-outline):
(.object-tree-outline li):
(.object-tree-outline li.parent):
(.object-tree-outline li.parent::before):
(.object-tree-outline li.parent.expanded::before):
(.object-tree-outline ol):
(.object-tree-outline ol.expanded):
(.object-tree-outline li .empty-message):
(.object-tree-property .name):
(.object-tree-property .name.not-enumerable):
(.object-tree-property .value.error):
(.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap):
(.formatted-number):
(.formatted-string, .formatted-regexp):
(.formatted-string):
(.formatted-regexp):
(.formatted-symbol):
(.formatted-null, .formatted-undefined):
(.console-group-messages .object-tree:not(.lossless-preview)):
(.console-group-messages .object-tree:not(.lossless-preview) &gt; :matches(.title, .object-preview)):
(.console-group-messages .object-tree:not(.lossless-preview) &gt; :matches(.title, .object-preview)::before):
(.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree):
(.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree-outline):
All styles for ObjectTree / ObjectPreview. Independent from
other styles in the inspector. Most of this is a copy of
the styles applied to ObjectPropertiesSection, renamed.

* UserInterface/Views/ObjectTreeCollectionTreeElement.js: Added.
(WebInspector.ObjectTreeCollectionTreeElement):
(WebInspector.ObjectTreeCollectionTreeElement.propertyDescriptorForEntry):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.get remoteObject):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.onexpand.callback):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.onexpand):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.oncollapse):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.ondetach):
(WebInspector.ObjectTreeCollectionTreeElement.prototype._trackWeakEntries):
(WebInspector.ObjectTreeCollectionTreeElement.prototype._untrackWeakEntries):
(WebInspector.ObjectTreeCollectionEntryTreeElement):
(WebInspector.ObjectTreeCollectionEntryTreeElement.prototype.onpopulate):
(WebInspector.ObjectTreeCollectionEntryTreeElement.prototype.onattach):
(WebInspector.ObjectTreeEmptyCollectionTreeElement):
Essentially a copy of ObjectPropertiesSection Collection handling using
the ObjectTree class names.

* UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
Fix prototype typo.

LayoutTests:

* inspector/model/remote-object-expected.txt:
* inspector/model/remote-object-get-properties-expected.txt:
* inspector/model/remote-object-get-properties.html:
* inspector/model/remote-object-weak-collection-expected.txt:
* inspector/model/remote-object-weak-collection.html:
Update tests and results to use our Model objects and not
raw protocol types.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsinspectormodelremoteobjectexpectedtxt">trunk/LayoutTests/inspector/model/remote-object-expected.txt</a></li>
<li><a href="#trunkLayoutTestsinspectormodelremoteobjectgetpropertiesexpectedtxt">trunk/LayoutTests/inspector/model/remote-object-get-properties-expected.txt</a></li>
<li><a href="#trunkLayoutTestsinspectormodelremoteobjectgetpropertieshtml">trunk/LayoutTests/inspector/model/remote-object-get-properties.html</a></li>
<li><a href="#trunkLayoutTestsinspectormodelremoteobjectweakcollectionexpectedtxt">trunk/LayoutTests/inspector/model/remote-object-weak-collection-expected.txt</a></li>
<li><a href="#trunkLayoutTestsinspectormodelremoteobjectweakcollectionhtml">trunk/LayoutTests/inspector/model/remote-object-weak-collection.html</a></li>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceMainhtml">trunk/Source/WebInspectorUI/UserInterface/Main.html</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceProtocolRemoteObjectjs">trunk/Source/WebInspectorUI/UserInterface/Protocol/RemoteObject.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceTesthtml">trunk/Source/WebInspectorUI/UserInterface/Test.html</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsConsoleMessageImpljs">trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageImpl.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsObjectPropertiesSectionjs">trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPropertiesSection.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsTreeOutlineDataGridSynchronizerjs">trunk/Source/WebInspectorUI/UserInterface/Views/TreeOutlineDataGridSynchronizer.js</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsCollectionEntryjs">trunk/Source/WebInspectorUI/UserInterface/Models/CollectionEntry.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsCollectionEntryPreviewjs">trunk/Source/WebInspectorUI/UserInterface/Models/CollectionEntryPreview.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsObjectPreviewjs">trunk/Source/WebInspectorUI/UserInterface/Models/ObjectPreview.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsPropertyDescriptorjs">trunk/Source/WebInspectorUI/UserInterface/Models/PropertyDescriptor.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsPropertyPreviewjs">trunk/Source/WebInspectorUI/UserInterface/Models/PropertyPreview.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsObjectPreviewViewcss">trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPreviewView.css</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsObjectPreviewViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPreviewView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsObjectTreeCollectionTreeElementjs">trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeCollectionTreeElement.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsObjectTreePropertyTreeElementjs">trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsObjectTreeViewcss">trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeView.css</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsObjectTreeViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeView.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/LayoutTests/ChangeLog        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-02-19  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
+        Web Inspector: Create Separate Model and View Objects for RemoteObjects / ObjectPreview / PropertyDescriptor
+        https://bugs.webkit.org/show_bug.cgi?id=141696
+
+        Reviewed by Timothy Hatcher.
+
+        * inspector/model/remote-object-expected.txt:
+        * inspector/model/remote-object-get-properties-expected.txt:
+        * inspector/model/remote-object-get-properties.html:
+        * inspector/model/remote-object-weak-collection-expected.txt:
+        * inspector/model/remote-object-weak-collection.html:
+        Update tests and results to use our Model objects and not
+        raw protocol types.
+
</ins><span class="cx"> 2015-02-19  Brent Fulgham  &lt;bfulgham@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Win] Disable media tests due to bot failures.
</span></span></pre></div>
<a id="trunkLayoutTestsinspectormodelremoteobjectexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/inspector/model/remote-object-expected.txt (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector/model/remote-object-expected.txt        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/LayoutTests/inspector/model/remote-object-expected.txt        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -5,7 +5,7 @@
</span><span class="cx">   &quot;_type&quot;: &quot;object&quot;,
</span><span class="cx">   &quot;_subtype&quot;: &quot;null&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;null&quot;,
</span><del>-  &quot;value&quot;: null
</del><ins>+  &quot;_value&quot;: null
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;boolean&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;true&quot;,
</span><del>-  &quot;value&quot;: true
</del><ins>+  &quot;_value&quot;: true
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;boolean&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;false&quot;,
</span><del>-  &quot;value&quot;: false
</del><ins>+  &quot;_value&quot;: false
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;number&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;0&quot;,
</span><del>-  &quot;value&quot;: 0
</del><ins>+  &quot;_value&quot;: 0
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;number&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;0&quot;,
</span><del>-  &quot;value&quot;: 0
</del><ins>+  &quot;_value&quot;: 0
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;number&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;1&quot;,
</span><del>-  &quot;value&quot;: 1
</del><ins>+  &quot;_value&quot;: 1
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;number&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;-1&quot;,
</span><del>-  &quot;value&quot;: -1
</del><ins>+  &quot;_value&quot;: -1
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;number&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;1.234&quot;,
</span><del>-  &quot;value&quot;: 1.234
</del><ins>+  &quot;_value&quot;: 1.234
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;number&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;-1.234&quot;,
</span><del>-  &quot;value&quot;: -1.234
</del><ins>+  &quot;_value&quot;: -1.234
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;number&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;1000&quot;,
</span><del>-  &quot;value&quot;: 1000
</del><ins>+  &quot;_value&quot;: 1000
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;number&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;1.7976931348623157e+308&quot;,
</span><del>-  &quot;value&quot;: 1.7976931348623157e+308
</del><ins>+  &quot;_value&quot;: 1.7976931348623157e+308
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -116,7 +116,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;number&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;5e-324&quot;,
</span><del>-  &quot;value&quot;: 5e-324
</del><ins>+  &quot;_value&quot;: 5e-324
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;number&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;NaN&quot;,
</span><del>-  &quot;value&quot;: null
</del><ins>+  &quot;_value&quot;: null
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;number&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Infinity&quot;,
</span><del>-  &quot;value&quot;: null
</del><ins>+  &quot;_value&quot;: null
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -140,7 +140,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;string&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;&quot;,
</span><del>-  &quot;value&quot;: &quot;&quot;
</del><ins>+  &quot;_value&quot;: &quot;&quot;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -148,7 +148,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;string&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;\&quot;&quot;,
</span><del>-  &quot;value&quot;: &quot;\&quot;&quot;
</del><ins>+  &quot;_value&quot;: &quot;\&quot;&quot;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;string&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;'&quot;,
</span><del>-  &quot;value&quot;: &quot;'&quot;
</del><ins>+  &quot;_value&quot;: &quot;'&quot;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -164,7 +164,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;string&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;string&quot;,
</span><del>-  &quot;value&quot;: &quot;string&quot;
</del><ins>+  &quot;_value&quot;: &quot;string&quot;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;string&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Unicode…&quot;,
</span><del>-  &quot;value&quot;: &quot;Unicode…&quot;
</del><ins>+  &quot;_value&quot;: &quot;Unicode…&quot;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -180,7 +180,7 @@
</span><span class="cx"> {
</span><span class="cx">   &quot;_type&quot;: &quot;string&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;I wish I had something to put here.&quot;,
</span><del>-  &quot;value&quot;: &quot;I wish I had something to put here.&quot;
</del><ins>+  &quot;_value&quot;: &quot;I wish I had something to put here.&quot;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -----------------------------------------------------
</span><span class="lines">@@ -255,38 +255,39 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;/ /&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;/ /&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;regexp&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;regexp&quot;,
+    &quot;_description&quot;: &quot;/ /&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;lastIndex&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;lastIndex&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;global&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;global&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;ignoreCase&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;ignoreCase&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;multiline&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;multiline&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;source&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot; &quot;
</del><ins>+        &quot;_name&quot;: &quot;source&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot; &quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -298,38 +299,39 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;/(?:)/&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;/(?:)/&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;regexp&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;regexp&quot;,
+    &quot;_description&quot;: &quot;/(?:)/&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;lastIndex&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;lastIndex&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;global&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;global&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;ignoreCase&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;ignoreCase&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;multiline&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;multiline&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;source&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;(?:)&quot;
</del><ins>+        &quot;_name&quot;: &quot;source&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;(?:)&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -341,38 +343,39 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;/^r(e)g[e]{1,}x+/&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;/^r(e)g[e]{1,}x+/&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;regexp&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;regexp&quot;,
+    &quot;_description&quot;: &quot;/^r(e)g[e]{1,}x+/&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;lastIndex&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;lastIndex&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;global&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;global&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;ignoreCase&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;ignoreCase&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;multiline&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;multiline&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;source&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;^r(e)g[e]{1,}x+&quot;
</del><ins>+        &quot;_name&quot;: &quot;source&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;^r(e)g[e]{1,}x+&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -384,38 +387,39 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;/^r(e)g[e]{1,}x+/gi&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;/^r(e)g[e]{1,}x+/gi&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;regexp&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;regexp&quot;,
+    &quot;_description&quot;: &quot;/^r(e)g[e]{1,}x+/gi&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;lastIndex&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;lastIndex&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;global&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;true&quot;
</del><ins>+        &quot;_name&quot;: &quot;global&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;true&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;ignoreCase&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;true&quot;
</del><ins>+        &quot;_name&quot;: &quot;ignoreCase&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;true&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;multiline&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;multiline&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;source&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;^r(e)g[e]{1,}x+&quot;
</del><ins>+        &quot;_name&quot;: &quot;source&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;^r(e)g[e]{1,}x+&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -427,38 +431,39 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;/(?:)/&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;/(?:)/&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;regexp&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;regexp&quot;,
+    &quot;_description&quot;: &quot;/(?:)/&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;lastIndex&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;lastIndex&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;global&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;global&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;ignoreCase&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;ignoreCase&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;multiline&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;multiline&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;source&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;(?:)&quot;
</del><ins>+        &quot;_name&quot;: &quot;source&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;(?:)&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -470,38 +475,39 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;/test/i&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;/test/i&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;regexp&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;regexp&quot;,
+    &quot;_description&quot;: &quot;/test/i&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;lastIndex&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;lastIndex&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;global&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;global&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;ignoreCase&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;true&quot;
</del><ins>+        &quot;_name&quot;: &quot;ignoreCase&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;true&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;multiline&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;false&quot;
</del><ins>+        &quot;_name&quot;: &quot;multiline&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;false&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;source&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;test&quot;
</del><ins>+        &quot;_name&quot;: &quot;source&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;test&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -513,12 +519,13 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Array[0]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Array[0]&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: []
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;Array[0]&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -530,23 +537,24 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Array[2]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Array[2]&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;Array[2]&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;0&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;0&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;1&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;2&quot;
</del><ins>+        &quot;_name&quot;: &quot;1&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;2&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -558,31 +566,32 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Array[3]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Array[3]&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;Array[3]&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;0&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;array&quot;,
-        &quot;value&quot;: &quot;Array[1]&quot;
</del><ins>+        &quot;_name&quot;: &quot;0&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;array&quot;,
+        &quot;_value&quot;: &quot;Array[1]&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;1&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;array&quot;,
-        &quot;value&quot;: &quot;Array[1]&quot;
</del><ins>+        &quot;_name&quot;: &quot;1&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;array&quot;,
+        &quot;_value&quot;: &quot;Array[1]&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;2&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;array&quot;,
-        &quot;value&quot;: &quot;Array[1]&quot;
</del><ins>+        &quot;_name&quot;: &quot;2&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;array&quot;,
+        &quot;_value&quot;: &quot;Array[1]&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -594,39 +603,40 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Array[5]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Array[5]&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;Array[5]&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;0&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;true&quot;
</del><ins>+        &quot;_name&quot;: &quot;0&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;true&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;1&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;1&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;2&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1.234&quot;
</del><ins>+        &quot;_name&quot;: &quot;2&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1.234&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;3&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;string&quot;
</del><ins>+        &quot;_name&quot;: &quot;3&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;string&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;4&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;regexp&quot;,
-        &quot;value&quot;: &quot;/regex/&quot;
</del><ins>+        &quot;_name&quot;: &quot;4&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;regexp&quot;,
+        &quot;_value&quot;: &quot;/regex/&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -638,28 +648,29 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Array[3]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Array[3]&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;Array[3]&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;0&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;value&quot;: &quot;Object&quot;
</del><ins>+        &quot;_name&quot;: &quot;0&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_value&quot;: &quot;Object&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;1&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;value&quot;: &quot;Object&quot;
</del><ins>+        &quot;_name&quot;: &quot;1&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_value&quot;: &quot;Object&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;2&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;value&quot;: &quot;Object&quot;
</del><ins>+        &quot;_name&quot;: &quot;2&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_value&quot;: &quot;Object&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -671,19 +682,20 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Array[1]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Array[1]&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;Array[1]&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;0&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;array&quot;,
-        &quot;value&quot;: &quot;Array[3]&quot;
</del><ins>+        &quot;_name&quot;: &quot;0&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;array&quot;,
+        &quot;_value&quot;: &quot;Array[3]&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -695,12 +707,13 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Array[100]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Array[100]&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: []
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;Array[100]&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -712,513 +725,514 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Array[100]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Array[100]&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;Array[100]&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;0&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;0&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;1&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;1&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;2&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;2&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;3&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;3&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;4&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;4&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;5&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;5&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;6&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;6&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;7&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;7&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;8&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;8&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;9&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;9&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;10&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;10&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;11&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;11&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;12&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;12&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;13&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;13&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;14&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;14&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;15&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;15&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;16&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;16&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;17&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;17&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;18&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;18&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;19&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;19&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;20&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;20&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;21&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;21&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;22&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;22&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;23&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;23&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;24&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;24&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;25&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;25&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;26&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;26&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;27&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;27&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;28&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;28&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;29&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;29&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;30&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;30&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;31&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;31&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;32&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;32&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;33&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;33&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;34&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;34&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;35&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;35&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;36&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;36&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;37&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;37&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;38&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;38&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;39&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;39&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;40&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;40&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;41&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;41&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;42&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;42&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;43&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;43&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;44&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;44&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;45&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;45&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;46&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;46&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;47&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;47&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;48&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;48&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;49&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;49&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;50&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;50&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;51&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;51&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;52&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;52&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;53&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;53&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;54&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;54&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;55&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;55&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;56&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;56&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;57&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;57&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;58&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;58&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;59&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;59&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;60&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;60&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;61&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;61&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;62&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;62&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;63&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;63&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;64&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;64&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;65&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;65&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;66&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;66&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;67&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;67&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;68&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;68&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;69&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;69&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;70&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;70&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;71&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;71&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;72&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;72&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;73&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;73&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;74&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;74&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;75&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;75&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;76&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;76&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;77&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;77&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;78&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;78&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;79&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;79&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;80&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;80&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;81&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;81&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;82&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;82&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;83&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;83&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;84&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;84&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;85&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;85&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;86&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;86&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;87&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;87&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;88&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;88&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;89&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;89&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;90&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;90&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;91&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;91&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;92&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;92&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;93&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;93&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;94&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;94&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;95&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;95&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;96&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;96&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;97&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;97&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;98&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;98&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;99&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;99&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1230,18 +1244,19 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Array[100]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Array[100]&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;Array[100]&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;10&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;10&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1253,29 +1268,30 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Arguments[3]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Arguments[3]&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;Arguments[3]&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;0&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;0&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;1&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;2&quot;
</del><ins>+        &quot;_name&quot;: &quot;1&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;2&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;2&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;regexp&quot;,
-        &quot;value&quot;: &quot;/3/&quot;
</del><ins>+        &quot;_name&quot;: &quot;2&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;regexp&quot;,
+        &quot;_value&quot;: &quot;/3/&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1287,48 +1303,49 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Int32Array[4]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Int32Array[4]&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;Int32Array[4]&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;0&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;0&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;1&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;1&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;2&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;2&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;3&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;3&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;byteOffset&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;byteOffset&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;byteLength&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;16&quot;
</del><ins>+        &quot;_name&quot;: &quot;byteLength&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;16&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;buffer&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;value&quot;: &quot;ArrayBuffer&quot;
</del><ins>+        &quot;_name&quot;: &quot;buffer&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_value&quot;: &quot;ArrayBuffer&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1340,48 +1357,49 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Int32Array[4]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Int32Array[4]&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;Int32Array[4]&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;0&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;0&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;1&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;1&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;2&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;2&quot;
</del><ins>+        &quot;_name&quot;: &quot;2&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;2&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;3&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;3&quot;
</del><ins>+        &quot;_name&quot;: &quot;3&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;3&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;byteOffset&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;byteOffset&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;byteLength&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;16&quot;
</del><ins>+        &quot;_name&quot;: &quot;byteLength&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;16&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;buffer&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;value&quot;: &quot;ArrayBuffer&quot;
</del><ins>+        &quot;_name&quot;: &quot;buffer&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_value&quot;: &quot;ArrayBuffer&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1392,10 +1410,12 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Object&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Object&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: []
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Object&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1406,16 +1426,18 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Object&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Object&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Object&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;a&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;a&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1426,32 +1448,34 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Object&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Object&quot;,
-    &quot;lossless&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Object&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;a&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;a&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;b&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;string&quot;
</del><ins>+        &quot;_name&quot;: &quot;b&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;string&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;c&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;regexp&quot;,
-        &quot;value&quot;: &quot;/regex/&quot;
</del><ins>+        &quot;_name&quot;: &quot;c&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;regexp&quot;,
+        &quot;_value&quot;: &quot;/regex/&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;d&quot;,
-        &quot;type&quot;: &quot;symbol&quot;,
-        &quot;value&quot;: &quot;Symbol(sym)&quot;
</del><ins>+        &quot;_name&quot;: &quot;d&quot;,
+        &quot;_type&quot;: &quot;symbol&quot;,
+        &quot;_value&quot;: &quot;Symbol(sym)&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1462,29 +1486,31 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Object&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Object&quot;,
-    &quot;lossless&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Object&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;a&quot;,
-        &quot;type&quot;: &quot;function&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;a&quot;,
+        &quot;_type&quot;: &quot;function&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;b&quot;,
-        &quot;type&quot;: &quot;function&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;b&quot;,
+        &quot;_type&quot;: &quot;function&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;getter&quot;,
-        &quot;type&quot;: &quot;accessor&quot;
</del><ins>+        &quot;_name&quot;: &quot;getter&quot;,
+        &quot;_type&quot;: &quot;accessor&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;setter&quot;,
-        &quot;type&quot;: &quot;accessor&quot;
</del><ins>+        &quot;_name&quot;: &quot;setter&quot;,
+        &quot;_type&quot;: &quot;accessor&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1495,10 +1521,12 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Foo&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Foo&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: []
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Foo&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1509,10 +1537,12 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Foo2&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Foo2&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: []
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Foo2&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1523,10 +1553,12 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Foo3&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Foo3&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: []
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Foo3&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1537,25 +1569,27 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Bar&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Bar&quot;,
-    &quot;lossless&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Bar&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;_x&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;5&quot;
</del><ins>+        &quot;_name&quot;: &quot;_x&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;5&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;constructor&quot;,
-        &quot;type&quot;: &quot;function&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;constructor&quot;,
+        &quot;_type&quot;: &quot;function&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;x&quot;,
-        &quot;type&quot;: &quot;accessor&quot;
</del><ins>+        &quot;_name&quot;: &quot;x&quot;,
+        &quot;_type&quot;: &quot;accessor&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1566,16 +1600,18 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Bar2&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Bar2&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Bar2&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;_x&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;5&quot;
</del><ins>+        &quot;_name&quot;: &quot;_x&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;5&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1586,38 +1622,39 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Event&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Event&quot;,
-    &quot;lossless&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Event&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: true,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;clipboardData&quot;,
-        &quot;type&quot;: &quot;undefined&quot;,
-        &quot;value&quot;: &quot;undefined&quot;
</del><ins>+        &quot;_name&quot;: &quot;clipboardData&quot;,
+        &quot;_type&quot;: &quot;undefined&quot;,
+        &quot;_value&quot;: &quot;undefined&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;type&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;load&quot;
</del><ins>+        &quot;_name&quot;: &quot;type&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;load&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;target&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;node&quot;,
-        &quot;value&quot;: &quot;#document&quot;
</del><ins>+        &quot;_name&quot;: &quot;target&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;node&quot;,
+        &quot;_value&quot;: &quot;#document&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;currentTarget&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;value&quot;: &quot;Window&quot;
</del><ins>+        &quot;_name&quot;: &quot;currentTarget&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_value&quot;: &quot;Window&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;eventPhase&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;2&quot;
</del><ins>+        &quot;_name&quot;: &quot;eventPhase&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;2&quot;
</ins><span class="cx">       }
</span><span class="cx">     ],
</span><del>-    &quot;overflow&quot;: true
</del><ins>+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1628,16 +1665,18 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;ArrayBuffer&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;ArrayBuffer&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;ArrayBuffer&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;byteLength&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;16&quot;
</del><ins>+        &quot;_name&quot;: &quot;byteLength&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;16&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1648,26 +1687,28 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;DataView&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;DataView&quot;,
-    &quot;lossless&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;DataView&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;byteOffset&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;0&quot;
</del><ins>+        &quot;_name&quot;: &quot;byteOffset&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;0&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;byteLength&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;16&quot;
</del><ins>+        &quot;_name&quot;: &quot;byteLength&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;16&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;buffer&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;value&quot;: &quot;ArrayBuffer&quot;
</del><ins>+        &quot;_name&quot;: &quot;buffer&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_value&quot;: &quot;ArrayBuffer&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1679,38 +1720,39 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;body&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;body&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;node&quot;,
-    &quot;overflow&quot;: true,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;node&quot;,
+    &quot;_description&quot;: &quot;body&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: true,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;aLink&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;aLink&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;background&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;background&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;bgColor&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;bgColor&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;link&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;link&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;text&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;text&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1722,38 +1764,39 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;div.foo.bar&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;div.foo.bar&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;node&quot;,
-    &quot;overflow&quot;: true,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;node&quot;,
+    &quot;_description&quot;: &quot;div.foo.bar&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: true,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;align&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;align&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;title&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;title&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;lang&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;lang&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;translate&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;true&quot;
</del><ins>+        &quot;_name&quot;: &quot;translate&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;true&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;dir&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;dir&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1765,38 +1808,39 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;span#foo&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;span#foo&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;node&quot;,
-    &quot;overflow&quot;: true,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;node&quot;,
+    &quot;_description&quot;: &quot;span#foo&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: true,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;title&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;title&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;lang&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;lang&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;translate&quot;,
-        &quot;type&quot;: &quot;boolean&quot;,
-        &quot;value&quot;: &quot;true&quot;
</del><ins>+        &quot;_name&quot;: &quot;translate&quot;,
+        &quot;_type&quot;: &quot;boolean&quot;,
+        &quot;_value&quot;: &quot;true&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;dir&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;dir&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;tabIndex&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;-1&quot;
</del><ins>+        &quot;_name&quot;: &quot;tabIndex&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;-1&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1808,38 +1852,39 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;#text&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;#text&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;node&quot;,
-    &quot;overflow&quot;: true,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;node&quot;,
+    &quot;_description&quot;: &quot;#text&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: true,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;wholeText&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;text&quot;
</del><ins>+        &quot;_name&quot;: &quot;wholeText&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;text&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;splitText&quot;,
-        &quot;type&quot;: &quot;function&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;splitText&quot;,
+        &quot;_type&quot;: &quot;function&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;replaceWholeText&quot;,
-        &quot;type&quot;: &quot;function&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;replaceWholeText&quot;,
+        &quot;_type&quot;: &quot;function&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;data&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;text&quot;
</del><ins>+        &quot;_name&quot;: &quot;data&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;text&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;length&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;4&quot;
</del><ins>+        &quot;_name&quot;: &quot;length&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;4&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1851,41 +1896,42 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;HTMLCollection[3]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;HTMLCollection[3]&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;HTMLCollection[3]&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;0&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;node&quot;,
-        &quot;value&quot;: &quot;meta&quot;
</del><ins>+        &quot;_name&quot;: &quot;0&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;node&quot;,
+        &quot;_value&quot;: &quot;meta&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;1&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;node&quot;,
-        &quot;value&quot;: &quot;script&quot;
</del><ins>+        &quot;_name&quot;: &quot;1&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;node&quot;,
+        &quot;_value&quot;: &quot;script&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;2&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;node&quot;,
-        &quot;value&quot;: &quot;script&quot;
</del><ins>+        &quot;_name&quot;: &quot;2&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;node&quot;,
+        &quot;_value&quot;: &quot;script&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;item&quot;,
-        &quot;type&quot;: &quot;function&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;item&quot;,
+        &quot;_type&quot;: &quot;function&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;namedItem&quot;,
-        &quot;type&quot;: &quot;function&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;namedItem&quot;,
+        &quot;_type&quot;: &quot;function&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1897,41 +1943,42 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;NodeList[3]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;NodeList[3]&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;NodeList[3]&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;0&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;node&quot;,
-        &quot;value&quot;: &quot;p.my-test&quot;
</del><ins>+        &quot;_name&quot;: &quot;0&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;node&quot;,
+        &quot;_value&quot;: &quot;p.my-test&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;1&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;node&quot;,
-        &quot;value&quot;: &quot;p.my-test&quot;
</del><ins>+        &quot;_name&quot;: &quot;1&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;node&quot;,
+        &quot;_value&quot;: &quot;p.my-test&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;2&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;node&quot;,
-        &quot;value&quot;: &quot;p.my-test&quot;
</del><ins>+        &quot;_name&quot;: &quot;2&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;node&quot;,
+        &quot;_value&quot;: &quot;p.my-test&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;constructor&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;value&quot;: &quot;NodeListConstructor&quot;
</del><ins>+        &quot;_name&quot;: &quot;constructor&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_value&quot;: &quot;NodeListConstructor&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;item&quot;,
-        &quot;type&quot;: &quot;function&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;item&quot;,
+        &quot;_type&quot;: &quot;function&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1943,41 +1990,42 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;NodeList[3]&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;NodeList[3]&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;array&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;array&quot;,
+    &quot;_description&quot;: &quot;NodeList[3]&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;0&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;node&quot;,
-        &quot;value&quot;: &quot;p.my-test&quot;
</del><ins>+        &quot;_name&quot;: &quot;0&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;node&quot;,
+        &quot;_value&quot;: &quot;p.my-test&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;1&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;node&quot;,
-        &quot;value&quot;: &quot;p.my-test&quot;
</del><ins>+        &quot;_name&quot;: &quot;1&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;node&quot;,
+        &quot;_value&quot;: &quot;p.my-test&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;2&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;subtype&quot;: &quot;node&quot;,
-        &quot;value&quot;: &quot;p.my-test&quot;
</del><ins>+        &quot;_name&quot;: &quot;2&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_subtype&quot;: &quot;node&quot;,
+        &quot;_value&quot;: &quot;p.my-test&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;constructor&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;value&quot;: &quot;NodeListConstructor&quot;
</del><ins>+        &quot;_name&quot;: &quot;constructor&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_value&quot;: &quot;NodeListConstructor&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;item&quot;,
-        &quot;type&quot;: &quot;function&quot;,
-        &quot;value&quot;: &quot;&quot;
</del><ins>+        &quot;_name&quot;: &quot;item&quot;,
+        &quot;_type&quot;: &quot;function&quot;,
+        &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1989,33 +2037,34 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;TypeError: undefined is not an object (evaluating '[].x.x')&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;TypeError: undefined is not an object (evaluating '[].x.x')&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;error&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;error&quot;,
+    &quot;_description&quot;: &quot;TypeError: undefined is not an object (evaluating '[].x.x')&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;message&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;undefined is not an object (evaluating '[].x.x')&quot;
</del><ins>+        &quot;_name&quot;: &quot;message&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;undefined is not an object (evaluating '[].x.x')&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;line&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;line&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;column&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;25&quot;
</del><ins>+        &quot;_name&quot;: &quot;column&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;25&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;stack&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;eval code\neval@[native code]\n_evaluateOn\n_evaluateAndWrap\nevaluate&quot;
</del><ins>+        &quot;_name&quot;: &quot;stack&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;eval code\neval@[native code]\n_evaluateOn\n_evaluateAndWrap\nevaluate&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2027,33 +2076,34 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;SyntaxError: Unexpected token ')'&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;SyntaxError: Unexpected token ')'&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;error&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;error&quot;,
+    &quot;_description&quot;: &quot;SyntaxError: Unexpected token ')'&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;message&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;Unexpected token ')'&quot;
</del><ins>+        &quot;_name&quot;: &quot;message&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;Unexpected token ')'&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;line&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;line&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;column&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;25&quot;
</del><ins>+        &quot;_name&quot;: &quot;column&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;25&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;stack&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;eval@[native code]\neval code\neval@[native code]\n_evaluateOn\n_evaluateAndWrap\nevaluate&quot;
</del><ins>+        &quot;_name&quot;: &quot;stack&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;eval@[native code]\neval code\neval@[native code]\n_evaluateOn\n_evaluateAndWrap\nevaluate&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2065,38 +2115,39 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Error: IndexSizeError: DOM Exception 1&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Error: IndexSizeError: DOM Exception 1&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;error&quot;,
-    &quot;overflow&quot;: true,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;error&quot;,
+    &quot;_description&quot;: &quot;Error: IndexSizeError: DOM Exception 1&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: true,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;code&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;code&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;name&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;IndexSizeError&quot;
</del><ins>+        &quot;_name&quot;: &quot;name&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;IndexSizeError&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;message&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;IndexSizeError: DOM Exception 1&quot;
</del><ins>+        &quot;_name&quot;: &quot;message&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;IndexSizeError: DOM Exception 1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;line&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;1&quot;
</del><ins>+        &quot;_name&quot;: &quot;line&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;column&quot;,
-        &quot;type&quot;: &quot;number&quot;,
-        &quot;value&quot;: &quot;58&quot;
</del><ins>+        &quot;_name&quot;: &quot;column&quot;,
+        &quot;_type&quot;: &quot;number&quot;,
+        &quot;_value&quot;: &quot;58&quot;
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2107,10 +2158,12 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Object&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Object&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: []
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Object&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2121,10 +2174,12 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Object&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Object&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: []
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Object&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2136,13 +2191,13 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Map&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Map&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;map&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [],
-    &quot;entries&quot;: []
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;map&quot;,
+    &quot;_description&quot;: &quot;Map&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: []
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2154,35 +2209,47 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Map&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Map&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;map&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [],
-    &quot;entries&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;map&quot;,
+    &quot;_description&quot;: &quot;Map&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;key&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;1&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_key&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;1&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         },
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;2&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;2&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;key&quot;: {
-          &quot;type&quot;: &quot;string&quot;,
-          &quot;description&quot;: &quot;key&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_key&quot;: {
+          &quot;_type&quot;: &quot;string&quot;,
+          &quot;_description&quot;: &quot;key&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         },
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;string&quot;,
-          &quot;description&quot;: &quot;value&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;string&quot;,
+          &quot;_description&quot;: &quot;value&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       }
</span><span class="cx">     ]
</span><span class="lines">@@ -2197,92 +2264,98 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Map&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Map&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;map&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [],
-    &quot;entries&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;map&quot;,
+    &quot;_description&quot;: &quot;Map&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;key&quot;: {
-          &quot;type&quot;: &quot;object&quot;,
-          &quot;description&quot;: &quot;Object&quot;,
-          &quot;lossless&quot;: true,
-          &quot;properties&quot;: [
</del><ins>+        &quot;_key&quot;: {
+          &quot;_type&quot;: &quot;object&quot;,
+          &quot;_description&quot;: &quot;Object&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: [
</ins><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;a&quot;,
-              &quot;type&quot;: &quot;number&quot;,
-              &quot;value&quot;: &quot;1&quot;
</del><ins>+              &quot;_name&quot;: &quot;a&quot;,
+              &quot;_type&quot;: &quot;number&quot;,
+              &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">             }
</span><del>-          ]
</del><ins>+          ],
+          &quot;_entries&quot;: null
</ins><span class="cx">         },
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;object&quot;,
-          &quot;description&quot;: &quot;Object&quot;,
-          &quot;lossless&quot;: true,
-          &quot;properties&quot;: [
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;object&quot;,
+          &quot;_description&quot;: &quot;Object&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: [
</ins><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;b&quot;,
-              &quot;type&quot;: &quot;number&quot;,
-              &quot;value&quot;: &quot;2&quot;
</del><ins>+              &quot;_name&quot;: &quot;b&quot;,
+              &quot;_type&quot;: &quot;number&quot;,
+              &quot;_value&quot;: &quot;2&quot;
</ins><span class="cx">             }
</span><del>-          ]
</del><ins>+          ],
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;key&quot;: {
-          &quot;type&quot;: &quot;object&quot;,
-          &quot;description&quot;: &quot;body&quot;,
-          &quot;lossless&quot;: false,
-          &quot;subtype&quot;: &quot;node&quot;,
-          &quot;overflow&quot;: true,
-          &quot;properties&quot;: [
</del><ins>+        &quot;_key&quot;: {
+          &quot;_type&quot;: &quot;object&quot;,
+          &quot;_subtype&quot;: &quot;node&quot;,
+          &quot;_description&quot;: &quot;body&quot;,
+          &quot;_lossless&quot;: false,
+          &quot;_overflow&quot;: true,
+          &quot;_properties&quot;: [
</ins><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;aLink&quot;,
-              &quot;type&quot;: &quot;string&quot;,
-              &quot;value&quot;: &quot;&quot;
</del><ins>+              &quot;_name&quot;: &quot;aLink&quot;,
+              &quot;_type&quot;: &quot;string&quot;,
+              &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">             },
</span><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;background&quot;,
-              &quot;type&quot;: &quot;string&quot;,
-              &quot;value&quot;: &quot;&quot;
</del><ins>+              &quot;_name&quot;: &quot;background&quot;,
+              &quot;_type&quot;: &quot;string&quot;,
+              &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">             },
</span><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;bgColor&quot;,
-              &quot;type&quot;: &quot;string&quot;,
-              &quot;value&quot;: &quot;&quot;
</del><ins>+              &quot;_name&quot;: &quot;bgColor&quot;,
+              &quot;_type&quot;: &quot;string&quot;,
+              &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">             },
</span><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;link&quot;,
-              &quot;type&quot;: &quot;string&quot;,
-              &quot;value&quot;: &quot;&quot;
</del><ins>+              &quot;_name&quot;: &quot;link&quot;,
+              &quot;_type&quot;: &quot;string&quot;,
+              &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">             },
</span><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;text&quot;,
-              &quot;type&quot;: &quot;string&quot;,
-              &quot;value&quot;: &quot;&quot;
</del><ins>+              &quot;_name&quot;: &quot;text&quot;,
+              &quot;_type&quot;: &quot;string&quot;,
+              &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">             }
</span><del>-          ]
</del><ins>+          ],
+          &quot;_entries&quot;: null
</ins><span class="cx">         },
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;object&quot;,
-          &quot;description&quot;: &quot;Array[2]&quot;,
-          &quot;lossless&quot;: true,
-          &quot;subtype&quot;: &quot;array&quot;,
-          &quot;overflow&quot;: false,
-          &quot;properties&quot;: [
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;object&quot;,
+          &quot;_subtype&quot;: &quot;array&quot;,
+          &quot;_description&quot;: &quot;Array[2]&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: [
</ins><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;0&quot;,
-              &quot;type&quot;: &quot;number&quot;,
-              &quot;value&quot;: &quot;1&quot;
</del><ins>+              &quot;_name&quot;: &quot;0&quot;,
+              &quot;_type&quot;: &quot;number&quot;,
+              &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">             },
</span><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;1&quot;,
-              &quot;type&quot;: &quot;number&quot;,
-              &quot;value&quot;: &quot;2&quot;
</del><ins>+              &quot;_name&quot;: &quot;1&quot;,
+              &quot;_type&quot;: &quot;number&quot;,
+              &quot;_value&quot;: &quot;2&quot;
</ins><span class="cx">             }
</span><del>-          ]
</del><ins>+          ],
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       }
</span><span class="cx">     ]
</span><span class="lines">@@ -2297,71 +2370,101 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Map&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Map&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;map&quot;,
-    &quot;overflow&quot;: true,
-    &quot;properties&quot;: [],
-    &quot;entries&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;map&quot;,
+    &quot;_description&quot;: &quot;Map&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: true,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;key&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;0&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_key&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;0&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         },
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;0&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;0&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;key&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;1&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_key&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;1&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         },
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;1&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;1&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;key&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;2&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_key&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;2&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         },
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;2&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;2&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;key&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;3&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_key&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;3&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         },
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;3&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;3&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;key&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;4&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_key&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;4&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         },
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;4&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;4&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       }
</span><span class="cx">     ]
</span><span class="lines">@@ -2376,44 +2479,47 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;WeakMap&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;WeakMap&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;weakmap&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [],
-    &quot;entries&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;weakmap&quot;,
+    &quot;_description&quot;: &quot;WeakMap&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;key&quot;: {
-          &quot;type&quot;: &quot;object&quot;,
-          &quot;description&quot;: &quot;Object&quot;,
-          &quot;lossless&quot;: true,
-          &quot;properties&quot;: [
</del><ins>+        &quot;_key&quot;: {
+          &quot;_type&quot;: &quot;object&quot;,
+          &quot;_description&quot;: &quot;Object&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: [
</ins><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;id&quot;,
-              &quot;type&quot;: &quot;number&quot;,
-              &quot;value&quot;: &quot;1&quot;
</del><ins>+              &quot;_name&quot;: &quot;id&quot;,
+              &quot;_type&quot;: &quot;number&quot;,
+              &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">             }
</span><del>-          ]
</del><ins>+          ],
+          &quot;_entries&quot;: null
</ins><span class="cx">         },
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;object&quot;,
-          &quot;description&quot;: &quot;Array[2]&quot;,
-          &quot;lossless&quot;: true,
-          &quot;subtype&quot;: &quot;array&quot;,
-          &quot;overflow&quot;: false,
-          &quot;properties&quot;: [
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;object&quot;,
+          &quot;_subtype&quot;: &quot;array&quot;,
+          &quot;_description&quot;: &quot;Array[2]&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: [
</ins><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;0&quot;,
-              &quot;type&quot;: &quot;number&quot;,
-              &quot;value&quot;: &quot;1&quot;
</del><ins>+              &quot;_name&quot;: &quot;0&quot;,
+              &quot;_type&quot;: &quot;number&quot;,
+              &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">             },
</span><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;1&quot;,
-              &quot;type&quot;: &quot;number&quot;,
-              &quot;value&quot;: &quot;2&quot;
</del><ins>+              &quot;_name&quot;: &quot;1&quot;,
+              &quot;_type&quot;: &quot;number&quot;,
+              &quot;_value&quot;: &quot;2&quot;
</ins><span class="cx">             }
</span><del>-          ]
</del><ins>+          ],
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       }
</span><span class="cx">     ]
</span><span class="lines">@@ -2428,13 +2534,13 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Set&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Set&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;set&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [],
-    &quot;entries&quot;: []
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;set&quot;,
+    &quot;_description&quot;: &quot;Set&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: []
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2446,32 +2552,41 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Set&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Set&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;set&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [],
-    &quot;entries&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;set&quot;,
+    &quot;_description&quot;: &quot;Set&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;1&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;1&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;2&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;2&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;string&quot;,
-          &quot;description&quot;: &quot;key&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;string&quot;,
+          &quot;_description&quot;: &quot;key&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       }
</span><span class="cx">     ]
</span><span class="lines">@@ -2486,82 +2601,86 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Set&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Set&quot;,
-    &quot;lossless&quot;: true,
-    &quot;subtype&quot;: &quot;set&quot;,
-    &quot;overflow&quot;: false,
-    &quot;properties&quot;: [],
-    &quot;entries&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;set&quot;,
+    &quot;_description&quot;: &quot;Set&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;object&quot;,
-          &quot;description&quot;: &quot;Object&quot;,
-          &quot;lossless&quot;: true,
-          &quot;properties&quot;: [
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;object&quot;,
+          &quot;_description&quot;: &quot;Object&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: [
</ins><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;a&quot;,
-              &quot;type&quot;: &quot;number&quot;,
-              &quot;value&quot;: &quot;1&quot;
</del><ins>+              &quot;_name&quot;: &quot;a&quot;,
+              &quot;_type&quot;: &quot;number&quot;,
+              &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">             }
</span><del>-          ]
</del><ins>+          ],
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;object&quot;,
-          &quot;description&quot;: &quot;body&quot;,
-          &quot;lossless&quot;: false,
-          &quot;subtype&quot;: &quot;node&quot;,
-          &quot;overflow&quot;: true,
-          &quot;properties&quot;: [
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;object&quot;,
+          &quot;_subtype&quot;: &quot;node&quot;,
+          &quot;_description&quot;: &quot;body&quot;,
+          &quot;_lossless&quot;: false,
+          &quot;_overflow&quot;: true,
+          &quot;_properties&quot;: [
</ins><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;aLink&quot;,
-              &quot;type&quot;: &quot;string&quot;,
-              &quot;value&quot;: &quot;&quot;
</del><ins>+              &quot;_name&quot;: &quot;aLink&quot;,
+              &quot;_type&quot;: &quot;string&quot;,
+              &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">             },
</span><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;background&quot;,
-              &quot;type&quot;: &quot;string&quot;,
-              &quot;value&quot;: &quot;&quot;
</del><ins>+              &quot;_name&quot;: &quot;background&quot;,
+              &quot;_type&quot;: &quot;string&quot;,
+              &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">             },
</span><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;bgColor&quot;,
-              &quot;type&quot;: &quot;string&quot;,
-              &quot;value&quot;: &quot;&quot;
</del><ins>+              &quot;_name&quot;: &quot;bgColor&quot;,
+              &quot;_type&quot;: &quot;string&quot;,
+              &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">             },
</span><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;link&quot;,
-              &quot;type&quot;: &quot;string&quot;,
-              &quot;value&quot;: &quot;&quot;
</del><ins>+              &quot;_name&quot;: &quot;link&quot;,
+              &quot;_type&quot;: &quot;string&quot;,
+              &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">             },
</span><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;text&quot;,
-              &quot;type&quot;: &quot;string&quot;,
-              &quot;value&quot;: &quot;&quot;
</del><ins>+              &quot;_name&quot;: &quot;text&quot;,
+              &quot;_type&quot;: &quot;string&quot;,
+              &quot;_value&quot;: &quot;&quot;
</ins><span class="cx">             }
</span><del>-          ]
</del><ins>+          ],
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;object&quot;,
-          &quot;description&quot;: &quot;Array[2]&quot;,
-          &quot;lossless&quot;: true,
-          &quot;subtype&quot;: &quot;array&quot;,
-          &quot;overflow&quot;: false,
-          &quot;properties&quot;: [
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;object&quot;,
+          &quot;_subtype&quot;: &quot;array&quot;,
+          &quot;_description&quot;: &quot;Array[2]&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: [
</ins><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;0&quot;,
-              &quot;type&quot;: &quot;number&quot;,
-              &quot;value&quot;: &quot;1&quot;
</del><ins>+              &quot;_name&quot;: &quot;0&quot;,
+              &quot;_type&quot;: &quot;number&quot;,
+              &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">             },
</span><span class="cx">             {
</span><del>-              &quot;name&quot;: &quot;1&quot;,
-              &quot;type&quot;: &quot;number&quot;,
-              &quot;value&quot;: &quot;2&quot;
</del><ins>+              &quot;_name&quot;: &quot;1&quot;,
+              &quot;_type&quot;: &quot;number&quot;,
+              &quot;_value&quot;: &quot;2&quot;
</ins><span class="cx">             }
</span><del>-          ]
</del><ins>+          ],
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       }
</span><span class="cx">     ]
</span><span class="lines">@@ -2576,46 +2695,61 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Set&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Set&quot;,
-    &quot;lossless&quot;: false,
-    &quot;subtype&quot;: &quot;set&quot;,
-    &quot;overflow&quot;: true,
-    &quot;properties&quot;: [],
-    &quot;entries&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_subtype&quot;: &quot;set&quot;,
+    &quot;_description&quot;: &quot;Set&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: true,
+    &quot;_properties&quot;: [],
+    &quot;_entries&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;0&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;0&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;1&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;1&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;2&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;2&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;3&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;3&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;value&quot;: {
-          &quot;type&quot;: &quot;number&quot;,
-          &quot;description&quot;: &quot;4&quot;,
-          &quot;lossless&quot;: true
</del><ins>+        &quot;_value&quot;: {
+          &quot;_type&quot;: &quot;number&quot;,
+          &quot;_description&quot;: &quot;4&quot;,
+          &quot;_lossless&quot;: true,
+          &quot;_overflow&quot;: false,
+          &quot;_properties&quot;: null,
+          &quot;_entries&quot;: null
</ins><span class="cx">         }
</span><span class="cx">       }
</span><span class="cx">     ]
</span><span class="lines">@@ -2629,17 +2763,19 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Promise&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Promise&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Promise&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;status&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;pending&quot;,
-        &quot;internal&quot;: true
</del><ins>+        &quot;_name&quot;: &quot;status&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;pending&quot;,
+        &quot;_internal&quot;: true
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2650,23 +2786,25 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Promise&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Promise&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Promise&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;status&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;rejected&quot;,
-        &quot;internal&quot;: true
</del><ins>+        &quot;_name&quot;: &quot;status&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;rejected&quot;,
+        &quot;_internal&quot;: true
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;result&quot;,
-        &quot;type&quot;: &quot;undefined&quot;,
-        &quot;value&quot;: &quot;undefined&quot;,
-        &quot;internal&quot;: true
</del><ins>+        &quot;_name&quot;: &quot;result&quot;,
+        &quot;_type&quot;: &quot;undefined&quot;,
+        &quot;_value&quot;: &quot;undefined&quot;,
+        &quot;_internal&quot;: true
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2677,23 +2815,25 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Promise&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Promise&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Promise&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;status&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;rejected&quot;,
-        &quot;internal&quot;: true
</del><ins>+        &quot;_name&quot;: &quot;status&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;rejected&quot;,
+        &quot;_internal&quot;: true
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;result&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;result&quot;,
-        &quot;internal&quot;: true
</del><ins>+        &quot;_name&quot;: &quot;result&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;result&quot;,
+        &quot;_internal&quot;: true
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2704,23 +2844,25 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Promise&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Promise&quot;,
-    &quot;lossless&quot;: true,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Promise&quot;,
+    &quot;_lossless&quot;: true,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;status&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;resolved&quot;,
-        &quot;internal&quot;: true
</del><ins>+        &quot;_name&quot;: &quot;status&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;resolved&quot;,
+        &quot;_internal&quot;: true
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;result&quot;,
-        &quot;type&quot;: &quot;undefined&quot;,
-        &quot;value&quot;: &quot;undefined&quot;,
-        &quot;internal&quot;: true
</del><ins>+        &quot;_name&quot;: &quot;result&quot;,
+        &quot;_type&quot;: &quot;undefined&quot;,
+        &quot;_value&quot;: &quot;undefined&quot;,
+        &quot;_internal&quot;: true
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2731,23 +2873,25 @@
</span><span class="cx">   &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
</span><span class="cx">   &quot;_description&quot;: &quot;Promise&quot;,
</span><span class="cx">   &quot;_preview&quot;: {
</span><del>-    &quot;type&quot;: &quot;object&quot;,
-    &quot;description&quot;: &quot;Promise&quot;,
-    &quot;lossless&quot;: false,
-    &quot;properties&quot;: [
</del><ins>+    &quot;_type&quot;: &quot;object&quot;,
+    &quot;_description&quot;: &quot;Promise&quot;,
+    &quot;_lossless&quot;: false,
+    &quot;_overflow&quot;: false,
+    &quot;_properties&quot;: [
</ins><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;status&quot;,
-        &quot;type&quot;: &quot;string&quot;,
-        &quot;value&quot;: &quot;resolved&quot;,
-        &quot;internal&quot;: true
</del><ins>+        &quot;_name&quot;: &quot;status&quot;,
+        &quot;_type&quot;: &quot;string&quot;,
+        &quot;_value&quot;: &quot;resolved&quot;,
+        &quot;_internal&quot;: true
</ins><span class="cx">       },
</span><span class="cx">       {
</span><del>-        &quot;name&quot;: &quot;result&quot;,
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;value&quot;: &quot;Object&quot;,
-        &quot;internal&quot;: true
</del><ins>+        &quot;_name&quot;: &quot;result&quot;,
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_value&quot;: &quot;Object&quot;,
+        &quot;_internal&quot;: true
</ins><span class="cx">       }
</span><del>-    ]
</del><ins>+    ],
+    &quot;_entries&quot;: null
</ins><span class="cx">   }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsinspectormodelremoteobjectgetpropertiesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/inspector/model/remote-object-get-properties-expected.txt (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector/model/remote-object-get-properties-expected.txt        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/LayoutTests/inspector/model/remote-object-get-properties-expected.txt        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -128,15 +128,11 @@
</span><span class="cx">     _bar
</span><span class="cx">     _foo
</span><span class="cx">     constructor
</span><del>-    get getterProperty
-    set getterProperty
-    get foo
-    set foo
</del><ins>+    getterProperty
+    foo
</ins><span class="cx">     BAR_CONSTANT
</span><del>-    get bar
-    set bar
-    get setterOnly
-    set setterOnly
</del><ins>+    bar
+    setterOnly
</ins><span class="cx">     toString
</span><span class="cx">     toLocaleString
</span><span class="cx">     valueOf
</span><span class="lines">@@ -164,8 +160,7 @@
</span><span class="cx"> 
</span><span class="cx"> ALL PROPERTIES:
</span><span class="cx">     constructor
</span><del>-    get badGetter
-    set badGetter
</del><ins>+    badGetter
</ins><span class="cx">     toString
</span><span class="cx">     toLocaleString
</span><span class="cx">     valueOf
</span><span class="lines">@@ -233,10 +228,8 @@
</span><span class="cx"> OWN PROPERTIES:
</span><span class="cx">     name
</span><span class="cx">     length
</span><del>-    get arguments
-    set arguments
-    get caller
-    set caller
</del><ins>+    arguments
+    caller
</ins><span class="cx">     __proto__
</span><span class="cx">     targetFunction
</span><span class="cx">     boundThis
</span><span class="lines">@@ -245,10 +238,8 @@
</span><span class="cx"> OWN AND GETTER PROPERTIES:
</span><span class="cx">     name
</span><span class="cx">     length
</span><del>-    get arguments
-    set arguments
-    get caller
-    set caller
</del><ins>+    arguments
+    caller
</ins><span class="cx">     __proto__
</span><span class="cx">     targetFunction
</span><span class="cx">     boundThis
</span><span class="lines">@@ -257,10 +248,8 @@
</span><span class="cx"> ALL PROPERTIES:
</span><span class="cx">     name
</span><span class="cx">     length
</span><del>-    get arguments
-    set arguments
-    get caller
-    set caller
</del><ins>+    arguments
+    caller
</ins><span class="cx">     toString
</span><span class="cx">     apply
</span><span class="cx">     call
</span></span></pre></div>
<a id="trunkLayoutTestsinspectormodelremoteobjectgetpropertieshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/inspector/model/remote-object-get-properties.html (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector/model/remote-object-get-properties.html        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/LayoutTests/inspector/model/remote-object-get-properties.html        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -79,26 +79,26 @@
</span><span class="cx">             if (remoteObject.subtype)
</span><span class="cx">                 InspectorTest.log(&quot;subtype: &quot; + remoteObject.subtype);
</span><span class="cx">             InspectorTest.log(&quot;description: &quot; + remoteObject.description);
</span><del>-            remoteObject.getOwnProperties(function(properties) {
</del><ins>+            remoteObject.getOwnPropertyDescriptors(function(properties) {
</ins><span class="cx">                 InspectorTest.log(&quot;\nOWN PROPERTIES:&quot;);
</span><span class="cx">                 for (var property of properties) {
</span><del>-                    InspectorTest.assert(property instanceof WebInspector.RemoteObjectProperty);
</del><ins>+                    InspectorTest.assert(property instanceof WebInspector.PropertyDescriptor);
</ins><span class="cx">                     InspectorTest.log(&quot;    &quot; + property.name);
</span><span class="cx">                 }
</span><span class="cx">             });
</span><span class="cx"> 
</span><del>-            remoteObject.getOwnAndGetterProperties(function(properties) {
</del><ins>+            remoteObject.getOwnAndGetterPropertyDescriptors(function(properties) {
</ins><span class="cx">                 InspectorTest.log(&quot;\nOWN AND GETTER PROPERTIES:&quot;);
</span><span class="cx">                 for (var property of properties) {
</span><del>-                    InspectorTest.assert(property instanceof WebInspector.RemoteObjectProperty);
</del><ins>+                    InspectorTest.assert(property instanceof WebInspector.PropertyDescriptor);
</ins><span class="cx">                     InspectorTest.log(&quot;    &quot; + property.name);
</span><span class="cx">                 }
</span><span class="cx">             });
</span><span class="cx"> 
</span><del>-            remoteObject.getAllProperties(function(properties) {
</del><ins>+            remoteObject.getAllPropertyDescriptors(function(properties) {
</ins><span class="cx">                 InspectorTest.log(&quot;\nALL PROPERTIES:&quot;);
</span><span class="cx">                 for (var property of properties) {
</span><del>-                    InspectorTest.assert(property instanceof WebInspector.RemoteObjectProperty);
</del><ins>+                    InspectorTest.assert(property instanceof WebInspector.PropertyDescriptor);
</ins><span class="cx">                     InspectorTest.log(&quot;    &quot; + property.name);
</span><span class="cx">                 }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsinspectormodelremoteobjectweakcollectionexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/inspector/model/remote-object-weak-collection-expected.txt (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector/model/remote-object-weak-collection-expected.txt        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/LayoutTests/inspector/model/remote-object-weak-collection-expected.txt        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -9,53 +9,59 @@
</span><span class="cx"> ENTRIES:
</span><span class="cx"> [
</span><span class="cx">   {
</span><del>-    &quot;key&quot;: {
-      &quot;type&quot;: &quot;object&quot;,
-      &quot;objectId&quot;: &quot;&lt;filtered&gt;&quot;,
-      &quot;className&quot;: &quot;Object&quot;,
-      &quot;description&quot;: &quot;Object&quot;,
-      &quot;preview&quot;: {
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;description&quot;: &quot;Object&quot;,
-        &quot;lossless&quot;: true,
-        &quot;properties&quot;: [
</del><ins>+    &quot;_key&quot;: {
+      &quot;_type&quot;: &quot;object&quot;,
+      &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
+      &quot;_description&quot;: &quot;Object&quot;,
+      &quot;_hasChildren&quot;: true,
+      &quot;_preview&quot;: {
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_description&quot;: &quot;Object&quot;,
+        &quot;_lossless&quot;: true,
+        &quot;_overflow&quot;: false,
+        &quot;_properties&quot;: [
</ins><span class="cx">           {
</span><del>-            &quot;name&quot;: &quot;id&quot;,
-            &quot;type&quot;: &quot;number&quot;,
-            &quot;value&quot;: &quot;1&quot;
</del><ins>+            &quot;_name&quot;: &quot;id&quot;,
+            &quot;_type&quot;: &quot;number&quot;,
+            &quot;_value&quot;: &quot;1&quot;
</ins><span class="cx">           }
</span><del>-        ]
</del><ins>+        ],
+        &quot;_entries&quot;: null
</ins><span class="cx">       }
</span><span class="cx">     },
</span><del>-    &quot;value&quot;: {
-      &quot;type&quot;: &quot;number&quot;,
-      &quot;value&quot;: 1,
-      &quot;description&quot;: &quot;1&quot;
</del><ins>+    &quot;_value&quot;: {
+      &quot;_type&quot;: &quot;number&quot;,
+      &quot;_description&quot;: &quot;1&quot;,
+      &quot;_hasChildren&quot;: false,
+      &quot;_value&quot;: 1
</ins><span class="cx">     }
</span><span class="cx">   },
</span><span class="cx">   {
</span><del>-    &quot;key&quot;: {
-      &quot;type&quot;: &quot;object&quot;,
-      &quot;objectId&quot;: &quot;&lt;filtered&gt;&quot;,
-      &quot;className&quot;: &quot;Object&quot;,
-      &quot;description&quot;: &quot;Object&quot;,
-      &quot;preview&quot;: {
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;description&quot;: &quot;Object&quot;,
-        &quot;lossless&quot;: true,
-        &quot;properties&quot;: [
</del><ins>+    &quot;_key&quot;: {
+      &quot;_type&quot;: &quot;object&quot;,
+      &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
+      &quot;_description&quot;: &quot;Object&quot;,
+      &quot;_hasChildren&quot;: true,
+      &quot;_preview&quot;: {
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_description&quot;: &quot;Object&quot;,
+        &quot;_lossless&quot;: true,
+        &quot;_overflow&quot;: false,
+        &quot;_properties&quot;: [
</ins><span class="cx">           {
</span><del>-            &quot;name&quot;: &quot;id&quot;,
-            &quot;type&quot;: &quot;number&quot;,
-            &quot;value&quot;: &quot;2&quot;
</del><ins>+            &quot;_name&quot;: &quot;id&quot;,
+            &quot;_type&quot;: &quot;number&quot;,
+            &quot;_value&quot;: &quot;2&quot;
</ins><span class="cx">           }
</span><del>-        ]
</del><ins>+        ],
+        &quot;_entries&quot;: null
</ins><span class="cx">       }
</span><span class="cx">     },
</span><del>-    &quot;value&quot;: {
-      &quot;type&quot;: &quot;number&quot;,
-      &quot;value&quot;: 2,
-      &quot;description&quot;: &quot;2&quot;
</del><ins>+    &quot;_value&quot;: {
+      &quot;_type&quot;: &quot;number&quot;,
+      &quot;_description&quot;: &quot;2&quot;,
+      &quot;_hasChildren&quot;: false,
+      &quot;_value&quot;: 2
</ins><span class="cx">     }
</span><span class="cx">   }
</span><span class="cx"> ]
</span><span class="lines">@@ -65,28 +71,31 @@
</span><span class="cx"> ENTRIES:
</span><span class="cx"> [
</span><span class="cx">   {
</span><del>-    &quot;key&quot;: {
-      &quot;type&quot;: &quot;object&quot;,
-      &quot;objectId&quot;: &quot;&lt;filtered&gt;&quot;,
-      &quot;className&quot;: &quot;Object&quot;,
-      &quot;description&quot;: &quot;Object&quot;,
-      &quot;preview&quot;: {
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;description&quot;: &quot;Object&quot;,
-        &quot;lossless&quot;: true,
-        &quot;properties&quot;: [
</del><ins>+    &quot;_key&quot;: {
+      &quot;_type&quot;: &quot;object&quot;,
+      &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
+      &quot;_description&quot;: &quot;Object&quot;,
+      &quot;_hasChildren&quot;: true,
+      &quot;_preview&quot;: {
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_description&quot;: &quot;Object&quot;,
+        &quot;_lossless&quot;: true,
+        &quot;_overflow&quot;: false,
+        &quot;_properties&quot;: [
</ins><span class="cx">           {
</span><del>-            &quot;name&quot;: &quot;id&quot;,
-            &quot;type&quot;: &quot;number&quot;,
-            &quot;value&quot;: &quot;2&quot;
</del><ins>+            &quot;_name&quot;: &quot;id&quot;,
+            &quot;_type&quot;: &quot;number&quot;,
+            &quot;_value&quot;: &quot;2&quot;
</ins><span class="cx">           }
</span><del>-        ]
</del><ins>+        ],
+        &quot;_entries&quot;: null
</ins><span class="cx">       }
</span><span class="cx">     },
</span><del>-    &quot;value&quot;: {
-      &quot;type&quot;: &quot;number&quot;,
-      &quot;value&quot;: 2,
-      &quot;description&quot;: &quot;2&quot;
</del><ins>+    &quot;_value&quot;: {
+      &quot;_type&quot;: &quot;number&quot;,
+      &quot;_description&quot;: &quot;2&quot;,
+      &quot;_hasChildren&quot;: false,
+      &quot;_value&quot;: 2
</ins><span class="cx">     }
</span><span class="cx">   }
</span><span class="cx"> ]
</span><span class="lines">@@ -96,28 +105,31 @@
</span><span class="cx"> ENTRIES:
</span><span class="cx"> [
</span><span class="cx">   {
</span><del>-    &quot;key&quot;: {
-      &quot;type&quot;: &quot;object&quot;,
-      &quot;objectId&quot;: &quot;&lt;filtered&gt;&quot;,
-      &quot;className&quot;: &quot;Object&quot;,
-      &quot;description&quot;: &quot;Object&quot;,
-      &quot;preview&quot;: {
-        &quot;type&quot;: &quot;object&quot;,
-        &quot;description&quot;: &quot;Object&quot;,
-        &quot;lossless&quot;: true,
-        &quot;properties&quot;: [
</del><ins>+    &quot;_key&quot;: {
+      &quot;_type&quot;: &quot;object&quot;,
+      &quot;_objectId&quot;: &quot;&lt;filtered&gt;&quot;,
+      &quot;_description&quot;: &quot;Object&quot;,
+      &quot;_hasChildren&quot;: true,
+      &quot;_preview&quot;: {
+        &quot;_type&quot;: &quot;object&quot;,
+        &quot;_description&quot;: &quot;Object&quot;,
+        &quot;_lossless&quot;: true,
+        &quot;_overflow&quot;: false,
+        &quot;_properties&quot;: [
</ins><span class="cx">           {
</span><del>-            &quot;name&quot;: &quot;id&quot;,
-            &quot;type&quot;: &quot;number&quot;,
-            &quot;value&quot;: &quot;2&quot;
</del><ins>+            &quot;_name&quot;: &quot;id&quot;,
+            &quot;_type&quot;: &quot;number&quot;,
+            &quot;_value&quot;: &quot;2&quot;
</ins><span class="cx">           }
</span><del>-        ]
</del><ins>+        ],
+        &quot;_entries&quot;: null
</ins><span class="cx">       }
</span><span class="cx">     },
</span><del>-    &quot;value&quot;: {
-      &quot;type&quot;: &quot;number&quot;,
-      &quot;value&quot;: 2,
-      &quot;description&quot;: &quot;2&quot;
</del><ins>+    &quot;_value&quot;: {
+      &quot;_type&quot;: &quot;number&quot;,
+      &quot;_description&quot;: &quot;2&quot;,
+      &quot;_hasChildren&quot;: false,
+      &quot;_value&quot;: 2
</ins><span class="cx">     }
</span><span class="cx">   }
</span><span class="cx"> ]
</span></span></pre></div>
<a id="trunkLayoutTestsinspectormodelremoteobjectweakcollectionhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/inspector/model/remote-object-weak-collection.html (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector/model/remote-object-weak-collection.html        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/LayoutTests/inspector/model/remote-object-weak-collection.html        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx">     function remoteObjectJSONFilter(key, value)
</span><span class="cx">     {
</span><del>-        if (key === &quot;objectId&quot;)
</del><ins>+        if (key === &quot;_objectId&quot;)
</ins><span class="cx">             return &quot;&lt;filtered&gt;&quot;;
</span><span class="cx"> 
</span><span class="cx">         return value;
</span><span class="lines">@@ -59,6 +59,8 @@
</span><span class="cx">                 remoteObject.getCollectionEntries(0, 100, function(entries) {
</span><span class="cx">                     InspectorTest.log(&quot;ENTRIES:&quot;);
</span><span class="cx">                     entries.sort(function(a, b) { return a.value.value - b.value.value; });
</span><ins>+                    for (var entry of entries)
+                        InspectorTest.assert(entry instanceof WebInspector.CollectionEntry);
</ins><span class="cx">                     InspectorTest.log(JSON.stringify(entries, remoteObjectJSONFilter, &quot;  &quot;));
</span><span class="cx">                     remoteObject.releaseWeakCollectionEntries();
</span><span class="cx">                     runNextStep();
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/Source/WebInspectorUI/ChangeLog        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -1,5 +1,209 @@
</span><span class="cx"> 2015-02-19  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Web Inspector: Create Separate Model and View Objects for RemoteObjects / ObjectPreview / PropertyDescriptor
+        https://bugs.webkit.org/show_bug.cgi?id=141696
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Main.html:
+        Add new files.
+
+        * UserInterface/Models/CollectionEntry.js: Added.
+        (WebInspector.CollectionEntry):
+        (WebInspector.CollectionEntry.fromPayload):
+        (WebInspector.CollectionEntry.prototype.get key):
+        (WebInspector.CollectionEntry.prototype.get value):
+        * UserInterface/Models/CollectionEntryPreview.js: Added.
+        (WebInspector.CollectionEntryPreview):
+        (WebInspector.CollectionEntryPreview.fromPayload):
+        (WebInspector.CollectionEntryPreview.prototype.get keyPreview):
+        (WebInspector.CollectionEntryPreview.prototype.get valuePreview):
+        * UserInterface/Models/ObjectPreview.js: Added.
+        (WebInspector.ObjectPreview):
+        (WebInspector.ObjectPreview.fromPayload):
+        (WebInspector.ObjectPreview.prototype.get type):
+        (WebInspector.ObjectPreview.prototype.get subtype):
+        (WebInspector.ObjectPreview.prototype.get description):
+        (WebInspector.ObjectPreview.prototype.get lossless):
+        (WebInspector.ObjectPreview.prototype.get overflow):
+        (WebInspector.ObjectPreview.prototype.get properties):
+        (WebInspector.ObjectPreview.prototype.get entries):
+        * UserInterface/Models/PropertyPreview.js: Added.
+        (WebInspector.PropertyPreview):
+        (WebInspector.PropertyPreview.fromPayload):
+        (WebInspector.PropertyPreview.prototype.get name):
+        (WebInspector.PropertyPreview.prototype.get type):
+        (WebInspector.PropertyPreview.prototype.get subtype):
+        (WebInspector.PropertyPreview.prototype.get value):
+        (WebInspector.PropertyPreview.prototype.get valuePreview):
+        * UserInterface/Models/PropertyDescriptor.js: Added.
+        (WebInspector.PropertyDescriptor.fromPayload):
+        (WebInspector.PropertyDescriptor.prototype.get name):
+        (WebInspector.PropertyDescriptor.prototype.get value):
+        (WebInspector.PropertyDescriptor.prototype.get writable):
+        (WebInspector.PropertyDescriptor.prototype.get configurable):
+        (WebInspector.PropertyDescriptor.prototype.get enumerable):
+        (WebInspector.PropertyDescriptor.prototype.get isOwnProperty):
+        (WebInspector.PropertyDescriptor.prototype.get wasThrown):
+        (WebInspector.PropertyDescriptor.prototype.get isInternalProperty):
+        (WebInspector.PropertyDescriptor.prototype.hasValue):
+        (WebInspector.PropertyDescriptor.prototype.hasGetter):
+        (WebInspector.PropertyDescriptor.prototype.hasSetter):
+        New Model objects for different Protocol types.
+        The only customizations right now are compatibility modifications
+        and PropertyDescriptor's &quot;hasValue&quot;, &quot;hasGetter&quot;, and &quot;hasSetter&quot;
+        functions to return reliable checks based on the descriptors contents.
+
+        * UserInterface/Protocol/RemoteObject.js:
+        (WebInspector.RemoteObject):
+        (WebInspector.RemoteObject.fromPayload):
+        (WebInspector.RemoteObject.resolveNode):
+        (WebInspector.RemoteObject.prototype.get value):
+        (WebInspector.RemoteObject.prototype._isSymbol):
+        (WebInspector.RemoteObject.prototype.isCollectionType):
+        (WebInspector.RemoteObject.prototype.isWeakCollection):
+        (WebInspector.RemoteObject.prototype.getCollectionEntries):
+        (WebInspector.RemoteObject.prototype.arrayLength):
+        Clean up the existing code to enforce more checks and use our
+        style of member variables and public accessors.
+
+        (WebInspector.RemoteObject.prototype.getOwnPropertyDescriptors):
+        (WebInspector.RemoteObject.prototype.getOwnAndGetterPropertyDescriptors):
+        (WebInspector.RemoteObject.prototype.getAllPropertyDescriptors):
+        (WebInspector.RemoteObject.prototype.callback):
+        Provide a new way of getting properties that returns Model objects
+        instead of raw protocol types.
+
+        * UserInterface/Views/ConsoleMessageImpl.js:
+        (WebInspector.ConsoleMessageImpl.prototype._format):
+        (WebInspector.ConsoleMessageImpl.prototype._formatParameter):
+        (WebInspector.ConsoleMessageImpl.prototype._propertyPreviewElement):
+        (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
+        (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
+        (WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
+        Always include a preview when possible. Now, when forced to be an object,
+        force expansion even if the preview is lossless.
+
+        (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
+        Use an ObjectTreeView instead of ObjectPropertiesSection.
+
+        (WebInspector.ConsoleMessageImpl.prototype._appendPreview): Deleted.
+        (WebInspector.ConsoleMessageImpl.prototype._appendEntryPreviews): Deleted.
+        (WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews): Deleted.
+        (WebInspector.ConsoleMessageImpl.prototype._appendValuePreview): Deleted.
+        This code is moved into ObjectPreviewView.
+
+
+        * UserInterface/Views/ObjectPropertiesSection.js:
+        (WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand.callback):
+        (WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand):
+        These types are now converted to Model types in Model objects, so do not do it here.
+
+        * UserInterface/Views/ObjectPreviewView.css: Added.
+        (.object-preview):
+        (.object-preview.lossless):
+        (.object-preview .name):
+        * UserInterface/Views/ObjectPreviewView.js: Added.
+        (WebInspector.ObjectPreviewView):
+        (WebInspector.ObjectPreviewView.prototype.get preview):
+        (WebInspector.ObjectPreviewView.prototype.get element):
+        (WebInspector.ObjectPreviewView.prototype.get mode):
+        (WebInspector.ObjectPreviewView.prototype.get lossless):
+        (WebInspector.ObjectPreviewView.prototype._numberOfPropertiesToShowInMode):
+        (WebInspector.ObjectPreviewView.prototype._appendPreview):
+        (WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
+        (WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
+        (WebInspector.ObjectPreviewView.prototype._appendValuePreview):
+        (WebInspector.ObjectPreviewView.prototype._formattedObjectElementForPreview):
+        An ObjectPreviewView can create a full/brief view given a ObjectPreview.
+        The view will contain formatted values everywhere possible.
+
+        * UserInterface/Views/ObjectTreePropertyTreeElement.js: Added.
+        (WebInspector.ObjectTreePropertyTreeElement):
+        (WebInspector.ObjectTreePropertyTreeElement.prototype.get property):
+        (WebInspector.ObjectTreePropertyTreeElement.prototype.onpopulate):
+        (WebInspector.ObjectTreePropertyTreeElement.prototype.onattach):
+        (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitle):
+        (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitlePropertyStyle):
+        (WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAPIStyle):
+        (WebInspector.ObjectTreePropertyTreeElement.prototype._descriptionString):
+        (WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
+        (WebInspector.ObjectTreePropertyTreeElement.prototype.mode):
+        (WebInspector.ObjectTreePropertyTreeElement.prototype):
+        * UserInterface/Views/ObjectTreeView.js: Added.
+        (WebInspector.ObjectTreeView):
+        (WebInspector.ObjectTreeView.classNameForObject):
+        (WebInspector.ObjectTreeView.ComparePropertyDescriptors):
+        (WebInspector.ObjectTreeView.prototype.get object):
+        (WebInspector.ObjectTreeView.prototype.get element):
+        (WebInspector.ObjectTreeView.prototype.get expanded):
+        (WebInspector.ObjectTreeView.prototype.expand):
+        (WebInspector.ObjectTreeView.prototype.collapse):
+        (WebInspector.ObjectTreeView.prototype.update):
+        (WebInspector.ObjectTreeView.prototype._updateProperties):
+        (WebInspector.ObjectTreeView.prototype._handlePreviewOrTitleElementClick):
+        Re-implementation of ObjectPropertiesSection for our Model objects
+        without &quot;Section&quot; semantics / dependencies. An ObjectTree will creates
+        an expandable tree for a RemoteObject. The top level clickable item
+        will be an ObjectPreview if possible, otherwise just a title element.
+
+        * UserInterface/Views/ObjectTreeView.css: Added.
+        (.object-tree):
+        (.object-tree &gt; .title):
+        (.object-tree &gt; :matches(.title, .object-preview)::before):
+        (.object-tree.expanded &gt; :matches(.title, .object-preview)::before):
+        (.object-tree.lossless-preview &gt; :matches(.title, .object-preview)::before):
+        (.object-tree-outline):
+        (.object-tree.expanded &gt; .object-tree-outline):
+        (.object-tree-outline li):
+        (.object-tree-outline li.parent):
+        (.object-tree-outline li.parent::before):
+        (.object-tree-outline li.parent.expanded::before):
+        (.object-tree-outline ol):
+        (.object-tree-outline ol.expanded):
+        (.object-tree-outline li .empty-message):
+        (.object-tree-property .name):
+        (.object-tree-property .name.not-enumerable):
+        (.object-tree-property .value.error):
+        (.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap):
+        (.formatted-number):
+        (.formatted-string, .formatted-regexp):
+        (.formatted-string):
+        (.formatted-regexp):
+        (.formatted-symbol):
+        (.formatted-null, .formatted-undefined):
+        (.console-group-messages .object-tree:not(.lossless-preview)):
+        (.console-group-messages .object-tree:not(.lossless-preview) &gt; :matches(.title, .object-preview)):
+        (.console-group-messages .object-tree:not(.lossless-preview) &gt; :matches(.title, .object-preview)::before):
+        (.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree):
+        (.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree-outline):
+        All styles for ObjectTree / ObjectPreview. Independent from
+        other styles in the inspector. Most of this is a copy of
+        the styles applied to ObjectPropertiesSection, renamed.
+
+
+        * UserInterface/Views/ObjectTreeCollectionTreeElement.js: Added.
+        (WebInspector.ObjectTreeCollectionTreeElement):
+        (WebInspector.ObjectTreeCollectionTreeElement.propertyDescriptorForEntry):
+        (WebInspector.ObjectTreeCollectionTreeElement.prototype.get remoteObject):
+        (WebInspector.ObjectTreeCollectionTreeElement.prototype.onexpand.callback):
+        (WebInspector.ObjectTreeCollectionTreeElement.prototype.onexpand):
+        (WebInspector.ObjectTreeCollectionTreeElement.prototype.oncollapse):
+        (WebInspector.ObjectTreeCollectionTreeElement.prototype.ondetach):
+        (WebInspector.ObjectTreeCollectionTreeElement.prototype._trackWeakEntries):
+        (WebInspector.ObjectTreeCollectionTreeElement.prototype._untrackWeakEntries):
+        (WebInspector.ObjectTreeCollectionEntryTreeElement):
+        (WebInspector.ObjectTreeCollectionEntryTreeElement.prototype.onpopulate):
+        (WebInspector.ObjectTreeCollectionEntryTreeElement.prototype.onattach):
+        (WebInspector.ObjectTreeEmptyCollectionTreeElement):
+        Essentially a copy of ObjectPropertiesSection Collection handling using
+        the ObjectTree class names.
+
+        * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
+        Fix prototype typo.
+
+2015-02-19  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
</ins><span class="cx">         Web Inspector: DOMTree / Node Details Sidebar do not update as &lt;input&gt; content changes
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=141790
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceMainhtml"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Main.html (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Main.html        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/Source/WebInspectorUI/UserInterface/Main.html        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -96,6 +96,8 @@
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/NavigationSidebarPanel.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/NetworkTimelineOverviewGraph.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/NetworkTimelineView.css&quot;&gt;
</span><ins>+    &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/ObjectPreviewView.css&quot;&gt;
+    &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/ObjectTreeView.css&quot;&gt;
</ins><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/OverviewTimelineView.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/PathComponentIcons.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/Popover.css&quot;&gt;
</span><span class="lines">@@ -218,6 +220,8 @@
</span><span class="cx">     &lt;script src=&quot;Models/CSSStyleDeclaration.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/CSSStyleSheet.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/CallFrame.js&quot;&gt;&lt;/script&gt;
</span><ins>+    &lt;script src=&quot;Models/CollectionEntry.js&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;Models/CollectionEntryPreview.js&quot;&gt;&lt;/script&gt;
</ins><span class="cx">     &lt;script src=&quot;Models/Color.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ContentFlow.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/CookieStorageObject.js&quot;&gt;&lt;/script&gt;
</span><span class="lines">@@ -244,6 +248,7 @@
</span><span class="cx">     &lt;script src=&quot;Models/LazySourceCodeLocation.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/LogObject.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/NetworkTimeline.js&quot;&gt;&lt;/script&gt;
</span><ins>+    &lt;script src=&quot;Models/ObjectPreview.js&quot;&gt;&lt;/script&gt;
</ins><span class="cx">     &lt;script src=&quot;Models/Probe.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ProbeSet.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ProbeSetDataFrame.js&quot;&gt;&lt;/script&gt;
</span><span class="lines">@@ -251,6 +256,8 @@
</span><span class="cx">     &lt;script src=&quot;Models/Profile.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ProfileNode.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ProfileNodeCall.js&quot;&gt;&lt;/script&gt;
</span><ins>+    &lt;script src=&quot;Models/PropertyDescriptor.js&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;Models/PropertyPreview.js&quot;&gt;&lt;/script&gt;    
</ins><span class="cx">     &lt;script src=&quot;Models/ReplayDashboard.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ReplaySession.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ReplaySessionSegment.js&quot;&gt;&lt;/script&gt;
</span><span class="lines">@@ -406,7 +413,11 @@
</span><span class="cx">     &lt;script src=&quot;Views/NavigationBar.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Views/NetworkTimelineOverviewGraph.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Views/NetworkTimelineView.js&quot;&gt;&lt;/script&gt;
</span><ins>+    &lt;script src=&quot;Views/ObjectPreviewView.js&quot;&gt;&lt;/script&gt;
</ins><span class="cx">     &lt;script src=&quot;Views/ObjectPropertiesSection.js&quot;&gt;&lt;/script&gt;
</span><ins>+    &lt;script src=&quot;Views/ObjectTreeCollectionTreeElement.js&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;Views/ObjectTreePropertyTreeElement.js&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;Views/ObjectTreeView.js&quot;&gt;&lt;/script&gt;
</ins><span class="cx">     &lt;script src=&quot;Views/OverviewTimelineView.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Views/Popover.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Views/ProbeDetailsSidebarPanel.js&quot;&gt;&lt;/script&gt;
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsCollectionEntryjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebInspectorUI/UserInterface/Models/CollectionEntry.js (0 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/CollectionEntry.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/CollectionEntry.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -0,0 +1,63 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.CollectionEntry = function(key, value)
+{
+    WebInspector.Object.call(this);
+
+    console.assert(value instanceof WebInspector.RemoteObject);
+    console.assert(!key || key instanceof WebInspector.RemoteObject);
+
+    this._key = key;
+    this._value = value;
+};
+
+// Runtime.CollectionEntry.
+WebInspector.CollectionEntry.fromPayload = function(payload)
+{
+    if (payload.key)
+        payload.key = WebInspector.RemoteObject.fromPayload(payload.key);
+    if (payload.value)
+        payload.value = WebInspector.RemoteObject.fromPayload(payload.value);
+
+    return new WebInspector.CollectionEntry(payload.key, payload.value);
+};
+
+WebInspector.CollectionEntry.prototype = {
+    constructor: WebInspector.CollectionEntry,
+    __proto__: WebInspector.Object.prototype,
+
+    // Public
+
+    get key()
+    {
+        return this._key;
+    },
+
+    get value()
+    {
+        return this._value;
+    }
+};
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsCollectionEntryPreviewjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebInspectorUI/UserInterface/Models/CollectionEntryPreview.js (0 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/CollectionEntryPreview.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/CollectionEntryPreview.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -0,0 +1,63 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.CollectionEntryPreview = function(keyPreview, valuePreview)
+{
+    WebInspector.Object.call(this);
+
+    console.assert(valuePreview instanceof WebInspector.ObjectPreview);
+    console.assert(!keyPreview || keyPreview instanceof WebInspector.ObjectPreview);
+
+    this._key = keyPreview;
+    this._value = valuePreview;
+};
+
+// Runtime.EntryPreview.
+WebInspector.CollectionEntryPreview.fromPayload = function(payload)
+{
+    if (payload.key)
+        payload.key = WebInspector.ObjectPreview.fromPayload(payload.key);
+    if (payload.value)
+        payload.value = WebInspector.ObjectPreview.fromPayload(payload.value);
+
+    return new WebInspector.CollectionEntryPreview(payload.key, payload.value);
+};
+
+WebInspector.CollectionEntryPreview.prototype = {
+    constructor: WebInspector.CollectionEntryPreview,
+    __proto__: WebInspector.Object.prototype,
+
+    // Public
+
+    get keyPreview()
+    {
+        return this._key;
+    },
+
+    get valuePreview()
+    {
+        return this._value;
+    }
+};
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsObjectPreviewjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebInspectorUI/UserInterface/Models/ObjectPreview.js (0 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/ObjectPreview.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/ObjectPreview.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -0,0 +1,96 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.ObjectPreview = function(type, subtype, description, lossless, overflow, properties, entries)
+{
+    WebInspector.Object.call(this);
+
+    console.assert(type);
+    console.assert(typeof lossless === &quot;boolean&quot;);
+    console.assert(!properties || !properties.length || properties[0] instanceof WebInspector.PropertyPreview);
+    console.assert(!entries || !entries.length || entries[0] instanceof WebInspector.CollectionEntryPreview);
+
+    this._type = type;
+    this._subtype = subtype;
+    this._description = description || &quot;&quot;;
+    this._lossless = lossless;
+    this._overflow = overflow || false;
+
+    this._properties = properties || null;
+    this._entries = entries || null;
+};
+
+// Runtime.ObjectPreview.
+WebInspector.ObjectPreview.fromPayload = function(payload)
+{
+    if (payload.properties)
+        payload.properties = payload.properties.map(function(property) { return WebInspector.PropertyPreview.fromPayload(property); });
+    if (payload.entries)
+        payload.entries = payload.entries.map(function(entry) { return WebInspector.CollectionEntryPreview.fromPayload(entry); });
+
+    return new WebInspector.ObjectPreview(payload.type, payload.subtype, payload.description, payload.lossless, payload.overflow, payload.properties, payload.entries);
+};
+
+WebInspector.ObjectPreview.prototype = {
+    constructor: WebInspector.ObjectPreview,
+    __proto__: WebInspector.Object.prototype,
+
+    // Public
+
+    get type()
+    {
+        return this._type;
+    },
+
+    get subtype()
+    {
+        return this._subtype;
+    },
+
+    get description()
+    {
+        return this._description;
+    },
+
+    get lossless()
+    {
+        return this._lossless;
+    },
+
+    get overflow()
+    {
+        return this._overflow;
+    },
+
+    get propertyPreviews()
+    {
+        return this._properties;
+    },
+
+    get collectionEntryPreviews()
+    {
+        return this._entries;
+    }
+};
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsPropertyDescriptorjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebInspectorUI/UserInterface/Models/PropertyDescriptor.js (0 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/PropertyDescriptor.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/PropertyDescriptor.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -0,0 +1,140 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.PropertyDescriptor = function(descriptor, isOwnProperty, wasThrown, isInternalProperty)
+{
+    WebInspector.Object.call(this);
+
+    console.assert(descriptor);
+    console.assert(descriptor.name);
+    console.assert(!descriptor.value || descriptor.value instanceof WebInspector.RemoteObject);
+    console.assert(!descriptor.get || descriptor.get instanceof WebInspector.RemoteObject);
+    console.assert(!descriptor.set || descriptor.set instanceof WebInspector.RemoteObject);
+
+    this._name = descriptor.name;
+    this._value = descriptor.value;
+    this._hasValue = &quot;value&quot; in descriptor;
+    this._get = descriptor.get;
+    this._set = descriptor.set;
+
+    this._writable = descriptor.writable || false;
+    this._configurable = descriptor.configurable || false;
+    this._enumerable = descriptor.enumerable || false;
+
+    this._own = isOwnProperty || false;
+    this._wasThrown = wasThrown || false;
+    this._internal = isInternalProperty || false;
+};
+
+// Runtime.PropertyDescriptor or Runtime.InternalPropertyDescriptor.
+WebInspector.PropertyDescriptor.fromPayload = function(payload)
+{
+    if (payload.value)
+        payload.value = WebInspector.RemoteObject.fromPayload(payload.value);
+    if (payload.get)
+        payload.get = WebInspector.RemoteObject.fromPayload(payload.get);
+    if (payload.set)
+        payload.set = WebInspector.RemoteObject.fromPayload(payload.set);
+
+    if (payload.internal) {
+        console.assert(payload.value);
+        payload.writable = payload.configurable = payload.enumerable = false;
+        payload.isOwn = true;
+    }
+
+    return new WebInspector.PropertyDescriptor(payload, payload.isOwn, payload.wasThrown, payload.internal);
+};
+
+WebInspector.PropertyDescriptor.prototype = {
+    constructor: WebInspector.PropertyDescriptor,
+    __proto__: WebInspector.Object.prototype,
+
+    // Public
+
+    get name()
+    {
+        return this._name;
+    },
+
+    get value()
+    {
+        return this._value;
+    },
+
+    get get()
+    {
+        return this._get;
+    },
+
+    get set()
+    {
+        return this._set;
+    },
+
+    get writable()
+    {
+        return this._writable;
+    },
+
+    get configurable()
+    {
+        return this._configurable;
+    },
+
+    get enumerable()
+    {
+        return this._enumerable;
+    },
+
+    get isOwnProperty()
+    {
+        return this._own;
+    },
+
+    get wasThrown()
+    {
+        return this._wasThrown;
+    },
+
+    get isInternalProperty()
+    {
+        return this._internal;
+    },
+
+    hasValue: function()
+    {
+        return this._hasValue;
+    },
+
+    hasGetter: function()
+    {
+        return this._get &amp;&amp; this._get.type === &quot;function&quot;;
+    },
+
+    hasSetter: function()
+    {
+        return this._set &amp;&amp; this._set.type === &quot;function&quot;;
+    }
+};
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsPropertyPreviewjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebInspectorUI/UserInterface/Models/PropertyPreview.js (0 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/PropertyPreview.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/PropertyPreview.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -0,0 +1,87 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.PropertyPreview = function(name, type, subtype, value, valuePreview, isInternalProperty)
+{
+    WebInspector.Object.call(this);
+
+    console.assert(name);
+    console.assert(type);
+    console.assert(!value || typeof value === &quot;string&quot;);
+    console.assert(!valuePreview || valuePreview instanceof WebInspector.ObjectPreview);
+
+    this._name = name;
+    this._type = type;
+    this._subtype = subtype;
+    this._value = value;
+    this._valuePreview = valuePreview;
+    this._internal = isInternalProperty;
+};
+
+// Runtime.PropertyPreview.
+WebInspector.PropertyPreview.fromPayload = function(payload)
+{
+    if (payload.valuePreview)
+        payload.valuePreview = WebInspector.ObjectPreview.fromPayload(payload.valuePreview);
+
+    return new WebInspector.PropertyPreview(payload.name, payload.type, payload.subtype, payload.value, payload.valuePreview, payload.internal);
+};
+
+WebInspector.PropertyPreview.prototype = {
+    constructor: WebInspector.PropertyPreview,
+    __proto__: WebInspector.Object.prototype,
+
+    // Public
+
+    get name()
+    {
+        return this._name;
+    },
+
+    get type()
+    {
+        return this._type;
+    },
+
+    get subtype()
+    {
+        return this._subtype;
+    },
+
+    get value()
+    {
+        return this._value;
+    },
+
+    get valuePreview()
+    {
+        return this._valuePreview;
+    },
+
+    get internal()
+    {
+        return this._internal;
+    }
+};
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceProtocolRemoteObjectjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Protocol/RemoteObject.js (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Protocol/RemoteObject.js        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/Source/WebInspectorUI/UserInterface/Protocol/RemoteObject.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -30,20 +30,32 @@
</span><span class="cx"> 
</span><span class="cx"> WebInspector.RemoteObject = function(objectId, type, subtype, value, description, preview)
</span><span class="cx"> {
</span><ins>+    // No superclass.
+
+    console.assert(type);
+    console.assert(!preview || preview instanceof WebInspector.ObjectPreview);
+
</ins><span class="cx">     this._type = type;
</span><span class="cx">     this._subtype = subtype;
</span><ins>+
</ins><span class="cx">     if (objectId) {
</span><del>-        // handle
</del><ins>+        // Object or Symbol.
+        console.assert(!subtype || typeof subtype === &quot;string&quot;);
+        console.assert(!description || typeof description === &quot;string&quot;);
+        console.assert(!value);
+
</ins><span class="cx">         this._objectId = objectId;
</span><span class="cx">         this._description = description;
</span><span class="cx">         this._hasChildren = type !== &quot;symbol&quot;;
</span><span class="cx">         this._preview = preview;
</span><span class="cx">     } else {
</span><del>-        // Primitive or null object.
</del><ins>+        // Primitive or null.
</ins><span class="cx">         console.assert(type !== &quot;object&quot; || value === null);
</span><ins>+        console.assert(!preview);
+
</ins><span class="cx">         this._description = description || (value + &quot;&quot;);
</span><span class="cx">         this._hasChildren = false;
</span><del>-        this.value = value;
</del><ins>+        this._value = value;
</ins><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -52,10 +64,27 @@
</span><span class="cx">     return new WebInspector.RemoteObject(undefined, typeof value, undefined, value);
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+WebInspector.RemoteObject.fromPayload = function(payload)
+{
+    console.assert(typeof payload === &quot;object&quot;, &quot;Remote object payload should only be an object&quot;);
+
+    if (payload.preview) {
+        // COMPATIBILITY (iOS 8): iOS 7 and 8 did not have type/subtype/description on
+        // Runtime.ObjectPreview. Copy them over from the RemoteObject.
+        if (!payload.preview.type) {
+            payload.preview.type = obj.type;
+            payload.preview.subtype = obj.subtype;
+            payload.preview.description = obj.description;
+        }
+        payload.preview = WebInspector.ObjectPreview.fromPayload(payload.preview);
+    }
+
+    return new WebInspector.RemoteObject(payload.objectId, payload.type, payload.subtype, payload.value, payload.description, payload.preview);
+};
+
</ins><span class="cx"> WebInspector.RemoteObject.resolveNode = function(node, objectGroup, callback)
</span><span class="cx"> {
</span><del>-    function mycallback(error, object)
-    {
</del><ins>+    DOMAgent.resolveNode(node.id, objectGroup, function(error, object) {
</ins><span class="cx">         if (!callback)
</span><span class="cx">             return;
</span><span class="cx"> 
</span><span class="lines">@@ -63,17 +92,9 @@
</span><span class="cx">             callback(null);
</span><span class="cx">         else
</span><span class="cx">             callback(WebInspector.RemoteObject.fromPayload(object));
</span><del>-    }
-    DOMAgent.resolveNode(node.id, objectGroup, mycallback);
</del><ins>+    });
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-WebInspector.RemoteObject.fromPayload = function(payload)
-{
-    console.assert(typeof payload === &quot;object&quot;, &quot;Remote object payload should only be an object&quot;);
-
-    return new WebInspector.RemoteObject(payload.objectId, payload.type, payload.subtype, payload.value, payload.description, payload.preview);
-};
-
</del><span class="cx"> WebInspector.RemoteObject.type = function(remoteObject)
</span><span class="cx"> {
</span><span class="cx">     if (remoteObject === null)
</span><span class="lines">@@ -87,6 +108,8 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> WebInspector.RemoteObject.prototype = {
</span><ins>+    constructor: WebInspector.RemoteObject,
+
</ins><span class="cx">     get objectId()
</span><span class="cx">     {
</span><span class="cx">         return this._objectId;
</span><span class="lines">@@ -112,11 +135,84 @@
</span><span class="cx">         return this._hasChildren;
</span><span class="cx">     },
</span><span class="cx"> 
</span><ins>+    get value()
+    {
+        return this._value;
+    },
+
</ins><span class="cx">     get preview()
</span><span class="cx">     {
</span><span class="cx">         return this._preview;
</span><span class="cx">     },
</span><span class="cx"> 
</span><ins>+    getOwnPropertyDescriptors: function(callback)
+    {
+        this._getPropertyDescriptors(true, false, callback);
+    },
+
+    getOwnAndGetterPropertyDescriptors: function(callback)
+    {
+        this._getPropertyDescriptors(false, true, callback);
+    },
+
+    getAllPropertyDescriptors: function(callback)
+    {
+        this._getPropertyDescriptors(false, false, callback);
+    },
+
+    _getPropertyDescriptors: function(ownProperties, ownAndGetterProperties, callback)
+    {
+        if (!this._objectId || this._isSymbol()) {
+            callback([]);
+            return;
+        }
+
+        function remoteObjectBinder(error, properties, internalProperties)
+        {
+            if (error) {
+                callback(null);
+                return;
+            }
+
+            if (internalProperties)
+                properties = properties.concat(internalProperties);
+
+            var descriptors = properties.map(function(payload) {
+                return WebInspector.PropertyDescriptor.fromPayload(payload);
+            });
+
+            callback(descriptors);
+        }
+
+        // COMPATIBILITY (iOS 8): RuntimeAgent.getProperties did not support ownerAndGetterProperties.
+        // Here we do our best to reimplement it by getting all properties and reducing them down.
+        if (ownAndGetterProperties &amp;&amp; !RuntimeAgent.getProperties.supports(&quot;ownAndGetterProperties&quot;)) {
+            RuntimeAgent.getProperties(this._objectId, function(error, allProperties) {
+                var ownOrGetterPropertiesList = [];
+                if (allProperties) {
+                    for (var property of allProperties) {
+                        if (property.isOwn || property.get || property.name === &quot;__proto__&quot;) {
+                            // Own property or getter property in prototype chain.
+                            ownOrGetterPropertiesList.push(property);
+                        } else if (property.value &amp;&amp; property.name !== property.name.toUpperCase()) {
+                            var type = property.value.type;
+                            if (type &amp;&amp; type !== &quot;function&quot; &amp;&amp; property.name !== &quot;constructor&quot;) {
+                                // Possible native binding getter property converted to a value. Also, no CONSTANT name style and not &quot;constructor&quot;.
+                                ownOrGetterPropertiesList.push(property);
+                            }
+                        }
+                    }
+                }
+                remoteObjectBinder(error, ownOrGetterPropertiesList);
+            });
+            return;
+        }
+
+        RuntimeAgent.getProperties(this._objectId, ownProperties, ownAndGetterProperties, remoteObjectBinder);
+    },
+
+    // FIXME: Phase out these functions. They return RemoteObjectProperty instead of PropertyDescriptors.
+
</ins><span class="cx">     getOwnProperties: function(callback)
</span><span class="cx">     {
</span><span class="cx">         this._getProperties(true, false, callback);
</span><span class="lines">@@ -146,7 +242,7 @@
</span><span class="cx">                 return;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            // FIXME: We should display Internal Properties visually distinct. For now treat as non-enumerable own properties.
</del><ins>+            // FIXME: WebInspector.PropertyDescriptor instead of RemoteObjectProperty.
</ins><span class="cx">             if (internalProperties) {
</span><span class="cx">                 properties = properties.concat(internalProperties.map(function(descriptor) {
</span><span class="cx">                     descriptor.writable = false;
</span><span class="lines">@@ -191,7 +287,7 @@
</span><span class="cx">                     }
</span><span class="cx">                 }
</span><span class="cx">                 remoteObjectBinder(error, ownOrGetterPropertiesList);
</span><del>-            }); 
</del><ins>+            });
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -237,17 +333,17 @@
</span><span class="cx"> 
</span><span class="cx">     _isSymbol: function()
</span><span class="cx">     {
</span><del>-        return this.type === &quot;symbol&quot;;
</del><ins>+        return this._type === &quot;symbol&quot;;
</ins><span class="cx">     },
</span><span class="cx"> 
</span><span class="cx">     isCollectionType: function()
</span><span class="cx">     {
</span><del>-        return this.subtype === &quot;map&quot; || this.subtype === &quot;set&quot; || this.subtype === &quot;weakmap&quot;;
</del><ins>+        return this._subtype === &quot;map&quot; || this._subtype === &quot;set&quot; || this._subtype === &quot;weakmap&quot;;
</ins><span class="cx">     },
</span><span class="cx"> 
</span><span class="cx">     isWeakCollection: function()
</span><span class="cx">     {
</span><del>-        return this.subtype === &quot;weakmap&quot;;
</del><ins>+        return this._subtype === &quot;weakmap&quot;;
</ins><span class="cx">     },
</span><span class="cx"> 
</span><span class="cx">     getCollectionEntries: function(start, numberToFetch, callback)
</span><span class="lines">@@ -260,11 +356,12 @@
</span><span class="cx">         console.assert(this.isCollectionType());
</span><span class="cx"> 
</span><span class="cx">         // WeakMaps are not ordered. We should never send a non-zero start.
</span><del>-        console.assert((this.subtype === &quot;weakmap&quot; &amp;&amp; start === 0) || this.subtype !== &quot;weakmap&quot;);
</del><ins>+        console.assert((this._subtype === &quot;weakmap&quot; &amp;&amp; start === 0) || this._subtype !== &quot;weakmap&quot;);
</ins><span class="cx"> 
</span><span class="cx">         var objectGroup = this.isWeakCollection() ? this._weakCollectionObjectGroup() : &quot;&quot;;
</span><span class="cx"> 
</span><span class="cx">         RuntimeAgent.getCollectionEntries(this._objectId, objectGroup, start, numberToFetch, function(error, entries) {
</span><ins>+            entries = entries.map(function(entry) { return WebInspector.CollectionEntry.fromPayload(entry); });
</ins><span class="cx">             callback(entries);
</span><span class="cx">         });
</span><span class="cx">     },
</span><span class="lines">@@ -311,12 +408,13 @@
</span><span class="cx"> 
</span><span class="cx">     arrayLength: function()
</span><span class="cx">     {
</span><del>-        if (this.subtype !== &quot;array&quot;)
</del><ins>+        if (this._subtype !== &quot;array&quot;)
</ins><span class="cx">             return 0;
</span><span class="cx"> 
</span><span class="cx">         var matches = this._description.match(/\[([0-9]+)\]/);
</span><span class="cx">         if (!matches)
</span><span class="cx">             return 0;
</span><ins>+
</ins><span class="cx">         return parseInt(matches[1], 10);
</span><span class="cx">     },
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceTesthtml"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Test.html (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Test.html        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/Source/WebInspectorUI/UserInterface/Test.html        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -67,9 +67,6 @@
</span><span class="cx">     &lt;script src=&quot;Models/TimelineRecord.js&quot;&gt;&lt;/script&gt;
</span><span class="cx"> 
</span><span class="cx">     &lt;script src=&quot;Models/Breakpoint.js&quot;&gt;&lt;/script&gt;
</span><del>-    &lt;script src=&quot;Models/CallFrame.js&quot;&gt;&lt;/script&gt;
-    &lt;script src=&quot;Models/Color.js&quot;&gt;&lt;/script&gt;
-    &lt;script src=&quot;Models/ContentFlow.js&quot;&gt;&lt;/script&gt;
</del><span class="cx">     &lt;script src=&quot;Models/CSSCompletions.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/CSSKeywordCompletions.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/CSSProperty.js&quot;&gt;&lt;/script&gt;
</span><span class="lines">@@ -77,10 +74,15 @@
</span><span class="cx">     &lt;script src=&quot;Models/CSSSelector.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/CSSStyleDeclaration.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/CSSStyleSheet.js&quot;&gt;&lt;/script&gt;
</span><ins>+    &lt;script src=&quot;Models/CallFrame.js&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;Models/CollectionEntry.js&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;Models/Color.js&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;Models/ContentFlow.js&quot;&gt;&lt;/script&gt;
</ins><span class="cx">     &lt;script src=&quot;Models/DOMNode.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/DOMNodeStyles.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/DOMStorageObject.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/DOMTree.js&quot;&gt;&lt;/script&gt;
</span><ins>+    &lt;script src=&quot;Models/CollectionEntryPreview.js&quot;&gt;&lt;/script&gt;
</ins><span class="cx">     &lt;script src=&quot;Models/ExecutionContext.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ExecutionContextList.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/Frame.js&quot;&gt;&lt;/script&gt;
</span><span class="lines">@@ -91,6 +93,7 @@
</span><span class="cx">     &lt;script src=&quot;Models/LayoutTimelineRecord.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/LazySourceCodeLocation.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/NetworkTimeline.js&quot;&gt;&lt;/script&gt;
</span><ins>+    &lt;script src=&quot;Models/ObjectPreview.js&quot;&gt;&lt;/script&gt;
</ins><span class="cx">     &lt;script src=&quot;Models/Probe.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ProbeSet.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ProbeSetDataFrame.js&quot;&gt;&lt;/script&gt;
</span><span class="lines">@@ -98,6 +101,8 @@
</span><span class="cx">     &lt;script src=&quot;Models/Profile.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ProfileNode.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ProfileNodeCall.js&quot;&gt;&lt;/script&gt;
</span><ins>+    &lt;script src=&quot;Models/PropertyDescriptor.js&quot;&gt;&lt;/script&gt;
+    &lt;script src=&quot;Models/PropertyPreview.js&quot;&gt;&lt;/script&gt;
</ins><span class="cx">     &lt;script src=&quot;Models/ReplaySession.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/ReplaySessionSegment.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Models/Resource.js&quot;&gt;&lt;/script&gt;
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsConsoleMessageImpljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageImpl.js (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageImpl.js        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ConsoleMessageImpl.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -247,7 +247,7 @@
</span><span class="cx">                 span.textContent = parameters[i].description;
</span><span class="cx">                 formattedResult.appendChild(span);
</span><span class="cx">             } else
</span><del>-                formattedResult.appendChild(this._formatParameter(parameters[i], false, true));
</del><ins>+                formattedResult.appendChild(this._formatParameter(parameters[i], false));
</ins><span class="cx"> 
</span><span class="cx">             if (i &lt; parameters.length - 1 &amp;&amp; !this._isExpandable(parameters[i]))
</span><span class="cx">                 formattedResult.appendChild(document.createTextNode(&quot; &quot;));
</span><span class="lines">@@ -266,7 +266,7 @@
</span><span class="cx">         return remoteObject.hasChildren;
</span><span class="cx">     },
</span><span class="cx"> 
</span><del>-    _formatParameter: function(output, forceObjectFormat, includePreview)
</del><ins>+    _formatParameter: function(output, forceObjectFormat)
</ins><span class="cx">     {
</span><span class="cx">         var type;
</span><span class="cx">         if (forceObjectFormat)
</span><span class="lines">@@ -288,7 +288,7 @@
</span><span class="cx">         if (this._isExpandable(output))
</span><span class="cx">             span.classList.add(&quot;expandable&quot;);
</span><span class="cx"> 
</span><del>-        formatter.call(this, output, span, includePreview);
</del><ins>+        formatter.call(this, output, span, forceObjectFormat);
</ins><span class="cx">         return span;
</span><span class="cx">     },
</span><span class="cx"> 
</span><span class="lines">@@ -297,123 +297,21 @@
</span><span class="cx">         elem.appendChild(document.createTextNode(val));
</span><span class="cx">     },
</span><span class="cx"> 
</span><del>-    _formatParameterAsObject: function(obj, elem, includePreview)
</del><ins>+    _formatParameterAsObject: function(obj, elem, forceExpansion)
</ins><span class="cx">     {
</span><del>-        var titleElement = document.createElement(&quot;span&quot;);
-        if (includePreview &amp;&amp; obj.preview) {
-            titleElement.classList.add(&quot;console-object-preview&quot;);
-
-            // COMPATIBILITY (iOS 8): iOS 7 and 8 did not have type/subtype/description on
-            // Runtime.ObjectPreview. Copy them over from the RemoteObject.
-            var preview = obj.preview;
-            if (!preview.type) {
-                preview.type = obj.type;
-                preview.subtype = obj.subtype;
-                preview.description = obj.description;
-            }
-
-            var lossless = this._appendPreview(titleElement, preview);
-            if (lossless) {
-                titleElement.classList.add(&quot;console-object-preview-lossless&quot;);
-                elem.appendChild(titleElement);
-                return;
-            }
-        } else
-            titleElement.appendChild(document.createTextNode(obj.description || &quot;&quot;));
-
-        var section = new WebInspector.ObjectPropertiesSection(obj, titleElement);
-        elem.appendChild(section.element);
</del><ins>+        var objectTree = new WebInspector.ObjectTreeView(obj, WebInspector.ObjectTreeView.Mode.Properties, forceExpansion);
+        elem.appendChild(objectTree.element);
</ins><span class="cx">     },
</span><span class="cx"> 
</span><del>-    _appendPreview: function(element, preview)
-    {
-        if (preview.type === &quot;object&quot; &amp;&amp; preview.subtype !== &quot;null&quot; &amp;&amp; preview.subtype !== &quot;array&quot;) {
-            var previewObjectNameElement = document.createElement(&quot;span&quot;);
-            previewObjectNameElement.classList.add(&quot;console-object-preview-name&quot;);
-            if (preview.description === &quot;Object&quot;)
-                previewObjectNameElement.classList.add(&quot;console-object-preview-name-Object&quot;);
-
-            previewObjectNameElement.textContent = preview.description + &quot; &quot;;
-            element.appendChild(previewObjectNameElement);
-        }
-
-        var bodyElement = element.createChild(&quot;span&quot;, &quot;console-object-preview-body&quot;);
-        if (preview.entries)
-            return this._appendEntryPreviews(bodyElement, preview);
-        if (preview.properties)
-            return this._appendPropertyPreviews(bodyElement, preview);
-        return this._appendValuePreview(bodyElement, preview);
-    },
-
-    _appendEntryPreviews: function(element, preview)
-    {
-        var lossless = preview.lossless &amp;&amp; !preview.properties.length;
-
-        element.appendChild(document.createTextNode(&quot;{&quot;));
-
-        for (var i = 0; i &lt; preview.entries.length; ++i) {
-            if (i &gt; 0)
-                element.appendChild(document.createTextNode(&quot;, &quot;));
-
-            var entry = preview.entries[i];
-            if (entry.key) {
-                this._appendPreview(element, entry.key);
-                element.appendChild(document.createTextNode(&quot; =&gt; &quot;));
-            }
-
-            this._appendPreview(element, entry.value);
-        }
-
-        if (preview.overflow)
-            element.createChild(&quot;span&quot;).textContent = &quot;\u2026&quot;;
-        element.appendChild(document.createTextNode(&quot;}&quot;));
-
-        return lossless;
-    },
-
-    _appendPropertyPreviews: function(element, preview)
-    {
-        var isArray = preview.subtype === &quot;array&quot;;
-
-        element.appendChild(document.createTextNode(isArray ? &quot;[&quot; : &quot;{&quot;));
-
-        for (var i = 0; i &lt; preview.properties.length; ++i) {
-            var property = preview.properties[i];
-
-            // FIXME: Better handle getter/setter accessors. Should we show getters in previews?
-            if (property.type === &quot;accessor&quot;)
-                continue;
-
-            // Constructor name is often already visible, so don't show it as a property.
-            if (property.name === &quot;constructor&quot;)
-                continue;
-
-            if (i &gt; 0)
-                element.appendChild(document.createTextNode(&quot;, &quot;));
-
-            if (!isArray || property.name != i) {
-                element.createChild(&quot;span&quot;, &quot;name&quot;).textContent = property.name;
-                element.appendChild(document.createTextNode(&quot;: &quot;));
-            }
-
-            element.appendChild(this._propertyPreviewElement(property));
-        }
-
-        if (preview.overflow)
-            element.createChild(&quot;span&quot;).textContent = &quot;\u2026&quot;;
-
-        element.appendChild(document.createTextNode(isArray ? &quot;]&quot; : &quot;}&quot;));
-
-        return preview.lossless;
-    },
-
</del><span class="cx">     _propertyPreviewElement: function(property)
</span><span class="cx">     {
</span><ins>+        // FIXME: Used by console.table. We should be able to eliminate this in favor of ObjectPreview.
+
</ins><span class="cx">         var span = document.createElement(&quot;span&quot;);
</span><del>-        span.classList.add(&quot;console-formatted-&quot; + property.type);
</del><ins>+        span.classList.add(WebInspector.ObjectTreeView.classNameForObject(property));
</ins><span class="cx"> 
</span><span class="cx">         if (property.type === &quot;string&quot;) {
</span><del>-            span.textContent = &quot;\&quot;&quot; + property.value.replace(/\n/g, &quot;\u21B5&quot;) + &quot;\&quot;&quot;;
</del><ins>+            span.textContent = &quot;\&quot;&quot; + property.value.replace(/\n/g, &quot;\u21B5&quot;).replace(/&quot;/g, &quot;\\\&quot;&quot;) + &quot;\&quot;&quot;;
</ins><span class="cx">             return span;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -422,22 +320,10 @@
</span><span class="cx">             return span;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        if (property.type === &quot;object&quot;) {
-            if (property.subtype === &quot;node&quot;)
-                span.classList.add(&quot;console-formatted-preview-node&quot;);
-            else if (property.subtype === &quot;regexp&quot;)
-                span.classList.add(&quot;console-formatted-regexp&quot;);
-        }
-
</del><span class="cx">         span.textContent = property.value;
</span><span class="cx">         return span;
</span><span class="cx">     },
</span><span class="cx"> 
</span><del>-    _appendValuePreview: function(element, preview)
-    {
-        element.appendChild(document.createTextNode(preview.description));
-    },
-
</del><span class="cx">     _formatParameterAsNode: function(object, elem)
</span><span class="cx">     {
</span><span class="cx">         function printNode(nodeId)
</span><span class="lines">@@ -445,7 +331,7 @@
</span><span class="cx">             if (!nodeId) {
</span><span class="cx">                 // Sometimes DOM is loaded after the sync message is being formatted, so we get no
</span><span class="cx">                 // nodeId here. So we fall back to object formatting here.
</span><del>-                this._formatParameterAsObject(object, elem, false);
</del><ins>+                this._formatParameterAsObject(object, elem, true);
</ins><span class="cx">                 return;
</span><span class="cx">             }
</span><span class="cx">             var treeOutline = new WebInspector.DOMTreeOutline(false, false, true);
</span><span class="lines">@@ -571,7 +457,7 @@
</span><span class="cx"> 
</span><span class="cx">         // If lossless or not table data, output the object so full data can be gotten.
</span><span class="cx">         if (!preview.lossless || !flatValues.length) {
</span><del>-            element.appendChild(this._formatParameter(table, true, false));
</del><ins>+            element.appendChild(this._formatParameter(table, true));
</ins><span class="cx">             if (!flatValues.length)
</span><span class="cx">                 return element;
</span><span class="cx">         }
</span><span class="lines">@@ -589,10 +475,10 @@
</span><span class="cx">         var span = document.createElement(&quot;span&quot;);
</span><span class="cx">         span.className = &quot;console-formatted-string source-code&quot;;
</span><span class="cx">         span.appendChild(document.createTextNode(&quot;\&quot;&quot;));
</span><del>-        span.appendChild(WebInspector.linkifyStringAsFragment(output.description));
</del><ins>+        span.appendChild(WebInspector.linkifyStringAsFragment(output.description.replace(/&quot;/g, &quot;\\\&quot;&quot;)));
</ins><span class="cx">         span.appendChild(document.createTextNode(&quot;\&quot;&quot;));
</span><span class="cx"> 
</span><del>-        elem.classList.remove(&quot;console-formatted-string&quot;);        
</del><ins>+        elem.classList.remove(&quot;console-formatted-string&quot;);
</ins><span class="cx">         elem.appendChild(span);
</span><span class="cx">     },
</span><span class="cx"> 
</span><span class="lines">@@ -644,7 +530,7 @@
</span><span class="cx">     _formatAsArrayEntry: function(output)
</span><span class="cx">     {
</span><span class="cx">         // Prevent infinite expansion of cross-referencing arrays.
</span><del>-        return this._formatParameter(output, output.subtype &amp;&amp; output.subtype === &quot;array&quot;, false);
</del><ins>+        return this._formatParameter(output, output.subtype &amp;&amp; output.subtype === &quot;array&quot;);
</ins><span class="cx">     },
</span><span class="cx"> 
</span><span class="cx">     _formatWithSubstitutionString: function(parameters, formattedResult)
</span><span class="lines">@@ -653,7 +539,7 @@
</span><span class="cx"> 
</span><span class="cx">         function parameterFormatter(force, obj)
</span><span class="cx">         {
</span><del>-            return this._formatParameter(obj, force, false);
</del><ins>+            return this._formatParameter(obj, force);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         function stringFormatter(obj)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsObjectPreviewViewcss"></a>
<div class="addfile"><h4>Added: trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPreviewView.css (0 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPreviewView.css                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPreviewView.css        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+.object-preview {
+    font-style: italic;
+}
+
+.object-preview.lossless {
+    font-style: normal;
+}
+
+.object-preview .name {
+    color: rgb(136, 19, 145);
+}
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsObjectPreviewViewjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPreviewView.js (0 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPreviewView.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPreviewView.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -0,0 +1,191 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.ObjectPreviewView = function(preview, mode)
+{
+    WebInspector.Object.call(this);
+
+    console.assert(preview instanceof WebInspector.ObjectPreview);
+
+    this._preview = preview;
+    this._mode = mode || WebInspector.ObjectPreviewView.Mode.Full;
+
+    this._element = document.createElement(&quot;span&quot;);
+    this._element.className = &quot;object-preview&quot;;
+    this._lossless = this._appendPreview(this._element, this._preview);
+
+    if (this._lossless)
+        this._element.classList.add(&quot;lossless&quot;);
+};
+
+WebInspector.ObjectPreviewView.Mode = {
+    Brief: Symbol(&quot;object-preview-brief&quot;),
+    Full: Symbol(&quot;object-preview-full&quot;),
+};
+
+WebInspector.ObjectPreviewView.prototype = {
+    constructor: WebInspector.ObjectPreviewView,
+    __proto__: WebInspector.Object,
+
+    // Public
+
+    get preview()
+    {
+        return this._preview;
+    },
+
+    get element()
+    {
+        return this._element;
+    },
+
+    get mode()
+    {
+        return this._mode;
+    },
+
+    get lossless()
+    {
+        return this._lossless;
+    },
+
+    // Private
+
+    _numberOfPropertiesToShowInMode: function()
+    {
+        return this._mode === WebInspector.ObjectPreviewView.Mode.Brief ? 3 : Infinity;
+    },
+
+    _appendPreview: function(element, preview)
+    {
+        // Class name for non-array object types.
+        if (preview.type === &quot;object&quot; &amp;&amp; preview.subtype !== &quot;null&quot; &amp;&amp; preview.subtype !== &quot;array&quot; &amp;&amp; preview.description !== &quot;Object&quot;) {
+            var nameElement = element.appendChild(document.createElement(&quot;span&quot;));
+            nameElement.className = &quot;object-preview-name&quot;;
+            nameElement.textContent = preview.description + &quot; &quot;;
+        }
+
+        // Content.
+        var bodyElement = element.appendChild(document.createElement(&quot;span&quot;));
+        bodyElement.className = &quot;object-preview-body&quot;;
+        if (preview.collectionEntryPreviews)
+            return this._appendEntryPreviews(bodyElement, preview);
+        if (preview.propertyPreviews)
+            return this._appendPropertyPreviews(bodyElement, preview);
+        return this._appendValuePreview(bodyElement, preview);
+    },
+
+    _appendEntryPreviews: function(element, preview)
+    {
+        var lossless = preview.lossless &amp;&amp; !preview.propertyPreviews.length;
+
+        element.appendChild(document.createTextNode(&quot;{&quot;));
+
+        var limit = Math.min(preview.collectionEntryPreviews.length, this._numberOfPropertiesToShowInMode());
+        for (var i = 0; i &lt; limit; ++i) {
+            if (i &gt; 0)
+                element.appendChild(document.createTextNode(&quot;, &quot;));
+
+            var entry = preview.collectionEntryPreviews[i];
+            if (entry.keyPreview) {
+                this._appendPreview(element, entry.keyPreview);
+                element.appendChild(document.createTextNode(&quot; =&gt; &quot;));
+            }
+
+            this._appendPreview(element, entry.valuePreview);
+        }
+
+        if (preview.overflow)
+            element.appendChild(document.createTextNode(&quot;\u2026&quot;));
+        element.appendChild(document.createTextNode(&quot;}&quot;));
+
+        return lossless;
+    },
+
+    _appendPropertyPreviews: function(element, preview)
+    {
+        var isArray = preview.subtype === &quot;array&quot;;
+
+        element.appendChild(document.createTextNode(isArray ? &quot;[&quot; : &quot;{&quot;));
+
+        var numberAdded = 0;
+        var limit = this._numberOfPropertiesToShowInMode();
+        for (var i = 0; i &lt; preview.propertyPreviews.length &amp;&amp; numberAdded &lt; limit; ++i) {
+            var property = preview.propertyPreviews[i];
+
+            // FIXME: Better handle getter/setter accessors. Should we show getters in previews?
+            if (property.type === &quot;accessor&quot;)
+                continue;
+
+            // Constructor name is often already visible, so don't show it as a property.
+            if (property.name === &quot;constructor&quot;)
+                continue;
+
+            if (numberAdded++ &gt; 0)
+                element.appendChild(document.createTextNode(&quot;, &quot;));
+
+            if (!isArray || property.name != i) {
+                var nameElement = element.appendChild(document.createElement(&quot;span&quot;));
+                nameElement.className = &quot;name&quot;;
+                nameElement.textContent = property.name;
+                element.appendChild(document.createTextNode(&quot;: &quot;));
+            }
+
+            element.appendChild(this._formattedObjectElementForPreview(property, property.value));
+        }
+
+        if (preview.overflow)
+            element.appendChild(document.createTextNode(&quot;\u2026&quot;));
+
+        element.appendChild(document.createTextNode(isArray ? &quot;]&quot; : &quot;}&quot;));
+
+        return preview.lossless;
+    },
+
+    _appendValuePreview: function(element, preview)
+    {
+        element.appendChild(this._formattedObjectElementForPreview(preview, preview.description));
+        return true;
+    },
+
+    _formattedObjectElementForPreview: function(propertyPreviewOrObjectPreview, value)
+    {
+        var span = document.createElement(&quot;span&quot;);
+        span.classList.add(WebInspector.ObjectTreeView.classNameForObject(propertyPreviewOrObjectPreview));
+
+        if (propertyPreviewOrObjectPreview.type === &quot;string&quot;) {
+            span.textContent = &quot;\&quot;&quot; + value.replace(/\n/g, &quot;\u21B5&quot;).replace(/&quot;/g, &quot;\\\&quot;&quot;) + &quot;\&quot;&quot;;
+            return span;
+        }
+
+        if (propertyPreviewOrObjectPreview.type === &quot;function&quot;) {
+            span.textContent = &quot;function&quot;;
+            return span;
+        }
+
+        span.textContent = value;
+        return span;
+    }
+};
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsObjectPropertiesSectionjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPropertiesSection.js (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPropertiesSection.js        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ObjectPropertiesSection.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -207,7 +207,7 @@
</span><span class="cx">         if (this.property.wasThrown)
</span><span class="cx">             this.valueElement.textContent = &quot;[Exception: &quot; + description + &quot;]&quot;;
</span><span class="cx">         else if (this.property.value.type === &quot;string&quot; &amp;&amp; typeof description === &quot;string&quot;) {
</span><del>-            this.valueElement.textContent = &quot;\&quot;&quot; + description.replace(/\n/g, &quot;\u21B5&quot;) + &quot;\&quot;&quot;;
</del><ins>+            this.valueElement.textContent = &quot;\&quot;&quot; + description.replace(/\n/g, &quot;\u21B5&quot;).replace(/&quot;/g, &quot;\\\&quot;&quot;) + &quot;\&quot;&quot;;
</ins><span class="cx">             this.valueElement._originalTextContent = &quot;\&quot;&quot; + description + &quot;\&quot;&quot;;
</span><span class="cx">         } else if (this.property.value.type === &quot;function&quot; &amp;&amp; typeof description === &quot;string&quot;) {
</span><span class="cx">             this.valueElement.textContent = /.*/.exec(description)[0].replace(/ +$/g, &quot;&quot;);
</span><span class="lines">@@ -404,7 +404,7 @@
</span><span class="cx">                 else {
</span><span class="cx">                     this.appendChild(new WebInspector.ObjectPropertyTreeElement({
</span><span class="cx">                         name: &quot;&quot; + i,
</span><del>-                        value: WebInspector.RemoteObject.fromPayload(entry.value),
</del><ins>+                        value: entry.value,
</ins><span class="cx">                         enumerable: true,
</span><span class="cx">                         writable: false,
</span><span class="cx">                     }));
</span><span class="lines">@@ -472,8 +472,8 @@
</span><span class="cx">     console.assert(entry);
</span><span class="cx"> 
</span><span class="cx">     this._name = &quot;&quot; + index;
</span><del>-    this._key = WebInspector.RemoteObject.fromPayload(entry.key);
-    this._value = WebInspector.RemoteObject.fromPayload(entry.value);
</del><ins>+    this._key = entry.key;
+    this._value = entry.value;
</ins><span class="cx"> 
</span><span class="cx">     this.toggleOnClick = true;
</span><span class="cx">     this.selectable = false;
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsObjectTreeCollectionTreeElementjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeCollectionTreeElement.js (0 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeCollectionTreeElement.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeCollectionTreeElement.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -0,0 +1,215 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.ObjectTreeCollectionTreeElement = function(remoteObject)
+{
+    console.assert(remoteObject instanceof WebInspector.RemoteObject);
+
+    this._remoteObject = remoteObject;
+    this._requestingEntries = false;
+    this._trackingEntries = false;
+
+    TreeElement.call(this, &quot;&lt;entries&gt;&quot;, null, false);
+    this.toggleOnClick = true;
+    this.selectable = false;
+    this.hasChildren = true;
+    this.expand();
+
+    // FIXME: When a parent TreeElement is collapsed, we do not get a chance
+    // to releaseWeakCollectionEntries. We should.
+};
+
+WebInspector.ObjectTreeCollectionTreeElement.propertyDescriptorForEntry = function(name, value)
+{
+    var descriptor = {name: name, value: value, enumerable: true, writable: false};
+    return new WebInspector.PropertyDescriptor(descriptor, true, false, false);
+}
+
+WebInspector.ObjectTreeCollectionTreeElement.prototype = {
+    constructor: WebInspector.ObjectTreeCollectionTreeElement,
+    __proto__: TreeElement.prototype,
+
+    // Public
+
+    get remoteObject()
+    {
+        return this._remoteObject;
+    },
+
+    // Protected
+
+    onexpand: function()
+    {
+        if (this.children.length &amp;&amp; !this.shouldRefreshChildren)
+            return;
+
+        if (this._requestingEntries)
+            return;
+
+        this._requestingEntries = true;
+
+        function callback(entries) {
+            this._requestingEntries = false;
+
+            this.removeChildren();
+
+            if (!entries || !entries.length) {
+                this.appendChild(new WebInspector.ObjectTreeEmptyCollectionTreeElement);
+                return;
+            }
+
+            this._trackWeakEntries();
+
+            for (var i = 0; i &lt; entries.length; ++i) {
+                var entry = entries[i];
+                if (entry.key)
+                    this.appendChild(new WebInspector.ObjectTreeCollectionEntryTreeElement(entry, i));
+                else {
+                    var propertyDescriptor = WebInspector.ObjectTreeCollectionTreeElement.propertyDescriptorForEntry(&quot;&quot; + i, entry.value);
+                    this.appendChild(new WebInspector.ObjectTreePropertyTreeElement(propertyDescriptor));
+                }
+            }
+        }
+
+        this._remoteObject.getCollectionEntries(0, 100, callback.bind(this));
+    },
+
+    oncollapse: function()
+    {
+        this._untrackWeakEntries();
+    },
+
+    ondetach: function()
+    {
+        this._untrackWeakEntries();
+    },
+
+    // Private.
+
+    _trackWeakEntries: function()
+    {
+        if (!this._remoteObject.isWeakCollection())
+            return;
+
+        if (this._trackingEntries)
+            return;
+
+        this._trackingEntries = true;
+
+        WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.Cleared, this._untrackWeakEntries, this);
+        WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.ActiveLogCleared, this._untrackWeakEntries, this);
+        WebInspector.logManager.addEventListener(WebInspector.LogManager.Event.SessionStarted, this._untrackWeakEntries, this);
+    },
+
+    _untrackWeakEntries: function()
+    {
+        if (!this._remoteObject.isWeakCollection())
+            return;
+
+        if (!this._trackingEntries)
+            return;
+
+        this._trackingEntries = false;
+
+        this._remoteObject.releaseWeakCollectionEntries();
+
+        WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.Cleared, this._untrackWeakEntries, this);
+        WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.ActiveLogCleared, this._untrackWeakEntries, this);
+        WebInspector.logManager.removeEventListener(WebInspector.LogManager.Event.SessionStarted, this._untrackWeakEntries, this);
+
+        this.removeChildren();
+
+        if (this.expanded)
+            this.collapse();
+    },
+};
+
+WebInspector.ObjectTreeCollectionEntryTreeElement = function(entry, index)
+{
+    console.assert(entry instanceof WebInspector.CollectionEntry);
+    console.assert(entry.key instanceof WebInspector.RemoteObject);
+    console.assert(entry.value instanceof WebInspector.RemoteObject);
+
+    this._name = &quot;&quot; + index;
+    this._key = entry.key;
+    this._value = entry.value;
+
+    TreeElement.call(this, &quot;&quot;, null, false);
+    this.toggleOnClick = true;
+    this.selectable = false;
+    this.hasChildren = true;
+}
+
+WebInspector.ObjectTreeCollectionEntryTreeElement.prototype = {
+    constructor: WebInspector.ObjectTreeCollectionEntryTreeElement,
+    __proto__: TreeElement.prototype,
+
+    // Protected
+
+    onpopulate: function()
+    {
+        if (this.children.length &amp;&amp; !this.shouldRefreshChildren)
+            return;
+
+        var keyPropertyDescriptor = WebInspector.ObjectTreeCollectionTreeElement.propertyDescriptorForEntry(&quot;key&quot;, this._key);
+        this.appendChild(new WebInspector.ObjectTreePropertyTreeElement(keyPropertyDescriptor));
+
+        var valuePropertyDescriptor = WebInspector.ObjectTreeCollectionTreeElement.propertyDescriptorForEntry(&quot;value&quot;, this._value);
+        this.appendChild(new WebInspector.ObjectTreePropertyTreeElement(valuePropertyDescriptor));
+    },
+
+    onattach: function()
+    {
+        var nameElement = document.createElement(&quot;span&quot;);
+        nameElement.className = &quot;name&quot;;
+        nameElement.textContent = &quot;&quot; + this._name;
+
+        var separatorElement = document.createElement(&quot;span&quot;);
+        separatorElement.className = &quot;separator&quot;;
+        separatorElement.textContent = &quot;: &quot;;
+
+        var valueElement = document.createElement(&quot;span&quot;);
+        valueElement.className = &quot;value&quot;;
+        valueElement.textContent = &quot;{&quot; + this._key.description + &quot; =&gt; &quot; + this._value.description + &quot;}&quot;;
+
+        this.listItemElement.classList.add(&quot;object-tree-property&quot;);
+
+        this.listItemElement.removeChildren();
+        this.listItemElement.appendChild(nameElement);
+        this.listItemElement.appendChild(separatorElement);
+        this.listItemElement.appendChild(valueElement);
+    }
+};
+
+WebInspector.ObjectTreeEmptyCollectionTreeElement = function()
+{
+    TreeElement.call(this, WebInspector.UIString(&quot;Empty Collection&quot;), null, false);
+    this.selectable = false;
+}
+
+WebInspector.ObjectTreeEmptyCollectionTreeElement.prototype = {
+    constructor: WebInspector.ObjectTreeEmptyCollectionTreeElement,
+    __proto__: TreeElement.prototype
+};
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsObjectTreePropertyTreeElementjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js (0 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreePropertyTreeElement.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -0,0 +1,215 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.ObjectTreePropertyTreeElement = function(property, mode)
+{
+    console.assert(property instanceof WebInspector.PropertyDescriptor);
+
+    this._property = property;
+    this._mode = mode || WebInspector.ObjectTreeView.Mode.Properties;
+
+    // FIXME: API Mode not turned on yet.
+    this._mode = WebInspector.ObjectTreeView.Mode.Properties;
+
+    TreeElement.call(this, &quot;&quot;, null, false);
+    this.toggleOnClick = true;
+    this.selectable = false;
+};
+
+WebInspector.ObjectTreePropertyTreeElement.prototype = {
+    constructor: WebInspector.ObjectTreePropertyTreeElement,
+    __proto__: TreeElement.prototype,
+
+    // Public
+
+    get property()
+    {
+        return this._property;
+    },
+
+    // Protected
+
+    onpopulate: function()
+    {
+        this._updateChildren();
+    },
+
+    onattach: function()
+    {
+        this.listItemElement.classList.add(&quot;object-tree-property&quot;);
+
+        this._updateTitle();
+    },
+
+    // Private
+
+    _updateTitle: function()
+    {
+        this.listItemElement.removeChildren();
+
+        if (this._mode === WebInspector.ObjectTreeView.Mode.Properties) {
+            this._updateTitlePropertyStyle();
+            this.hasChildren = this._property.hasValue() &amp;&amp; this._property.value.hasChildren &amp;&amp; !this._property.wasThrown;
+        } else {
+            this._updateTitleAPIStyle();
+            this.hasChildren = this._property.hasValue() &amp;&amp; this._property.value.hasChildren &amp;&amp; !this._property.wasThrown &amp;&amp; this._property.name === &quot;__proto__&quot;;
+        }
+    },
+
+    _updateTitlePropertyStyle: function()
+    {
+        // Property name.
+        var nameElement = document.createElement(&quot;span&quot;);
+        nameElement.className = &quot;name&quot;;
+        nameElement.textContent = this._property.name;
+
+        // Property attributes.
+        if (this._mode === WebInspector.ObjectTreeView.Mode.Properties) {
+            if (!this._property.enumerable)
+                nameElement.classList.add(&quot;not-enumerable&quot;);
+        }
+
+        // Separator.
+        var separatorElement = document.createElement(&quot;span&quot;);
+        separatorElement.className = &quot;separator&quot;;
+        separatorElement.textContent = &quot;: &quot;;
+
+        // Value / Getter.
+        var valueOrGetterElement = document.createElement(&quot;span&quot;);
+        valueOrGetterElement.className = &quot;value&quot;;
+
+        if (this._property.hasValue()) {
+            valueOrGetterElement.textContent = this._descriptionString();
+            valueOrGetterElement.classList.add(WebInspector.ObjectTreeView.classNameForObject(this._property.value));
+            // FIXME: Context Menu for Value. (See ObjectPropertiesSection).
+            // FIXME: Option+Click for Value.
+        } else {
+            console.assert(this._property.hasGetter());
+            valueOrGetterElement.textContent = &quot;(...)&quot;;
+            // FIXME: Click to Populate Value.
+            // FIXME: Context Menu to Populate Value.
+        }
+
+        if (this._property.wasThrown)
+            valueOrGetterElement.classList.add(&quot;error&quot;);
+
+        this.listItemElement.appendChild(nameElement);
+        this.listItemElement.appendChild(separatorElement);
+        this.listItemElement.appendChild(valueOrGetterElement);
+    },
+
+    _updateTitleAPIStyle: function()
+    {
+        // Fixed value. Display like a property.
+        const propertyNamesToDisplayAsValues = [&quot;__proto__&quot;, &quot;constructor&quot;];
+        if (propertyNamesToDisplayAsValues.contains(this._property.name) || (this._property.hasValue() &amp;&amp; this._property.value.type !== &quot;function&quot;)) {
+            this._updateTitlePropertyStyle();
+            return;
+        }
+
+        // No API to display.
+        var isFunction = this._property.hasValue() &amp;&amp; this._property.value.type === &quot;function&quot;;
+        if (!isFunction &amp;&amp; !this._property.hasGetter() &amp;&amp; !this._property.hasSetter())
+            return;
+
+        // Function / Getter / Setter.
+        var nameElement = document.createElement(&quot;span&quot;);
+        nameElement.className = &quot;name&quot;;
+        nameElement.textContent = this._property.name;
+        this.listItemElement.appendChild(nameElement);
+
+        if (isFunction) {
+            var paramElement = document.createElement(&quot;span&quot;);
+            paramElement.textContent = this._functionParameterString();
+            this.listItemElement.appendChild(paramElement);
+        }
+
+        if (this._property.hasGetter()) {
+            var icon = document.createElement(&quot;span&quot;);
+            icon.textContent += &quot;[G]&quot;;
+            this.listItemElement.appendChild(icon);
+        }
+        if (this._property.hasSetter()) {
+            var icon = document.createElement(&quot;span&quot;);
+            icon.textContent += &quot;[S]&quot;;
+            this.listItemElement.appendChild(icon);
+        }
+    },
+
+    _descriptionString: function()
+    {
+        var value = this._property.value;
+        var description = value.description;
+
+        // Exception.
+        if (this._property.wasThrown)
+            return &quot;[Exception: &quot; + description + &quot;]&quot;;
+
+        // String: replace newlines as nice unicode symbols.
+        if (value.type === &quot;string&quot;)
+            return &quot;\&quot;&quot; + description.replace(/\n/g, &quot;\u21B5&quot;).replace(/&quot;/g, &quot;\\\&quot;&quot;) + &quot;\&quot;&quot;;
+
+        // Function: Collapse whitespace in function display strings.
+        if (value.type === &quot;function&quot;)
+            return /.*/.exec(description)[0].replace(/ +$/g, &quot;&quot;);
+
+        return description;
+    },
+
+    _functionParameterString: function()
+    {
+        console.assert(this._property.value.type === &quot;function&quot;);
+
+        var match = this._property.value.description.match(/^function.*?(\([^)]+?\))/);
+        return match ? match[1] : &quot;()&quot;;
+    },
+
+    _updateChildren: function()
+    {
+        if (this.children.length &amp;&amp; !this.shouldRefreshChildren)
+            return;
+
+        function callback(mode, properties)
+        {
+            this.removeChildren();
+
+            if (properties) {
+                properties.sort(WebInspector.ObjectTreeView.ComparePropertyDescriptors);
+                for (var propertyDescriptor of properties)
+                    this.appendChild(new WebInspector.ObjectTreePropertyTreeElement(propertyDescriptor, mode));
+            }
+
+            if (mode === WebInspector.ObjectTreeView.Mode.Properties) {
+                if (this._property.value.isCollectionType())
+                    this.appendChild(new WebInspector.ObjectTreeCollectionTreeElement(this._property.value));
+            }
+        };
+
+        if (this._property.name === &quot;__proto__&quot;)
+            this._property.value.getOwnPropertyDescriptors(callback.bind(this, WebInspector.ObjectTreeView.Mode.API));
+        else
+            this._property.value.getOwnAndGetterPropertyDescriptors(callback.bind(this, this._mode));
+    }
+};
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsObjectTreeViewcss"></a>
<div class="addfile"><h4>Added: trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeView.css (0 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeView.css                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeView.css        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -0,0 +1,203 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+.object-tree {
+    position: relative;
+}
+
+.object-tree &gt; .title {
+    color: black;
+    padding: 0 8px 0 18px;
+    min-height: 18px;
+    white-space: nowrap;
+    background-origin: padding;
+    background-clip: padding;
+}
+
+.object-tree &gt; :matches(.title, .object-preview)::before {
+    position: absolute;
+    top: 5px;
+    left: 7px;
+
+    width: 8px;
+    height: 8px;
+
+    background-image: -webkit-canvas(disclosure-triangle-tiny-closed-normal);
+    background-size: 8px 8px;
+    background-repeat: no-repeat;
+
+    content: &quot;&quot;;
+}
+
+.object-tree.expanded &gt; :matches(.title, .object-preview)::before {
+    background-image: -webkit-canvas(disclosure-triangle-tiny-open-normal);
+}
+
+.object-tree.lossless-preview &gt; :matches(.title, .object-preview)::before {
+    background: none;
+    width: 0px;
+}
+
+.object-tree-outline {
+    display: none;
+}
+
+.object-tree.expanded &gt; .object-tree-outline {
+    display: block;
+    padding-left: 16px;
+}
+
+.object-tree-outline {
+    margin: 0;
+    padding: 0 6px 2px;
+    list-style: none;
+    min-height: 18px;
+    outline: none;
+}
+
+.object-tree-outline li {
+    margin-left: 12px;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    -webkit-user-select: text;
+    cursor: default;
+}
+
+.object-tree-outline li.parent {
+    margin-left: 1px;
+}
+
+.object-tree-outline li.parent::before {
+    float: left;
+
+    content: &quot;&quot;;
+
+    background-image: -webkit-canvas(disclosure-triangle-tiny-closed-normal);
+    background-size: 8px 8px;
+    background-repeat: no-repeat;
+
+    width: 8px;
+    height: 8px;
+
+    margin-top: 3px;
+    padding-right: 2px;
+}
+
+.object-tree-outline li.parent.expanded::before {
+    background-image: -webkit-canvas(disclosure-triangle-tiny-open-normal);
+}
+
+.object-tree-outline ol {
+    display: none;
+    margin: 0;
+    -webkit-padding-start: 12px;
+    list-style: none;
+}
+
+.object-tree-outline ol.expanded {
+    display: block;
+}
+
+.object-tree-outline li .empty-message {
+    padding-top: 0;
+    padding-bottom: 0;
+    color: rgb(60%, 60%, 60%);
+}
+
+/* Property Colors */
+
+.object-tree-property .name {
+    color: rgb(136, 19, 145);
+}
+
+.object-tree-property .name.not-enumerable {
+    opacity: 0.6;
+}
+
+.object-tree-property .value.error {
+    color: red;
+}
+
+
+/* Object Tree Type Colors */
+
+.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap {
+    position: relative;
+    display: inline-block;
+    vertical-align: top;
+    color: black;
+}
+
+.formatted-number {
+    color: rgb(28, 0, 207);
+}
+
+.formatted-string, .formatted-regexp {
+    white-space: pre;
+}
+
+.formatted-string {
+    color: rgb(196, 26, 22);
+}
+
+.formatted-regexp {
+    color: rgb(255, 88, 0);
+}
+
+.formatted-symbol {
+    color: rgb(63, 169, 156);
+}
+
+.formatted-null, .formatted-undefined {
+    color: rgb(128, 128, 128);
+}
+
+
+/* Console Overrides */
+
+.console-group-messages .object-tree:not(.lossless-preview) {
+    margin: 0 0 0 12px !important;
+}
+
+.console-group-messages .object-tree:not(.lossless-preview) &gt; :matches(.title, .object-preview) {
+    padding: 0 8px 0 0;
+}
+
+.console-group-messages .object-tree:not(.lossless-preview) &gt; :matches(.title, .object-preview)::before {
+    top: 2px;
+    left: 1px;
+}
+
+/* FIXME: Transitioning the console over to formatted-object */
+.console-group-messages :matches(.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap) .object-tree,
+.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree {
+    position: static;
+}
+
+.console-group-messages :matches(.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap) .object-tree-outline,
+.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree-outline {
+    padding-left: 0 !important;
+}
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsObjectTreeViewjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeView.js (0 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeView.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ObjectTreeView.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -0,0 +1,226 @@
</span><ins>+/*
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.ObjectTreeView = function(object, mode, forceExpanding)
+{
+    WebInspector.Object.call(this);
+
+    console.assert(object instanceof WebInspector.RemoteObject);
+
+    this._object = object;
+    this._mode = mode || WebInspector.ObjectTreeView.Mode.Properties;
+    this._expanded = false;
+    this._hasLosslessPreview = false;
+
+    this._element = document.createElement(&quot;div&quot;);
+    this._element.className = &quot;object-tree&quot;;
+
+    if (this._object.preview) {
+        var previewView = new WebInspector.ObjectPreviewView(this._object.preview);
+        this._previewElement = previewView.element;
+        this._previewElement.addEventListener(&quot;click&quot;, this._handlePreviewOrTitleElementClick.bind(this));
+        this._element.appendChild(this._previewElement);
+
+        if (previewView.lossless &amp;&amp; !forceExpanding) {
+            this._hasLosslessPreview = true;
+            this.element.classList.add(&quot;lossless-preview&quot;);
+        }
+    }
+
+    this._titleElement = document.createElement(&quot;span&quot;);
+    this._titleElement.className = &quot;title&quot;;
+    this._titleElement.textContent = this._object.description || &quot;&quot;;
+    this._titleElement.addEventListener(&quot;click&quot;, this._handlePreviewOrTitleElementClick.bind(this));
+    this._element.appendChild(this._titleElement);
+
+    if (this._object.preview)
+        this._titleElement.hidden = true;
+
+    this._outlineElement = document.createElement(&quot;ol&quot;);
+    this._outlineElement.className = &quot;object-tree-outline&quot;;
+    this._outline = new TreeOutline(this._outlineElement);
+    this._element.appendChild(this._outlineElement);
+
+    // FIXME: Support editable ObjectTrees.
+};
+
+WebInspector.ObjectTreeView.Mode = {
+    Properties: Symbol(&quot;object-tree-properties&quot;),
+    API: Symbol(&quot;object-tree-api&quot;),
+};
+
+WebInspector.ObjectTreeView.classNameForObject = function(object)
+{
+    return &quot;formatted-&quot; + (object.subtype ? object.subtype : object.type);
+}
+
+WebInspector.ObjectTreeView.ComparePropertyDescriptors = function(propertyA, propertyB)
+{
+    var a = propertyA.name;
+    var b = propertyB.name;
+
+    // Put __proto__ at the bottom.
+    if (a === &quot;__proto__&quot;)
+        return 1;
+    if (b === &quot;__proto__&quot;)
+        return -1;
+
+    // Put internal properties at the top.
+    if (a.isInternalProperty &amp;&amp; !b.isInternalProperty)
+        return -1;
+    if (b.isInternalProperty &amp;&amp; !a.isInternalProperty)
+        return 1;
+
+    // if used elsewhere make sure to
+    //  - convert a and b to strings (not needed here, properties are all strings)
+    //  - check if a == b (not needed here, no two properties can be the same)
+
+    var diff = 0;
+    var chunk = /^\d+|^\D+/;
+    var chunka, chunkb, anum, bnum;
+    while (diff === 0) {
+        if (!a &amp;&amp; b)
+            return -1;
+        if (!b &amp;&amp; a)
+            return 1;
+        chunka = a.match(chunk)[0];
+        chunkb = b.match(chunk)[0];
+        anum = !isNaN(chunka);
+        bnum = !isNaN(chunkb);
+        if (anum &amp;&amp; !bnum)
+            return -1;
+        if (bnum &amp;&amp; !anum)
+            return 1;
+        if (anum &amp;&amp; bnum) {
+            diff = chunka - chunkb;
+            if (diff === 0 &amp;&amp; chunka.length !== chunkb.length) {
+                if (!+chunka &amp;&amp; !+chunkb) // chunks are strings of all 0s (special case)
+                    return chunka.length - chunkb.length;
+                else
+                    return chunkb.length - chunka.length;
+            }
+        } else if (chunka !== chunkb)
+            return (chunka &lt; chunkb) ? -1 : 1;
+        a = a.substring(chunka.length);
+        b = b.substring(chunkb.length);
+    }
+    return diff;
+};
+
+WebInspector.ObjectTreeView.prototype = {
+    constructor: WebInspector.ObjectTreeView,
+    __proto__: WebInspector.Object,
+
+    // Public
+
+    get object()
+    {
+        return this._object;
+    },
+
+    get element()
+    {
+        return this._element;
+    },
+
+    get expanded()
+    {
+        return this._expanded;
+    },
+
+    expand: function()
+    {
+        if (this._expanded)
+            return;
+
+        this._expanded = true;
+        this._element.classList.add(&quot;expanded&quot;);
+
+        if (this._previewElement) {
+            this._previewElement.hidden = true;
+            this._titleElement.hidden = false;
+        }
+
+        this.update();
+    },
+
+    collapse: function()
+    {
+        if (!this._expanded)
+            return;
+
+        this._expanded = false;
+        this._element.classList.remove(&quot;expanded&quot;);
+
+        if (this._previewElement) {
+            this._previewElement.hidden = false;
+            this._titleElement.hidden = true;
+        }
+    },
+
+    // Protected
+
+    update: function()
+    {
+        this._object.getOwnAndGetterPropertyDescriptors(this._updateProperties.bind(this));
+    },
+
+    // Private
+
+    _updateProperties: function(properties)
+    {
+        properties.sort(WebInspector.ObjectTreeView.ComparePropertyDescriptors);
+
+        this._outline.removeChildren();
+
+        for (var propertyDescriptor of properties)
+            this._outline.appendChild(new WebInspector.ObjectTreePropertyTreeElement(propertyDescriptor, this._mode));
+
+        if (this._mode === WebInspector.ObjectTreeView.Mode.Properties) {
+            if (this._object.isCollectionType())
+                this._outline.appendChild(new WebInspector.ObjectTreeCollectionTreeElement(this._object));
+        }
+
+        if (!this._outline.children.length) {
+            var emptyMessageElement = document.createElement(&quot;div&quot;);
+            emptyMessageElement.className = &quot;empty-message&quot;;
+            emptyMessageElement.textContent = WebInspector.UIString(&quot;No Properties&quot;);;
+            this._outline.appendChild(new TreeElement(emptyMessageElement, null, false));
+        }
+    },
+
+    _handlePreviewOrTitleElementClick: function(event)
+    {
+        if (this._hasLosslessPreview)
+            return;
+
+        if (!this._expanded)
+            this.expand();
+        else
+            this.collapse();
+
+        event.stopPropagation();
+    }
+};
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsTreeOutlineDataGridSynchronizerjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TreeOutlineDataGridSynchronizer.js (180355 => 180356)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/TreeOutlineDataGridSynchronizer.js        2015-02-19 20:06:46 UTC (rev 180355)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TreeOutlineDataGridSynchronizer.js        2015-02-19 20:25:04 UTC (rev 180356)
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx"> 
</span><span class="cx"> WebInspector.TreeOutlineDataGridSynchronizer.prototype = {
</span><span class="cx">     constructor: WebInspector.TreeOutlineDataGridSynchronizer,
</span><del>-    __proto__: WebInspector.Object,
</del><ins>+    __proto__: WebInspector.Object.prototype,
</ins><span class="cx"> 
</span><span class="cx">     // Public
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>