<?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>111193</bug_id>
          
          <creation_ts>2013-03-01 10:38:07 -0800</creation_ts>
          <short_desc>Web Inspector: Keyboard shortcut for &quot;Inspect Element&quot; only works when Web Inspector is open.</short_desc>
          <delta_ts>2016-04-12 12:36:43 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Nick Sergeant">nick</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bburg</cc>
    
    <cc>chrisjshull</cc>
    
    <cc>joepeck</cc>
    
    <cc>pmuellr</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>845285</commentid>
    <comment_count>0</comment_count>
    <who name="Nick Sergeant">nick</who>
    <bug_when>2013-03-01 10:38:07 -0800</bug_when>
    <thetext>Chrome&apos;s &quot;Inspect Element&quot; keyboard shortcut will bring up the DOM view with Style sidebar open even if the web inspector is closed (it will open the inspector, first).

WebKit&apos;s keyboard shortcut for this only works if the Web Inspector is already open.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845307</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-03-01 10:57:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/13325889&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145369</commentid>
    <comment_count>2</comment_count>
    <who name="Nick Sergeant">nick</who>
    <bug_when>2015-12-01 13:40:59 -0800</bug_when>
    <thetext>Why was this marked as invalid?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145420</commentid>
    <comment_count>3</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-12-01 15:15:52 -0800</bug_when>
    <thetext>It&apos;s marked INVALID because it&apos;s not a WebKit bug.

This is something the user agent (i.e., Safari) would have to implement. WebKit has no control over browser-level keybindings, as they are separate from the Inspector&apos;s window. Feel free to file a bug report at bugreport.apple.com.

I&apos;m a bit puzzled, though. What&apos;s the point of using this shortcut (Cmd-Shift-C) when the web content is focused instead of the inspector? You can just right click &quot;Inspect Element&quot; anywhere, and then select a node using the tree or the existing shortcut. Is it just for the element highlighting?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145519</commentid>
    <comment_count>4</comment_count>
    <who name="Nick Sergeant">nick</who>
    <bug_when>2015-12-01 21:12:24 -0800</bug_when>
    <thetext>&gt; This is something the user agent (i.e., Safari) would have to implement. WebKit has no control over browser-level keybindings, as they are separate from the Inspector&apos;s window. Feel free to file a bug report at bugreport.apple.com.

Ah, okay.

&gt; I&apos;m a bit puzzled, though. What&apos;s the point of using this shortcut (Cmd-Shift-C) when the web content is focused instead of the inspector? You can just right click &quot;Inspect Element&quot; anywhere, and then select a node using the tree or the existing shortcut. Is it just for the element highlighting?

As a developer I spend a bunch of time going from &quot;looking at a page&quot; to &quot;I need to inspect this element&quot;. With Chrome, I can hit the keyboard shortcut, and it&apos;ll immediately invoke the &quot;Inspect Element&quot; function and bring up the inspector. Yes, I could use my mouse, but I&apos;m a keyboard-oriented developer and I know many others are as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145574</commentid>
    <comment_count>5</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-12-02 08:46:18 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; 
&gt; As a developer I spend a bunch of time going from &quot;looking at a page&quot; to &quot;I
&gt; need to inspect this element&quot;. With Chrome, I can hit the keyboard shortcut,
&gt; and it&apos;ll immediately invoke the &quot;Inspect Element&quot; function and bring up the
&gt; inspector. Yes, I could use my mouse, but I&apos;m a keyboard-oriented developer
&gt; and I know many others are as well.

Ah, I see. There are plenty of small bugs that make keyboard navigation difficult in the WebKit Web Inspector. The issues are often related to accessibility problems as well. If you are interested in helping to report or fix some of these issues, I&apos;d be happy to point you in the right direction. Sorry that this one is out of our scope though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145633</commentid>
    <comment_count>6</comment_count>
    <who name="Nick Sergeant">nick</who>
    <bug_when>2015-12-02 11:13:29 -0800</bug_when>
    <thetext>Thanks, Brian! Unfortunately I no longer use Safari for development so I probably wouldn&apos;t be able to help out much, but if I ever do switch back, I will definitely consider helping out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145645</commentid>
    <comment_count>7</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-12-02 11:42:06 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; &lt;rdar://problem/13325889&gt;

This report has been forwarded to the appropriate team. You don&apos;t have to do anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178706</commentid>
    <comment_count>8</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-03-29 10:28:33 -0700</bug_when>
    <thetext>This will likely need WebKit changes too, so reopening this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182970</commentid>
    <comment_count>9</comment_count>
      <attachid>276215</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-04-11 21:34:38 -0700</bug_when>
    <thetext>Created attachment 276215
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1182971</commentid>
    <comment_count>10</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-04-11 21:35:43 -0700</bug_when>
    <thetext>I couldn&apos;t think of a better name then &quot;PointToInspect&quot;. The UI can show something different. We also call this &quot;SearchingForNode&quot; in some cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183094</commentid>
    <comment_count>11</comment_count>
      <attachid>276215</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-04-12 10:02:59 -0700</bug_when>
    <thetext>Comment on attachment 276215
[PATCH] Proposed Fix

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

&gt; Source/WebKit2/WebProcess/WebPage/WebInspector.cpp:226
&gt; +    m_page-&gt;corePage()-&gt;inspectorController().show();

Why show in the disable case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183126</commentid>
    <comment_count>12</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-04-12 11:20:53 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Comment on attachment 276215 [details]
&gt; [PATCH] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=276215&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebInspector.cpp:226
&gt; &gt; +    m_page-&gt;corePage()-&gt;inspectorController().show();
&gt; 
&gt; Why show in the disable case?

This is basically a bring to front, but that actually should happen automatically if the user selected something, so I should be able to drop it here!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183153</commentid>
    <comment_count>13</comment_count>
      <attachid>276215</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-04-12 11:47:21 -0700</bug_when>
    <thetext>Comment on attachment 276215
[PATCH] Proposed Fix

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

&gt; Source/WebKit2/UIProcess/API/C/WKInspector.cpp:130
&gt; +    toImpl(inspectorRef)-&gt;togglePointToInspect();

I would prefer a simple isPointToInspectEnabled / setPointToInspectEnabled pair rather than having toggle. That way a client doesn&apos;t have to double-check every time if they want to unconditionally enable it.

&gt; Source/WebKit2/WebProcess/WebPage/WebInspectorUI.messages.in:39
&gt; +    EnablePointToInspect()

Can this just be one message, SetPointToInspectEnabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183164</commentid>
    <comment_count>14</comment_count>
      <attachid>276259</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-04-12 12:11:40 -0700</bug_when>
    <thetext>Created attachment 276259
[PATCH] Improved Version

This changes the workflow.

Now when Toggle happens in the UIProcess:
  - if starting, connect() so the inspector doesn&apos;t open until you select something
  - if closing, we can do nothing if nothing was selected. If something was selected, the inspector will bring to front automatically anyways</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183169</commentid>
    <comment_count>15</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-04-12 12:36:43 -0700</bug_when>
    <thetext>&lt;http://trac.webkit.org/changeset/199380&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276215</attachid>
            <date>2016-04-11 21:34:38 -0700</date>
            <delta_ts>2016-04-12 10:02:59 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>point-to-inspect.patch</filename>
            <type>text/plain</type>
            <size>19126</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0Y2ZlM2ZjLi4wOGYwZmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTYtMDQtMTEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBLZXlib2FyZCBzaG9ydGN1dCBmb3IgIkluc3BlY3QgRWxl
bWVudCIgb25seSB3b3JrcyB3aGVuIFdlYiBJbnNwZWN0b3IgaXMgb3Blbi4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTE5MworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMTMzMjU4ODk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JDbGllbnQ6OnBvaW50VG9JbnNwZWN0Q2hhbmdlZCk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRPTUFnZW50OjpzZXRTZWFyY2hpbmdGb3JOb2RlKToKKyAgICAgICAgSW5mb3JtIHRo
ZSBjbGllbnQgd2hlbiBwb2ludCB0byBpbnNwZWN0IGNoYW5nZXMuCisKIDIwMTYtMDQtMTEgIFph
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBTaW1wbGlmeSBJbmxpbmVU
ZXh0Qm94OjpzZWxlY3Rpb25TdGFydEVuZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ2xpZW50LmgKaW5kZXggNWI5YWI0NC4uYzcxYmVkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaApAQCAtNjIsNiArNjIsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIHNldFNob3dQYWludFJlY3RzKGJvb2wpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBzaG93UGFpbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYpIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCBkaWRTZXRTZWFyY2hpbmdGb3JOb2RlKGJvb2wpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBwb2lu
dFRvSW5zcGVjdENoYW5nZWQoYm9vbCkgeyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlSmF2
YVNjcmlwdERpYWxvZyhib29sLCBjb25zdCBTdHJpbmcqKSB7IHJldHVybiBmYWxzZTsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCAx
YWE2OTk0Li5lMGY3ZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5jcHAKQEAgLTYzLDYgKzYzLDggQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
ICNpbmNsdWRlICJIVE1MVGVtcGxhdGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3Vs
dC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JIaXN0b3J5LmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9yTm9kZUZpbmRlci5oIgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXkuaCIKQEAgLTEw
MTUsNyArMTAxNyw5IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldFNlYXJjaGluZ0Zvck5v
ZGUoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBib29sIGVuYWJsCiB7CiAgICAgaWYgKG1fc2Vh
cmNoaW5nRm9yTm9kZSA9PSBlbmFibGVkKQogICAgICAgICByZXR1cm47CisKICAgICBtX3NlYXJj
aGluZ0Zvck5vZGUgPSBlbmFibGVkOworCiAgICAgaWYgKGVuYWJsZWQpIHsKICAgICAgICAgbV9p
bnNwZWN0TW9kZUhpZ2hsaWdodENvbmZpZyA9IGhpZ2hsaWdodENvbmZpZ0Zyb21JbnNwZWN0b3JP
YmplY3QoZXJyb3JTdHJpbmcsIGhpZ2hsaWdodEluc3BlY3Rvck9iamVjdCk7CiAgICAgICAgIGlm
ICghbV9pbnNwZWN0TW9kZUhpZ2hsaWdodENvbmZpZykKQEAgLTEwMjQsNiArMTAyOCw5IEBAIHZv
aWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnNldFNlYXJjaGluZ0Zvck5vZGUoRXJyb3JTdHJpbmcmIGVy
cm9yU3RyaW5nLCBib29sIGVuYWJsCiAgICAgICAgIGhpZGVIaWdobGlnaHQoZXJyb3JTdHJpbmcp
OwogCiAgICAgbV9vdmVybGF5LT5kaWRTZXRTZWFyY2hpbmdGb3JOb2RlKG1fc2VhcmNoaW5nRm9y
Tm9kZSk7CisKKyAgICBpZiAoSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQgPSBtX3BhZ2VBZ2VudC0+
cGFnZSgpLmluc3BlY3RvckNvbnRyb2xsZXIoKS5pbnNwZWN0b3JDbGllbnQoKSkKKyAgICAgICAg
Y2xpZW50LT5wb2ludFRvSW5zcGVjdENoYW5nZWQobV9zZWFyY2hpbmdGb3JOb2RlKTsKIH0KIAog
c3RkOjp1bmlxdWVfcHRyPEhpZ2hsaWdodENvbmZpZz4gSW5zcGVjdG9yRE9NQWdlbnQ6OmhpZ2hs
aWdodENvbmZpZ0Zyb21JbnNwZWN0b3JPYmplY3QoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBj
b25zdCBJbnNwZWN0b3JPYmplY3QqIGhpZ2hsaWdodEluc3BlY3Rvck9iamVjdCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCmluZGV4IDU1YjliYTIuLmRjNjAwMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE2LTA0LTExICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNv
cmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogS2V5Ym9hcmQgc2hvcnRj
dXQgZm9yICJJbnNwZWN0IEVsZW1lbnQiIG9ubHkgd29ya3Mgd2hlbiBXZWIgSW5zcGVjdG9yIGlz
IG9wZW4uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTExOTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzMzI1ODg5PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9ET01UcmVlTWFuYWdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01UcmVlTWFu
YWdlci5wcm90b3R5cGUuc2V0IGluc3BlY3RNb2RlRW5hYmxlZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRE9NVHJlZU1hbmFnZXIuc2V0IGluc3BlY3RNb2RlRW5hYmxlZC5jYWxsYmFjayk6Cisg
ICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qczoK
KyAgICAgICAgKEluc3BlY3RvckZyb250ZW5kQVBJLnNldFBvaW50VG9JbnNwZWN0RW5hYmxlZCk6
CisgICAgICAgIEZyb250ZW5kIEFQSSB0byBlbmFibGUgcG9pbnQgdG8gaW5zcGVjdC4KKworMjAx
Ni0wNC0xMSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFNob3VsZCBiZSBhYmxlIHRvIGV4cGFuZCBPYmplY3RzIGluIEhlYXAg
QWxsb2NhdGlvbnMgVmlldyB0byBzZWUgZXhhY3RseSB3aGF0IGl0IHJldGFpbnMKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NjQxOQogICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMjU2MzM4NjM+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01UcmVlTWFuYWdlci5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpz
CmluZGV4IDY0NTRmYzcuLjE4ZGIwYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2Vy
LmpzCkBAIC00NDgsMTMgKzQ0OCwxMyBAQCBXZWJJbnNwZWN0b3IuRE9NVHJlZU1hbmFnZXIgPSBj
bGFzcyBET01UcmVlTWFuYWdlciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKIAogICAgIHNl
dCBpbnNwZWN0TW9kZUVuYWJsZWQoZW5hYmxlZCkKICAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGNh
bGxiYWNrKGVycm9yKQotICAgICAgICB7CisgICAgICAgIGlmIChlbmFibGVkID09PSB0aGlzLl9p
bnNwZWN0TW9kZUVuYWJsZWQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgRE9NQWdl
bnQuc2V0SW5zcGVjdE1vZGVFbmFibGVkKGVuYWJsZWQsIHRoaXMuX2J1aWxkSGlnaGxpZ2h0Q29u
ZmlnKCksIChlcnJvcikgPT4gewogICAgICAgICAgICAgdGhpcy5faW5zcGVjdE1vZGVFbmFibGVk
ID0gZXJyb3IgPyBmYWxzZSA6IGVuYWJsZWQ7CiAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZl
bnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRE9NVHJlZU1hbmFnZXIuRXZlbnQuSW5zcGVjdE1v
ZGVTdGF0ZUNoYW5nZWQpOwotICAgICAgICB9Ci0KLSAgICAgICAgRE9NQWdlbnQuc2V0SW5zcGVj
dE1vZGVFbmFibGVkKGVuYWJsZWQsIHRoaXMuX2J1aWxkSGlnaGxpZ2h0Q29uZmlnKCksIGNhbGxi
YWNrLmJpbmQodGhpcykpOworICAgICAgICB9KTsKICAgICB9CiAKICAgICBfYnVpbGRIaWdobGln
aHRDb25maWcobW9kZSA9ICJhbGwiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yRnJvbnRlbmRBUEkuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JGcm9udGVuZEFQ
SS5qcwppbmRleCBlOGY5YmRhLi40MWE1Yzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JG
cm9udGVuZEFQSS5qcwpAQCAtNTUsNiArNTUsMTEgQEAgSW5zcGVjdG9yRnJvbnRlbmRBUEkgPSB7
CiAgICAgICAgIH0KICAgICB9LAogCisgICAgc2V0UG9pbnRUb0luc3BlY3RFbmFibGVkOiBmdW5j
dGlvbihlbmFibGVkKQorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmRvbVRyZWVNYW5hZ2Vy
Lmluc3BlY3RNb2RlRW5hYmxlZCA9IGVuYWJsZWQ7CisgICAgfSwKKwogICAgIHNldERvY2tpbmdV
bmF2YWlsYWJsZTogZnVuY3Rpb24odW5hdmFpbGFibGUpCiAgICAgewogICAgICAgICBXZWJJbnNw
ZWN0b3IudXBkYXRlRG9ja2luZ0F2YWlsYWJpbGl0eSghdW5hdmFpbGFibGUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDQwNjY0YzEuLmZjZjM5MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxNi0w
NC0xMSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IEtleWJvYXJkIHNob3J0Y3V0IGZvciAiSW5zcGVjdCBFbGVtZW50IiBvbmx5
IHdvcmtzIHdoZW4gV2ViIEluc3BlY3RvciBpcyBvcGVuLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMTkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8xMzMyNTg4OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5jcHA6CisgICAgICAgIChXS0luc3Bl
Y3RvcklzUG9pbnRUb0luc3BlY3RFbmFibGVkKToKKyAgICAgICAgKFdLSW5zcGVjdG9yVG9nZ2xl
UG9pbnRUb0luc3BlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5o
OgorICAgICAgICBBUEkgZm9yIFdlYktpdCBjbGllbnRzIHRvIHRvZ2dsZSBwb2ludCB0byBpbnNw
ZWN0IG1vZGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6dG9nZ2xlUG9pbnRUb0luc3BlY3Qp
OgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cG9pbnRUb0luc3BlY3RDaGFu
Z2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaDoKKyAgICAgICAg
KFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OmlzUG9pbnRUb0luc3BlY3RFbmFibGVkKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW46CisgICAgICAg
IFVJUHJvY2VzcyB1cGRhdGUgYWNjb3JkaW5nIHRvIHRoZSBzdGF0ZSBvZiB0aGUgcGFnZQorICAg
ICAgICBhbmQgYWN0aW9uIHRvIHRlbGwgdGhlIHBhZ2UgdG8gdG9nZ2xlLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JDbGllbnQ6OnBvaW50VG9JbnNwZWN0Q2hhbmdlZCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaDoK
KyAgICAgICAgTGV0IHRoZSBVSVByb2Nlc3MgdXBkYXRlIGl0cyBjYWNoZWQgc3RhdGUgb2Ygd2hl
dGhlciBvcgorICAgICAgICBub3QgcG9pbnQgdG8gaW5zcGVjdCBpcyBlbmFibGVkIG9yIGRpc2Fi
bGVkLiAKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3I6OmVuYWJsZVBvaW50VG9JbnNwZWN0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yOjpkaXNhYmxlUG9pbnRUb0luc3BlY3QpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3I6OnBvaW50VG9JbnNwZWN0Q2hhbmdlZCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW46CisgICAgICAgIE1lc3NhZ2Vz
IGluIGJvdGggZGlyZWN0aW9ucy4KKyAgICAgICAgVUlQcm9jZXNzIC0+IEluc3BlY3RvclByb2Nl
c3MgZW5hYmxlL2Rpc2FibGUuCisgICAgICAgIFdlYlByb2Nlc3MgLT4gVUlQcm9jZXNzIHVwZGF0
ZWQgcG9pbnQgdG8gaW5zcGVjdCBzdGF0ZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJJbnNwZWN0b3JVSS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclVJOjpl
bmFibGVQb2ludFRvSW5zcGVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclVJOjpk
aXNhYmxlUG9pbnRUb0luc3BlY3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJ
bnNwZWN0b3JVSS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JV
SS5tZXNzYWdlcy5pbjoKKyAgICAgICAgT3BlbiB0aGUgaW5zcGVjdG9yIGFuZCBlbmFibGUgcG9p
bnQgdG8gaW5zcGVjdC4KKwogMjAxNi0wNC0xMSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjE5ODkzMyk6IFVuYWJsZSB0byBsb2dpbiB0
byBHb29nbGUgYWNjb3VudCBmcm9tIEludGVybmV0IEFjY291bnRzIHByZWZlcmVuY2UgcGFuZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5jcHAKaW5kZXgg
OTJjNjQxZC4uYjM3MGY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLSW5zcGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tJbnNwZWN0b3IuY3BwCkBAIC0xMjAsNCArMTIwLDE0IEBAIHZvaWQgV0tJbnNwZWN0b3JUb2dn
bGVQYWdlUHJvZmlsaW5nKFdLSW5zcGVjdG9yUmVmIGluc3BlY3RvclJlZikKICAgICB0b0ltcGwo
aW5zcGVjdG9yUmVmKS0+dG9nZ2xlUGFnZVByb2ZpbGluZygpOwogfQogCitib29sIFdLSW5zcGVj
dG9ySXNQb2ludFRvSW5zcGVjdEVuYWJsZWQoV0tJbnNwZWN0b3JSZWYgaW5zcGVjdG9yUmVmKQor
eworICAgIHJldHVybiB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+aXNQb2ludFRvSW5zcGVjdEVuYWJs
ZWQoKTsKK30KKwordm9pZCBXS0luc3BlY3RvclRvZ2dsZVBvaW50VG9JbnNwZWN0KFdLSW5zcGVj
dG9yUmVmIGluc3BlY3RvclJlZikKK3sKKyAgICB0b0ltcGwoaW5zcGVjdG9yUmVmKS0+dG9nZ2xl
UG9pbnRUb0luc3BlY3QoKTsKK30KKwogI2VuZGlmIC8vICFQTEFURk9STShJT1MpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJbnNwZWN0b3IuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5oCmluZGV4IDE0NjU0ZmMuLmQ0
OTNlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3Bl
Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5o
CkBAIC02MSw2ICs2MSw5IEBAIFdLX0VYUE9SVCB2b2lkIFdLSW5zcGVjdG9yRGV0YWNoKFdLSW5z
cGVjdG9yUmVmIGluc3BlY3Rvcik7CiBXS19FWFBPUlQgYm9vbCBXS0luc3BlY3RvcklzUHJvZmls
aW5nUGFnZShXS0luc3BlY3RvclJlZiBpbnNwZWN0b3IpOwogV0tfRVhQT1JUIHZvaWQgV0tJbnNw
ZWN0b3JUb2dnbGVQYWdlUHJvZmlsaW5nKFdLSW5zcGVjdG9yUmVmIGluc3BlY3Rvcik7CiAKK1dL
X0VYUE9SVCBib29sIFdLSW5zcGVjdG9ySXNQb2ludFRvSW5zcGVjdEVuYWJsZWQoV0tJbnNwZWN0
b3JSZWYgaW5zcGVjdG9yKTsKK1dLX0VYUE9SVCB2b2lkIFdLSW5zcGVjdG9yVG9nZ2xlUG9pbnRU
b0luc3BlY3QoV0tJbnNwZWN0b3JSZWYgaW5zcGVjdG9yKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVz
CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNw
ZWN0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJv
eHkuY3BwCmluZGV4IGZhODRhY2QuLjM2ODkyZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcApAQCAtMzAzLDYgKzMwMywxNyBAQCB2b2lkIFdl
Ykluc3BlY3RvclByb3h5Ojp0b2dnbGVQYWdlUHJvZmlsaW5nKCkKICAgICBtX2lzUHJvZmlsaW5n
UGFnZSA9ICFtX2lzUHJvZmlsaW5nUGFnZTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6
dG9nZ2xlUG9pbnRUb0luc3BlY3QoKQoreworICAgIGlmICghbV9pbnNwZWN0ZWRQYWdlKQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAobV9wb2ludFRvSW5zcGVjdEVuYWJsZWQpCisgICAgICAg
IG1faW5zcGVjdGVkUGFnZS0+cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYkluc3BlY3Rvcjo6
RGlzYWJsZVBvaW50VG9JbnNwZWN0KCksIG1faW5zcGVjdGVkUGFnZS0+cGFnZUlEKCkpOworICAg
IGVsc2UKKyAgICAgICAgbV9pbnNwZWN0ZWRQYWdlLT5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6
V2ViSW5zcGVjdG9yOjpFbmFibGVQb2ludFRvSW5zcGVjdCgpLCBtX2luc3BlY3RlZFBhZ2UtPnBh
Z2VJRCgpKTsKK30KKwogc3RhdGljIFdlYlByb2Nlc3NQb29sKiBzX21haW5JbnNwZWN0b3JQcm9j
ZXNzUG9vbDsKIHN0YXRpYyBXZWJQcm9jZXNzUG9vbCogc19uZXN0ZWRJbnNwZWN0b3JQcm9jZXNz
UG9vbDsKIApAQCAtNjIzLDYgKzYzNCwxMSBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjppbnNw
ZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogICAgIHBsYXRmb3JtSW5z
cGVjdGVkVVJMQ2hhbmdlZCh1cmxTdHJpbmcpOwogfQogCit2b2lkIFdlYkluc3BlY3RvclByb3h5
Ojpwb2ludFRvSW5zcGVjdENoYW5nZWQoYm9vbCBlbmFibGVkKQoreworICAgIG1fcG9pbnRUb0lu
c3BlY3RFbmFibGVkID0gZW5hYmxlZDsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6c2F2
ZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQsIGJvb2wgYmFz
ZTY0RW5jb2RlZCwgYm9vbCBmb3JjZVNhdmVBcykKIHsKICAgICBwbGF0Zm9ybVNhdmUoZmlsZW5h
bWUsIGNvbnRlbnQsIGJhc2U2NEVuY29kZWQsIGZvcmNlU2F2ZUFzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKaW5kZXggMGRiNDQ4Ny4uYzg4MjlmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKQEAgLTEz
NCw2ICsxMzQsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Byb2ZpbGluZ1BhZ2UoKSBjb25zdCB7
IHJldHVybiBtX2lzUHJvZmlsaW5nUGFnZTsgfQogICAgIHZvaWQgdG9nZ2xlUGFnZVByb2ZpbGlu
ZygpOwogCisgICAgYm9vbCBpc1BvaW50VG9JbnNwZWN0RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fcG9pbnRUb0luc3BlY3RFbmFibGVkOyB9CisgICAgdm9pZCB0b2dnbGVQb2ludFRvSW5zcGVj
dCgpOworCiAgICAgc3RhdGljIGJvb2wgaXNJbnNwZWN0b3JQcm9jZXNzUG9vbChXZWJQcm9jZXNz
UG9vbCYpOwogICAgIHN0YXRpYyBib29sIGlzSW5zcGVjdG9yUGFnZShXZWJQYWdlUHJveHkmKTsK
IApAQCAtMTkxLDYgKzE5NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBicmluZ1RvRnJvbnQoKTsK
ICAgICB2b2lkIGF0dGFjaEF2YWlsYWJpbGl0eUNoYW5nZWQoYm9vbCk7CiAgICAgdm9pZCBpbnNw
ZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgcG9pbnRUb0luc3BlY3RD
aGFuZ2VkKGJvb2wpOwogCiAgICAgdm9pZCBzYXZlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNv
bnN0IFN0cmluZyYgY29udGVudCwgYm9vbCBiYXNlNjRFbmNvZGVkLCBib29sIGZvcmNlU2F2ZUFz
KTsKICAgICB2b2lkIGFwcGVuZChjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBjb25zdCBTdHJpbmcm
IGNvbnRlbnQpOwpAQCAtMjI3LDE2ICsyMzEsMTcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgaW5pdGlhbFdpbmRvd1dpZHRoOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBpbml0aWFsV2luZG93SGVpZ2h0OwogCi0gICAgV2ViUGFnZVByb3h5KiBtX2luc3BlY3RlZFBh
Z2Uge251bGxwdHJ9OwotICAgIFdlYlBhZ2VQcm94eSogbV9pbnNwZWN0b3JQYWdlIHtudWxscHRy
fTsKKyAgICBXZWJQYWdlUHJveHkqIG1faW5zcGVjdGVkUGFnZSB7IG51bGxwdHIgfTsKKyAgICBX
ZWJQYWdlUHJveHkqIG1faW5zcGVjdG9yUGFnZSB7IG51bGxwdHIgfTsKIAotICAgIGJvb2wgbV91
bmRlclRlc3Qge2ZhbHNlfTsKLSAgICBib29sIG1faXNWaXNpYmxlIHtmYWxzZX07Ci0gICAgYm9v
bCBtX2lzQXR0YWNoZWQge2ZhbHNlfTsKLSAgICBib29sIG1fY2FuQXR0YWNoIHtmYWxzZX07Ci0g
ICAgYm9vbCBtX2lzUHJvZmlsaW5nUGFnZSB7ZmFsc2V9OwotICAgIGJvb2wgbV9zaG93TWVzc2Fn
ZVNlbnQge2ZhbHNlfTsKLSAgICBib29sIG1faWdub3JlRmlyc3RCcmluZ1RvRnJvbnQge2ZhbHNl
fTsKKyAgICBib29sIG1fdW5kZXJUZXN0IHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNWaXNpYmxl
IHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNBdHRhY2hlZCB7IGZhbHNlIH07CisgICAgYm9vbCBt
X2NhbkF0dGFjaCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUHJvZmlsaW5nUGFnZSB7IGZhbHNl
IH07CisgICAgYm9vbCBtX3BvaW50VG9JbnNwZWN0RW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9v
bCBtX3Nob3dNZXNzYWdlU2VudCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lnbm9yZUZpcnN0QnJp
bmdUb0Zyb250IHsgZmFsc2UgfTsKIAogICAgIElQQzo6QXR0YWNobWVudCBtX2Nvbm5lY3Rpb25J
ZGVudGlmaWVyOwogCkBAIC0yNTEsMTYgKzI1NiwxNiBAQCBwcml2YXRlOgogICAgIFN0cmluZyBt
X3VybFN0cmluZzsKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICBXZWJJbnNwZWN0b3JDbGllbnRH
dGsgbV9jbGllbnQ7Ci0gICAgR3RrV2lkZ2V0KiBtX2luc3BlY3RvclZpZXcge251bGxwdHJ9Owot
ICAgIEd0a1dpZGdldCogbV9pbnNwZWN0b3JXaW5kb3cge251bGxwdHJ9OwotICAgIEd0a1dpZGdl
dCogbV9oZWFkZXJCYXIge251bGxwdHJ9OworICAgIEd0a1dpZGdldCogbV9pbnNwZWN0b3JWaWV3
IHsgbnVsbHB0ciB9OworICAgIEd0a1dpZGdldCogbV9pbnNwZWN0b3JXaW5kb3cgeyBudWxscHRy
IH07CisgICAgR3RrV2lkZ2V0KiBtX2hlYWRlckJhciB7IG51bGxwdHIgfTsKICAgICBTdHJpbmcg
bV9pbnNwZWN0ZWRVUkxTdHJpbmc7CiAjZWxpZiBQTEFURk9STShFRkwpCi0gICAgRXZhc19PYmpl
Y3QqIG1faW5zcGVjdG9yVmlldyB7bnVsbHB0cn07Ci0gICAgRWNvcmVfRXZhcyogbV9pbnNwZWN0
b3JXaW5kb3cge251bGxwdHJ9OworICAgIEV2YXNfT2JqZWN0KiBtX2luc3BlY3RvclZpZXcgeyBu
dWxscHRyIH07CisgICAgRWNvcmVfRXZhcyogbV9pbnNwZWN0b3JXaW5kb3cgeyBudWxscHRyIH07
CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5TUEVDVE9SX1NFUlZFUikKLSAgICBpbnQgbV9yZW1vdGVJ
bnNwZWN0aW9uUGFnZUlkIHswfTsKKyAgICBpbnQgbV9yZW1vdGVJbnNwZWN0aW9uUGFnZUlkIHsg
MCB9OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXggN2YxM2I2Ny4uODRhMjQ2NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5t
ZXNzYWdlcy5pbgpAQCAtMjcsNiArMjcsNyBAQCBtZXNzYWdlcyAtPiBXZWJJbnNwZWN0b3JQcm94
eSB7CiAgICAgQnJpbmdUb0Zyb250KCkKIAogICAgIEluc3BlY3RlZFVSTENoYW5nZWQoU3RyaW5n
IHVybFN0cmluZykKKyAgICBQb2ludFRvSW5zcGVjdENoYW5nZWQoYm9vbCBlbmFibGVkKQogCiAg
ICAgU2F2ZShTdHJpbmcgZmlsZW5hbWUsIFN0cmluZyBjb250ZW50LCBib29sIGJhc2U2NEVuY29k
ZWQsIGJvb2wgZm9yY2VTYXZlQXMpCiAgICAgQXBwZW5kKFN0cmluZyBmaWxlbmFtZSwgU3RyaW5n
IGNvbnRlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKaW5kZXggNjU1Nzk3OS4uN2E3
NzA1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcApAQCAtMTkyLDYgKzE5MiwxMSBA
QCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6ZGlkU2V0U2VhcmNoaW5nRm9yTm9kZShib29sIGVu
YWJsZWQpCiB9CiAjZW5kaWYKIAordm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OnBvaW50VG9JbnNw
ZWN0Q2hhbmdlZChib29sIGVuYWJsZWQpCit7CisgICAgbV9wYWdlLT5pbnNwZWN0b3IoKS0+cG9p
bnRUb0luc3BlY3RDaGFuZ2VkKGVuYWJsZWQpOworfQorCiB2b2lkIFdlYkluc3BlY3RvckNsaWVu
dDo6cGFnZU92ZXJsYXlEZXN0cm95ZWQoUGFnZU92ZXJsYXkmKQogewogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50LmgKaW5kZXggMmY3OWM2YS4uNWZiZWI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5oCkBAIC02Niw2ICs2Niw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRTZXRTZWFyY2hp
bmdGb3JOb2RlKGJvb2wpIG92ZXJyaWRlOwogI2VuZGlmCiAKKyAgICB2b2lkIHBvaW50VG9JbnNw
ZWN0Q2hhbmdlZChib29sKSBvdmVycmlkZTsKKwogICAgIGJvb2wgb3ZlcnJpZGVzU2hvd1BhaW50
UmVjdHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBzaG93UGFp
bnRSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwCmluZGV4IDcz
MzdhYzQuLmIwNDZhNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJJbnNwZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJJbnNwZWN0b3IuY3BwCkBAIC0yMDksNiArMjA5LDI5IEBAIHZvaWQgV2ViSW5zcGVj
dG9yOjpzdG9wUGFnZVByb2ZpbGluZygpCiAgICAgbV9mcm9udGVuZENvbm5lY3Rpb24tPnNlbmQo
TWVzc2FnZXM6OldlYkluc3BlY3RvclVJOjpTdG9wUGFnZVByb2ZpbGluZygpLCAwKTsKIH0KIAor
dm9pZCBXZWJJbnNwZWN0b3I6OmVuYWJsZVBvaW50VG9JbnNwZWN0KCkKK3sKKyAgICBpZiAoIW1f
cGFnZS0+Y29yZVBhZ2UoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9wYWdlLT5jb3JlUGFn
ZSgpLT5pbnNwZWN0b3JDb250cm9sbGVyKCkuc2hvdygpOworICAgIG1fZnJvbnRlbmRDb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpXZWJJbnNwZWN0b3JVSTo6RW5hYmxlUG9pbnRUb0luc3BlY3Qo
KSwgMCk7Cit9CisKK3ZvaWQgV2ViSW5zcGVjdG9yOjpkaXNhYmxlUG9pbnRUb0luc3BlY3QoKQor
eworICAgIGlmICghbV9wYWdlLT5jb3JlUGFnZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBt
X3BhZ2UtPmNvcmVQYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS5zaG93KCk7CisgICAgbV9m
cm9udGVuZENvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OldlYkluc3BlY3RvclVJOjpEaXNhYmxl
UG9pbnRUb0luc3BlY3QoKSwgMCk7Cit9CisKK3ZvaWQgV2ViSW5zcGVjdG9yOjpwb2ludFRvSW5z
cGVjdENoYW5nZWQoYm9vbCBlbmFibGVkKQoreworICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
LnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYkluc3BlY3RvclBy
b3h5OjpQb2ludFRvSW5zcGVjdENoYW5nZWQoZW5hYmxlZCksIG1fcGFnZS0+cGFnZUlEKCkpOwor
fQorCiBib29sIFdlYkluc3BlY3Rvcjo6Y2FuQXR0YWNoV2luZG93KCkKIHsKICAgICBpZiAoIW1f
cGFnZS0+Y29yZVBhZ2UoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJJbnNwZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJJbnNwZWN0b3IuaAppbmRleCAxODY4NDYwLi40YmEwMWVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oCkBAIC03OSw2ICs3OSwx
MCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdGFydFBhZ2VQcm9maWxpbmcoKTsKICAgICB2b2lkIHN0
b3BQYWdlUHJvZmlsaW5nKCk7CiAKKyAgICB2b2lkIGVuYWJsZVBvaW50VG9JbnNwZWN0KCk7Cisg
ICAgdm9pZCBkaXNhYmxlUG9pbnRUb0luc3BlY3QoKTsKKyAgICB2b2lkIHBvaW50VG9JbnNwZWN0
Q2hhbmdlZChib29sKTsKKwogICAgIHZvaWQgc2VuZE1lc3NhZ2VUb0JhY2tlbmQoY29uc3QgU3Ry
aW5nJik7CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SX1NFUlZFUikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmlu
CmluZGV4IGZlNGUwYWMuLjYxMzM0M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5tZXNzYWdlcy5pbgpAQCAtMzYsNiAr
MzYsOSBAQCBtZXNzYWdlcyAtPiBXZWJJbnNwZWN0b3IgewogICAgIFN0YXJ0UGFnZVByb2ZpbGlu
ZygpCiAgICAgU3RvcFBhZ2VQcm9maWxpbmcoKQogCisgICAgRW5hYmxlUG9pbnRUb0luc3BlY3Qo
KQorICAgIERpc2FibGVQb2ludFRvSW5zcGVjdCgpCisKICAgICBTZW5kTWVzc2FnZVRvQmFja2Vu
ZChTdHJpbmcgbWVzc2FnZSkKIAogI2lmIEVOQUJMRShJTlNQRUNUT1JfU0VSVkVSKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5jcHAK
aW5kZXggN2RiZWZlNy4uN2IyZjY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3BwCkBAIC0yMzMsNiArMjMzLDE2IEBAIHZv
aWQgV2ViSW5zcGVjdG9yVUk6OnN0b3BQYWdlUHJvZmlsaW5nKCkKICAgICBtX2Zyb250ZW5kQVBJ
RGlzcGF0Y2hlci5kaXNwYXRjaENvbW1hbmQoQVNDSUlMaXRlcmFsKCJzZXRUaW1lbGluZVByb2Zp
bGluZ0VuYWJsZWQiKSwgZmFsc2UpOwogfQogCit2b2lkIFdlYkluc3BlY3RvclVJOjplbmFibGVQ
b2ludFRvSW5zcGVjdCgpCit7CisgICAgbV9mcm9udGVuZEFQSURpc3BhdGNoZXIuZGlzcGF0Y2hD
b21tYW5kKEFTQ0lJTGl0ZXJhbCgic2V0UG9pbnRUb0luc3BlY3RFbmFibGVkIiksIHRydWUpOwor
fQorCit2b2lkIFdlYkluc3BlY3RvclVJOjpkaXNhYmxlUG9pbnRUb0luc3BlY3QoKQoreworICAg
IG1fZnJvbnRlbmRBUElEaXNwYXRjaGVyLmRpc3BhdGNoQ29tbWFuZChBU0NJSUxpdGVyYWwoInNl
dFBvaW50VG9JbnNwZWN0RW5hYmxlZCIpLCBmYWxzZSk7Cit9CisKIHZvaWQgV2ViSW5zcGVjdG9y
VUk6OmRpZFNhdmUoY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgbV9mcm9udGVuZEFQSURpc3Bh
dGNoZXIuZGlzcGF0Y2hDb21tYW5kKEFTQ0lJTGl0ZXJhbCgic2F2ZWRVUkwiKSwgdXJsKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JV
SS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgK
aW5kZXggNjViZTM2Mi4uNGY4MTViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgKQEAgLTYzLDYgKzYzLDkgQEAgcHVibGljOgog
ICAgIHZvaWQgc3RhcnRQYWdlUHJvZmlsaW5nKCk7CiAgICAgdm9pZCBzdG9wUGFnZVByb2ZpbGlu
ZygpOwogCisgICAgdm9pZCBlbmFibGVQb2ludFRvSW5zcGVjdCgpOworICAgIHZvaWQgZGlzYWJs
ZVBvaW50VG9JbnNwZWN0KCk7CisKICAgICB2b2lkIGF0dGFjaGVkQm90dG9tKCkgeyBzZXREb2Nr
U2lkZShEb2NrU2lkZTo6Qm90dG9tKTsgfQogICAgIHZvaWQgYXR0YWNoZWRSaWdodCgpIHsgc2V0
RG9ja1NpZGUoRG9ja1NpZGU6OlJpZ2h0KTsgfQogICAgIHZvaWQgZGV0YWNoZWQoKSB7IHNldERv
Y2tTaWRlKERvY2tTaWRlOjpVbmRvY2tlZCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5tZXNzYWdlcy5pbgppbmRl
eCBjYzA5ZjlhLi5iNzJiOWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluCkBAIC0zNiw2ICsz
Niw5IEBAIG1lc3NhZ2VzIC0+IFdlYkluc3BlY3RvclVJIHsKICAgICBTdGFydFBhZ2VQcm9maWxp
bmcoKQogICAgIFN0b3BQYWdlUHJvZmlsaW5nKCkKIAorICAgIEVuYWJsZVBvaW50VG9JbnNwZWN0
KCkKKyAgICBEaXNhYmxlUG9pbnRUb0luc3BlY3QoKQorCiAgICAgRGlkU2F2ZShTdHJpbmcgdXJs
KQogICAgIERpZEFwcGVuZChTdHJpbmcgdXJsKQogCg==
</data>
<flag name="review"
          id="300505"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276259</attachid>
            <date>2016-04-12 12:11:40 -0700</date>
            <delta_ts>2016-04-12 12:19:46 -0700</delta_ts>
            <desc>[PATCH] Improved Version</desc>
            <filename>inspect-v2.patch</filename>
            <type>text/plain</type>
            <size>21304</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0Y2ZlM2ZjLi42OTNkNDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTYtMDQtMTEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBLZXlib2FyZCBzaG9ydGN1dCBmb3IgIkluc3BlY3QgRWxl
bWVudCIgb25seSB3b3JrcyB3aGVuIFdlYiBJbnNwZWN0b3IgaXMgb3Blbi4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTE5MworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMTMzMjU4ODk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JDbGllbnQ6OmVsZW1lbnRTZWxlY3Rpb25DaGFuZ2VkKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yRE9NQWdlbnQ6OnNldFNlYXJjaGluZ0Zvck5vZGUpOgorICAgICAgICBJbmZvcm0g
dGhlIGNsaWVudCB3aGVuIGVsZW1lbnQgc2VsZWN0aW9uIGNoYW5nZXMuCisKIDIwMTYtMDQtMTEg
IFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBTaW1wbGlmeSBJbmxp
bmVUZXh0Qm94OjpzZWxlY3Rpb25TdGFydEVuZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ2xpZW50LmgKaW5kZXggNWI5YWI0NC4uODg4YWE3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaApAQCAtNjIsNiArNjIsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHNldFNob3dQYWludFJlY3RzKGJvb2wpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBzaG93UGFpbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBkaWRTZXRTZWFyY2hpbmdGb3JOb2RlKGJvb2wpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBl
bGVtZW50U2VsZWN0aW9uQ2hhbmdlZChib29sKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBoYW5k
bGVKYXZhU2NyaXB0RGlhbG9nKGJvb2wsIGNvbnN0IFN0cmluZyopIHsgcmV0dXJuIGZhbHNlOyB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmlu
ZGV4IDFhYTY5OTQuLjg4MjlmMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmNwcApAQCAtNjMsNiArNjMsOCBAQAogI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgogI2luY2x1ZGUgIkhUTUxUZW1wbGF0ZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXRUZXN0
UmVzdWx0LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCisjaW5jbHVkZSAiSW5zcGVj
dG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckhpc3RvcnkuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JOb2RlRmluZGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5oIgpA
QCAtMTAxNSw3ICsxMDE3LDkgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0U2VhcmNoaW5n
Rm9yTm9kZShFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGJvb2wgZW5hYmwKIHsKICAgICBpZiAo
bV9zZWFyY2hpbmdGb3JOb2RlID09IGVuYWJsZWQpCiAgICAgICAgIHJldHVybjsKKwogICAgIG1f
c2VhcmNoaW5nRm9yTm9kZSA9IGVuYWJsZWQ7CisKICAgICBpZiAoZW5hYmxlZCkgewogICAgICAg
ICBtX2luc3BlY3RNb2RlSGlnaGxpZ2h0Q29uZmlnID0gaGlnaGxpZ2h0Q29uZmlnRnJvbUluc3Bl
Y3Rvck9iamVjdChlcnJvclN0cmluZywgaGlnaGxpZ2h0SW5zcGVjdG9yT2JqZWN0KTsKICAgICAg
ICAgaWYgKCFtX2luc3BlY3RNb2RlSGlnaGxpZ2h0Q29uZmlnKQpAQCAtMTAyNCw2ICsxMDI4LDkg
QEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0U2VhcmNoaW5nRm9yTm9kZShFcnJvclN0cmlu
ZyYgZXJyb3JTdHJpbmcsIGJvb2wgZW5hYmwKICAgICAgICAgaGlkZUhpZ2hsaWdodChlcnJvclN0
cmluZyk7CiAKICAgICBtX292ZXJsYXktPmRpZFNldFNlYXJjaGluZ0Zvck5vZGUobV9zZWFyY2hp
bmdGb3JOb2RlKTsKKworICAgIGlmIChJbnNwZWN0b3JDbGllbnQqIGNsaWVudCA9IG1fcGFnZUFn
ZW50LT5wYWdlKCkuaW5zcGVjdG9yQ29udHJvbGxlcigpLmluc3BlY3RvckNsaWVudCgpKQorICAg
ICAgICBjbGllbnQtPmVsZW1lbnRTZWxlY3Rpb25DaGFuZ2VkKG1fc2VhcmNoaW5nRm9yTm9kZSk7
CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxIaWdobGlnaHRDb25maWc+IEluc3BlY3RvckRPTUFnZW50
OjpoaWdobGlnaHRDb25maWdGcm9tSW5zcGVjdG9yT2JqZWN0KEVycm9yU3RyaW5nJiBlcnJvclN0
cmluZywgY29uc3QgSW5zcGVjdG9yT2JqZWN0KiBoaWdobGlnaHRJbnNwZWN0b3JPYmplY3QpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA1NWI5YmEyLi41ZjQzY2QwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBAQAogMjAxNi0wNC0xMSAgSm9zZXBoIFBlY29yYXJv
ICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEtleWJvYXJk
IHNob3J0Y3V0IGZvciAiSW5zcGVjdCBFbGVtZW50IiBvbmx5IHdvcmtzIHdoZW4gV2ViIEluc3Bl
Y3RvciBpcyBvcGVuLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTExMTkzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMzMyNTg4OT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Q29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9N
VHJlZU1hbmFnZXIucHJvdG90eXBlLnNldCBpbnNwZWN0TW9kZUVuYWJsZWQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkRPTVRyZWVNYW5hZ2VyLnNldCBpbnNwZWN0TW9kZUVuYWJsZWQuY2FsbGJh
Y2spOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yRnJvbnRlbmRB
UEkuanM6CisgICAgICAgIChJbnNwZWN0b3JGcm9udGVuZEFQSS5zZXRFbGVtZW50U2VsZWN0aW9u
RW5hYmxlZCk6CisgICAgICAgIEZyb250ZW5kIEFQSSB0byBlbmFibGUgZWxlbWVudCBzZWxlY3Rp
b24uCisKKzIwMTYtMDQtMTEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
KwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTaG91bGQgYmUgYWJsZSB0byBleHBhbmQgT2JqZWN0
cyBpbiBIZWFwIEFsbG9jYXRpb25zIFZpZXcgdG8gc2VlIGV4YWN0bHkgd2hhdCBpdCByZXRhaW5z
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY0MTkK
ICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI1NjMzODYzPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMKaW5kZXggMzdjMDdkODQxZDNhMzAzOTk4MjZhMTY5OWMxNTQ1Y2UzZTg3ODgzZi4u
ZTZmZjdjYzNmNmYwNDNkMWFlOTE1NzczYjBjMGViNjFiYzEyZTViNiAxMDA2NDQKR0lUIGJpbmFy
eSBwYXRjaApkZWx0YSAyMTcKemNtYUVLbXZ6JSEpKCFTfm9CIXMkUWBAfEJURnBZbVJFOFhlUkVB
dDImU05OSFArJXdxdk9wcnFLd2MoOEsxMUkwCno1ODh+OSs5ZUUkM2BKbENnZi1+ZEZqe1Z4dnx6
bCVPcitgNGApd0ZHaClAZU9JQj5lWTRJfEk9enVHX29zN3E9KQpJa2h8RmswTF9DcVlYQVRNCgpk
ZWx0YSAyNTcKemNtZG1WbS1XJEkpKCFTfis2b0s+NEVZUzE0MCNNQzM8Xk07NDx0ZG5WeFZ7YExv
ISUyN2J1Iy1rVUlJX1RKZyFjCnpJUmN0UT56SFEyWGdjfENIczVDWnlteEJHaTN+eyRJWTJ7Nndi
RmhIQUJrMzBQdnpRZEpoZzEkYzdKb21RX1IhZgpYU35KUWA9M2Q3Jko9VFUlWDhWNkAjPzN8bWQz
WndHCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFz
ZS9NYWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWlu
LmpzCmluZGV4IGNkNzgxMDQuLjlkMGI2NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKQEAgLTMyNyw4ICszMjcsOCBAQCBXZWJJbnNw
ZWN0b3IuY29udGVudExvYWRlZCA9IGZ1bmN0aW9uKCkKIAogICAgIC8vIFRoZSB0b29sYmFyIGJ1
dHRvbiBmb3Igbm9kZSBpbnNwZWN0aW9uLgogICAgIGlmICh0aGlzLmRlYnVnZ2FibGVUeXBlID09
PSBXZWJJbnNwZWN0b3IuRGVidWdnYWJsZVR5cGUuV2ViKSB7Ci0gICAgICAgIHZhciB0b29sVGlw
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFbmFibGUgcG9pbnQgdG8gaW5zcGVjdCBtb2RlICgl
cykiKS5mb3JtYXQoV2ViSW5zcGVjdG9yLl9pbnNwZWN0TW9kZUtleWJvYXJkU2hvcnRjdXQuZGlz
cGxheU5hbWUpOwotICAgICAgICB2YXIgYWN0aXZhdGVkVG9vbFRpcCA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiRGlzYWJsZSBwb2ludCB0byBpbnNwZWN0IG1vZGUgKCVzKSIpLmZvcm1hdChXZWJJ
bnNwZWN0b3IuX2luc3BlY3RNb2RlS2V5Ym9hcmRTaG9ydGN1dC5kaXNwbGF5TmFtZSk7CisgICAg
ICAgIHZhciB0b29sVGlwID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTdGFydCBlbGVtZW50IHNl
bGVjdGlvbiAoJXMpIikuZm9ybWF0KFdlYkluc3BlY3Rvci5faW5zcGVjdE1vZGVLZXlib2FyZFNo
b3J0Y3V0LmRpc3BsYXlOYW1lKTsKKyAgICAgICAgdmFyIGFjdGl2YXRlZFRvb2xUaXAgPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlN0b3AgZWxlbWVudCBzZWxlY3Rpb24gKCVzKSIpLmZvcm1hdChX
ZWJJbnNwZWN0b3IuX2luc3BlY3RNb2RlS2V5Ym9hcmRTaG9ydGN1dC5kaXNwbGF5TmFtZSk7CiAg
ICAgICAgIHRoaXMuX2luc3BlY3RNb2RlVG9vbGJhckJ1dHRvbiA9IG5ldyBXZWJJbnNwZWN0b3Iu
QWN0aXZhdGVCdXR0b25Ub29sYmFySXRlbSgiaW5zcGVjdCIsIHRvb2xUaXAsIGFjdGl2YXRlZFRv
b2xUaXAsIG51bGwsICJJbWFnZXMvQ3Jvc3NoYWlyLnN2ZyIpOwogICAgICAgICB0aGlzLl9pbnNw
ZWN0TW9kZVRvb2xiYXJCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnV0dG9u
TmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fdG9nZ2xlSW5zcGVjdE1vZGUsIHRo
aXMpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0NvbnRyb2xsZXJzL0RPTVRyZWVNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanMKaW5kZXggNjQ1NGZj
Ny4uMThkYjBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanMKQEAgLTQ0OCwx
MyArNDQ4LDEzIEBAIFdlYkluc3BlY3Rvci5ET01UcmVlTWFuYWdlciA9IGNsYXNzIERPTVRyZWVN
YW5hZ2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogCiAgICAgc2V0IGluc3BlY3RNb2Rl
RW5hYmxlZChlbmFibGVkKQogICAgIHsKLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soZXJyb3Ip
Ci0gICAgICAgIHsKKyAgICAgICAgaWYgKGVuYWJsZWQgPT09IHRoaXMuX2luc3BlY3RNb2RlRW5h
YmxlZCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBET01BZ2VudC5zZXRJbnNwZWN0
TW9kZUVuYWJsZWQoZW5hYmxlZCwgdGhpcy5fYnVpbGRIaWdobGlnaHRDb25maWcoKSwgKGVycm9y
KSA9PiB7CiAgICAgICAgICAgICB0aGlzLl9pbnNwZWN0TW9kZUVuYWJsZWQgPSBlcnJvciA/IGZh
bHNlIDogZW5hYmxlZDsKICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJz
KFdlYkluc3BlY3Rvci5ET01UcmVlTWFuYWdlci5FdmVudC5JbnNwZWN0TW9kZVN0YXRlQ2hhbmdl
ZCk7Ci0gICAgICAgIH0KLQotICAgICAgICBET01BZ2VudC5zZXRJbnNwZWN0TW9kZUVuYWJsZWQo
ZW5hYmxlZCwgdGhpcy5fYnVpbGRIaWdobGlnaHRDb25maWcoKSwgY2FsbGJhY2suYmluZCh0aGlz
KSk7CisgICAgICAgIH0pOwogICAgIH0KIAogICAgIF9idWlsZEhpZ2hsaWdodENvbmZpZyhtb2Rl
ID0gImFsbCIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Qcm90b2NvbC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckZyb250ZW5kQVBJLmpzCmluZGV4IGU4
ZjliZGEuLjUwZmQ0NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckZyb250ZW5kQVBJLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckZyb250ZW5kQVBJLmpz
CkBAIC01NSw2ICs1NSwxMSBAQCBJbnNwZWN0b3JGcm9udGVuZEFQSSA9IHsKICAgICAgICAgfQog
ICAgIH0sCiAKKyAgICBzZXRFbGVtZW50U2VsZWN0aW9uRW5hYmxlZDogZnVuY3Rpb24oZW5hYmxl
ZCkKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5pbnNwZWN0TW9k
ZUVuYWJsZWQgPSBlbmFibGVkOworICAgIH0sCisKICAgICBzZXREb2NraW5nVW5hdmFpbGFibGU6
IGZ1bmN0aW9uKHVuYXZhaWxhYmxlKQogICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9yLnVwZGF0
ZURvY2tpbmdBdmFpbGFiaWxpdHkoIXVuYXZhaWxhYmxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA0MDY2NGMx
Li44M2RmMTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTYtMDQtMTEgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBLZXlib2FyZCBzaG9ydGN1dCBmb3IgIkluc3BlY3QgRWxlbWVudCIgb25seSB3b3JrcyB3aGVu
IFdlYiBJbnNwZWN0b3IgaXMgb3Blbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExMTE5MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTMzMjU4ODk+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvV0tJbnNwZWN0b3IuY3BwOgorICAgICAgICAoV0tJbnNwZWN0b3JJc0VsZW1l
bnRTZWxlY3Rpb25BY3RpdmUpOgorICAgICAgICAoV0tJbnNwZWN0b3JUb2dnbGVFbGVtZW50U2Vs
ZWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tJbnNwZWN0b3IuaDoKKyAgICAg
ICAgQVBJIGZvciBXZWJLaXQgY2xpZW50cyB0byB0b2dnbGUgZWxlbWVudCBzZWxlY3Rpb24uCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6dG9nZ2xlRWxlbWVudFNlbGVjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjplbGVtZW50U2VsZWN0aW9uQ2hhbmdlZCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6
OldlYkluc3BlY3RvclByb3h5Ojppc0VsZW1lbnRTZWxlY3Rpb25BY3RpdmUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgVUlQcm9j
ZXNzIHVwZGF0ZSBhY2NvcmRpbmcgdG8gdGhlIHN0YXRlIG9mIHRoZSBwYWdlCisgICAgICAgIGFu
ZCBhY3Rpb24gdG8gdGVsbCB0aGUgcGFnZSB0byB0b2dnbGUuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkluc3BlY3RvckNsaWVudDo6ZWxlbWVudFNlbGVjdGlvbkNoYW5nZWQpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAg
ICAgIExldCB0aGUgVUlQcm9jZXNzIHVwZGF0ZSBpdHMgY2FjaGVkIHN0YXRlIG9mIHdoZXRoZXIg
b3IKKyAgICAgICAgbm90IGVsZW1lbnQgc2VsZWN0aW9uIGlzIGVuYWJsZWQgb3IgZGlzYWJsZWQu
IAorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkluc3BlY3Rvcjo6c3RhcnRFbGVtZW50U2VsZWN0aW9uKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yOjpzdG9wRWxlbWVudFNlbGVjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OldlYkluc3BlY3Rvcjo6ZWxlbWVudFNlbGVjdGlvbkNoYW5nZWQpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluOgorICAgICAgICBNZXNzYWdlcyBp
biBib3RoIGRpcmVjdGlvbnMuCisgICAgICAgIFVJUHJvY2VzcyAtPiBJbnNwZWN0b3JQcm9jZXNz
IGVuYWJsZS9kaXNhYmxlLgorICAgICAgICBXZWJQcm9jZXNzIC0+IFVJUHJvY2VzcyB1cGRhdGVk
IGVsZW1lbnQgc2VsZWN0aW9uIHN0YXRlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYkluc3BlY3RvclVJLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yVUk6OnN0
YXJ0RWxlbWVudFNlbGVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclVJOjpz
dG9wRWxlbWVudFNlbGVjdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYklu
c3BlY3RvclVJLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJ
Lm1lc3NhZ2VzLmluOgorICAgICAgICBPcGVuIHRoZSBpbnNwZWN0b3IgYW5kIGVuYWJsZSBlbGVt
ZW50IHNlbGVjdGlvbi4KKwogMjAxNi0wNC0xMSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjE5ODkzMyk6IFVuYWJsZSB0byBsb2dpbiB0
byBHb29nbGUgYWNjb3VudCBmcm9tIEludGVybmV0IEFjY291bnRzIHByZWZlcmVuY2UgcGFuZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5jcHAKaW5kZXgg
OTJjNjQxZC4uYjdmZjAwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLSW5zcGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tJbnNwZWN0b3IuY3BwCkBAIC0xMjAsNCArMTIwLDE0IEBAIHZvaWQgV0tJbnNwZWN0b3JUb2dn
bGVQYWdlUHJvZmlsaW5nKFdLSW5zcGVjdG9yUmVmIGluc3BlY3RvclJlZikKICAgICB0b0ltcGwo
aW5zcGVjdG9yUmVmKS0+dG9nZ2xlUGFnZVByb2ZpbGluZygpOwogfQogCitib29sIFdLSW5zcGVj
dG9ySXNFbGVtZW50U2VsZWN0aW9uQWN0aXZlKFdLSW5zcGVjdG9yUmVmIGluc3BlY3RvclJlZikK
K3sKKyAgICByZXR1cm4gdG9JbXBsKGluc3BlY3RvclJlZiktPmlzRWxlbWVudFNlbGVjdGlvbkFj
dGl2ZSgpOworfQorCit2b2lkIFdLSW5zcGVjdG9yVG9nZ2xlRWxlbWVudFNlbGVjdGlvbihXS0lu
c3BlY3RvclJlZiBpbnNwZWN0b3JSZWYpCit7CisgICAgdG9JbXBsKGluc3BlY3RvclJlZiktPnRv
Z2dsZUVsZW1lbnRTZWxlY3Rpb24oKTsKK30KKwogI2VuZGlmIC8vICFQTEFURk9STShJT1MpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tJbnNwZWN0b3IuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rvci5oCmluZGV4IDE0NjU0
ZmMuLmQwMzY0ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0luc3BlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3Bl
Y3Rvci5oCkBAIC02MSw2ICs2MSw5IEBAIFdLX0VYUE9SVCB2b2lkIFdLSW5zcGVjdG9yRGV0YWNo
KFdLSW5zcGVjdG9yUmVmIGluc3BlY3Rvcik7CiBXS19FWFBPUlQgYm9vbCBXS0luc3BlY3Rvcklz
UHJvZmlsaW5nUGFnZShXS0luc3BlY3RvclJlZiBpbnNwZWN0b3IpOwogV0tfRVhQT1JUIHZvaWQg
V0tJbnNwZWN0b3JUb2dnbGVQYWdlUHJvZmlsaW5nKFdLSW5zcGVjdG9yUmVmIGluc3BlY3Rvcik7
CiAKK1dLX0VYUE9SVCBib29sIFdLSW5zcGVjdG9ySXNFbGVtZW50U2VsZWN0aW9uQWN0aXZlKFdL
SW5zcGVjdG9yUmVmIGluc3BlY3Rvcik7CitXS19FWFBPUlQgdm9pZCBXS0luc3BlY3RvclRvZ2ds
ZUVsZW1lbnRTZWxlY3Rpb24oV0tJbnNwZWN0b3JSZWYgaW5zcGVjdG9yKTsKKwogI2lmZGVmIF9f
Y3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJJbnNwZWN0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuY3BwCmluZGV4IGZhODRhY2QuLjMyZWQyMGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcApAQCAtMzAzLDYgKzMwMywyMCBA
QCB2b2lkIFdlYkluc3BlY3RvclByb3h5Ojp0b2dnbGVQYWdlUHJvZmlsaW5nKCkKICAgICBtX2lz
UHJvZmlsaW5nUGFnZSA9ICFtX2lzUHJvZmlsaW5nUGFnZTsKIH0KIAordm9pZCBXZWJJbnNwZWN0
b3JQcm94eTo6dG9nZ2xlRWxlbWVudFNlbGVjdGlvbigpCit7CisgICAgaWYgKCFtX2luc3BlY3Rl
ZFBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2VsZW1lbnRTZWxlY3Rpb25BY3Rp
dmUpIHsKKyAgICAgICAgbV9pZ25vcmVFbGVtZW50U2VsZWN0aW9uQ2hhbmdlID0gdHJ1ZTsKKyAg
ICAgICAgbV9pbnNwZWN0ZWRQYWdlLT5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViSW5zcGVj
dG9yOjpTdG9wRWxlbWVudFNlbGVjdGlvbigpLCBtX2luc3BlY3RlZFBhZ2UtPnBhZ2VJRCgpKTsK
KyAgICB9IGVsc2UgeworICAgICAgICBjb25uZWN0KCk7CisgICAgICAgIG1faW5zcGVjdGVkUGFn
ZS0+cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYkluc3BlY3Rvcjo6U3RhcnRFbGVtZW50U2Vs
ZWN0aW9uKCksIG1faW5zcGVjdGVkUGFnZS0+cGFnZUlEKCkpOworICAgIH0KK30KKwogc3RhdGlj
IFdlYlByb2Nlc3NQb29sKiBzX21haW5JbnNwZWN0b3JQcm9jZXNzUG9vbDsKIHN0YXRpYyBXZWJQ
cm9jZXNzUG9vbCogc19uZXN0ZWRJbnNwZWN0b3JQcm9jZXNzUG9vbDsKIApAQCAtNjIzLDYgKzYz
NywxOSBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjppbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0
IFN0cmluZyYgdXJsU3RyaW5nKQogICAgIHBsYXRmb3JtSW5zcGVjdGVkVVJMQ2hhbmdlZCh1cmxT
dHJpbmcpOwogfQogCit2b2lkIFdlYkluc3BlY3RvclByb3h5OjplbGVtZW50U2VsZWN0aW9uQ2hh
bmdlZChib29sIGFjdGl2ZSkKK3sKKyAgICBtX2VsZW1lbnRTZWxlY3Rpb25BY3RpdmUgPSBhY3Rp
dmU7CisKKyAgICBpZiAobV9pZ25vcmVFbGVtZW50U2VsZWN0aW9uQ2hhbmdlKSB7CisgICAgICAg
IG1faWdub3JlRWxlbWVudFNlbGVjdGlvbkNoYW5nZSA9IGZhbHNlOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgaWYgKCFhY3RpdmUgJiYgaXNDb25uZWN0ZWQoKSkKKyAgICAgICAgYnJp
bmdUb0Zyb250KCk7Cit9CisKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnNhdmUoY29uc3QgU3Ry
aW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBib29sIGJhc2U2NEVuY29kZWQs
IGJvb2wgZm9yY2VTYXZlQXMpCiB7CiAgICAgcGxhdGZvcm1TYXZlKGZpbGVuYW1lLCBjb250ZW50
LCBiYXNlNjRFbmNvZGVkLCBmb3JjZVNhdmVBcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJJbnNwZWN0b3JQcm94eS5oCmluZGV4IDBkYjQ0ODcuLmM2YmNlYTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCkBAIC0xMzQsNiArMTM0LDkg
QEAgcHVibGljOgogICAgIGJvb2wgaXNQcm9maWxpbmdQYWdlKCkgY29uc3QgeyByZXR1cm4gbV9p
c1Byb2ZpbGluZ1BhZ2U7IH0KICAgICB2b2lkIHRvZ2dsZVBhZ2VQcm9maWxpbmcoKTsKIAorICAg
IGJvb2wgaXNFbGVtZW50U2VsZWN0aW9uQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gbV9lbGVtZW50
U2VsZWN0aW9uQWN0aXZlOyB9CisgICAgdm9pZCB0b2dnbGVFbGVtZW50U2VsZWN0aW9uKCk7CisK
ICAgICBzdGF0aWMgYm9vbCBpc0luc3BlY3RvclByb2Nlc3NQb29sKFdlYlByb2Nlc3NQb29sJik7
CiAgICAgc3RhdGljIGJvb2wgaXNJbnNwZWN0b3JQYWdlKFdlYlBhZ2VQcm94eSYpOwogCkBAIC0x
OTEsNiArMTk0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZv
aWQgYXR0YWNoQXZhaWxhYmlsaXR5Q2hhbmdlZChib29sKTsKICAgICB2b2lkIGluc3BlY3RlZFVS
TENoYW5nZWQoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBlbGVtZW50U2VsZWN0aW9uQ2hhbmdl
ZChib29sKTsKIAogICAgIHZvaWQgc2F2ZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBjb25zdCBT
dHJpbmcmIGNvbnRlbnQsIGJvb2wgYmFzZTY0RW5jb2RlZCwgYm9vbCBmb3JjZVNhdmVBcyk7CiAg
ICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBjb250
ZW50KTsKQEAgLTIyNywxNiArMjMxLDE4IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGluaXRpYWxXaW5kb3dXaWR0aDsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5p
dGlhbFdpbmRvd0hlaWdodDsKIAotICAgIFdlYlBhZ2VQcm94eSogbV9pbnNwZWN0ZWRQYWdlIHtu
dWxscHRyfTsKLSAgICBXZWJQYWdlUHJveHkqIG1faW5zcGVjdG9yUGFnZSB7bnVsbHB0cn07Cisg
ICAgV2ViUGFnZVByb3h5KiBtX2luc3BlY3RlZFBhZ2UgeyBudWxscHRyIH07CisgICAgV2ViUGFn
ZVByb3h5KiBtX2luc3BlY3RvclBhZ2UgeyBudWxscHRyIH07CiAKLSAgICBib29sIG1fdW5kZXJU
ZXN0IHtmYWxzZX07Ci0gICAgYm9vbCBtX2lzVmlzaWJsZSB7ZmFsc2V9OwotICAgIGJvb2wgbV9p
c0F0dGFjaGVkIHtmYWxzZX07Ci0gICAgYm9vbCBtX2NhbkF0dGFjaCB7ZmFsc2V9OwotICAgIGJv
b2wgbV9pc1Byb2ZpbGluZ1BhZ2Uge2ZhbHNlfTsKLSAgICBib29sIG1fc2hvd01lc3NhZ2VTZW50
IHtmYWxzZX07Ci0gICAgYm9vbCBtX2lnbm9yZUZpcnN0QnJpbmdUb0Zyb250IHtmYWxzZX07Cisg
ICAgYm9vbCBtX3VuZGVyVGVzdCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzVmlzaWJsZSB7IGZh
bHNlIH07CisgICAgYm9vbCBtX2lzQXR0YWNoZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9jYW5B
dHRhY2ggeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1Byb2ZpbGluZ1BhZ2UgeyBmYWxzZSB9Owor
ICAgIGJvb2wgbV9zaG93TWVzc2FnZVNlbnQgeyBmYWxzZSB9OyAgICAKKyAgICBib29sIG1faWdu
b3JlRmlyc3RCcmluZ1RvRnJvbnQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9lbGVtZW50U2VsZWN0
aW9uQWN0aXZlIHsgZmFsc2UgfTsKKyAgICBib29sIG1faWdub3JlRWxlbWVudFNlbGVjdGlvbkNo
YW5nZSB7IGZhbHNlIH07CiAKICAgICBJUEM6OkF0dGFjaG1lbnQgbV9jb25uZWN0aW9uSWRlbnRp
ZmllcjsKIApAQCAtMjUxLDE2ICsyNTcsMTYgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV91cmxT
dHJpbmc7CiAjZWxpZiBQTEFURk9STShHVEspCiAgICAgV2ViSW5zcGVjdG9yQ2xpZW50R3RrIG1f
Y2xpZW50OwotICAgIEd0a1dpZGdldCogbV9pbnNwZWN0b3JWaWV3IHtudWxscHRyfTsKLSAgICBH
dGtXaWRnZXQqIG1faW5zcGVjdG9yV2luZG93IHtudWxscHRyfTsKLSAgICBHdGtXaWRnZXQqIG1f
aGVhZGVyQmFyIHtudWxscHRyfTsKKyAgICBHdGtXaWRnZXQqIG1faW5zcGVjdG9yVmlldyB7IG51
bGxwdHIgfTsKKyAgICBHdGtXaWRnZXQqIG1faW5zcGVjdG9yV2luZG93IHsgbnVsbHB0ciB9Owor
ICAgIEd0a1dpZGdldCogbV9oZWFkZXJCYXIgeyBudWxscHRyIH07CiAgICAgU3RyaW5nIG1faW5z
cGVjdGVkVVJMU3RyaW5nOwogI2VsaWYgUExBVEZPUk0oRUZMKQotICAgIEV2YXNfT2JqZWN0KiBt
X2luc3BlY3RvclZpZXcge251bGxwdHJ9OwotICAgIEVjb3JlX0V2YXMqIG1faW5zcGVjdG9yV2lu
ZG93IHtudWxscHRyfTsKKyAgICBFdmFzX09iamVjdCogbV9pbnNwZWN0b3JWaWV3IHsgbnVsbHB0
ciB9OworICAgIEVjb3JlX0V2YXMqIG1faW5zcGVjdG9yV2luZG93IHsgbnVsbHB0ciB9OwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9TRVJWRVIpCi0gICAgaW50IG1fcmVtb3RlSW5zcGVj
dGlvblBhZ2VJZCB7MH07CisgICAgaW50IG1fcmVtb3RlSW5zcGVjdGlvblBhZ2VJZCB7IDAgfTsK
ICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYklu
c3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYklu
c3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDdmMTNiNjcuLjAxOTNiNzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTI3LDYgKzI3LDcgQEAgbWVzc2FnZXMgLT4gV2ViSW5zcGVjdG9yUHJveHkgewog
ICAgIEJyaW5nVG9Gcm9udCgpCiAKICAgICBJbnNwZWN0ZWRVUkxDaGFuZ2VkKFN0cmluZyB1cmxT
dHJpbmcpCisgICAgRWxlbWVudFNlbGVjdGlvbkNoYW5nZWQoYm9vbCBhY3RpdmUpCiAKICAgICBT
YXZlKFN0cmluZyBmaWxlbmFtZSwgU3RyaW5nIGNvbnRlbnQsIGJvb2wgYmFzZTY0RW5jb2RlZCwg
Ym9vbCBmb3JjZVNhdmVBcykKICAgICBBcHBlbmQoU3RyaW5nIGZpbGVuYW1lLCBTdHJpbmcgY29u
dGVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAppbmRleCA2NTU3OTc5Li4zNTk5Nzlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCkBAIC0xOTIsNiArMTkyLDExIEBAIHZv
aWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpkaWRTZXRTZWFyY2hpbmdGb3JOb2RlKGJvb2wgZW5hYmxl
ZCkKIH0KICNlbmRpZgogCit2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6ZWxlbWVudFNlbGVjdGlv
bkNoYW5nZWQoYm9vbCBhY3RpdmUpCit7CisgICAgbV9wYWdlLT5pbnNwZWN0b3IoKS0+ZWxlbWVu
dFNlbGVjdGlvbkNoYW5nZWQoYWN0aXZlKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6
OnBhZ2VPdmVybGF5RGVzdHJveWVkKFBhZ2VPdmVybGF5JikKIHsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5oCmluZGV4IDJmNzljNmEuLjlkMjZhZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuaApAQCAtNjYsNiArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkU2V0U2VhcmNoaW5n
Rm9yTm9kZShib29sKSBvdmVycmlkZTsKICNlbmRpZgogCisgICAgdm9pZCBlbGVtZW50U2VsZWN0
aW9uQ2hhbmdlZChib29sKSBvdmVycmlkZTsKKwogICAgIGJvb2wgb3ZlcnJpZGVzU2hvd1BhaW50
UmVjdHMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBzaG93UGFp
bnRSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwCmluZGV4IDcz
MzdhYzQuLmU4MzM1NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJJbnNwZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJJbnNwZWN0b3IuY3BwCkBAIC0yMDksNiArMjA5LDI3IEBAIHZvaWQgV2ViSW5zcGVj
dG9yOjpzdG9wUGFnZVByb2ZpbGluZygpCiAgICAgbV9mcm9udGVuZENvbm5lY3Rpb24tPnNlbmQo
TWVzc2FnZXM6OldlYkluc3BlY3RvclVJOjpTdG9wUGFnZVByb2ZpbGluZygpLCAwKTsKIH0KIAor
dm9pZCBXZWJJbnNwZWN0b3I6OnN0YXJ0RWxlbWVudFNlbGVjdGlvbigpCit7CisgICAgaWYgKCFt
X3BhZ2UtPmNvcmVQYWdlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fZnJvbnRlbmRDb25u
ZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpXZWJJbnNwZWN0b3JVSTo6U3RhcnRFbGVtZW50U2VsZWN0
aW9uKCksIDApOworfQorCit2b2lkIFdlYkluc3BlY3Rvcjo6c3RvcEVsZW1lbnRTZWxlY3Rpb24o
KQoreworICAgIGlmICghbV9wYWdlLT5jb3JlUGFnZSgpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX2Zyb250ZW5kQ29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6V2ViSW5zcGVjdG9yVUk6OlN0
b3BFbGVtZW50U2VsZWN0aW9uKCksIDApOworfQorCit2b2lkIFdlYkluc3BlY3Rvcjo6ZWxlbWVu
dFNlbGVjdGlvbkNoYW5nZWQoYm9vbCBhY3RpdmUpCit7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViSW5zcGVj
dG9yUHJveHk6OkVsZW1lbnRTZWxlY3Rpb25DaGFuZ2VkKGFjdGl2ZSksIG1fcGFnZS0+cGFnZUlE
KCkpOworfQorCiBib29sIFdlYkluc3BlY3Rvcjo6Y2FuQXR0YWNoV2luZG93KCkKIHsKICAgICBp
ZiAoIW1fcGFnZS0+Y29yZVBhZ2UoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCAxODY4NDYwLi41NGE2ODA2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oCkBAIC03OSw2
ICs3OSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdGFydFBhZ2VQcm9maWxpbmcoKTsKICAgICB2
b2lkIHN0b3BQYWdlUHJvZmlsaW5nKCk7CiAKKyAgICB2b2lkIHN0YXJ0RWxlbWVudFNlbGVjdGlv
bigpOworICAgIHZvaWQgc3RvcEVsZW1lbnRTZWxlY3Rpb24oKTsKKyAgICB2b2lkIGVsZW1lbnRT
ZWxlY3Rpb25DaGFuZ2VkKGJvb2wpOworCiAgICAgdm9pZCBzZW5kTWVzc2FnZVRvQmFja2VuZChj
b25zdCBTdHJpbmcmKTsKIAogI2lmIEVOQUJMRShJTlNQRUNUT1JfU0VSVkVSKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IubWVz
c2FnZXMuaW4KaW5kZXggZmU0ZTBhYy4uYjcwMzExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluCkBA
IC0zNiw2ICszNiw5IEBAIG1lc3NhZ2VzIC0+IFdlYkluc3BlY3RvciB7CiAgICAgU3RhcnRQYWdl
UHJvZmlsaW5nKCkKICAgICBTdG9wUGFnZVByb2ZpbGluZygpCiAKKyAgICBTdGFydEVsZW1lbnRT
ZWxlY3Rpb24oKQorICAgIFN0b3BFbGVtZW50U2VsZWN0aW9uKCkKKwogICAgIFNlbmRNZXNzYWdl
VG9CYWNrZW5kKFN0cmluZyBtZXNzYWdlKQogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9TRVJWRVIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVj
dG9yVUkuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rv
clVJLmNwcAppbmRleCA3ZGJlZmU3Li40N2ZmZGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5jcHAKQEAgLTIzMyw2ICsyMzMs
MTYgQEAgdm9pZCBXZWJJbnNwZWN0b3JVSTo6c3RvcFBhZ2VQcm9maWxpbmcoKQogICAgIG1fZnJv
bnRlbmRBUElEaXNwYXRjaGVyLmRpc3BhdGNoQ29tbWFuZChBU0NJSUxpdGVyYWwoInNldFRpbWVs
aW5lUHJvZmlsaW5nRW5hYmxlZCIpLCBmYWxzZSk7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yVUk6
OnN0YXJ0RWxlbWVudFNlbGVjdGlvbigpCit7CisgICAgbV9mcm9udGVuZEFQSURpc3BhdGNoZXIu
ZGlzcGF0Y2hDb21tYW5kKEFTQ0lJTGl0ZXJhbCgic2V0RWxlbWVudFNlbGVjdGlvbkVuYWJsZWQi
KSwgdHJ1ZSk7Cit9CisKK3ZvaWQgV2ViSW5zcGVjdG9yVUk6OnN0b3BFbGVtZW50U2VsZWN0aW9u
KCkKK3sKKyAgICBtX2Zyb250ZW5kQVBJRGlzcGF0Y2hlci5kaXNwYXRjaENvbW1hbmQoQVNDSUlM
aXRlcmFsKCJzZXRFbGVtZW50U2VsZWN0aW9uRW5hYmxlZCIpLCBmYWxzZSk7Cit9CisKIHZvaWQg
V2ViSW5zcGVjdG9yVUk6OmRpZFNhdmUoY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgbV9mcm9u
dGVuZEFQSURpc3BhdGNoZXIuZGlzcGF0Y2hDb21tYW5kKEFTQ0lJTGl0ZXJhbCgic2F2ZWRVUkwi
KSwgdXJsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJJbnNwZWN0b3JVSS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYklu
c3BlY3RvclVJLmgKaW5kZXggNjViZTM2Mi4uMTRlMjQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLmgKQEAgLTYzLDYgKzYzLDkg
QEAgcHVibGljOgogICAgIHZvaWQgc3RhcnRQYWdlUHJvZmlsaW5nKCk7CiAgICAgdm9pZCBzdG9w
UGFnZVByb2ZpbGluZygpOwogCisgICAgdm9pZCBzdGFydEVsZW1lbnRTZWxlY3Rpb24oKTsKKyAg
ICB2b2lkIHN0b3BFbGVtZW50U2VsZWN0aW9uKCk7CisKICAgICB2b2lkIGF0dGFjaGVkQm90dG9t
KCkgeyBzZXREb2NrU2lkZShEb2NrU2lkZTo6Qm90dG9tKTsgfQogICAgIHZvaWQgYXR0YWNoZWRS
aWdodCgpIHsgc2V0RG9ja1NpZGUoRG9ja1NpZGU6OlJpZ2h0KTsgfQogICAgIHZvaWQgZGV0YWNo
ZWQoKSB7IHNldERvY2tTaWRlKERvY2tTaWRlOjpVbmRvY2tlZCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5tZXNz
YWdlcy5pbgppbmRleCBjYzA5ZjlhLi44YjUyOGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmlu
CkBAIC0zNiw2ICszNiw5IEBAIG1lc3NhZ2VzIC0+IFdlYkluc3BlY3RvclVJIHsKICAgICBTdGFy
dFBhZ2VQcm9maWxpbmcoKQogICAgIFN0b3BQYWdlUHJvZmlsaW5nKCkKIAorICAgIFN0YXJ0RWxl
bWVudFNlbGVjdGlvbigpCisgICAgU3RvcEVsZW1lbnRTZWxlY3Rpb24oKQorCiAgICAgRGlkU2F2
ZShTdHJpbmcgdXJsKQogICAgIERpZEFwcGVuZChTdHJpbmcgdXJsKQogCg==
</data>
<flag name="review"
          id="300556"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>