<?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>158723</bug_id>
          
          <creation_ts>2016-06-13 20:03:21 -0700</creation_ts>
          <short_desc>Add system tracing points for requestAnimationFrame() workflow</short_desc>
          <delta_ts>2016-06-21 15:30:13 -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>Animations</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1202067</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-06-13 20:03:21 -0700</bug_when>
    <thetext>We need to measure how long each step takes and identify the perf issues especially for iOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202397</commentid>
    <comment_count>1</comment_count>
      <attachid>281302</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-06-14 17:37:38 -0700</bug_when>
    <thetext>Created attachment 281302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202405</commentid>
    <comment_count>2</comment_count>
      <attachid>281302</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-06-14 17:42:34 -0700</bug_when>
    <thetext>Comment on attachment 281302
Patch

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

Too much logging left in this patch!

&gt; Source/WebCore/dom/ScriptedAnimationController.cpp:147
&gt; +    WTFLogAlways(&quot;ScriptedAnimationController::serviceScriptedAnimations at %f&quot;, monotonicTimeNow);

You don&apos;t want to commit this logging.

&gt; Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp:95
&gt; +    WTFLogAlways(&quot;DisplayRefreshMonitor::displayDidRefresh()&quot;);

No logging here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202430</commentid>
    <comment_count>3</comment_count>
      <attachid>281309</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-06-14 18:36:39 -0700</bug_when>
    <thetext>Created attachment 281309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202581</commentid>
    <comment_count>4</comment_count>
      <attachid>281309</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-06-15 09:13:58 -0700</bug_when>
    <thetext>Comment on attachment 281309
Patch

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

&gt; Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:41
&gt;  

No blank line here.

&gt; Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:396
&gt; +    TraceScope(RAFUIDidRefreshDisplayStart, RAFUIDidRefreshDisplayEnd);

Odd that you don&apos;t name the variable here.

&gt; Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:429
&gt; +            TraceScope tracingScope(RAFWK2LayerFlushStart, RAFWK2LayerFlushEnd);

This one...

&gt; Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:494
&gt; +    TraceScope tracingScope(RAFWK2BackingStoreFlushStart, RAFWK2BackingStoreFlushEnd);

... and this basically track the same scope. You should remove one of them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1202840</commentid>
    <comment_count>5</comment_count>
      <attachid>281431</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-06-15 20:08:16 -0700</bug_when>
    <thetext>Created attachment 281431
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204275</commentid>
    <comment_count>6</comment_count>
      <attachid>281309</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-06-21 14:00:31 -0700</bug_when>
    <thetext>Comment on attachment 281309
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:41
&gt;&gt;  
&gt; 
&gt; No blank line here.

The blank line is removed.

&gt;&gt; Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:396
&gt;&gt; +    TraceScope(RAFUIDidRefreshDisplayStart, RAFUIDidRefreshDisplayEnd);
&gt; 
&gt; Odd that you don&apos;t name the variable here.

A variable is added to keep the scope till the end of the function.

&gt;&gt; Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:429
&gt;&gt; +            TraceScope tracingScope(RAFWK2LayerFlushStart, RAFWK2LayerFlushEnd);
&gt; 
&gt; This one...

This trace point was removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204276</commentid>
    <comment_count>7</comment_count>
      <attachid>281772</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-06-21 14:03:17 -0700</bug_when>
    <thetext>Created attachment 281772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204286</commentid>
    <comment_count>8</comment_count>
      <attachid>281772</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-06-21 14:33:06 -0700</bug_when>
    <thetext>Comment on attachment 281772
Patch

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

&gt; Source/WTF/wtf/SystemTracing.h:82
&gt; +inline void WTFTraceCodeRecord(TracePointCode code)

I don&apos;t think this needs the WTF prefix, since it&apos;s in the WTF namespace.

Let&apos;s call it TracePoint().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204287</commentid>
    <comment_count>9</comment_count>
      <attachid>281775</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-06-21 14:40:14 -0700</bug_when>
    <thetext>Created attachment 281775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204327</commentid>
    <comment_count>10</comment_count>
      <attachid>281775</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-21 15:30:07 -0700</bug_when>
    <thetext>Comment on attachment 281775
Patch

Clearing flags on attachment: 281775

Committed r202297: &lt;http://trac.webkit.org/changeset/202297&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204328</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-21 15:30:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281302</attachid>
            <date>2016-06-14 17:37:38 -0700</date>
            <delta_ts>2016-06-14 18:36:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158723-20160614173915.patch</filename>
            <type>text/plain</type>
            <size>23242</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5NTNiZGVlZDc4ZWZlNjdkY2IzN2E1
Yjc0N2E1ZTRiZTUzZDM4NDEuLmIxZDE3ZWU3NDcyNTE1NzA5NTVlYWQwOTQ5MzQ5Y2QxZjQyZDk1
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTYtMDYtMTQgIFNhaWQgQWJvdS1IYWxsYXdhICA8
c2Fib3VoYWxsYXdhQGFwcGxlLGNvbT4KKworICAgICAgICBBZGQgc3lzdGVtIHRyYWNpbmcgcG9p
bnRzIGZvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSB3b3JrZmxvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzIzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGVmaW5lIG5ldyB0cmFjZSBzY29yZSBj
b2RlcyBmb3IgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkuCisgICAgICAgICAKKyAgICAgICAgKiB3
dGYvU3lzdGVtVHJhY2luZy5oOgorICAgICAgICAoV1RGOjpUcmFjZVNjb3BlOjpUcmFjZVNjb3Bl
KToKKyAgICAgICAgKFdURjo6VHJhY2VTY29wZTo6flRyYWNlU2NvcGUpOgorICAgICAgICAoV1RG
OjpUcmFjZVNjb3BlOjp0cmFjZUNvZGVSZWNvcmQpOgorCiAyMDE2LTA2LTAzICBNYXJrIExhbSAg
PG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBob3cgU3RhY2tWaXNpdG9y
IGR1bXBzIGl0cyBmcmFtZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNmMmE0ZTliZWMyOTY4MDhhMDliMjI1
ZWMzOWY1ZDgzNzc3ZmY0OC4uZTBhMGY2ZTdhZTljYjFlZjI5ZGNkOTc1OThlOTYyNTQ5ZTNiNmYw
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE2LTA2LTE0ICBTYWlkIEFib3UtSGFs
bGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZSxjb20+CisKKyAgICAgICAgQWRkIHN5c3RlbSB0cmFj
aW5nIHBvaW50cyBmb3IgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkgd29ya2Zsb3cKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODcyMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0cmFjZSBwb2ludHMg
Zm9yIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpLgorCisgICAgICAgICogZG9tL1NjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlv
bkNvbnRyb2xsZXI6OnJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzZXJ2aWNlU2NyaXB0ZWRBbmltYXRp
b25zKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6d2lu
ZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlcjo6c2NoZWR1bGVBbmltYXRpb24pOgorICAgICAgICAqIGRvbS9TY3JpcHRlZEFu
aW1hdGlvbkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5
UmVmcmVzaE1vbml0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25p
dG9yOjpkaXNwbGF5RGlkUmVmcmVzaCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaW9z
L0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlS
ZWZyZXNoTW9uaXRvcklPUzo6cmVxdWVzdFJlZnJlc2hDYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1M6OmRpc3BsYXlMaW5rRmlyZWQpOgorCiAyMDE2
LTA2LTAzICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXNv
dXJjZVJlc3BvbnNlQmFzZSBjbGVhbnVwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGVhZmQyMzRjZGZkMjkyZTZk
YWJkN2QyZDJhNWUzZTNkZGY3NjQ4OTMuLjE1Y2I3MGQzMTEzMTIwNzRjNmIyMzc3ZjZiYTMwN2Qy
YTI3ZTJlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxNi0wNi0xNCAgU2FpZCBB
Ym91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUsY29tPgorCisgICAgICAgIEFkZCBzeXN0
ZW0gdHJhY2luZyBwb2ludHMgZm9yIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpIHdvcmtmbG93Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg3MjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdHJhY2Ug
cG9pbnRzIGZvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbToKKyAgICAgICAgKC1bV0tP
bmVTaG90RGlzcGxheUxpbmtIYW5kbGVyIGRpc3BsYXlMaW5rRmlyZWQ6XSk6CisgICAgICAgICgt
W1dLT25lU2hvdERpc3BsYXlMaW5rSGFuZGxlciBzY2hlZHVsZV0pOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpkaWRSZWZyZXNo
RGlzcGxheSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1JlbW90ZUxheWVy
VHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5
ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yOjpyZXF1ZXN0UmVmcmVzaENhbGxiYWNrKToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yOjpkaWRV
cGRhdGVMYXllcnMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkRmx1c2hMYXllclRyZWVBdFRpbWUpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5tbToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6YnVpbGRUcmFuc2FjdGlv
bik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6
OmZsdXNoTGF5ZXJzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWE6OmRpZFVwZGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhOjpCYWNraW5nU3RvcmVGbHVzaGVyOjpmbHVzaCk6CisKIDIwMTYtMDYtMDMgIENzYWJhIE9z
enRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggdGhlICFFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRSkgYnVpbGQgYWZ0ZXIgcjIwMTU3NQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvU3lzdGVtVHJhY2luZy5oIGIvU291cmNlL1dURi93dGYvU3lzdGVtVHJhY2luZy5o
CmluZGV4IDY1NDYyNjg0NWYxMGVjM2Q5NTIzMGI3ZmRhMWY1YTQwYzlkMGVjNTMuLjIxMDZlNTQ1
ODkwNTIxZjQ2OGQwODc1NGJmNzQ2MjI3NmQxZDEyMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1N5c3RlbVRyYWNpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TeXN0ZW1UcmFjaW5nLmgK
QEAgLTU1LDYgKzU1LDIyIEBAIGVudW0gVHJhY2VQb2ludENvZGUgewogCiAgICAgV2ViS2l0UmFu
Z2UgPSAxMDAwMCwKICAgICBXZWJLaXQyUmFuZ2UgPSAxMjAwMCwKKyAgICAKKyAgICBSQUZXSzJM
YXllckZsdXNoU3RhcnQsCisgICAgUkFGV0syTGF5ZXJGbHVzaEVuZCwKKyAgICBSQUZXSzJEaWRV
cGRhdGVTdGFydCwKKyAgICBSQUZXSzJEaWRVcGRhdGVFbmQsCisgICAgUkFGV0syQmFja2luZ1N0
b3JlRmx1c2hTdGFydCwKKyAgICBSQUZXSzJCYWNraW5nU3RvcmVGbHVzaEVuZCwKKyAgICBSQUZX
SzJCdWlsZFRyYW5zYWN0aW9uU3RhcnQsCisgICAgUkFGV0syQnVpbGRUcmFuc2FjdGlvbkVuZCwK
KworICAgIFVJUHJvY2Vzc1JhbmdlID0gMTQwMDAsCisgICAgCisgICAgUkFGVUlDb21taXRMYXll
clRyZWVTdGFydCwKKyAgICBSQUZVSUNvbW1pdExheWVyVHJlZUVuZCwKKyAgICBSQUZVSURpZFJl
ZnJlc2hEaXNwbGF5U3RhcnQsCisgICAgUkFGVUlEaWRSZWZyZXNoRGlzcGxheUVuZCwKIH07CiAK
ICNpZmRlZiBfX2NwbHVzcGx1cwpAQCAtNjQsMjkgKzgwLDI4IEBAIG5hbWVzcGFjZSBXVEYgewog
Y2xhc3MgVHJhY2VTY29wZSB7CiBwdWJsaWM6CiAKLSNpZiBIQVZFKEtERUJVR19IKQogICAgIFRy
YWNlU2NvcGUoVHJhY2VQb2ludENvZGUgZW50cnlDb2RlLCBUcmFjZVBvaW50Q29kZSBleGl0Q29k
ZSkKICAgICAgICAgOiBtX2V4aXRDb2RlKGV4aXRDb2RlKQogICAgIHsKLSAgICAgICAga2RlYnVn
X3RyYWNlKEFSSUFETkVEQkdfQ09ERShXRUJLSVRfQ09NUE9ORU5ULCBlbnRyeUNvZGUpLCAwLCAw
LCAwLCAwKTsKKyAgICAgICAgdHJhY2VDb2RlUmVjb3JkKGVudHJ5Q29kZSk7CiAgICAgfQotI2Vs
c2UKLSAgICBUcmFjZVNjb3BlKFRyYWNlUG9pbnRDb2RlLCBUcmFjZVBvaW50Q29kZSkKKworICAg
IH5UcmFjZVNjb3BlKCkKICAgICB7CisgICAgICAgIHRyYWNlQ29kZVJlY29yZChtX2V4aXRDb2Rl
KTsKICAgICB9Ci0jZW5kaWYKLSAgICAKLSAgICB+VHJhY2VTY29wZSgpCisKK3ByaXZhdGU6Cisg
ICAgaW5saW5lIHZvaWQgdHJhY2VDb2RlUmVjb3JkKFRyYWNlUG9pbnRDb2RlIGNvZGUpCiAgICAg
ewogI2lmIEhBVkUoS0RFQlVHX0gpCi0gICAgICAgIGtkZWJ1Z190cmFjZShBUklBRE5FREJHX0NP
REUoV0VCS0lUX0NPTVBPTkVOVCwgbV9leGl0Q29kZSksIDAsIDAsIDAsIDApOworICAgICAgICBr
ZGVidWdfdHJhY2UoQVJJQURORURCR19DT0RFKFdFQktJVF9DT01QT05FTlQsIGNvZGUpLCAwLCAw
LCAwLCAwKTsKKyNlbHNlCisgICAgICAgIFVOVVNFRF9QQVJBTShjb2RlKTsKICNlbmRpZgogICAg
IH0KIAotcHJpdmF0ZToKLSNpZiBIQVZFKEtERUJVR19IKQogICAgIFRyYWNlUG9pbnRDb2RlIG1f
ZXhpdENvZGU7Ci0jZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRleCBmZDdk
Y2NlNGU1ZjMwYmE2NWEyOTExY2I3YTllNzZkMjYwNzg2MGE5Li5lNjI5NjNmNjc0NDQ0MDc2NTIy
MGIxZDFlYmRlYmJjZTQxMjRjNzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2lmIFVTRShS
RVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUikKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL1N5c3RlbVRyYWNpbmcuaD4K
IAogLy8gQWxsb3cgYSBsaXR0bGUgbW9yZSB0aGFuIDYwZnBzIHRvIG1ha2Ugc3VyZSB3ZSBjYW4g
YXQgbGVhc3QgaGl0IHRoYXQgZnJhbWUgcmF0ZS4KICNkZWZpbmUgTWluaW11bUFuaW1hdGlvbklu
dGVydmFsIDAuMDE1CkBAIC02NCw2ICs2NSwxMSBAQCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXI6On5TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIoKQogewogfQogCitib29sIFNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlcjo6cmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fZG9jdW1lbnQgJiYgKCFtX2RvY3VtZW50LT5zZXR0aW5ncygpIHx8
IG1fZG9jdW1lbnQtPnNldHRpbmdzKCktPnJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQoKSk7
Cit9CisKIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzdXNwZW5kKCkKIHsKICAg
ICArK21fc3VzcGVuZENvdW50OwpAQCAtMTM1LDkgKzE0MSwxMSBAQCB2b2lkIFNjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlcjo6Y2FuY2VsQ2FsbGJhY2soQ2FsbGJhY2tJZCBpZCkKIAogdm9pZCBT
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNlcnZpY2VTY3JpcHRlZEFuaW1hdGlvbnMoZG91
YmxlIG1vbm90b25pY1RpbWVOb3cpCiB7Ci0gICAgaWYgKCFtX2NhbGxiYWNrcy5zaXplKCkgfHwg
bV9zdXNwZW5kQ291bnQgfHwgKG1fZG9jdW1lbnQtPnNldHRpbmdzKCkgJiYgIW1fZG9jdW1lbnQt
PnNldHRpbmdzKCktPnJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQoKSkpCisgICAgaWYgKCFt
X2NhbGxiYWNrcy5zaXplKCkgfHwgbV9zdXNwZW5kQ291bnQgfHwgIXJlcXVlc3RBbmltYXRpb25G
cmFtZUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgV1RGTG9nQWx3YXlzKCJTY3Jp
cHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNlcnZpY2VTY3JpcHRlZEFuaW1hdGlvbnMgYXQgJWYi
LCBtb25vdG9uaWNUaW1lTm93KTsKKwogICAgIGRvdWJsZSBoaWdoUmVzTm93TXMgPSAxMDAwLjAg
KiBtX2RvY3VtZW50LT5sb2FkZXIoKS0+dGltaW5nKCkubW9ub3RvbmljVGltZVRvWmVyb0Jhc2Vk
RG9jdW1lbnRUaW1lKG1vbm90b25pY1RpbWVOb3cpOwogICAgIGRvdWJsZSBsZWdhY3lIaWdoUmVz
Tm93TXMgPSAxMDAwLjAgKiBtX2RvY3VtZW50LT5sb2FkZXIoKS0+dGltaW5nKCkubW9ub3Rvbmlj
VGltZVRvUHNldWRvV2FsbFRpbWUobW9ub3RvbmljVGltZU5vdyk7CiAKQEAgLTE3NSw3ICsxODMs
NyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6c2VydmljZVNjcmlwdGVkQW5p
bWF0aW9ucyhkb3VibGUgbW9ub3RvbmljVGltZQogCiB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29u
dHJvbGxlcjo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJ
RCkKIHsKLSAgICBpZiAobV9kb2N1bWVudC0+c2V0dGluZ3MoKSAmJiAhbV9kb2N1bWVudC0+c2V0
dGluZ3MoKS0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpKQorICAgIGlmICghcmVxdWVz
dEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAjaWYgVVNFKFJFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICBEaXNwbGF5UmVmcmVzaE1v
bml0b3JNYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkud2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3Bs
YXlJRCwgKnRoaXMpOwpAQCAtMTg2LDcgKzE5NCw3IEBAIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25D
b250cm9sbGVyOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxh
CiAKIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbigp
CiB7Ci0gICAgaWYgKCFtX2RvY3VtZW50IHx8IChtX2RvY3VtZW50LT5zZXR0aW5ncygpICYmICFt
X2RvY3VtZW50LT5zZXR0aW5ncygpLT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKCkpKQor
ICAgIGlmICghcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47
CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfVElNRVIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmgKaW5kZXggNDNiZTg4ZTY0
NmJmYjA5MzgxMzI5NWNhYzU5ZTdkZGYwYjQ1Y2E1Yi4uY2U5M2I2Yzg1MmFiMjQwMzkwMDJjM2Uy
Yzg2NDc1ZmZkM2UzNWQ3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFu
aW1hdGlvbkNvbnRyb2xsZXIuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6CiAgICAgfQogICAg
IH5TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIoKTsKICAgICB2b2lkIGNsZWFyRG9jdW1lbnRQ
b2ludGVyKCkgeyBtX2RvY3VtZW50ID0gbnVsbHB0cjsgfQorICAgIGJvb2wgcmVxdWVzdEFuaW1h
dGlvbkZyYW1lRW5hYmxlZCgpIGNvbnN0OwogCiAgICAgdHlwZWRlZiBpbnQgQ2FsbGJhY2tJZDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJl
ZnJlc2hNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3Bs
YXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXggZDlhNjIyNjBjMzA5ZTIzMjUwNTRhYjI5YjEwYjU5
YWNhODllNzk5OS4uZDY3ZGFkZWJiN2ZmN2JjODUyNmNhODY0YmIwNjRjYWU0YmZiYzFiOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hN
b25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5
UmVmcmVzaE1vbml0b3IuY3BwCkBAIC0zNyw2ICszNyw4IEBACiAjaW5jbHVkZSAiRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFjLmgiCiAjZW5kaWYKIAorI2luY2x1ZGUgPHd0Zi9TeXN0ZW1UcmFjaW5n
Lmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUmVmUHRyPERpc3BsYXlSZWZyZXNoTW9uaXRv
cj4gRGlzcGxheVJlZnJlc2hNb25pdG9yOjpjcmVhdGVEZWZhdWx0RGlzcGxheVJlZnJlc2hNb25p
dG9yKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKQEAgLTkwLDYgKzkyLDggQEAgYm9vbCBE
aXNwbGF5UmVmcmVzaE1vbml0b3I6OnJlbW92ZUNsaWVudChEaXNwbGF5UmVmcmVzaE1vbml0b3JD
bGllbnQmIGNsaWVudCkKIAogdm9pZCBEaXNwbGF5UmVmcmVzaE1vbml0b3I6OmRpc3BsYXlEaWRS
ZWZyZXNoKCkKIHsKKyAgICBXVEZMb2dBbHdheXMoIkRpc3BsYXlSZWZyZXNoTW9uaXRvcjo6ZGlz
cGxheURpZFJlZnJlc2goKSIpOworCiAgICAgZG91YmxlIG1vbm90b25pY0FuaW1hdGlvblN0YXJ0
VGltZTsKIAogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tCmluZGV4IGU4ZTI3
NWI0ZDA4Yzk2ZDZkNmQzNDM1ODg0YTBiNGQyY2RlNjJlZDAuLjk1MTc3NTI5ZDE3ZGI1N2M0NjRj
MDU2OGE2NzEwMDZiZmY3YWUyMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5tbQpA
QCAtMzIsNiArMzIsNyBAQAogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CiAjaW1w
b3J0IDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW1w
b3J0IDx3dGYvU3lzdGVtVHJhY2luZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApA
QCAtOTcsNiArOTgsOCBAQCBib29sIERpc3BsYXlSZWZyZXNoTW9uaXRvcklPUzo6cmVxdWVzdFJl
ZnJlc2hDYWxsYmFjaygpCiAgICAgaWYgKCFpc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKKyAgICBXVEZMb2dBbHdheXMoIkRpc3BsYXlSZWZyZXNoTW9uaXRvcklPUzo6cmVxdWVz
dFJlZnJlc2hDYWxsYmFjaygpIC0tIEpTIHJlcXVlc3RlZCBjYWxsYmFjayIpOworCiAgICAgaWYg
KCFtX2hhbmRsZXIpIHsKICAgICAgICAgbV9oYW5kbGVyID0gYWRvcHROUyhbW1dlYkRpc3BsYXlM
aW5rSGFuZGxlciBhbGxvY10gaW5pdFdpdGhNb25pdG9yOnRoaXNdKTsKICAgICAgICAgc2V0SXNB
Y3RpdmUodHJ1ZSk7CkBAIC0xMTQsNiArMTE3LDggQEAgc3RhdGljIGRvdWJsZSBtZWRpYVRpbWVU
b0N1cnJlbnRUaW1lKENGVGltZUludGVydmFsIHQpCiAKIHZvaWQgRGlzcGxheVJlZnJlc2hNb25p
dG9ySU9TOjpkaXNwbGF5TGlua0ZpcmVkKGRvdWJsZSBub3dTZWNvbmRzKQogeworICAgIFdURkxv
Z0Fsd2F5cygiRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TOjpkaXNwbGF5TGlua0ZpcmVkKCkgLSBp
c1ByZXZpb3VzRnJhbWVEb25lIGlzICVkIiwgaXNQcmV2aW91c0ZyYW1lRG9uZSgpKTsKKwogICAg
IGlmICghaXNQcmV2aW91c0ZyYW1lRG9uZSgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWFQcm94eS5tbQppbmRleCA2ZjI5NmU3ZjUwZWZlNjI3ODA5NWY2YjQ2NGNlY2Fj
NzMxNzc2NTk1Li44ODA5ZmE5OTA5N2E1ZDllM2Q5NWY5YzE4ZGY4OGJmZTg0OTQ2YzZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC0zOSw2ICszOSw4IEBACiAjaW1wb3J0IDxX
ZWJDb3JlL01hY2hTZW5kUmlnaHQuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQWN0aW9uRGlzYWJs
aW5nQ0FMYXllckRlbGVnYXRlLmg+CiAKKyNpbXBvcnQgPHd0Zi9TeXN0ZW1UcmFjaW5nLmg+CisK
IHVzaW5nIG5hbWVzcGFjZSBJUEM7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNzks
NiArODEsNyBAQCAtICh2b2lkKWRlYWxsb2MKIAogLSAodm9pZClkaXNwbGF5TGlua0ZpcmVkOihD
QURpc3BsYXlMaW5rICopc2VuZGVyCiB7CisgICAgV1RGTG9nQWx3YXlzKCItW1dLT25lU2hvdERp
c3BsYXlMaW5rSGFuZGxlciBkaXNwbGF5TGlua0ZpcmVkOl0iKTsKICAgICBBU1NFUlQoaXNVSVRo
cmVhZCgpKTsKICAgICBfZHJhd2luZ0FyZWFQcm94eS0+ZGlkUmVmcmVzaERpc3BsYXkoc2VuZGVy
LnRpbWVzdGFtcCk7CiAgICAgX2Rpc3BsYXlMaW5rLnBhdXNlZCA9IFlFUzsKQEAgLTkyLDYgKzk1
LDcgQEAgLSAodm9pZClpbnZhbGlkYXRlCiAKIC0gKHZvaWQpc2NoZWR1bGUKIHsKKyAgICBXVEZM
b2dBbHdheXMoIi1bV0tPbmVTaG90RGlzcGxheUxpbmtIYW5kbGVyIHNjaGVkdWxlXSIpOwogICAg
IF9kaXNwbGF5TGluay5wYXVzZWQgPSBOTzsKIH0KIApAQCAtMTcxLDYgKzE3NSw5IEBAIHZvaWQg
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6d2lsbENvbW1pdExheWVyVHJlZSh1aW50
NjRfdCB0cmFuc2FjdGlvbklECiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eTo6Y29tbWl0TGF5ZXJUcmVlKGNvbnN0IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJiBsYXll
clRyZWVUcmFuc2FjdGlvbiwgY29uc3QgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2Fj
dGlvbiYgc2Nyb2xsaW5nVHJlZVRyYW5zYWN0aW9uKQogeworICAgIFRyYWNlU2NvcGUgdHJhY2lu
Z1Njb3BlKFJBRlVJQ29tbWl0TGF5ZXJUcmVlU3RhcnQsIFJBRlVJQ29tbWl0TGF5ZXJUcmVlRW5k
KTsKKyAgICBXVEZMb2dBbHdheXMoIlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNv
bW1pdExheWVyVHJlZSgpIik7CisKICAgICBMT0coUmVtb3RlTGF5ZXJUcmVlLCAiJXMiLCBsYXll
clRyZWVUcmFuc2FjdGlvbi5kZXNjcmlwdGlvbigpLmRhdGEoKSk7CiAgICAgTE9HKFJlbW90ZUxh
eWVyVHJlZSwgIiVzIiwgc2Nyb2xsaW5nVHJlZVRyYW5zYWN0aW9uLmRlc2NyaXB0aW9uKCkuZGF0
YSgpKTsKIApAQCAtMzg5LDYgKzM5Niw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eTo6ZGlkUmVmcmVzaERpc3BsYXkoZG91YmxlKQogICAgIGlmICghbV93ZWJQYWdlUHJv
eHkuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBUcmFjZVNjb3BlKFJBRlVJRGlk
UmVmcmVzaERpc3BsYXlTdGFydCwgUkFGVUlEaWRSZWZyZXNoRGlzcGxheUVuZCk7CisgICAgV1RG
TG9nQWx3YXlzKCJSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpkaWRSZWZyZXNoRGlz
cGxheSgpIik7CisKICAgICAvLyBXYWl0aW5nIGZvciBDQSB0byBjb21taXQgaXMgaW5zdWZmaWNp
ZW50LCBiZWNhdXNlIHRoZSByZW5kZXIgc2VydmVyIGNhbiBzdGlsbCBiZQogICAgIC8vIHVzaW5n
IG91ciBiYWNraW5nIHN0b3JlLiBXZSBjYW4gaW1wcm92ZSB0aGlzIGJ5IHdhaXRpbmcgZm9yIHRo
ZSByZW5kZXIgc2VydmVyIHRvIGNvbW1pdAogICAgIC8vIGlmIHdlIGZpbmQgQVBJIHRvIGRvIHNv
LCBidXQgZm9yIG5vdyB3ZSB3aWxsIG1ha2UgZXh0cmEgYnVmZmVycyBpZiBuZWVkIGJlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1JlbW90ZUxh
eWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Db2NvYS9SZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3IubW0K
aW5kZXggYmYyZjcyNGJjYTg5MjBlZDFiZDYyZjA4Y2I0Mjc0YTc2YzM5NDhjNi4uYjhlM2Y0MjMw
Yjc3ZTk2MWM0ZGJhYWZiMDU3ODNlYzY4YjMwMjNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNo
TW9uaXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2Ev
UmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLm1tCkBAIC0yOSw2ICsyOSw3IEBA
CiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKIAogI2lt
cG9ydCA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW1wb3J0IDx3dGYvU3lzdGVtVHJhY2luZy5oPgog
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNTEsNiArNTIsOCBAQCBib29sIFJlbW90
ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvcjo6cmVxdWVzdFJlZnJlc2hDYWxsYmFjaygp
CiAgICAgaWYgKCFtX2RyYXdpbmdBcmVhIHx8ICFpc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKKyAgICBXVEZMb2dBbHdheXMoIlJlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNo
TW9uaXRvcjo6cmVxdWVzdFJlZnJlc2hDYWxsYmFjaygpIik7CisKICAgICBpZiAoIWlzU2NoZWR1
bGVkKCkpCiAgICAgICAgIHN0YXRpY19jYXN0PERyYXdpbmdBcmVhJj4oKm1fZHJhd2luZ0FyZWEu
Z2V0KCkpLnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCk7CiAKQEAgLTYxLDYgKzY0LDgg
QEAgYm9vbCBSZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3I6OnJlcXVlc3RSZWZy
ZXNoQ2FsbGJhY2soKQogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRv
cjo6ZGlkVXBkYXRlTGF5ZXJzKCkKIHsKKyAgICBXVEZMb2dBbHdheXMoIlJlbW90ZUxheWVyVHJl
ZURpc3BsYXlSZWZyZXNoTW9uaXRvcjo6ZGlkVXBkYXRlTGF5ZXJzKCkgLSBpc1ByZXZpb3VzRnJh
bWVEb25lIGlzICVkIiwgaXNQcmV2aW91c0ZyYW1lRG9uZSgpKTsKKwogICAgIHNldElzU2NoZWR1
bGVkKGZhbHNlKTsKIAogICAgIGlmICghaXNQcmV2aW91c0ZyYW1lRG9uZSgpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDc5OGNkYmYyZTM3
MWU5ZGRmOGEwYmExYWE1NDg4MjM5YTFkMzQxNjQuLjE2ODk4YmJiMGU4ZTczNjYyNDIxZjI2MmUw
MGJjYzFjYmRlZDE5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTE3Myw2ICsxNzMsNyBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSlNW
YWx1ZS5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvSlNMb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxv
b3AuaD4KKyNpbmNsdWRlIDx3dGYvU3lzdGVtVHJhY2luZy5oPgogI2luY2x1ZGUgPHd0Zi9UZW1w
b3JhcnlDaGFuZ2UuaD4KIAogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKQEAgLTMyMDQsNiAr
MzIwNSw4IEBAIHZvaWQgV2ViUGFnZTo6d2lsbENvbW1pdExheWVyVHJlZShSZW1vdGVMYXllclRy
ZWVUcmFuc2FjdGlvbiYgbGF5ZXJUcmFuc2FjdGlvbikKIHZvaWQgV2ViUGFnZTo6ZGlkRmx1c2hM
YXllclRyZWVBdFRpbWUoc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB0aW1lc3RhbXApCiB7CiAj
aWYgUExBVEZPUk0oSU9TKQorICAgIFdURkxvZ0Fsd2F5cygiV2ViUGFnZTo6ZGlkRmx1c2hMYXll
clRyZWVBdFRpbWUgJWxsZCIsIHRpbWVzdGFtcC5jb3VudCgpKTsKKwogICAgIGlmIChtX29sZGVz
dE5vblN0YWJsZVVwZGF0ZVZpc2libGVDb250ZW50UmVjdHNUaW1lc3RhbXAgIT0gc3RkOjpjaHJv
bm86Om1pbGxpc2Vjb25kczo6emVybygpKSB7CiAgICAgICAgIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgZWxhcHNlZCA9IHRpbWVzdGFtcCAtIG1fb2xkZXN0Tm9uU3RhYmxlVXBkYXRlVmlzaWJs
ZUNvbnRlbnRSZWN0c1RpbWVzdGFtcDsKICAgICAgICAgbV9vbGRlc3ROb25TdGFibGVVcGRhdGVW
aXNpYmxlQ29udGVudFJlY3RzVGltZXN0YW1wID0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6
emVybygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tCmluZGV4IGVjZjg3NzIxZDEyNDdk
NDFlZjE4MDMwNWQ4YTJhMjg5MDY5ZDcxYzYuLjQ4OGY4MmJmNzhkYWMwMGI2NTk1ZjAxYjg3OGQ2
MGRkZDdiMDI0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW0KQEAgLTM1LDYgKzM1
LDggQEAKICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL01h
aW5GcmFtZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CisKKyNpbXBvcnQgPHd0Zi9TeXN0
ZW1UcmFjaW5nLmg+CiAjaW1wb3J0IDx3dGYvVGVtcG9yYXJ5Q2hhbmdlLmg+CiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwpAQCAtMTA2LDYgKzEwOCw5IEBAIHN0ZDo6dW5pcXVlX3B0cjxHcmFw
aGljc0xheWVyPiBSZW1vdGVMYXllclRyZWVDb250ZXh0OjpjcmVhdGVHcmFwaGljc0xheWVyKFdl
YkNvCiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6YnVpbGRUcmFuc2FjdGlvbihSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIFBsYXRmb3JtQ0FMYXllciYgcm9v
dExheWVyKQogeworICAgIFRyYWNlU2NvcGUgdHJhY2luZ1Njb3BlKFJBRldLMkJ1aWxkVHJhbnNh
Y3Rpb25TdGFydCwgUkFGV0syQnVpbGRUcmFuc2FjdGlvbkVuZCk7CisgICAgV1RGTG9nQWx3YXlz
KCJSZW1vdGVMYXllclRyZWVDb250ZXh0OjpidWlsZFRyYW5zYWN0aW9uKCkiKTsKKwogICAgIFBs
YXRmb3JtQ0FMYXllclJlbW90ZSYgcm9vdExheWVyUmVtb3RlID0gZG93bmNhc3Q8UGxhdGZvcm1D
QUxheWVyUmVtb3RlPihyb290TGF5ZXIpOwogICAgIHRyYW5zYWN0aW9uLnNldFJvb3RMYXllcklE
KHJvb3RMYXllclJlbW90ZS5sYXllcklEKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYS5tbQppbmRleCBmZmU4Y2NmNDgyMmYzYWU2Nzk3Mzg0ZDU0MzQ3MWM0ODYzOTM4NjNm
Li4xNWI1ZDVjMzkzYjdmNDRmNmUwOWI1NmExOGNjY2ExNjQwMmVhOTA0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KQEAgLTM3LDYgKzM3LDkgQEAKICNpbXBvcnQgIlJl
bW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uaCIKICNpbXBvcnQgIldlYlBhZ2Uu
aCIKICNpbXBvcnQgIldlYlByb2Nlc3MuaCIKKworI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpD
b3JlLmg+CisKICNpbXBvcnQgPFdlYkNvcmUvRGVidWdQYWdlT3ZlcmxheXMuaD4KICNpbXBvcnQg
PFdlYkNvcmUvRnJhbWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CkBAIC00OCw3
ICs1MSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1JlbmRlclZpZXcuaD4KICNpbXBvcnQgPFdlYkNv
cmUvU2V0dGluZ3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvVGlsZWRCYWNraW5nLmg+Ci0jaW1wb3J0
IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KKyNpbXBvcnQgPHd0Zi9TeXN0ZW1UcmFjaW5nLmg+
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC0zMzIsNiArMzM1LDggQEAgYm9vbCBS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6YWRqdXN0TGF5ZXJGbHVzaFRocm90dGxpbmcoV2Vi
Q29yZTo6TGF5ZXJGbHVzaFQKIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6Zmx1
c2hMYXllcnMoKQogeworICAgIFdURkxvZ0Fsd2F5cygiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWE6OmZsdXNoTGF5ZXJzKCkiKTsKKwogICAgIGlmICghbV9yb290TGF5ZXIpCiAgICAgICAgIHJl
dHVybjsKIApAQCAtNDI0LDcgKzQyOSwxMiBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhOjpmbHVzaExheWVycygpCiAKICAgICB1aW50NjRfdCBwYWdlSUQgPSBtX3dlYlBhZ2UucGFn
ZUlEKCk7CiAgICAgZGlzcGF0Y2hfYXN5bmMobV9jb21taXRRdWV1ZSwgW2JhY2tpbmdTdG9yZUZs
dXNoZXIsIHBhZ2VJRF0gewotICAgICAgICBiYWNraW5nU3RvcmVGbHVzaGVyLT5mbHVzaCgpOwor
ICAgICAgICB7CisgICAgICAgICAgICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShSQUZXSzJMYXll
ckZsdXNoU3RhcnQsIFJBRldLMkxheWVyRmx1c2hFbmQpOworICAgICAgICAgICAgV1RGTG9nQWx3
YXlzKCJiYWNraW5nU3RvcmVGbHVzaGVyLT5mbHVzaCgpIHN0YXJ0Iik7CisgICAgICAgICAgICBi
YWNraW5nU3RvcmVGbHVzaGVyLT5mbHVzaCgpOworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJi
YWNraW5nU3RvcmVGbHVzaGVyLT5mbHVzaCgpIGVuZCIpOworICAgICAgICB9CiAKICAgICAgICAg
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyB0aW1lc3RhbXAgPSBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzKHN0YXRpY19jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6OnJlcD4obW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCkgKiAxMDAwKSk7CiAgICAgICAgIGRpc3BhdGNoX2FzeW5j
KGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIFtwYWdlSUQsIHRpbWVzdGFtcF0gewpAQCAtNDM2
LDYgKzQ0Niw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJz
KCkKIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6ZGlkVXBkYXRlKCkKIHsKKyAg
ICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShSQUZXSzJEaWRVcGRhdGVTdGFydCwgUkFGV0syRGlk
VXBkYXRlRW5kKTsKKyAgICBXVEZMb2dBbHdheXMoIlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
OjpkaWRVcGRhdGUoKSIpOworCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBhIGNvdW50
ZWQgcmVwbGFjZW1lbnQgZm9yIHNldExheWVyVHJlZVN0YXRlSXNGcm96ZW4sIGJ1dAogICAgIC8v
IHRoZSBjYWxsZXJzIG9mIHRoYXQgZnVuY3Rpb24gYXJlIG5vdCBzdHJpY3RseSBwYWlyZWQuCiAK
QEAgLTQ4NSwxMSArNDk4LDE2IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OkJh
Y2tpbmdTdG9yZUZsdXNoZXI6OmZsdXNoKCkKIHsKICAgICBBU1NFUlQoIW1faGFzRmx1c2hlZCk7
CiAKKyAgICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShSQUZXSzJCYWNraW5nU3RvcmVGbHVzaFN0
YXJ0LCBSQUZXSzJCYWNraW5nU3RvcmVGbHVzaEVuZCk7CisgICAgV1RGTG9nQWx3YXlzKCJSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYTo6QmFja2luZ1N0b3JlRmx1c2hlcjo6Zmx1c2goKSBzdGFy
dCIpOworICAgIAogICAgIGZvciAoYXV0byYgY29udGV4dCA6IG1fY29udGV4dHNUb0ZsdXNoKQog
ICAgICAgICBDR0NvbnRleHRGbHVzaChjb250ZXh0LmdldCgpKTsKICAgICBtX2hhc0ZsdXNoZWQg
PSB0cnVlOwogCiAgICAgbV9jb25uZWN0aW9uLT5zZW5kTWVzc2FnZShXVEZNb3ZlKG1fY29tbWl0
RW5jb2RlcikpOworICAgIAorICAgIFdURkxvZ0Fsd2F5cygiUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWE6OkJhY2tpbmdTdG9yZUZsdXNoZXI6OmZsdXNoKCkgZW5kIik7CiB9CiAKIHZvaWQgUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnZpZXdTdGF0ZURpZENoYW5nZShWaWV3U3RhdGU6OkZs
YWdzLCBib29sIHdhbnRzRGlkVXBkYXRlVmlld1N0YXRlLCBjb25zdCBWZWN0b3I8dWludDY0X3Q+
JikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAw
NjQ5ZjIyZDA1NTUyZjE3MWFkODljNTg5OGZmMzUxNDFhODIxMDdlLi40NTU1YjEyZDM2MjBlZjA5
M2Q0YWZhZmY3NDNhNjI1ZTYyNGY2Y2Q4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDYtMTQgIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLGNvbT4KKworICAgICAgICBBZGQgc3lzdGVt
IHRyYWNpbmcgcG9pbnRzIGZvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSB3b3JrZmxvdworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzIzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBBZGQg
bmV3IHBsaXN0IGVudHJpZXMgdG8gYmUgdXNlZCBieSBrZGVidWdfdHJhY2UoKSB2aWV3aW5nIHRv
b2xzLgorCisgICAgICAgICogVHJhY2luZy9TeXN0ZW1UcmFjZVBvaW50cy5wbGlzdDoKKwogMjAx
Ni0wNi0wMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgogCiAg
ICAgICAgIFtHVEtdIFVwZGF0ZSBZb3VDb21wbGV0ZU1lIHNjcmlwdCB0byBtYWtlIGFsbCBpbmNs
dWRlIHBhdGhzIGFic29sdXRlCmRpZmYgLS1naXQgYS9Ub29scy9UcmFjaW5nL1N5c3RlbVRyYWNl
UG9pbnRzLnBsaXN0IGIvVG9vbHMvVHJhY2luZy9TeXN0ZW1UcmFjZVBvaW50cy5wbGlzdAppbmRl
eCAwY2ZlZTM4Yjk1MTI1MjE1ZTFmZmNkZjdkMDc4MTMxYTRiNDA4ZDMyLi41ZTgyZThjNjY2ZmY5
NDI1YWRkNzEwMmVjZGJlNGJkMjhhMGYzYTIxIDEwMDY0NAotLS0gYS9Ub29scy9UcmFjaW5nL1N5
c3RlbVRyYWNlUG9pbnRzLnBsaXN0CisrKyBiL1Rvb2xzL1RyYWNpbmcvU3lzdGVtVHJhY2VQb2lu
dHMucGxpc3QKQEAgLTU1LDYgKzU1LDc4IEBACiAgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUVu
ZDwva2V5PgogICAgICAgICAgICAgICAgICA8c3RyaW5nPjUwMDg8L3N0cmluZz4KICAgICAgICAg
ICAgICA8L2RpY3Q+CisgICAgICAgICAgICAgPGRpY3Q+CisgICAgICAgICAgICAgICAgIDxrZXk+
TmFtZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPlJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhOjpmbHVzaExheWVycygpPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+VHlw
ZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPkludGVydmFsPC9zdHJpbmc+CisgICAg
ICAgICAgICAgICAgIDxrZXk+Q29tcG9uZW50PC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJp
bmc+NDc8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2RlQmVnaW48L2tleT4KKyAg
ICAgICAgICAgICAgICAgPHN0cmluZz4xMjAwMTwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8
a2V5PkNvZGVFbmQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz4xMjAwMjwvc3RyaW5n
PgorICAgICAgICAgICAgIDwvZGljdD4KKyAgICAgICAgICAgICA8ZGljdD4KKyAgICAgICAgICAg
ICAgICAgPGtleT5OYW1lPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+UmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZSgpPC9zdHJpbmc+CisgICAgICAgICAgICAgICAg
IDxrZXk+VHlwZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPkludGVydmFsPC9zdHJp
bmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29tcG9uZW50PC9rZXk+CisgICAgICAgICAgICAg
ICAgIDxzdHJpbmc+NDc8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2RlQmVnaW48
L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz4xMjAwMzwvc3RyaW5nPgorICAgICAgICAg
ICAgICAgICA8a2V5PkNvZGVFbmQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz4xMjAw
NDwvc3RyaW5nPgorICAgICAgICAgICAgIDwvZGljdD4KKyAgICAgICAgICAgICA8ZGljdD4KKyAg
ICAgICAgICAgICAgICAgPGtleT5OYW1lPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OkJhY2tpbmdTdG9yZUZsdXNoZXI6OmZsdXNoKCk8
L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5UeXBlPC9rZXk+CisgICAgICAgICAgICAg
ICAgIDxzdHJpbmc+SW50ZXJ2YWw8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db21w
b25lbnQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz40Nzwvc3RyaW5nPgorICAgICAg
ICAgICAgICAgICA8a2V5PkNvZGVCZWdpbjwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5n
PjEyMDA1PC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUVuZDwva2V5PgorICAg
ICAgICAgICAgICAgICA8c3RyaW5nPjEyMDA2PC9zdHJpbmc+CisgICAgICAgICAgICAgPC9kaWN0
PgorICAgICAgICAgICAgIDxkaWN0PgorICAgICAgICAgICAgICAgICA8a2V5Pk5hbWU8L2tleT4K
KyAgICAgICAgICAgICAgICAgPHN0cmluZz5SZW1vdGVMYXllclRyZWVDb250ZXh0OjpidWlsZFRy
YW5zYWN0aW9uKCk8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5UeXBlPC9rZXk+Cisg
ICAgICAgICAgICAgICAgIDxzdHJpbmc+SW50ZXJ2YWw8L3N0cmluZz4KKyAgICAgICAgICAgICAg
ICAgPGtleT5Db21wb25lbnQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz40Nzwvc3Ry
aW5nPgorICAgICAgICAgICAgICAgICA8a2V5PkNvZGVCZWdpbjwva2V5PgorICAgICAgICAgICAg
ICAgICA8c3RyaW5nPjEyMDA3PC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUVu
ZDwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPjEyMDA4PC9zdHJpbmc+CisgICAgICAg
ICAgICAgPC9kaWN0PgorICAgICAgICAgICAgIDxkaWN0PgorICAgICAgICAgICAgICAgICA8a2V5
Pk5hbWU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz5SZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUoKTwvc3RyaW5nPgorICAgICAgICAgICAgICAg
ICA8a2V5PlR5cGU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz5JbnRlcnZhbDwvc3Ry
aW5nPgorICAgICAgICAgICAgICAgICA8a2V5PkNvbXBvbmVudDwva2V5PgorICAgICAgICAgICAg
ICAgICA8c3RyaW5nPjQ3PC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUJlZ2lu
PC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+MTQwMDE8L3N0cmluZz4KKyAgICAgICAg
ICAgICAgICAgPGtleT5Db2RlRW5kPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+MTQw
MDI8L3N0cmluZz4KKyAgICAgICAgICAgICA8L2RpY3Q+CisgICAgICAgICAgICAgPGRpY3Q+Cisg
ICAgICAgICAgICAgICAgIDxrZXk+TmFtZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5n
PlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmRpZFJlZnJlc2hEaXNwbGF5KCk8L3N0
cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5UeXBlPC9rZXk+CisgICAgICAgICAgICAgICAg
IDxzdHJpbmc+SW50ZXJ2YWw8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db21wb25l
bnQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz40Nzwvc3RyaW5nPgorICAgICAgICAg
ICAgICAgICA8a2V5PkNvZGVCZWdpbjwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPjE0
MDAzPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUVuZDwva2V5PgorICAgICAg
ICAgICAgICAgICA8c3RyaW5nPjE0MDA0PC9zdHJpbmc+CisgICAgICAgICAgICAgPC9kaWN0Pgog
ICAgICAgICAgPC9hcnJheT4KICAgICAgPC9kaWN0PgogIDwvYXJyYXk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281309</attachid>
            <date>2016-06-14 18:36:39 -0700</date>
            <delta_ts>2016-06-15 20:08:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158723-20160614183816.patch</filename>
            <type>text/plain</type>
            <size>16031</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI5NTNiZGVlZDc4ZWZlNjdkY2IzN2E1
Yjc0N2E1ZTRiZTUzZDM4NDEuLjU1ZWY2YjRmYWNjNGQ4YzNlOTNjZTdlZGU1NTQ0OWFmY2Q3NGMy
YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTYtMDYtMTQgIFNhaWQgQWJvdS1IYWxsYXdhICA8
c2Fib3VoYWxsYXdhQGFwcGxlLGNvbT4KKworICAgICAgICBBZGQgc3lzdGVtIHRyYWNpbmcgcG9p
bnRzIGZvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSB3b3JrZmxvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzIzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGVmaW5lIG5ldyB0cmFjZSBzY29yZSBj
b2RlcyBmb3IgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkuCisKKyAgICAgICAgKiB3dGYvU3lzdGVt
VHJhY2luZy5oOgorICAgICAgICAoV1RGOjpUcmFjZVNjb3BlOjpUcmFjZVNjb3BlKToKKyAgICAg
ICAgKFdURjo6VHJhY2VTY29wZTo6flRyYWNlU2NvcGUpOgorICAgICAgICAoV1RGOjpUcmFjZVNj
b3BlOjp0cmFjZUNvZGVSZWNvcmQpOgorCiAyMDE2LTA2LTAzICBNYXJrIExhbSAgPG1hcmsubGFt
QGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBob3cgU3RhY2tWaXNpdG9yIGR1bXBzIGl0
cyBmcmFtZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNmMmE0ZTliZWMyOTY4MDhhMDliMjI1ZWMzOWY1ZDgz
Nzc3ZmY0OC4uOWQ0Y2YwMjZlZmE0ZDEyZDlkOTYyZTU4MDBmYmJkY2U5NTA5MTk4ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA2LTE0ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNh
Ym91aGFsbGF3YUBhcHBsZSxjb20+CisKKyAgICAgICAgQWRkIHN5c3RlbSB0cmFjaW5nIHBvaW50
cyBmb3IgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkgd29ya2Zsb3cKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODcyMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0cmFjZSBwb2ludHMgZm9yIHJlcXVl
c3RBbmltYXRpb25GcmFtZSgpLgorIAorICAgICAgICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9s
bGVyOjpyZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6c2VydmljZVNjcmlwdGVkQW5pbWF0aW9ucyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OndpbmRvd1NjcmVl
bkRpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXI6OnNjaGVkdWxlQW5pbWF0aW9uKToKKyAgICAgICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25D
b250cm9sbGVyLmg6CisgICAgICAgIFVucmVsYXRlZCBjbGVhbiB1cC4KKwogMjAxNi0wNi0wMyAg
QnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzb3VyY2VSZXNw
b25zZUJhc2UgY2xlYW51cC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlYWZkMjM0Y2RmZDI5MmU2ZGFiZDdkMmQy
YTVlM2UzZGRmNzY0ODkzLi42ODM1ZGM4ZjRkYWRmMjY4MWRjOTcwNjA4MWY4ZjAyYzY0ODk1ODdk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTYtMDYtMTQgIFNhaWQgQWJvdS1IYWxs
YXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLGNvbT4KKworICAgICAgICBBZGQgc3lzdGVtIHRyYWNp
bmcgcG9pbnRzIGZvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSB3b3JrZmxvdworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzIzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRyYWNlIHBvaW50cyBm
b3IgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJlZSk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmRpZFJlZnJlc2hEaXNwbGF5
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRl
eHQubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OmJ1aWxkVHJh
bnNhY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhOjpmbHVzaExheWVycyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhOjpkaWRVcGRhdGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYTo6QmFja2luZ1N0b3JlRmx1c2hlcjo6Zmx1c2gpOgorCiAyMDE2LTA2LTAzICBD
c2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IHRoZSAh
RU5BQkxFKElOREVYRURfREFUQUJBU0UpIGJ1aWxkIGFmdGVyIHIyMDE1NzUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1N5c3RlbVRyYWNpbmcuaCBiL1NvdXJjZS9XVEYvd3RmL1N5c3RlbVRy
YWNpbmcuaAppbmRleCA2NTQ2MjY4NDVmMTBlYzNkOTUyMzBiN2ZkYTFmNWE0MGM5ZDBlYzUzLi4y
MTA2ZTU0NTg5MDUyMWY0NjhkMDg3NTRiZjc0NjIyNzZkMWQxMjIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9TeXN0ZW1UcmFjaW5nLmgKKysrIGIvU291cmNlL1dURi93dGYvU3lzdGVtVHJh
Y2luZy5oCkBAIC01NSw2ICs1NSwyMiBAQCBlbnVtIFRyYWNlUG9pbnRDb2RlIHsKIAogICAgIFdl
YktpdFJhbmdlID0gMTAwMDAsCiAgICAgV2ViS2l0MlJhbmdlID0gMTIwMDAsCisgICAgCisgICAg
UkFGV0syTGF5ZXJGbHVzaFN0YXJ0LAorICAgIFJBRldLMkxheWVyRmx1c2hFbmQsCisgICAgUkFG
V0syRGlkVXBkYXRlU3RhcnQsCisgICAgUkFGV0syRGlkVXBkYXRlRW5kLAorICAgIFJBRldLMkJh
Y2tpbmdTdG9yZUZsdXNoU3RhcnQsCisgICAgUkFGV0syQmFja2luZ1N0b3JlRmx1c2hFbmQsCisg
ICAgUkFGV0syQnVpbGRUcmFuc2FjdGlvblN0YXJ0LAorICAgIFJBRldLMkJ1aWxkVHJhbnNhY3Rp
b25FbmQsCisKKyAgICBVSVByb2Nlc3NSYW5nZSA9IDE0MDAwLAorICAgIAorICAgIFJBRlVJQ29t
bWl0TGF5ZXJUcmVlU3RhcnQsCisgICAgUkFGVUlDb21taXRMYXllclRyZWVFbmQsCisgICAgUkFG
VUlEaWRSZWZyZXNoRGlzcGxheVN0YXJ0LAorICAgIFJBRlVJRGlkUmVmcmVzaERpc3BsYXlFbmQs
CiB9OwogCiAjaWZkZWYgX19jcGx1c3BsdXMKQEAgLTY0LDI5ICs4MCwyOCBAQCBuYW1lc3BhY2Ug
V1RGIHsKIGNsYXNzIFRyYWNlU2NvcGUgewogcHVibGljOgogCi0jaWYgSEFWRShLREVCVUdfSCkK
ICAgICBUcmFjZVNjb3BlKFRyYWNlUG9pbnRDb2RlIGVudHJ5Q29kZSwgVHJhY2VQb2ludENvZGUg
ZXhpdENvZGUpCiAgICAgICAgIDogbV9leGl0Q29kZShleGl0Q29kZSkKICAgICB7Ci0gICAgICAg
IGtkZWJ1Z190cmFjZShBUklBRE5FREJHX0NPREUoV0VCS0lUX0NPTVBPTkVOVCwgZW50cnlDb2Rl
KSwgMCwgMCwgMCwgMCk7CisgICAgICAgIHRyYWNlQ29kZVJlY29yZChlbnRyeUNvZGUpOwogICAg
IH0KLSNlbHNlCi0gICAgVHJhY2VTY29wZShUcmFjZVBvaW50Q29kZSwgVHJhY2VQb2ludENvZGUp
CisKKyAgICB+VHJhY2VTY29wZSgpCiAgICAgeworICAgICAgICB0cmFjZUNvZGVSZWNvcmQobV9l
eGl0Q29kZSk7CiAgICAgfQotI2VuZGlmCi0gICAgCi0gICAgflRyYWNlU2NvcGUoKQorCitwcml2
YXRlOgorICAgIGlubGluZSB2b2lkIHRyYWNlQ29kZVJlY29yZChUcmFjZVBvaW50Q29kZSBjb2Rl
KQogICAgIHsKICNpZiBIQVZFKEtERUJVR19IKQotICAgICAgICBrZGVidWdfdHJhY2UoQVJJQURO
RURCR19DT0RFKFdFQktJVF9DT01QT05FTlQsIG1fZXhpdENvZGUpLCAwLCAwLCAwLCAwKTsKKyAg
ICAgICAga2RlYnVnX3RyYWNlKEFSSUFETkVEQkdfQ09ERShXRUJLSVRfQ09NUE9ORU5ULCBjb2Rl
KSwgMCwgMCwgMCwgMCk7CisjZWxzZQorICAgICAgICBVTlVTRURfUEFSQU0oY29kZSk7CiAjZW5k
aWYKICAgICB9CiAKLXByaXZhdGU6Ci0jaWYgSEFWRShLREVCVUdfSCkKICAgICBUcmFjZVBvaW50
Q29kZSBtX2V4aXRDb2RlOwotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5k
ZXggZmQ3ZGNjZTRlNWYzMGJhNjVhMjkxMWNiN2E5ZTc2ZDI2MDc4NjBhOS4uMDRmYjQ0MDVlYzRk
OTM4ZWEyMzVlYTMzMWFjZWYyOGRmZDhlOTIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTY0LDYgKzY0LDExIEBAIFNj
cmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6flNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcigp
CiB7CiB9CiAKK2Jvb2wgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpyZXF1ZXN0QW5pbWF0
aW9uRnJhbWVFbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9kb2N1bWVudCAmJiAoIW1f
ZG9jdW1lbnQtPnNldHRpbmdzKCkgfHwgbV9kb2N1bWVudC0+c2V0dGluZ3MoKS0+cmVxdWVzdEFu
aW1hdGlvbkZyYW1lRW5hYmxlZCgpKTsKK30KKwogdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRy
b2xsZXI6OnN1c3BlbmQoKQogewogICAgICsrbV9zdXNwZW5kQ291bnQ7CkBAIC0xMzUsNyArMTQw
LDcgQEAgdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OmNhbmNlbENhbGxiYWNrKENh
bGxiYWNrSWQgaWQpCiAKIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzZXJ2aWNl
U2NyaXB0ZWRBbmltYXRpb25zKGRvdWJsZSBtb25vdG9uaWNUaW1lTm93KQogewotICAgIGlmICgh
bV9jYWxsYmFja3Muc2l6ZSgpIHx8IG1fc3VzcGVuZENvdW50IHx8IChtX2RvY3VtZW50LT5zZXR0
aW5ncygpICYmICFtX2RvY3VtZW50LT5zZXR0aW5ncygpLT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVF
bmFibGVkKCkpKQorICAgIGlmICghbV9jYWxsYmFja3Muc2l6ZSgpIHx8IG1fc3VzcGVuZENvdW50
IHx8ICFyZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAog
ICAgIGRvdWJsZSBoaWdoUmVzTm93TXMgPSAxMDAwLjAgKiBtX2RvY3VtZW50LT5sb2FkZXIoKS0+
dGltaW5nKCkubW9ub3RvbmljVGltZVRvWmVyb0Jhc2VkRG9jdW1lbnRUaW1lKG1vbm90b25pY1Rp
bWVOb3cpOwpAQCAtMTc1LDcgKzE4MCw3IEBAIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9s
bGVyOjpzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25zKGRvdWJsZSBtb25vdG9uaWNUaW1lCiAKIHZv
aWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxh
dGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQogewotICAgIGlmIChtX2RvY3VtZW50LT5zZXR0aW5n
cygpICYmICFtX2RvY3VtZW50LT5zZXR0aW5ncygpLT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFi
bGVkKCkpCisgICAgaWYgKCFyZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKCkpCiAgICAgICAg
IHJldHVybjsKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9NT05JVE9S
KQogICAgIERpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS53aW5k
b3dTY3JlZW5EaWRDaGFuZ2UoZGlzcGxheUlELCAqdGhpcyk7CkBAIC0xODYsNyArMTkxLDcgQEAg
dm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OndpbmRvd1NjcmVlbkRpZENoYW5nZShQ
bGF0Zm9ybURpc3BsYXlJRCBkaXNwbGEKIAogdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXI6OnNjaGVkdWxlQW5pbWF0aW9uKCkKIHsKLSAgICBpZiAoIW1fZG9jdW1lbnQgfHwgKG1fZG9j
dW1lbnQtPnNldHRpbmdzKCkgJiYgIW1fZG9jdW1lbnQtPnNldHRpbmdzKCktPnJlcXVlc3RBbmlt
YXRpb25GcmFtZUVuYWJsZWQoKSkpCisgICAgaWYgKCFyZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFi
bGVkKCkpCiAgICAgICAgIHJldHVybjsKIAogI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFN
RV9USU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlv
bkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRy
b2xsZXIuaAppbmRleCA0M2JlODhlNjQ2YmZiMDkzODEzMjk1Y2FjNTllN2RkZjBiNDVjYTViLi5j
ZTkzYjZjODUyYWIyNDAzOTAwMmMzZTJjODY0NzVmZmQzZTM1ZDdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oCkBAIC01OCw2ICs1OCw3
IEBAIHB1YmxpYzoKICAgICB9CiAgICAgflNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcigpOwog
ICAgIHZvaWQgY2xlYXJEb2N1bWVudFBvaW50ZXIoKSB7IG1fZG9jdW1lbnQgPSBudWxscHRyOyB9
CisgICAgYm9vbCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKCkgY29uc3Q7CiAKICAgICB0
eXBlZGVmIGludCBDYWxsYmFja0lkOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KaW5k
ZXggNmYyOTZlN2Y1MGVmZTYyNzgwOTVmNmI0NjRjZWNhYzczMTc3NjU5NS4uYmQwYWIwNzMzYmFj
NmJkYjJkZDE0YTQ5ODQ3ZDUyY2VmNWFmOWIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eS5tbQpAQCAtMzksNiArMzksOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9NYWNoU2VuZFJpZ2h0Lmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkFjdGlvbkRpc2FibGluZ0NBTGF5ZXJEZWxlZ2F0ZS5oPgog
CisjaW1wb3J0IDx3dGYvU3lzdGVtVHJhY2luZy5oPgorCiB1c2luZyBuYW1lc3BhY2UgSVBDOwog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTE3MSw2ICsxNzMsOCBAQCB2b2lkIFJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OndpbGxDb21taXRMYXllclRyZWUodWludDY0X3Qg
dHJhbnNhY3Rpb25JRAogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNv
bW1pdExheWVyVHJlZShjb25zdCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYgbGF5ZXJUcmVl
VHJhbnNhY3Rpb24sIGNvbnN0IFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24m
IHNjcm9sbGluZ1RyZWVUcmFuc2FjdGlvbikKIHsKKyAgICBUcmFjZVNjb3BlIHRyYWNpbmdTY29w
ZShSQUZVSUNvbW1pdExheWVyVHJlZVN0YXJ0LCBSQUZVSUNvbW1pdExheWVyVHJlZUVuZCk7CisK
ICAgICBMT0coUmVtb3RlTGF5ZXJUcmVlLCAiJXMiLCBsYXllclRyZWVUcmFuc2FjdGlvbi5kZXNj
cmlwdGlvbigpLmRhdGEoKSk7CiAgICAgTE9HKFJlbW90ZUxheWVyVHJlZSwgIiVzIiwgc2Nyb2xs
aW5nVHJlZVRyYW5zYWN0aW9uLmRlc2NyaXB0aW9uKCkuZGF0YSgpKTsKIApAQCAtMzg5LDYgKzM5
Myw4IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6ZGlkUmVmcmVzaERp
c3BsYXkoZG91YmxlKQogICAgIGlmICghbV93ZWJQYWdlUHJveHkuaXNWYWxpZCgpKQogICAgICAg
ICByZXR1cm47CiAKKyAgICBUcmFjZVNjb3BlKFJBRlVJRGlkUmVmcmVzaERpc3BsYXlTdGFydCwg
UkFGVUlEaWRSZWZyZXNoRGlzcGxheUVuZCk7CisKICAgICAvLyBXYWl0aW5nIGZvciBDQSB0byBj
b21taXQgaXMgaW5zdWZmaWNpZW50LCBiZWNhdXNlIHRoZSByZW5kZXIgc2VydmVyIGNhbiBzdGls
bCBiZQogICAgIC8vIHVzaW5nIG91ciBiYWNraW5nIHN0b3JlLiBXZSBjYW4gaW1wcm92ZSB0aGlz
IGJ5IHdhaXRpbmcgZm9yIHRoZSByZW5kZXIgc2VydmVyIHRvIGNvbW1pdAogICAgIC8vIGlmIHdl
IGZpbmQgQVBJIHRvIGRvIHNvLCBidXQgZm9yIG5vdyB3ZSB3aWxsIG1ha2UgZXh0cmEgYnVmZmVy
cyBpZiBuZWVkIGJlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tCmluZGV4IGVjZjg3NzIx
ZDEyNDdkNDFlZjE4MDMwNWQ4YTJhMjg5MDY5ZDcxYzYuLmI3NzQ3NzdlZDgzYzMxYTQ4ZDExZDE0
MzBiM2NmMzVlMTI3ZDg3ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW0KQEAgLTM1
LDYgKzM1LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJD
b3JlL01haW5GcmFtZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CisjaW1wb3J0IDx3dGYv
U3lzdGVtVHJhY2luZy5oPgogI2ltcG9ydCA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAgLTEwNiw2ICsxMDcsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8
R3JhcGhpY3NMYXllcj4gUmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6Y3JlYXRlR3JhcGhpY3NMYXll
cihXZWJDbwogCiB2b2lkIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OmJ1aWxkVHJhbnNhY3Rpb24o
UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCBQbGF0Zm9ybUNBTGF5ZXIm
IHJvb3RMYXllcikKIHsKKyAgICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShSQUZXSzJCdWlsZFRy
YW5zYWN0aW9uU3RhcnQsIFJBRldLMkJ1aWxkVHJhbnNhY3Rpb25FbmQpOworCiAgICAgUGxhdGZv
cm1DQUxheWVyUmVtb3RlJiByb290TGF5ZXJSZW1vdGUgPSBkb3duY2FzdDxQbGF0Zm9ybUNBTGF5
ZXJSZW1vdGU+KHJvb3RMYXllcik7CiAgICAgdHJhbnNhY3Rpb24uc2V0Um9vdExheWVySUQocm9v
dExheWVyUmVtb3RlLmxheWVySUQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhLm1tCmluZGV4IGZmZThjY2Y0ODIyZjNhZTY3OTczODRkNTQzNDcxYzQ4NjM5Mzg2M2YuLjYw
ZTExOTA5Yjc2NjcwZDgzNTVmMWY4MjdkNTdiYjc1NTAwODkxYjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYS5tbQpAQCAtMzcsNiArMzcsNyBAQAogI2ltcG9ydCAiUmVtb3Rl
U2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgog
I2ltcG9ydCAiV2ViUHJvY2Vzcy5oIgorI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0RlYnVnUGFnZU92ZXJsYXlzLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0ZyYW1lLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgpAQCAtNDgsNyArNDksNyBA
QAogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NldHRp
bmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1RpbGVkQmFja2luZy5oPgotI2ltcG9ydCA8UXVhcnR6
Q29yZS9RdWFydHpDb3JlLmg+CisjaW1wb3J0IDx3dGYvU3lzdGVtVHJhY2luZy5oPgogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNDI0LDcgKzQyNSwxMCBAQCB2b2lkIFJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycygpCiAKICAgICB1aW50NjRfdCBwYWdlSUQg
PSBtX3dlYlBhZ2UucGFnZUlEKCk7CiAgICAgZGlzcGF0Y2hfYXN5bmMobV9jb21taXRRdWV1ZSwg
W2JhY2tpbmdTdG9yZUZsdXNoZXIsIHBhZ2VJRF0gewotICAgICAgICBiYWNraW5nU3RvcmVGbHVz
aGVyLT5mbHVzaCgpOworICAgICAgICB7CisgICAgICAgICAgICBUcmFjZVNjb3BlIHRyYWNpbmdT
Y29wZShSQUZXSzJMYXllckZsdXNoU3RhcnQsIFJBRldLMkxheWVyRmx1c2hFbmQpOworICAgICAg
ICAgICAgYmFja2luZ1N0b3JlRmx1c2hlci0+Zmx1c2goKTsKKyAgICAgICAgfQogCiAgICAgICAg
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdGltZXN0YW1wID0gc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyhzdGF0aWNfY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjpyZXA+KG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICogMTAwMCkpOwogICAgICAgICBkaXNwYXRjaF9hc3lu
YyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBbcGFnZUlELCB0aW1lc3RhbXBdIHsKQEAgLTQz
Niw2ICs0NDAsOCBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVy
cygpCiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZSgpCiB7Cisg
ICAgVHJhY2VTY29wZSB0cmFjaW5nU2NvcGUoUkFGV0syRGlkVXBkYXRlU3RhcnQsIFJBRldLMkRp
ZFVwZGF0ZUVuZCk7CisKICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIGEgY291bnRlZCBy
ZXBsYWNlbWVudCBmb3Igc2V0TGF5ZXJUcmVlU3RhdGVJc0Zyb3plbiwgYnV0CiAgICAgLy8gdGhl
IGNhbGxlcnMgb2YgdGhhdCBmdW5jdGlvbiBhcmUgbm90IHN0cmljdGx5IHBhaXJlZC4KIApAQCAt
NDg1LDYgKzQ5MSw4IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OkJhY2tpbmdT
dG9yZUZsdXNoZXI6OmZsdXNoKCkKIHsKICAgICBBU1NFUlQoIW1faGFzRmx1c2hlZCk7CiAKKyAg
ICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShSQUZXSzJCYWNraW5nU3RvcmVGbHVzaFN0YXJ0LCBS
QUZXSzJCYWNraW5nU3RvcmVGbHVzaEVuZCk7CisgICAgCiAgICAgZm9yIChhdXRvJiBjb250ZXh0
IDogbV9jb250ZXh0c1RvRmx1c2gpCiAgICAgICAgIENHQ29udGV4dEZsdXNoKGNvbnRleHQuZ2V0
KCkpOwogICAgIG1faGFzRmx1c2hlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDY0OWYyMmQwNTU1MmYxNzFhZDg5YzU4OThmZjM1
MTQxYTgyMTA3ZS4uNDU1NWIxMmQzNjIwZWYwOTNkNGFmYWZmNzQzYTYyNWU2MjRmNmNkOCAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDE2LTA2LTE0ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBs
ZSxjb20+CisKKyAgICAgICAgQWRkIHN5c3RlbSB0cmFjaW5nIHBvaW50cyBmb3IgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKCkgd29ya2Zsb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1ODcyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorICAgICAgICAKKyAgICAgICAgQWRkIG5ldyBwbGlzdCBlbnRyaWVzIHRvIGJlIHVzZWQg
Ynkga2RlYnVnX3RyYWNlKCkgdmlld2luZyB0b29scy4KKworICAgICAgICAqIFRyYWNpbmcvU3lz
dGVtVHJhY2VQb2ludHMucGxpc3Q6CisKIDIwMTYtMDYtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBbR1RLXSBVcGRhdGUgWW91Q29tcGxl
dGVNZSBzY3JpcHQgdG8gbWFrZSBhbGwgaW5jbHVkZSBwYXRocyBhYnNvbHV0ZQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVHJhY2luZy9TeXN0ZW1UcmFjZVBvaW50cy5wbGlzdCBiL1Rvb2xzL1RyYWNpbmcv
U3lzdGVtVHJhY2VQb2ludHMucGxpc3QKaW5kZXggMGNmZWUzOGI5NTEyNTIxNWUxZmZjZGY3ZDA3
ODEzMWE0YjQwOGQzMi4uNWU4MmU4YzY2NmZmOTQyNWFkZDcxMDJlY2RiZTRiZDI4YTBmM2EyMSAx
MDA2NDQKLS0tIGEvVG9vbHMvVHJhY2luZy9TeXN0ZW1UcmFjZVBvaW50cy5wbGlzdAorKysgYi9U
b29scy9UcmFjaW5nL1N5c3RlbVRyYWNlUG9pbnRzLnBsaXN0CkBAIC01NSw2ICs1NSw3OCBAQAog
ICAgICAgICAgICAgICAgICA8a2V5PkNvZGVFbmQ8L2tleT4KICAgICAgICAgICAgICAgICAgPHN0
cmluZz41MDA4PC9zdHJpbmc+CiAgICAgICAgICAgICAgPC9kaWN0PgorICAgICAgICAgICAgIDxk
aWN0PgorICAgICAgICAgICAgICAgICA8a2V5Pk5hbWU8L2tleT4KKyAgICAgICAgICAgICAgICAg
PHN0cmluZz5SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6Zmx1c2hMYXllcnMoKTwvc3RyaW5n
PgorICAgICAgICAgICAgICAgICA8a2V5PlR5cGU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0
cmluZz5JbnRlcnZhbDwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PkNvbXBvbmVudDwv
a2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPjQ3PC9zdHJpbmc+CisgICAgICAgICAgICAg
ICAgIDxrZXk+Q29kZUJlZ2luPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+MTIwMDE8
L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2RlRW5kPC9rZXk+CisgICAgICAgICAg
ICAgICAgIDxzdHJpbmc+MTIwMDI8L3N0cmluZz4KKyAgICAgICAgICAgICA8L2RpY3Q+CisgICAg
ICAgICAgICAgPGRpY3Q+CisgICAgICAgICAgICAgICAgIDxrZXk+TmFtZTwva2V5PgorICAgICAg
ICAgICAgICAgICA8c3RyaW5nPlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpkaWRVcGRhdGUo
KTwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PlR5cGU8L2tleT4KKyAgICAgICAgICAg
ICAgICAgPHN0cmluZz5JbnRlcnZhbDwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PkNv
bXBvbmVudDwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPjQ3PC9zdHJpbmc+CisgICAg
ICAgICAgICAgICAgIDxrZXk+Q29kZUJlZ2luPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJp
bmc+MTIwMDM8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2RlRW5kPC9rZXk+Cisg
ICAgICAgICAgICAgICAgIDxzdHJpbmc+MTIwMDQ8L3N0cmluZz4KKyAgICAgICAgICAgICA8L2Rp
Y3Q+CisgICAgICAgICAgICAgPGRpY3Q+CisgICAgICAgICAgICAgICAgIDxrZXk+TmFtZTwva2V5
PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpC
YWNraW5nU3RvcmVGbHVzaGVyOjpmbHVzaCgpPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxr
ZXk+VHlwZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPkludGVydmFsPC9zdHJpbmc+
CisgICAgICAgICAgICAgICAgIDxrZXk+Q29tcG9uZW50PC9rZXk+CisgICAgICAgICAgICAgICAg
IDxzdHJpbmc+NDc8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2RlQmVnaW48L2tl
eT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz4xMjAwNTwvc3RyaW5nPgorICAgICAgICAgICAg
ICAgICA8a2V5PkNvZGVFbmQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz4xMjAwNjwv
c3RyaW5nPgorICAgICAgICAgICAgIDwvZGljdD4KKyAgICAgICAgICAgICA8ZGljdD4KKyAgICAg
ICAgICAgICAgICAgPGtleT5OYW1lPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+UmVt
b3RlTGF5ZXJUcmVlQ29udGV4dDo6YnVpbGRUcmFuc2FjdGlvbigpPC9zdHJpbmc+CisgICAgICAg
ICAgICAgICAgIDxrZXk+VHlwZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPkludGVy
dmFsPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29tcG9uZW50PC9rZXk+CisgICAg
ICAgICAgICAgICAgIDxzdHJpbmc+NDc8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5D
b2RlQmVnaW48L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz4xMjAwNzwvc3RyaW5nPgor
ICAgICAgICAgICAgICAgICA8a2V5PkNvZGVFbmQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0
cmluZz4xMjAwODwvc3RyaW5nPgorICAgICAgICAgICAgIDwvZGljdD4KKyAgICAgICAgICAgICA8
ZGljdD4KKyAgICAgICAgICAgICAgICAgPGtleT5OYW1lPC9rZXk+CisgICAgICAgICAgICAgICAg
IDxzdHJpbmc+UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6Y29tbWl0TGF5ZXJUcmVl
KCk8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5UeXBlPC9rZXk+CisgICAgICAgICAg
ICAgICAgIDxzdHJpbmc+SW50ZXJ2YWw8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5D
b21wb25lbnQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz40Nzwvc3RyaW5nPgorICAg
ICAgICAgICAgICAgICA8a2V5PkNvZGVCZWdpbjwva2V5PgorICAgICAgICAgICAgICAgICA8c3Ry
aW5nPjE0MDAxPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUVuZDwva2V5Pgor
ICAgICAgICAgICAgICAgICA8c3RyaW5nPjE0MDAyPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9k
aWN0PgorICAgICAgICAgICAgIDxkaWN0PgorICAgICAgICAgICAgICAgICA8a2V5Pk5hbWU8L2tl
eT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz5SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5OjpkaWRSZWZyZXNoRGlzcGxheSgpPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+
VHlwZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPkludGVydmFsPC9zdHJpbmc+Cisg
ICAgICAgICAgICAgICAgIDxrZXk+Q29tcG9uZW50PC9rZXk+CisgICAgICAgICAgICAgICAgIDxz
dHJpbmc+NDc8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2RlQmVnaW48L2tleT4K
KyAgICAgICAgICAgICAgICAgPHN0cmluZz4xNDAwMzwvc3RyaW5nPgorICAgICAgICAgICAgICAg
ICA8a2V5PkNvZGVFbmQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz4xNDAwNDwvc3Ry
aW5nPgorICAgICAgICAgICAgIDwvZGljdD4KICAgICAgICAgIDwvYXJyYXk+CiAgICAgIDwvZGlj
dD4KICA8L2FycmF5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281431</attachid>
            <date>2016-06-15 20:08:16 -0700</date>
            <delta_ts>2016-06-21 14:03:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158723-20160615200815.patch</filename>
            <type>text/plain</type>
            <size>17784</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVlNzVhZjIyMjgyMTc5MjQ0OGNkZTBj
ZjRjNmNmYjBiNzlhYWZkZjQuLjlmNGIxMmZkODUwODhjZDIxMTkxMDAzNDllNDQ4ZjRhOGZmNDFh
MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTYtMDYtMTUgIFNhaWQgQWJvdS1IYWxsYXdhICA8
c2Fib3VoYWxsYXdhQGFwcGxlLGNvbT4KKworICAgICAgICBBZGQgc3lzdGVtIHRyYWNpbmcgcG9p
bnRzIGZvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSB3b3JrZmxvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzIzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIERlZmluZSBuZXcgdHJhY2Ugc2NvcmUgY29k
ZXMgZm9yIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpLgorCisgICAgICAgICogd3RmL1N5c3RlbVRy
YWNpbmcuaDoKKyAgICAgICAgKFdURjo6V1RGVHJhY2VDb2RlUmVjb3JkKToKKyAgICAgICAgKFdU
Rjo6VHJhY2VTY29wZTo6VHJhY2VTY29wZSk6CisgICAgICAgIChXVEY6OlRyYWNlU2NvcGU6On5U
cmFjZVNjb3BlKToKKwogMjAxNi0wNi0xNSAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5udWxlbkB5
YW5kZXgucnU+CiAKICAgICAgICAgT25seSBNYWMgcG9ydCBuZWVkcyBPYmpDIEFQSSBmb3IgSlND
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggM2E2YTkwOGUzMTBjYTZjNWNhNzM0Nzc2YjczOWFiMGZiNTQ5NDRkOS4u
ZTQ5MGU2NDRlMGZlMWVhYTEyODA1Mjg2YjA2OTJiNTM3N2RiNWVmNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIyIEBACisyMDE2LTA2LTE1ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3
YUBhcHBsZSxjb20+CisKKyAgICAgICAgQWRkIHN5c3RlbSB0cmFjaW5nIHBvaW50cyBmb3IgcmVx
dWVzdEFuaW1hdGlvbkZyYW1lKCkgd29ya2Zsb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODcyMworCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEZyYXNlci4KKworICAgICAgICBBZGQgdHJhY2UgcG9pbnRzIGZvciByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoKS4KKworICAgICAgICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpyZXF1ZXN0
QW5pbWF0aW9uRnJhbWVFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlcjo6c2VydmljZVNjcmlwdGVkQW5pbWF0aW9ucyk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OndpbmRvd1NjcmVlbkRpZENoYW5nZSk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNjaGVkdWxl
QW5pbWF0aW9uKToKKyAgICAgICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklP
Uy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcklPUzo6cmVxdWVz
dFJlZnJlc2hDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0
b3JJT1M6OmRpc3BsYXlMaW5rRmlyZWQpOgorCiAyMDE2LTA2LTE1ICBBZGFtIEJlcmdrdmlzdCAg
PGFkYW0uYmVyZ2t2aXN0QGVyaWNzc29uLmNvbT4KIAogICAgICAgICBXZWJSVEM6IChSZWZhY3Rv
cikgQWxpZ24gdGhlIHN0cnVjdHVyZSBvZiBSVENQZWVyQ29ubmVjdGlvbi5pZGwgd2l0aCB0aGUg
aGVhZGVyIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkZGM1ZjRkNjlhNDkyZDFjYmI2Njk1OWRjOGQwMTlk
ZDM1NmRjMzRhLi5iZmE4OTdmY2QwYzgzYjNmMWEzZjk2M2Q0ZTBmMjE3ZjY3OTdkMWZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTYtMDYtMTUgIFNhaWQgQWJvdS1IYWxsYXdhICA8
c2Fib3VoYWxsYXdhQGFwcGxlLGNvbT4KKworICAgICAgICBBZGQgc3lzdGVtIHRyYWNpbmcgcG9p
bnRzIGZvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSB3b3JrZmxvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzIzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEFkZCB0cmFjZSBwb2ludHMgZm9yIHJlcXVl
c3RBbmltYXRpb25GcmFtZSgpLgorCisgICAgICAgICogVUlQcm9jZXNzL21hYy9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpkaWRSZWZyZXNoRGlzcGxheSk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVDb250ZXh0OjpidWlsZFRyYW5zYWN0aW9u
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6
ZGlkVXBkYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6
OkJhY2tpbmdTdG9yZUZsdXNoZXI6OmZsdXNoKToKKwogMjAxNi0wNi0xNSAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERyb3Agc29tZSB1bm5lY2Vzc2FyeSBoZWFk
ZXIgaW5jbHVkZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1N5c3RlbVRyYWNpbmcuaCBi
L1NvdXJjZS9XVEYvd3RmL1N5c3RlbVRyYWNpbmcuaAppbmRleCA2NTQ2MjY4NDVmMTBlYzNkOTUy
MzBiN2ZkYTFmNWE0MGM5ZDBlYzUzLi5jNDQ3OGI3MzgzNDk4MzRkNmM2YzZhYjdhOWYxZjM2NmI3
NDA3YzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9TeXN0ZW1UcmFjaW5nLmgKKysrIGIv
U291cmNlL1dURi93dGYvU3lzdGVtVHJhY2luZy5oCkBAIC01Miw0NiArNTIsNjQgQEAgZW51bSBU
cmFjZVBvaW50Q29kZSB7CiAgICAgUGFpbnRWaWV3RW5kLAogICAgIFBhaW50TGF5ZXJTdGFydCwK
ICAgICBQYWludExheWVyRW5kLAorICAgIFJBRkRpc3BsYXlMaW5rU2NoZWR1bGVkLAorICAgIFJB
RkRpc3BsYXlMaW5rRmlyZWQsCisgICAgUkFGQ2FsbGJhY2tTdGFydCwKKyAgICBSQUZDYWxsYmFj
a0VuZCwKIAogICAgIFdlYktpdFJhbmdlID0gMTAwMDAsCiAgICAgV2ViS2l0MlJhbmdlID0gMTIw
MDAsCisKKyAgICBSQUZEaWRVcGRhdGVTdGFydCwKKyAgICBSQUZEaWRVcGRhdGVFbmQsCisgICAg
UkFGQmFja2luZ1N0b3JlRmx1c2hTdGFydCwKKyAgICBSQUZCYWNraW5nU3RvcmVGbHVzaEVuZCwK
KyAgICBSQUZCdWlsZFRyYW5zYWN0aW9uU3RhcnQsCisgICAgUkFGQnVpbGRUcmFuc2FjdGlvbkVu
ZCwKKworICAgIFVJUHJvY2Vzc1JhbmdlID0gMTQwMDAsCisKKyAgICBSQUZDb21taXRMYXllclRy
ZWVTdGFydCwKKyAgICBSQUZDb21taXRMYXllclRyZWVFbmQsCisgICAgUkFGRGlkUmVmcmVzaERp
c3BsYXlTdGFydCwKKyAgICBSQUZEaWRSZWZyZXNoRGlzcGxheUVuZCwKIH07CiAKICNpZmRlZiBf
X2NwbHVzcGx1cwogCiBuYW1lc3BhY2UgV1RGIHsKIAoraW5saW5lIHZvaWQgV1RGVHJhY2VDb2Rl
UmVjb3JkKFRyYWNlUG9pbnRDb2RlIGNvZGUpCit7CisjaWYgSEFWRShLREVCVUdfSCkKKyAgICBr
ZGVidWdfdHJhY2UoQVJJQURORURCR19DT0RFKFdFQktJVF9DT01QT05FTlQsIGNvZGUpLCAwLCAw
LCAwLCAwKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGNvZGUpOworI2VuZGlmCit9CisKIGNs
YXNzIFRyYWNlU2NvcGUgewogcHVibGljOgogCi0jaWYgSEFWRShLREVCVUdfSCkKICAgICBUcmFj
ZVNjb3BlKFRyYWNlUG9pbnRDb2RlIGVudHJ5Q29kZSwgVHJhY2VQb2ludENvZGUgZXhpdENvZGUp
CiAgICAgICAgIDogbV9leGl0Q29kZShleGl0Q29kZSkKICAgICB7Ci0gICAgICAgIGtkZWJ1Z190
cmFjZShBUklBRE5FREJHX0NPREUoV0VCS0lUX0NPTVBPTkVOVCwgZW50cnlDb2RlKSwgMCwgMCwg
MCwgMCk7CisgICAgICAgIFdURlRyYWNlQ29kZVJlY29yZChlbnRyeUNvZGUpOwogICAgIH0KLSNl
bHNlCi0gICAgVHJhY2VTY29wZShUcmFjZVBvaW50Q29kZSwgVHJhY2VQb2ludENvZGUpCi0gICAg
ewotICAgIH0KLSNlbmRpZgotICAgIAorCiAgICAgflRyYWNlU2NvcGUoKQogICAgIHsKLSNpZiBI
QVZFKEtERUJVR19IKQotICAgICAgICBrZGVidWdfdHJhY2UoQVJJQURORURCR19DT0RFKFdFQktJ
VF9DT01QT05FTlQsIG1fZXhpdENvZGUpLCAwLCAwLCAwLCAwKTsKLSNlbmRpZgorICAgICAgICBX
VEZUcmFjZUNvZGVSZWNvcmQobV9leGl0Q29kZSk7CiAgICAgfQogCiBwcml2YXRlOgotI2lmIEhB
VkUoS0RFQlVHX0gpCiAgICAgVHJhY2VQb2ludENvZGUgbV9leGl0Q29kZTsKLSNlbmRpZgogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKIHVzaW5nIFdURjo6VHJhY2VTY29wZTsKK3VzaW5nIFdU
Rjo6V1RGVHJhY2VDb2RlUmVjb3JkOwogCiAjZW5kaWYgLy8gX19jcGx1c3BsdXMKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAppbmRl
eCBiNzljZmE4NjM0NDA0MmNlMjZkNjU5ZTk3NzE4MmQwNDNlZGZiZWUyLi45OThkNjhkMDRlNzE5
ZWM1OTIwOTg4NTBmMDA0ODNkZDNjMDIxNTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2lm
IFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1FUikKICNpbmNsdWRlIDxhbGdvcml0aG0+
CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW5jbHVkZSA8d3RmL1N5c3RlbVRyYWNp
bmcuaD4KIAogLy8gQWxsb3cgYSBsaXR0bGUgbW9yZSB0aGFuIDYwZnBzIHRvIG1ha2Ugc3VyZSB3
ZSBjYW4gYXQgbGVhc3QgaGl0IHRoYXQgZnJhbWUgcmF0ZS4KICNkZWZpbmUgTWluaW11bUFuaW1h
dGlvbkludGVydmFsIDAuMDE1CkBAIC02NSw2ICs2NiwxMSBAQCBTY3JpcHRlZEFuaW1hdGlvbkNv
bnRyb2xsZXI6On5TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIoKQogewogfQogCitib29sIFNj
cmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6cmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZG9jdW1lbnQgJiYgKCFtX2RvY3VtZW50LT5zZXR0aW5n
cygpIHx8IG1fZG9jdW1lbnQtPnNldHRpbmdzKCktPnJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJs
ZWQoKSk7Cit9CisKIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzdXNwZW5kKCkK
IHsKICAgICArK21fc3VzcGVuZENvdW50OwpAQCAtMTM2LDkgKzE0MiwxMSBAQCB2b2lkIFNjcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6Y2FuY2VsQ2FsbGJhY2soQ2FsbGJhY2tJZCBpZCkKIAog
dm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNlcnZpY2VTY3JpcHRlZEFuaW1hdGlv
bnMoZG91YmxlIG1vbm90b25pY1RpbWVOb3cpCiB7Ci0gICAgaWYgKCFtX2NhbGxiYWNrcy5zaXpl
KCkgfHwgbV9zdXNwZW5kQ291bnQgfHwgKG1fZG9jdW1lbnQtPnNldHRpbmdzKCkgJiYgIW1fZG9j
dW1lbnQtPnNldHRpbmdzKCktPnJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQoKSkpCisgICAg
aWYgKCFtX2NhbGxiYWNrcy5zaXplKCkgfHwgbV9zdXNwZW5kQ291bnQgfHwgIXJlcXVlc3RBbmlt
YXRpb25GcmFtZUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgVHJhY2VTY29wZSB0
cmFjaW5nU2NvcGUoUkFGQ2FsbGJhY2tTdGFydCwgUkFGQ2FsbGJhY2tFbmQpOworICAgIAogICAg
IGRvdWJsZSBoaWdoUmVzTm93TXMgPSAxMDAwLjAgKiBtX2RvY3VtZW50LT5sb2FkZXIoKS0+dGlt
aW5nKCkubW9ub3RvbmljVGltZVRvWmVyb0Jhc2VkRG9jdW1lbnRUaW1lKG1vbm90b25pY1RpbWVO
b3cpOwogICAgIGRvdWJsZSBsZWdhY3lIaWdoUmVzTm93TXMgPSAxMDAwLjAgKiBtX2RvY3VtZW50
LT5sb2FkZXIoKS0+dGltaW5nKCkubW9ub3RvbmljVGltZVRvUHNldWRvV2FsbFRpbWUobW9ub3Rv
bmljVGltZU5vdyk7CiAKQEAgLTE3Niw3ICsxODQsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlcjo6c2VydmljZVNjcmlwdGVkQW5pbWF0aW9ucyhkb3VibGUgbW9ub3RvbmljVGlt
ZQogCiB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6d2luZG93U2NyZWVuRGlkQ2hh
bmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKIHsKLSAgICBpZiAobV9kb2N1bWVudC0+
c2V0dGluZ3MoKSAmJiAhbV9kb2N1bWVudC0+c2V0dGluZ3MoKS0+cmVxdWVzdEFuaW1hdGlvbkZy
YW1lRW5hYmxlZCgpKQorICAgIGlmICghcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpKQog
ICAgICAgICByZXR1cm47CiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlf
TU9OSVRPUikKICAgICBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjpzaGFyZWRNYW5hZ2Vy
KCkud2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCwgKnRoaXMpOwpAQCAtMTg3LDcgKzE5
NSw3IEBAIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjp3aW5kb3dTY3JlZW5EaWRD
aGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxhCiAKIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25D
b250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbigpCiB7Ci0gICAgaWYgKCFtX2RvY3VtZW50IHx8
IChtX2RvY3VtZW50LT5zZXR0aW5ncygpICYmICFtX2RvY3VtZW50LT5zZXR0aW5ncygpLT5yZXF1
ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKCkpKQorICAgIGlmICghcmVxdWVzdEFuaW1hdGlvbkZy
YW1lRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUVfVElNRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyLmgKaW5kZXggNDNiZTg4ZTY0NmJmYjA5MzgxMzI5NWNhYzU5ZTdkZGYwYjQ1
Y2E1Yi4uY2U5M2I2Yzg1MmFiMjQwMzkwMDJjM2UyYzg2NDc1ZmZkM2UzNWQ3YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaApAQCAtNTgs
NiArNTgsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIH5TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXIoKTsKICAgICB2b2lkIGNsZWFyRG9jdW1lbnRQb2ludGVyKCkgeyBtX2RvY3VtZW50ID0gbnVs
bHB0cjsgfQorICAgIGJvb2wgcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpIGNvbnN0Owog
CiAgICAgdHlwZWRlZiBpbnQgQ2FsbGJhY2tJZDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJ
T1MubW0KaW5kZXggZThlMjc1YjRkMDhjOTZkNmQ2ZDM0MzU4ODRhMGI0ZDJjZGU2MmVkMC4uMDBj
ZjQ1M2Y0NjQ4YmQxZjY3MDE5ZjUxMjU2NDQyOTMyMjk5MTkwMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRGlzcGxheVJlZnJl
c2hNb25pdG9ySU9TLm1tCkBAIC0zMiw2ICszMiw3IEBACiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1
YXJ0ekNvcmUuaD4KICNpbXBvcnQgPHd0Zi9DdXJyZW50VGltZS5oPgogI2ltcG9ydCA8d3RmL01h
aW5UaHJlYWQuaD4KKyNpbXBvcnQgPHd0Zi9TeXN0ZW1UcmFjaW5nLmg+CiAKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCkBAIC05Nyw2ICs5OCw4IEBAIGJvb2wgRGlzcGxheVJlZnJlc2hNb25p
dG9ySU9TOjpyZXF1ZXN0UmVmcmVzaENhbGxiYWNrKCkKICAgICBpZiAoIWlzQWN0aXZlKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIFdURlRyYWNlQ29kZVJlY29yZChSQUZEaXNwbGF5
TGlua1NjaGVkdWxlZCk7CisgICAgCiAgICAgaWYgKCFtX2hhbmRsZXIpIHsKICAgICAgICAgbV9o
YW5kbGVyID0gYWRvcHROUyhbW1dlYkRpc3BsYXlMaW5rSGFuZGxlciBhbGxvY10gaW5pdFdpdGhN
b25pdG9yOnRoaXNdKTsKICAgICAgICAgc2V0SXNBY3RpdmUodHJ1ZSk7CkBAIC0xMjEsNiArMTI0
LDggQEAgdm9pZCBEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1M6OmRpc3BsYXlMaW5rRmlyZWQoZG91
YmxlIG5vd1NlY29uZHMpCiAgICAgc2V0TW9ub3RvbmljQW5pbWF0aW9uU3RhcnRUaW1lKG1lZGlh
VGltZVRvQ3VycmVudFRpbWUobm93U2Vjb25kcykpOwogCiAgICAgaGFuZGxlRGlzcGxheVJlZnJl
c2hlZE5vdGlmaWNhdGlvbk9uTWFpblRocmVhZCh0aGlzKTsKKyAgICAKKyAgICBXVEZUcmFjZUNv
ZGVSZWNvcmQoUkFGRGlzcGxheUxpbmtGaXJlZCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5t
bSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eS5tbQppbmRleCAyMWQyMDMyMjY0NGIxNzM3ZDhiMTdjM2IxN2VmNzJhNWE4YTk1ZTQw
Li5iYTg1NzMxZmI5ZDIzZjkzMzhhMDFkZTAyZGIwYjQ1ZDNhNjM0YmQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHkubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYVByb3h5Lm1tCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0lP
U3VyZmFjZVBvb2wuaD4KICNpbXBvcnQgPFdlYkNvcmUvTWFjaFNlbmRSaWdodC5oPgogI2ltcG9y
dCA8V2ViQ29yZS9XZWJBY3Rpb25EaXNhYmxpbmdDQUxheWVyRGVsZWdhdGUuaD4KKyNpbXBvcnQg
PHd0Zi9TeXN0ZW1UcmFjaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBJUEM7CiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKQEAgLTE3MSw2ICsxNzIsOCBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHk6OndpbGxDb21taXRMYXllclRyZWUodWludDY0X3QgdHJhbnNhY3Rpb25J
RAogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJl
ZShjb25zdCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYgbGF5ZXJUcmVlVHJhbnNhY3Rpb24s
IGNvbnN0IFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24mIHNjcm9sbGluZ1Ry
ZWVUcmFuc2FjdGlvbikKIHsKKyAgICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShSQUZDb21taXRM
YXllclRyZWVTdGFydCwgUkFGQ29tbWl0TGF5ZXJUcmVlRW5kKTsKKwogICAgIExPRyhSZW1vdGVM
YXllclRyZWUsICIlcyIsIGxheWVyVHJlZVRyYW5zYWN0aW9uLmRlc2NyaXB0aW9uKCkuZGF0YSgp
KTsKICAgICBMT0coUmVtb3RlTGF5ZXJUcmVlLCAiJXMiLCBzY3JvbGxpbmdUcmVlVHJhbnNhY3Rp
b24uZGVzY3JpcHRpb24oKS5kYXRhKCkpOwogCkBAIC0zOTYsNiArMzk5LDggQEAgdm9pZCBSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpkaWRSZWZyZXNoRGlzcGxheShkb3VibGUpCiAg
ICAgCiAgICAgbV9oYXZlU2VudERpZFVwZGF0ZVNpbmNlTGFzdENvbW1pdCA9IHRydWU7CiAKKyAg
ICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShSQUZEaWRSZWZyZXNoRGlzcGxheVN0YXJ0LCBSQUZE
aWRSZWZyZXNoRGlzcGxheUVuZCk7CisKICAgICAvLyBXYWl0aW5nIGZvciBDQSB0byBjb21taXQg
aXMgaW5zdWZmaWNpZW50LCBiZWNhdXNlIHRoZSByZW5kZXIgc2VydmVyIGNhbiBzdGlsbCBiZQog
ICAgIC8vIHVzaW5nIG91ciBiYWNraW5nIHN0b3JlLiBXZSBjYW4gaW1wcm92ZSB0aGlzIGJ5IHdh
aXRpbmcgZm9yIHRoZSByZW5kZXIgc2VydmVyIHRvIGNvbW1pdAogICAgIC8vIGlmIHdlIGZpbmQg
QVBJIHRvIGRvIHNvLCBidXQgZm9yIG5vdyB3ZSB3aWxsIG1ha2UgZXh0cmEgYnVmZmVycyBpZiBu
ZWVkIGJlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tCmluZGV4IGVjZjg3NzIxZDEyNDdk
NDFlZjE4MDMwNWQ4YTJhMjg5MDY5ZDcxYzYuLmU4ZTE0YTkwYjNhOWU2ZTc1MTU4NDY2OTJiNjg2
N2QzN2JlNTcwYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW0KQEAgLTM1LDYgKzM1
LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL01h
aW5GcmFtZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CisjaW1wb3J0IDx3dGYvU3lzdGVt
VHJhY2luZy5oPgogI2ltcG9ydCA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgogCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKQEAgLTEwNiw2ICsxMDcsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhp
Y3NMYXllcj4gUmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6Y3JlYXRlR3JhcGhpY3NMYXllcihXZWJD
bwogCiB2b2lkIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OmJ1aWxkVHJhbnNhY3Rpb24oUmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCBQbGF0Zm9ybUNBTGF5ZXImIHJvb3RM
YXllcikKIHsKKyAgICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShSQUZCdWlsZFRyYW5zYWN0aW9u
U3RhcnQsIFJBRkJ1aWxkVHJhbnNhY3Rpb25FbmQpOworCiAgICAgUGxhdGZvcm1DQUxheWVyUmVt
b3RlJiByb290TGF5ZXJSZW1vdGUgPSBkb3duY2FzdDxQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU+KHJv
b3RMYXllcik7CiAgICAgdHJhbnNhY3Rpb24uc2V0Um9vdExheWVySUQocm9vdExheWVyUmVtb3Rl
LmxheWVySUQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCmluZGV4
IGZmZThjY2Y0ODIyZjNhZTY3OTczODRkNTQzNDcxYzQ4NjM5Mzg2M2YuLmU4NjVjZjExOWRkZDgy
MWIxYzFhYzA2OTM2YzhiZDZmYTA5ZTFiY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYS5tbQpAQCAtMzcsNiArMzcsNyBAQAogI2ltcG9ydCAiUmVtb3RlU2Nyb2xsaW5nQ29v
cmRpbmF0b3JUcmFuc2FjdGlvbi5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgogI2ltcG9ydCAiV2Vi
UHJvY2Vzcy5oIgorI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0RlYnVnUGFnZU92ZXJsYXlzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgpAQCAtNDgsNyArNDksNyBAQAogI2ltcG9ydCA8
V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NldHRpbmdzLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1RpbGVkQmFja2luZy5oPgotI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpD
b3JlLmg+CisjaW1wb3J0IDx3dGYvU3lzdGVtVHJhY2luZy5oPgogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIApAQCAtNDM2LDYgKzQzNyw4IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWE6OmZsdXNoTGF5ZXJzKCkKIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6
ZGlkVXBkYXRlKCkKIHsKKyAgICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShSQUZEaWRVcGRhdGVT
dGFydCwgUkFGRGlkVXBkYXRlRW5kKTsKKwogICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCB1c2Ug
YSBjb3VudGVkIHJlcGxhY2VtZW50IGZvciBzZXRMYXllclRyZWVTdGF0ZUlzRnJvemVuLCBidXQK
ICAgICAvLyB0aGUgY2FsbGVycyBvZiB0aGF0IGZ1bmN0aW9uIGFyZSBub3Qgc3RyaWN0bHkgcGFp
cmVkLgogCkBAIC00ODUsNiArNDg4LDggQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YTo6QmFja2luZ1N0b3JlRmx1c2hlcjo6Zmx1c2goKQogewogICAgIEFTU0VSVCghbV9oYXNGbHVz
aGVkKTsKIAorICAgIFRyYWNlU2NvcGUgdHJhY2luZ1Njb3BlKFJBRkJhY2tpbmdTdG9yZUZsdXNo
U3RhcnQsIFJBRkJhY2tpbmdTdG9yZUZsdXNoRW5kKTsKKyAgICAKICAgICBmb3IgKGF1dG8mIGNv
bnRleHQgOiBtX2NvbnRleHRzVG9GbHVzaCkKICAgICAgICAgQ0dDb250ZXh0Rmx1c2goY29udGV4
dC5nZXQoKSk7CiAgICAgbV9oYXNGbHVzaGVkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzNDhiZDczM2FhZGQ1YTg3MjhmZjg1YmNh
Y2ExMTBhMzJlNGVlODE0Li4xOTNkYzI4NmFmZTQyOTA3ZGY4NDhiZGU2YzcyYzhlYzMxMDRmOTEy
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTYtMDYtMTUgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdh
QGFwcGxlLGNvbT4KKworICAgICAgICBBZGQgc3lzdGVtIHRyYWNpbmcgcG9pbnRzIGZvciByZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoKSB3b3JrZmxvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24g
RnJhc2VyLgorCisgICAgICAgIEFkZCBuZXcgcGxpc3QgZW50cmllcyB0byBiZSB1c2VkIGJ5IGtk
ZWJ1Z190cmFjZSgpIHZpZXdpbmcgdG9vbHMuCisKKyAgICAgICAgKiBUcmFjaW5nL1N5c3RlbVRy
YWNlUG9pbnRzLnBsaXN0OgorCiAyMDE2LTA2LTE1ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBUb28gbXVjaCBsb2cgZGF0YSBnZW5lcmF0ZWQgZHVyaW5n
IGxheW91dC10ZXN0cyBvbiBpT1MgU2ltdWxhdG9yCmRpZmYgLS1naXQgYS9Ub29scy9UcmFjaW5n
L1N5c3RlbVRyYWNlUG9pbnRzLnBsaXN0IGIvVG9vbHMvVHJhY2luZy9TeXN0ZW1UcmFjZVBvaW50
cy5wbGlzdAppbmRleCAwY2ZlZTM4Yjk1MTI1MjE1ZTFmZmNkZjdkMDc4MTMxYTRiNDA4ZDMyLi5k
NDUwODlmNWJmZmRiYTllYTk2MmI5NmY3NzhlNzI0MTMzOTY2NjJhIDEwMDY0NAotLS0gYS9Ub29s
cy9UcmFjaW5nL1N5c3RlbVRyYWNlUG9pbnRzLnBsaXN0CisrKyBiL1Rvb2xzL1RyYWNpbmcvU3lz
dGVtVHJhY2VQb2ludHMucGxpc3QKQEAgLTU1LDYgKzU1LDkwIEBACiAgICAgICAgICAgICAgICAg
IDxrZXk+Q29kZUVuZDwva2V5PgogICAgICAgICAgICAgICAgICA8c3RyaW5nPjUwMDg8L3N0cmlu
Zz4KICAgICAgICAgICAgICA8L2RpY3Q+CisgICAgICAgICAgICAgPGRpY3Q+CisgICAgICAgICAg
ICAgICAgIDxrZXk+TmFtZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPkRpc3BsYXlS
ZWZyZXNoTW9uaXRvcjwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PlR5cGU8L2tleT4K
KyAgICAgICAgICAgICAgICAgPHN0cmluZz5JbnRlcnZhbDwvc3RyaW5nPgorICAgICAgICAgICAg
ICAgICA8a2V5PkNvbXBvbmVudDwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPjQ3PC9z
dHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUJlZ2luPC9rZXk+CisgICAgICAgICAg
ICAgICAgIDxzdHJpbmc+NTAwOTwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PkNvZGVF
bmQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz41MDEwPC9zdHJpbmc+CisgICAgICAg
ICAgICAgPC9kaWN0PgorICAgICAgICAgICAgIDxkaWN0PgorICAgICAgICAgICAgICAgICA8a2V5
Pk5hbWU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz5TY3JpcHRlZEFuaW1hdGlvbkNv
bnRyb2xsZXI6OnNlcnZpY2VTY3JpcHRlZEFuaW1hdGlvbnMoKTwvc3RyaW5nPgorICAgICAgICAg
ICAgICAgICA8a2V5PlR5cGU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz5JbnRlcnZh
bDwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PkNvbXBvbmVudDwva2V5PgorICAgICAg
ICAgICAgICAgICA8c3RyaW5nPjQ3PC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29k
ZUJlZ2luPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+NTAxMTwvc3RyaW5nPgorICAg
ICAgICAgICAgICAgICA8a2V5PkNvZGVFbmQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmlu
Zz41MDEyPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9kaWN0PgorICAgICAgICAgICAgIDxkaWN0
PgorICAgICAgICAgICAgICAgICA8a2V5Pk5hbWU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0
cmluZz5SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6ZGlkVXBkYXRlKCk8L3N0cmluZz4KKyAg
ICAgICAgICAgICAgICAgPGtleT5UeXBlPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+
SW50ZXJ2YWw8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db21wb25lbnQ8L2tleT4K
KyAgICAgICAgICAgICAgICAgPHN0cmluZz40Nzwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8
a2V5PkNvZGVCZWdpbjwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPjEyMDAxPC9zdHJp
bmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUVuZDwva2V5PgorICAgICAgICAgICAgICAg
ICA8c3RyaW5nPjEyMDAyPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9kaWN0PgorICAgICAgICAg
ICAgIDxkaWN0PgorICAgICAgICAgICAgICAgICA8a2V5Pk5hbWU8L2tleT4KKyAgICAgICAgICAg
ICAgICAgPHN0cmluZz5SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6QmFja2luZ1N0b3JlRmx1
c2hlcjo6Zmx1c2goKTwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PlR5cGU8L2tleT4K
KyAgICAgICAgICAgICAgICAgPHN0cmluZz5JbnRlcnZhbDwvc3RyaW5nPgorICAgICAgICAgICAg
ICAgICA8a2V5PkNvbXBvbmVudDwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPjQ3PC9z
dHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUJlZ2luPC9rZXk+CisgICAgICAgICAg
ICAgICAgIDxzdHJpbmc+MTIwMDM8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2Rl
RW5kPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+MTIwMDQ8L3N0cmluZz4KKyAgICAg
ICAgICAgICA8L2RpY3Q+CisgICAgICAgICAgICAgPGRpY3Q+CisgICAgICAgICAgICAgICAgIDxr
ZXk+TmFtZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPlJlbW90ZUxheWVyVHJlZUNv
bnRleHQ6OmJ1aWxkVHJhbnNhY3Rpb24oKTwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5
PlR5cGU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz5JbnRlcnZhbDwvc3RyaW5nPgor
ICAgICAgICAgICAgICAgICA8a2V5PkNvbXBvbmVudDwva2V5PgorICAgICAgICAgICAgICAgICA8
c3RyaW5nPjQ3PC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUJlZ2luPC9rZXk+
CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+MTIwMDU8L3N0cmluZz4KKyAgICAgICAgICAgICAg
ICAgPGtleT5Db2RlRW5kPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+MTIwMDY8L3N0
cmluZz4KKyAgICAgICAgICAgICA8L2RpY3Q+CisgICAgICAgICAgICAgPGRpY3Q+CisgICAgICAg
ICAgICAgICAgIDxrZXk+TmFtZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPlJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJlZSgpPC9zdHJpbmc+Cisg
ICAgICAgICAgICAgICAgIDxrZXk+VHlwZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5n
PkludGVydmFsPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29tcG9uZW50PC9rZXk+
CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+NDc8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAg
PGtleT5Db2RlQmVnaW48L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz4xNDAwMTwvc3Ry
aW5nPgorICAgICAgICAgICAgICAgICA8a2V5PkNvZGVFbmQ8L2tleT4KKyAgICAgICAgICAgICAg
ICAgPHN0cmluZz4xNDAwMjwvc3RyaW5nPgorICAgICAgICAgICAgIDwvZGljdD4KKyAgICAgICAg
ICAgICA8ZGljdD4KKyAgICAgICAgICAgICAgICAgPGtleT5OYW1lPC9rZXk+CisgICAgICAgICAg
ICAgICAgIDxzdHJpbmc+UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6ZGlkUmVmcmVz
aERpc3BsYXkoKTwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PlR5cGU8L2tleT4KKyAg
ICAgICAgICAgICAgICAgPHN0cmluZz5JbnRlcnZhbDwvc3RyaW5nPgorICAgICAgICAgICAgICAg
ICA8a2V5PkNvbXBvbmVudDwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPjQ3PC9zdHJp
bmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUJlZ2luPC9rZXk+CisgICAgICAgICAgICAg
ICAgIDxzdHJpbmc+MTQwMDM8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2RlRW5k
PC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+MTQwMDQ8L3N0cmluZz4KKyAgICAgICAg
ICAgICA8L2RpY3Q+CiAgICAgICAgICA8L2FycmF5PgogICAgICA8L2RpY3Q+CiAgPC9hcnJheT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281772</attachid>
            <date>2016-06-21 14:03:17 -0700</date>
            <delta_ts>2016-06-21 14:40:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158723-20160621140314.patch</filename>
            <type>text/plain</type>
            <size>16769</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDIyODkpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE2LTA2LTIxICBTYWlkIEFib3UtSGFsbGF3YSAg
PHNhYm91aGFsbGF3YUBhcHBsZSxjb20+CisKKyAgICAgICAgQWRkIHN5c3RlbSB0cmFjaW5nIHBv
aW50cyBmb3IgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkgd29ya2Zsb3cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODcyMworCisgICAgICAgIFJldmll
d2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBEZWZpbmUgbmV3IHRyYWNlIHNjb3JlIGNv
ZGVzIGZvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKS4KKworICAgICAgICAqIHd0Zi9TeXN0ZW1U
cmFjaW5nLmg6CisgICAgICAgIChXVEY6OldURlRyYWNlQ29kZVJlY29yZCk6CisgICAgICAgIChX
VEY6OlRyYWNlU2NvcGU6OlRyYWNlU2NvcGUpOgorICAgICAgICAoV1RGOjpUcmFjZVNjb3BlOjp+
VHJhY2VTY29wZSk6CisKIDIwMTYtMDYtMjAgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDIxMzYuCklu
ZGV4OiBTb3VyY2UvV1RGL3d0Zi9TeXN0ZW1UcmFjaW5nLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dURi93dGYvU3lzdGVtVHJhY2luZy5oCShyZXZpc2lvbiAyMDIyODkpCisrKyBTb3VyY2UvV1RG
L3d0Zi9TeXN0ZW1UcmFjaW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDQ2ICs1Miw2NCBAQCBl
bnVtIFRyYWNlUG9pbnRDb2RlIHsKICAgICBQYWludFZpZXdFbmQsCiAgICAgUGFpbnRMYXllclN0
YXJ0LAogICAgIFBhaW50TGF5ZXJFbmQsCisgICAgUkFGRGlzcGxheUxpbmtTY2hlZHVsZWQsCisg
ICAgUkFGRGlzcGxheUxpbmtGaXJlZCwKKyAgICBSQUZDYWxsYmFja1N0YXJ0LAorICAgIFJBRkNh
bGxiYWNrRW5kLAogCiAgICAgV2ViS2l0UmFuZ2UgPSAxMDAwMCwKICAgICBXZWJLaXQyUmFuZ2Ug
PSAxMjAwMCwKKworICAgIFJBRkRpZFVwZGF0ZVN0YXJ0LAorICAgIFJBRkRpZFVwZGF0ZUVuZCwK
KyAgICBSQUZCYWNraW5nU3RvcmVGbHVzaFN0YXJ0LAorICAgIFJBRkJhY2tpbmdTdG9yZUZsdXNo
RW5kLAorICAgIFJBRkJ1aWxkVHJhbnNhY3Rpb25TdGFydCwKKyAgICBSQUZCdWlsZFRyYW5zYWN0
aW9uRW5kLAorCisgICAgVUlQcm9jZXNzUmFuZ2UgPSAxNDAwMCwKKworICAgIFJBRkNvbW1pdExh
eWVyVHJlZVN0YXJ0LAorICAgIFJBRkNvbW1pdExheWVyVHJlZUVuZCwKKyAgICBSQUZEaWRSZWZy
ZXNoRGlzcGxheVN0YXJ0LAorICAgIFJBRkRpZFJlZnJlc2hEaXNwbGF5RW5kLAogfTsKIAogI2lm
ZGVmIF9fY3BsdXNwbHVzCiAKIG5hbWVzcGFjZSBXVEYgewogCitpbmxpbmUgdm9pZCBXVEZUcmFj
ZUNvZGVSZWNvcmQoVHJhY2VQb2ludENvZGUgY29kZSkKK3sKKyNpZiBIQVZFKEtERUJVR19IKQor
ICAgIGtkZWJ1Z190cmFjZShBUklBRE5FREJHX0NPREUoV0VCS0lUX0NPTVBPTkVOVCwgY29kZSks
IDAsIDAsIDAsIDApOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oY29kZSk7CisjZW5kaWYKK30K
KwogY2xhc3MgVHJhY2VTY29wZSB7CiBwdWJsaWM6CiAKLSNpZiBIQVZFKEtERUJVR19IKQogICAg
IFRyYWNlU2NvcGUoVHJhY2VQb2ludENvZGUgZW50cnlDb2RlLCBUcmFjZVBvaW50Q29kZSBleGl0
Q29kZSkKICAgICAgICAgOiBtX2V4aXRDb2RlKGV4aXRDb2RlKQogICAgIHsKLSAgICAgICAga2Rl
YnVnX3RyYWNlKEFSSUFETkVEQkdfQ09ERShXRUJLSVRfQ09NUE9ORU5ULCBlbnRyeUNvZGUpLCAw
LCAwLCAwLCAwKTsKKyAgICAgICAgV1RGVHJhY2VDb2RlUmVjb3JkKGVudHJ5Q29kZSk7CiAgICAg
fQotI2Vsc2UKLSAgICBUcmFjZVNjb3BlKFRyYWNlUG9pbnRDb2RlLCBUcmFjZVBvaW50Q29kZSkK
LSAgICB7Ci0gICAgfQotI2VuZGlmCi0gICAgCisKICAgICB+VHJhY2VTY29wZSgpCiAgICAgewot
I2lmIEhBVkUoS0RFQlVHX0gpCi0gICAgICAgIGtkZWJ1Z190cmFjZShBUklBRE5FREJHX0NPREUo
V0VCS0lUX0NPTVBPTkVOVCwgbV9leGl0Q29kZSksIDAsIDAsIDAsIDApOwotI2VuZGlmCisgICAg
ICAgIFdURlRyYWNlQ29kZVJlY29yZChtX2V4aXRDb2RlKTsKICAgICB9CiAKIHByaXZhdGU6Ci0j
aWYgSEFWRShLREVCVUdfSCkKICAgICBUcmFjZVBvaW50Q29kZSBtX2V4aXRDb2RlOwotI2VuZGlm
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpUcmFjZVNjb3BlOwordXNp
bmcgV1RGOjpXVEZUcmFjZUNvZGVSZWNvcmQ7CiAKICNlbmRpZiAvLyBfX2NwbHVzcGx1cwogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDIyODkpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAorMjAxNi0wNi0yMSAgU2FpZCBBYm91
LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUsY29tPgorCisgICAgICAgIEFkZCBzeXN0ZW0g
dHJhY2luZyBwb2ludHMgZm9yIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpIHdvcmtmbG93CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg3MjMKKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgQWRkIHRyYWNlIHBvaW50
cyBmb3IgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkuCisKKyAgICAgICAgKiBkb20vU2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlcjo6cmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNlcnZpY2VTY3JpcHRlZEFuaW1h
dGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjp3
aW5kb3dTY3JlZW5EaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbik6CisgICAgICAgICogZG9tL1NjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9E
aXNwbGF5UmVmcmVzaE1vbml0b3JJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5UmVm
cmVzaE1vbml0b3JJT1M6OnJlcXVlc3RSZWZyZXNoQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6RGlzcGxheVJlZnJlc2hNb25pdG9ySU9TOjpkaXNwbGF5TGlua0ZpcmVkKToKKwogMjAxNi0w
Ni0yMSAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CiAKICAgICAgICAgSW1wbGVt
ZW50IFJlbmRlck1hdGhNTE9wZXJhdG9yOjpsYXlvdXRCbG9jawpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAJKHJldmlzaW9u
IDIwMjI4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiUmVxdWVz
dEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2suaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1
ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvU3lzdGVtVHJhY2luZy5oPgogCiAjaWYgVVNF
KFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX1RJTUVSKQogI2luY2x1ZGUgPGFsZ29yaXRobT4KQEAg
LTY1LDYgKzY2LDExIEBAIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6flNjcmlwdGVkQW4K
IHsKIH0KIAorYm9vbCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlcXVlc3RBbmltYXRp
b25GcmFtZUVuYWJsZWQoKSBjb25zdAoreworICAgIHJldHVybiBtX2RvY3VtZW50ICYmICghbV9k
b2N1bWVudC0+c2V0dGluZ3MoKSB8fCBtX2RvY3VtZW50LT5zZXR0aW5ncygpLT5yZXF1ZXN0QW5p
bWF0aW9uRnJhbWVFbmFibGVkKCkpOworfQorCiB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcjo6c3VzcGVuZCgpCiB7CiAgICAgKyttX3N1c3BlbmRDb3VudDsKQEAgLTEzNiw5ICsxNDIs
MTEgQEAgdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OmNhbmNlbAogCiB2b2lkIFNj
cmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6c2VydmljZVNjcmlwdGVkQW5pbWF0aW9ucyhkb3Vi
bGUgbW9ub3RvbmljVGltZU5vdykKIHsKLSAgICBpZiAoIW1fY2FsbGJhY2tzLnNpemUoKSB8fCBt
X3N1c3BlbmRDb3VudCB8fCAobV9kb2N1bWVudC0+c2V0dGluZ3MoKSAmJiAhbV9kb2N1bWVudC0+
c2V0dGluZ3MoKS0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpKSkKKyAgICBpZiAoIW1f
Y2FsbGJhY2tzLnNpemUoKSB8fCBtX3N1c3BlbmRDb3VudCB8fCAhcmVxdWVzdEFuaW1hdGlvbkZy
YW1lRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBUcmFjZVNjb3BlIHRyYWNpbmdT
Y29wZShSQUZDYWxsYmFja1N0YXJ0LCBSQUZDYWxsYmFja0VuZCk7CisgICAgCiAgICAgZG91Ymxl
IGhpZ2hSZXNOb3dNcyA9IDEwMDAuMCAqIG1fZG9jdW1lbnQtPmxvYWRlcigpLT50aW1pbmcoKS5t
b25vdG9uaWNUaW1lVG9aZXJvQmFzZWREb2N1bWVudFRpbWUobW9ub3RvbmljVGltZU5vdyk7CiAg
ICAgZG91YmxlIGxlZ2FjeUhpZ2hSZXNOb3dNcyA9IDEwMDAuMCAqIG1fZG9jdW1lbnQtPmxvYWRl
cigpLT50aW1pbmcoKS5tb25vdG9uaWNUaW1lVG9Qc2V1ZG9XYWxsVGltZShtb25vdG9uaWNUaW1l
Tm93KTsKIApAQCAtMTc2LDcgKzE4NCw3IEBAIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9s
bGVyOjpzZXJ2aWMKIAogdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OndpbmRvd1Nj
cmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCiB7Ci0gICAgaWYgKG1f
ZG9jdW1lbnQtPnNldHRpbmdzKCkgJiYgIW1fZG9jdW1lbnQtPnNldHRpbmdzKCktPnJlcXVlc3RB
bmltYXRpb25GcmFtZUVuYWJsZWQoKSkKKyAgICBpZiAoIXJlcXVlc3RBbmltYXRpb25GcmFtZUVu
YWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFN
RV9ESVNQTEFZX01PTklUT1IpCiAgICAgRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6c2hh
cmVkTWFuYWdlcigpLndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQsICp0aGlzKTsKQEAg
LTE4Nyw3ICsxOTUsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6d2luZG93
CiAKIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzY2hlZHVsZUFuaW1hdGlvbigp
CiB7Ci0gICAgaWYgKCFtX2RvY3VtZW50IHx8IChtX2RvY3VtZW50LT5zZXR0aW5ncygpICYmICFt
X2RvY3VtZW50LT5zZXR0aW5ncygpLT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKCkpKQor
ICAgIGlmICghcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47
CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfVElNRVIpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oCShyZXZpc2lv
biAyMDIyODkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9s
bGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogICAgIH0KICAg
ICB+U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyKCk7CiAgICAgdm9pZCBjbGVhckRvY3VtZW50
UG9pbnRlcigpIHsgbV9kb2N1bWVudCA9IG51bGxwdHI7IH0KKyAgICBib29sIHJlcXVlc3RBbmlt
YXRpb25GcmFtZUVuYWJsZWQoKSBjb25zdDsKIAogICAgIHR5cGVkZWYgaW50IENhbGxiYWNrSWQ7
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNwbGF5UmVm
cmVzaE1vbml0b3JJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5tbQkocmV2aXNpb24gMjAyMjg5
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNo
TW9uaXRvcklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2ltcG9ydCA8
UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CiAjaW1wb3J0IDx3dGYvQ3VycmVudFRpbWUuaD4KICNp
bXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW1wb3J0IDx3dGYvU3lzdGVtVHJhY2luZy5oPgog
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtOTcsNiArOTgsOCBAQCBib29sIERpc3Bs
YXlSZWZyZXNoTW9uaXRvcklPUzo6cmVxdWVzdFJlCiAgICAgaWYgKCFpc0FjdGl2ZSgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBXVEZUcmFjZUNvZGVSZWNvcmQoUkFGRGlzcGxheUxp
bmtTY2hlZHVsZWQpOworICAgIAogICAgIGlmICghbV9oYW5kbGVyKSB7CiAgICAgICAgIG1faGFu
ZGxlciA9IGFkb3B0TlMoW1tXZWJEaXNwbGF5TGlua0hhbmRsZXIgYWxsb2NdIGluaXRXaXRoTW9u
aXRvcjp0aGlzXSk7CiAgICAgICAgIHNldElzQWN0aXZlKHRydWUpOwpAQCAtMTIxLDYgKzEyNCw4
IEBAIHZvaWQgRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TOjpkaXNwbGF5TGkKICAgICBzZXRNb25v
dG9uaWNBbmltYXRpb25TdGFydFRpbWUobWVkaWFUaW1lVG9DdXJyZW50VGltZShub3dTZWNvbmRz
KSk7CiAKICAgICBoYW5kbGVEaXNwbGF5UmVmcmVzaGVkTm90aWZpY2F0aW9uT25NYWluVGhyZWFk
KHRoaXMpOworICAgIAorICAgIFdURlRyYWNlQ29kZVJlY29yZChSQUZEaXNwbGF5TGlua0ZpcmVk
KTsKIH0KIAogfQpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMjAyMjg5KQorKysgU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTYtMDYt
MjEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLGNvbT4KKworICAgICAg
ICBBZGQgc3lzdGVtIHRyYWNpbmcgcG9pbnRzIGZvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSB3
b3JrZmxvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4NzIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEFk
ZCB0cmFjZSBwb2ludHMgZm9yIHJlcXVlc3RBbmltYXRpb25GcmFtZSgpLgorCisgICAgICAgICog
VUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRy
ZWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpk
aWRSZWZyZXNoRGlzcGxheSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1v
dGVMYXllclRyZWVDb250ZXh0Lm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVD
b250ZXh0OjpidWlsZFRyYW5zYWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYTo6ZGlkVXBkYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OkJhY2tpbmdTdG9yZUZsdXNoZXI6OmZsdXNoKToKKwog
MjAxNi0wNi0yMSAgQW1pciBBbGF2aSAgPGFhbGF2aUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBz
dHJlYW0gV0tIVFRQQ29va2llc0ZvclVSTCBmcm9tIFdlYktpdFN5c3RlbUludGVyZmFjZSB0byBP
cGVuU291cmNlCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhUHJveHkubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCShyZXZpc2lvbiAy
MDIyODkpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHkubW0JKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAKICNpbXBv
cnQgPFdlYkNvcmUvSU9TdXJmYWNlUG9vbC5oPgogI2ltcG9ydCA8V2ViQ29yZS9NYWNoU2VuZFJp
Z2h0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkFjdGlvbkRpc2FibGluZ0NBTGF5ZXJEZWxlZ2F0
ZS5oPgorI2ltcG9ydCA8d3RmL1N5c3RlbVRyYWNpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIElQ
QzsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtMTcxLDYgKzE3Miw4IEBAIHZvaWQgUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6d2kKIAogdm9pZCBSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJh
bnNhY3Rpb24mIGxheWVyVHJlZVRyYW5zYWN0aW9uLCBjb25zdCBSZW1vdGVTY3JvbGxpbmdDb29y
ZGluYXRvclRyYW5zYWN0aW9uJiBzY3JvbGxpbmdUcmVlVHJhbnNhY3Rpb24pCiB7CisgICAgVHJh
Y2VTY29wZSB0cmFjaW5nU2NvcGUoUkFGQ29tbWl0TGF5ZXJUcmVlU3RhcnQsIFJBRkNvbW1pdExh
eWVyVHJlZUVuZCk7CisKICAgICBMT0coUmVtb3RlTGF5ZXJUcmVlLCAiJXMiLCBsYXllclRyZWVU
cmFuc2FjdGlvbi5kZXNjcmlwdGlvbigpLmRhdGEoKSk7CiAgICAgTE9HKFJlbW90ZUxheWVyVHJl
ZSwgIiVzIiwgc2Nyb2xsaW5nVHJlZVRyYW5zYWN0aW9uLmRlc2NyaXB0aW9uKCkuZGF0YSgpKTsK
IApAQCAtMzk2LDYgKzM5OSw4IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eTo6ZGkKICAgICAKICAgICBtX2hhdmVTZW50RGlkVXBkYXRlU2luY2VMYXN0Q29tbWl0ID0gdHJ1
ZTsKIAorICAgIFRyYWNlU2NvcGUgdHJhY2luZ1Njb3BlKFJBRkRpZFJlZnJlc2hEaXNwbGF5U3Rh
cnQsIFJBRkRpZFJlZnJlc2hEaXNwbGF5RW5kKTsKKwogICAgIC8vIFdhaXRpbmcgZm9yIENBIHRv
IGNvbW1pdCBpcyBpbnN1ZmZpY2llbnQsIGJlY2F1c2UgdGhlIHJlbmRlciBzZXJ2ZXIgY2FuIHN0
aWxsIGJlCiAgICAgLy8gdXNpbmcgb3VyIGJhY2tpbmcgc3RvcmUuIFdlIGNhbiBpbXByb3ZlIHRo
aXMgYnkgd2FpdGluZyBmb3IgdGhlIHJlbmRlciBzZXJ2ZXIgdG8gY29tbWl0CiAgICAgLy8gaWYg
d2UgZmluZCBBUEkgdG8gZG8gc28sIGJ1dCBmb3Igbm93IHdlIHdpbGwgbWFrZSBleHRyYSBidWZm
ZXJzIGlmIG5lZWQgYmUuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tCShyZXZp
c2lvbiAyMDIyODkpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Jl
bW90ZUxheWVyVHJlZUNvbnRleHQubW0JKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAK
ICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL01haW5GcmFt
ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CisjaW1wb3J0IDx3dGYvU3lzdGVtVHJhY2lu
Zy5oPgogI2ltcG9ydCA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKQEAgLTEwNiw2ICsxMDcsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NMYXll
cj4gUmVtb3RlTGF5CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dDo6YnVpbGRUcmFuc2Fj
dGlvbihSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIFBsYXRmb3JtQ0FM
YXllciYgcm9vdExheWVyKQogeworICAgIFRyYWNlU2NvcGUgdHJhY2luZ1Njb3BlKFJBRkJ1aWxk
VHJhbnNhY3Rpb25TdGFydCwgUkFGQnVpbGRUcmFuc2FjdGlvbkVuZCk7CisKICAgICBQbGF0Zm9y
bUNBTGF5ZXJSZW1vdGUmIHJvb3RMYXllclJlbW90ZSA9IGRvd25jYXN0PFBsYXRmb3JtQ0FMYXll
clJlbW90ZT4ocm9vdExheWVyKTsKICAgICB0cmFuc2FjdGlvbi5zZXRSb290TGF5ZXJJRChyb290
TGF5ZXJSZW1vdGUubGF5ZXJJRCgpKTsKIApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhLm1tCShyZXZpc2lvbiAyMDIyODkpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0zNyw2ICszNyw3IEBACiAjaW1wb3J0ICJSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
clRyYW5zYWN0aW9uLmgiCiAjaW1wb3J0ICJXZWJQYWdlLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNz
LmgiCisjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KICNpbXBvcnQgPFdlYkNvcmUv
RGVidWdQYWdlT3ZlcmxheXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWUuaD4KICNpbXBvcnQg
PFdlYkNvcmUvRnJhbWVWaWV3Lmg+CkBAIC00OCw3ICs0OSw3IEBACiAjaW1wb3J0IDxXZWJDb3Jl
L1JlbmRlclZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2V0dGluZ3MuaD4KICNpbXBvcnQgPFdl
YkNvcmUvVGlsZWRCYWNraW5nLmg+Ci0jaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4K
KyNpbXBvcnQgPHd0Zi9TeXN0ZW1UcmFjaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCkBAIC00MzYsNiArNDM3LDggQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6
Zmx1c2hMYQogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpkaWRVcGRhdGUoKQog
eworICAgIFRyYWNlU2NvcGUgdHJhY2luZ1Njb3BlKFJBRkRpZFVwZGF0ZVN0YXJ0LCBSQUZEaWRV
cGRhdGVFbmQpOworCiAgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHVzZSBhIGNvdW50ZWQgcmVw
bGFjZW1lbnQgZm9yIHNldExheWVyVHJlZVN0YXRlSXNGcm96ZW4sIGJ1dAogICAgIC8vIHRoZSBj
YWxsZXJzIG9mIHRoYXQgZnVuY3Rpb24gYXJlIG5vdCBzdHJpY3RseSBwYWlyZWQuCiAKQEAgLTQ4
NSw2ICs0ODgsOCBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpCYWNraW5nCiB7
CiAgICAgQVNTRVJUKCFtX2hhc0ZsdXNoZWQpOwogCisgICAgVHJhY2VTY29wZSB0cmFjaW5nU2Nv
cGUoUkFGQmFja2luZ1N0b3JlRmx1c2hTdGFydCwgUkFGQmFja2luZ1N0b3JlRmx1c2hFbmQpOwor
ICAgIAogICAgIGZvciAoYXV0byYgY29udGV4dCA6IG1fY29udGV4dHNUb0ZsdXNoKQogICAgICAg
ICBDR0NvbnRleHRGbHVzaChjb250ZXh0LmdldCgpKTsKICAgICBtX2hhc0ZsdXNoZWQgPSB0cnVl
OwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwko
cmV2aXNpb24gMjAyMjg5KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTYtMDYtMjEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdh
QGFwcGxlLGNvbT4KKworICAgICAgICBBZGQgc3lzdGVtIHRyYWNpbmcgcG9pbnRzIGZvciByZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoKSB3b3JrZmxvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4NzIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24g
RnJhc2VyLgorCisgICAgICAgIEFkZCBuZXcgcGxpc3QgZW50cmllcyB0byBiZSB1c2VkIGJ5IGtk
ZWJ1Z190cmFjZSgpIHZpZXdpbmcgdG9vbHMuCisKKyAgICAgICAgKiBUcmFjaW5nL1N5c3RlbVRy
YWNlUG9pbnRzLnBsaXN0OgorCiAyMDE2LTA2LTIxICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBydW4tamF2YXNjcmlwdGNvcmUtdGVzdHMgc2hvdWxkIGhh
dmUgZmxhZyB0byBza2lwIG1vemlsbGEgdGVzdHMKSW5kZXg6IFRvb2xzL1RyYWNpbmcvU3lzdGVt
VHJhY2VQb2ludHMucGxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVHJhY2luZy9TeXN0ZW1UcmFj
ZVBvaW50cy5wbGlzdAkocmV2aXNpb24gMjAyMjg5KQorKysgVG9vbHMvVHJhY2luZy9TeXN0ZW1U
cmFjZVBvaW50cy5wbGlzdAkod29ya2luZyBjb3B5KQpAQCAtNTUsNiArNTUsOTAgQEAKICAgICAg
ICAgICAgICAgICAgPGtleT5Db2RlRW5kPC9rZXk+CiAgICAgICAgICAgICAgICAgIDxzdHJpbmc+
NTAwODwvc3RyaW5nPgogICAgICAgICAgICAgIDwvZGljdD4KKyAgICAgICAgICAgICA8ZGljdD4K
KyAgICAgICAgICAgICAgICAgPGtleT5OYW1lPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJp
bmc+RGlzcGxheVJlZnJlc2hNb25pdG9yPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+
VHlwZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPkludGVydmFsPC9zdHJpbmc+Cisg
ICAgICAgICAgICAgICAgIDxrZXk+Q29tcG9uZW50PC9rZXk+CisgICAgICAgICAgICAgICAgIDxz
dHJpbmc+NDc8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2RlQmVnaW48L2tleT4K
KyAgICAgICAgICAgICAgICAgPHN0cmluZz41MDA5PC9zdHJpbmc+CisgICAgICAgICAgICAgICAg
IDxrZXk+Q29kZUVuZDwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPjUwMTA8L3N0cmlu
Zz4KKyAgICAgICAgICAgICA8L2RpY3Q+CisgICAgICAgICAgICAgPGRpY3Q+CisgICAgICAgICAg
ICAgICAgIDxrZXk+TmFtZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPlNjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlcjo6c2VydmljZVNjcmlwdGVkQW5pbWF0aW9ucygpPC9zdHJpbmc+
CisgICAgICAgICAgICAgICAgIDxrZXk+VHlwZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3Ry
aW5nPkludGVydmFsPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29tcG9uZW50PC9r
ZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+NDc8L3N0cmluZz4KKyAgICAgICAgICAgICAg
ICAgPGtleT5Db2RlQmVnaW48L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz41MDExPC9z
dHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUVuZDwva2V5PgorICAgICAgICAgICAg
ICAgICA8c3RyaW5nPjUwMTI8L3N0cmluZz4KKyAgICAgICAgICAgICA8L2RpY3Q+CisgICAgICAg
ICAgICAgPGRpY3Q+CisgICAgICAgICAgICAgICAgIDxrZXk+TmFtZTwva2V5PgorICAgICAgICAg
ICAgICAgICA8c3RyaW5nPlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpkaWRVcGRhdGUoKTwv
c3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PlR5cGU8L2tleT4KKyAgICAgICAgICAgICAg
ICAgPHN0cmluZz5JbnRlcnZhbDwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PkNvbXBv
bmVudDwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPjQ3PC9zdHJpbmc+CisgICAgICAg
ICAgICAgICAgIDxrZXk+Q29kZUJlZ2luPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+
MTIwMDE8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2RlRW5kPC9rZXk+CisgICAg
ICAgICAgICAgICAgIDxzdHJpbmc+MTIwMDI8L3N0cmluZz4KKyAgICAgICAgICAgICA8L2RpY3Q+
CisgICAgICAgICAgICAgPGRpY3Q+CisgICAgICAgICAgICAgICAgIDxrZXk+TmFtZTwva2V5Pgor
ICAgICAgICAgICAgICAgICA8c3RyaW5nPlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpCYWNr
aW5nU3RvcmVGbHVzaGVyOjpmbHVzaCgpPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+
VHlwZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPkludGVydmFsPC9zdHJpbmc+Cisg
ICAgICAgICAgICAgICAgIDxrZXk+Q29tcG9uZW50PC9rZXk+CisgICAgICAgICAgICAgICAgIDxz
dHJpbmc+NDc8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2RlQmVnaW48L2tleT4K
KyAgICAgICAgICAgICAgICAgPHN0cmluZz4xMjAwMzwvc3RyaW5nPgorICAgICAgICAgICAgICAg
ICA8a2V5PkNvZGVFbmQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz4xMjAwNDwvc3Ry
aW5nPgorICAgICAgICAgICAgIDwvZGljdD4KKyAgICAgICAgICAgICA8ZGljdD4KKyAgICAgICAg
ICAgICAgICAgPGtleT5OYW1lPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+UmVtb3Rl
TGF5ZXJUcmVlQ29udGV4dDo6YnVpbGRUcmFuc2FjdGlvbigpPC9zdHJpbmc+CisgICAgICAgICAg
ICAgICAgIDxrZXk+VHlwZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPkludGVydmFs
PC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29tcG9uZW50PC9rZXk+CisgICAgICAg
ICAgICAgICAgIDxzdHJpbmc+NDc8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2Rl
QmVnaW48L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz4xMjAwNTwvc3RyaW5nPgorICAg
ICAgICAgICAgICAgICA8a2V5PkNvZGVFbmQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmlu
Zz4xMjAwNjwvc3RyaW5nPgorICAgICAgICAgICAgIDwvZGljdD4KKyAgICAgICAgICAgICA8ZGlj
dD4KKyAgICAgICAgICAgICAgICAgPGtleT5OYW1lPC9rZXk+CisgICAgICAgICAgICAgICAgIDxz
dHJpbmc+UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6Y29tbWl0TGF5ZXJUcmVlKCk8
L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5UeXBlPC9rZXk+CisgICAgICAgICAgICAg
ICAgIDxzdHJpbmc+SW50ZXJ2YWw8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db21w
b25lbnQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz40Nzwvc3RyaW5nPgorICAgICAg
ICAgICAgICAgICA8a2V5PkNvZGVCZWdpbjwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5n
PjE0MDAxPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUVuZDwva2V5PgorICAg
ICAgICAgICAgICAgICA8c3RyaW5nPjE0MDAyPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9kaWN0
PgorICAgICAgICAgICAgIDxkaWN0PgorICAgICAgICAgICAgICAgICA8a2V5Pk5hbWU8L2tleT4K
KyAgICAgICAgICAgICAgICAgPHN0cmluZz5SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5
OjpkaWRSZWZyZXNoRGlzcGxheSgpPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+VHlw
ZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPkludGVydmFsPC9zdHJpbmc+CisgICAg
ICAgICAgICAgICAgIDxrZXk+Q29tcG9uZW50PC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJp
bmc+NDc8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db2RlQmVnaW48L2tleT4KKyAg
ICAgICAgICAgICAgICAgPHN0cmluZz4xNDAwMzwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8
a2V5PkNvZGVFbmQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz4xNDAwNDwvc3RyaW5n
PgorICAgICAgICAgICAgIDwvZGljdD4KICAgICAgICAgIDwvYXJyYXk+CiAgICAgIDwvZGljdD4K
ICA8L2FycmF5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281775</attachid>
            <date>2016-06-21 14:40:14 -0700</date>
            <delta_ts>2016-06-21 15:30:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158723-20160621144011.patch</filename>
            <type>text/plain</type>
            <size>16713</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMDIyODkpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE2LTA2LTIxICBTYWlkIEFib3UtSGFsbGF3YSAg
PHNhYm91aGFsbGF3YUBhcHBsZSxjb20+CisKKyAgICAgICAgQWRkIHN5c3RlbSB0cmFjaW5nIHBv
aW50cyBmb3IgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkgd29ya2Zsb3cKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODcyMworCisgICAgICAgIFJldmll
d2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBEZWZpbmUgbmV3IHRyYWNlIHNjb3JlIGNv
ZGVzIGZvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKS4KKworICAgICAgICAqIHd0Zi9TeXN0ZW1U
cmFjaW5nLmg6CisgICAgICAgIChXVEY6OlRyYWNlUG9pbnQpOgorICAgICAgICAoV1RGOjpUcmFj
ZVNjb3BlOjpUcmFjZVNjb3BlKToKKyAgICAgICAgKFdURjo6VHJhY2VTY29wZTo6flRyYWNlU2Nv
cGUpOgorCiAyMDE2LTA2LTIwICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjAyMTM2LgpJbmRleDogU291
cmNlL1dURi93dGYvU3lzdGVtVHJhY2luZy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3Rm
L1N5c3RlbVRyYWNpbmcuaAkocmV2aXNpb24gMjAyMjg5KQorKysgU291cmNlL1dURi93dGYvU3lz
dGVtVHJhY2luZy5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw0NiArNTIsNjQgQEAgZW51bSBUcmFj
ZVBvaW50Q29kZSB7CiAgICAgUGFpbnRWaWV3RW5kLAogICAgIFBhaW50TGF5ZXJTdGFydCwKICAg
ICBQYWludExheWVyRW5kLAorICAgIFJBRkRpc3BsYXlMaW5rU2NoZWR1bGVkLAorICAgIFJBRkRp
c3BsYXlMaW5rRmlyZWQsCisgICAgUkFGQ2FsbGJhY2tTdGFydCwKKyAgICBSQUZDYWxsYmFja0Vu
ZCwKIAogICAgIFdlYktpdFJhbmdlID0gMTAwMDAsCiAgICAgV2ViS2l0MlJhbmdlID0gMTIwMDAs
CisKKyAgICBSQUZEaWRVcGRhdGVTdGFydCwKKyAgICBSQUZEaWRVcGRhdGVFbmQsCisgICAgUkFG
QmFja2luZ1N0b3JlRmx1c2hTdGFydCwKKyAgICBSQUZCYWNraW5nU3RvcmVGbHVzaEVuZCwKKyAg
ICBSQUZCdWlsZFRyYW5zYWN0aW9uU3RhcnQsCisgICAgUkFGQnVpbGRUcmFuc2FjdGlvbkVuZCwK
KworICAgIFVJUHJvY2Vzc1JhbmdlID0gMTQwMDAsCisKKyAgICBSQUZDb21taXRMYXllclRyZWVT
dGFydCwKKyAgICBSQUZDb21taXRMYXllclRyZWVFbmQsCisgICAgUkFGRGlkUmVmcmVzaERpc3Bs
YXlTdGFydCwKKyAgICBSQUZEaWRSZWZyZXNoRGlzcGxheUVuZCwKIH07CiAKICNpZmRlZiBfX2Nw
bHVzcGx1cwogCiBuYW1lc3BhY2UgV1RGIHsKIAoraW5saW5lIHZvaWQgVHJhY2VQb2ludChUcmFj
ZVBvaW50Q29kZSBjb2RlKQoreworI2lmIEhBVkUoS0RFQlVHX0gpCisgICAga2RlYnVnX3RyYWNl
KEFSSUFETkVEQkdfQ09ERShXRUJLSVRfQ09NUE9ORU5ULCBjb2RlKSwgMCwgMCwgMCwgMCk7Cisj
ZWxzZQorICAgIFVOVVNFRF9QQVJBTShjb2RlKTsKKyNlbmRpZgorfQorCiBjbGFzcyBUcmFjZVNj
b3BlIHsKIHB1YmxpYzoKIAotI2lmIEhBVkUoS0RFQlVHX0gpCiAgICAgVHJhY2VTY29wZShUcmFj
ZVBvaW50Q29kZSBlbnRyeUNvZGUsIFRyYWNlUG9pbnRDb2RlIGV4aXRDb2RlKQogICAgICAgICA6
IG1fZXhpdENvZGUoZXhpdENvZGUpCiAgICAgewotICAgICAgICBrZGVidWdfdHJhY2UoQVJJQURO
RURCR19DT0RFKFdFQktJVF9DT01QT05FTlQsIGVudHJ5Q29kZSksIDAsIDAsIDAsIDApOworICAg
ICAgICBUcmFjZVBvaW50KGVudHJ5Q29kZSk7CiAgICAgfQotI2Vsc2UKLSAgICBUcmFjZVNjb3Bl
KFRyYWNlUG9pbnRDb2RlLCBUcmFjZVBvaW50Q29kZSkKLSAgICB7Ci0gICAgfQotI2VuZGlmCi0g
ICAgCisKICAgICB+VHJhY2VTY29wZSgpCiAgICAgewotI2lmIEhBVkUoS0RFQlVHX0gpCi0gICAg
ICAgIGtkZWJ1Z190cmFjZShBUklBRE5FREJHX0NPREUoV0VCS0lUX0NPTVBPTkVOVCwgbV9leGl0
Q29kZSksIDAsIDAsIDAsIDApOwotI2VuZGlmCisgICAgICAgIFRyYWNlUG9pbnQobV9leGl0Q29k
ZSk7CiAgICAgfQogCiBwcml2YXRlOgotI2lmIEhBVkUoS0RFQlVHX0gpCiAgICAgVHJhY2VQb2lu
dENvZGUgbV9leGl0Q29kZTsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKIHVz
aW5nIFdURjo6VHJhY2VTY29wZTsKK3VzaW5nIFdURjo6VHJhY2VQb2ludDsKIAogI2VuZGlmIC8v
IF9fY3BsdXNwbHVzCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMjI4OSkKKysrIFNvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE2
LTA2LTIxICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZSxjb20+CisKKyAg
ICAgICAgQWRkIHN5c3RlbSB0cmFjaW5nIHBvaW50cyBmb3IgcmVxdWVzdEFuaW1hdGlvbkZyYW1l
KCkgd29ya2Zsb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1ODcyMworCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAg
ICBBZGQgdHJhY2UgcG9pbnRzIGZvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKS4KKworICAgICAg
ICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpyZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFi
bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6c2Vy
dmljZVNjcmlwdGVkQW5pbWF0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXI6OndpbmRvd1NjcmVlbkRpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNjaGVkdWxlQW5pbWF0aW9uKToKKyAgICAg
ICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcklPUzo6cmVxdWVzdFJlZnJlc2hDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1M6OmRpc3BsYXlMaW5r
RmlyZWQpOgorCiAyMDE2LTA2LTIxICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4K
IAogICAgICAgICBJbXBsZW1lbnQgUmVuZGVyTWF0aE1MT3BlcmF0b3I6OmxheW91dEJsb2NrCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9s
bGVyLmNwcAkocmV2aXNpb24gMjAyMjg5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAK
ICNpbmNsdWRlICJSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oIgogI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9TeXN0ZW1UcmFj
aW5nLmg+CiAKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfVElNRVIpCiAjaW5jbHVk
ZSA8YWxnb3JpdGhtPgpAQCAtNjUsNiArNjYsMTEgQEAgU2NyaXB0ZWRBbmltYXRpb25Db250cm9s
bGVyOjp+U2NyaXB0ZWRBbgogewogfQogCitib29sIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
cjo6cmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
ZG9jdW1lbnQgJiYgKCFtX2RvY3VtZW50LT5zZXR0aW5ncygpIHx8IG1fZG9jdW1lbnQtPnNldHRp
bmdzKCktPnJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQoKSk7Cit9CisKIHZvaWQgU2NyaXB0
ZWRBbmltYXRpb25Db250cm9sbGVyOjpzdXNwZW5kKCkKIHsKICAgICArK21fc3VzcGVuZENvdW50
OwpAQCAtMTM2LDkgKzE0MiwxMSBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6
Y2FuY2VsCiAKIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzZXJ2aWNlU2NyaXB0
ZWRBbmltYXRpb25zKGRvdWJsZSBtb25vdG9uaWNUaW1lTm93KQogewotICAgIGlmICghbV9jYWxs
YmFja3Muc2l6ZSgpIHx8IG1fc3VzcGVuZENvdW50IHx8IChtX2RvY3VtZW50LT5zZXR0aW5ncygp
ICYmICFtX2RvY3VtZW50LT5zZXR0aW5ncygpLT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVk
KCkpKQorICAgIGlmICghbV9jYWxsYmFja3Muc2l6ZSgpIHx8IG1fc3VzcGVuZENvdW50IHx8ICFy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIFRy
YWNlU2NvcGUgdHJhY2luZ1Njb3BlKFJBRkNhbGxiYWNrU3RhcnQsIFJBRkNhbGxiYWNrRW5kKTsK
KyAgICAKICAgICBkb3VibGUgaGlnaFJlc05vd01zID0gMTAwMC4wICogbV9kb2N1bWVudC0+bG9h
ZGVyKCktPnRpbWluZygpLm1vbm90b25pY1RpbWVUb1plcm9CYXNlZERvY3VtZW50VGltZShtb25v
dG9uaWNUaW1lTm93KTsKICAgICBkb3VibGUgbGVnYWN5SGlnaFJlc05vd01zID0gMTAwMC4wICog
bV9kb2N1bWVudC0+bG9hZGVyKCktPnRpbWluZygpLm1vbm90b25pY1RpbWVUb1BzZXVkb1dhbGxU
aW1lKG1vbm90b25pY1RpbWVOb3cpOwogCkBAIC0xNzYsNyArMTg0LDcgQEAgdm9pZCBTY3JpcHRl
ZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNlcnZpYwogCiB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29u
dHJvbGxlcjo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJ
RCkKIHsKLSAgICBpZiAobV9kb2N1bWVudC0+c2V0dGluZ3MoKSAmJiAhbV9kb2N1bWVudC0+c2V0
dGluZ3MoKS0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpKQorICAgIGlmICghcmVxdWVz
dEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAjaWYgVVNFKFJFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikKICAgICBEaXNwbGF5UmVmcmVzaE1v
bml0b3JNYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkud2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3Bs
YXlJRCwgKnRoaXMpOwpAQCAtMTg3LDcgKzE5NSw3IEBAIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25D
b250cm9sbGVyOjp3aW5kb3cKIAogdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNj
aGVkdWxlQW5pbWF0aW9uKCkKIHsKLSAgICBpZiAoIW1fZG9jdW1lbnQgfHwgKG1fZG9jdW1lbnQt
PnNldHRpbmdzKCkgJiYgIW1fZG9jdW1lbnQtPnNldHRpbmdzKCktPnJlcXVlc3RBbmltYXRpb25G
cmFtZUVuYWJsZWQoKSkpCisgICAgaWYgKCFyZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKCkp
CiAgICAgICAgIHJldHVybjsKIAogI2lmIFVTRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9USU1F
UikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250
cm9sbGVyLmgJKHJldmlzaW9uIDIwMjI4OSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRl
ZEFuaW1hdGlvbkNvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBw
dWJsaWM6CiAgICAgfQogICAgIH5TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIoKTsKICAgICB2
b2lkIGNsZWFyRG9jdW1lbnRQb2ludGVyKCkgeyBtX2RvY3VtZW50ID0gbnVsbHB0cjsgfQorICAg
IGJvb2wgcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpIGNvbnN0OwogCiAgICAgdHlwZWRl
ZiBpbnQgQ2FsbGJhY2tJZDsKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvaW9zL0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1t
CShyZXZpc2lvbiAyMDIyODkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9p
b3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICsz
Miw3IEBACiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KICNpbXBvcnQgPHd0Zi9D
dXJyZW50VGltZS5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KKyNpbXBvcnQgPHd0Zi9T
eXN0ZW1UcmFjaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC05Nyw2ICs5
OCw4IEBAIGJvb2wgRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TOjpyZXF1ZXN0UmUKICAgICBpZiAo
IWlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIFRyYWNlUG9pbnQoUkFG
RGlzcGxheUxpbmtTY2hlZHVsZWQpOworICAgIAogICAgIGlmICghbV9oYW5kbGVyKSB7CiAgICAg
ICAgIG1faGFuZGxlciA9IGFkb3B0TlMoW1tXZWJEaXNwbGF5TGlua0hhbmRsZXIgYWxsb2NdIGlu
aXRXaXRoTW9uaXRvcjp0aGlzXSk7CiAgICAgICAgIHNldElzQWN0aXZlKHRydWUpOwpAQCAtMTIx
LDYgKzEyNCw4IEBAIHZvaWQgRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TOjpkaXNwbGF5TGkKICAg
ICBzZXRNb25vdG9uaWNBbmltYXRpb25TdGFydFRpbWUobWVkaWFUaW1lVG9DdXJyZW50VGltZShu
b3dTZWNvbmRzKSk7CiAKICAgICBoYW5kbGVEaXNwbGF5UmVmcmVzaGVkTm90aWZpY2F0aW9uT25N
YWluVGhyZWFkKHRoaXMpOworICAgIAorICAgIFRyYWNlUG9pbnQoUkFGRGlzcGxheUxpbmtGaXJl
ZCk7CiB9CiAKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMjI4OSkKKysrIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA2
LTIxICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZSxjb20+CisKKyAgICAg
ICAgQWRkIHN5c3RlbSB0cmFjaW5nIHBvaW50cyBmb3IgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCkg
d29ya2Zsb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1ODcyMworCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBB
ZGQgdHJhY2UgcG9pbnRzIGZvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6Y29tbWl0TGF5ZXJU
cmVlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6
ZGlkUmVmcmVzaERpc3BsYXkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVt
b3RlTGF5ZXJUcmVlQ29udGV4dC5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVl
Q29udGV4dDo6YnVpbGRUcmFuc2FjdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpCYWNraW5nU3RvcmVGbHVzaGVyOjpmbHVzaCk6CisK
IDIwMTYtMDYtMjEgIEFtaXIgQWxhdmkgIDxhYWxhdmlAYXBwbGUuY29tPgogCiAgICAgICAgIFVw
c3RyZWFtIFdLSFRUUENvb2tpZXNGb3JVUkwgZnJvbSBXZWJLaXRTeXN0ZW1JbnRlcmZhY2UgdG8g
T3BlblNvdXJjZQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQkocmV2aXNpb24g
MjAyMjg5KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYVByb3h5Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW1w
b3J0IDxXZWJDb3JlL0lPU3VyZmFjZVBvb2wuaD4KICNpbXBvcnQgPFdlYkNvcmUvTWFjaFNlbmRS
aWdodC5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJBY3Rpb25EaXNhYmxpbmdDQUxheWVyRGVsZWdh
dGUuaD4KKyNpbXBvcnQgPHd0Zi9TeXN0ZW1UcmFjaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBJ
UEM7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAgLTE3MSw2ICsxNzIsOCBAQCB2b2lkIFJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OndpCiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWFQcm94eTo6Y29tbWl0TGF5ZXJUcmVlKGNvbnN0IFJlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uJiBsYXllclRyZWVUcmFuc2FjdGlvbiwgY29uc3QgUmVtb3RlU2Nyb2xsaW5nQ29v
cmRpbmF0b3JUcmFuc2FjdGlvbiYgc2Nyb2xsaW5nVHJlZVRyYW5zYWN0aW9uKQogeworICAgIFRy
YWNlU2NvcGUgdHJhY2luZ1Njb3BlKFJBRkNvbW1pdExheWVyVHJlZVN0YXJ0LCBSQUZDb21taXRM
YXllclRyZWVFbmQpOworCiAgICAgTE9HKFJlbW90ZUxheWVyVHJlZSwgIiVzIiwgbGF5ZXJUcmVl
VHJhbnNhY3Rpb24uZGVzY3JpcHRpb24oKS5kYXRhKCkpOwogICAgIExPRyhSZW1vdGVMYXllclRy
ZWUsICIlcyIsIHNjcm9sbGluZ1RyZWVUcmFuc2FjdGlvbi5kZXNjcmlwdGlvbigpLmRhdGEoKSk7
CiAKQEAgLTM5Niw2ICszOTksOCBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHk6OmRpCiAgICAgCiAgICAgbV9oYXZlU2VudERpZFVwZGF0ZVNpbmNlTGFzdENvbW1pdCA9IHRy
dWU7CiAKKyAgICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShSQUZEaWRSZWZyZXNoRGlzcGxheVN0
YXJ0LCBSQUZEaWRSZWZyZXNoRGlzcGxheUVuZCk7CisKICAgICAvLyBXYWl0aW5nIGZvciBDQSB0
byBjb21taXQgaXMgaW5zdWZmaWNpZW50LCBiZWNhdXNlIHRoZSByZW5kZXIgc2VydmVyIGNhbiBz
dGlsbCBiZQogICAgIC8vIHVzaW5nIG91ciBiYWNraW5nIHN0b3JlLiBXZSBjYW4gaW1wcm92ZSB0
aGlzIGJ5IHdhaXRpbmcgZm9yIHRoZSByZW5kZXIgc2VydmVyIHRvIGNvbW1pdAogICAgIC8vIGlm
IHdlIGZpbmQgQVBJIHRvIGRvIHNvLCBidXQgZm9yIG5vdyB3ZSB3aWxsIG1ha2UgZXh0cmEgYnVm
ZmVycyBpZiBuZWVkIGJlLgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5tbQkocmV2
aXNpb24gMjAyMjg5KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9S
ZW1vdGVMYXllclRyZWVDb250ZXh0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBA
CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9NYWluRnJh
bWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGFnZS5oPgorI2ltcG9ydCA8d3RmL1N5c3RlbVRyYWNp
bmcuaD4KICNpbXBvcnQgPHd0Zi9UZW1wb3JhcnlDaGFuZ2UuaD4KIAogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CkBAIC0xMDYsNiArMTA3LDggQEAgc3RkOjp1bmlxdWVfcHRyPEdyYXBoaWNzTGF5
ZXI+IFJlbW90ZUxheQogCiB2b2lkIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OmJ1aWxkVHJhbnNh
Y3Rpb24oUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCBQbGF0Zm9ybUNB
TGF5ZXImIHJvb3RMYXllcikKIHsKKyAgICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShSQUZCdWls
ZFRyYW5zYWN0aW9uU3RhcnQsIFJBRkJ1aWxkVHJhbnNhY3Rpb25FbmQpOworCiAgICAgUGxhdGZv
cm1DQUxheWVyUmVtb3RlJiByb290TGF5ZXJSZW1vdGUgPSBkb3duY2FzdDxQbGF0Zm9ybUNBTGF5
ZXJSZW1vdGU+KHJvb3RMYXllcik7CiAgICAgdHJhbnNhY3Rpb24uc2V0Um9vdExheWVySUQocm9v
dExheWVyUmVtb3RlLmxheWVySUQoKSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYS5tbQkocmV2aXNpb24gMjAyMjg5KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQkod29ya2luZyBj
b3B5KQpAQCAtMzcsNiArMzcsNyBAQAogI2ltcG9ydCAiUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JUcmFuc2FjdGlvbi5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgogI2ltcG9ydCAiV2ViUHJvY2Vz
cy5oIgorI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0RlYnVnUGFnZU92ZXJsYXlzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgpAQCAtNDgsNyArNDksNyBAQAogI2ltcG9ydCA8V2ViQ29y
ZS9SZW5kZXJWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NldHRpbmdzLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1RpbGVkQmFja2luZy5oPgotI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+
CisjaW1wb3J0IDx3dGYvU3lzdGVtVHJhY2luZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIApAQCAtNDM2LDYgKzQzNyw4IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6
OmZsdXNoTGEKIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6ZGlkVXBkYXRlKCkK
IHsKKyAgICBUcmFjZVNjb3BlIHRyYWNpbmdTY29wZShSQUZEaWRVcGRhdGVTdGFydCwgUkFGRGlk
VXBkYXRlRW5kKTsKKwogICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgYSBjb3VudGVkIHJl
cGxhY2VtZW50IGZvciBzZXRMYXllclRyZWVTdGF0ZUlzRnJvemVuLCBidXQKICAgICAvLyB0aGUg
Y2FsbGVycyBvZiB0aGF0IGZ1bmN0aW9uIGFyZSBub3Qgc3RyaWN0bHkgcGFpcmVkLgogCkBAIC00
ODUsNiArNDg4LDggQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6QmFja2luZwog
ewogICAgIEFTU0VSVCghbV9oYXNGbHVzaGVkKTsKIAorICAgIFRyYWNlU2NvcGUgdHJhY2luZ1Nj
b3BlKFJBRkJhY2tpbmdTdG9yZUZsdXNoU3RhcnQsIFJBRkJhY2tpbmdTdG9yZUZsdXNoRW5kKTsK
KyAgICAKICAgICBmb3IgKGF1dG8mIGNvbnRleHQgOiBtX2NvbnRleHRzVG9GbHVzaCkKICAgICAg
ICAgQ0dDb250ZXh0Rmx1c2goY29udGV4dC5nZXQoKSk7CiAgICAgbV9oYXNGbHVzaGVkID0gdHJ1
ZTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDIwMjI4OSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE0IEBACisyMDE2LTA2LTIxICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3
YUBhcHBsZSxjb20+CisKKyAgICAgICAgQWRkIHN5c3RlbSB0cmFjaW5nIHBvaW50cyBmb3IgcmVx
dWVzdEFuaW1hdGlvbkZyYW1lKCkgd29ya2Zsb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODcyMworCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEZyYXNlci4KKworICAgICAgICBBZGQgbmV3IHBsaXN0IGVudHJpZXMgdG8gYmUgdXNlZCBieSBr
ZGVidWdfdHJhY2UoKSB2aWV3aW5nIHRvb2xzLgorCisgICAgICAgICogVHJhY2luZy9TeXN0ZW1U
cmFjZVBvaW50cy5wbGlzdDoKKwogMjAxNi0wNi0yMSAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFp
bkBhcHBsZS5jb20+CiAKICAgICAgICAgcnVuLWphdmFzY3JpcHRjb3JlLXRlc3RzIHNob3VsZCBo
YXZlIGZsYWcgdG8gc2tpcCBtb3ppbGxhIHRlc3RzCkluZGV4OiBUb29scy9UcmFjaW5nL1N5c3Rl
bVRyYWNlUG9pbnRzLnBsaXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1RyYWNpbmcvU3lzdGVtVHJh
Y2VQb2ludHMucGxpc3QJKHJldmlzaW9uIDIwMjI4OSkKKysrIFRvb2xzL1RyYWNpbmcvU3lzdGVt
VHJhY2VQb2ludHMucGxpc3QJKHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDkwIEBACiAgICAg
ICAgICAgICAgICAgIDxrZXk+Q29kZUVuZDwva2V5PgogICAgICAgICAgICAgICAgICA8c3RyaW5n
PjUwMDg8L3N0cmluZz4KICAgICAgICAgICAgICA8L2RpY3Q+CisgICAgICAgICAgICAgPGRpY3Q+
CisgICAgICAgICAgICAgICAgIDxrZXk+TmFtZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3Ry
aW5nPkRpc3BsYXlSZWZyZXNoTW9uaXRvcjwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5
PlR5cGU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz5JbnRlcnZhbDwvc3RyaW5nPgor
ICAgICAgICAgICAgICAgICA8a2V5PkNvbXBvbmVudDwva2V5PgorICAgICAgICAgICAgICAgICA8
c3RyaW5nPjQ3PC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUJlZ2luPC9rZXk+
CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+NTAwOTwvc3RyaW5nPgorICAgICAgICAgICAgICAg
ICA8a2V5PkNvZGVFbmQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz41MDEwPC9zdHJp
bmc+CisgICAgICAgICAgICAgPC9kaWN0PgorICAgICAgICAgICAgIDxkaWN0PgorICAgICAgICAg
ICAgICAgICA8a2V5Pk5hbWU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz5TY3JpcHRl
ZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNlcnZpY2VTY3JpcHRlZEFuaW1hdGlvbnMoKTwvc3RyaW5n
PgorICAgICAgICAgICAgICAgICA8a2V5PlR5cGU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0
cmluZz5JbnRlcnZhbDwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PkNvbXBvbmVudDwv
a2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPjQ3PC9zdHJpbmc+CisgICAgICAgICAgICAg
ICAgIDxrZXk+Q29kZUJlZ2luPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+NTAxMTwv
c3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PkNvZGVFbmQ8L2tleT4KKyAgICAgICAgICAg
ICAgICAgPHN0cmluZz41MDEyPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9kaWN0PgorICAgICAg
ICAgICAgIDxkaWN0PgorICAgICAgICAgICAgICAgICA8a2V5Pk5hbWU8L2tleT4KKyAgICAgICAg
ICAgICAgICAgPHN0cmluZz5SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6ZGlkVXBkYXRlKCk8
L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5UeXBlPC9rZXk+CisgICAgICAgICAgICAg
ICAgIDxzdHJpbmc+SW50ZXJ2YWw8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAgPGtleT5Db21w
b25lbnQ8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz40Nzwvc3RyaW5nPgorICAgICAg
ICAgICAgICAgICA8a2V5PkNvZGVCZWdpbjwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5n
PjEyMDAxPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUVuZDwva2V5PgorICAg
ICAgICAgICAgICAgICA8c3RyaW5nPjEyMDAyPC9zdHJpbmc+CisgICAgICAgICAgICAgPC9kaWN0
PgorICAgICAgICAgICAgIDxkaWN0PgorICAgICAgICAgICAgICAgICA8a2V5Pk5hbWU8L2tleT4K
KyAgICAgICAgICAgICAgICAgPHN0cmluZz5SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6QmFj
a2luZ1N0b3JlRmx1c2hlcjo6Zmx1c2goKTwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5
PlR5cGU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz5JbnRlcnZhbDwvc3RyaW5nPgor
ICAgICAgICAgICAgICAgICA8a2V5PkNvbXBvbmVudDwva2V5PgorICAgICAgICAgICAgICAgICA8
c3RyaW5nPjQ3PC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUJlZ2luPC9rZXk+
CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+MTIwMDM8L3N0cmluZz4KKyAgICAgICAgICAgICAg
ICAgPGtleT5Db2RlRW5kPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+MTIwMDQ8L3N0
cmluZz4KKyAgICAgICAgICAgICA8L2RpY3Q+CisgICAgICAgICAgICAgPGRpY3Q+CisgICAgICAg
ICAgICAgICAgIDxrZXk+TmFtZTwva2V5PgorICAgICAgICAgICAgICAgICA8c3RyaW5nPlJlbW90
ZUxheWVyVHJlZUNvbnRleHQ6OmJ1aWxkVHJhbnNhY3Rpb24oKTwvc3RyaW5nPgorICAgICAgICAg
ICAgICAgICA8a2V5PlR5cGU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz5JbnRlcnZh
bDwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PkNvbXBvbmVudDwva2V5PgorICAgICAg
ICAgICAgICAgICA8c3RyaW5nPjQ3PC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29k
ZUJlZ2luPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+MTIwMDU8L3N0cmluZz4KKyAg
ICAgICAgICAgICAgICAgPGtleT5Db2RlRW5kPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJp
bmc+MTIwMDY8L3N0cmluZz4KKyAgICAgICAgICAgICA8L2RpY3Q+CisgICAgICAgICAgICAgPGRp
Y3Q+CisgICAgICAgICAgICAgICAgIDxrZXk+TmFtZTwva2V5PgorICAgICAgICAgICAgICAgICA8
c3RyaW5nPlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJlZSgp
PC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+VHlwZTwva2V5PgorICAgICAgICAgICAg
ICAgICA8c3RyaW5nPkludGVydmFsPC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29t
cG9uZW50PC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+NDc8L3N0cmluZz4KKyAgICAg
ICAgICAgICAgICAgPGtleT5Db2RlQmVnaW48L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmlu
Zz4xNDAwMTwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PkNvZGVFbmQ8L2tleT4KKyAg
ICAgICAgICAgICAgICAgPHN0cmluZz4xNDAwMjwvc3RyaW5nPgorICAgICAgICAgICAgIDwvZGlj
dD4KKyAgICAgICAgICAgICA8ZGljdD4KKyAgICAgICAgICAgICAgICAgPGtleT5OYW1lPC9rZXk+
CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eTo6ZGlkUmVmcmVzaERpc3BsYXkoKTwvc3RyaW5nPgorICAgICAgICAgICAgICAgICA8a2V5PlR5
cGU8L2tleT4KKyAgICAgICAgICAgICAgICAgPHN0cmluZz5JbnRlcnZhbDwvc3RyaW5nPgorICAg
ICAgICAgICAgICAgICA8a2V5PkNvbXBvbmVudDwva2V5PgorICAgICAgICAgICAgICAgICA8c3Ry
aW5nPjQ3PC9zdHJpbmc+CisgICAgICAgICAgICAgICAgIDxrZXk+Q29kZUJlZ2luPC9rZXk+Cisg
ICAgICAgICAgICAgICAgIDxzdHJpbmc+MTQwMDM8L3N0cmluZz4KKyAgICAgICAgICAgICAgICAg
PGtleT5Db2RlRW5kPC9rZXk+CisgICAgICAgICAgICAgICAgIDxzdHJpbmc+MTQwMDQ8L3N0cmlu
Zz4KKyAgICAgICAgICAgICA8L2RpY3Q+CiAgICAgICAgICA8L2FycmF5PgogICAgICA8L2RpY3Q+
CiAgPC9hcnJheT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>