<?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>129286</bug_id>
          
          <creation_ts>2014-02-24 20:10:35 -0800</creation_ts>
          <short_desc>Prune dead code for Web Inspector memory instrumentation.</short_desc>
          <delta_ts>2014-02-25 10:54:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>berto</cc>
    
    <cc>bunhere</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>kling</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
    
    <cc>timothy</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>984171</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-24 20:10:35 -0800</bug_when>
    <thetext>Prune dead code for Web Inspector memory instrumentation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984172</commentid>
    <comment_count>1</comment_count>
      <attachid>225117</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-24 20:11:54 -0800</bug_when>
    <thetext>Created attachment 225117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984178</commentid>
    <comment_count>2</comment_count>
      <attachid>225119</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-24 20:48:40 -0800</bug_when>
    <thetext>Created attachment 225119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984216</commentid>
    <comment_count>3</comment_count>
      <attachid>225119</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-25 00:13:59 -0800</bug_when>
    <thetext>Comment on attachment 225119
Patch

Clearing flags on attachment: 225119

Committed r164637: &lt;http://trac.webkit.org/changeset/164637&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984217</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-25 00:14:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984395</commentid>
    <comment_count>5</comment_count>
      <attachid>225119</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-02-25 10:41:25 -0800</bug_when>
    <thetext>Comment on attachment 225119
Patch

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

&gt; Source/WebCore/inspector/InspectorMemoryAgent.cpp:-82
&gt; -    *nodes = InspectorCounters::counterValue(InspectorCounters::NodeCounter);

Are InspectorCounters used anywhere now? Can they be removed?

&gt; Source/WebCore/inspector/InspectorMemoryAgent.cpp:-83
&gt; -    *jsEventListeners = ThreadLocalInspectorCounters::current().counterValue(ThreadLocalInspectorCounters::JSEventListenerCounter);

Same with ThreadLocalInspectorCounters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984398</commentid>
    <comment_count>6</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-25 10:54:06 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 225119 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=225119&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/InspectorMemoryAgent.cpp:-82
&gt; &gt; -    *nodes = InspectorCounters::counterValue(InspectorCounters::NodeCounter);
&gt; 
&gt; Are InspectorCounters used anywhere now? Can they be removed?

They are still used to implement some window.internals testing API. It should be easy enough to replace it with something simpler.

&gt; 
&gt; &gt; Source/WebCore/inspector/InspectorMemoryAgent.cpp:-83
&gt; &gt; -    *jsEventListeners = ThreadLocalInspectorCounters::current().counterValue(ThreadLocalInspectorCounters::JSEventListenerCounter);
&gt; 
&gt; Same with ThreadLocalInspectorCounters.

Hm. This one might come off right now!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225117</attachid>
            <date>2014-02-24 20:11:54 -0800</date>
            <delta_ts>2014-02-24 20:48:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129286.diff</filename>
            <type>text/plain</type>
            <size>23718</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZjIxOGVmYy4uYWI5NGRhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTE1NzcsNyArMTU3Nyw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBpbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb25Db29raWUuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckxheWVy
VHJlZUFnZW50LmNwcAotICAgIGluc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKICAg
ICBpbnNwZWN0b3IvSW5zcGVjdG9yTm9kZUZpbmRlci5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVj
dG9yT3ZlcmxheS5jcHAKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDdiZGNiY2QuLjkwYjcxMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAor
MjAxNC0wMi0yNCAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CisKKyAgICAgICAg
UHJ1bmUgZGVhZCBjb2RlIGZvciBXZWIgSW5zcGVjdG9yIG1lbW9yeSBpbnN0cnVtZW50YXRpb24u
CisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMjkyODY+CisKKyAgICAgICAgVGhpcyB3
YXMgbGVmdG92ZXIgY29kZSBmcm9tIENocm9taXVtJ3MgaW5zcGVjdG9yLiBJdCdzIG5vdCB1c2Vk
IGJ5CisgICAgICAgIHRvZGF5J3MgV2ViS2l0IGluc3BlY3Rvci4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHA6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
Q29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgICogaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5
QWdlbnQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlB
Z2VudC5oOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6Okluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6V29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlcik6CisKIDIwMTQtMDItMjQgIEplcmVteSBKb25lcyAgPGplcmVt
eWpAYXBwbGUuY29tPgogCiAgICAgICAgIFdLMiBBVktpdCBmdWxsc2NyZWVuIGRvZXNuJ3QgZGlz
cGxheSB2aWRlby4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGUxMjgyMmUuLjE3
YTg2OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysr
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMzc5Nyw4ICszNzk3LDYg
QEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uQ29va2llLmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JMYXllclRyZWVBZ2VudC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yTWVtb3J5QWdlbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yTWVtb3J5QWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck5v
ZGVGaW5kZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTm9kZUZp
bmRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5k
ZXggYWNhNDJjNy4uZWRkZWRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xNzYyNywxNCArMTc2MjcsNiBAQAogICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGls
ZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JNZW1vcnlB
Z2VudC5jcHAiPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXEluc3BlY3Rvck5vZGVGaW5kZXIuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC0yMDc2Nyw3ICsyMDc1OSw2IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNw
ZWN0b3JcSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JNZW1vcnlBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rvck5vZGVGaW5kZXIuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JPdmVybGF5LmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yUGFnZUFnZW50Lmgi
IC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qLmZpbHRlcnMKaW5kZXggYWEzMzU5My4uMmRmOWZjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAt
NDc4OCw5ICs0Nzg4LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJ
bnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0Zp
bHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3Bl
Y3RvclxJbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8
L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxJbnNwZWN0b3JPdmVybGF5LmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3Rvcjwv
RmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMTIzMjksOSArMTIzMjYsNiBAQAogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckxheWVyVHJlZUFnZW50Lmgi
PgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JNZW1vcnlBZ2VudC5o
Ij4KLSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yTm9kZUZpbmRlci5o
Ij4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggODhkMDI5Ny4uZjA4ZjAwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjI3OSw4ICsyMjc5LDYgQEAKIAkJN0E3NEVDQkEx
MDE4MzlBNjAwQkY5MzlFIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTc0RUNCODEwMTgzOUE1MDBC
RjkzOUUgLyogSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcCAqLzsgfTsKIAkJN0E3NEVDQkIx
MDE4MzlBNjAwQkY5MzlFIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E3NEVDQjkxMDE4MzlBNjAwQkY5
MzlFIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oICovOyB9OwogCQk3QTc0RUNCRDEwMTgz
OURBMDBCRjkzOUUgLyogSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E3NEVDQkMxMDE4MzlEQTAw
QkY5MzlFIC8qIEpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcCAqLzsgfTsKLQkJN0FB
NTFERDUxNDg1MDZBOTAwQUQyNzUyIC8qIEluc3BlY3Rvck1lbW9yeUFnZW50LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBQTUxREQzMTQ4NTA2QTkw
MEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgKi87IH07Ci0JCTdBQTUxREQ2MTQ4
NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FBNTFERDQxNDg1MDZBOTAwQUQyNzUyIC8q
IEluc3BlY3Rvck1lbW9yeUFnZW50LmggKi87IH07CiAJCTdBQUJBMjU5MTRCQzYxMzMwMEFBOUEx
MSAvKiBET01FZGl0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0FBQkEyNTcxNEJDNjEzMzAwQUE5QTExIC8qIERPTUVkaXRvci5jcHAgKi87IH07
CiAJCTdBQUJBMjVBMTRCQzYxMzMwMEFBOUExMSAvKiBET01FZGl0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBQUJBMjU4MTRCQzYxMzMwMEFBOUEx
MSAvKiBET01FZGl0b3IuaCAqLzsgfTsKIAkJN0FCMEIxQzAxMjExQTYyMjAwQTc2OTQwIC8qIElu
c3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0FCMEIxQkUxMjExQTYyMjAwQTc2OTQwIC8qIEluc3BlY3RvckRhdGFi
YXNlQWdlbnQuY3BwICovOyB9OwpAQCAtOTIyNSw4ICs5MjIzLDYgQEAKIAkJN0E3NEVDQjgxMDE4
MzlBNTAwQkY5MzlFIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTc0RUNCOTEwMTgzOUE2MDBCRjkzOUUgLyog
SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QTc0RUNCQzEwMTgzOURBMDBCRjkzOUUgLyogSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RD
dXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbnNwZWN0
b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3
QUE1MUREMzE0ODUwNkE5MDBBRDI3NTIgLyogSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3QUE1MURENDE0ODUwNkE5MDBBRDI3NTIg
LyogSW5zcGVjdG9yTWVtb3J5QWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5zcGVjdG9yTWVtb3J5QWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
N0FBQkEyNTcxNEJDNjEzMzAwQUE5QTExIC8qIERPTUVkaXRvci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01FZGl0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3QUFCQTI1ODE0QkM2MTMzMDBBQTlBMTEgLyogRE9NRWRpdG9yLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUVkaXRvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3QUIwQjFCRTEyMTFBNjIyMDBBNzY5NDAgLyogSW5zcGVjdG9yRGF0YWJh
c2VBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0
b3JEYXRhYmFzZUFnZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0ODM1
LDggKzE0ODMxLDYgQEAKIAkJCQlBNTg0MEUxQjE4N0I3NEQ1MDA4NDNCMTAgLyogSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llLmggKi8sCiAJCQkJNzFCMUUxMjMxNjQwNDhDQzAwQjE4ODBB
IC8qIEluc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcCAqLywKIAkJCQk3MUIxRTEyNDE2NDA0OEND
MDBCMTg4MEEgLyogSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaCAqLywKLQkJCQk3QUE1MUREMzE0
ODUwNkE5MDBBRDI3NTIgLyogSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwICovLAotCQkJCTdBQTUx
REQ0MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlBZ2VudC5oICovLAogCQkJCTUw
NEFBQ0NCMTgzNDQ1NTkwMEUzRDlCQyAvKiBJbnNwZWN0b3JOb2RlRmluZGVyLmNwcCAqLywKIAkJ
CQk1MDRBQUNDQzE4MzQ0NTU5MDBFM0Q5QkMgLyogSW5zcGVjdG9yTm9kZUZpbmRlci5oICovLAog
CQkJCTdDNTIyRDQ5MTVCNDc3RTgwMDlCN0M5NSAvKiBJbnNwZWN0b3JPdmVybGF5LmNwcCAqLywK
QEAgLTIzOTMyLDcgKzIzOTI2LDYgQEAKIAkJCQkyMEQ2MjkyNzEyNTM2OTBCMDAwODE1NDMgLyog
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTg0MEUxRDE4
N0I3NEQ1MDA4NDNCMTAgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3MUIxRTEyNTE2NDA0OEY3MDBCMTg4MEEgLyogSW5zcGVjdG9yTGF5ZXJU
cmVlQWdlbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCTdBQTUxREQ2MTQ4NTA2QTkwMEFEMjc1MiAv
KiBJbnNwZWN0b3JNZW1vcnlBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTA0QUFDQ0UxODM0
NDU1OTAwRTNEOUJDIC8qIEluc3BlY3Rvck5vZGVGaW5kZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGMDNDMDc1MTg4NDgwNTUwMEE1RjhDQSAvKiBJbnNwZWN0b3JPdmVybGF5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0RjZGREQ2NTEzNDFERUREMDAxRjhFRTMgLyogSW5zcGVjdG9yUGFnZUFnZW50
LmggaW4gSGVhZGVycyAqLywKQEAgLTI3Mjg4LDcgKzI3MjgxLDYgQEAKIAkJCQkyMEQ2MjkyNjEy
NTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE1ODQwRTFDMTg3Qjc0RDUwMDg0M0IxMCAvKiBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNzFCMUUxMjYxNjQwNDkxQTAwQjE4
ODBBIC8qIEluc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTdB
QTUxREQ1MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MDRBQUNDRDE4MzQ0NTU5MDBFM0Q5QkMgLyogSW5zcGVjdG9yTm9kZUZp
bmRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzUyMkQ0QjE1QjQ3N0U4MDA5QjdDOTUgLyog
SW5zcGVjdG9yT3ZlcmxheS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0RjZGREQ2NDEzNDFERURE
MDAxRjhFRTMgLyogSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAKaW5kZXggMGU5MTRk
My4uZDRkMTY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckFsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxs
SW5PbmUuY3BwCkBAIC00OCw3ICs0OCw2IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuY3Bw
IgogI2luY2x1ZGUgIkluc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcCIKLSNpbmNsdWRlICJJbnNw
ZWN0b3JNZW1vcnlBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yTm9kZUZpbmRlci5jcHAi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yT3ZlcmxheS5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcAppbmRleCBhNDJlYzE1Li4xOGYyZmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC00OSw3ICs0OSw2IEBACiAj
aW5jbHVkZSAiSW5zcGVjdG9ySW5wdXRBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvckxheWVyVHJlZUFnZW50LmgiCi0jaW5j
bHVkZSAiSW5zcGVjdG9yTWVtb3J5QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
UHJvZmlsZXJBZ2VudC5oIgpAQCAtMTI5LDExICsxMjgsNyBAQCBJbnNwZWN0b3JDb250cm9sbGVy
OjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UmIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVj
dG9yQwogICAgIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCogZG9tU3RvcmFnZUFnZW50ID0gZG9t
U3RvcmFnZUFnZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1vdmUoZG9t
U3RvcmFnZUFnZW50UHRyKSk7CiAKLSAgICBhdXRvIG1lbW9yeUFnZW50UHRyID0gc3RkOjptYWtl
X3VuaXF1ZTxJbnNwZWN0b3JNZW1vcnlBZ2VudD4obV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgp
KTsKLSAgICBtX21lbW9yeUFnZW50ID0gbWVtb3J5QWdlbnRQdHIuZ2V0KCk7Ci0gICAgbV9hZ2Vu
dHMuYXBwZW5kKHN0ZDo6bW92ZShtZW1vcnlBZ2VudFB0cikpOwotCi0gICAgbV9hZ2VudHMuYXBw
ZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yVGltZWxpbmVBZ2VudD4obV9pbnN0cnVtZW50
aW5nQWdlbnRzLmdldCgpLCBwYWdlQWdlbnQsIG1fbWVtb3J5QWdlbnQsIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OlBhZ2VJbnNwZWN0b3IsIGluc3BlY3RvckNsaWVudCkpOworICAgIG1fYWdlbnRz
LmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvclRpbWVsaW5lQWdlbnQ+KG1faW5zdHJ1
bWVudGluZ0FnZW50cy5nZXQoKSwgcGFnZUFnZW50LCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpQ
YWdlSW5zcGVjdG9yLCBpbnNwZWN0b3JDbGllbnQpKTsKICAgICBtX2FnZW50cy5hcHBlbmQoc3Rk
OjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ+KG1faW5zdHJ1bWVu
dGluZ0FnZW50cy5nZXQoKSwgcGFnZUFnZW50KSk7CiAKICAgICBhdXRvIHJlc291cmNlQWdlbnRQ
dHIgPSBzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvclJlc291cmNlQWdlbnQ+KG1faW5zdHJ1bWVu
dGluZ0FnZW50cy5nZXQoKSwgcGFnZUFnZW50LCBpbnNwZWN0b3JDbGllbnQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggNDAwNmI4Mi4u
ODcyMmQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5oCkBAIC01OSw3ICs1OSw2IEBAIGNsYXNzIEluc3BlY3RvckNsaWVudDsKIGNsYXNzIElu
c3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDsKIGNsYXNz
IEluc3BlY3RvckZyb250ZW5kQ2xpZW50OwotY2xhc3MgSW5zcGVjdG9yTWVtb3J5QWdlbnQ7CiBj
bGFzcyBJbnNwZWN0b3JPdmVybGF5OwogY2xhc3MgSW5zcGVjdG9yUGFnZUFnZW50OwogY2xhc3Mg
SW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsKQEAgLTE0OSw3ICsxNDgsNiBAQCBwcml2YXRlOgogICAg
IEluc3BlY3RvckRPTUFnZW50KiBtX2RvbUFnZW50OwogICAgIEluc3BlY3RvclJlc291cmNlQWdl
bnQqIG1fcmVzb3VyY2VBZ2VudDsKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1fcGFnZUFnZW50
OwotICAgIEluc3BlY3Rvck1lbW9yeUFnZW50KiBtX21lbW9yeUFnZW50OwogICAgIEluc3BlY3Rv
cjo6SW5zcGVjdG9yRGVidWdnZXJBZ2VudCogbV9kZWJ1Z2dlckFnZW50OwogICAgIEluc3BlY3Rv
ckRPTURlYnVnZ2VyQWdlbnQqIG1fZG9tRGVidWdnZXJBZ2VudDsKICAgICBJbnNwZWN0b3JQcm9m
aWxlckFnZW50KiBtX3Byb2ZpbGVyQWdlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMzVlZTAxZS4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yTWVtb3J5QWdlbnQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsOTMgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0
cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0g
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRl
ICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0KLSNpbmNsdWRlICJJbnNwZWN0
b3JNZW1vcnlBZ2VudC5oIgotCi0jaW5jbHVkZSAiQ2hhcmFjdGVyRGF0YS5oIgotI2luY2x1ZGUg
IkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRXZlbnRMaXN0ZW5lck1hcC5oIgotI2luY2x1ZGUgIkZy
YW1lLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmgiCi0jaW5jbHVkZSAi
SW5zcGVjdG9yV2ViRnJvbnRlbmREaXNwYXRjaGVycy5oIgotI2luY2x1ZGUgIkluc3RydW1lbnRp
bmdBZ2VudHMuaCIKLSNpbmNsdWRlICJNZW1vcnlDYWNoZS5oIgotI2luY2x1ZGUgIk5vZGUuaCIK
LSNpbmNsdWRlICJOb2RlVHJhdmVyc2FsLmgiCi0jaW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIuaCIK
LSNpbmNsdWRlICJTdHlsZWRFbGVtZW50LmgiCi0jaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3Rv
clZhbHVlcy5oPgotI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXJWaWV3Lmg+Ci0jaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0jaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nQnVpbGRlci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4K
LSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotLy8gVXNlIGEgdHlwZSBhbGlhcyBp
bnN0ZWFkIG9mICd1c2luZycgaGVyZSB3aGljaCB3b3VsZCBjYXVzZSBhIGNvbmZsaWN0IG9uIE1h
Yy4KLXR5cGVkZWYgSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6TWVtb3J5OjpNZW1vcnlCbG9jayBJ
bnNwZWN0b3JNZW1vcnlCbG9jazsKLXR5cGVkZWYgSW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6QXJy
YXk8SW5zcGVjdG9yTWVtb3J5QmxvY2s+IEluc3BlY3Rvck1lbW9yeUJsb2NrczsKLQotdXNpbmcg
bmFtZXNwYWNlIEluc3BlY3RvcjsKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1JbnNwZWN0b3JN
ZW1vcnlBZ2VudDo6fkluc3BlY3Rvck1lbW9yeUFnZW50KCkKLXsKLX0KLQotdm9pZCBJbnNwZWN0
b3JNZW1vcnlBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsKiwgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIqIGJhY2tl
bmREaXNwYXRjaGVyKQotewotICAgIG1fYmFja2VuZERpc3BhdGNoZXIgPSBJbnNwZWN0b3JNZW1v
cnlCYWNrZW5kRGlzcGF0Y2hlcjo6Y3JlYXRlKGJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKTsKLX0K
LQotdm9pZCBJbnNwZWN0b3JNZW1vcnlBZ2VudDo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tl
bmQoSW5zcGVjdG9yRGlzY29ubmVjdFJlYXNvbikKLXsKLSAgICBtX2JhY2tlbmREaXNwYXRjaGVy
LmNsZWFyKCk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmdldERPTUNvdW50ZXJz
KEVycm9yU3RyaW5nKiwgaW50KiBkb2N1bWVudHMsIGludCogbm9kZXMsIGludCoganNFdmVudExp
c3RlbmVycykKLXsKLSAgICAqZG9jdW1lbnRzID0gSW5zcGVjdG9yQ291bnRlcnM6OmNvdW50ZXJW
YWx1ZShJbnNwZWN0b3JDb3VudGVyczo6RG9jdW1lbnRDb3VudGVyKTsKLSAgICAqbm9kZXMgPSBJ
bnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlKEluc3BlY3RvckNvdW50ZXJzOjpOb2RlQ291
bnRlcik7Ci0gICAgKmpzRXZlbnRMaXN0ZW5lcnMgPSBUaHJlYWRMb2NhbEluc3BlY3RvckNvdW50
ZXJzOjpjdXJyZW50KCkuY291bnRlclZhbHVlKFRocmVhZExvY2FsSW5zcGVjdG9yQ291bnRlcnM6
OkpTRXZlbnRMaXN0ZW5lckNvdW50ZXIpOwotfQotCi1JbnNwZWN0b3JNZW1vcnlBZ2VudDo6SW5z
cGVjdG9yTWVtb3J5QWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50
cykKLSAgICA6IEluc3BlY3RvckFnZW50QmFzZShBU0NJSUxpdGVyYWwoIk1lbW9yeSIpLCBpbnN0
cnVtZW50aW5nQWdlbnRzKQotewotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yTWVtb3J5QWdlbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjNjZDJm
Zi4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5
QWdlbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgot
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
LSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIEluc3BlY3Rvck1l
bW9yeUFnZW50X2gKLSNkZWZpbmUgSW5zcGVjdG9yTWVtb3J5QWdlbnRfaAotCi0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLQotI2luY2x1ZGUgIkluc3BlY3RvcldlYkFnZW50QmFzZS5oIgotI2luY2x1
ZGUgIkluc3BlY3RvcldlYkJhY2tlbmREaXNwYXRjaGVycy5oIgotI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQ7Ci1jbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwotCi10eXBlZGVmIFN0cmluZyBFcnJv
clN0cmluZzsKLQotY2xhc3MgSW5zcGVjdG9yTWVtb3J5QWdlbnQgOiBwdWJsaWMgSW5zcGVjdG9y
QWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yOjpJbnNwZWN0b3JNZW1vcnlCYWNrZW5kRGlzcGF0
Y2hlckhhbmRsZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3Rvck1lbW9yeUFn
ZW50KTsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBJbnNwZWN0b3JNZW1vcnlBZ2VudChJbnN0cnVt
ZW50aW5nQWdlbnRzKik7Ci0gICAgdmlydHVhbCB+SW5zcGVjdG9yTWVtb3J5QWdlbnQoKTsKLQot
ICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJ
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0b3I6Okluc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVyKikgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3Rvcjo6SW5zcGVjdG9yRGlzY29ubmVjdFJlYXNvbikgb3ZlcnJpZGU7
Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZ2V0RE9NQ291bnRlcnMoRXJyb3JTdHJpbmcqLCBpbnQqIGRv
Y3VtZW50cywgaW50KiBub2RlcywgaW50KiBqc0V2ZW50TGlzdGVuZXJzKSBvdmVycmlkZTsKLQot
cHJpdmF0ZToKLSAgICBSZWZQdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JNZW1vcnlCYWNrZW5kRGlz
cGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmIC8vICFFTkFCTEUoSU5TUEVDVE9SKQotI2VuZGlmIC8vICFkZWZpbmVkKElu
c3BlY3Rvck1lbW9yeUFnZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggNGEwY2VmYi4uNzdiYWRlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNw
cApAQCAtNDAsNyArNDAsNiBAQAogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvckNvdW50ZXJzLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yTWVtb3J5QWdlbnQuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JQYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNo
ZXJzLmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgpAQCAtNjIwLDEwICs2MTks
OSBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZENvbXBsZXRlQ3VycmVudFJlY29y
ZChUaW1lbGluZVJlY29yZFR5cGUgdHlwZSkKICAgICB9CiB9CiAKLUluc3BlY3RvclRpbWVsaW5l
QWdlbnQ6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cywgSW5zcGVjdG9yUGFnZUFnZW50KiBwYWdlQWdlbnQsIEluc3BlY3Rvck1l
bW9yeUFnZW50KiBtZW1vcnlBZ2VudCwgSW5zcGVjdG9yVHlwZSB0eXBlLCBJbnNwZWN0b3JDbGll
bnQqIGNsaWVudCkKK0luc3BlY3RvclRpbWVsaW5lQWdlbnQ6Okluc3BlY3RvclRpbWVsaW5lQWdl
bnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yUGFn
ZUFnZW50KiBwYWdlQWdlbnQsIEluc3BlY3RvclR5cGUgdHlwZSwgSW5zcGVjdG9yQ2xpZW50KiBj
bGllbnQpCiAgICAgOiBJbnNwZWN0b3JBZ2VudEJhc2UoQVNDSUlMaXRlcmFsKCJUaW1lbGluZSIp
LCBpbnN0cnVtZW50aW5nQWdlbnRzKQogICAgICwgbV9wYWdlQWdlbnQocGFnZUFnZW50KQotICAg
ICwgbV9tZW1vcnlBZ2VudChtZW1vcnlBZ2VudCkKICAgICAsIG1faWQoMSkKICAgICAsIG1fbWF4
Q2FsbFN0YWNrRGVwdGgoNSkKICAgICAsIG1faW5zcGVjdG9yVHlwZSh0eXBlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggMDBj
YTZhZS4uNjk0NTU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5oCkBAIC00Nyw3ICs0Nyw2IEBAIGNsYXNzIEV2ZW50OwogY2xhc3Mg
RmxvYXRRdWFkOwogY2xhc3MgRnJhbWU7CiBjbGFzcyBJbnNwZWN0b3JDbGllbnQ7Ci1jbGFzcyBJ
bnNwZWN0b3JNZW1vcnlBZ2VudDsKIGNsYXNzIEluc3BlY3RvclBhZ2VBZ2VudDsKIGNsYXNzIElu
c3RydW1lbnRpbmdBZ2VudHM7CiBjbGFzcyBJbnRSZWN0OwpAQCAtMTI3LDcgKzEyNiw3IEBAIGNs
YXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQKIHB1YmxpYzoKICAgICBlbnVtIEluc3BlY3RvclR5
cGUgeyBQYWdlSW5zcGVjdG9yLCBXb3JrZXJJbnNwZWN0b3IgfTsKIAotICAgIEluc3BlY3RvclRp
bWVsaW5lQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclBhZ2VBZ2VudCosIElu
c3BlY3Rvck1lbW9yeUFnZW50KiwgSW5zcGVjdG9yVHlwZSwgSW5zcGVjdG9yQ2xpZW50Kik7Cisg
ICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9y
UGFnZUFnZW50KiwgSW5zcGVjdG9yVHlwZSwgSW5zcGVjdG9yQ2xpZW50Kik7CiAgICAgfkluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVGcm9udGVu
ZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqLCBJbnNwZWN0
b3I6Okluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CkBAIC0yNDksNyArMjQ4
LDYgQEAgcHJpdmF0ZToKICAgICBQYWdlKiBwYWdlKCk7CiAKICAgICBJbnNwZWN0b3JQYWdlQWdl
bnQqIG1fcGFnZUFnZW50OwotICAgIEluc3BlY3Rvck1lbW9yeUFnZW50KiBtX21lbW9yeUFnZW50
OwogICAgIFRpbWVsaW5lVGltZUNvbnZlcnRlciBtX3RpbWVDb252ZXJ0ZXI7CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JUaW1lbGluZUZyb250ZW5kRGlzcGF0Y2hl
cj4gbV9mcm9udGVuZERpc3BhdGNoZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggOTZkNThhMi4uZDBlOGYy
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0
b3JDb250cm9sbGVyLmNwcApAQCAtOTgsNyArOTgsNyBAQCBXb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyKFdvcmtlckdsb2JhbFNjb3BlJiB3b3JrZXJH
bAogCiAgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmNyZWF0ZSht
X2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIGNvbnNvbGVBZ2VudC5nZXQoKSwgJndvcmtlckds
b2JhbFNjb3BlLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlci5nZXQoKSkpOwogICAgIG1fYWdlbnRz
LmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckhlYXBQcm9maWxlckFnZW50PihtX2lu
c3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKSk7
Ci0gICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yVGltZWxpbmVB
Z2VudD4obV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBudWxscHRyLCBudWxscHRyLCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpXb3JrZXJJbnNwZWN0b3IsIG51bGxwdHIpKTsKKyAgICBtX2Fn
ZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JUaW1lbGluZUFnZW50PihtX2lu
c3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG51bGxwdHIsIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
Oldvcmtlckluc3BlY3RvciwgbnVsbHB0cikpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1v
dmUoY29uc29sZUFnZW50KSk7CiAKICAgICBpZiAoQ29tbWFuZExpbmVBUElIb3N0KiBjb21tYW5k
TGluZUFQSUhvc3QgPSBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+Y29tbWFuZExpbmVBUElIb3N0
KCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225119</attachid>
            <date>2014-02-24 20:48:40 -0800</date>
            <delta_ts>2014-02-25 10:41:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129286-2.diff</filename>
            <type>text/plain</type>
            <size>28256</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZjIxOGVmYy4uNDQ2OGJkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTc2MSw3ICs3NjEsNiBAQCBzZXQoV2ViQ29yZV9JTlNQRUNUT1JfRE9NQUlOUwog
ICAgIGluc3BlY3Rvci9wcm90b2NvbC9JbmRleGVkREIuanNvbgogICAgIGluc3BlY3Rvci9wcm90
b2NvbC9JbnB1dC5qc29uCiAgICAgaW5zcGVjdG9yL3Byb3RvY29sL0xheWVyVHJlZS5qc29uCi0g
ICAgaW5zcGVjdG9yL3Byb3RvY29sL01lbW9yeS5qc29uCiAgICAgaW5zcGVjdG9yL3Byb3RvY29s
L05ldHdvcmsuanNvbgogICAgIGluc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb24KICAgICBpbnNw
ZWN0b3IvcHJvdG9jb2wvUHJvZmlsZXIuanNvbgpAQCAtMTU3Nyw3ICsxNTc2LDYgQEAgc2V0KFdl
YkNvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3Bw
CiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5jcHAKICAgICBp
bnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwCi0gICAgaW5zcGVjdG9yL0luc3Bl
Y3Rvck1lbW9yeUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JOb2RlRmluZGVyLmNw
cAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JQYWdlQWdlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2JkY2JjZC4uOGYwOTVmNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE0LTAyLTI0ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5n
QGFwcGxlLmNvbT4KKworICAgICAgICBQcnVuZSBkZWFkIGNvZGUgZm9yIFdlYiBJbnNwZWN0b3Ig
bWVtb3J5IGluc3RydW1lbnRhdGlvbi4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEy
OTI4Nj4KKworICAgICAgICBUaGlzIHdhcyBsZWZ0b3ZlciBjb2RlIGZyb20gQ2hyb21pdW0ncyBp
bnNwZWN0b3IuIEl0J3Mgbm90IHVzZWQgYnkKKyAgICAgICAgdG9kYXkncyBXZWJLaXQgaW5zcGVj
dG9yLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAg
ICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9X
b3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXI6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAq
IGluc3BlY3Rvci9wcm90b2NvbC9NZW1vcnkuanNvbjogUmVtb3ZlZC4KKwogMjAxNC0wMi0yNCAg
SmVyZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+CiAKICAgICAgICAgV0syIEFWS2l0IGZ1
bGxzY3JlZW4gZG9lc24ndCBkaXNwbGF5IHZpZGVvLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggYzFhYTRjYy4uNTU1ZGQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CkBAIC0xMTA2LDcgKzExMDYsNiBAQCBJTlNQRUNUT1JfRE9NQUlOUyA9IFwKICAgICAkKFdlYkNv
cmUpL2luc3BlY3Rvci9wcm90b2NvbC9JbmRleGVkREIuanNvbiBcCiAgICAgJChXZWJDb3JlKS9p
bnNwZWN0b3IvcHJvdG9jb2wvSW5wdXQuanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3Iv
cHJvdG9jb2wvTGF5ZXJUcmVlLmpzb24gXAotICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3Rv
Y29sL01lbW9yeS5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9OZXR3
b3JrLmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL1BhZ2UuanNvbiBc
CiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvUHJvZmlsZXIuanNvbiBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCmluZGV4IGEwMGI5OTcuLjI4Y2NhOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
CkBAIC0zNTAsNyArMzUwLDYgQEAgV2ViQ29yZV9JTlNQRUNUT1JfRE9NQUlOUyA6PSBcCiAgICAg
JChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9jb2wvSW5kZXhlZERCLmpzb24gXAogICAgICQoV2Vi
Q29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL0lucHV0Lmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5z
cGVjdG9yL3Byb3RvY29sL0xheWVyVHJlZS5qc29uIFwKLSAgICAkKFdlYkNvcmUpL2luc3BlY3Rv
ci9wcm90b2NvbC9NZW1vcnkuanNvbiBcCiAgICAgJChXZWJDb3JlKS9pbnNwZWN0b3IvcHJvdG9j
b2wvTmV0d29yay5qc29uIFwKICAgICAkKFdlYkNvcmUpL2luc3BlY3Rvci9wcm90b2NvbC9QYWdl
Lmpzb24gXAogICAgICQoV2ViQ29yZSkvaW5zcGVjdG9yL3Byb3RvY29sL1Byb2ZpbGVyLmpzb24g
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZTEyODIyZS4uMTdhODY4YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0zNzk3LDggKzM3OTcsNiBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25Db29raWUuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckxh
eWVyVHJlZUFnZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckxh
eWVyVHJlZUFnZW50LmggXAotCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1v
cnlBZ2VudC5jcHAgXAotCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlB
Z2VudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTm9kZUZpbmRlci5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JOb2RlRmluZGVyLmggXAog
CVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBhY2E0MmM3
Li5lZGRlZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2oKQEAgLTE3NjI3LDE0ICsxNzYyNyw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rvck1lbW9yeUFnZW50LmNwcCI+
Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0g
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgot
ICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
SW5zcGVjdG9yTm9kZUZpbmRlci5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KQEAgLTIwNzY3LDcgKzIwNzU5LDYgQEAKICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNw
ZWN0b3JMYXllclRyZWVBZ2VudC5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5z
cGVjdG9yXEluc3BlY3Rvck1lbW9yeUFnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yTm9kZUZpbmRlci5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rvck92ZXJsYXkuaCIgLz4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JQYWdlQWdlbnQuaCIgLz4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmls
dGVycwppbmRleCBhYTMzNTkzLi4yZGY5ZmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC00Nzg4LDkgKzQ3
ODgsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rvckxh
eWVyVHJlZUFnZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAg
IDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3Bl
Y3Rvck1lbW9yeUFnZW50LmNwcCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgot
ICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXElu
c3BlY3Rvck92ZXJsYXkuY3BwIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAg
ICAgPC9DbENvbXBpbGU+CkBAIC0xMjMyOSw5ICsxMjMyNiw2IEBACiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaCI+CiAgICAgICA8
RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rvck1lbW9yeUFnZW50LmgiPgotICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JOb2RlRmluZGVyLmgiPgogICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4OGQwMjk3
Li5mMDhmMDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0yMjc5LDggKzIyNzksNiBAQAogCQk3QTc0RUNCQTEwMTgzOUE2MDBC
RjkzOUUgLyogSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBNzRFQ0I4MTAxODM5QTUwMEJGOTM5RSAvKiBJ
bnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwICovOyB9OwogCQk3QTc0RUNCQjEwMTgzOUE2MDBC
RjkzOUUgLyogSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTc0RUNCOTEwMTgzOUE2MDBCRjkzOUUgLyogSW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50LmggKi87IH07CiAJCTdBNzRFQ0JEMTAxODM5REEwMEJGOTM5
RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTc0RUNCQzEwMTgzOURBMDBCRjkzOUUgLyog
SlNJbnNwZWN0b3JGcm9udGVuZEhvc3RDdXN0b20uY3BwICovOyB9OwotCQk3QUE1MURENTE0ODUw
NkE5MDBBRDI3NTIgLyogSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FBNTFERDMxNDg1MDZBOTAwQUQyNzUyIC8q
IEluc3BlY3Rvck1lbW9yeUFnZW50LmNwcCAqLzsgfTsKLQkJN0FBNTFERDYxNDg1MDZBOTAwQUQy
NzUyIC8qIEluc3BlY3Rvck1lbW9yeUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QUE1MURENDE0ODUwNkE5MDBBRDI3NTIgLyogSW5zcGVjdG9y
TWVtb3J5QWdlbnQuaCAqLzsgfTsKIAkJN0FBQkEyNTkxNEJDNjEzMzAwQUE5QTExIC8qIERPTUVk
aXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QUFCQTI1NzE0QkM2MTMzMDBBQTlBMTEgLyogRE9NRWRpdG9yLmNwcCAqLzsgfTsKIAkJN0FBQkEy
NUExNEJDNjEzMzAwQUE5QTExIC8qIERPTUVkaXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FBQkEyNTgxNEJDNjEzMzAwQUE5QTExIC8qIERPTUVk
aXRvci5oICovOyB9OwogCQk3QUIwQjFDMDEyMTFBNjIyMDBBNzY5NDAgLyogSW5zcGVjdG9yRGF0
YWJhc2VBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QUIwQjFCRTEyMTFBNjIyMDBBNzY5NDAgLyogSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5j
cHAgKi87IH07CkBAIC05MjI1LDggKzkyMjMsNiBAQAogCQk3QTc0RUNCODEwMTgzOUE1MDBCRjkz
OUUgLyogSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTdBNzRFQ0I5MTAxODM5QTYwMEJGOTM5RSAvKiBJbnNwZWN0b3JE
T01TdG9yYWdlQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVj
dG9yRE9NU3RvcmFnZUFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBNzRF
Q0JDMTAxODM5REEwMEJGOTM5RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0luc3BlY3RvckZyb250ZW5k
SG9zdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdBQTUxREQzMTQ4
NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdBQTUxREQ0MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0
b3JNZW1vcnlBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0
b3JNZW1vcnlBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUFCQTI1NzE0
QkM2MTMzMDBBQTlBMTEgLyogRE9NRWRpdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IERPTUVkaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdBQUJBMjU4MTRCQzYxMzMwMEFBOUExMSAvKiBET01FZGl0b3IuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NRWRpdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTdBQjBCMUJFMTIxMUE2MjIwMEE3Njk0MCAvKiBJbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckRhdGFiYXNl
QWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ4MzUsOCArMTQ4MzEs
NiBAQAogCQkJCUE1ODQwRTFCMTg3Qjc0RDUwMDg0M0IxMCAvKiBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUuaCAqLywKIAkJCQk3MUIxRTEyMzE2NDA0OENDMDBCMTg4MEEgLyogSW5zcGVj
dG9yTGF5ZXJUcmVlQWdlbnQuY3BwICovLAogCQkJCTcxQjFFMTI0MTY0MDQ4Q0MwMEIxODgwQSAv
KiBJbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oICovLAotCQkJCTdBQTUxREQzMTQ4NTA2QTkwMEFE
Mjc1MiAvKiBJbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgKi8sCi0JCQkJN0FBNTFERDQxNDg1MDZB
OTAwQUQyNzUyIC8qIEluc3BlY3Rvck1lbW9yeUFnZW50LmggKi8sCiAJCQkJNTA0QUFDQ0IxODM0
NDU1OTAwRTNEOUJDIC8qIEluc3BlY3Rvck5vZGVGaW5kZXIuY3BwICovLAogCQkJCTUwNEFBQ0ND
MTgzNDQ1NTkwMEUzRDlCQyAvKiBJbnNwZWN0b3JOb2RlRmluZGVyLmggKi8sCiAJCQkJN0M1MjJE
NDkxNUI0NzdFODAwOUI3Qzk1IC8qIEluc3BlY3Rvck92ZXJsYXkuY3BwICovLApAQCAtMjM5MzIs
NyArMjM5MjYsNiBAQAogCQkJCTIwRDYyOTI3MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUE1ODQwRTFEMTg3Qjc0RDUwMDg0
M0IxMCAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTcxQjFFMTI1MTY0MDQ4RjcwMEIxODgwQSAvKiBJbnNwZWN0b3JMYXllclRyZWVBZ2VudC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJN0FBNTFERDYxNDg1MDZBOTAwQUQyNzUyIC8qIEluc3BlY3Rv
ck1lbW9yeUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MDRBQUNDRTE4MzQ0NTU5MDBFM0Q5
QkMgLyogSW5zcGVjdG9yTm9kZUZpbmRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEYwM0MwNzUx
ODg0ODA1NTAwQTVGOENBIC8qIEluc3BlY3Rvck92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTRGNkZERDY1MTM0MURFREQwMDFGOEVFMyAvKiBJbnNwZWN0b3JQYWdlQWdlbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjcyODgsNyArMjcyODEsNiBAQAogCQkJCTIwRDYyOTI2MTI1MzY5MEIwMDA4
MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTU4NDBFMUMxODdCNzRENTAwODQzQjEwIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3MUIxRTEyNjE2NDA0OTFBMDBCMTg4MEEgLyogSW5z
cGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJN0FBNTFERDUxNDg1
MDZBOTAwQUQyNzUyIC8qIEluc3BlY3Rvck1lbW9yeUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUwNEFBQ0NEMTgzNDQ1NTkwMEUzRDlCQyAvKiBJbnNwZWN0b3JOb2RlRmluZGVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDNTIyRDRCMTVCNDc3RTgwMDlCN0M5NSAvKiBJbnNwZWN0b3JP
dmVybGF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRGNkZERDY0MTM0MURFREQwMDFGOEVFMyAv
KiBJbnNwZWN0b3JQYWdlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAppbmRleCAwZTkxNGQzLi5kNGQxNjU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAK
QEAgLTQ4LDcgKzQ4LDYgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3Bw
IgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5jcHAiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwIgotI2luY2x1ZGUgIkluc3BlY3Rvck1lbW9y
eUFnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JOb2RlRmluZGVyLmNwcCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JPdmVybGF5LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JQYWdlQWdlbnQuY3Bw
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
CmluZGV4IGE0MmVjMTUuLjE4ZjJmYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAKICNpbmNsdWRlICJJ
bnNwZWN0b3JJbnB1dEFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaCIKLSNpbmNsdWRlICJJbnNw
ZWN0b3JNZW1vcnlBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXkuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JQYWdlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JQcm9maWxlckFn
ZW50LmgiCkBAIC0xMjksMTEgKzEyOCw3IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3Rv
ckNvbnRyb2xsZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAg
SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBkb21TdG9yYWdlQWdlbnQgPSBkb21TdG9yYWdlQWdl
bnRQdHIuZ2V0KCk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bW92ZShkb21TdG9yYWdlQWdl
bnRQdHIpKTsKIAotICAgIGF1dG8gbWVtb3J5QWdlbnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPElu
c3BlY3Rvck1lbW9yeUFnZW50PihtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCkpOwotICAgIG1f
bWVtb3J5QWdlbnQgPSBtZW1vcnlBZ2VudFB0ci5nZXQoKTsKLSAgICBtX2FnZW50cy5hcHBlbmQo
c3RkOjptb3ZlKG1lbW9yeUFnZW50UHRyKSk7Ci0KLSAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjpt
YWtlX3VuaXF1ZTxJbnNwZWN0b3JUaW1lbGluZUFnZW50PihtX2luc3RydW1lbnRpbmdBZ2VudHMu
Z2V0KCksIHBhZ2VBZ2VudCwgbV9tZW1vcnlBZ2VudCwgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6
UGFnZUluc3BlY3RvciwgaW5zcGVjdG9yQ2xpZW50KSk7CisgICAgbV9hZ2VudHMuYXBwZW5kKHN0
ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yVGltZWxpbmVBZ2VudD4obV9pbnN0cnVtZW50aW5nQWdl
bnRzLmdldCgpLCBwYWdlQWdlbnQsIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OlBhZ2VJbnNwZWN0
b3IsIGluc3BlY3RvckNsaWVudCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5p
cXVlPEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudD4obV9pbnN0cnVtZW50aW5nQWdlbnRz
LmdldCgpLCBwYWdlQWdlbnQpKTsKIAogICAgIGF1dG8gcmVzb3VyY2VBZ2VudFB0ciA9IHN0ZDo6
bWFrZV91bmlxdWU8SW5zcGVjdG9yUmVzb3VyY2VBZ2VudD4obV9pbnN0cnVtZW50aW5nQWdlbnRz
LmdldCgpLCBwYWdlQWdlbnQsIGluc3BlY3RvckNsaWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA0MDA2YjgyLi44NzIyZDY3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAg
LTU5LDcgKzU5LDYgQEAgY2xhc3MgSW5zcGVjdG9yQ2xpZW50OwogY2xhc3MgSW5zcGVjdG9yRE9N
QWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OwogY2xhc3MgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQ7Ci1jbGFzcyBJbnNwZWN0b3JNZW1vcnlBZ2VudDsKIGNsYXNzIEluc3Bl
Y3Rvck92ZXJsYXk7CiBjbGFzcyBJbnNwZWN0b3JQYWdlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JQ
cm9maWxlckFnZW50OwpAQCAtMTQ5LDcgKzE0OCw2IEBAIHByaXZhdGU6CiAgICAgSW5zcGVjdG9y
RE9NQWdlbnQqIG1fZG9tQWdlbnQ7CiAgICAgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogbV9yZXNv
dXJjZUFnZW50OwogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9wYWdlQWdlbnQ7Ci0gICAgSW5z
cGVjdG9yTWVtb3J5QWdlbnQqIG1fbWVtb3J5QWdlbnQ7CiAgICAgSW5zcGVjdG9yOjpJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50KiBtX2RlYnVnZ2VyQWdlbnQ7CiAgICAgSW5zcGVjdG9yRE9NRGVidWdn
ZXJBZ2VudCogbV9kb21EZWJ1Z2dlckFnZW50OwogICAgIEluc3BlY3RvclByb2ZpbGVyQWdlbnQq
IG1fcHJvZmlsZXJBZ2VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yTWVtb3J5QWdlbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNWVlMDFl
Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlB
Z2VudC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw5MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4K
LSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
Ci0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5o
IgotCi0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQotI2luY2x1ZGUgIkluc3BlY3Rvck1lbW9yeUFn
ZW50LmgiCi0KLSNpbmNsdWRlICJDaGFyYWN0ZXJEYXRhLmgiCi0jaW5jbHVkZSAiRG9jdW1lbnQu
aCIKLSNpbmNsdWRlICJFdmVudExpc3RlbmVyTWFwLmgiCi0jaW5jbHVkZSAiRnJhbWUuaCIKLSNp
bmNsdWRlICJJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JX
ZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCi0jaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5o
IgotI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCi0jaW5jbHVkZSAiTm9kZS5oIgotI2luY2x1ZGUg
Ik5vZGVUcmF2ZXJzYWwuaCIKLSNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5oIgotI2luY2x1ZGUg
IlN0eWxlZEVsZW1lbnQuaCIKLSNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmg+
Ci0jaW5jbHVkZSA8cnVudGltZS9BcnJheUJ1ZmZlclZpZXcuaD4KLSNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdCdWlsZGVyLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgotI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi0vLyBVc2UgYSB0eXBlIGFsaWFzIGluc3RlYWQgb2Yg
J3VzaW5nJyBoZXJlIHdoaWNoIHdvdWxkIGNhdXNlIGEgY29uZmxpY3Qgb24gTWFjLgotdHlwZWRl
ZiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpNZW1vcnk6Ok1lbW9yeUJsb2NrIEluc3BlY3Rvck1l
bW9yeUJsb2NrOwotdHlwZWRlZiBJbnNwZWN0b3I6OlR5cGVCdWlsZGVyOjpBcnJheTxJbnNwZWN0
b3JNZW1vcnlCbG9jaz4gSW5zcGVjdG9yTWVtb3J5QmxvY2tzOwotCi11c2luZyBuYW1lc3BhY2Ug
SW5zcGVjdG9yOwotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUluc3BlY3Rvck1lbW9yeUFnZW50
Ojp+SW5zcGVjdG9yTWVtb3J5QWdlbnQoKQotewotfQotCi12b2lkIEluc3BlY3Rvck1lbW9yeUFn
ZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpJbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWwqLCBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciogYmFja2VuZERpc3BhdGNo
ZXIpCi17Ci0gICAgbV9iYWNrZW5kRGlzcGF0Y2hlciA9IEluc3BlY3Rvck1lbW9yeUJhY2tlbmRE
aXNwYXRjaGVyOjpjcmVhdGUoYmFja2VuZERpc3BhdGNoZXIsIHRoaXMpOwotfQotCi12b2lkIElu
c3BlY3Rvck1lbW9yeUFnZW50Ojp3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0
b3JEaXNjb25uZWN0UmVhc29uKQotewotICAgIG1fYmFja2VuZERpc3BhdGNoZXIuY2xlYXIoKTsK
LX0KLQotdm9pZCBJbnNwZWN0b3JNZW1vcnlBZ2VudDo6Z2V0RE9NQ291bnRlcnMoRXJyb3JTdHJp
bmcqLCBpbnQqIGRvY3VtZW50cywgaW50KiBub2RlcywgaW50KiBqc0V2ZW50TGlzdGVuZXJzKQot
ewotICAgICpkb2N1bWVudHMgPSBJbnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlKEluc3Bl
Y3RvckNvdW50ZXJzOjpEb2N1bWVudENvdW50ZXIpOwotICAgICpub2RlcyA9IEluc3BlY3RvckNv
dW50ZXJzOjpjb3VudGVyVmFsdWUoSW5zcGVjdG9yQ291bnRlcnM6Ok5vZGVDb3VudGVyKTsKLSAg
ICAqanNFdmVudExpc3RlbmVycyA9IFRocmVhZExvY2FsSW5zcGVjdG9yQ291bnRlcnM6OmN1cnJl
bnQoKS5jb3VudGVyVmFsdWUoVGhyZWFkTG9jYWxJbnNwZWN0b3JDb3VudGVyczo6SlNFdmVudExp
c3RlbmVyQ291bnRlcik7Ci19Ci0KLUluc3BlY3Rvck1lbW9yeUFnZW50OjpJbnNwZWN0b3JNZW1v
cnlBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzKQotICAgIDog
SW5zcGVjdG9yQWdlbnRCYXNlKEFTQ0lJTGl0ZXJhbCgiTWVtb3J5IiksIGluc3RydW1lbnRpbmdB
Z2VudHMpCi17Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJM
RShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yTWVtb3J5QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1v
cnlBZ2VudC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiM2NkMmZmLi4wMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5oCisr
KyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
Ci0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgSW5zcGVjdG9yTWVtb3J5QWdlbnRf
aAotI2RlZmluZSBJbnNwZWN0b3JNZW1vcnlBZ2VudF9oCi0KLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotCi0jaW5jbHVkZSAiSW5zcGVjdG9yV2ViQWdlbnRCYXNlLmgiCi0jaW5jbHVkZSAiSW5zcGVj
dG9yV2ViQmFja2VuZERpc3BhdGNoZXJzLmgiCi0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudDsKLWNs
YXNzIEluc3RydW1lbnRpbmdBZ2VudHM7Ci0KLXR5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOwot
Ci1jbGFzcyBJbnNwZWN0b3JNZW1vcnlBZ2VudCA6IHB1YmxpYyBJbnNwZWN0b3JBZ2VudEJhc2Us
IHB1YmxpYyBJbnNwZWN0b3I6Okluc3BlY3Rvck1lbW9yeUJhY2tlbmREaXNwYXRjaGVySGFuZGxl
ciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yTWVtb3J5QWdlbnQpOwotcHVi
bGljOgotICAgIGV4cGxpY2l0IEluc3BlY3Rvck1lbW9yeUFnZW50KEluc3RydW1lbnRpbmdBZ2Vu
dHMqKTsKLSAgICB2aXJ0dWFsIH5JbnNwZWN0b3JNZW1vcnlBZ2VudCgpOwotCi0gICAgdmlydHVh
bCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckZy
b250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIqKSBv
dmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQo
SW5zcGVjdG9yOjpJbnNwZWN0b3JEaXNjb25uZWN0UmVhc29uKSBvdmVycmlkZTsKLQotICAgIHZp
cnR1YWwgdm9pZCBnZXRET01Db3VudGVycyhFcnJvclN0cmluZyosIGludCogZG9jdW1lbnRzLCBp
bnQqIG5vZGVzLCBpbnQqIGpzRXZlbnRMaXN0ZW5lcnMpIG92ZXJyaWRlOwotCi1wcml2YXRlOgot
ICAgIFJlZlB0cjxJbnNwZWN0b3I6Okluc3BlY3Rvck1lbW9yeUJhY2tlbmREaXNwYXRjaGVyPiBt
X2JhY2tlbmREaXNwYXRjaGVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5k
aWYgLy8gIUVOQUJMRShJTlNQRUNUT1IpCi0jZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yTWVt
b3J5QWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcAppbmRleCA0YTBjZWZiLi43N2JhZGU3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC00MCw3
ICs0MCw2IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yQ291bnRlcnMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKLSNp
bmNsdWRlICJJbnNwZWN0b3JNZW1vcnlBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VB
Z2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvcldlYkZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKICNp
bmNsdWRlICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCkBAIC02MjAsMTAgKzYxOSw5IEBAIHZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5l
UmVjb3JkVHlwZSB0eXBlKQogICAgIH0KIH0KIAotSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzLCBJbnNwZWN0b3JQYWdlQWdlbnQqIHBhZ2VBZ2VudCwgSW5zcGVjdG9yTWVtb3J5QWdlbnQq
IG1lbW9yeUFnZW50LCBJbnNwZWN0b3JUeXBlIHR5cGUsIEluc3BlY3RvckNsaWVudCogY2xpZW50
KQorSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JQYWdlQWdlbnQqIHBh
Z2VBZ2VudCwgSW5zcGVjdG9yVHlwZSB0eXBlLCBJbnNwZWN0b3JDbGllbnQqIGNsaWVudCkKICAg
ICA6IEluc3BlY3RvckFnZW50QmFzZShBU0NJSUxpdGVyYWwoIlRpbWVsaW5lIiksIGluc3RydW1l
bnRpbmdBZ2VudHMpCiAgICAgLCBtX3BhZ2VBZ2VudChwYWdlQWdlbnQpCi0gICAgLCBtX21lbW9y
eUFnZW50KG1lbW9yeUFnZW50KQogICAgICwgbV9pZCgxKQogICAgICwgbV9tYXhDYWxsU3RhY2tE
ZXB0aCg1KQogICAgICwgbV9pbnNwZWN0b3JUeXBlKHR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCAwMGNhNmFlLi42OTQ1
NTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmgKQEAgLTQ3LDcgKzQ3LDYgQEAgY2xhc3MgRXZlbnQ7CiBjbGFzcyBGbG9hdFF1YWQ7
CiBjbGFzcyBGcmFtZTsKIGNsYXNzIEluc3BlY3RvckNsaWVudDsKLWNsYXNzIEluc3BlY3Rvck1l
bW9yeUFnZW50OwogY2xhc3MgSW5zcGVjdG9yUGFnZUFnZW50OwogY2xhc3MgSW5zdHJ1bWVudGlu
Z0FnZW50czsKIGNsYXNzIEludFJlY3Q7CkBAIC0xMjcsNyArMTI2LDcgQEAgY2xhc3MgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudAogcHVibGljOgogICAgIGVudW0gSW5zcGVjdG9yVHlwZSB7IFBhZ2VJ
bnNwZWN0b3IsIFdvcmtlckluc3BlY3RvciB9OwogCi0gICAgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yUGFnZUFnZW50KiwgSW5zcGVjdG9yTWVt
b3J5QWdlbnQqLCBJbnNwZWN0b3JUeXBlLCBJbnNwZWN0b3JDbGllbnQqKTsKKyAgICBJbnNwZWN0
b3JUaW1lbGluZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JQYWdlQWdlbnQq
LCBJbnNwZWN0b3JUeXBlLCBJbnNwZWN0b3JDbGllbnQqKTsKICAgICB+SW5zcGVjdG9yVGltZWxp
bmVBZ2VudCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2Vu
ZChJbnNwZWN0b3I6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6SW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKQEAgLTI0OSw3ICsyNDgsNiBAQCBwcml2
YXRlOgogICAgIFBhZ2UqIHBhZ2UoKTsKIAogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9wYWdl
QWdlbnQ7Ci0gICAgSW5zcGVjdG9yTWVtb3J5QWdlbnQqIG1fbWVtb3J5QWdlbnQ7CiAgICAgVGlt
ZWxpbmVUaW1lQ29udmVydGVyIG1fdGltZUNvbnZlcnRlcjsKIAogICAgIHN0ZDo6dW5pcXVlX3B0
cjxJbnNwZWN0b3I6Okluc3BlY3RvclRpbWVsaW5lRnJvbnRlbmREaXNwYXRjaGVyPiBtX2Zyb250
ZW5kRGlzcGF0Y2hlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA5NmQ1OGEyLi5kMGU4ZjJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCkBAIC05OCw3ICs5OCw3IEBAIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6Oldvcmtl
ckluc3BlY3RvckNvbnRyb2xsZXIoV29ya2VyR2xvYmFsU2NvcGUmIHdvcmtlckdsCiAKICAgICBt
X2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVu
dGluZ0FnZW50cy5nZXQoKSwgY29uc29sZUFnZW50LmdldCgpLCAmd29ya2VyR2xvYmFsU2NvcGUs
IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmdldCgpKSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0
ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9ySGVhcFByb2ZpbGVyQWdlbnQ+KG1faW5zdHJ1bWVudGlu
Z0FnZW50cy5nZXQoKSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKTsKLSAgICBtX2Fn
ZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JUaW1lbGluZUFnZW50PihtX2lu
c3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG51bGxwdHIsIG51bGxwdHIsIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6Oldvcmtlckluc3BlY3RvciwgbnVsbHB0cikpOworICAgIG1fYWdlbnRzLmFwcGVu
ZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvclRpbWVsaW5lQWdlbnQ+KG1faW5zdHJ1bWVudGlu
Z0FnZW50cy5nZXQoKSwgbnVsbHB0ciwgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6V29ya2VySW5z
cGVjdG9yLCBudWxscHRyKSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bW92ZShjb25zb2xl
QWdlbnQpKTsKIAogICAgIGlmIChDb21tYW5kTGluZUFQSUhvc3QqIGNvbW1hbmRMaW5lQVBJSG9z
dCA9IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5jb21tYW5kTGluZUFQSUhvc3QoKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL01lbW9yeS5qc29uIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL01lbW9yeS5qc29uCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0MDc3ZTgzLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9wcm90b2NvbC9NZW1vcnkuanNvbgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICsw
LDAgQEAKLXsKLSAgICAiZG9tYWluIjogIk1lbW9yeSIsCi0gICAgInR5cGVzIjogWwotICAgICAg
ICB7Ci0gICAgICAgICAgICAiaWQiOiAiTWVtb3J5QmxvY2siLAotICAgICAgICAgICAgInR5cGUi
OiAib2JqZWN0IiwKLSAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWwotICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAic2l6ZSIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IHRydWUsICJk
ZXNjcmlwdGlvbiI6ICJTaXplIG9mIHRoZSBibG9jayBpbiBieXRlcyBpZiBhdmFpbGFibGUiIH0s
Ci0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJuYW1lIiwgInR5cGUiOiAic3RyaW5nIiwgImRl
c2NyaXB0aW9uIjogIlVuaXF1ZSBuYW1lIHVzZWQgdG8gaWRlbnRpZnkgdGhlIGNvbXBvbmVudCB0
aGF0IGFsbG9jYXRlZCB0aGlzIGJsb2NrIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
Y2hpbGRyZW4iLCAidHlwZSI6ICJhcnJheSIsICJvcHRpb25hbCI6IHRydWUsICJpdGVtcyI6IHsg
IiRyZWYiOiAiTWVtb3J5QmxvY2siIH19Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0KLSAgICBd
LAotICAgICJjb21tYW5kcyI6IFsKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiZ2V0
RE9NQ291bnRlcnMiLAotICAgICAgICAgICAgInJldHVybnMiOiBbCi0gICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJkb2N1bWVudHMiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAotICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAibm9kZXMiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAotICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAianNFdmVudExpc3RlbmVycyIsICJ0eXBlIjogImludGVnZXIiIH0KLSAg
ICAgICAgICAgIF0KLSAgICAgICAgfQotICAgIF0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmlu
ZGV4IDg0Njg1NjMuLjAxMjI1M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEyIEBACisyMDE0LTAyLTI0ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBQcnVuZSBkZWFkIGNvZGUgZm9yIFdlYiBJbnNwZWN0b3IgbWVtb3J5IGluc3RydW1l
bnRhdGlvbi4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyOTI4Nj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
UHJvdG9jb2wvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzOgorCiAyMDE0LTAyLTI0ICBU
aW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBHaXZlIG5vbi1N
YWMgcGxhdGZvcm1zIGEgZGVmYXVsdCB0b29sYmFyIGJhY2tncm91bmQgc28gaXQgaXNuJ3QganVz
dCB3aGl0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1Byb3RvY29sL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5k
cy5qcwppbmRleCA3MzQ5Y2Q1Li5kZjkzNTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5z
cGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzCkBAIC0xODMsMTAgKzE4Myw2IEBAIEluc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJMYXllclRyZWUuZGlzYWJsZSIsIFtdLCBbXSk7CiBJ
bnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTGF5ZXJUcmVlLmxheWVyc0Zvck5vZGUi
LCBbeyJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNl
fV0sIFsibGF5ZXJzIl0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkxheWVy
VHJlZS5yZWFzb25zRm9yQ29tcG9zaXRpbmdMYXllciIsIFt7Im5hbWUiOiAibGF5ZXJJZCIsICJ0
eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFsiY29tcG9zaXRpbmdSZWFzb25z
Il0pOwogCi0vLyBNZW1vcnkuCi1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyTWVtb3J5RGlzcGF0
Y2hlciA9IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5z
cGVjdG9yQmFja2VuZCwgIk1lbW9yeSIpOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1h
bmQoIk1lbW9yeS5nZXRET01Db3VudGVycyIsIFtdLCBbImRvY3VtZW50cyIsICJub2RlcyIsICJq
c0V2ZW50TGlzdGVuZXJzIl0pOwotCiAvLyBOZXR3b3JrLgogSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3Rlck5ldHdvcmtEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRp
c3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiTmV0d29yayIpOwogSW5zcGVjdG9yQmFj
a2VuZC5yZWdpc3RlckVudW0oIk5ldHdvcmsuSW5pdGlhdG9yVHlwZSIsIHtQYXJzZXI6ICJwYXJz
ZXIiLCBTY3JpcHQ6ICJzY3JpcHQiLCBPdGhlcjogIm90aGVyIn0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>