<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>203060</bug_id>
          
          <creation_ts>2019-10-16 16:08:01 -0700</creation_ts>
          <short_desc>WKWebView specific bug: WKWebView as the contents of a SceneKit/ARKit node doesn&apos;t work (UIWebView works)</short_desc>
          <delta_ts>2021-09-08 19:46:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>andersca</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1580752</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-10-16 16:08:01 -0700</bug_when>
    <thetext>WKWebView specific bug: WKWebView as the contents of a SceneKit/ARKit node doesn&apos;t work (UIWebView works)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580754</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-10-16 16:08:35 -0700</bug_when>
    <thetext>rdar://47481972</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580763</commentid>
    <comment_count>2</comment_count>
      <attachid>381131</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-10-16 16:23:30 -0700</bug_when>
    <thetext>Created attachment 381131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580764</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2019-10-16 16:26:27 -0700</bug_when>
    <thetext>Shouldn&apos;t this be SPI on WKWebView instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580765</commentid>
    <comment_count>4</comment_count>
      <attachid>381131</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-16 16:30:03 -0700</bug_when>
    <thetext>Comment on attachment 381131
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=381131&amp;action=review

&gt; Source/WebKit/ChangeLog:19
&gt; +        SceneKit will still need to adopt this API for the WKWebView to show
&gt; +        up in the rendering.

Kinda sad that it&apos;s a pref that needs adopting instead of magic, and not sure that that is actually OK for them?

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:1970
&gt; +    // If we&apos;ve swapped to using mapped IOSurfaces, then we need to tell

I think this whole thing should get tucked into RemoteLayerTreeDrawingAreaProxy. Maybe even just add a generic &quot;preferencesChanged&quot; to DrawingAreaProxy and do this in RLTDAProxy&apos;s implementation.
WebPageProxy doesn&apos;t need to know about crazy things like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580767</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2019-10-16 16:30:43 -0700</bug_when>
    <thetext>(In reply to Anders Carlsson from comment #3)
&gt; Shouldn&apos;t this be SPI on WKWebView instead?

Also a very reasonable thought. Still would like a version that doesn&apos;t need any SPI at all though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580768</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-10-16 16:31:27 -0700</bug_when>
    <thetext>(In reply to Anders Carlsson from comment #3)
&gt; Shouldn&apos;t this be SPI on WKWebView instead?

I don&apos;t know. I think this way would allow us to set the preference as we create the view.

But honestly I don&apos;t mind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580769</commentid>
    <comment_count>7</comment_count>
      <attachid>381131</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-10-16 16:40:17 -0700</bug_when>
    <thetext>Comment on attachment 381131
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=381131&amp;action=review

&gt; Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:92
&gt; +    auto layerContentsType = (m_drawingArea-&gt;hasDebugIndicator() || m_drawingArea-&gt;page().preferences().useIOSurfaceBackingStoreForRemoteHosting()) ? RemoteLayerBackingStore::LayerContentsType::IOSurface : RemoteLayerBackingStore::LayerContentsType::CAMachPort;

Would be cleaner with m_drawingArea-&gt;hasDebugIndicator() || m_drawingArea-&gt;page().preferences().useIOSurfaceBackingStoreForRemoteHosting() in a lambda.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581054</commentid>
    <comment_count>8</comment_count>
      <attachid>381131</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-10-17 11:03:50 -0700</bug_when>
    <thetext>Comment on attachment 381131
Patch

Holding off on this for the moment in the hope that CoreAnimation can fix it on their side, which would avoid us having to futz with our layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791707</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-08 17:17:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/82899923&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791709</commentid>
    <comment_count>10</comment_count>
      <attachid>437688</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-08 17:22:06 -0700</bug_when>
    <thetext>Created attachment 437688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791710</commentid>
    <comment_count>11</comment_count>
      <attachid>437689</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-08 17:27:19 -0700</bug_when>
    <thetext>Created attachment 437689
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791711</commentid>
    <comment_count>12</comment_count>
      <attachid>437688</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-09-08 17:28:08 -0700</bug_when>
    <thetext>Comment on attachment 437688
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=437688&amp;action=review

&gt; Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:78
&gt; +    if (m_drawingArea-&gt;page().windowKind() == WindowKind::SceneKitSnapshotting)

Would it be better to have a more abstract name for this kind of snapshotting, and only reference SceneKit when you&apos;re looking at the class type?

&gt; Source/WebKit/UIProcess/WindowKind.h:33
&gt; +    SceneKitSnapshotting,

e.g. here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791712</commentid>
    <comment_count>13</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-08 17:29:43 -0700</bug_when>
    <thetext>(In reply to Dean Jackson from comment #12)
&gt; Comment on attachment 437688 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=437688&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:78
&gt; &gt; +    if (m_drawingArea-&gt;page().windowKind() == WindowKind::SceneKitSnapshotting)
&gt; 
&gt; Would it be better to have a more abstract name for this kind of
&gt; snapshotting, and only reference SceneKit when you&apos;re looking at the class
&gt; type?

Maybe! I should look at what they&apos;re actually doing and see if there&apos;s a way to name it more generically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791713</commentid>
    <comment_count>14</comment_count>
      <attachid>437690</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-08 17:39:23 -0700</bug_when>
    <thetext>Created attachment 437690
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791717</commentid>
    <comment_count>15</comment_count>
      <attachid>437691</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-08 17:48:09 -0700</bug_when>
    <thetext>Created attachment 437691
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791726</commentid>
    <comment_count>16</comment_count>
      <attachid>437691</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-09-08 18:39:24 -0700</bug_when>
    <thetext>Comment on attachment 437691
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=437691&amp;action=review

&gt; Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm:201
&gt; +    if ([window isKindOfClass:NSClassFromString(@&quot;_SCNSnapshotWindow&quot;)])

Yucky

&gt; Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm:202
&gt; +        return WindowKind::InProcessSnapshotting;

Not sure why SceneKit implies snapshotting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791735</commentid>
    <comment_count>17</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-09-08 19:36:31 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #16)
&gt; Comment on attachment 437691 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=437691&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm:201
&gt; &gt; +    if ([window isKindOfClass:NSClassFromString(@&quot;_SCNSnapshotWindow&quot;)])
&gt; 
&gt; Yucky

Mmmhmm.

&gt; &gt; Source/WebKit/UIProcess/Cocoa/PageClientImplCocoa.mm:202
&gt; &gt; +        return WindowKind::InProcessSnapshotting;
&gt; 
&gt; Not sure why SceneKit implies snapshotting.

When you set a view as the contents of a SceneKit material, they adopt your view tree and use a custom CARenderer to flatten it into a texture. Maybe snapshotting isn&apos;t the right word because it&apos;s a fresh snapshot every frame? 🤷‍♂️</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791736</commentid>
    <comment_count>18</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-08 19:46:09 -0700</bug_when>
    <thetext>Committed r282189 (241476@main): &lt;https://commits.webkit.org/241476@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 437691.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381131</attachid>
            <date>2019-10-16 16:23:30 -0700</date>
            <delta_ts>2021-09-08 17:22:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203060-20191017102328.patch</filename>
            <type>text/plain</type>
            <size>10999</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNhYjhhNmVkMWNkOTJmOWVk
M2Q4OTBhZjBkYmJkMzk3NzgxODMzYzkuLmQwZTFjYTE0MDY5NWU1ODUwMWNhNDFlYjk5NWNiZjg2
YzcwYTg2ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTktMTAtMTYgIERlYW4gSmFj
a3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFdLV2ViVmlldyBzcGVjaWZpYyBidWc6
IFdLV2ViVmlldyBhcyB0aGUgY29udGVudHMgb2YgYSBTY2VuZUtpdC9BUktpdCBub2RlIGRvZXNu
J3Qgd29yayAoVUlXZWJWaWV3IHdvcmtzKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMDYwCisgICAgICAgIDxyZGFyOi8vNDc0ODE5NzI+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBTY2VuZUtp
dCBhdHRlbXB0cyB0byByZW5kZXIgYSBXS1dlYlZpZXcgdG8gYSB0ZXh0dXJlIChzbyBpdCBjYW4g
dXNlIGl0IGFzCisgICAgICAgIGEgbWF0ZXJpYWwpLCBpdCB1c2VzIGEgY3VzdG9tIENBUmVuZGVy
ZXIgd2hpY2ggZG9lc24ndCBoYXZlIGFjY2VzcyB0byB0aGUgbWFjaAorICAgICAgICBwb3J0IHdl
IHVzZSBvbiBpT1MgZm9yIHJlbW90ZSBob3N0aW5nIG9mIENBTGF5ZXJzLiBJdCB3b3VsZCB3b3Jr
IGlmIHdlCisgICAgICAgIHVzZWQgSU9TdXJmYWNlcyBpbnN0ZWFkLgorCisgICAgICAgIFByb3Zp
ZGUgYW4gU1BJIHRoYXQgYWxsb3dzIGEgY2xpZW50IHRvIHRlbGwgYSBXS1dlYlZpZXcgdGhhdCBp
dCBzaG91bGQKKyAgICAgICAgdXNlIG1hcHBlZCBJT1N1cmZhY2VzIGZvciBsYXllciBob3N0aW5n
LiBXaGVuIHRoZSBwcmVmZXJlbmNlIGNoYW5nZXMsIHdlCisgICAgICAgIHRlbGwgYWxsIHRoZSBl
eGlzdGluZyBsYXllcnMgdG8gbWFwLgorCisgICAgICAgIFNjZW5lS2l0IHdpbGwgc3RpbGwgbmVl
ZCB0byBhZG9wdCB0aGlzIEFQSSBmb3IgdGhlIFdLV2ViVmlldyB0byBzaG93CisgICAgICAgIHVw
IGluIHRoZSByZW5kZXJpbmcuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bDogQWRkIFVzZUlPU3VyZmFjZUJhY2tpbmdTdG9yZUZvclJlbW90ZUhvc3RpbmcuCisgICAgICAg
ICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oOiBEaWZmZXJlbnQgZGVmYXVs
dCB2YWx1ZSBmb3IgaU9TLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZl
cmVuY2VzLm1tOgorICAgICAgICAoLVtXS1ByZWZlcmVuY2VzIF91c2VJT1N1cmZhY2VCYWNraW5n
U3RvcmVGb3JSZW1vdGVIb3N0aW5nXSk6CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldFVz
ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZUZvclJlbW90ZUhvc3Rpbmc6XSk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorCisgICAgICAgICogVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaDogTmV3IG1ldGhvZCB0aGF0IGV4cGxpY2l0bHkgbWFw
cworICAgICAgICB0aGUgYmFja2luZyBzdG9yZS4KKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0Fy
ZWFQcm94eTo6bWFwQWxsQmFja2luZ1N0b3JlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHku
bW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OnBy
ZXBhcmVGb3JBcHBTdXNwZW5zaW9uKTogQ2FsbCB0aGUgbWFwIGZ1bmN0aW9uLgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjptYXBBbGxCYWNraW5nU3Rv
cmUpOiBDb3BpZWQgZnJvbSB0aGUgZXhpc3RpbmcKKyAgICAgICAgY29kZSBpbiBwcmVwYXJlRm9y
QXBwU3VzcGVuc2lvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJUcmVlSG9zdC5tbTogTG9vayBhdCB0aGUgcHJlZmVyZW5jZQorICAgICAgICB0byBk
ZWNpZGUgb24gdGhlIGxheWVyIGNvbnRlbnQgdHlwZS4KKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
TGF5ZXJUcmVlSG9zdDo6dXBkYXRlTGF5ZXJUcmVlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp1cGRhdGVNYXBw
ZWRCYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnByZWZlcmVu
Y2VzRGlkQ2hhbmdlKTogVXBkYXRlIHRoZSBtYXBwZWQgYmFja2luZyBzdG9yZSBpZgorICAgICAg
ICB0aGUgcHJlZmVyZW5jZSBjaGFuZ2VzLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaDoKKwogMjAxOS0xMC0xNiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIFN3aWZ0IG1vZHVsZW1hcCBmb3IgV2ViS2l0IFByaXZhdGUgQVBJcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggNzQxODk0ODVlNDE0Y2RjZjc3
YjdhM2I5OTZlZTlmYTdjOGUwNTUyOC4uNGNiYTI1ZDUxMzRkMmJkZTMwNzk1MDc4MWZkYTMzMDRk
ODAxNmEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMu
eWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0x
MTk4LDYgKzExOTgsMTEgQEAgSXNTZWN1cmVDb250ZXh0QXR0cmlidXRlRW5hYmxlZDoKICAgZGVm
YXVsdFZhbHVlOiB0cnVlCiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
CiAKK1VzZUlPU3VyZmFjZUJhY2tpbmdTdG9yZUZvclJlbW90ZUhvc3Rpbmc6CisgIHR5cGU6IGJv
b2wKKyAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX1VTRV9JT1NVUkZBQ0VfQkFDS0lOR19TVE9SRV9G
T1JfUkVNT1RFX0hPU1RJTkcKKyAgd2ViY29yZUJpbmRpbmc6IG5vbmUKKwogU291cmNlQnVmZmVy
Q2hhbmdlVHlwZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1
ZXMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5o
CmluZGV4IDQ5YzViYjBlZmVjNTc3NGE0OWFkYjg2YjJjNmJjZTMzMzRiMWVjZmMuLjYxYjY1NTNm
NmRjZmJhN2U0N2ViNWI4ZDM3OWVjYTEyZmI5ZmIwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oCkBAIC0xMDEsNiArMTAxLDEy
IEBACiAjZGVmaW5lIEVYUEVSSU1FTlRBTF9GVUxMU0NSRUVOX0FQSV9ISURERU4gdHJ1ZQogI2Vu
ZGlmCiAKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2RlZmlu
ZSBERUZBVUxUX1VTRV9JT1NVUkZBQ0VfQkFDS0lOR19TVE9SRV9GT1JfUkVNT1RFX0hPU1RJTkcg
dHJ1ZQorI2Vsc2UKKyNkZWZpbmUgREVGQVVMVF9VU0VfSU9TVVJGQUNFX0JBQ0tJTkdfU1RPUkVf
Rk9SX1JFTU9URV9IT1NUSU5HIGZhbHNlCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKICNkZWZpbmUgREVGQVVMVF9QQVNTV09SRF9F
Q0hPX0VOQUJMRUQgdHJ1ZQogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KaW5kZXggMTk0MjYwZTBjMmVjZGMwOWY0YmZhYTk2
Njc1ODc1ZmJhNTgyZmI0MC4uNGI2YTdmZTI4MTg4NDRhYjk0MDI5MjcyNmU2YjQ2NTUxYjBmZDk5
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVy
ZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVy
ZW5jZXMubW0KQEAgLTg2MSw2ICs4NjEsMTYgQEAgc3RhdGljIFdlYkNvcmU6OkVkaXRhYmxlTGlu
a0JlaGF2aW9yIHRvRWRpdGFibGVMaW5rQmVoYXZpb3IoX1dLRWRpdGFibGVMaW5rQmVoYXYKICAg
ICBfcHJlZmVyZW5jZXMtPnNldFNlY3VyZUNvbnRleHRDaGVja3NFbmFibGVkKGVuYWJsZWQpOwog
fQogCistIChCT09MKV91c2VJT1N1cmZhY2VCYWNraW5nU3RvcmVGb3JSZW1vdGVIb3N0aW5nCit7
CisgICAgcmV0dXJuIF9wcmVmZXJlbmNlcy0+dXNlSU9TdXJmYWNlQmFja2luZ1N0b3JlRm9yUmVt
b3RlSG9zdGluZygpOworfQorCistICh2b2lkKV9zZXRVc2VJT1N1cmZhY2VCYWNraW5nU3RvcmVG
b3JSZW1vdGVIb3N0aW5nOihCT09MKXZhbHVlCit7CisgICAgX3ByZWZlcmVuY2VzLT5zZXRVc2VJ
T1N1cmZhY2VCYWNraW5nU3RvcmVGb3JSZW1vdGVIb3N0aW5nKHZhbHVlKTsKK30KKwogI2lmIFBM
QVRGT1JNKE1BQykKIC0gKHZvaWQpX3NldEphdmFFbmFibGVkRm9yTG9jYWxGaWxlczooQk9PTCll
bmFibGVkCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDI2ZmNhN2YzMDk3OGE5MzlmMjEwMWNjOGNl
MWQ5MTFiZjI4OWNmZmMuLmY5YTU5YmU2N2UzOTQ3YzMxOTE1NWU5NWQ4YTc1ZjJiNWRmNzkwOWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVu
Y2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1By
ZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0xNTcsNiArMTU3LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgX1dLRWRpdGFibGVMaW5rQmVoYXZpb3IpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldEl0cERlYnVnTW9kZUVuYWJsZWQ6KSBCT09MIF9pdHBEZWJ1Z01vZGVFbmFi
bGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRNZWRpYVNvdXJjZUVuYWJsZWQ6KSBC
T09MIF9tZWRpYVNvdXJjZUVuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSwg
aW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNlY3Vy
ZUNvbnRleHRDaGVja3NFbmFibGVkOikgQk9PTCBfc2VjdXJlQ29udGV4dENoZWNrc0VuYWJsZWQg
V0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFVzZUlPU3VyZmFjZUJhY2tpbmdTdG9yZUZv
clJlbW90ZUhvc3Rpbmc6KSBCT09MIF91c2VJT1N1cmZhY2VCYWNraW5nU3RvcmVGb3JSZW1vdGVI
b3N0aW5nIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7CiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRl
cj1fc2V0V2ViR0xFbmFibGVkOikgQk9PTCBfd2ViR0xFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3MoMTAuMTMuNCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94
eS5oCmluZGV4IDU2MDZjNTExNjUzNGY0M2NmYzgwNmQ1MTFkNDFlZDk4Y2ZiMjUxNjIuLjE1ZDI5
NzlmYThjZDNkZWU2ZDI0Y2Y5YjhiZTI4MDkwMWRjYTBhNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTEwNCw2ICsxMDQsOCBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcHJlcGFyZUZvckFwcFN1c3BlbnNpb24oKSB7IH0KIAorICAgIHZp
cnR1YWwgdm9pZCBtYXBBbGxCYWNraW5nU3RvcmUoKSB7IH0KKwogI2lmIFBMQVRGT1JNKENPQ09B
KQogICAgIHZpcnR1YWwgV1RGOjpNYWNoU2VuZFJpZ2h0IGNyZWF0ZUZlbmNlKCk7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9S
ZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oCmluZGV4IDU1
NjU5MWU3MTVjZTJiNGQ3YzU1M2UwZTk1ODAyNDg3YWM3ZmEwODUuLmRlN2E5ODQ2OTNhMGRlYzQ4
Y2FmMDI3MDhkNjliYmI5MTBjZGMxNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhUHJveHkuaApAQCAtOTAsNyArOTAsOCBAQCBwcml2YXRlOgogICAgIGJvb2wg
aGFzVmlzaWJsZUNvbnRlbnQoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgcHJlcGFyZUZv
ckFwcFN1c3BlbnNpb24oKSBmaW5hbDsKLSAgICAKKyAgICB2b2lkIG1hcEFsbEJhY2tpbmdTdG9y
ZSgpIGZpbmFsOworCiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBpbmRpY2F0b3JMb2NhdGlvbigp
IGNvbnN0OwogCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYVByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KaW5kZXggNzI4ZDhiMGU1Y2U3MjUxODEz
YjE5NzZjZDQyMDRkYTYxNTM5MzU4ZC4uODhlNjIzNzA3ODlhMzJkOTA3ZmE4NTI4NDBmZjc5OTRj
ZTM3Yjc1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJU
cmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHkubW0KQEAgLTQ4Niw2ICs0ODYsMTEgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YVByb3h5OjpoaWRlQ29udGVudFVudGlsQW55VXBkYXRlKCkKIH0KIAogdm9pZCBSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5OjpwcmVwYXJlRm9yQXBwU3VzcGVuc2lvbigpCit7CisgICAg
bWFwQWxsQmFja2luZ1N0b3JlKCk7Cit9CisKK3ZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eTo6bWFwQWxsQmFja2luZ1N0b3JlKCkKIHsKICAgICBtX3JlbW90ZUxheWVyVHJlZUhv
c3QtPm1hcEFsbElPU3VyZmFjZUJhY2tpbmdTdG9yZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVl
SG9zdC5tbQppbmRleCA4YTRlNTA0ODE3ZWJjMTI1Y2U4OThjMWMyOTFkOWE2ZTRkNWY1ODJjLi40
NzdkYWFlZDFiZDZmNTg1MDUxMmFkNmU1ZDc1YzEyZWQyZDRjYTJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlSG9zdC5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5
ZXJUcmVlSG9zdC5tbQpAQCAtODgsMTIgKzg4LDggQEAgYm9vbCBSZW1vdGVMYXllclRyZWVIb3N0
Ojp1cGRhdGVMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIHRyYW4K
ICAgICB9OwogICAgIFZlY3RvcjxMYXllckFuZENsb25lPiBjbG9uZXNUb1VwZGF0ZTsKIAotI2lm
IFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgLy8gQ2FuJ3QgdXNl
IHRoZSBpT1MgY29kZSBvbiBtYWNPUyB5ZXQ6IHJkYXI6Ly9wcm9ibGVtLzMxMjQ3NzMwCi0gICAg
YXV0byBsYXllckNvbnRlbnRzVHlwZSA9IFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpMYXllckNv
bnRlbnRzVHlwZTo6SU9TdXJmYWNlOwotI2Vsc2UKLSAgICBhdXRvIGxheWVyQ29udGVudHNUeXBl
ID0gbV9kcmF3aW5nQXJlYS0+aGFzRGVidWdJbmRpY2F0b3IoKSA/IFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlOjpMYXllckNvbnRlbnRzVHlwZTo6SU9TdXJmYWNlIDogUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmU6OkxheWVyQ29udGVudHNUeXBlOjpDQU1hY2hQb3J0OwotI2VuZGlmCisgICAgYXV0byBs
YXllckNvbnRlbnRzVHlwZSA9IChtX2RyYXdpbmdBcmVhLT5oYXNEZWJ1Z0luZGljYXRvcigpIHx8
IG1fZHJhd2luZ0FyZWEtPnBhZ2UoKS5wcmVmZXJlbmNlcygpLnVzZUlPU3VyZmFjZUJhY2tpbmdT
dG9yZUZvclJlbW90ZUhvc3RpbmcoKSkgPyBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJD
b250ZW50c1R5cGU6OklPU3VyZmFjZSA6IFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpMYXllckNv
bnRlbnRzVHlwZTo6Q0FNYWNoUG9ydDsKICAgICAKICAgICBmb3IgKGF1dG8mIGNoYW5nZWRMYXll
ciA6IHRyYW5zYWN0aW9uLmNoYW5nZWRMYXllclByb3BlcnRpZXMoKSkgewogICAgICAgICBhdXRv
IGxheWVySUQgPSBjaGFuZ2VkTGF5ZXIua2V5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKaW5kZXggN2Y4OWZiOTc2Yjk4YmUwYzg3Y2YzNzFkZDQ0Zjg1Yzc0MTljZTQ1
My4uOGJlNDM0ZWI5NjQ2NWE2MzdkZDU1MGMxNjBkYzhlYzNhMmNkMmUzZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xOTY1LDYgKzE5NjUsMTQgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVRocm90dGxlU3RhdGUoKQogI2VuZGlmCiB9CiAKK3ZvaWQg
V2ViUGFnZVByb3h5Ojp1cGRhdGVNYXBwZWRCYWNraW5nU3RvcmUoKQoreworICAgIC8vIElmIHdl
J3ZlIHN3YXBwZWQgdG8gdXNpbmcgbWFwcGVkIElPU3VyZmFjZXMsIHRoZW4gd2UgbmVlZCB0byB0
ZWxsCisgICAgLy8gdGhlIFJlbW90ZUxheWVyVHJlZSB0byBtYXAuIFRoZSByZXZlcnNlIGRpcmVj
dGlvbiBkb2Vzbid0IG1hdHRlci4KKyAgICBpZiAobV9wcmVmZXJlbmNlcy0+dXNlSU9TdXJmYWNl
QmFja2luZ1N0b3JlRm9yUmVtb3RlSG9zdGluZygpKQorICAgICAgICBtX2RyYXdpbmdBcmVhLT5t
YXBBbGxCYWNraW5nU3RvcmUoKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZUhpZGRl
blBhZ2VUaHJvdHRsaW5nQXV0b0luY3JlYXNlcygpCiB7CiAgICAgaWYgKCFtX3ByZWZlcmVuY2Vz
LT5oaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nQXV0b0luY3JlYXNlcygpKQpAQCAtMzk1MCw2
ICszOTU4LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnByZWZlcmVuY2VzRGlkQ2hhbmdlKCkKIAog
ICAgIHVwZGF0ZVRocm90dGxlU3RhdGUoKTsKICAgICB1cGRhdGVIaWRkZW5QYWdlVGhyb3R0bGlu
Z0F1dG9JbmNyZWFzZXMoKTsKKyAgICB1cGRhdGVNYXBwZWRCYWNraW5nU3RvcmUoKTsKIAogICAg
IHBhZ2VDbGllbnQoKS5wcmVmZXJlbmNlc0RpZENoYW5nZSgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDg0OGY5NjgzNDc2N2Q5ZWZkNmIyMTUxNjNkZmUyMTg1
ZTU1YTA5Y2EuLjM1ZTU4MWExZWFjYmM1ODM4MmNmMjE4NjcwMWY2MjBlNjBjOWJiMmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xNjA1LDYgKzE2MDUsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgdXBkYXRlQWN0aXZpdHlTdGF0ZShPcHRpb25TZXQ8V2ViQ29yZTo6
QWN0aXZpdHlTdGF0ZTo6RmxhZz4gZmxhZ3NUb1VwZGF0ZSA9IFdlYkNvcmU6OkFjdGl2aXR5U3Rh
dGU6OmFsbEZsYWdzKCkpOwogICAgIHZvaWQgdXBkYXRlVGhyb3R0bGVTdGF0ZSgpOwogICAgIHZv
aWQgdXBkYXRlSGlkZGVuUGFnZVRocm90dGxpbmdBdXRvSW5jcmVhc2VzKCk7CisgICAgdm9pZCB1
cGRhdGVNYXBwZWRCYWNraW5nU3RvcmUoKTsKIAogICAgIGJvb2wgc3VzcGVuZEN1cnJlbnRQYWdl
SWZQb3NzaWJsZShBUEk6Ok5hdmlnYXRpb24mLCBPcHRpb25hbDxXZWJDb3JlOjpGcmFtZUlkZW50
aWZpZXI+IG1haW5GcmFtZUlELCBQcm9jZXNzU3dhcFJlcXVlc3RlZEJ5Q2xpZW50LCBTaG91bGRE
ZWxheUNsb3NpbmdVbnRpbEVudGVyaW5nQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437688</attachid>
            <date>2021-09-08 17:22:06 -0700</date>
            <delta_ts>2021-09-08 17:28:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203060-20210908172205.patch</filename>
            <type>text/plain</type>
            <size>15499</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZhY2FjMmFlMGM4YTgwYzRm
ZjZhNTE5MjAxYzQyNGFjZWJhODg1MzUuLmM1MjZmMjY1MmY5Y2Y2OWY5MjkyMjk4ZTNmZTA2ZjM0
ZjU0MzZlYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjEtMDktMDggIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgV0tXZWJWaWV3IHNwZWNp
ZmljIGJ1ZzogV0tXZWJWaWV3IGFzIHRoZSBjb250ZW50cyBvZiBhIFNjZW5lS2l0L0FSS2l0IG5v
ZGUgZG9lc24ndCB3b3JrIChVSVdlYlZpZXcgd29ya3MpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMwNjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzgyODk5OTIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFNjZW5lS2l0J3Mgc25hcHNob3R0ZXIgY2Fubm90IGhhbmRsZSBDQU1hY2hQb3J0LWFzLWxh
eWVyLWNvbnRlbnRzLgorCisgICAgICAgIElmIHdlIGdldCBwYXJlbnRlZCBpbiBhIFNjZW5lS2l0
IHNuYXBzaG90dGluZyB3aW5kb3csIG1hcCBhbGwgZXhpc3RpbmcKKyAgICAgICAgc3VyZmFjZXMs
IGFuZCBwcmVmZXIgdXNpbmcgYWN0dWFsIElPU3VyZmFjZXMgaW5zdGVhZCBvZiBDQU1hY2hQb3J0
IGZyb20gdGhlbiBvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1w
bENvY29hLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsQ29jb2E6OndpbmRvd0tpbmQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OndlYlZpZXdEaWRNb3ZlVG9XaW5kb3cpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2luZG93S2luZC5oOiBBZGRl
ZC4KKyAgICAgICAgS2VlcCB0cmFjayBvZiB0aGUga2luZCBvZiB3aW5kb3cgd2UncmUgY3VycmVu
dGx5IGluICh0aGUgb25seSBzcGVjaWFsCisgICAgICAgIGNhc2UgYXQgdGhlIG1vbWVudCBpcyB0
aGUgU2NlbmVLaXQgc25hcHNob3R0aW5nIHdpbmRvdywgYnV0IHlvdSBjb3VsZAorICAgICAgICBl
YXNpbHkgaW1hZ2luZSB1cyBjYXJpbmcgYWJvdXQgb3RoZXJzKS4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJv
eHk6OndpbmRvd0tpbmREaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OndpbmRvd0tpbmQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWFQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eTo6d2luZG93S2luZERpZENoYW5nZSk6CisgICAgICAgIE1hcCBDQU1hY2hQ
b3J0cyB0byBJT1N1cmZhY2VzIHdoZW4gd2UgbW92ZSBpbnRvIGEgU2NlbmVLaXQgc25hcHNob3R0
aW5nIHdpbmRvdy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3Rl
TGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJUcmVlSG9zdC5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlSG9z
dDo6bGF5ZXJDb250ZW50c1R5cGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXll
clRyZWVIb3N0Ojp1cGRhdGVMYXllclRyZWUpOgorICAgICAgICBQcmVmZXIgSU9TdXJmYWNlIGlm
IHdlJ3JlIGFscmVhZHkgaW4gYSBTY2VuZUtpdCBzbmFwc2hvdHRpbmcgd2luZG93LgorICAgICAg
ICBBbHNvIGZhY3RvciB0aGlzIGNvZGUgb3V0IGFuZCBpbXByb3ZlIHRoZSBjb21tZW50cy4KKwog
MjAyMS0wOS0wOCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgdW5uZWNlc3NhcnkgV1RGOjogaW4gV2Vic2l0ZURhdGFTdG9yZSBmaWxlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCmlu
ZGV4IDJhOThlZGUzMjIzNDFkYWJiYmEyZmY0YjcwZjAwZjQ4YjlkYjYxOTAuLjg2MGFhZjgyNWU2
YmY1NTY0ZjgwNDczOGIzNTg1ZGVkYjBiZDkyYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKQEAgLTg3LDYgKzg3LDggQEAg
cHVibGljOgogICAgIHZvaWQgbWljcm9waG9uZUNhcHR1cmVDaGFuZ2VkKCkgZmluYWw7CiAgICAg
dm9pZCBjYW1lcmFDYXB0dXJlQ2hhbmdlZCgpIGZpbmFsOwogCisgICAgV2luZG93S2luZCB3aW5k
b3dLaW5kKCkgZmluYWw7CisKIHByb3RlY3RlZDoKICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+
IG1fd2ViVmlldzsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0
VUlDb250cm9sbGVyPiBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCmluZGV4
IGQ4NWE2ZTg5OGU2NDViNzI2MTIzYTZlYzNmNzUyNmNkYmFkYTA5NjMuLmNmNzZhNDQ0NjMwNGEx
YzRiMDhmOGJlNTM1OGRkZGNkZjkxNzgzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQpAQCAtMTkzLDQgKzE5MywxNCBA
QCB2b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OmNhbWVyYUNhcHR1cmVDaGFuZ2VkKCkKICAgICBb
bV93ZWJWaWV3IGRpZENoYW5nZVZhbHVlRm9yS2V5OkAiY2FtZXJhQ2FwdHVyZVN0YXRlIl07CiB9
CiAKK1dpbmRvd0tpbmQgUGFnZUNsaWVudEltcGxDb2NvYTo6d2luZG93S2luZCgpCit7CisgICAg
YXV0byB3aW5kb3cgPSBbbV93ZWJWaWV3IHdpbmRvd107CisgICAgaWYgKCF3aW5kb3cpCisgICAg
ICAgIHJldHVybiBXaW5kb3dLaW5kOjpVbnBhcmVudGVkOworICAgIGlmIChbd2luZG93IGlzS2lu
ZE9mQ2xhc3M6TlNDbGFzc0Zyb21TdHJpbmcoQCJfU0NOU25hcHNob3RXaW5kb3ciKV0pCisgICAg
ICAgIHJldHVybiBXaW5kb3dLaW5kOjpTY2VuZUtpdFNuYXBzaG90dGluZzsKKyAgICByZXR1cm4g
V2luZG93S2luZDo6Tm9ybWFsOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5LmgKaW5kZXggODI2YzQxN2M2YzliYTFjN2U2YzJjMzJhNmFiMGYzYWI4ZDcy
ZjBlMC4uYmFiYzU1M2QxNzBmYzcxZDU4MmUyNjQyNmU4Y2Y5MDNhOWU4MGQzMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaApAQCAtODQsNiArODQsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNvbG9yU3BhY2VEaWRDaGFuZ2UoKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgbWluaW11bVNpemVGb3JBdXRvTGF5b3V0RGlkQ2hhbmdlKCkgeyB9CiAgICAg
dmlydHVhbCB2b2lkIHNpemVUb0NvbnRlbnRBdXRvU2l6ZU1heGltdW1TaXplRGlkQ2hhbmdlKCkg
eyB9CisgICAgdmlydHVhbCB2b2lkIHdpbmRvd0tpbmREaWRDaGFuZ2UoKSB7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBhZGp1c3RUcmFuc2llbnRab29tKGRvdWJsZSwgV2ViQ29yZTo6RmxvYXRQb2lu
dCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNvbW1pdFRyYW5zaWVudFpvb20oZG91YmxlLCBXZWJD
b3JlOjpGbG9hdFBvaW50KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRl
eCBmYmUzYmRhNDk2NTA4NGIxYTFlZjQxYzFiOWE0ZjQ1NjkzMDVkNTNiLi41OTk4Yzk0MzQwY2Q1
OTM2ZGMwZWMyMmE3MTAzZTgwMzZlN2Y3YThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNs
aWVudC5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiV2ViRGF0YUxpc3RTdWdnZXN0aW9u
c0Ryb3Bkb3duLmgiCiAjaW5jbHVkZSAiV2ViRGF0ZVRpbWVQaWNrZXIuaCIKICNpbmNsdWRlICJX
ZWJQb3B1cE1lbnVQcm94eS5oIgorI2luY2x1ZGUgIldpbmRvd0tpbmQuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL0FjdGl2aXR5U3RhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0FsdGVybmF0aXZlVGV4
dENsaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29udGFjdEluZm8uaD4KQEAgLTI0NSw2ICsy
NDYsOCBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJuIHRoZSBsYXllciBob3N0aW5nIG1vZGUgZm9y
IHRoZSB2aWV3LgogICAgIHZpcnR1YWwgTGF5ZXJIb3N0aW5nTW9kZSB2aWV3TGF5ZXJIb3N0aW5n
TW9kZSgpIHsgcmV0dXJuIExheWVySG9zdGluZ01vZGU6OkluUHJvY2VzczsgfQogCisgICAgdmly
dHVhbCBXaW5kb3dLaW5kIHdpbmRvd0tpbmQoKSB7IHJldHVybiBpc1ZpZXdJbldpbmRvdygpID8g
V2luZG93S2luZDo6Tm9ybWFsIDogV2luZG93S2luZDo6VW5wYXJlbnRlZDsgfQorCiAgICAgdmly
dHVhbCB2b2lkIHByb2Nlc3NEaWRFeGl0KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNz
V2lsbFN3YXAoKSB7IHByb2Nlc3NEaWRFeGl0KCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVs
YXVuY2hQcm9jZXNzKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYVByb3h5LmgKaW5kZXggZTMyYmY3YjM1OTI2ZmM4YWIzMGU5YjQ1ZTAyNDUwYjBmZTZhMTJj
ZS4uM2QwNDYxOGE4Yjg5MTMwYjYwMTM0YjY3MzVhZDhlN2YxNDNmMmNiMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oCkBAIC02MSwxNiArNjEsMTcg
QEAgcHVibGljOgogICAgIENBTGF5ZXIgKmxheWVyV2l0aElERm9yVGVzdGluZyh1aW50NjRfdCkg
Y29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBzaXplRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7Ci0g
ICAgdm9pZCBkZXZpY2VTY2FsZUZhY3RvckRpZENoYW5nZSgpIG92ZXJyaWRlOwotICAgIHZvaWQg
ZGlkVXBkYXRlR2VvbWV0cnkoKSBvdmVycmlkZTsKKyAgICB2b2lkIHNpemVEaWRDaGFuZ2UoKSBm
aW5hbDsKKyAgICB2b2lkIGRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKCkgZmluYWw7CisgICAg
dm9pZCB3aW5kb3dLaW5kRGlkQ2hhbmdlKCkgZmluYWw7CisgICAgdm9pZCBkaWRVcGRhdGVHZW9t
ZXRyeSgpIGZpbmFsOwogICAgIAogICAgIC8vIEZvciBub3csIGFsbCBjYWxsYmFja3MgYXJlIGNh
bGxlZCBiZWZvcmUgY29tbWl0dGluZyBjaGFuZ2VzLCBiZWNhdXNlIHRoYXQncyB3aGF0IHRoZSBv
bmx5IGNsaWVudCByZXF1aXJlcy4KICAgICAvLyBPbmNlIHdlIGhhdmUgb3RoZXIgY2FsbGJhY2tz
LCBpdCBtYXkgbWFrZSBzZW5zZSB0byBoYXZlIGEgYmVmb3JlLWNvbW1pdC9hZnRlci1jb21taXQg
b3B0aW9uLgotICAgIHZvaWQgZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhXVEY6OkZ1bmN0
aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIGRp
c3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdpbmcoV1RGOjpGdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jh
c2U6OkVycm9yKT4mJikgZmluYWw7CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgdm9pZCBkaWRD
aGFuZ2VWaWV3RXhwb3NlZFJlY3QoKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZENoYW5nZVZpZXdF
eHBvc2VkUmVjdCgpIGZpbmFsOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpA
QCAtNzgsMjIgKzc5LDIyIEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIGZsb2F0IGluZGljYXRv
clNjYWxlKFdlYkNvcmU6OkludFNpemUgY29udGVudHNTaXplKSBjb25zdDsKLSAgICB2b2lkIHVw
ZGF0ZURlYnVnSW5kaWNhdG9yKCkgb3ZlcnJpZGU7CisgICAgdm9pZCB1cGRhdGVEZWJ1Z0luZGlj
YXRvcigpIGZpbmFsOwogICAgIHZvaWQgdXBkYXRlRGVidWdJbmRpY2F0b3IoV2ViQ29yZTo6SW50
U2l6ZSBjb250ZW50c1NpemUsIGJvb2wgcm9vdExheWVyQ2hhbmdlZCwgZmxvYXQgc2NhbGUsIGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiBzY3JvbGxQb3NpdGlvbik7CiAgICAgdm9pZCB1cGRhdGVE
ZWJ1Z0luZGljYXRvclBvc2l0aW9uKCk7CiAgICAgdm9pZCBpbml0aWFsaXplRGVidWdJbmRpY2F0
b3IoKTsKIAotICAgIHZvaWQgd2FpdEZvckRpZFVwZGF0ZUFjdGl2aXR5U3RhdGUoQWN0aXZpdHlT
dGF0ZUNoYW5nZUlEKSBvdmVycmlkZTsKLSAgICB2b2lkIGhpZGVDb250ZW50VW50aWxQZW5kaW5n
VXBkYXRlKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBoaWRlQ29udGVudFVudGlsQW55VXBkYXRlKCkg
b3ZlcnJpZGU7Ci0gICAgYm9vbCBoYXNWaXNpYmxlQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIHZvaWQgd2FpdEZvckRpZFVwZGF0ZUFjdGl2aXR5U3RhdGUoQWN0aXZpdHlTdGF0ZUNoYW5n
ZUlEKSBmaW5hbDsKKyAgICB2b2lkIGhpZGVDb250ZW50VW50aWxQZW5kaW5nVXBkYXRlKCkgZmlu
YWw7CisgICAgdm9pZCBoaWRlQ29udGVudFVudGlsQW55VXBkYXRlKCkgZmluYWw7CisgICAgYm9v
bCBoYXNWaXNpYmxlQ29udGVudCgpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCBwcmVwYXJlRm9y
QXBwU3VzcGVuc2lvbigpIGZpbmFsOwogICAgIAogICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgaW5k
aWNhdG9yTG9jYXRpb24oKSBjb25zdDsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCi0g
ICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXIm
KSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycwogICAgIHZv
aWQgc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKFdlYkNvcmU6OkZyYW1lc1BlclNlY29uZCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCmluZGV4
IGI0ZTRjNmMwZGE4MDMyNjEyOTViZGRhZmQ0NTViN2NhOTljODUzYTAuLjhiOGEwNGRmZjRkMjg5
NzA2ZGNiYjdkZjVjMmU1YTAxZmY5MmY3ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC01MDcsNCArNTA3LDEwIEBAIENBTGF5ZXIgKlJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmxheWVyV2l0aElERm9yVGVzdGluZyh1aW50
NjRfdCBsYXllcklECiAgICAgcmV0dXJuIG1fcmVtb3RlTGF5ZXJUcmVlSG9zdC0+bGF5ZXJXaXRo
SURGb3JUZXN0aW5nKGxheWVySUQpOwogfQogCit2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHk6OndpbmRvd0tpbmREaWRDaGFuZ2UoKQoreworICAgIGlmIChtX3dlYlBhZ2VQcm94
eS53aW5kb3dLaW5kKCkgPT0gV2luZG93S2luZDo6U2NlbmVLaXRTbmFwc2hvdHRpbmcpCisgICAg
ICAgIG1fcmVtb3RlTGF5ZXJUcmVlSG9zdC0+bWFwQWxsSU9TdXJmYWNlQmFja2luZ1N0b3JlKCk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVIb3N0LmgKaW5k
ZXggZThhMzA3OGU0ODBkMjEyZDQ2Y2Q2MzhlMjhkZDk1ZDI1ZjhmODIxZC4uM2Q1OTE3NmI2MzRi
MDA2ZTVlMGJmOWVkZDc2YjhkZGIyNmJjNjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlSG9zdC5o
CkBAIC04MSw2ICs4MSw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGxheWVyV2lsbEJlUmVtb3Zl
ZChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQpOwogCisgICAgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmU6OkxheWVyQ29udGVudHNUeXBlIGxheWVyQ29udGVudHNUeXBlKCkg
Y29uc3Q7CisKICAgICBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5KiBtX2RyYXdpbmdB
cmVhIHsgbnVsbHB0ciB9OwogICAgIFJlbW90ZUxheWVyVHJlZU5vZGUqIG1fcm9vdE5vZGUgeyBu
dWxscHRyIH07CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxh
eWVySUQsIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVMYXllclRyZWVOb2RlPj4gbV9ub2RlczsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVM
YXllclRyZWVIb3N0Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZUxheWVyVHJlZUhvc3QubW0KaW5kZXggMTAwOWNkODAxNjhhZWU3NWJmODkwZTFjM2Vi
MTBhN2I5Mjc5YWZiZS4uYzkwZDdhMmU3NDJmZjVjOTFjOGVkMDJlMWIzMmExNzYwOTNiNGZiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyVHJlZUhvc3QubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QubW0KQEAgLTY0LDYgKzY0LDI0IEBAIFJlbW90ZUxh
eWVyVHJlZUhvc3Q6On5SZW1vdGVMYXllclRyZWVIb3N0KCkKICAgICBjbGVhckxheWVycygpOwog
fQogCitSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJDb250ZW50c1R5cGUgUmVtb3RlTGF5
ZXJUcmVlSG9zdDo6bGF5ZXJDb250ZW50c1R5cGUoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisgICAgLy8gQ0FNYWNoUG9ydCBjdXJyZW50bHkg
ZG9lcyBub3Qgd29yayBvbiBtYWNPUyAob3IgbWFjQ2F0YWx5c3QpOiByZGFyOi8vcHJvYmxlbS8z
MTI0NzczMAorICAgIHJldHVybiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJDb250ZW50
c1R5cGU6OklPU3VyZmFjZTsKKyNlbHNlCisgICAgLy8gSWYgYSBzdXJmYWNlIHdpbGwgYmUgcmVm
ZXJlbmNlZCBieSBtdWx0aXBsZSBsYXllcnMgKGFzIGluIHRoZSB0aWxlIGRlYnVnIGluZGljYXRv
ciksIENBTWFjaFBvcnQgY2Fubm90IGJlIHVzZWQuCisgICAgaWYgKG1fZHJhd2luZ0FyZWEtPmhh
c0RlYnVnSW5kaWNhdG9yKCkpCisgICAgICAgIHJldHVybiBSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZTo6TGF5ZXJDb250ZW50c1R5cGU6OklPU3VyZmFjZTsKKworICAgIC8vIElmIFNjZW5lS2l0IHdp
bGwgYmUgZG9pbmcgYW4gaW4tcHJvY2VzcyBzbmFwc2hvdCBvZiB0aGUgbGF5ZXIgdHJlZSwgQ0FN
YWNoUG9ydCBjYW5ub3QgYmUgdXNlZDogcmRhcjovL3Byb2JsZW0vNDc0ODE5NzIKKyAgICBpZiAo
bV9kcmF3aW5nQXJlYS0+cGFnZSgpLndpbmRvd0tpbmQoKSA9PSBXaW5kb3dLaW5kOjpTY2VuZUtp
dFNuYXBzaG90dGluZykKKyAgICAgICAgcmV0dXJuIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpM
YXllckNvbnRlbnRzVHlwZTo6SU9TdXJmYWNlOworCisgICAgcmV0dXJuIFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlOjpMYXllckNvbnRlbnRzVHlwZTo6Q0FNYWNoUG9ydDsKKyNlbmRpZgorfQorCiBi
b29sIFJlbW90ZUxheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVyVHJlZShjb25zdCBSZW1vdGVMYXll
clRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIGZsb2F0IGluZGljYXRvclNjYWxlRmFjdG9y
KQogewogICAgIGlmICghbV9kcmF3aW5nQXJlYSkKQEAgLTg5LDEzICsxMDcsNyBAQCBib29sIFJl
bW90ZUxheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVyVHJlZShjb25zdCBSZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbiYgdHJhbgogICAgIH07CiAgICAgVmVjdG9yPExheWVyQW5kQ2xvbmU+IGNsb25l
c1RvVXBkYXRlOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkK
LSAgICAvLyBDYW4ndCB1c2UgdGhlIGlPUyBjb2RlIG9uIG1hY09TIHlldDogcmRhcjovL3Byb2Js
ZW0vMzEyNDc3MzAKLSAgICBhdXRvIGxheWVyQ29udGVudHNUeXBlID0gUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmU6OkxheWVyQ29udGVudHNUeXBlOjpJT1N1cmZhY2U7Ci0jZWxzZQotICAgIGF1dG8g
bGF5ZXJDb250ZW50c1R5cGUgPSBtX2RyYXdpbmdBcmVhLT5oYXNEZWJ1Z0luZGljYXRvcigpID8g
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OkxheWVyQ29udGVudHNUeXBlOjpJT1N1cmZhY2UgOiBS
ZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJDb250ZW50c1R5cGU6OkNBTWFjaFBvcnQ7Ci0j
ZW5kaWYKLSAgICAKKyAgICBhdXRvIGxheWVyQ29udGVudHNUeXBlID0gdGhpcy0+bGF5ZXJDb250
ZW50c1R5cGUoKTsKICAgICBmb3IgKGF1dG8mIFtsYXllcklELCBwcm9wZXJ0aWVzUG9pbnRlcl0g
OiB0cmFuc2FjdGlvbi5jaGFuZ2VkTGF5ZXJQcm9wZXJ0aWVzKCkpIHsKICAgICAgICAgY29uc3Qg
UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVyUHJvcGVydGllcyYgcHJvcGVydGllcyA9
ICpwcm9wZXJ0aWVzUG9pbnRlcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKaW5kZXggMmZlOTNhNTkxNTZlOGIwZTY5ODdjMDg4NTVkM2QwYWQzMjljODA2NS4uNzU1
YjI4Y2YwODUxN2Q3ZmUyNDRlNDY3NjhjZTBjZWM0MzUyOWIyOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMDU3Niw2ICsxMDU3NiwxMyBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6d2ViVmlld0RpZE1vdmVUb1dpbmRvdygpCiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgb2JzZXJ2ZXIudmFsdWUtPndlYlZpZXdEaWRNb3ZlVG9XaW5kb3coKTsKICAg
ICB9CisKKyAgICBhdXRvIG5ld1dpbmRvd0tpbmQgPSBwYWdlQ2xpZW50KCkud2luZG93S2luZCgp
OworICAgIGlmIChtX3dpbmRvd0tpbmQgIT0gbmV3V2luZG93S2luZCkgeworICAgICAgICBtX3dp
bmRvd0tpbmQgPSBraW5kOworICAgICAgICBpZiAobV9kcmF3aW5nQXJlYSkKKyAgICAgICAgICAg
IG1fZHJhd2luZ0FyZWEtPndpbmRvd0tpbmREaWRDaGFuZ2UoKTsgICAgCisgICAgfQogfQogCiB2
b2lkIFdlYlBhZ2VQcm94eTo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGNvbnN0IFdlYkNvcmU6OkVs
ZW1lbnRDb250ZXh0JiBjb250ZXh0LCBib29sIGNhblNob3dQbGFjZWhvbGRlcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNTRmYWQyMjNkMWEzODhlOWMwZDRhNjdh
NDU0YWEzZmY1YzBkYzgwZC4uNDdlMTg3Y2I2ZGZhZjNmYTYyZjljNmMwMzQyZmU1YTZhOGFhNWYw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTc5LDYgKzc5LDcg
QEAKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgogI2luY2x1ZGUgIldlYlVuZG9TdGVwSUQu
aCIKICNpbmNsdWRlICJXZWJzaXRlUG9saWNpZXNEYXRhLmgiCisjaW5jbHVkZSAiV2luZG93S2lu
ZC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQWN0aXZpdHlTdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvQXV0b3BsYXlFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4KQEAgLTcyOSw2
ICs3MzAsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZpZXdGb2N1c2VkKCkgY29uc3QgeyByZXR1
cm4gbV9hY3Rpdml0eVN0YXRlLmNvbnRhaW5zKFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OklzRm9j
dXNlZCk7IH0KICAgICBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
YWN0aXZpdHlTdGF0ZS5jb250YWlucyhXZWJDb3JlOjpBY3Rpdml0eVN0YXRlOjpXaW5kb3dJc0Fj
dGl2ZSk7IH0KIAorICAgIFdpbmRvd0tpbmQgd2luZG93S2luZCgpIGNvbnN0IHsgcmV0dXJuIG1f
d2luZG93S2luZDsgfTsKKwogICAgIHZvaWQgYWRkTUlNRVR5cGVXaXRoQ3VzdG9tQ29udGVudFBy
b3ZpZGVyKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCiAgICAgdm9pZCBzZWxlY3RBbGwoKTsK
QEAgLTMwOTgsNiArMzEwMSw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIGJvb2wgbV9uZWVk
c1NpdGVTcGVjaWZpY1ZpZXdwb3J0UXVpcmtzIHsgdHJ1ZSB9OworCisgICAgV2luZG93S2luZCBt
X3dpbmRvd0tpbmQgeyBXaW5kb3dLaW5kOjpVbnBhcmVudGVkIH07CiB9OwogCiAjaWZkZWYgX19P
QkpDX18KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dpbmRvd0tpbmQuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dpbmRvd0tpbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMmU5MTJm
ZGZhZjZmMGI4YzZjYjM2Mjc4Mzk3ZmIwYzYzMmNiZmFhCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2luZG93S2luZC5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2VudW0gY2xhc3Mg
V2luZG93S2luZCA6IHVpbnQ4X3QgeworICAgIFVucGFyZW50ZWQsCisgICAgTm9ybWFsLAorICAg
IFNjZW5lS2l0U25hcHNob3R0aW5nLAorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>
<flag name="commit-queue"
          id="460907"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437689</attachid>
            <date>2021-09-08 17:27:19 -0700</date>
            <delta_ts>2021-09-08 17:39:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203060-20210908172718.patch</filename>
            <type>text/plain</type>
            <size>15508</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZhY2FjMmFlMGM4YTgwYzRm
ZjZhNTE5MjAxYzQyNGFjZWJhODg1MzUuLmM1MjZmMjY1MmY5Y2Y2OWY5MjkyMjk4ZTNmZTA2ZjM0
ZjU0MzZlYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjEtMDktMDggIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgV0tXZWJWaWV3IHNwZWNp
ZmljIGJ1ZzogV0tXZWJWaWV3IGFzIHRoZSBjb250ZW50cyBvZiBhIFNjZW5lS2l0L0FSS2l0IG5v
ZGUgZG9lc24ndCB3b3JrIChVSVdlYlZpZXcgd29ya3MpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMwNjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzgyODk5OTIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFNjZW5lS2l0J3Mgc25hcHNob3R0ZXIgY2Fubm90IGhhbmRsZSBDQU1hY2hQb3J0LWFzLWxh
eWVyLWNvbnRlbnRzLgorCisgICAgICAgIElmIHdlIGdldCBwYXJlbnRlZCBpbiBhIFNjZW5lS2l0
IHNuYXBzaG90dGluZyB3aW5kb3csIG1hcCBhbGwgZXhpc3RpbmcKKyAgICAgICAgc3VyZmFjZXMs
IGFuZCBwcmVmZXIgdXNpbmcgYWN0dWFsIElPU3VyZmFjZXMgaW5zdGVhZCBvZiBDQU1hY2hQb3J0
IGZyb20gdGhlbiBvbi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1w
bENvY29hLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsQ29jb2E6OndpbmRvd0tpbmQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OndlYlZpZXdEaWRNb3ZlVG9XaW5kb3cpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2luZG93S2luZC5oOiBBZGRl
ZC4KKyAgICAgICAgS2VlcCB0cmFjayBvZiB0aGUga2luZCBvZiB3aW5kb3cgd2UncmUgY3VycmVu
dGx5IGluICh0aGUgb25seSBzcGVjaWFsCisgICAgICAgIGNhc2UgYXQgdGhlIG1vbWVudCBpcyB0
aGUgU2NlbmVLaXQgc25hcHNob3R0aW5nIHdpbmRvdywgYnV0IHlvdSBjb3VsZAorICAgICAgICBl
YXNpbHkgaW1hZ2luZSB1cyBjYXJpbmcgYWJvdXQgb3RoZXJzKS4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJv
eHk6OndpbmRvd0tpbmREaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OndpbmRvd0tpbmQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWFQcm94eS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eTo6d2luZG93S2luZERpZENoYW5nZSk6CisgICAgICAgIE1hcCBDQU1hY2hQ
b3J0cyB0byBJT1N1cmZhY2VzIHdoZW4gd2UgbW92ZSBpbnRvIGEgU2NlbmVLaXQgc25hcHNob3R0
aW5nIHdpbmRvdy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3Rl
TGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJUcmVlSG9zdC5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlSG9z
dDo6bGF5ZXJDb250ZW50c1R5cGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXll
clRyZWVIb3N0Ojp1cGRhdGVMYXllclRyZWUpOgorICAgICAgICBQcmVmZXIgSU9TdXJmYWNlIGlm
IHdlJ3JlIGFscmVhZHkgaW4gYSBTY2VuZUtpdCBzbmFwc2hvdHRpbmcgd2luZG93LgorICAgICAg
ICBBbHNvIGZhY3RvciB0aGlzIGNvZGUgb3V0IGFuZCBpbXByb3ZlIHRoZSBjb21tZW50cy4KKwog
MjAyMS0wOS0wOCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW1vdmUgdW5uZWNlc3NhcnkgV1RGOjogaW4gV2Vic2l0ZURhdGFTdG9yZSBmaWxlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCmlu
ZGV4IDJhOThlZGUzMjIzNDFkYWJiYmEyZmY0YjcwZjAwZjQ4YjlkYjYxOTAuLjg2MGFhZjgyNWU2
YmY1NTY0ZjgwNDczOGIzNTg1ZGVkYjBiZDkyYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKQEAgLTg3LDYgKzg3LDggQEAg
cHVibGljOgogICAgIHZvaWQgbWljcm9waG9uZUNhcHR1cmVDaGFuZ2VkKCkgZmluYWw7CiAgICAg
dm9pZCBjYW1lcmFDYXB0dXJlQ2hhbmdlZCgpIGZpbmFsOwogCisgICAgV2luZG93S2luZCB3aW5k
b3dLaW5kKCkgZmluYWw7CisKIHByb3RlY3RlZDoKICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+
IG1fd2ViVmlldzsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0
VUlDb250cm9sbGVyPiBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCmluZGV4
IGQ4NWE2ZTg5OGU2NDViNzI2MTIzYTZlYzNmNzUyNmNkYmFkYTA5NjMuLmNmNzZhNDQ0NjMwNGEx
YzRiMDhmOGJlNTM1OGRkZGNkZjkxNzgzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQpAQCAtMTkzLDQgKzE5MywxNCBA
QCB2b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OmNhbWVyYUNhcHR1cmVDaGFuZ2VkKCkKICAgICBb
bV93ZWJWaWV3IGRpZENoYW5nZVZhbHVlRm9yS2V5OkAiY2FtZXJhQ2FwdHVyZVN0YXRlIl07CiB9
CiAKK1dpbmRvd0tpbmQgUGFnZUNsaWVudEltcGxDb2NvYTo6d2luZG93S2luZCgpCit7CisgICAg
YXV0byB3aW5kb3cgPSBbbV93ZWJWaWV3IHdpbmRvd107CisgICAgaWYgKCF3aW5kb3cpCisgICAg
ICAgIHJldHVybiBXaW5kb3dLaW5kOjpVbnBhcmVudGVkOworICAgIGlmIChbd2luZG93IGlzS2lu
ZE9mQ2xhc3M6TlNDbGFzc0Zyb21TdHJpbmcoQCJfU0NOU25hcHNob3RXaW5kb3ciKV0pCisgICAg
ICAgIHJldHVybiBXaW5kb3dLaW5kOjpTY2VuZUtpdFNuYXBzaG90dGluZzsKKyAgICByZXR1cm4g
V2luZG93S2luZDo6Tm9ybWFsOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5LmgKaW5kZXggODI2YzQxN2M2YzliYTFjN2U2YzJjMzJhNmFiMGYzYWI4ZDcy
ZjBlMC4uYmFiYzU1M2QxNzBmYzcxZDU4MmUyNjQyNmU4Y2Y5MDNhOWU4MGQzMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaApAQCAtODQsNiArODQsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNvbG9yU3BhY2VEaWRDaGFuZ2UoKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgbWluaW11bVNpemVGb3JBdXRvTGF5b3V0RGlkQ2hhbmdlKCkgeyB9CiAgICAg
dmlydHVhbCB2b2lkIHNpemVUb0NvbnRlbnRBdXRvU2l6ZU1heGltdW1TaXplRGlkQ2hhbmdlKCkg
eyB9CisgICAgdmlydHVhbCB2b2lkIHdpbmRvd0tpbmREaWRDaGFuZ2UoKSB7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBhZGp1c3RUcmFuc2llbnRab29tKGRvdWJsZSwgV2ViQ29yZTo6RmxvYXRQb2lu
dCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNvbW1pdFRyYW5zaWVudFpvb20oZG91YmxlLCBXZWJD
b3JlOjpGbG9hdFBvaW50KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRl
eCBmYmUzYmRhNDk2NTA4NGIxYTFlZjQxYzFiOWE0ZjQ1NjkzMDVkNTNiLi41OTk4Yzk0MzQwY2Q1
OTM2ZGMwZWMyMmE3MTAzZTgwMzZlN2Y3YThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNs
aWVudC5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiV2ViRGF0YUxpc3RTdWdnZXN0aW9u
c0Ryb3Bkb3duLmgiCiAjaW5jbHVkZSAiV2ViRGF0ZVRpbWVQaWNrZXIuaCIKICNpbmNsdWRlICJX
ZWJQb3B1cE1lbnVQcm94eS5oIgorI2luY2x1ZGUgIldpbmRvd0tpbmQuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL0FjdGl2aXR5U3RhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0FsdGVybmF0aXZlVGV4
dENsaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29udGFjdEluZm8uaD4KQEAgLTI0NSw2ICsy
NDYsOCBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJuIHRoZSBsYXllciBob3N0aW5nIG1vZGUgZm9y
IHRoZSB2aWV3LgogICAgIHZpcnR1YWwgTGF5ZXJIb3N0aW5nTW9kZSB2aWV3TGF5ZXJIb3N0aW5n
TW9kZSgpIHsgcmV0dXJuIExheWVySG9zdGluZ01vZGU6OkluUHJvY2VzczsgfQogCisgICAgdmly
dHVhbCBXaW5kb3dLaW5kIHdpbmRvd0tpbmQoKSB7IHJldHVybiBpc1ZpZXdJbldpbmRvdygpID8g
V2luZG93S2luZDo6Tm9ybWFsIDogV2luZG93S2luZDo6VW5wYXJlbnRlZDsgfQorCiAgICAgdmly
dHVhbCB2b2lkIHByb2Nlc3NEaWRFeGl0KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNz
V2lsbFN3YXAoKSB7IHByb2Nlc3NEaWRFeGl0KCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVs
YXVuY2hQcm9jZXNzKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYVByb3h5LmgKaW5kZXggZTMyYmY3YjM1OTI2ZmM4YWIzMGU5YjQ1ZTAyNDUwYjBmZTZhMTJj
ZS4uM2QwNDYxOGE4Yjg5MTMwYjYwMTM0YjY3MzVhZDhlN2YxNDNmMmNiMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oCkBAIC02MSwxNiArNjEsMTcg
QEAgcHVibGljOgogICAgIENBTGF5ZXIgKmxheWVyV2l0aElERm9yVGVzdGluZyh1aW50NjRfdCkg
Y29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBzaXplRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7Ci0g
ICAgdm9pZCBkZXZpY2VTY2FsZUZhY3RvckRpZENoYW5nZSgpIG92ZXJyaWRlOwotICAgIHZvaWQg
ZGlkVXBkYXRlR2VvbWV0cnkoKSBvdmVycmlkZTsKKyAgICB2b2lkIHNpemVEaWRDaGFuZ2UoKSBm
aW5hbDsKKyAgICB2b2lkIGRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKCkgZmluYWw7CisgICAg
dm9pZCB3aW5kb3dLaW5kRGlkQ2hhbmdlKCkgZmluYWw7CisgICAgdm9pZCBkaWRVcGRhdGVHZW9t
ZXRyeSgpIGZpbmFsOwogICAgIAogICAgIC8vIEZvciBub3csIGFsbCBjYWxsYmFja3MgYXJlIGNh
bGxlZCBiZWZvcmUgY29tbWl0dGluZyBjaGFuZ2VzLCBiZWNhdXNlIHRoYXQncyB3aGF0IHRoZSBv
bmx5IGNsaWVudCByZXF1aXJlcy4KICAgICAvLyBPbmNlIHdlIGhhdmUgb3RoZXIgY2FsbGJhY2tz
LCBpdCBtYXkgbWFrZSBzZW5zZSB0byBoYXZlIGEgYmVmb3JlLWNvbW1pdC9hZnRlci1jb21taXQg
b3B0aW9uLgotICAgIHZvaWQgZGlzcGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhXVEY6OkZ1bmN0
aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIGRp
c3BhdGNoQWZ0ZXJFbnN1cmluZ0RyYXdpbmcoV1RGOjpGdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jh
c2U6OkVycm9yKT4mJikgZmluYWw7CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgdm9pZCBkaWRD
aGFuZ2VWaWV3RXhwb3NlZFJlY3QoKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZENoYW5nZVZpZXdF
eHBvc2VkUmVjdCgpIGZpbmFsOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpA
QCAtNzgsMjIgKzc5LDIyIEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIGZsb2F0IGluZGljYXRv
clNjYWxlKFdlYkNvcmU6OkludFNpemUgY29udGVudHNTaXplKSBjb25zdDsKLSAgICB2b2lkIHVw
ZGF0ZURlYnVnSW5kaWNhdG9yKCkgb3ZlcnJpZGU7CisgICAgdm9pZCB1cGRhdGVEZWJ1Z0luZGlj
YXRvcigpIGZpbmFsOwogICAgIHZvaWQgdXBkYXRlRGVidWdJbmRpY2F0b3IoV2ViQ29yZTo6SW50
U2l6ZSBjb250ZW50c1NpemUsIGJvb2wgcm9vdExheWVyQ2hhbmdlZCwgZmxvYXQgc2NhbGUsIGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiBzY3JvbGxQb3NpdGlvbik7CiAgICAgdm9pZCB1cGRhdGVE
ZWJ1Z0luZGljYXRvclBvc2l0aW9uKCk7CiAgICAgdm9pZCBpbml0aWFsaXplRGVidWdJbmRpY2F0
b3IoKTsKIAotICAgIHZvaWQgd2FpdEZvckRpZFVwZGF0ZUFjdGl2aXR5U3RhdGUoQWN0aXZpdHlT
dGF0ZUNoYW5nZUlEKSBvdmVycmlkZTsKLSAgICB2b2lkIGhpZGVDb250ZW50VW50aWxQZW5kaW5n
VXBkYXRlKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBoaWRlQ29udGVudFVudGlsQW55VXBkYXRlKCkg
b3ZlcnJpZGU7Ci0gICAgYm9vbCBoYXNWaXNpYmxlQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIHZvaWQgd2FpdEZvckRpZFVwZGF0ZUFjdGl2aXR5U3RhdGUoQWN0aXZpdHlTdGF0ZUNoYW5n
ZUlEKSBmaW5hbDsKKyAgICB2b2lkIGhpZGVDb250ZW50VW50aWxQZW5kaW5nVXBkYXRlKCkgZmlu
YWw7CisgICAgdm9pZCBoaWRlQ29udGVudFVudGlsQW55VXBkYXRlKCkgZmluYWw7CisgICAgYm9v
bCBoYXNWaXNpYmxlQ29udGVudCgpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCBwcmVwYXJlRm9y
QXBwU3VzcGVuc2lvbigpIGZpbmFsOwogICAgIAogICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgaW5k
aWNhdG9yTG9jYXRpb24oKSBjb25zdDsKIAogICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCi0g
ICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXIm
KSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpIGZpbmFsOwogCiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycwogICAgIHZv
aWQgc2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKFdlYkNvcmU6OkZyYW1lc1BlclNlY29uZCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCmluZGV4
IGI0ZTRjNmMwZGE4MDMyNjEyOTViZGRhZmQ0NTViN2NhOTljODUzYTAuLjhiOGEwNGRmZjRkMjg5
NzA2ZGNiYjdkZjVjMmU1YTAxZmY5MmY3ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC01MDcsNCArNTA3LDEwIEBAIENBTGF5ZXIgKlJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmxheWVyV2l0aElERm9yVGVzdGluZyh1aW50
NjRfdCBsYXllcklECiAgICAgcmV0dXJuIG1fcmVtb3RlTGF5ZXJUcmVlSG9zdC0+bGF5ZXJXaXRo
SURGb3JUZXN0aW5nKGxheWVySUQpOwogfQogCit2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHk6OndpbmRvd0tpbmREaWRDaGFuZ2UoKQoreworICAgIGlmIChtX3dlYlBhZ2VQcm94
eS53aW5kb3dLaW5kKCkgPT0gV2luZG93S2luZDo6U2NlbmVLaXRTbmFwc2hvdHRpbmcpCisgICAg
ICAgIG1fcmVtb3RlTGF5ZXJUcmVlSG9zdC0+bWFwQWxsSU9TdXJmYWNlQmFja2luZ1N0b3JlKCk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVIb3N0LmgKaW5k
ZXggZThhMzA3OGU0ODBkMjEyZDQ2Y2Q2MzhlMjhkZDk1ZDI1ZjhmODIxZC4uM2Q1OTE3NmI2MzRi
MDA2ZTVlMGJmOWVkZDc2YjhkZGIyNmJjNjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlSG9zdC5o
CkBAIC04MSw2ICs4MSw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGxheWVyV2lsbEJlUmVtb3Zl
ZChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQpOwogCisgICAgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmU6OkxheWVyQ29udGVudHNUeXBlIGxheWVyQ29udGVudHNUeXBlKCkg
Y29uc3Q7CisKICAgICBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5KiBtX2RyYXdpbmdB
cmVhIHsgbnVsbHB0ciB9OwogICAgIFJlbW90ZUxheWVyVHJlZU5vZGUqIG1fcm9vdE5vZGUgeyBu
dWxscHRyIH07CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxh
eWVySUQsIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVMYXllclRyZWVOb2RlPj4gbV9ub2RlczsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVM
YXllclRyZWVIb3N0Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZUxheWVyVHJlZUhvc3QubW0KaW5kZXggMTAwOWNkODAxNjhhZWU3NWJmODkwZTFjM2Vi
MTBhN2I5Mjc5YWZiZS4uYzkwZDdhMmU3NDJmZjVjOTFjOGVkMDJlMWIzMmExNzYwOTNiNGZiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyVHJlZUhvc3QubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QubW0KQEAgLTY0LDYgKzY0LDI0IEBAIFJlbW90ZUxh
eWVyVHJlZUhvc3Q6On5SZW1vdGVMYXllclRyZWVIb3N0KCkKICAgICBjbGVhckxheWVycygpOwog
fQogCitSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJDb250ZW50c1R5cGUgUmVtb3RlTGF5
ZXJUcmVlSG9zdDo6bGF5ZXJDb250ZW50c1R5cGUoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisgICAgLy8gQ0FNYWNoUG9ydCBjdXJyZW50bHkg
ZG9lcyBub3Qgd29yayBvbiBtYWNPUyAob3IgbWFjQ2F0YWx5c3QpOiByZGFyOi8vcHJvYmxlbS8z
MTI0NzczMAorICAgIHJldHVybiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJDb250ZW50
c1R5cGU6OklPU3VyZmFjZTsKKyNlbHNlCisgICAgLy8gSWYgYSBzdXJmYWNlIHdpbGwgYmUgcmVm
ZXJlbmNlZCBieSBtdWx0aXBsZSBsYXllcnMgKGFzIGluIHRoZSB0aWxlIGRlYnVnIGluZGljYXRv
ciksIENBTWFjaFBvcnQgY2Fubm90IGJlIHVzZWQuCisgICAgaWYgKG1fZHJhd2luZ0FyZWEtPmhh
c0RlYnVnSW5kaWNhdG9yKCkpCisgICAgICAgIHJldHVybiBSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZTo6TGF5ZXJDb250ZW50c1R5cGU6OklPU3VyZmFjZTsKKworICAgIC8vIElmIFNjZW5lS2l0IHdp
bGwgYmUgZG9pbmcgYW4gaW4tcHJvY2VzcyBzbmFwc2hvdCBvZiB0aGUgbGF5ZXIgdHJlZSwgQ0FN
YWNoUG9ydCBjYW5ub3QgYmUgdXNlZDogcmRhcjovL3Byb2JsZW0vNDc0ODE5NzIKKyAgICBpZiAo
bV9kcmF3aW5nQXJlYS0+cGFnZSgpLndpbmRvd0tpbmQoKSA9PSBXaW5kb3dLaW5kOjpTY2VuZUtp
dFNuYXBzaG90dGluZykKKyAgICAgICAgcmV0dXJuIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpM
YXllckNvbnRlbnRzVHlwZTo6SU9TdXJmYWNlOworCisgICAgcmV0dXJuIFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlOjpMYXllckNvbnRlbnRzVHlwZTo6Q0FNYWNoUG9ydDsKKyNlbmRpZgorfQorCiBi
b29sIFJlbW90ZUxheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVyVHJlZShjb25zdCBSZW1vdGVMYXll
clRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIGZsb2F0IGluZGljYXRvclNjYWxlRmFjdG9y
KQogewogICAgIGlmICghbV9kcmF3aW5nQXJlYSkKQEAgLTg5LDEzICsxMDcsNyBAQCBib29sIFJl
bW90ZUxheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVyVHJlZShjb25zdCBSZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbiYgdHJhbgogICAgIH07CiAgICAgVmVjdG9yPExheWVyQW5kQ2xvbmU+IGNsb25l
c1RvVXBkYXRlOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkK
LSAgICAvLyBDYW4ndCB1c2UgdGhlIGlPUyBjb2RlIG9uIG1hY09TIHlldDogcmRhcjovL3Byb2Js
ZW0vMzEyNDc3MzAKLSAgICBhdXRvIGxheWVyQ29udGVudHNUeXBlID0gUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmU6OkxheWVyQ29udGVudHNUeXBlOjpJT1N1cmZhY2U7Ci0jZWxzZQotICAgIGF1dG8g
bGF5ZXJDb250ZW50c1R5cGUgPSBtX2RyYXdpbmdBcmVhLT5oYXNEZWJ1Z0luZGljYXRvcigpID8g
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OkxheWVyQ29udGVudHNUeXBlOjpJT1N1cmZhY2UgOiBS
ZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJDb250ZW50c1R5cGU6OkNBTWFjaFBvcnQ7Ci0j
ZW5kaWYKLSAgICAKKyAgICBhdXRvIGxheWVyQ29udGVudHNUeXBlID0gdGhpcy0+bGF5ZXJDb250
ZW50c1R5cGUoKTsKICAgICBmb3IgKGF1dG8mIFtsYXllcklELCBwcm9wZXJ0aWVzUG9pbnRlcl0g
OiB0cmFuc2FjdGlvbi5jaGFuZ2VkTGF5ZXJQcm9wZXJ0aWVzKCkpIHsKICAgICAgICAgY29uc3Qg
UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVyUHJvcGVydGllcyYgcHJvcGVydGllcyA9
ICpwcm9wZXJ0aWVzUG9pbnRlcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKaW5kZXggMmZlOTNhNTkxNTZlOGIwZTY5ODdjMDg4NTVkM2QwYWQzMjljODA2NS4uYTk3
OTI2YTdhZDcxODEyZTI1ODE4ZTdhN2JjNmY0ODAxNDk0NzVmZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMDU3Niw2ICsxMDU3NiwxMyBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6d2ViVmlld0RpZE1vdmVUb1dpbmRvdygpCiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgb2JzZXJ2ZXIudmFsdWUtPndlYlZpZXdEaWRNb3ZlVG9XaW5kb3coKTsKICAg
ICB9CisKKyAgICBhdXRvIG5ld1dpbmRvd0tpbmQgPSBwYWdlQ2xpZW50KCkud2luZG93S2luZCgp
OworICAgIGlmIChtX3dpbmRvd0tpbmQgIT0gbmV3V2luZG93S2luZCkgeworICAgICAgICBtX3dp
bmRvd0tpbmQgPSBuZXdXaW5kb3dLaW5kOworICAgICAgICBpZiAobV9kcmF3aW5nQXJlYSkKKyAg
ICAgICAgICAgIG1fZHJhd2luZ0FyZWEtPndpbmRvd0tpbmREaWRDaGFuZ2UoKTsgICAgCisgICAg
fQogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGNvbnN0IFdl
YkNvcmU6OkVsZW1lbnRDb250ZXh0JiBjb250ZXh0LCBib29sIGNhblNob3dQbGFjZWhvbGRlcikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNTRmYWQyMjNkMWEzODhl
OWMwZDRhNjdhNDU0YWEzZmY1YzBkYzgwZC4uNDdlMTg3Y2I2ZGZhZjNmYTYyZjljNmMwMzQyZmU1
YTZhOGFhNWYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTc5
LDYgKzc5LDcgQEAKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgogI2luY2x1ZGUgIldlYlVu
ZG9TdGVwSUQuaCIKICNpbmNsdWRlICJXZWJzaXRlUG9saWNpZXNEYXRhLmgiCisjaW5jbHVkZSAi
V2luZG93S2luZC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQWN0aXZpdHlTdGF0ZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvQXV0b3BsYXlFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29sb3IuaD4K
QEAgLTcyOSw2ICs3MzAsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZpZXdGb2N1c2VkKCkgY29u
c3QgeyByZXR1cm4gbV9hY3Rpdml0eVN0YXRlLmNvbnRhaW5zKFdlYkNvcmU6OkFjdGl2aXR5U3Rh
dGU6OklzRm9jdXNlZCk7IH0KICAgICBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fYWN0aXZpdHlTdGF0ZS5jb250YWlucyhXZWJDb3JlOjpBY3Rpdml0eVN0YXRlOjpX
aW5kb3dJc0FjdGl2ZSk7IH0KIAorICAgIFdpbmRvd0tpbmQgd2luZG93S2luZCgpIGNvbnN0IHsg
cmV0dXJuIG1fd2luZG93S2luZDsgfTsKKwogICAgIHZvaWQgYWRkTUlNRVR5cGVXaXRoQ3VzdG9t
Q29udGVudFByb3ZpZGVyKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCiAgICAgdm9pZCBzZWxl
Y3RBbGwoKTsKQEAgLTMwOTgsNiArMzEwMSw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIGJv
b2wgbV9uZWVkc1NpdGVTcGVjaWZpY1ZpZXdwb3J0UXVpcmtzIHsgdHJ1ZSB9OworCisgICAgV2lu
ZG93S2luZCBtX3dpbmRvd0tpbmQgeyBXaW5kb3dLaW5kOjpVbnBhcmVudGVkIH07CiB9OwogCiAj
aWZkZWYgX19PQkpDX18KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dpbmRv
d0tpbmQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dpbmRvd0tpbmQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMmU5MTJmZGZhZjZmMGI4YzZjYjM2Mjc4Mzk3ZmIwYzYzMmNiZmFhCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2luZG93S2luZC5oCkBAIC0wLDAgKzEsMzYg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Vu
dW0gY2xhc3MgV2luZG93S2luZCA6IHVpbnQ4X3QgeworICAgIFVucGFyZW50ZWQsCisgICAgTm9y
bWFsLAorICAgIFNjZW5lS2l0U25hcHNob3R0aW5nLAorfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437690</attachid>
            <date>2021-09-08 17:39:23 -0700</date>
            <delta_ts>2021-09-08 17:57:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203060-20210908173922.patch</filename>
            <type>text/plain</type>
            <size>15514</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZhY2FjMmFlMGM4YTgwYzRm
ZjZhNTE5MjAxYzQyNGFjZWJhODg1MzUuLmU5MjMxNTk0MGE4ODcyMDA1ZWZiYWI4ZjFlNWNkOGUz
ZGRlZTAwNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjEtMDktMDggIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgV0tXZWJWaWV3IHNwZWNp
ZmljIGJ1ZzogV0tXZWJWaWV3IGFzIHRoZSBjb250ZW50cyBvZiBhIFNjZW5lS2l0L0FSS2l0IG5v
ZGUgZG9lc24ndCB3b3JrIChVSVdlYlZpZXcgd29ya3MpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMwNjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzgyODk5OTIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAg
ICBTY2VuZUtpdCdzIHNuYXBzaG90dGVyIGNhbm5vdCBoYW5kbGUgQ0FNYWNoUG9ydC1hcy1sYXll
ci1jb250ZW50cy4KKworICAgICAgICBJZiB3ZSBnZXQgcGFyZW50ZWQgaW4gYSBTY2VuZUtpdCBz
bmFwc2hvdHRpbmcgd2luZG93LCBtYXAgYWxsIGV4aXN0aW5nCisgICAgICAgIHN1cmZhY2VzLCBh
bmQgcHJlZmVyIHVzaW5nIGFjdHVhbCBJT1N1cmZhY2VzIGluc3RlYWQgb2YgQ0FNYWNoUG9ydCBm
cm9tIHRoZW4gb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxD
b2NvYS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjp3aW5kb3dLaW5kKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5Ojp3ZWJWaWV3RGlkTW92ZVRvV2luZG93KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dpbmRvd0tpbmQuaDogQWRkZWQu
CisgICAgICAgIEtlZXAgdHJhY2sgb2YgdGhlIGtpbmQgb2Ygd2luZG93IHdlJ3JlIGN1cnJlbnRs
eSBpbiAodGhlIG9ubHkgc3BlY2lhbAorICAgICAgICBjYXNlIGF0IHRoZSBtb21lbnQgaXMgdGhl
IFNjZW5lS2l0IHNuYXBzaG90dGluZyB3aW5kb3csIGJ1dCB5b3UgY291bGQKKyAgICAgICAgZWFz
aWx5IGltYWdpbmUgdXMgY2FyaW5nIGFib3V0IG90aGVycykuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5
Ojp3aW5kb3dLaW5kRGlkQ2hhbmdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5o
OgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50Ojp3aW5kb3dLaW5kKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhUHJveHk6OndpbmRvd0tpbmREaWRDaGFuZ2UpOgorICAgICAgICBNYXAgQ0FNYWNoUG9y
dHMgdG8gSU9TdXJmYWNlcyB3aGVuIHdlIG1vdmUgaW50byBhIFNjZW5lS2l0IHNuYXBzaG90dGlu
ZyB3aW5kb3cuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxh
eWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyVHJlZUhvc3QubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZUhvc3Q6
OmxheWVyQ29udGVudHNUeXBlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJU
cmVlSG9zdDo6dXBkYXRlTGF5ZXJUcmVlKToKKyAgICAgICAgUHJlZmVyIElPU3VyZmFjZSBpZiB3
ZSdyZSBhbHJlYWR5IGluIGEgU2NlbmVLaXQgc25hcHNob3R0aW5nIHdpbmRvdy4KKyAgICAgICAg
QWxzbyBmYWN0b3IgdGhpcyBjb2RlIG91dCBhbmQgaW1wcm92ZSB0aGUgY29tbWVudHMuCisKIDIw
MjEtMDktMDggIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIHVubmVjZXNzYXJ5IFdURjo6IGluIFdlYnNpdGVEYXRhU3RvcmUgZmlsZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAppbmRl
eCAyYTk4ZWRlMzIyMzQxZGFiYmJhMmZmNGI3MGYwMGY0OGI5ZGI2MTkwLi44NjBhYWY4MjVlNmJm
NTU2NGY4MDQ3MzhiMzU4NWRlZGIwYmQ5MmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCkBAIC04Nyw2ICs4Nyw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIG1pY3JvcGhvbmVDYXB0dXJlQ2hhbmdlZCgpIGZpbmFsOwogICAgIHZv
aWQgY2FtZXJhQ2FwdHVyZUNoYW5nZWQoKSBmaW5hbDsKIAorICAgIFdpbmRvd0tpbmQgd2luZG93
S2luZCgpIGZpbmFsOworCiBwcm90ZWN0ZWQ6CiAgICAgV2Vha09iakNQdHI8V0tXZWJWaWV3PiBt
X3dlYlZpZXc7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dFVJ
Q29udHJvbGxlcj4gbV9hbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQppbmRleCBk
ODVhNmU4OThlNjQ1YjcyNjEyM2E2ZWMzZjc1MjZjZGJhZGEwOTYzLi42MGRhM2I0NTAyMTZiMDU4
ZjViYzVkMGM1NmM4YWQ4MDBjZjZmY2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KQEAgLTE5Myw0ICsxOTMsMTQgQEAg
dm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpjYW1lcmFDYXB0dXJlQ2hhbmdlZCgpCiAgICAgW21f
d2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAImNhbWVyYUNhcHR1cmVTdGF0ZSJdOwogfQog
CitXaW5kb3dLaW5kIFBhZ2VDbGllbnRJbXBsQ29jb2E6OndpbmRvd0tpbmQoKQoreworICAgIGF1
dG8gd2luZG93ID0gW21fd2ViVmlldyB3aW5kb3ddOworICAgIGlmICghd2luZG93KQorICAgICAg
ICByZXR1cm4gV2luZG93S2luZDo6VW5wYXJlbnRlZDsKKyAgICBpZiAoW3dpbmRvdyBpc0tpbmRP
ZkNsYXNzOk5TQ2xhc3NGcm9tU3RyaW5nKEAiX1NDTlNuYXBzaG90V2luZG93IildKQorICAgICAg
ICByZXR1cm4gV2luZG93S2luZDo6SW5Qcm9jZXNzU25hcHNob3R0aW5nOworICAgIHJldHVybiBX
aW5kb3dLaW5kOjpOb3JtYWw7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHkuaAppbmRleCA4MjZjNDE3YzZjOWJhMWM3ZTZjMmMzMmE2YWIwZjNhYjhkNzJm
MGUwLi5iYWJjNTUzZDE3MGZjNzFkNTgyZTI2NDI2ZThjZjkwM2E5ZTgwZDMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCkBAIC04NCw2ICs4NCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY29sb3JTcGFjZURpZENoYW5nZSgpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBtaW5pbXVtU2l6ZUZvckF1dG9MYXlvdXREaWRDaGFuZ2UoKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgc2l6ZVRvQ29udGVudEF1dG9TaXplTWF4aW11bVNpemVEaWRDaGFuZ2UoKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgd2luZG93S2luZERpZENoYW5nZSgpIHsgfQogCiAgICAgdmly
dHVhbCB2b2lkIGFkanVzdFRyYW5zaWVudFpvb20oZG91YmxlLCBXZWJDb3JlOjpGbG9hdFBvaW50
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgY29tbWl0VHJhbnNpZW50Wm9vbShkb3VibGUsIFdlYkNv
cmU6OkZsb2F0UG9pbnQpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4
IGZiZTNiZGE0OTY1MDg0YjFhMWVmNDFjMWI5YTRmNDU2OTMwNWQ1M2IuLjU5OThjOTQzNDBjZDU5
MzZkYzBlYzIyYTcxMDNlODAzNmU3ZjdhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmgKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJXZWJEYXRhTGlzdFN1Z2dlc3Rpb25z
RHJvcGRvd24uaCIKICNpbmNsdWRlICJXZWJEYXRlVGltZVBpY2tlci5oIgogI2luY2x1ZGUgIldl
YlBvcHVwTWVudVByb3h5LmgiCisjaW5jbHVkZSAiV2luZG93S2luZC5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvQWN0aXZpdHlTdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQWx0ZXJuYXRpdmVUZXh0
Q2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db250YWN0SW5mby5oPgpAQCAtMjQ1LDYgKzI0
Niw4IEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm4gdGhlIGxheWVyIGhvc3RpbmcgbW9kZSBmb3Ig
dGhlIHZpZXcuCiAgICAgdmlydHVhbCBMYXllckhvc3RpbmdNb2RlIHZpZXdMYXllckhvc3RpbmdN
b2RlKCkgeyByZXR1cm4gTGF5ZXJIb3N0aW5nTW9kZTo6SW5Qcm9jZXNzOyB9CiAKKyAgICB2aXJ0
dWFsIFdpbmRvd0tpbmQgd2luZG93S2luZCgpIHsgcmV0dXJuIGlzVmlld0luV2luZG93KCkgPyBX
aW5kb3dLaW5kOjpOb3JtYWwgOiBXaW5kb3dLaW5kOjpVbnBhcmVudGVkOyB9CisKICAgICB2aXJ0
dWFsIHZvaWQgcHJvY2Vzc0RpZEV4aXQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHByb2Nlc3NX
aWxsU3dhcCgpIHsgcHJvY2Vzc0RpZEV4aXQoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWxh
dW5jaFByb2Nlc3MoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9S
ZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHkuaAppbmRleCBlMzJiZjdiMzU5MjZmYzhhYjMwZTliNDVlMDI0NTBiMGZlNmExMmNl
Li4zZDA0NjE4YThiODkxMzBiNjAxMzRiNjczNWFkOGU3ZjE0M2YyY2IzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmgKQEAgLTYxLDE2ICs2MSwxNyBA
QCBwdWJsaWM6CiAgICAgQ0FMYXllciAqbGF5ZXJXaXRoSURGb3JUZXN0aW5nKHVpbnQ2NF90KSBj
b25zdDsKIAogcHJpdmF0ZToKLSAgICB2b2lkIHNpemVEaWRDaGFuZ2UoKSBvdmVycmlkZTsKLSAg
ICB2b2lkIGRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBk
aWRVcGRhdGVHZW9tZXRyeSgpIG92ZXJyaWRlOworICAgIHZvaWQgc2l6ZURpZENoYW5nZSgpIGZp
bmFsOworICAgIHZvaWQgZGV2aWNlU2NhbGVGYWN0b3JEaWRDaGFuZ2UoKSBmaW5hbDsKKyAgICB2
b2lkIHdpbmRvd0tpbmREaWRDaGFuZ2UoKSBmaW5hbDsKKyAgICB2b2lkIGRpZFVwZGF0ZUdlb21l
dHJ5KCkgZmluYWw7CiAgICAgCiAgICAgLy8gRm9yIG5vdywgYWxsIGNhbGxiYWNrcyBhcmUgY2Fs
bGVkIGJlZm9yZSBjb21taXR0aW5nIGNoYW5nZXMsIGJlY2F1c2UgdGhhdCdzIHdoYXQgdGhlIG9u
bHkgY2xpZW50IHJlcXVpcmVzLgogICAgIC8vIE9uY2Ugd2UgaGF2ZSBvdGhlciBjYWxsYmFja3Ms
IGl0IG1heSBtYWtlIHNlbnNlIHRvIGhhdmUgYSBiZWZvcmUtY29tbWl0L2FmdGVyLWNvbW1pdCBv
cHRpb24uCi0gICAgdm9pZCBkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3aW5nKFdURjo6RnVuY3Rp
b248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgZGlz
cGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhXVEY6OkZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFz
ZTo6RXJyb3IpPiYmKSBmaW5hbDsKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICB2b2lkIGRpZENo
YW5nZVZpZXdFeHBvc2VkUmVjdCgpIG92ZXJyaWRlOworICAgIHZvaWQgZGlkQ2hhbmdlVmlld0V4
cG9zZWRSZWN0KCkgZmluYWw7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBA
IC03OCwyMiArNzksMjIgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgZmxvYXQgaW5kaWNhdG9y
U2NhbGUoV2ViQ29yZTo6SW50U2l6ZSBjb250ZW50c1NpemUpIGNvbnN0OwotICAgIHZvaWQgdXBk
YXRlRGVidWdJbmRpY2F0b3IoKSBvdmVycmlkZTsKKyAgICB2b2lkIHVwZGF0ZURlYnVnSW5kaWNh
dG9yKCkgZmluYWw7CiAgICAgdm9pZCB1cGRhdGVEZWJ1Z0luZGljYXRvcihXZWJDb3JlOjpJbnRT
aXplIGNvbnRlbnRzU2l6ZSwgYm9vbCByb290TGF5ZXJDaGFuZ2VkLCBmbG9hdCBzY2FsZSwgY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmIHNjcm9sbFBvc2l0aW9uKTsKICAgICB2b2lkIHVwZGF0ZURl
YnVnSW5kaWNhdG9yUG9zaXRpb24oKTsKICAgICB2b2lkIGluaXRpYWxpemVEZWJ1Z0luZGljYXRv
cigpOwogCi0gICAgdm9pZCB3YWl0Rm9yRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZShBY3Rpdml0eVN0
YXRlQ2hhbmdlSUQpIG92ZXJyaWRlOwotICAgIHZvaWQgaGlkZUNvbnRlbnRVbnRpbFBlbmRpbmdV
cGRhdGUoKSBvdmVycmlkZTsKLSAgICB2b2lkIGhpZGVDb250ZW50VW50aWxBbnlVcGRhdGUoKSBv
dmVycmlkZTsKLSAgICBib29sIGhhc1Zpc2libGVDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7Cisg
ICAgdm9pZCB3YWl0Rm9yRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZShBY3Rpdml0eVN0YXRlQ2hhbmdl
SUQpIGZpbmFsOworICAgIHZvaWQgaGlkZUNvbnRlbnRVbnRpbFBlbmRpbmdVcGRhdGUoKSBmaW5h
bDsKKyAgICB2b2lkIGhpZGVDb250ZW50VW50aWxBbnlVcGRhdGUoKSBmaW5hbDsKKyAgICBib29s
IGhhc1Zpc2libGVDb250ZW50KCkgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIHByZXBhcmVGb3JB
cHBTdXNwZW5zaW9uKCkgZmluYWw7CiAgICAgCiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBpbmRp
Y2F0b3JMb2NhdGlvbigpIGNvbnN0OwogCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAg
ICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYp
IG92ZXJyaWRlOworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwg
SVBDOjpEZWNvZGVyJikgZmluYWw7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzCiAgICAgdm9p
ZCBzZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQoV2ViQ29yZTo6RnJhbWVzUGVyU2Vjb25kKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KaW5kZXgg
YjRlNGM2YzBkYTgwMzI2MTI5NWJkZGFmZDQ1NWI3Y2E5OWM4NTNhMC4uMWIwNDM5MWEwODM4Yjky
YWU0MDBiNzlkOWVlN2QxNGNlMmM5NDU4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhUHJveHkubW0KQEAgLTUwNyw0ICs1MDcsMTAgQEAgQ0FMYXllciAqUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6bGF5ZXJXaXRoSURGb3JUZXN0aW5nKHVpbnQ2
NF90IGxheWVySUQKICAgICByZXR1cm4gbV9yZW1vdGVMYXllclRyZWVIb3N0LT5sYXllcldpdGhJ
REZvclRlc3RpbmcobGF5ZXJJRCk7CiB9CiAKK3ZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eTo6d2luZG93S2luZERpZENoYW5nZSgpCit7CisgICAgaWYgKG1fd2ViUGFnZVByb3h5
LndpbmRvd0tpbmQoKSA9PSBXaW5kb3dLaW5kOjpJblByb2Nlc3NTbmFwc2hvdHRpbmcpCisgICAg
ICAgIG1fcmVtb3RlTGF5ZXJUcmVlSG9zdC0+bWFwQWxsSU9TdXJmYWNlQmFja2luZ1N0b3JlKCk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVIb3N0LmgKaW5k
ZXggZThhMzA3OGU0ODBkMjEyZDQ2Y2Q2MzhlMjhkZDk1ZDI1ZjhmODIxZC4uM2Q1OTE3NmI2MzRi
MDA2ZTVlMGJmOWVkZDc2YjhkZGIyNmJjNjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlSG9zdC5o
CkBAIC04MSw2ICs4MSw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGxheWVyV2lsbEJlUmVtb3Zl
ZChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQpOwogCisgICAgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmU6OkxheWVyQ29udGVudHNUeXBlIGxheWVyQ29udGVudHNUeXBlKCkg
Y29uc3Q7CisKICAgICBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5KiBtX2RyYXdpbmdB
cmVhIHsgbnVsbHB0ciB9OwogICAgIFJlbW90ZUxheWVyVHJlZU5vZGUqIG1fcm9vdE5vZGUgeyBu
dWxscHRyIH07CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxh
eWVySUQsIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVMYXllclRyZWVOb2RlPj4gbV9ub2RlczsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVM
YXllclRyZWVIb3N0Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZUxheWVyVHJlZUhvc3QubW0KaW5kZXggMTAwOWNkODAxNjhhZWU3NWJmODkwZTFjM2Vi
MTBhN2I5Mjc5YWZiZS4uM2VlOTkzYThhMmFkMWFhM2I0MTgxYTEzOGI5MDJhMzdhYzYzMTNkMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyVHJlZUhvc3QubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QubW0KQEAgLTY0LDYgKzY0LDI0IEBAIFJlbW90ZUxh
eWVyVHJlZUhvc3Q6On5SZW1vdGVMYXllclRyZWVIb3N0KCkKICAgICBjbGVhckxheWVycygpOwog
fQogCitSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJDb250ZW50c1R5cGUgUmVtb3RlTGF5
ZXJUcmVlSG9zdDo6bGF5ZXJDb250ZW50c1R5cGUoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisgICAgLy8gQ0FNYWNoUG9ydCBjdXJyZW50bHkg
ZG9lcyBub3Qgd29yayBvbiBtYWNPUyAob3IgbWFjQ2F0YWx5c3QpOiByZGFyOi8vcHJvYmxlbS8z
MTI0NzczMAorICAgIHJldHVybiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJDb250ZW50
c1R5cGU6OklPU3VyZmFjZTsKKyNlbHNlCisgICAgLy8gSWYgYSBzdXJmYWNlIHdpbGwgYmUgcmVm
ZXJlbmNlZCBieSBtdWx0aXBsZSBsYXllcnMgKGFzIGluIHRoZSB0aWxlIGRlYnVnIGluZGljYXRv
ciksIENBTWFjaFBvcnQgY2Fubm90IGJlIHVzZWQuCisgICAgaWYgKG1fZHJhd2luZ0FyZWEtPmhh
c0RlYnVnSW5kaWNhdG9yKCkpCisgICAgICAgIHJldHVybiBSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZTo6TGF5ZXJDb250ZW50c1R5cGU6OklPU3VyZmFjZTsKKworICAgIC8vIElmIGUuZy4gU2NlbmVL
aXQgd2lsbCBiZSBkb2luZyBhbiBpbi1wcm9jZXNzIHNuYXBzaG90IG9mIHRoZSBsYXllciB0cmVl
LCBDQU1hY2hQb3J0IGNhbm5vdCBiZSB1c2VkOiByZGFyOi8vcHJvYmxlbS80NzQ4MTk3MgorICAg
IGlmIChtX2RyYXdpbmdBcmVhLT5wYWdlKCkud2luZG93S2luZCgpID09IFdpbmRvd0tpbmQ6Oklu
UHJvY2Vzc1NuYXBzaG90dGluZykKKyAgICAgICAgcmV0dXJuIFJlbW90ZUxheWVyQmFja2luZ1N0
b3JlOjpMYXllckNvbnRlbnRzVHlwZTo6SU9TdXJmYWNlOworCisgICAgcmV0dXJuIFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlOjpMYXllckNvbnRlbnRzVHlwZTo6Q0FNYWNoUG9ydDsKKyNlbmRpZgor
fQorCiBib29sIFJlbW90ZUxheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVyVHJlZShjb25zdCBSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIGZsb2F0IGluZGljYXRvclNjYWxl
RmFjdG9yKQogewogICAgIGlmICghbV9kcmF3aW5nQXJlYSkKQEAgLTg5LDEzICsxMDcsNyBAQCBi
b29sIFJlbW90ZUxheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVyVHJlZShjb25zdCBSZW1vdGVMYXll
clRyZWVUcmFuc2FjdGlvbiYgdHJhbgogICAgIH07CiAgICAgVmVjdG9yPExheWVyQW5kQ2xvbmU+
IGNsb25lc1RvVXBkYXRlOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRB
TFlTVCkKLSAgICAvLyBDYW4ndCB1c2UgdGhlIGlPUyBjb2RlIG9uIG1hY09TIHlldDogcmRhcjov
L3Byb2JsZW0vMzEyNDc3MzAKLSAgICBhdXRvIGxheWVyQ29udGVudHNUeXBlID0gUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmU6OkxheWVyQ29udGVudHNUeXBlOjpJT1N1cmZhY2U7Ci0jZWxzZQotICAg
IGF1dG8gbGF5ZXJDb250ZW50c1R5cGUgPSBtX2RyYXdpbmdBcmVhLT5oYXNEZWJ1Z0luZGljYXRv
cigpID8gUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OkxheWVyQ29udGVudHNUeXBlOjpJT1N1cmZh
Y2UgOiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJDb250ZW50c1R5cGU6OkNBTWFjaFBv
cnQ7Ci0jZW5kaWYKLSAgICAKKyAgICBhdXRvIGxheWVyQ29udGVudHNUeXBlID0gdGhpcy0+bGF5
ZXJDb250ZW50c1R5cGUoKTsKICAgICBmb3IgKGF1dG8mIFtsYXllcklELCBwcm9wZXJ0aWVzUG9p
bnRlcl0gOiB0cmFuc2FjdGlvbi5jaGFuZ2VkTGF5ZXJQcm9wZXJ0aWVzKCkpIHsKICAgICAgICAg
Y29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVyUHJvcGVydGllcyYgcHJvcGVy
dGllcyA9ICpwcm9wZXJ0aWVzUG9pbnRlcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKaW5kZXggMmZlOTNhNTkxNTZlOGIwZTY5ODdjMDg4NTVkM2QwYWQzMjljODA2
NS4uYTk3OTI2YTdhZDcxODEyZTI1ODE4ZTdhN2JjNmY0ODAxNDk0NzVmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMDU3Niw2ICsxMDU3NiwxMyBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6d2ViVmlld0RpZE1vdmVUb1dpbmRvdygpCiAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgb2JzZXJ2ZXIudmFsdWUtPndlYlZpZXdEaWRNb3ZlVG9XaW5kb3co
KTsKICAgICB9CisKKyAgICBhdXRvIG5ld1dpbmRvd0tpbmQgPSBwYWdlQ2xpZW50KCkud2luZG93
S2luZCgpOworICAgIGlmIChtX3dpbmRvd0tpbmQgIT0gbmV3V2luZG93S2luZCkgeworICAgICAg
ICBtX3dpbmRvd0tpbmQgPSBuZXdXaW5kb3dLaW5kOworICAgICAgICBpZiAobV9kcmF3aW5nQXJl
YSkKKyAgICAgICAgICAgIG1fZHJhd2luZ0FyZWEtPndpbmRvd0tpbmREaWRDaGFuZ2UoKTsgICAg
CisgICAgfQogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGNv
bnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiBjb250ZXh0LCBib29sIGNhblNob3dQbGFjZWhv
bGRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNTRmYWQyMjNk
MWEzODhlOWMwZDRhNjdhNDU0YWEzZmY1YzBkYzgwZC4uNDdlMTg3Y2I2ZGZhZjNmYTYyZjljNmMw
MzQyZmU1YTZhOGFhNWYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
QEAgLTc5LDYgKzc5LDcgQEAKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgogI2luY2x1ZGUg
IldlYlVuZG9TdGVwSUQuaCIKICNpbmNsdWRlICJXZWJzaXRlUG9saWNpZXNEYXRhLmgiCisjaW5j
bHVkZSAiV2luZG93S2luZC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQWN0aXZpdHlTdGF0ZS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvQXV0b3BsYXlFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29s
b3IuaD4KQEAgLTcyOSw2ICs3MzAsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZpZXdGb2N1c2Vk
KCkgY29uc3QgeyByZXR1cm4gbV9hY3Rpdml0eVN0YXRlLmNvbnRhaW5zKFdlYkNvcmU6OkFjdGl2
aXR5U3RhdGU6OklzRm9jdXNlZCk7IH0KICAgICBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fYWN0aXZpdHlTdGF0ZS5jb250YWlucyhXZWJDb3JlOjpBY3Rpdml0eVN0
YXRlOjpXaW5kb3dJc0FjdGl2ZSk7IH0KIAorICAgIFdpbmRvd0tpbmQgd2luZG93S2luZCgpIGNv
bnN0IHsgcmV0dXJuIG1fd2luZG93S2luZDsgfTsKKwogICAgIHZvaWQgYWRkTUlNRVR5cGVXaXRo
Q3VzdG9tQ29udGVudFByb3ZpZGVyKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCiAgICAgdm9p
ZCBzZWxlY3RBbGwoKTsKQEAgLTMwOTgsNiArMzEwMSw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIAog
ICAgIGJvb2wgbV9uZWVkc1NpdGVTcGVjaWZpY1ZpZXdwb3J0UXVpcmtzIHsgdHJ1ZSB9OworCisg
ICAgV2luZG93S2luZCBtX3dpbmRvd0tpbmQgeyBXaW5kb3dLaW5kOjpVbnBhcmVudGVkIH07CiB9
OwogCiAjaWZkZWYgX19PQkpDX18KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dpbmRvd0tpbmQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dpbmRvd0tpbmQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hMmU5MTJmZGZhZjZmMGI4YzZjYjM2Mjc4Mzk3ZmIwYzYzMmNiZmFhCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2luZG93S2luZC5oCkBAIC0wLDAg
KzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2VudW0gY2xhc3MgV2luZG93S2luZCA6IHVpbnQ4X3QgeworICAgIFVucGFyZW50ZWQsCisg
ICAgTm9ybWFsLAorICAgIFNjZW5lS2l0U25hcHNob3R0aW5nLAorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0Cg==
</data>
<flag name="commit-queue"
          id="460912"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437691</attachid>
            <date>2021-09-08 17:48:09 -0700</date>
            <delta_ts>2021-09-08 19:46:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203060-20210908174808.patch</filename>
            <type>text/plain</type>
            <size>17558</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZhY2FjMmFlMGM4YTgwYzRm
ZjZhNTE5MjAxYzQyNGFjZWJhODg1MzUuLmU5MjMxNTk0MGE4ODcyMDA1ZWZiYWI4ZjFlNWNkOGUz
ZGRlZTAwNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjEtMDktMDggIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgV0tXZWJWaWV3IHNwZWNp
ZmljIGJ1ZzogV0tXZWJWaWV3IGFzIHRoZSBjb250ZW50cyBvZiBhIFNjZW5lS2l0L0FSS2l0IG5v
ZGUgZG9lc24ndCB3b3JrIChVSVdlYlZpZXcgd29ya3MpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMwNjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzgyODk5OTIzPgorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAg
ICBTY2VuZUtpdCdzIHNuYXBzaG90dGVyIGNhbm5vdCBoYW5kbGUgQ0FNYWNoUG9ydC1hcy1sYXll
ci1jb250ZW50cy4KKworICAgICAgICBJZiB3ZSBnZXQgcGFyZW50ZWQgaW4gYSBTY2VuZUtpdCBz
bmFwc2hvdHRpbmcgd2luZG93LCBtYXAgYWxsIGV4aXN0aW5nCisgICAgICAgIHN1cmZhY2VzLCBh
bmQgcHJlZmVyIHVzaW5nIGFjdHVhbCBJT1N1cmZhY2VzIGluc3RlYWQgb2YgQ0FNYWNoUG9ydCBm
cm9tIHRoZW4gb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxD
b2NvYS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjp3aW5kb3dLaW5kKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5Ojp3ZWJWaWV3RGlkTW92ZVRvV2luZG93KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dpbmRvd0tpbmQuaDogQWRkZWQu
CisgICAgICAgIEtlZXAgdHJhY2sgb2YgdGhlIGtpbmQgb2Ygd2luZG93IHdlJ3JlIGN1cnJlbnRs
eSBpbiAodGhlIG9ubHkgc3BlY2lhbAorICAgICAgICBjYXNlIGF0IHRoZSBtb21lbnQgaXMgdGhl
IFNjZW5lS2l0IHNuYXBzaG90dGluZyB3aW5kb3csIGJ1dCB5b3UgY291bGQKKyAgICAgICAgZWFz
aWx5IGltYWdpbmUgdXMgY2FyaW5nIGFib3V0IG90aGVycykuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5
Ojp3aW5kb3dLaW5kRGlkQ2hhbmdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5o
OgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50Ojp3aW5kb3dLaW5kKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhUHJveHk6OndpbmRvd0tpbmREaWRDaGFuZ2UpOgorICAgICAgICBNYXAgQ0FNYWNoUG9y
dHMgdG8gSU9TdXJmYWNlcyB3aGVuIHdlIG1vdmUgaW50byBhIFNjZW5lS2l0IHNuYXBzaG90dGlu
ZyB3aW5kb3cuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxh
eWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyVHJlZUhvc3QubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZUhvc3Q6
OmxheWVyQ29udGVudHNUeXBlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJU
cmVlSG9zdDo6dXBkYXRlTGF5ZXJUcmVlKToKKyAgICAgICAgUHJlZmVyIElPU3VyZmFjZSBpZiB3
ZSdyZSBhbHJlYWR5IGluIGEgU2NlbmVLaXQgc25hcHNob3R0aW5nIHdpbmRvdy4KKyAgICAgICAg
QWxzbyBmYWN0b3IgdGhpcyBjb2RlIG91dCBhbmQgaW1wcm92ZSB0aGUgY29tbWVudHMuCisKIDIw
MjEtMDktMDggIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIHVubmVjZXNzYXJ5IFdURjo6IGluIFdlYnNpdGVEYXRhU3RvcmUgZmlsZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAppbmRl
eCAyYTk4ZWRlMzIyMzQxZGFiYmJhMmZmNGI3MGYwMGY0OGI5ZGI2MTkwLi44NjBhYWY4MjVlNmJm
NTU2NGY4MDQ3MzhiMzU4NWRlZGIwYmQ5MmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCkBAIC04Nyw2ICs4Nyw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIG1pY3JvcGhvbmVDYXB0dXJlQ2hhbmdlZCgpIGZpbmFsOwogICAgIHZv
aWQgY2FtZXJhQ2FwdHVyZUNoYW5nZWQoKSBmaW5hbDsKIAorICAgIFdpbmRvd0tpbmQgd2luZG93
S2luZCgpIGZpbmFsOworCiBwcm90ZWN0ZWQ6CiAgICAgV2Vha09iakNQdHI8V0tXZWJWaWV3PiBt
X3dlYlZpZXc7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dFVJ
Q29udHJvbGxlcj4gbV9hbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQppbmRleCBk
ODVhNmU4OThlNjQ1YjcyNjEyM2E2ZWMzZjc1MjZjZGJhZGEwOTYzLi42MGRhM2I0NTAyMTZiMDU4
ZjViYzVkMGM1NmM4YWQ4MDBjZjZmY2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KQEAgLTE5Myw0ICsxOTMsMTQgQEAg
dm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpjYW1lcmFDYXB0dXJlQ2hhbmdlZCgpCiAgICAgW21f
d2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAImNhbWVyYUNhcHR1cmVTdGF0ZSJdOwogfQog
CitXaW5kb3dLaW5kIFBhZ2VDbGllbnRJbXBsQ29jb2E6OndpbmRvd0tpbmQoKQoreworICAgIGF1
dG8gd2luZG93ID0gW21fd2ViVmlldyB3aW5kb3ddOworICAgIGlmICghd2luZG93KQorICAgICAg
ICByZXR1cm4gV2luZG93S2luZDo6VW5wYXJlbnRlZDsKKyAgICBpZiAoW3dpbmRvdyBpc0tpbmRP
ZkNsYXNzOk5TQ2xhc3NGcm9tU3RyaW5nKEAiX1NDTlNuYXBzaG90V2luZG93IildKQorICAgICAg
ICByZXR1cm4gV2luZG93S2luZDo6SW5Qcm9jZXNzU25hcHNob3R0aW5nOworICAgIHJldHVybiBX
aW5kb3dLaW5kOjpOb3JtYWw7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHkuaAppbmRleCA4MjZjNDE3YzZjOWJhMWM3ZTZjMmMzMmE2YWIwZjNhYjhkNzJm
MGUwLi5iYWJjNTUzZDE3MGZjNzFkNTgyZTI2NDI2ZThjZjkwM2E5ZTgwZDMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCkBAIC04NCw2ICs4NCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgY29sb3JTcGFjZURpZENoYW5nZSgpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBtaW5pbXVtU2l6ZUZvckF1dG9MYXlvdXREaWRDaGFuZ2UoKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgc2l6ZVRvQ29udGVudEF1dG9TaXplTWF4aW11bVNpemVEaWRDaGFuZ2UoKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgd2luZG93S2luZERpZENoYW5nZSgpIHsgfQogCiAgICAgdmly
dHVhbCB2b2lkIGFkanVzdFRyYW5zaWVudFpvb20oZG91YmxlLCBXZWJDb3JlOjpGbG9hdFBvaW50
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgY29tbWl0VHJhbnNpZW50Wm9vbShkb3VibGUsIFdlYkNv
cmU6OkZsb2F0UG9pbnQpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4
IGZiZTNiZGE0OTY1MDg0YjFhMWVmNDFjMWI5YTRmNDU2OTMwNWQ1M2IuLjU5OThjOTQzNDBjZDU5
MzZkYzBlYzIyYTcxMDNlODAzNmU3ZjdhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmgKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJXZWJEYXRhTGlzdFN1Z2dlc3Rpb25z
RHJvcGRvd24uaCIKICNpbmNsdWRlICJXZWJEYXRlVGltZVBpY2tlci5oIgogI2luY2x1ZGUgIldl
YlBvcHVwTWVudVByb3h5LmgiCisjaW5jbHVkZSAiV2luZG93S2luZC5oIgogI2luY2x1ZGUgPFdl
YkNvcmUvQWN0aXZpdHlTdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQWx0ZXJuYXRpdmVUZXh0
Q2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db250YWN0SW5mby5oPgpAQCAtMjQ1LDYgKzI0
Niw4IEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm4gdGhlIGxheWVyIGhvc3RpbmcgbW9kZSBmb3Ig
dGhlIHZpZXcuCiAgICAgdmlydHVhbCBMYXllckhvc3RpbmdNb2RlIHZpZXdMYXllckhvc3RpbmdN
b2RlKCkgeyByZXR1cm4gTGF5ZXJIb3N0aW5nTW9kZTo6SW5Qcm9jZXNzOyB9CiAKKyAgICB2aXJ0
dWFsIFdpbmRvd0tpbmQgd2luZG93S2luZCgpIHsgcmV0dXJuIGlzVmlld0luV2luZG93KCkgPyBX
aW5kb3dLaW5kOjpOb3JtYWwgOiBXaW5kb3dLaW5kOjpVbnBhcmVudGVkOyB9CisKICAgICB2aXJ0
dWFsIHZvaWQgcHJvY2Vzc0RpZEV4aXQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHByb2Nlc3NX
aWxsU3dhcCgpIHsgcHJvY2Vzc0RpZEV4aXQoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWxh
dW5jaFByb2Nlc3MoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9S
ZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHkuaAppbmRleCBlMzJiZjdiMzU5MjZmYzhhYjMwZTliNDVlMDI0NTBiMGZlNmExMmNl
Li4zZDA0NjE4YThiODkxMzBiNjAxMzRiNjczNWFkOGU3ZjE0M2YyY2IzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmgKQEAgLTYxLDE2ICs2MSwxNyBA
QCBwdWJsaWM6CiAgICAgQ0FMYXllciAqbGF5ZXJXaXRoSURGb3JUZXN0aW5nKHVpbnQ2NF90KSBj
b25zdDsKIAogcHJpdmF0ZToKLSAgICB2b2lkIHNpemVEaWRDaGFuZ2UoKSBvdmVycmlkZTsKLSAg
ICB2b2lkIGRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBk
aWRVcGRhdGVHZW9tZXRyeSgpIG92ZXJyaWRlOworICAgIHZvaWQgc2l6ZURpZENoYW5nZSgpIGZp
bmFsOworICAgIHZvaWQgZGV2aWNlU2NhbGVGYWN0b3JEaWRDaGFuZ2UoKSBmaW5hbDsKKyAgICB2
b2lkIHdpbmRvd0tpbmREaWRDaGFuZ2UoKSBmaW5hbDsKKyAgICB2b2lkIGRpZFVwZGF0ZUdlb21l
dHJ5KCkgZmluYWw7CiAgICAgCiAgICAgLy8gRm9yIG5vdywgYWxsIGNhbGxiYWNrcyBhcmUgY2Fs
bGVkIGJlZm9yZSBjb21taXR0aW5nIGNoYW5nZXMsIGJlY2F1c2UgdGhhdCdzIHdoYXQgdGhlIG9u
bHkgY2xpZW50IHJlcXVpcmVzLgogICAgIC8vIE9uY2Ugd2UgaGF2ZSBvdGhlciBjYWxsYmFja3Ms
IGl0IG1heSBtYWtlIHNlbnNlIHRvIGhhdmUgYSBiZWZvcmUtY29tbWl0L2FmdGVyLWNvbW1pdCBv
cHRpb24uCi0gICAgdm9pZCBkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3aW5nKFdURjo6RnVuY3Rp
b248dm9pZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgZGlz
cGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhXVEY6OkZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFz
ZTo6RXJyb3IpPiYmKSBmaW5hbDsKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICB2b2lkIGRpZENo
YW5nZVZpZXdFeHBvc2VkUmVjdCgpIG92ZXJyaWRlOworICAgIHZvaWQgZGlkQ2hhbmdlVmlld0V4
cG9zZWRSZWN0KCkgZmluYWw7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBA
IC03OCwyMiArNzksMjIgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgZmxvYXQgaW5kaWNhdG9y
U2NhbGUoV2ViQ29yZTo6SW50U2l6ZSBjb250ZW50c1NpemUpIGNvbnN0OwotICAgIHZvaWQgdXBk
YXRlRGVidWdJbmRpY2F0b3IoKSBvdmVycmlkZTsKKyAgICB2b2lkIHVwZGF0ZURlYnVnSW5kaWNh
dG9yKCkgZmluYWw7CiAgICAgdm9pZCB1cGRhdGVEZWJ1Z0luZGljYXRvcihXZWJDb3JlOjpJbnRT
aXplIGNvbnRlbnRzU2l6ZSwgYm9vbCByb290TGF5ZXJDaGFuZ2VkLCBmbG9hdCBzY2FsZSwgY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmIHNjcm9sbFBvc2l0aW9uKTsKICAgICB2b2lkIHVwZGF0ZURl
YnVnSW5kaWNhdG9yUG9zaXRpb24oKTsKICAgICB2b2lkIGluaXRpYWxpemVEZWJ1Z0luZGljYXRv
cigpOwogCi0gICAgdm9pZCB3YWl0Rm9yRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZShBY3Rpdml0eVN0
YXRlQ2hhbmdlSUQpIG92ZXJyaWRlOwotICAgIHZvaWQgaGlkZUNvbnRlbnRVbnRpbFBlbmRpbmdV
cGRhdGUoKSBvdmVycmlkZTsKLSAgICB2b2lkIGhpZGVDb250ZW50VW50aWxBbnlVcGRhdGUoKSBv
dmVycmlkZTsKLSAgICBib29sIGhhc1Zpc2libGVDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7Cisg
ICAgdm9pZCB3YWl0Rm9yRGlkVXBkYXRlQWN0aXZpdHlTdGF0ZShBY3Rpdml0eVN0YXRlQ2hhbmdl
SUQpIGZpbmFsOworICAgIHZvaWQgaGlkZUNvbnRlbnRVbnRpbFBlbmRpbmdVcGRhdGUoKSBmaW5h
bDsKKyAgICB2b2lkIGhpZGVDb250ZW50VW50aWxBbnlVcGRhdGUoKSBmaW5hbDsKKyAgICBib29s
IGhhc1Zpc2libGVDb250ZW50KCkgY29uc3QgZmluYWw7CiAKICAgICB2b2lkIHByZXBhcmVGb3JB
cHBTdXNwZW5zaW9uKCkgZmluYWw7CiAgICAgCiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBpbmRp
Y2F0b3JMb2NhdGlvbigpIGNvbnN0OwogCiAgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAg
ICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYp
IG92ZXJyaWRlOworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwg
SVBDOjpEZWNvZGVyJikgZmluYWw7CiAKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzCiAgICAgdm9p
ZCBzZXRQcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQoV2ViQ29yZTo6RnJhbWVzUGVyU2Vjb25kKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KaW5kZXgg
YjRlNGM2YzBkYTgwMzI2MTI5NWJkZGFmZDQ1NWI3Y2E5OWM4NTNhMC4uMWIwNDM5MWEwODM4Yjky
YWU0MDBiNzlkOWVlN2QxNGNlMmM5NDU4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhUHJveHkubW0KQEAgLTUwNyw0ICs1MDcsMTAgQEAgQ0FMYXllciAqUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6bGF5ZXJXaXRoSURGb3JUZXN0aW5nKHVpbnQ2
NF90IGxheWVySUQKICAgICByZXR1cm4gbV9yZW1vdGVMYXllclRyZWVIb3N0LT5sYXllcldpdGhJ
REZvclRlc3RpbmcobGF5ZXJJRCk7CiB9CiAKK3ZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eTo6d2luZG93S2luZERpZENoYW5nZSgpCit7CisgICAgaWYgKG1fd2ViUGFnZVByb3h5
LndpbmRvd0tpbmQoKSA9PSBXaW5kb3dLaW5kOjpJblByb2Nlc3NTbmFwc2hvdHRpbmcpCisgICAg
ICAgIG1fcmVtb3RlTGF5ZXJUcmVlSG9zdC0+bWFwQWxsSU9TdXJmYWNlQmFja2luZ1N0b3JlKCk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVIb3N0LmgKaW5k
ZXggZThhMzA3OGU0ODBkMjEyZDQ2Y2Q2MzhlMjhkZDk1ZDI1ZjhmODIxZC4uM2Q1OTE3NmI2MzRi
MDA2ZTVlMGJmOWVkZDc2YjhkZGIyNmJjNjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlSG9zdC5o
CkBAIC04MSw2ICs4MSw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGxheWVyV2lsbEJlUmVtb3Zl
ZChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQpOwogCisgICAgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmU6OkxheWVyQ29udGVudHNUeXBlIGxheWVyQ29udGVudHNUeXBlKCkg
Y29uc3Q7CisKICAgICBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5KiBtX2RyYXdpbmdB
cmVhIHsgbnVsbHB0ciB9OwogICAgIFJlbW90ZUxheWVyVHJlZU5vZGUqIG1fcm9vdE5vZGUgeyBu
dWxscHRyIH07CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxh
eWVySUQsIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVMYXllclRyZWVOb2RlPj4gbV9ub2RlczsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVM
YXllclRyZWVIb3N0Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZUxheWVyVHJlZUhvc3QubW0KaW5kZXggMTAwOWNkODAxNjhhZWU3NWJmODkwZTFjM2Vi
MTBhN2I5Mjc5YWZiZS4uM2VlOTkzYThhMmFkMWFhM2I0MTgxYTEzOGI5MDJhMzdhYzYzMTNkMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyVHJlZUhvc3QubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUhvc3QubW0KQEAgLTY0LDYgKzY0LDI0IEBAIFJlbW90ZUxh
eWVyVHJlZUhvc3Q6On5SZW1vdGVMYXllclRyZWVIb3N0KCkKICAgICBjbGVhckxheWVycygpOwog
fQogCitSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJDb250ZW50c1R5cGUgUmVtb3RlTGF5
ZXJUcmVlSG9zdDo6bGF5ZXJDb250ZW50c1R5cGUoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisgICAgLy8gQ0FNYWNoUG9ydCBjdXJyZW50bHkg
ZG9lcyBub3Qgd29yayBvbiBtYWNPUyAob3IgbWFjQ2F0YWx5c3QpOiByZGFyOi8vcHJvYmxlbS8z
MTI0NzczMAorICAgIHJldHVybiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJDb250ZW50
c1R5cGU6OklPU3VyZmFjZTsKKyNlbHNlCisgICAgLy8gSWYgYSBzdXJmYWNlIHdpbGwgYmUgcmVm
ZXJlbmNlZCBieSBtdWx0aXBsZSBsYXllcnMgKGFzIGluIHRoZSB0aWxlIGRlYnVnIGluZGljYXRv
ciksIENBTWFjaFBvcnQgY2Fubm90IGJlIHVzZWQuCisgICAgaWYgKG1fZHJhd2luZ0FyZWEtPmhh
c0RlYnVnSW5kaWNhdG9yKCkpCisgICAgICAgIHJldHVybiBSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZTo6TGF5ZXJDb250ZW50c1R5cGU6OklPU3VyZmFjZTsKKworICAgIC8vIElmIGUuZy4gU2NlbmVL
aXQgd2lsbCBiZSBkb2luZyBhbiBpbi1wcm9jZXNzIHNuYXBzaG90IG9mIHRoZSBsYXllciB0cmVl
LCBDQU1hY2hQb3J0IGNhbm5vdCBiZSB1c2VkOiByZGFyOi8vcHJvYmxlbS80NzQ4MTk3MgorICAg
IGlmIChtX2RyYXdpbmdBcmVhLT5wYWdlKCkud2luZG93S2luZCgpID09IFdpbmRvd0tpbmQ6Oklu
UHJvY2Vzc1NuYXBzaG90dGluZykKKyAgICAgICAgcmV0dXJuIFJlbW90ZUxheWVyQmFja2luZ1N0
b3JlOjpMYXllckNvbnRlbnRzVHlwZTo6SU9TdXJmYWNlOworCisgICAgcmV0dXJuIFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlOjpMYXllckNvbnRlbnRzVHlwZTo6Q0FNYWNoUG9ydDsKKyNlbmRpZgor
fQorCiBib29sIFJlbW90ZUxheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVyVHJlZShjb25zdCBSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIGZsb2F0IGluZGljYXRvclNjYWxl
RmFjdG9yKQogewogICAgIGlmICghbV9kcmF3aW5nQXJlYSkKQEAgLTg5LDEzICsxMDcsNyBAQCBi
b29sIFJlbW90ZUxheWVyVHJlZUhvc3Q6OnVwZGF0ZUxheWVyVHJlZShjb25zdCBSZW1vdGVMYXll
clRyZWVUcmFuc2FjdGlvbiYgdHJhbgogICAgIH07CiAgICAgVmVjdG9yPExheWVyQW5kQ2xvbmU+
IGNsb25lc1RvVXBkYXRlOwogCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRB
TFlTVCkKLSAgICAvLyBDYW4ndCB1c2UgdGhlIGlPUyBjb2RlIG9uIG1hY09TIHlldDogcmRhcjov
L3Byb2JsZW0vMzEyNDc3MzAKLSAgICBhdXRvIGxheWVyQ29udGVudHNUeXBlID0gUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmU6OkxheWVyQ29udGVudHNUeXBlOjpJT1N1cmZhY2U7Ci0jZWxzZQotICAg
IGF1dG8gbGF5ZXJDb250ZW50c1R5cGUgPSBtX2RyYXdpbmdBcmVhLT5oYXNEZWJ1Z0luZGljYXRv
cigpID8gUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OkxheWVyQ29udGVudHNUeXBlOjpJT1N1cmZh
Y2UgOiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6TGF5ZXJDb250ZW50c1R5cGU6OkNBTWFjaFBv
cnQ7Ci0jZW5kaWYKLSAgICAKKyAgICBhdXRvIGxheWVyQ29udGVudHNUeXBlID0gdGhpcy0+bGF5
ZXJDb250ZW50c1R5cGUoKTsKICAgICBmb3IgKGF1dG8mIFtsYXllcklELCBwcm9wZXJ0aWVzUG9p
bnRlcl0gOiB0cmFuc2FjdGlvbi5jaGFuZ2VkTGF5ZXJQcm9wZXJ0aWVzKCkpIHsKICAgICAgICAg
Y29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVyUHJvcGVydGllcyYgcHJvcGVy
dGllcyA9ICpwcm9wZXJ0aWVzUG9pbnRlcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKaW5kZXggMmZlOTNhNTkxNTZlOGIwZTY5ODdjMDg4NTVkM2QwYWQzMjljODA2
NS4uYTk3OTI2YTdhZDcxODEyZTI1ODE4ZTdhN2JjNmY0ODAxNDk0NzVmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMDU3Niw2ICsxMDU3NiwxMyBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6d2ViVmlld0RpZE1vdmVUb1dpbmRvdygpCiAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgb2JzZXJ2ZXIudmFsdWUtPndlYlZpZXdEaWRNb3ZlVG9XaW5kb3co
KTsKICAgICB9CisKKyAgICBhdXRvIG5ld1dpbmRvd0tpbmQgPSBwYWdlQ2xpZW50KCkud2luZG93
S2luZCgpOworICAgIGlmIChtX3dpbmRvd0tpbmQgIT0gbmV3V2luZG93S2luZCkgeworICAgICAg
ICBtX3dpbmRvd0tpbmQgPSBuZXdXaW5kb3dLaW5kOworICAgICAgICBpZiAobV9kcmF3aW5nQXJl
YSkKKyAgICAgICAgICAgIG1fZHJhd2luZ0FyZWEtPndpbmRvd0tpbmREaWRDaGFuZ2UoKTsgICAg
CisgICAgfQogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0Q2FuU2hvd1BsYWNlaG9sZGVyKGNv
bnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0JiBjb250ZXh0LCBib29sIGNhblNob3dQbGFjZWhv
bGRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNTRmYWQyMjNk
MWEzODhlOWMwZDRhNjdhNDU0YWEzZmY1YzBkYzgwZC4uNDdlMTg3Y2I2ZGZhZjNmYTYyZjljNmMw
MzQyZmU1YTZhOGFhNWYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
QEAgLTc5LDYgKzc5LDcgQEAKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgogI2luY2x1ZGUg
IldlYlVuZG9TdGVwSUQuaCIKICNpbmNsdWRlICJXZWJzaXRlUG9saWNpZXNEYXRhLmgiCisjaW5j
bHVkZSAiV2luZG93S2luZC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQWN0aXZpdHlTdGF0ZS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvQXV0b3BsYXlFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQ29s
b3IuaD4KQEAgLTcyOSw2ICs3MzAsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZpZXdGb2N1c2Vk
KCkgY29uc3QgeyByZXR1cm4gbV9hY3Rpdml0eVN0YXRlLmNvbnRhaW5zKFdlYkNvcmU6OkFjdGl2
aXR5U3RhdGU6OklzRm9jdXNlZCk7IH0KICAgICBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fYWN0aXZpdHlTdGF0ZS5jb250YWlucyhXZWJDb3JlOjpBY3Rpdml0eVN0
YXRlOjpXaW5kb3dJc0FjdGl2ZSk7IH0KIAorICAgIFdpbmRvd0tpbmQgd2luZG93S2luZCgpIGNv
bnN0IHsgcmV0dXJuIG1fd2luZG93S2luZDsgfTsKKwogICAgIHZvaWQgYWRkTUlNRVR5cGVXaXRo
Q3VzdG9tQ29udGVudFByb3ZpZGVyKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCiAgICAgdm9p
ZCBzZWxlY3RBbGwoKTsKQEAgLTMwOTgsNiArMzEwMSw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIAog
ICAgIGJvb2wgbV9uZWVkc1NpdGVTcGVjaWZpY1ZpZXdwb3J0UXVpcmtzIHsgdHJ1ZSB9OworCisg
ICAgV2luZG93S2luZCBtX3dpbmRvd0tpbmQgeyBXaW5kb3dLaW5kOjpVbnBhcmVudGVkIH07CiB9
OwogCiAjaWZkZWYgX19PQkpDX18KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dpbmRvd0tpbmQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dpbmRvd0tpbmQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43Y2E3N2JhNGE1ZjY4YzQ3OTU2MDA0ZWY5YzRjYjNlMThlNjA5YjdlCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2luZG93S2luZC5oCkBAIC0wLDAg
KzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2VudW0gY2xhc3MgV2luZG93S2luZCA6IHVpbnQ4X3QgeworICAgIFVucGFyZW50ZWQsCisg
ICAgTm9ybWFsLAorICAgIEluUHJvY2Vzc1NuYXBzaG90dGluZywKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggYjNlZWM2M2FiMTMwZmU1Mzc2MWI4ZjMzMzIxMzE2ODY3NGU0NjE1NC4uMDEy
NjI3OGFkNDlkN2QwZGE4MTRkYWRhMmI3ODRiNTQzNzVhMzliNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNDY1LDYgKzM0NjUsNyBA
QAogCQkyRDg3ODYyMjFCREI1OEZGMDBEMDJBQkIgLyogQVBJVXNlclN0eWxlU2hlZXQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJVXNlclN0eWxlU2hlZXQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ4OTQ5RUUxODIwNDRGNjAwRTg5OEFBIC8qIFBsYXRm
b3JtQ0FMYXllclJlbW90ZVRpbGVkQmFja2luZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVUaWxlZEJhY2tpbmcuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDg5NDlFRjE4MjA0NEY2MDBFODk4QUEgLyogUGxh
dGZvcm1DQUxheWVyUmVtb3RlVGlsZWRCYWNraW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllclJlbW90ZVRpbGVkQmFja2luZy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyRDkyMkQ4QTI2RTk5MEZDMDBFQzFBNTkgLyogV2luZG93S2lu
ZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXaW5kb3dLaW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTJEOUNENUVCMjFGQTUwM0YwMDI5QUNGQSAvKiBUZXh0Q2hlY2tpbmdDb250cm9sbGVy
UHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVGV4dENoZWNraW5nQ29udHJvbGxlclByb3h5Lm1lc3Nh
Z2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDlDRDVFQzIxRkE1MDNGMDAy
OUFDRkEgLyogVGV4dENoZWNraW5nQ29udHJvbGxlclByb3h5Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gVGV4dENoZWNraW5nQ29udHJvbGxlclByb3h5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRDlDRDVFRDIxRkE1MDNGMDAyOUFDRkEgLyogVGV4dENoZWNraW5nQ29udHJv
bGxlclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRleHRDaGVja2luZ0NvbnRyb2xsZXJQcm94eS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAyODksNiArMTAyOTAsNyBAQAogCQkJ
CTUxRThCNjhEMUU3MTI4NzMwMDFCNzEzMiAvKiBXZWJVUkxTY2hlbWVUYXNrLmNwcCAqLywKIAkJ
CQk1MUQxMjQyNzFFNkQzRjFGMDAyQjI4MjAgLyogV2ViVVJMU2NoZW1lVGFzay5oICovLAogCQkJ
CTU3MkZENDQxMjIyNjVDRTIwMEExRUNDMyAvKiBXZWJWaWV3RGlkTW92ZVRvV2luZG93T2JzZXJ2
ZXIuaCAqLywKKwkJCQkyRDkyMkQ4QTI2RTk5MEZDMDBFQzFBNTkgLyogV2luZG93S2luZC5oICov
LAogCQkJKTsKIAkJCXBhdGggPSBVSVByb2Nlc3M7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4i
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>