<?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>195526</bug_id>
          
          <creation_ts>2019-03-09 18:23:09 -0800</creation_ts>
          <short_desc>[Apple Pay] CanMakePaymentsWithActiveCard and OpenPaymentSetup should be async messages</short_desc>
          <delta_ts>2019-03-09 21:29:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>195078</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1514451</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-03-09 18:23:09 -0800</bug_when>
    <thetext>[Apple Pay] CanMakePaymentsWithActiveCard and OpenPaymentSetup should be async messages</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514458</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-09 18:29:54 -0800</bug_when>
    <thetext>&lt;rdar://problem/48745636&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514462</commentid>
    <comment_count>2</comment_count>
      <attachid>364154</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-03-09 18:38:25 -0800</bug_when>
    <thetext>Created attachment 364154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514473</commentid>
    <comment_count>3</comment_count>
      <attachid>364158</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-03-09 19:23:12 -0800</bug_when>
    <thetext>Created attachment 364158
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514486</commentid>
    <comment_count>4</comment_count>
      <attachid>364161</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-03-09 19:42:49 -0800</bug_when>
    <thetext>Created attachment 364161
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514490</commentid>
    <comment_count>5</comment_count>
      <attachid>364163</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-03-09 19:57:42 -0800</bug_when>
    <thetext>Created attachment 364163
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514493</commentid>
    <comment_count>6</comment_count>
      <attachid>364163</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-09 20:28:12 -0800</bug_when>
    <thetext>Comment on attachment 364163
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514509</commentid>
    <comment_count>7</comment_count>
      <attachid>364163</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-09 21:29:48 -0800</bug_when>
    <thetext>Comment on attachment 364163
Patch

Clearing flags on attachment: 364163

Committed r242681: &lt;https://trac.webkit.org/changeset/242681&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514510</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-09 21:29:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364154</attachid>
            <date>2019-03-09 18:38:25 -0800</date>
            <delta_ts>2019-03-09 19:23:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195526-20190309183824.patch</filename>
            <type>text/plain</type>
            <size>23091</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWViMWQ4ZDQ4NTJhYWNj
NzRhMTVhMWYwY2E1OGJkZDkyNjI2N2ZjNi4uYjg2OTZlNjI4MjlmZTY2YjFiNDE2YTc3ZGZmZjBk
OTcyN2U1NmExNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTAzLTA5ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBDYW5NYWtl
UGF5bWVudHNXaXRoQWN0aXZlQ2FyZCBhbmQgT3BlblBheW1lbnRTZXR1cCBzaG91bGQgYmUgYXN5
bmMgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5NTUyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3NDU2MzY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVu
dHMuY3BwOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNX
aXRoQWN0aXZlQ2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9y
OjpvcGVuUGF5bWVudFNldHVwKToKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRp
bmF0b3IuaDoKKwogMjAxOS0wMy0wOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtDb250ZW50Q2hhbmdlT2JzZXJ2ZXJdIFN0YXJ0IG9ic2VydmluZyBmb3IgY29u
dGVudCBjaGFuZ2UgYmV0d2VlbiB0b3VjaEVuZCBhbmQgbW91c2VNb3ZlZCBzdGFydApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA4MGJlOTk5NGRiY2Y1MGRiZGE3MTVjYWY4ODkyZGUzNzdjNGM5YTA2Li5iZjY4NGE3ZDc5
ZmMwMDAxNGJhNjI4MTU0ZDk4YjQ3N2QxYjMzMWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBA
CisyMDE5LTAzLTA5ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBb
QXBwbGUgUGF5XSBDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCBhbmQgT3BlblBheW1lbnRT
ZXR1cCBzaG91bGQgYmUgYXN5bmMgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTUyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3
NDU2MzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuTWFrZVBheW1lbnRzV2l0
aEFjdGl2ZUNhcmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6b3BlblBheW1lbnRTZXR1cCk6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Lmg6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5
bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cCk6CisgICAg
ICAgIChXZWJLaXQ6OmdlbmVyYXRlQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseUlE
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVPcGVuUGF5bWVudFNldHVwUmVw
bHlJRCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6
Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cFJlcGx5KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
ci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
Lm1lc3NhZ2VzLmluOgorCiAyMDE5LTAzLTA5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gU3RhcnQgb2JzZXJ2aW5nIGZv
ciBjb250ZW50IGNoYW5nZSBiZXR3ZWVuIHRvdWNoRW5kIGFuZCBtb3VzZU1vdmVkIHN0YXJ0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggMzk2MTcyM2M3ZmViZDA2ZmI4ZWExZWE0ZmQz
ZGRjN2Q4OWY3YzMxNy4uNjI0MzM0ZjlmMjVmNTBiZmNlMmY0ZWFkYTUwNjE0YjQ5ZDRkOGU5MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAzLTA5
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBD
YW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCBhbmQgT3BlblBheW1lbnRTZXR1cCBzaG91bGQg
YmUgYXN5bmMgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NTUyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3NDU2MzY+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW06CisgICAgICAgIChXZWJQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQ6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKToKKyAgICAg
ICAgKFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6b3BlblBheW1lbnRTZXR1cCk6CisKIDIw
MTktMDMtMDcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAog
ICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgc2hvdWxkIGV4ZWN1dGUgYmVmb3JlIHRoZSBu
ZXh0IGZyYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaAppbmRleCAzNWFjMGQxMzFkY2ZjOWQ1MWM4NmM2
ODRmOWFhOTI2NDVhMjBkZWM4Li5kOWFhM2ViZjU1N2RlZjU0MGY3Y2Y1MjdmNGFiMGZlNGNmYzQ2
MDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRD
b29yZGluYXRvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKQEAgLTQ5LDggKzQ5LDggQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCBPcHRpb25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1lbnROZXR3b3JrKGNvbnN0
IFN0cmluZyYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgPSAwOwot
ICAgIHZpcnR1YWwgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJp
bmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1
bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSA9IDA7Ci0gICAgdmlydHVh
bCB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjYW5NYWtlUGF5bWVudHNX
aXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiBkb21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sKT4mJikgPSAwOwogCiAgICAgdmlydHVhbCBib29sIHNob3dQYXltZW50VUkoY29uc3Qg
VVJMJiBvcmlnaW5hdGluZ1VSTCwgY29uc3QgVmVjdG9yPFVSTD4mIGxpbmtJY29uVVJMcywgY29u
c3QgQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFBheW1lbnRNZXJjaGFudFNlc3Npb24m
KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDNlYjY3NmVh
YTNkMDQwZTIyMjYyZTA1YmEzNWYxYmIyMWNmZjdmOTMuLmQ1NmUzMzc5YmM0YjcwYjRkYzIzMWQx
M2Q2NGE3MjMwNTEzODdlM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3Bw
CkBAIC0zMTYsOCArMzE2LDggQEAgY2xhc3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgZmluYWwgOiBw
dWJsaWMgSW5zcGVjdG9yQ2xpZW50IHsKIGNsYXNzIEVtcHR5UGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50IGZpbmFsIDogcHVibGljIFBheW1lbnRDb29yZGluYXRvckNsaWVudCB7CiAgICAgT3B0aW9u
YWw8U3RyaW5nPiB2YWxpZGF0ZWRQYXltZW50TmV0d29yayhjb25zdCBTdHJpbmcmKSBmaW5hbCB7
IHJldHVybiBXVEY6Om51bGxvcHQ7IH0KICAgICBib29sIGNhbk1ha2VQYXltZW50cygpIGZpbmFs
IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2Fy
ZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFsIHsgY2FsbE9uTWFpblRocmVhZChbY29tcGxldGlv
bkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0geyBjb21wbGV0aW9uSGFuZGxl
cihmYWxzZSk7IH0pOyB9Ci0gICAgdm9pZCBvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYsIFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikgZmluYWwgeyBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpXSB7IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsgfSk7IH0K
KyAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpIGZpbmFsIHsgY2FsbE9uTWFpblRocmVhZChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsgY29tcGxldGlvbkhhbmRsZXIoZmFs
c2UpOyB9KTsgfQorICAgIHZvaWQgb3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmLCBjb25z
dCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKSBmaW5hbCB7IGNhbGxPbk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNl
KTsgfSk7IH0KICAgICBib29sIHNob3dQYXltZW50VUkoY29uc3QgVVJMJiwgY29uc3QgVmVjdG9y
PFVSTD4mLCBjb25zdCBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCYpIGZpbmFsIHsgcmV0
dXJuIGZhbHNlOyB9CiAgICAgdm9pZCBjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihjb25zdCBQ
YXltZW50TWVyY2hhbnRTZXNzaW9uJikgZmluYWwgeyB9CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBw
aW5nTWV0aG9kU2VsZWN0aW9uKE9wdGlvbmFsPFNoaXBwaW5nTWV0aG9kVXBkYXRlPiYmKSBmaW5h
bCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29y
ZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0
b3IuY3BwCmluZGV4IDY2MWYxODA1N2QwMTdhNWRiZGRkZTg5NThkMzE1ODcxOWI2ZjcwMjYuLmVk
NzY3ZTU3OTFiMGRkNDQ4NmQwMzQyYTkwNWYwYmI1MTJlYzk4NTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtNjYsMTYgKzY2
LDE2IEBAIGJvb2wgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y2FuTWFrZVBheW1lbnRzKCkKICAg
ICByZXR1cm4gbV9jYW5NYWtlUGF5bWVudHM7CiB9CiAKLXZvaWQgTW9ja1BheW1lbnRDb29yZGlu
YXRvcjo6Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3Qg
U3RyaW5nJiwgRnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQg
TW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29u
c3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2Nv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGNhbk1ha2VQYXlt
ZW50c1dpdGhBY3RpdmVDYXJkID0gbV9jYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZF0gewor
ICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSwgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQgPSBtX2Nh
bk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkXSgpIG11dGFibGUgewogICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCk7CiAgICAgfSk7CiB9CiAK
LXZvaWQgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJp
bmcmLCBjb25zdCBTdHJpbmcmLCBGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQordm9pZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpvcGVuUGF5bWVudFNldHVwKGNvbnN0
IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSB7CisgICAgUnVuTG9v
cDo6bWFpbigpLmRpc3BhdGNoKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpXSgpIG11dGFibGUgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih0cnVlKTsK
ICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1l
bnRDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmgKaW5kZXggYTU0YzIxYTcxMWQ0YzFmYTZkMmU1M2E2ZGJkNjk1NjJkNTI3NGY1Yy4u
YjA3ZWEzZWZiNTY5ZWEzNWJlMzkxOWFmM2M3YmE5ZDNmOWY0OGQ3MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTY2LDggKzY2LDgg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICBPcHRpb25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1l
bnROZXR3b3JrKGNvbnN0IFN0cmluZyYpIGZpbmFsOwogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRz
KCkgZmluYWw7Ci0gICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYpOwotICAg
IHZvaWQgb3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBXVEY6
OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYpOworICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFj
dGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sKT4mJik7CisgICAgdm9pZCBvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogICAgIGJv
b2wgc2hvd1BheW1lbnRVSShjb25zdCBVUkwmLCBjb25zdCBWZWN0b3I8VVJMPiYsIGNvbnN0IEFw
cGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0JikgZmluYWw7CiAgICAgdm9pZCBjb21wbGV0ZU1l
cmNoYW50VmFsaWRhdGlvbihjb25zdCBQYXltZW50TWVyY2hhbnRTZXNzaW9uJikgZmluYWw7CiAg
ICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKE9wdGlvbmFsPFNoaXBwaW5n
TWV0aG9kVXBkYXRlPiYmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcAppbmRleCBhNjk1
YzY3NDRlY2I5YzIzNjczMDdhMmY1YjRmY2NiYjdiOGE3ZmRiLi42YmI1NmUyYzg5MTU5Nzg3MTRj
NGE2Mjk2ZTc0MWJmZTNiYzMxNTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
cHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCkBAIC03OCwy
MCArNzgsMTQgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuTWFrZVBheW1l
bnRzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYKICAgICByZXBseShwbGF0Zm9ybUNh
bk1ha2VQYXltZW50cygpKTsKIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6
Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgdWludDY0X3QgcmVxdWVzdElEKQordm9p
ZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNh
cmQoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWlu
TmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKLSAgICBwbGF0Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKG1lcmNoYW50SWRl
bnRpZmllciwgZG9tYWluTmFtZSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCByZXF1
ZXN0SURdKGJvb2wgY2FuTWFrZVBheW1lbnRzKSB7Ci0gICAgICAgIGlmIChhdXRvIHBheW1lbnRD
b29yZGluYXRvclByb3h5ID0gd2Vha1RoaXMuZ2V0KCkpCi0gICAgICAgICAgICBwYXltZW50Q29v
cmRpbmF0b3JQcm94eS0+c2VuZChNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjpDYW5N
YWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZFJlcGx5KHJlcXVlc3RJRCwgY2FuTWFrZVBheW1lbnRz
KSk7Ci0gICAgfSk7CisgICAgcGxhdGZvcm1DYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCht
ZXJjaGFudElkZW50aWZpZXIsIGRvbWFpbk5hbWUsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6b3BlblBheW1lbnRTZXR1
cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5O
YW1lLCB1aW50NjRfdCByZXF1ZXN0SUQpCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5
OjpvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIGRvbWFpbk5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgcGxhdGZvcm1PcGVuUGF5bWVudFNldHVwKG1lcmNoYW50
SWRlbnRpZmllciwgZG9tYWluTmFtZSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBy
ZXF1ZXN0SURdKGJvb2wgcmVzdWx0KSB7Ci0gICAgICAgIGlmIChhdXRvIHBheW1lbnRDb29yZGlu
YXRvclByb3h5ID0gd2Vha1RoaXMuZ2V0KCkpCi0gICAgICAgICAgICBwYXltZW50Q29vcmRpbmF0
b3JQcm94eS0+c2VuZChNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yOjpPcGVuUGF5bWVu
dFNldHVwUmVwbHkocmVxdWVzdElELCByZXN1bHQpKTsKLSAgICB9KTsKKyAgICBwbGF0Zm9ybU9w
ZW5QYXltZW50U2V0dXAobWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1lLCBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6
OnNob3dQYXltZW50VUkoY29uc3QgU3RyaW5nJiBvcmlnaW5hdGluZ1VSTFN0cmluZywgY29uc3Qg
VmVjdG9yPFN0cmluZz4mIGxpbmtJY29uVVJMU3RyaW5ncywgY29uc3QgV2ViQ29yZTo6QXBwbGVQ
YXlTZXNzaW9uUGF5bWVudFJlcXVlc3QmIHBheW1lbnRSZXF1ZXN0LCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgKaW5k
ZXggY2FhNWY5NWVjYWNlNmI4MTgyYjc4ZjZhMzk1NzJkNWY5NmVlOWVkYy4uMjFmOTY5OGQwZmU1
NTBkNWVjZGM4ZWEyYTY4MzU4MWU3YTc4NGMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oCkBAIC0x
MTIsOCArMTEyLDggQEAgcHJpdmF0ZToKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzCiAgICAgdm9p
ZCBhdmFpbGFibGVQYXltZW50TmV0d29ya3MoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChWZWN0b3I8
U3RyaW5nPiYmKT4mJik7CiAgICAgdm9pZCBjYW5NYWtlUGF5bWVudHMoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJik7Ci0gICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2Fy
ZChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5O
YW1lLCB1aW50NjRfdCByZXF1ZXN0SUQpOwotICAgIHZvaWQgb3BlblBheW1lbnRTZXR1cChjb25z
dCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCB1
aW50NjRfdCByZXF1ZXN0SUQpOworICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNh
cmQoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWlu
TmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CisgICAgdm9pZCBvcGVuUGF5
bWVudFNldHVwKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IGRvbWFpbk5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogICAgIHZvaWQg
c2hvd1BheW1lbnRVSShjb25zdCBTdHJpbmcmIG9yaWdpbmF0aW5nVVJMU3RyaW5nLCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgbGlua0ljb25VUkxTdHJpbmdzLCBjb25zdCBXZWJDb3JlOjpBcHBsZVBh
eVNlc3Npb25QYXltZW50UmVxdWVzdCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYp
OwogICAgIHZvaWQgY29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UGF5
bWVudE1lcmNoYW50U2Vzc2lvbiYpOwogICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ01ldGhvZFNl
bGVjdGlvbihjb25zdCBPcHRpb25hbDxXZWJDb3JlOjpTaGlwcGluZ01ldGhvZFVwZGF0ZT4mKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkv
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZDQ0NDZmNTk3NGU5
N2UzYmRiMDIzMDllMmFlNDk4MDU4NjgyYWM5OS4uZDEwOGQyNzJhY2JiY2E3YTYyODFkYmRiNWRj
ZmY1MjYyYmI3YzVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkv
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2FnZXMuaW4K
QEAgLTI4LDggKzI4LDggQEAgbWVzc2FnZXMgLT4gV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkg
ewogCiAgICAgQXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKCkgLT4gKFZlY3RvcjxTdHJpbmc+IGF2
YWlsYWJsZVBheW1lbnROZXR3b3JrcykgRGVsYXllZAogICAgIENhbk1ha2VQYXltZW50cygpIC0+
IChib29sIHJlc3VsdCkgRGVsYXllZAotICAgIENhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJk
KFN0cmluZyBtZXJjaGFudElkZW50aWZpZXIsIFN0cmluZyBkb21haW5OYW1lLCB1aW50NjRfdCBy
ZXF1ZXN0SUQpCi0gICAgT3BlblBheW1lbnRTZXR1cChTdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVy
LCBTdHJpbmcgZG9tYWluTmFtZSwgdWludDY0X3QgcmVxdWVzdElEKQorICAgIENhbk1ha2VQYXlt
ZW50c1dpdGhBY3RpdmVDYXJkKFN0cmluZyBtZXJjaGFudElkZW50aWZpZXIsIFN0cmluZyBkb21h
aW5OYW1lKSAtPiAoYm9vbCBjYW5NYWtlUGF5bWVudHMpIEFzeW5jCisgICAgT3BlblBheW1lbnRT
ZXR1cChTdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyLCBTdHJpbmcgZG9tYWluTmFtZSkgLT4gKGJv
b2wgcmVzdWx0KSBBc3luYwogCiAgICAgU2hvd1BheW1lbnRVSShTdHJpbmcgb3JpZ2luYXRpbmdV
UkxTdHJpbmcsIFZlY3RvcjxTdHJpbmc+IGxpbmtJY29uVVJMU3RyaW5ncywgV2ViQ29yZTo6QXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QgcGF5bWVudFJlcXVlc3QpIC0+IChib29sIHJlc3Vs
dCkgRGVsYXllZAogICAgIENvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKFdlYkNvcmU6OlBheW1l
bnRNZXJjaGFudFNlc3Npb24gcGF5bWVudE1lcmNoYW50U2Vzc2lvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
ci5jcHAKaW5kZXggYjM3NWM4ZTQyMWU5ZTY3Yjg0ZjY4ZmJhNGRjN2YyNmU2NTlkZWJjOS4uNTAx
Y2Q1M2EyNWY3ZWQxNjdjMmU5YjFmNjZkYjdmZjQyZWE1OTE1MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
ci5jcHAKQEAgLTg2LDM0ICs4NiwxNCBAQCBib29sIFdlYlBheW1lbnRDb29yZGluYXRvcjo6Y2Fu
TWFrZVBheW1lbnRzKCkKICAgICByZXR1cm4gY2FuTWFrZVBheW1lbnRzOwogfQogCi1zdGF0aWMg
dWludDY0X3QgZ2VuZXJhdGVDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZFJlcGx5SUQoKQor
dm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJk
KGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5h
bWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
Ci0gICAgc3RhdGljIHVpbnQ2NF90IGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkUmVwbHlJ
RDsKLQotICAgIHJldHVybiArK2Nhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkUmVwbHlJRDsK
LX0KLQotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1ha2VQYXltZW50c1dpdGhBY3Rp
dmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRv
bWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
Ci17Ci0gICAgYXV0byByZXBseUlEID0gZ2VuZXJhdGVDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZl
Q2FyZFJlcGx5SUQoKTsKLQotICAgIG1fcGVuZGluZ0Nhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVD
YXJkQ2FsbGJhY2tzLmFkZChyZXBseUlELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0g
ICAgbV93ZWJQYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpD
YW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChtZXJjaGFudElkZW50aWZpZXIsIGRvbWFpbk5h
bWUsIHJlcGx5SUQpKTsKLX0KLQotc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlT3BlblBheW1lbnRT
ZXR1cFJlcGx5SUQoKQotewotICAgIHN0YXRpYyB1aW50NjRfdCBvcGVuUGF5bWVudFNldHVwUmVw
bHlJRDsKLQotICAgIHJldHVybiArK29wZW5QYXltZW50U2V0dXBSZXBseUlEOworICAgIG1fd2Vi
UGFnZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5OjpDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChtZXJjaGFudElkZW50aWZpZXIsIGRv
bWFpbk5hbWUpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKLXZvaWQgV2ViUGF5
bWVudENvb3JkaW5hdG9yOjpvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJ
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAo
Ym9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvcjo6
b3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiBkb21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewotICAgIGF1dG8gcmVwbHlJRCA9IGdlbmVyYXRlT3BlblBheW1lbnRT
ZXR1cFJlcGx5SUQoKTsKLQotICAgIG1fcGVuZGluZ09wZW5QYXltZW50U2V0dXBDYWxsYmFja3Mu
YWRkKHJlcGx5SUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICBtX3dlYlBhZ2Uu
c2VuZChNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6Ok9wZW5QYXltZW50U2V0
dXAobWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1lLCByZXBseUlEKSk7CisgICAgbV93ZWJQ
YWdlLnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHk6Ok9wZW5QYXltZW50U2V0dXAobWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1lKSwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCiBib29sIFdlYlBheW1lbnRDb29yZGluYXRv
cjo6c2hvd1BheW1lbnRVSShjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJMLCBjb25zdCBWZWN0b3I8
VVJMPiYgbGlua0ljb25VUkxzLCBjb25zdCBXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50
UmVxdWVzdCYgcGF5bWVudFJlcXVlc3QpCkBAIC0xOTksMTggKzE3OSw2IEBAIHZvaWQgV2ViUGF5
bWVudENvb3JkaW5hdG9yOjpkaWRDYW5jZWxQYXltZW50U2Vzc2lvbigpCiAgICAgcGF5bWVudENv
b3JkaW5hdG9yKCkuZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oKTsKIH0KIAotdm9pZCBXZWJQYXlt
ZW50Q29vcmRpbmF0b3I6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkUmVwbHkodWludDY0
X3QgcmVxdWVzdElELCBib29sIGNhbk1ha2VQYXltZW50cykKLXsKLSAgICBhdXRvIGNhbGxiYWNr
ID0gbV9wZW5kaW5nQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRDYWxsYmFja3MudGFrZShy
ZXF1ZXN0SUQpOwotICAgIGNhbGxiYWNrKGNhbk1ha2VQYXltZW50cyk7Ci19Ci0KLXZvaWQgV2Vi
UGF5bWVudENvb3JkaW5hdG9yOjpvcGVuUGF5bWVudFNldHVwUmVwbHkodWludDY0X3QgcmVxdWVz
dElELCBib29sIHJlc3VsdCkKLXsKLSAgICBhdXRvIGNhbGxiYWNrID0gbV9wZW5kaW5nT3BlblBh
eW1lbnRTZXR1cENhbGxiYWNrcy50YWtlKHJlcXVlc3RJRCk7Ci0gICAgY2FsbGJhY2socmVzdWx0
KTsKLX0KLQogV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yJiBXZWJQYXltZW50Q29vcmRpbmF0
b3I6OnBheW1lbnRDb29yZGluYXRvcigpCiB7CiAgICAgcmV0dXJuIG1fd2ViUGFnZS5jb3JlUGFn
ZSgpLT5wYXltZW50Q29vcmRpbmF0b3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCA2NzEwNTQ0
MGRkYzgyMzM2YjIxZWMyM2Y1NzVlZDIwNjZhM2NlYmM0Li42ZTlhNDU4NzllM2RkMTJhN2U3NTg5
ZTdhMTY5NmQxMjA3NDZlMGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
QXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oCkBAIC01Nyw4ICs1Nyw4IEBA
IHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LgogICAg
IE9wdGlvbmFsPFN0cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3RyaW5nJikg
b3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5NYWtlUGF5bWVudHMoKSBvdmVycmlkZTsKLSAgICB2b2lk
IGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVu
dGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9v
bCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlOwotICAgIHZvaWQgb3BlblBheW1lbnRT
ZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21h
aW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBv
dmVycmlkZTsKKyAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0
cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgb3BlblBheW1l
bnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBk
b21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBvdmVycmlkZTsKICAg
ICBib29sIHNob3dQYXltZW50VUkoY29uc3QgVVJMJiBvcmlnaW5hdGluZ1VSTCwgY29uc3QgVmVj
dG9yPFVSTD4mIGxpbmtJY29uVVJMcywgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5
bWVudFJlcXVlc3QmKSBvdmVycmlkZTsKICAgICB2b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0
aW9uKGNvbnN0IFdlYkNvcmU6OlBheW1lbnRNZXJjaGFudFNlc3Npb24mKSBvdmVycmlkZTsKICAg
ICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oT3B0aW9uYWw8V2ViQ29yZTo6
U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpIG92ZXJyaWRlOwpAQCAtODEsOCArODEsNiBAQCBwcml2
YXRlOgogICAgIHZvaWQgZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0KGNvbnN0IFdlYkNvcmU6OlBh
eW1lbnRDb250YWN0Jik7CiAgICAgdm9pZCBkaWRTZWxlY3RQYXltZW50TWV0aG9kKGNvbnN0IFdl
YkNvcmU6OlBheW1lbnRNZXRob2QmKTsKICAgICB2b2lkIGRpZENhbmNlbFBheW1lbnRTZXNzaW9u
KCk7Ci0gICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZFJlcGx5KHVpbnQ2NF90
IHJlcXVlc3RJRCwgYm9vbCBjYW5NYWtlUGF5bWVudHMpOwotICAgIHZvaWQgb3BlblBheW1lbnRT
ZXR1cFJlcGx5KHVpbnQ2NF90IHJlcXVlc3RJRCwgYm9vbCByZXN1bHQpOwogCiAgICAgV2ViQ29y
ZTo6UGF5bWVudENvb3JkaW5hdG9yJiBwYXltZW50Q29vcmRpbmF0b3IoKTsKICAgICAKQEAgLTkx
LDkgKzg5LDYgQEAgcHJpdmF0ZToKIAogICAgIFdlYlBhZ2UmIG1fd2ViUGFnZTsKIAotICAgIEhh
c2hNYXA8dWludDY0X3QsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+PiBtX3BlbmRpbmdDYW5N
YWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZENhbGxiYWNrczsKLSAgICBIYXNoTWFwPHVpbnQ2NF90
LCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPj4gbV9wZW5kaW5nT3BlblBheW1lbnRTZXR1cENh
bGxiYWNrczsKLQogICAgIE9wdGlvbmFsPEF2YWlsYWJsZVBheW1lbnROZXR3b3Jrc1NldD4gbV9h
dmFpbGFibGVQYXltZW50TmV0d29ya3M7CiAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRD
b29yZGluYXRvci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3IubWVzc2FnZXMuaW4KaW5kZXggZDVkYzM3YzFjYmIxNGEw
OWMyNTJjOTFlMjQ3YTQ3ZjI2NDhiNDBjNy4uNzAxZjgzYTkyNWVlNWI5Y2Q2MjM4ZjhlMWU3MWQw
ZGU1ZmY2Y2NlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5
L1dlYlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLm1lc3NhZ2VzLmluCkBAIC0z
Miw4ICszMiw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBheW1lbnRDb29yZGluYXRvciB7CiAgICAgRGlk
U2VsZWN0U2hpcHBpbmdDb250YWN0KFdlYkNvcmU6OlBheW1lbnRDb250YWN0IHNoaXBwaW5nQ29u
dGFjdCkKICAgICBEaWRTZWxlY3RQYXltZW50TWV0aG9kKFdlYkNvcmU6OlBheW1lbnRNZXRob2Qg
cGF5bWVudE1ldGhvZCkKICAgICBEaWRDYW5jZWxQYXltZW50U2Vzc2lvbigpCi0gICAgQ2FuTWFr
ZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseSh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgY2Fu
TWFrZVBheW1lbnRzKQotICAgIE9wZW5QYXltZW50U2V0dXBSZXBseSh1aW50NjRfdCByZXF1ZXN0
SUQsIGJvb2wgcmVzdWx0KQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5h
dG9yQ2xpZW50LmgKaW5kZXggZWMwYzM0YTY5NThiYWI0MjM0MWVjZDA1MGEyMjdkOTgwOGJmNTU2
OS4uMDgwZDM2ZGM4N2E4ODAxYTc5ZmUxNGVmOTYxMTc2ZjMyOGM0OTJiMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5h
dG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKQEAgLTM4LDggKzM4LDggQEAgcHJpdmF0ZToK
IAogICAgIE9wdGlvbmFsPFN0cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3Ry
aW5nJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5NYWtlUGF5bWVudHMoKSBvdmVycmlkZTsKLSAg
ICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYsIGNvbnN0
IFN0cmluZyYsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
IG92ZXJyaWRlOwotICAgIHZvaWQgb3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNo
YW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZv
aWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKKyAgICB2b2lkIGNhbk1h
a2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgb3BlblBh
eW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBkb21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBvdmVycmlkZTsK
ICAgICBib29sIHNob3dQYXltZW50VUkoY29uc3QgVVJMJiwgY29uc3QgVmVjdG9yPFVSTD4mIGxp
bmtJY29uVVJMcywgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Qm
KSBvdmVycmlkZTsKICAgICB2b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFdl
YkNvcmU6OlBheW1lbnRNZXJjaGFudFNlc3Npb24mKSBvdmVycmlkZTsKICAgICB2b2lkIGNvbXBs
ZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24oT3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdNZXRo
b2RVcGRhdGU+JiYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50Lm1tCmluZGV4IGE1NjU0MzU0MWZmNzc5NTRkNzUwNmEzYjQ2ZmYwMWJlODIyNTY0ZjkuLmE1
N2YwYmZhNjg2YjVmYTkxNzU0YmM1ODY4MzYxNWQzYzkzMTU3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNs
aWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQ
YXltZW50Q29vcmRpbmF0b3JDbGllbnQubW0KQEAgLTQ4LDE2ICs0OCwxNiBAQCBib29sIFdlYlBh
eW1lbnRDb29yZGluYXRvckNsaWVudDo6Y2FuTWFrZVBheW1lbnRzKCkKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50OjpjYW5NYWtlUGF5bWVu
dHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBXVEY6OkZ1bmN0
aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQ6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7Ci0gICAgY2FsbE9uTWFpblRocmVhZChbY29tcGxldGlvbkhhbmRsZXIg
PSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgIGNhbGxPbk1haW5UaHJlYWQoW2Nv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7
CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKICAgICB9KTsKIH0KIAotdm9pZCBX
ZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6Om9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5n
JiwgY29uc3QgU3RyaW5nJiwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50OjpvcGVuUGF5bWVudFNl
dHVwKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgY2FsbE9uTWFpblRocmVhZChbY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgIGNhbGxP
bk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildKCkgbXV0YWJsZSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKICAgICB9
KTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364158</attachid>
            <date>2019-03-09 19:23:12 -0800</date>
            <delta_ts>2019-03-09 19:42:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195526-20190309192311.patch</filename>
            <type>text/plain</type>
            <size>23642</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWViMWQ4ZDQ4NTJhYWNj
NzRhMTVhMWYwY2E1OGJkZDkyNjI2N2ZjNi4uYjg2OTZlNjI4MjlmZTY2YjFiNDE2YTc3ZGZmZjBk
OTcyN2U1NmExNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTAzLTA5ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBDYW5NYWtl
UGF5bWVudHNXaXRoQWN0aXZlQ2FyZCBhbmQgT3BlblBheW1lbnRTZXR1cCBzaG91bGQgYmUgYXN5
bmMgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5NTUyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3NDU2MzY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVu
dHMuY3BwOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNX
aXRoQWN0aXZlQ2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9y
OjpvcGVuUGF5bWVudFNldHVwKToKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRp
bmF0b3IuaDoKKwogMjAxOS0wMy0wOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtDb250ZW50Q2hhbmdlT2JzZXJ2ZXJdIFN0YXJ0IG9ic2VydmluZyBmb3IgY29u
dGVudCBjaGFuZ2UgYmV0d2VlbiB0b3VjaEVuZCBhbmQgbW91c2VNb3ZlZCBzdGFydApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA4MGJlOTk5NGRiY2Y1MGRiZGE3MTVjYWY4ODkyZGUzNzdjNGM5YTA2Li5iZjY4NGE3ZDc5
ZmMwMDAxNGJhNjI4MTU0ZDk4YjQ3N2QxYjMzMWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBA
CisyMDE5LTAzLTA5ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBb
QXBwbGUgUGF5XSBDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCBhbmQgT3BlblBheW1lbnRT
ZXR1cCBzaG91bGQgYmUgYXN5bmMgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTUyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3
NDU2MzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuTWFrZVBheW1lbnRzV2l0
aEFjdGl2ZUNhcmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6b3BlblBheW1lbnRTZXR1cCk6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Lmg6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5
bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cCk6CisgICAg
ICAgIChXZWJLaXQ6OmdlbmVyYXRlQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseUlE
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVPcGVuUGF5bWVudFNldHVwUmVw
bHlJRCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6
Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cFJlcGx5KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
ci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
Lm1lc3NhZ2VzLmluOgorCiAyMDE5LTAzLTA5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gU3RhcnQgb2JzZXJ2aW5nIGZv
ciBjb250ZW50IGNoYW5nZSBiZXR3ZWVuIHRvdWNoRW5kIGFuZCBtb3VzZU1vdmVkIHN0YXJ0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggMzk2MTcyM2M3ZmViZDA2ZmI4ZWExZWE0ZmQz
ZGRjN2Q4OWY3YzMxNy4uNjI0MzM0ZjlmMjVmNTBiZmNlMmY0ZWFkYTUwNjE0YjQ5ZDRkOGU5MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAzLTA5
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBD
YW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCBhbmQgT3BlblBheW1lbnRTZXR1cCBzaG91bGQg
YmUgYXN5bmMgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NTUyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3NDU2MzY+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW06CisgICAgICAgIChXZWJQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQ6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKToKKyAgICAg
ICAgKFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6b3BlblBheW1lbnRTZXR1cCk6CisKIDIw
MTktMDMtMDcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAog
ICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgc2hvdWxkIGV4ZWN1dGUgYmVmb3JlIHRoZSBu
ZXh0IGZyYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggMTY0YmJhNzNkZTVjNGRhMTNmODhmZmYwY2RiODdk
NDBkYmUzZDFlZS4uNjU5ZmU3M2E0NjkxZDg3ODczYTViYzBhNTllNmQwYTRiZGQ2YTFiNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3Jk
aW5hdG9yLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIlBheW1lbnRBdXRob3JpemF0
aW9uU3RhdHVzLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgiCiAjaW5j
bHVkZSAiUGF5bWVudFNlc3Npb24uaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIu
aD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oCmluZGV4IDM1YWMwZDEzMWRjZmM5ZDUxYzg2YzY4NGY5YWE5MjY0NWEyMGRlYzgu
LmQ5YWEzZWJmNTU3ZGVmNTQwZjdjZjUyN2Y0YWIwZmU0Y2ZjNDYwOTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JD
bGllbnQuaApAQCAtNDksOCArNDksOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIE9wdGlvbmFs
PFN0cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3RyaW5nJikgPSAwOwogICAg
IHZpcnR1YWwgYm9vbCBjYW5NYWtlUGF5bWVudHMoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGNh
bk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgb3BlblBheW1lbnRT
ZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21h
aW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0
IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgb3Bl
blBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiBkb21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSA9IDA7CiAK
ICAgICB2aXJ0dWFsIGJvb2wgc2hvd1BheW1lbnRVSShjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJM
LCBjb25zdCBWZWN0b3I8VVJMPiYgbGlua0ljb25VUkxzLCBjb25zdCBBcHBsZVBheVNlc3Npb25Q
YXltZW50UmVxdWVzdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcGxldGVNZXJjaGFudFZh
bGlkYXRpb24oY29uc3QgUGF5bWVudE1lcmNoYW50U2Vzc2lvbiYpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggM2ViNjc2ZWFhM2QwNDBlMjIyNjJlMDViYTM1
ZjFiYjIxY2ZmN2Y5My4uZDU2ZTMzNzliYzRiNzBiNGRjMjMxZDEzZDY0YTcyMzA1MTM4N2UzYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTMxNiw4ICszMTYsOCBA
QCBjbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JDbGll
bnQgewogY2xhc3MgRW1wdHlQYXltZW50Q29vcmRpbmF0b3JDbGllbnQgZmluYWwgOiBwdWJsaWMg
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsKICAgICBPcHRpb25hbDxTdHJpbmc+IHZhbGlkYXRl
ZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0cmluZyYpIGZpbmFsIHsgcmV0dXJuIFdURjo6bnVsbG9w
dDsgfQogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0K
LSAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYsIFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikgZmluYWwgeyBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpXSB7IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsgfSk7IH0KLSAg
ICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RG
OjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBmaW5hbCB7IGNhbGxP
bk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildIHsgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOyB9KTsgfQorICAgIHZvaWQgY2FuTWFrZVBh
eW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWwgeyBjYWxs
T25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpXSgpIG11dGFibGUgeyBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7IH0pOyB9CisgICAgdm9p
ZCBvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFsIHsgY2FsbE9u
TWFpblRocmVhZChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oKSBtdXRhYmxlIHsgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOyB9KTsgfQogICAgIGJvb2wg
c2hvd1BheW1lbnRVSShjb25zdCBVUkwmLCBjb25zdCBWZWN0b3I8VVJMPiYsIGNvbnN0IEFwcGxl
UGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0JikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2
b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFBheW1lbnRNZXJjaGFudFNlc3Np
b24mKSBmaW5hbCB7IH0KICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24o
T3B0aW9uYWw8U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpIGZpbmFsIHsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggNjYxZjE4
MDU3ZDAxN2E1ZGJkZGRlODk1OGQzMTU4NzE5YjZmNzAyNi4uZWQ3NjdlNTc5MWIwZGQ0NDg2ZDAz
NDJhOTA1ZjBiYjUxMmVjOTg1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCkBAIC02NiwxNiArNjYsMTYgQEAgYm9vbCBNb2NrUGF5
bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHMoKQogICAgIHJldHVybiBtX2Nhbk1ha2VQ
YXltZW50czsKIH0KIAotdm9pZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVu
dHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBGdW5jdGlvbjx2
b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBNb2NrUGF5bWVudENvb3JkaW5h
dG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQogewotICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbY29tcGxldGlvbkhhbmRsZXIgPSBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQg
PSBtX2Nhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkXSB7CisgICAgUnVuTG9vcDo6bWFpbigp
LmRpc3BhdGNoKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
LCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCA9IG1fY2FuTWFrZVBheW1lbnRzV2l0aEFj
dGl2ZUNhcmRdKCkgbXV0YWJsZSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGNhbk1ha2VQ
YXltZW50c1dpdGhBY3RpdmVDYXJkKTsKICAgICB9KTsKIH0KIAotdm9pZCBNb2NrUGF5bWVudENv
b3JkaW5hdG9yOjpvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYs
IEZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIE1vY2tQYXlt
ZW50Q29vcmRpbmF0b3I6Om9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
IHsKLSAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NvbXBsZXRpb25IYW5kbGVyID0gV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcildIHsKKyAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2go
W2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJs
ZSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOwogICAgIH0pOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCBhNTRj
MjFhNzExZDRjMWZhNmQyZTUzYTZkYmQ2OTU2MmQ1Mjc0ZjVjLi5iMDdlYTNlZmI1NjllYTM1YmUz
OTE5YWYzYzdiYTlkM2Y5ZjQ4ZDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tQYXltZW50Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tQYXltZW50Q29vcmRpbmF0b3IuaApAQCAtNjYsOCArNjYsOCBAQCBwdWJsaWM6CiBwcml2YXRl
OgogICAgIE9wdGlvbmFsPFN0cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3Ry
aW5nJikgZmluYWw7CiAgICAgYm9vbCBjYW5NYWtlUGF5bWVudHMoKSBmaW5hbDsKLSAgICB2b2lk
IGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmlu
ZyYsIFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJik7Ci0gICAgdm9pZCBvcGVuUGF5bWVudFNl
dHVwKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFdURjo6RnVuY3Rpb248dm9pZChib29s
KT4mJik7CisgICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJp
bmcmLCBjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyAg
ICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAgICAgYm9vbCBzaG93UGF5bWVudFVJKGNv
bnN0IFVSTCYsIGNvbnN0IFZlY3RvcjxVUkw+JiwgY29uc3QgQXBwbGVQYXlTZXNzaW9uUGF5bWVu
dFJlcXVlc3QmKSBmaW5hbDsKICAgICB2b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNv
bnN0IFBheW1lbnRNZXJjaGFudFNlc3Npb24mKSBmaW5hbDsKICAgICB2b2lkIGNvbXBsZXRlU2hp
cHBpbmdNZXRob2RTZWxlY3Rpb24oT3B0aW9uYWw8U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpIGZp
bmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCmluZGV4IGE2OTVjNjc0NGVjYjljMjM2NzMwN2Ey
ZjViNGZjY2JiN2I4YTdmZGIuLjZiYjU2ZTJjODkxNTk3ODcxNGM0YTYyOTZlNzQxYmZlM2JjMzE1
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9X
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAKQEAgLTc4LDIwICs3OCwxNCBAQCB2b2lkIFdl
YlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5NYWtlUGF5bWVudHMoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJgogICAgIHJlcGx5KHBsYXRmb3JtQ2FuTWFrZVBheW1lbnRzKCkpOwog
fQogCi12b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpjYW5NYWtlUGF5bWVudHNXaXRo
QWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBkb21haW5OYW1lLCB1aW50NjRfdCByZXF1ZXN0SUQpCit2b2lkIFdlYlBheW1lbnRDb29yZGlu
YXRvclByb3h5OjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1l
cmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIHBsYXRmb3JtQ2Fu
TWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQobWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1l
LCBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHJlcXVlc3RJRF0oYm9vbCBjYW5NYWtl
UGF5bWVudHMpIHsKLSAgICAgICAgaWYgKGF1dG8gcGF5bWVudENvb3JkaW5hdG9yUHJveHkgPSB3
ZWFrVGhpcy5nZXQoKSkKLSAgICAgICAgICAgIHBheW1lbnRDb29yZGluYXRvclByb3h5LT5zZW5k
KE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OkNhbk1ha2VQYXltZW50c1dpdGhBY3Rp
dmVDYXJkUmVwbHkocmVxdWVzdElELCBjYW5NYWtlUGF5bWVudHMpKTsKLSAgICB9KTsKKyAgICBw
bGF0Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKG1lcmNoYW50SWRlbnRpZmllciwg
ZG9tYWluTmFtZSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIFdlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5OjpvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYgbWVy
Y2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIHVpbnQ2NF90IHJlcXVl
c3RJRCkKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6Om9wZW5QYXltZW50U2V0dXAo
Y29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFt
ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
LSAgICBwbGF0Zm9ybU9wZW5QYXltZW50U2V0dXAobWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5O
YW1lLCBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHJlcXVlc3RJRF0oYm9vbCByZXN1
bHQpIHsKLSAgICAgICAgaWYgKGF1dG8gcGF5bWVudENvb3JkaW5hdG9yUHJveHkgPSB3ZWFrVGhp
cy5nZXQoKSkKLSAgICAgICAgICAgIHBheW1lbnRDb29yZGluYXRvclByb3h5LT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3I6Ok9wZW5QYXltZW50U2V0dXBSZXBseShyZXF1ZXN0
SUQsIHJlc3VsdCkpOwotICAgIH0pOworICAgIHBsYXRmb3JtT3BlblBheW1lbnRTZXR1cChtZXJj
aGFudElkZW50aWZpZXIsIGRvbWFpbk5hbWUsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
IH0KIAogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6c2hvd1BheW1lbnRVSShjb25z
dCBTdHJpbmcmIG9yaWdpbmF0aW5nVVJMU3RyaW5nLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgbGlu
a0ljb25VUkxTdHJpbmdzLCBjb25zdCBXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVx
dWVzdCYgcGF5bWVudFJlcXVlc3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaAppbmRleCBjYWE1Zjk1ZWNhY2U2Yjgx
ODJiNzhmNmEzOTU3MmQ1Zjk2ZWU5ZWRjLi4yMWY5Njk4ZDBmZTU1MGQ1ZWNkYzhlYTJhNjgzNTgx
ZTdhNzg0YzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxl
UGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgKQEAgLTExMiw4ICsxMTIsOCBAQCBwcml2
YXRlOgogICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMKICAgICB2b2lkIGF2YWlsYWJsZVBheW1lbnRO
ZXR3b3JrcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTdHJpbmc+JiYpPiYmKTsKICAg
ICB2b2lkIGNhbk1ha2VQYXltZW50cyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsK
LSAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVy
Y2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIHVpbnQ2NF90IHJlcXVl
c3RJRCk7Ci0gICAgdm9pZCBvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJ
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIHVpbnQ2NF90IHJlcXVlc3RJRCk7
CisgICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1l
cmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyAgICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3Ry
aW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAgICAgdm9pZCBzaG93UGF5bWVudFVJKGNvbnN0
IFN0cmluZyYgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBsaW5r
SWNvblVSTFN0cmluZ3MsIGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1
ZXN0JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAgICAgdm9pZCBjb21wbGV0
ZU1lcmNoYW50VmFsaWRhdGlvbihjb25zdCBXZWJDb3JlOjpQYXltZW50TWVyY2hhbnRTZXNzaW9u
Jik7CiAgICAgdm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKGNvbnN0IE9wdGlv
bmFsPFdlYkNvcmU6OlNoaXBwaW5nTWV0aG9kVXBkYXRlPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eS5tZXNzYWdlcy5pbgppbmRleCBkNDQ0NmY1OTc0ZTk3ZTNiZGIwMjMwOWUyYWU0OTgw
NTg2ODJhYzk5Li5kMTA4ZDI3MmFjYmJjYTdhNjI4MWRiZGI1ZGNmZjUyNjJiYjdjNWU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9X
ZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjgsOCArMjgsOCBAQCBt
ZXNzYWdlcyAtPiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eSB7CiAKICAgICBBdmFpbGFibGVQ
YXltZW50TmV0d29ya3MoKSAtPiAoVmVjdG9yPFN0cmluZz4gYXZhaWxhYmxlUGF5bWVudE5ldHdv
cmtzKSBEZWxheWVkCiAgICAgQ2FuTWFrZVBheW1lbnRzKCkgLT4gKGJvb2wgcmVzdWx0KSBEZWxh
eWVkCi0gICAgQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoU3RyaW5nIG1lcmNoYW50SWRl
bnRpZmllciwgU3RyaW5nIGRvbWFpbk5hbWUsIHVpbnQ2NF90IHJlcXVlc3RJRCkKLSAgICBPcGVu
UGF5bWVudFNldHVwKFN0cmluZyBtZXJjaGFudElkZW50aWZpZXIsIFN0cmluZyBkb21haW5OYW1l
LCB1aW50NjRfdCByZXF1ZXN0SUQpCisgICAgQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQo
U3RyaW5nIG1lcmNoYW50SWRlbnRpZmllciwgU3RyaW5nIGRvbWFpbk5hbWUpIC0+IChib29sIGNh
bk1ha2VQYXltZW50cykgQXN5bmMKKyAgICBPcGVuUGF5bWVudFNldHVwKFN0cmluZyBtZXJjaGFu
dElkZW50aWZpZXIsIFN0cmluZyBkb21haW5OYW1lKSAtPiAoYm9vbCByZXN1bHQpIEFzeW5jCiAK
ICAgICBTaG93UGF5bWVudFVJKFN0cmluZyBvcmlnaW5hdGluZ1VSTFN0cmluZywgVmVjdG9yPFN0
cmluZz4gbGlua0ljb25VUkxTdHJpbmdzLCBXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50
UmVxdWVzdCBwYXltZW50UmVxdWVzdCkgLT4gKGJvb2wgcmVzdWx0KSBEZWxheWVkCiAgICAgQ29t
cGxldGVNZXJjaGFudFZhbGlkYXRpb24oV2ViQ29yZTo6UGF5bWVudE1lcmNoYW50U2Vzc2lvbiBw
YXltZW50TWVyY2hhbnRTZXNzaW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcAppbmRleCBiMzc1Yzhl
NDIxZTllNjdiODRmNjhmYmE0ZGM3ZjI2ZTY1OWRlYmM5Li41MDFjZDUzYTI1ZjdlZDE2N2MyZTli
MWY2NmRiN2ZmNDJlYTU5MTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
QXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtODYsMzQgKzg2
LDE0IEBAIGJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHMoKQogICAg
IHJldHVybiBjYW5NYWtlUGF5bWVudHM7CiB9CiAKLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZUNh
bk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkUmVwbHlJRCgpCit2b2lkIFdlYlBheW1lbnRDb29y
ZGluYXRvcjo6Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiBtZXJj
aGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBzdGF0aWMgdWludDY0
X3QgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseUlEOwotCi0gICAgcmV0dXJuICsr
Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseUlEOwotfQotCi12b2lkIFdlYlBheW1l
bnRDb29yZGluYXRvcjo6Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5n
JiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5j
dGlvbjx2b2lkIChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKLXsKLSAgICBhdXRvIHJlcGx5
SUQgPSBnZW5lcmF0ZUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkUmVwbHlJRCgpOwotCi0g
ICAgbV9wZW5kaW5nQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRDYWxsYmFja3MuYWRkKHJl
cGx5SUQsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICBtX3dlYlBhZ2Uuc2VuZChN
ZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OkNhbk1ha2VQYXltZW50c1dpdGhB
Y3RpdmVDYXJkKG1lcmNoYW50SWRlbnRpZmllciwgZG9tYWluTmFtZSwgcmVwbHlJRCkpOwotfQot
Ci1zdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVPcGVuUGF5bWVudFNldHVwUmVwbHlJRCgpCi17Ci0g
ICAgc3RhdGljIHVpbnQ2NF90IG9wZW5QYXltZW50U2V0dXBSZXBseUlEOwotCi0gICAgcmV0dXJu
ICsrb3BlblBheW1lbnRTZXR1cFJlcGx5SUQ7CisgICAgbV93ZWJQYWdlLnNlbmRXaXRoQXN5bmNS
ZXBseShNZXNzYWdlczo6V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OkNhbk1ha2VQYXltZW50
c1dpdGhBY3RpdmVDYXJkKG1lcmNoYW50SWRlbnRpZmllciwgZG9tYWluTmFtZSksIFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6Om9w
ZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpvcGVuUGF5bWVudFNldHVwKGNv
bnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0g
ICAgYXV0byByZXBseUlEID0gZ2VuZXJhdGVPcGVuUGF5bWVudFNldHVwUmVwbHlJRCgpOwotCi0g
ICAgbV9wZW5kaW5nT3BlblBheW1lbnRTZXR1cENhbGxiYWNrcy5hZGQocmVwbHlJRCwgV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOwotICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eTo6T3BlblBheW1lbnRTZXR1cChtZXJjaGFudElkZW50aWZp
ZXIsIGRvbWFpbk5hbWUsIHJlcGx5SUQpKTsKKyAgICBtX3dlYlBhZ2Uuc2VuZFdpdGhBc3luY1Jl
cGx5KE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6T3BlblBheW1lbnRTZXR1
cChtZXJjaGFudElkZW50aWZpZXIsIGRvbWFpbk5hbWUpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiB9CiAKIGJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpzaG93UGF5bWVudFVJKGNv
bnN0IFVSTCYgb3JpZ2luYXRpbmdVUkwsIGNvbnN0IFZlY3RvcjxVUkw+JiBsaW5rSWNvblVSTHMs
IGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0JiBwYXltZW50UmVx
dWVzdCkKQEAgLTE5OSwxOCArMTc5LDYgQEAgdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmRp
ZENhbmNlbFBheW1lbnRTZXNzaW9uKCkKICAgICBwYXltZW50Q29vcmRpbmF0b3IoKS5kaWRDYW5j
ZWxQYXltZW50U2Vzc2lvbigpOwogfQogCi12b2lkIFdlYlBheW1lbnRDb29yZGluYXRvcjo6Y2Fu
TWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseSh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wg
Y2FuTWFrZVBheW1lbnRzKQotewotICAgIGF1dG8gY2FsbGJhY2sgPSBtX3BlbmRpbmdDYW5NYWtl
UGF5bWVudHNXaXRoQWN0aXZlQ2FyZENhbGxiYWNrcy50YWtlKHJlcXVlc3RJRCk7Ci0gICAgY2Fs
bGJhY2soY2FuTWFrZVBheW1lbnRzKTsKLX0KLQotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6
Om9wZW5QYXltZW50U2V0dXBSZXBseSh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgcmVzdWx0KQot
ewotICAgIGF1dG8gY2FsbGJhY2sgPSBtX3BlbmRpbmdPcGVuUGF5bWVudFNldHVwQ2FsbGJhY2tz
LnRha2UocmVxdWVzdElEKTsKLSAgICBjYWxsYmFjayhyZXN1bHQpOwotfQotCiBXZWJDb3JlOjpQ
YXltZW50Q29vcmRpbmF0b3ImIFdlYlBheW1lbnRDb29yZGluYXRvcjo6cGF5bWVudENvb3JkaW5h
dG9yKCkKIHsKICAgICByZXR1cm4gbV93ZWJQYWdlLmNvcmVQYWdlKCktPnBheW1lbnRDb29yZGlu
YXRvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dl
YlBheW1lbnRDb29yZGluYXRvci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5
L1dlYlBheW1lbnRDb29yZGluYXRvci5oCmluZGV4IDY3MTA1NDQwZGRjODIzMzZiMjFlYzIzZjU3
NWVkMjA2NmEzY2ViYzQuLjZlOWE0NTg3OWUzZGQxMmE3ZTc1ODllN2ExNjk2ZDEyMDc0NmUwYTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50
Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2Vi
UGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTU3LDggKzU3LDggQEAgcHJpdmF0ZToKICAgICAvLyBX
ZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuCiAgICAgT3B0aW9uYWw8U3RyaW5nPiB2
YWxpZGF0ZWRQYXltZW50TmV0d29yayhjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKICAgICBib29s
IGNhbk1ha2VQYXltZW50cygpIG92ZXJyaWRlOwotICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0
aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYg
bWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rp
b248dm9pZCAoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlOworICAgIHZvaWQg
Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmlu
ZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIG92ZXJyaWRlOwogICAgIGJvb2wgc2hvd1BheW1lbnRV
SShjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJMLCBjb25zdCBWZWN0b3I8VVJMPiYgbGlua0ljb25V
UkxzLCBjb25zdCBXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCYpIG92ZXJy
aWRlOwogICAgIHZvaWQgY29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6
UGF5bWVudE1lcmNoYW50U2Vzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tcGxldGVTaGlw
cGluZ01ldGhvZFNlbGVjdGlvbihPcHRpb25hbDxXZWJDb3JlOjpTaGlwcGluZ01ldGhvZFVwZGF0
ZT4mJikgb3ZlcnJpZGU7CkBAIC04MSw4ICs4MSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRT
ZWxlY3RTaGlwcGluZ0NvbnRhY3QoY29uc3QgV2ViQ29yZTo6UGF5bWVudENvbnRhY3QmKTsKICAg
ICB2b2lkIGRpZFNlbGVjdFBheW1lbnRNZXRob2QoY29uc3QgV2ViQ29yZTo6UGF5bWVudE1ldGhv
ZCYpOwogICAgIHZvaWQgZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oKTsKLSAgICB2b2lkIGNhbk1h
a2VQYXltZW50c1dpdGhBY3RpdmVDYXJkUmVwbHkodWludDY0X3QgcmVxdWVzdElELCBib29sIGNh
bk1ha2VQYXltZW50cyk7Ci0gICAgdm9pZCBvcGVuUGF5bWVudFNldHVwUmVwbHkodWludDY0X3Qg
cmVxdWVzdElELCBib29sIHJlc3VsdCk7CiAKICAgICBXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0
b3ImIHBheW1lbnRDb29yZGluYXRvcigpOwogICAgIApAQCAtOTEsOSArODksNiBAQCBwcml2YXRl
OgogCiAgICAgV2ViUGFnZSYgbV93ZWJQYWdlOwogCi0gICAgSGFzaE1hcDx1aW50NjRfdCwgV1RG
OjpGdW5jdGlvbjx2b2lkIChib29sKT4+IG1fcGVuZGluZ0Nhbk1ha2VQYXltZW50c1dpdGhBY3Rp
dmVDYXJkQ2FsbGJhY2tzOwotICAgIEhhc2hNYXA8dWludDY0X3QsIFdURjo6RnVuY3Rpb248dm9p
ZCAoYm9vbCk+PiBtX3BlbmRpbmdPcGVuUGF5bWVudFNldHVwQ2FsbGJhY2tzOwotCiAgICAgT3B0
aW9uYWw8QXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzU2V0PiBtX2F2YWlsYWJsZVBheW1lbnROZXR3
b3JrczsKIAogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGlu
YXRvci5tZXNzYWdlcy5pbgppbmRleCBkNWRjMzdjMWNiYjE0YTA5YzI1MmM5MWUyNDdhNDdmMjY0
OGI0MGM3Li43MDFmODNhOTI1ZWU1YjljZDYyMzhmOGUxZTcxZDBkZTVmZjZjY2UwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5h
dG9yLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9X
ZWJQYXltZW50Q29vcmRpbmF0b3IubWVzc2FnZXMuaW4KQEAgLTMyLDggKzMyLDYgQEAgbWVzc2Fn
ZXMgLT4gV2ViUGF5bWVudENvb3JkaW5hdG9yIHsKICAgICBEaWRTZWxlY3RTaGlwcGluZ0NvbnRh
Y3QoV2ViQ29yZTo6UGF5bWVudENvbnRhY3Qgc2hpcHBpbmdDb250YWN0KQogICAgIERpZFNlbGVj
dFBheW1lbnRNZXRob2QoV2ViQ29yZTo6UGF5bWVudE1ldGhvZCBwYXltZW50TWV0aG9kKQogICAg
IERpZENhbmNlbFBheW1lbnRTZXNzaW9uKCkKLSAgICBDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZl
Q2FyZFJlcGx5KHVpbnQ2NF90IHJlcXVlc3RJRCwgYm9vbCBjYW5NYWtlUGF5bWVudHMpCi0gICAg
T3BlblBheW1lbnRTZXR1cFJlcGx5KHVpbnQ2NF90IHJlcXVlc3RJRCwgYm9vbCByZXN1bHQpCiB9
CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaAppbmRleCBl
YzBjMzRhNjk1OGJhYjQyMzQxZWNkMDUwYTIyN2Q5ODA4YmY1NTY5Li4wODBkMzZkYzg3YTg4MDFh
NzlmZTE0ZWY5NjExNzZmMzI4YzQ5MmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQuaApAQCAtMzgsOCArMzgsOCBAQCBwcml2YXRlOgogCiAgICAgT3B0aW9uYWw8U3Ry
aW5nPiB2YWxpZGF0ZWRQYXltZW50TmV0d29yayhjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKICAg
ICBib29sIGNhbk1ha2VQYXltZW50cygpIG92ZXJyaWRlOwotICAgIHZvaWQgY2FuTWFrZVBheW1l
bnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RGOjpGdW5j
dGlvbjx2b2lkIChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCBvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpIG92ZXJyaWRlOworICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2
ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sKT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0
cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpIG92ZXJyaWRlOwogICAgIGJvb2wgc2hvd1BheW1l
bnRVSShjb25zdCBVUkwmLCBjb25zdCBWZWN0b3I8VVJMPiYgbGlua0ljb25VUkxzLCBjb25zdCBX
ZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCYpIG92ZXJyaWRlOwogICAgIHZv
aWQgY29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24oY29uc3QgV2ViQ29yZTo6UGF5bWVudE1lcmNo
YW50U2Vzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgY29tcGxldGVTaGlwcGluZ01ldGhvZFNl
bGVjdGlvbihPcHRpb25hbDxXZWJDb3JlOjpTaGlwcGluZ01ldGhvZFVwZGF0ZT4mJikgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW0KaW5kZXggYTU2NTQz
NTQxZmY3Nzk1NGQ3NTA2YTNiNDZmZjAxYmU4MjI1NjRmOS4uYTU3ZjBiZmE2ODZiNWZhOTE3NTRi
YzU4NjgzNjE1ZDNjOTMxNTdkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNs
aWVudC5tbQpAQCAtNDgsMTYgKzQ4LDE2IEBAIGJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50OjpjYW5NYWtlUGF5bWVudHMoKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBXZWJQ
YXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y2Fu
TWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAg
ICBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpXSB7CisgICAgY2FsbE9uTWFpblRocmVhZChbY29tcGxldGlvbkhhbmRsZXIgPSBX
VEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoZmFsc2UpOwogICAgIH0pOwogfQogCi12b2lkIFdlYlBheW1lbnRDb29yZGluYXRv
ckNsaWVudDo6b3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBX
VEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJQ
YXltZW50Q29vcmRpbmF0b3JDbGllbnQ6Om9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiwg
Y29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKIHsKLSAgICBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSB7CisgICAgY2FsbE9uTWFpblRocmVhZChbY29tcGxl
dGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oKSBtdXRhYmxlIHsKICAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwogICAgIH0pOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364161</attachid>
            <date>2019-03-09 19:42:49 -0800</date>
            <delta_ts>2019-03-09 19:57:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195526-20190309194248.patch</filename>
            <type>text/plain</type>
            <size>23830</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWViMWQ4ZDQ4NTJhYWNj
NzRhMTVhMWYwY2E1OGJkZDkyNjI2N2ZjNi4uYjg2OTZlNjI4MjlmZTY2YjFiNDE2YTc3ZGZmZjBk
OTcyN2U1NmExNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTAzLTA5ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBDYW5NYWtl
UGF5bWVudHNXaXRoQWN0aXZlQ2FyZCBhbmQgT3BlblBheW1lbnRTZXR1cCBzaG91bGQgYmUgYXN5
bmMgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5NTUyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3NDU2MzY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVu
dHMuY3BwOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNX
aXRoQWN0aXZlQ2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9y
OjpvcGVuUGF5bWVudFNldHVwKToKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRp
bmF0b3IuaDoKKwogMjAxOS0wMy0wOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtDb250ZW50Q2hhbmdlT2JzZXJ2ZXJdIFN0YXJ0IG9ic2VydmluZyBmb3IgY29u
dGVudCBjaGFuZ2UgYmV0d2VlbiB0b3VjaEVuZCBhbmQgbW91c2VNb3ZlZCBzdGFydApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA4MGJlOTk5NGRiY2Y1MGRiZGE3MTVjYWY4ODkyZGUzNzdjNGM5YTA2Li5iZjY4NGE3ZDc5
ZmMwMDAxNGJhNjI4MTU0ZDk4YjQ3N2QxYjMzMWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBA
CisyMDE5LTAzLTA5ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBb
QXBwbGUgUGF5XSBDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCBhbmQgT3BlblBheW1lbnRT
ZXR1cCBzaG91bGQgYmUgYXN5bmMgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTUyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3
NDU2MzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuTWFrZVBheW1lbnRzV2l0
aEFjdGl2ZUNhcmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6b3BlblBheW1lbnRTZXR1cCk6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Lmg6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5
bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cCk6CisgICAg
ICAgIChXZWJLaXQ6OmdlbmVyYXRlQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseUlE
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVPcGVuUGF5bWVudFNldHVwUmVw
bHlJRCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6
Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cFJlcGx5KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
ci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
Lm1lc3NhZ2VzLmluOgorCiAyMDE5LTAzLTA5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gU3RhcnQgb2JzZXJ2aW5nIGZv
ciBjb250ZW50IGNoYW5nZSBiZXR3ZWVuIHRvdWNoRW5kIGFuZCBtb3VzZU1vdmVkIHN0YXJ0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggMzk2MTcyM2M3ZmViZDA2ZmI4ZWExZWE0ZmQz
ZGRjN2Q4OWY3YzMxNy4uNjI0MzM0ZjlmMjVmNTBiZmNlMmY0ZWFkYTUwNjE0YjQ5ZDRkOGU5MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAzLTA5
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBD
YW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCBhbmQgT3BlblBheW1lbnRTZXR1cCBzaG91bGQg
YmUgYXN5bmMgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NTUyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3NDU2MzY+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW06CisgICAgICAgIChXZWJQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQ6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKToKKyAgICAg
ICAgKFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6b3BlblBheW1lbnRTZXR1cCk6CisKIDIw
MTktMDMtMDcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAog
ICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgc2hvdWxkIGV4ZWN1dGUgYmVmb3JlIHRoZSBu
ZXh0IGZyYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggMTY0YmJhNzNkZTVjNGRhMTNmODhmZmYwY2RiODdk
NDBkYmUzZDFlZS4uNjU5ZmU3M2E0NjkxZDg3ODczYTViYzBhNTllNmQwYTRiZGQ2YTFiNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3Jk
aW5hdG9yLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIlBheW1lbnRBdXRob3JpemF0
aW9uU3RhdHVzLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgiCiAjaW5j
bHVkZSAiUGF5bWVudFNlc3Npb24uaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIu
aD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oCmluZGV4IDM1YWMwZDEzMWRjZmM5ZDUxYzg2YzY4NGY5YWE5MjY0NWEyMGRlYzgu
LmQ5YWEzZWJmNTU3ZGVmNTQwZjdjZjUyN2Y0YWIwZmU0Y2ZjNDYwOTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JD
bGllbnQuaApAQCAtNDksOCArNDksOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIE9wdGlvbmFs
PFN0cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3RyaW5nJikgPSAwOwogICAg
IHZpcnR1YWwgYm9vbCBjYW5NYWtlUGF5bWVudHMoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGNh
bk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgb3BlblBheW1lbnRT
ZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21h
aW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0
IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgb3Bl
blBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiBkb21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSA9IDA7CiAK
ICAgICB2aXJ0dWFsIGJvb2wgc2hvd1BheW1lbnRVSShjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJM
LCBjb25zdCBWZWN0b3I8VVJMPiYgbGlua0ljb25VUkxzLCBjb25zdCBBcHBsZVBheVNlc3Npb25Q
YXltZW50UmVxdWVzdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcGxldGVNZXJjaGFudFZh
bGlkYXRpb24oY29uc3QgUGF5bWVudE1lcmNoYW50U2Vzc2lvbiYpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggM2ViNjc2ZWFhM2QwNDBlMjIyNjJlMDViYTM1
ZjFiYjIxY2ZmN2Y5My4uZDU2ZTMzNzliYzRiNzBiNGRjMjMxZDEzZDY0YTcyMzA1MTM4N2UzYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTMxNiw4ICszMTYsOCBA
QCBjbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JDbGll
bnQgewogY2xhc3MgRW1wdHlQYXltZW50Q29vcmRpbmF0b3JDbGllbnQgZmluYWwgOiBwdWJsaWMg
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsKICAgICBPcHRpb25hbDxTdHJpbmc+IHZhbGlkYXRl
ZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0cmluZyYpIGZpbmFsIHsgcmV0dXJuIFdURjo6bnVsbG9w
dDsgfQogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0K
LSAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYsIFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikgZmluYWwgeyBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpXSB7IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsgfSk7IH0KLSAg
ICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RG
OjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBmaW5hbCB7IGNhbGxP
bk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildIHsgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOyB9KTsgfQorICAgIHZvaWQgY2FuTWFrZVBh
eW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWwgeyBjYWxs
T25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpXSgpIG11dGFibGUgeyBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7IH0pOyB9CisgICAgdm9p
ZCBvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFsIHsgY2FsbE9u
TWFpblRocmVhZChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oKSBtdXRhYmxlIHsgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOyB9KTsgfQogICAgIGJvb2wg
c2hvd1BheW1lbnRVSShjb25zdCBVUkwmLCBjb25zdCBWZWN0b3I8VVJMPiYsIGNvbnN0IEFwcGxl
UGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0JikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2
b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFBheW1lbnRNZXJjaGFudFNlc3Np
b24mKSBmaW5hbCB7IH0KICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24o
T3B0aW9uYWw8U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpIGZpbmFsIHsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggNjYxZjE4
MDU3ZDAxN2E1ZGJkZGRlODk1OGQzMTU4NzE5YjZmNzAyNi4uZmE0MGJjMDlkYmQyNjMyMjI1Mzk5
OWQ1ZTQ4ZmVjZTFkNGMzMDIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiTW9j
a1BheW1lbnRNZXRob2QuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGF5bWVudENv
b3JkaW5hdG9yLmgiCisjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAKQEAgLTY2LDE2ICs2Nywx
NiBAQCBib29sIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1ha2VQYXltZW50cygpCiAgICAg
cmV0dXJuIG1fY2FuTWFrZVBheW1lbnRzOwogfQogCi12b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0
b3I6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYsIEZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIE1v
Y2tQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0
IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBjYW5NYWtlUGF5bWVu
dHNXaXRoQWN0aXZlQ2FyZCA9IG1fY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRdIHsKKyAg
ICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlciksIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkID0gbV9jYW5N
YWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZF0oKSBtdXRhYmxlIHsKICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQpOwogICAgIH0pOwogfQogCi12
b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6Om9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5n
JiwgY29uc3QgU3RyaW5nJiwgRnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKK3ZvaWQgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cChjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogewotICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbY29tcGxl
dGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgIFJ1bkxvb3A6
Om1haW4oKS5kaXNwYXRjaChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKV0oKSBtdXRhYmxlIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7CiAg
ICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50
Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGlu
YXRvci5oCmluZGV4IGE1NGMyMWE3MTFkNGMxZmE2ZDJlNTNhNmRiZDY5NTYyZDUyNzRmNWMuLmIw
N2VhM2VmYjU2OWVhMzViZTM5MTlhZjNjN2JhOWQzZjlmNDhkNzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCkBAIC02Niw4ICs2Niw4IEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgT3B0aW9uYWw8U3RyaW5nPiB2YWxpZGF0ZWRQYXltZW50
TmV0d29yayhjb25zdCBTdHJpbmcmKSBmaW5hbDsKICAgICBib29sIGNhbk1ha2VQYXltZW50cygp
IGZpbmFsOwotICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJiwgV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmKTsKLSAgICB2
b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RGOjpG
dW5jdGlvbjx2b2lkKGJvb2wpPiYmKTsKKyAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3Rp
dmVDYXJkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCk+JiYpOworICAgIHZvaWQgb3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICBib29s
IHNob3dQYXltZW50VUkoY29uc3QgVVJMJiwgY29uc3QgVmVjdG9yPFVSTD4mLCBjb25zdCBBcHBs
ZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCYpIGZpbmFsOwogICAgIHZvaWQgY29tcGxldGVNZXJj
aGFudFZhbGlkYXRpb24oY29uc3QgUGF5bWVudE1lcmNoYW50U2Vzc2lvbiYpIGZpbmFsOwogICAg
IHZvaWQgY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihPcHRpb25hbDxTaGlwcGluZ01l
dGhvZFVwZGF0ZT4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
cHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggYTY5NWM2
NzQ0ZWNiOWMyMzY3MzA3YTJmNWI0ZmNjYmI3YjhhN2ZkYi4uNmJiNTZlMmM4OTE1OTc4NzE0YzRh
NjI5NmU3NDFiZmUzYmMzMTU1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcApAQCAtNzgsMjAg
Kzc4LDE0IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbk1ha2VQYXltZW50
cyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmCiAgICAgcmVwbHkocGxhdGZvcm1DYW5N
YWtlUGF5bWVudHMoKSk7CiB9CiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNh
bk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIHVpbnQ2NF90IHJlcXVlc3RJRCkKK3ZvaWQg
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJk
KGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5h
bWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
Ci0gICAgcGxhdGZvcm1DYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChtZXJjaGFudElkZW50
aWZpZXIsIGRvbWFpbk5hbWUsIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgcmVxdWVz
dElEXShib29sIGNhbk1ha2VQYXltZW50cykgewotICAgICAgICBpZiAoYXV0byBwYXltZW50Q29v
cmRpbmF0b3JQcm94eSA9IHdlYWtUaGlzLmdldCgpKQotICAgICAgICAgICAgcGF5bWVudENvb3Jk
aW5hdG9yUHJveHktPnNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvcjo6Q2FuTWFr
ZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseShyZXF1ZXN0SUQsIGNhbk1ha2VQYXltZW50cykp
OwotICAgIH0pOworICAgIHBsYXRmb3JtQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQobWVy
Y2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1lLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7
CiB9CiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6Om9wZW5QYXltZW50U2V0dXAo
Y29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFt
ZSwgdWludDY0X3QgcmVxdWVzdElEKQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6
b3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiBkb21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewotICAgIHBsYXRmb3JtT3BlblBheW1lbnRTZXR1cChtZXJjaGFudElk
ZW50aWZpZXIsIGRvbWFpbk5hbWUsIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgcmVx
dWVzdElEXShib29sIHJlc3VsdCkgewotICAgICAgICBpZiAoYXV0byBwYXltZW50Q29vcmRpbmF0
b3JQcm94eSA9IHdlYWtUaGlzLmdldCgpKQotICAgICAgICAgICAgcGF5bWVudENvb3JkaW5hdG9y
UHJveHktPnNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvcjo6T3BlblBheW1lbnRT
ZXR1cFJlcGx5KHJlcXVlc3RJRCwgcmVzdWx0KSk7Ci0gICAgfSk7CisgICAgcGxhdGZvcm1PcGVu
UGF5bWVudFNldHVwKG1lcmNoYW50SWRlbnRpZmllciwgZG9tYWluTmFtZSwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogfQogCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Ojpz
aG93UGF5bWVudFVJKGNvbnN0IFN0cmluZyYgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBsaW5rSWNvblVSTFN0cmluZ3MsIGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0JiBwYXltZW50UmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oCmluZGV4
IGNhYTVmOTVlY2FjZTZiODE4MmI3OGY2YTM5NTcyZDVmOTZlZTllZGMuLjIxZjk2OThkMGZlNTUw
ZDVlY2RjOGVhMmE2ODM1ODFlN2E3ODRjMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaApAQCAtMTEy
LDggKzExMiw4IEBAIHByaXZhdGU6CiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycwogICAgIHZvaWQg
YXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0
cmluZz4mJik+JiYpOwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYpOwotICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQo
Y29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFt
ZSwgdWludDY0X3QgcmVxdWVzdElEKTsKLSAgICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3Qg
U3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgdWlu
dDY0X3QgcmVxdWVzdElEKTsKKyAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJk
KGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5h
bWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworICAgIHZvaWQgb3BlblBheW1l
bnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBk
b21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICB2b2lkIHNo
b3dQYXltZW50VUkoY29uc3QgU3RyaW5nJiBvcmlnaW5hdGluZ1VSTFN0cmluZywgY29uc3QgVmVj
dG9yPFN0cmluZz4mIGxpbmtJY29uVVJMU3RyaW5ncywgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlT
ZXNzaW9uUGF5bWVudFJlcXVlc3QmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsK
ICAgICB2b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlBheW1l
bnRNZXJjaGFudFNlc3Npb24mKTsKICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxl
Y3Rpb24oY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdNZXRob2RVcGRhdGU+Jik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dl
YlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGQ0NDQ2ZjU5NzRlOTdl
M2JkYjAyMzA5ZTJhZTQ5ODA1ODY4MmFjOTkuLmQxMDhkMjcyYWNiYmNhN2E2MjgxZGJkYjVkY2Zm
NTI2MmJiN2M1ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dl
YlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCkBA
IC0yOCw4ICsyOCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5IHsK
IAogICAgIEF2YWlsYWJsZVBheW1lbnROZXR3b3JrcygpIC0+IChWZWN0b3I8U3RyaW5nPiBhdmFp
bGFibGVQYXltZW50TmV0d29ya3MpIERlbGF5ZWQKICAgICBDYW5NYWtlUGF5bWVudHMoKSAtPiAo
Ym9vbCByZXN1bHQpIERlbGF5ZWQKLSAgICBDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChT
dHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyLCBTdHJpbmcgZG9tYWluTmFtZSwgdWludDY0X3QgcmVx
dWVzdElEKQotICAgIE9wZW5QYXltZW50U2V0dXAoU3RyaW5nIG1lcmNoYW50SWRlbnRpZmllciwg
U3RyaW5nIGRvbWFpbk5hbWUsIHVpbnQ2NF90IHJlcXVlc3RJRCkKKyAgICBDYW5NYWtlUGF5bWVu
dHNXaXRoQWN0aXZlQ2FyZChTdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyLCBTdHJpbmcgZG9tYWlu
TmFtZSkgLT4gKGJvb2wgY2FuTWFrZVBheW1lbnRzKSBBc3luYworICAgIE9wZW5QYXltZW50U2V0
dXAoU3RyaW5nIG1lcmNoYW50SWRlbnRpZmllciwgU3RyaW5nIGRvbWFpbk5hbWUpIC0+IChib29s
IHJlc3VsdCkgQXN5bmMKIAogICAgIFNob3dQYXltZW50VUkoU3RyaW5nIG9yaWdpbmF0aW5nVVJM
U3RyaW5nLCBWZWN0b3I8U3RyaW5nPiBsaW5rSWNvblVSTFN0cmluZ3MsIFdlYkNvcmU6OkFwcGxl
UGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0IHBheW1lbnRSZXF1ZXN0KSAtPiAoYm9vbCByZXN1bHQp
IERlbGF5ZWQKICAgICBDb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihXZWJDb3JlOjpQYXltZW50
TWVyY2hhbnRTZXNzaW9uIHBheW1lbnRNZXJjaGFudFNlc3Npb24pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3Iu
Y3BwCmluZGV4IGIzNzVjOGU0MjFlOWU2N2I4NGY2OGZiYTRkYzdmMjZlNjU5ZGViYzkuLjUwMWNk
NTNhMjVmN2VkMTY3YzJlOWIxZjY2ZGI3ZmY0MmVhNTkxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3Iu
Y3BwCkBAIC04NiwzNCArODYsMTQgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1h
a2VQYXltZW50cygpCiAgICAgcmV0dXJuIGNhbk1ha2VQYXltZW50czsKIH0KIAotc3RhdGljIHVp
bnQ2NF90IGdlbmVyYXRlQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseUlEKCkKK3Zv
aWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChj
b25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1l
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewot
ICAgIHN0YXRpYyB1aW50NjRfdCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZFJlcGx5SUQ7
Ci0KLSAgICByZXR1cm4gKytjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZFJlcGx5SUQ7Ci19
Ci0KLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZl
Q2FyZChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21h
aW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQot
ewotICAgIGF1dG8gcmVwbHlJRCA9IGdlbmVyYXRlQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNh
cmRSZXBseUlEKCk7Ci0KLSAgICBtX3BlbmRpbmdDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2Fy
ZENhbGxiYWNrcy5hZGQocmVwbHlJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotICAg
IG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Q2Fu
TWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQobWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1l
LCByZXBseUlEKSk7Ci19Ci0KLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZU9wZW5QYXltZW50U2V0
dXBSZXBseUlEKCkKLXsKLSAgICBzdGF0aWMgdWludDY0X3Qgb3BlblBheW1lbnRTZXR1cFJlcGx5
SUQ7Ci0KLSAgICByZXR1cm4gKytvcGVuUGF5bWVudFNldHVwUmVwbHlJRDsKKyAgICBtX3dlYlBh
Z2Uuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6Q2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQobWVyY2hhbnRJZGVudGlmaWVyLCBkb21h
aW5OYW1lKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIFdlYlBheW1l
bnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJv
b2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6Om9w
ZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgZG9tYWluTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKLSAgICBhdXRvIHJlcGx5SUQgPSBnZW5lcmF0ZU9wZW5QYXltZW50U2V0
dXBSZXBseUlEKCk7Ci0KLSAgICBtX3BlbmRpbmdPcGVuUGF5bWVudFNldHVwQ2FsbGJhY2tzLmFk
ZChyZXBseUlELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0gICAgbV93ZWJQYWdlLnNl
bmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpPcGVuUGF5bWVudFNldHVw
KG1lcmNoYW50SWRlbnRpZmllciwgZG9tYWluTmFtZSwgcmVwbHlJRCkpOworICAgIG1fd2ViUGFn
ZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5
OjpPcGVuUGF5bWVudFNldHVwKG1lcmNoYW50SWRlbnRpZmllciwgZG9tYWluTmFtZSksIFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAogYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3I6
OnNob3dQYXltZW50VUkoY29uc3QgVVJMJiBvcmlnaW5hdGluZ1VSTCwgY29uc3QgVmVjdG9yPFVS
TD4mIGxpbmtJY29uVVJMcywgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJl
cXVlc3QmIHBheW1lbnRSZXF1ZXN0KQpAQCAtMTk5LDE4ICsxNzksNiBAQCB2b2lkIFdlYlBheW1l
bnRDb29yZGluYXRvcjo6ZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oKQogICAgIHBheW1lbnRDb29y
ZGluYXRvcigpLmRpZENhbmNlbFBheW1lbnRTZXNzaW9uKCk7CiB9CiAKLXZvaWQgV2ViUGF5bWVu
dENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZFJlcGx5KHVpbnQ2NF90
IHJlcXVlc3RJRCwgYm9vbCBjYW5NYWtlUGF5bWVudHMpCi17Ci0gICAgYXV0byBjYWxsYmFjayA9
IG1fcGVuZGluZ0Nhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkQ2FsbGJhY2tzLnRha2UocmVx
dWVzdElEKTsKLSAgICBjYWxsYmFjayhjYW5NYWtlUGF5bWVudHMpOwotfQotCi12b2lkIFdlYlBh
eW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cFJlcGx5KHVpbnQ2NF90IHJlcXVlc3RJ
RCwgYm9vbCByZXN1bHQpCi17Ci0gICAgYXV0byBjYWxsYmFjayA9IG1fcGVuZGluZ09wZW5QYXlt
ZW50U2V0dXBDYWxsYmFja3MudGFrZShyZXF1ZXN0SUQpOwotICAgIGNhbGxiYWNrKHJlc3VsdCk7
Ci19Ci0KIFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvciYgV2ViUGF5bWVudENvb3JkaW5hdG9y
OjpwYXltZW50Q29vcmRpbmF0b3IoKQogewogICAgIHJldHVybiBtX3dlYlBhZ2UuY29yZVBhZ2Uo
KS0+cGF5bWVudENvb3JkaW5hdG9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggNjcxMDU0NDBk
ZGM4MjMzNmIyMWVjMjNmNTc1ZWQyMDY2YTNjZWJjNC4uNmU5YTQ1ODc5ZTNkZDEyYTdlNzU4OWU3
YTE2OTZkMTIwNzQ2ZTBhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Fw
cGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaApAQCAtNTcsOCArNTcsOCBAQCBw
cml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvckNsaWVudC4KICAgICBP
cHRpb25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0cmluZyYpIG92
ZXJyaWRlOwogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBj
YW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKLSAgICB2b2lkIG9wZW5QYXltZW50U2V0
dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWlu
TmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgb3Zl
cnJpZGU7CisgICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJp
bmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIG9wZW5QYXltZW50
U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9t
YWluTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgb3ZlcnJpZGU7CiAgICAg
Ym9vbCBzaG93UGF5bWVudFVJKGNvbnN0IFVSTCYgb3JpZ2luYXRpbmdVUkwsIGNvbnN0IFZlY3Rv
cjxVUkw+JiBsaW5rSWNvblVSTHMsIGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1l
bnRSZXF1ZXN0Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlv
bihjb25zdCBXZWJDb3JlOjpQYXltZW50TWVyY2hhbnRTZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKE9wdGlvbmFsPFdlYkNvcmU6OlNo
aXBwaW5nTWV0aG9kVXBkYXRlPiYmKSBvdmVycmlkZTsKQEAgLTgxLDggKzgxLDYgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nQ29udGFjdChjb25zdCBXZWJDb3JlOjpQYXlt
ZW50Q29udGFjdCYpOwogICAgIHZvaWQgZGlkU2VsZWN0UGF5bWVudE1ldGhvZChjb25zdCBXZWJD
b3JlOjpQYXltZW50TWV0aG9kJik7CiAgICAgdm9pZCBkaWRDYW5jZWxQYXltZW50U2Vzc2lvbigp
OwotICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseSh1aW50NjRfdCBy
ZXF1ZXN0SUQsIGJvb2wgY2FuTWFrZVBheW1lbnRzKTsKLSAgICB2b2lkIG9wZW5QYXltZW50U2V0
dXBSZXBseSh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgcmVzdWx0KTsKIAogICAgIFdlYkNvcmU6
OlBheW1lbnRDb29yZGluYXRvciYgcGF5bWVudENvb3JkaW5hdG9yKCk7CiAgICAgCkBAIC05MSw5
ICs4OSw2IEBAIHByaXZhdGU6CiAKICAgICBXZWJQYWdlJiBtX3dlYlBhZ2U7CiAKLSAgICBIYXNo
TWFwPHVpbnQ2NF90LCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPj4gbV9wZW5kaW5nQ2FuTWFr
ZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRDYWxsYmFja3M7Ci0gICAgSGFzaE1hcDx1aW50NjRfdCwg
V1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4+IG1fcGVuZGluZ09wZW5QYXltZW50U2V0dXBDYWxs
YmFja3M7Ci0KICAgICBPcHRpb25hbDxBdmFpbGFibGVQYXltZW50TmV0d29ya3NTZXQ+IG1fYXZh
aWxhYmxlUGF5bWVudE5ldHdvcmtzOwogCiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29v
cmRpbmF0b3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkv
V2ViUGF5bWVudENvb3JkaW5hdG9yLm1lc3NhZ2VzLmluCmluZGV4IGQ1ZGMzN2MxY2JiMTRhMDlj
MjUyYzkxZTI0N2E0N2YyNjQ4YjQwYzcuLjcwMWY4M2E5MjVlZTViOWNkNjIzOGY4ZTFlNzFkMGRl
NWZmNmNjZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9X
ZWJQYXltZW50Q29vcmRpbmF0b3IubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbgpAQCAtMzIs
OCArMzIsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYXltZW50Q29vcmRpbmF0b3IgewogICAgIERpZFNl
bGVjdFNoaXBwaW5nQ29udGFjdChXZWJDb3JlOjpQYXltZW50Q29udGFjdCBzaGlwcGluZ0NvbnRh
Y3QpCiAgICAgRGlkU2VsZWN0UGF5bWVudE1ldGhvZChXZWJDb3JlOjpQYXltZW50TWV0aG9kIHBh
eW1lbnRNZXRob2QpCiAgICAgRGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oKQotICAgIENhbk1ha2VQ
YXltZW50c1dpdGhBY3RpdmVDYXJkUmVwbHkodWludDY0X3QgcmVxdWVzdElELCBib29sIGNhbk1h
a2VQYXltZW50cykKLSAgICBPcGVuUGF5bWVudFNldHVwUmVwbHkodWludDY0X3QgcmVxdWVzdElE
LCBib29sIHJlc3VsdCkKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oCmluZGV4IGVjMGMzNGE2OTU4YmFiNDIzNDFlY2QwNTBhMjI3ZDk4MDhiZjU1Njku
LjA4MGQzNmRjODdhODgwMWE3OWZlMTRlZjk2MTE3NmYzMjhjNDkyYjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oCkBAIC0zOCw4ICszOCw4IEBAIHByaXZhdGU6CiAK
ICAgICBPcHRpb25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0cmlu
ZyYpIG92ZXJyaWRlOwogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgb3ZlcnJpZGU7Ci0gICAg
dm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBv
dmVycmlkZTsKLSAgICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFu
dElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lk
IChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7CisgICAgdm9pZCBjYW5NYWtl
UGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIG9wZW5QYXlt
ZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
ZG9tYWluTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgb3ZlcnJpZGU7CiAg
ICAgYm9vbCBzaG93UGF5bWVudFVJKGNvbnN0IFVSTCYsIGNvbnN0IFZlY3RvcjxVUkw+JiBsaW5r
SWNvblVSTHMsIGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Jikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihjb25zdCBXZWJD
b3JlOjpQYXltZW50TWVyY2hhbnRTZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wbGV0
ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKE9wdGlvbmFsPFdlYkNvcmU6OlNoaXBwaW5nTWV0aG9k
VXBkYXRlPiYmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbSBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVu
dC5tbQppbmRleCBhNTY1NDM1NDFmZjc3OTU0ZDc1MDZhM2I0NmZmMDFiZTgyMjU2NGY5Li5hNTdm
MGJmYTY4NmI1ZmE5MTc1NGJjNTg2ODM2MTVkM2M5MzE1N2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5
bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tCkBAIC00OCwxNiArNDgsMTYgQEAgYm9vbCBXZWJQYXlt
ZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNhbk1ha2VQYXltZW50cygpCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCi12b2lkIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y2FuTWFrZVBheW1lbnRz
V2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RGOjpGdW5jdGlv
bjx2b2lkIChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGF5bWVudENvb3Jk
aW5hdG9yQ2xpZW50OjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcm
LCBjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogewotICAgIGNhbGxPbk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyID0g
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIHsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSgpIG11dGFibGUgewog
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgfSk7CiB9CiAKLXZvaWQgV2Vi
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50OjpvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCit2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6b3BlblBheW1lbnRTZXR1
cChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGNhbGxPbk1haW5UaHJlYWQoW2NvbXBs
ZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIHsKKyAgICBjYWxsT25N
YWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
XSgpIG11dGFibGUgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgfSk7
CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>364163</attachid>
            <date>2019-03-09 19:57:42 -0800</date>
            <delta_ts>2019-03-09 21:29:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195526-20190309195742.patch</filename>
            <type>text/plain</type>
            <size>23961</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWViMWQ4ZDQ4NTJhYWNj
NzRhMTVhMWYwY2E1OGJkZDkyNjI2N2ZjNi4uYjg2OTZlNjI4MjlmZTY2YjFiNDE2YTc3ZGZmZjBk
OTcyN2U1NmExNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTAzLTA5ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBDYW5NYWtl
UGF5bWVudHNXaXRoQWN0aXZlQ2FyZCBhbmQgT3BlblBheW1lbnRTZXR1cCBzaG91bGQgYmUgYXN5
bmMgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5NTUyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3NDU2MzY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVu
dHMuY3BwOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNX
aXRoQWN0aXZlQ2FyZCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9y
OjpvcGVuUGF5bWVudFNldHVwKToKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRp
bmF0b3IuaDoKKwogMjAxOS0wMy0wOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFtDb250ZW50Q2hhbmdlT2JzZXJ2ZXJdIFN0YXJ0IG9ic2VydmluZyBmb3IgY29u
dGVudCBjaGFuZ2UgYmV0d2VlbiB0b3VjaEVuZCBhbmQgbW91c2VNb3ZlZCBzdGFydApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA4MGJlOTk5NGRiY2Y1MGRiZGE3MTVjYWY4ODkyZGUzNzdjNGM5YTA2Li5iZjY4NGE3ZDc5
ZmMwMDAxNGJhNjI4MTU0ZDk4YjQ3N2QxYjMzMWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBA
CisyMDE5LTAzLTA5ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBb
QXBwbGUgUGF5XSBDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCBhbmQgT3BlblBheW1lbnRT
ZXR1cCBzaG91bGQgYmUgYXN5bmMgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTUyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3
NDU2MzY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Y2FuTWFrZVBheW1lbnRzV2l0
aEFjdGl2ZUNhcmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6b3BlblBheW1lbnRTZXR1cCk6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Lmg6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGF5
bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cCk6CisgICAg
ICAgIChXZWJLaXQ6OmdlbmVyYXRlQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseUlE
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6Z2VuZXJhdGVPcGVuUGF5bWVudFNldHVwUmVw
bHlJRCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6
Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cFJlcGx5KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
ci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
Lm1lc3NhZ2VzLmluOgorCiAyMDE5LTAzLTA5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0NvbnRlbnRDaGFuZ2VPYnNlcnZlcl0gU3RhcnQgb2JzZXJ2aW5nIGZv
ciBjb250ZW50IGNoYW5nZSBiZXR3ZWVuIHRvdWNoRW5kIGFuZCBtb3VzZU1vdmVkIHN0YXJ0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggMzk2MTcyM2M3ZmViZDA2ZmI4ZWExZWE0ZmQz
ZGRjN2Q4OWY3YzMxNy4uNjI0MzM0ZjlmMjVmNTBiZmNlMmY0ZWFkYTUwNjE0YjQ5ZDRkOGU5MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTAzLTA5
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBD
YW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZCBhbmQgT3BlblBheW1lbnRTZXR1cCBzaG91bGQg
YmUgYXN5bmMgbWVzc2FnZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5NTUyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDg3NDU2MzY+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW06CisgICAgICAgIChXZWJQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQ6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKToKKyAgICAg
ICAgKFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6b3BlblBheW1lbnRTZXR1cCk6CisKIDIw
MTktMDMtMDcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KIAog
ICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgc2hvdWxkIGV4ZWN1dGUgYmVmb3JlIHRoZSBu
ZXh0IGZyYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggMTY0YmJhNzNkZTVjNGRhMTNmODhmZmYwY2RiODdk
NDBkYmUzZDFlZS4uNjU5ZmU3M2E0NjkxZDg3ODczYTViYzBhNTllNmQwYTRiZGQ2YTFiNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3Jk
aW5hdG9yLmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIlBheW1lbnRBdXRob3JpemF0
aW9uU3RhdHVzLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgiCiAjaW5j
bHVkZSAiUGF5bWVudFNlc3Npb24uaCIKKyNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIu
aD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oCmluZGV4IDM1YWMwZDEzMWRjZmM5ZDUxYzg2YzY4NGY5YWE5MjY0NWEyMGRlYzgu
LmQ5YWEzZWJmNTU3ZGVmNTQwZjdjZjUyN2Y0YWIwZmU0Y2ZjNDYwOTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JD
bGllbnQuaApAQCAtNDksOCArNDksOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIE9wdGlvbmFs
PFN0cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3RyaW5nJikgPSAwOwogICAg
IHZpcnR1YWwgYm9vbCBjYW5NYWtlUGF5bWVudHMoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGNh
bk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgb3BlblBheW1lbnRT
ZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21h
aW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0
IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgb3Bl
blBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiBkb21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSA9IDA7CiAK
ICAgICB2aXJ0dWFsIGJvb2wgc2hvd1BheW1lbnRVSShjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJM
LCBjb25zdCBWZWN0b3I8VVJMPiYgbGlua0ljb25VUkxzLCBjb25zdCBBcHBsZVBheVNlc3Npb25Q
YXltZW50UmVxdWVzdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcGxldGVNZXJjaGFudFZh
bGlkYXRpb24oY29uc3QgUGF5bWVudE1lcmNoYW50U2Vzc2lvbiYpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggM2ViNjc2ZWFhM2QwNDBlMjIyNjJlMDViYTM1
ZjFiYjIxY2ZmN2Y5My4uZDU2ZTMzNzliYzRiNzBiNGRjMjMxZDEzZDY0YTcyMzA1MTM4N2UzYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTMxNiw4ICszMTYsOCBA
QCBjbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3JDbGll
bnQgewogY2xhc3MgRW1wdHlQYXltZW50Q29vcmRpbmF0b3JDbGllbnQgZmluYWwgOiBwdWJsaWMg
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsKICAgICBPcHRpb25hbDxTdHJpbmc+IHZhbGlkYXRl
ZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0cmluZyYpIGZpbmFsIHsgcmV0dXJuIFdURjo6bnVsbG9w
dDsgfQogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0K
LSAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYsIFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikgZmluYWwgeyBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpXSB7IGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsgfSk7IH0KLSAg
ICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RG
OjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBmaW5hbCB7IGNhbGxP
bk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildIHsgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOyB9KTsgfQorICAgIHZvaWQgY2FuTWFrZVBh
eW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWwgeyBjYWxs
T25NYWluVGhyZWFkKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpXSgpIG11dGFibGUgeyBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7IH0pOyB9CisgICAgdm9p
ZCBvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFsIHsgY2FsbE9u
TWFpblRocmVhZChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oKSBtdXRhYmxlIHsgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOyB9KTsgfQogICAgIGJvb2wg
c2hvd1BheW1lbnRVSShjb25zdCBVUkwmLCBjb25zdCBWZWN0b3I8VVJMPiYsIGNvbnN0IEFwcGxl
UGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0JikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2
b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFBheW1lbnRNZXJjaGFudFNlc3Np
b24mKSBmaW5hbCB7IH0KICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24o
T3B0aW9uYWw8U2hpcHBpbmdNZXRob2RVcGRhdGU+JiYpIGZpbmFsIHsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKaW5kZXggNjYxZjE4
MDU3ZDAxN2E1ZGJkZGRlODk1OGQzMTU4NzE5YjZmNzAyNi4uZmE0MGJjMDlkYmQyNjMyMjI1Mzk5
OWQ1ZTQ4ZmVjZTFkNGMzMDIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiTW9j
a1BheW1lbnRNZXRob2QuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGF5bWVudENv
b3JkaW5hdG9yLmgiCisjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVk
ZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAKQEAgLTY2LDE2ICs2Nywx
NiBAQCBib29sIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1ha2VQYXltZW50cygpCiAgICAg
cmV0dXJuIG1fY2FuTWFrZVBheW1lbnRzOwogfQogCi12b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0
b3I6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYsIEZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIE1v
Y2tQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0
IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBjYW5NYWtlUGF5bWVu
dHNXaXRoQWN0aXZlQ2FyZCA9IG1fY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRdIHsKKyAg
ICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlciksIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkID0gbV9jYW5N
YWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZF0oKSBtdXRhYmxlIHsKICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQpOwogICAgIH0pOwogfQogCi12
b2lkIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6Om9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5n
JiwgY29uc3QgU3RyaW5nJiwgRnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKK3ZvaWQgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cChjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQogewotICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbY29tcGxl
dGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgIFJ1bkxvb3A6
Om1haW4oKS5kaXNwYXRjaChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKV0oKSBtdXRhYmxlIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7CiAg
ICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50
Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGlu
YXRvci5oCmluZGV4IGE1NGMyMWE3MTFkNGMxZmE2ZDJlNTNhNmRiZDY5NTYyZDUyNzRmNWMuLmIw
N2VhM2VmYjU2OWVhMzViZTM5MTlhZjNjN2JhOWQzZjlmNDhkNzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCkBAIC02Niw4ICs2Niw4IEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgT3B0aW9uYWw8U3RyaW5nPiB2YWxpZGF0ZWRQYXltZW50
TmV0d29yayhjb25zdCBTdHJpbmcmKSBmaW5hbDsKICAgICBib29sIGNhbk1ha2VQYXltZW50cygp
IGZpbmFsOwotICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3Ry
aW5nJiwgY29uc3QgU3RyaW5nJiwgV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmKTsKLSAgICB2
b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RGOjpG
dW5jdGlvbjx2b2lkKGJvb2wpPiYmKTsKKyAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3Rp
dmVDYXJkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCk+JiYpOworICAgIHZvaWQgb3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICBib29s
IHNob3dQYXltZW50VUkoY29uc3QgVVJMJiwgY29uc3QgVmVjdG9yPFVSTD4mLCBjb25zdCBBcHBs
ZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCYpIGZpbmFsOwogICAgIHZvaWQgY29tcGxldGVNZXJj
aGFudFZhbGlkYXRpb24oY29uc3QgUGF5bWVudE1lcmNoYW50U2Vzc2lvbiYpIGZpbmFsOwogICAg
IHZvaWQgY29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihPcHRpb25hbDxTaGlwcGluZ01l
dGhvZFVwZGF0ZT4mJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
cHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggYTY5NWM2
NzQ0ZWNiOWMyMzY3MzA3YTJmNWI0ZmNjYmI3YjhhN2ZkYi4uNmJiNTZlMmM4OTE1OTc4NzE0YzRh
NjI5NmU3NDFiZmUzYmMzMTU1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBw
bGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmNwcApAQCAtNzgsMjAg
Kzc4LDE0IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbk1ha2VQYXltZW50
cyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmCiAgICAgcmVwbHkocGxhdGZvcm1DYW5N
YWtlUGF5bWVudHMoKSk7CiB9CiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNh
bk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIHVpbnQ2NF90IHJlcXVlc3RJRCkKK3ZvaWQg
V2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJk
KGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5h
bWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
Ci0gICAgcGxhdGZvcm1DYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChtZXJjaGFudElkZW50
aWZpZXIsIGRvbWFpbk5hbWUsIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgcmVxdWVz
dElEXShib29sIGNhbk1ha2VQYXltZW50cykgewotICAgICAgICBpZiAoYXV0byBwYXltZW50Q29v
cmRpbmF0b3JQcm94eSA9IHdlYWtUaGlzLmdldCgpKQotICAgICAgICAgICAgcGF5bWVudENvb3Jk
aW5hdG9yUHJveHktPnNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvcjo6Q2FuTWFr
ZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseShyZXF1ZXN0SUQsIGNhbk1ha2VQYXltZW50cykp
OwotICAgIH0pOworICAgIHBsYXRmb3JtQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQobWVy
Y2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1lLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7
CiB9CiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6Om9wZW5QYXltZW50U2V0dXAo
Y29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFt
ZSwgdWludDY0X3QgcmVxdWVzdElEKQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6
b3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiBkb21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewotICAgIHBsYXRmb3JtT3BlblBheW1lbnRTZXR1cChtZXJjaGFudElk
ZW50aWZpZXIsIGRvbWFpbk5hbWUsIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgcmVx
dWVzdElEXShib29sIHJlc3VsdCkgewotICAgICAgICBpZiAoYXV0byBwYXltZW50Q29vcmRpbmF0
b3JQcm94eSA9IHdlYWtUaGlzLmdldCgpKQotICAgICAgICAgICAgcGF5bWVudENvb3JkaW5hdG9y
UHJveHktPnNlbmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvcjo6T3BlblBheW1lbnRT
ZXR1cFJlcGx5KHJlcXVlc3RJRCwgcmVzdWx0KSk7Ci0gICAgfSk7CisgICAgcGxhdGZvcm1PcGVu
UGF5bWVudFNldHVwKG1lcmNoYW50SWRlbnRpZmllciwgZG9tYWluTmFtZSwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogfQogCiB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5Ojpz
aG93UGF5bWVudFVJKGNvbnN0IFN0cmluZyYgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBsaW5rSWNvblVSTFN0cmluZ3MsIGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0JiBwYXltZW50UmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eS5oCmluZGV4
IGNhYTVmOTVlY2FjZTZiODE4MmI3OGY2YTM5NTcyZDVmOTZlZTllZGMuLjIxZjk2OThkMGZlNTUw
ZDVlY2RjOGVhMmE2ODM1ODFlN2E3ODRjMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHkuaApAQCAtMTEy
LDggKzExMiw4IEBAIHByaXZhdGU6CiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycwogICAgIHZvaWQg
YXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFN0
cmluZz4mJik+JiYpOwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCk+JiYpOwotICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQo
Y29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFt
ZSwgdWludDY0X3QgcmVxdWVzdElEKTsKLSAgICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3Qg
U3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgdWlu
dDY0X3QgcmVxdWVzdElEKTsKKyAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJk
KGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5h
bWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworICAgIHZvaWQgb3BlblBheW1l
bnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBk
b21haW5OYW1lLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICAgICB2b2lkIHNo
b3dQYXltZW50VUkoY29uc3QgU3RyaW5nJiBvcmlnaW5hdGluZ1VSTFN0cmluZywgY29uc3QgVmVj
dG9yPFN0cmluZz4mIGxpbmtJY29uVVJMU3RyaW5ncywgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlT
ZXNzaW9uUGF5bWVudFJlcXVlc3QmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsK
ICAgICB2b2lkIGNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlBheW1l
bnRNZXJjaGFudFNlc3Npb24mKTsKICAgICB2b2lkIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxl
Y3Rpb24oY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6U2hpcHBpbmdNZXRob2RVcGRhdGU+Jik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dl
YlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGQ0NDQ2ZjU5NzRlOTdl
M2JkYjAyMzA5ZTJhZTQ5ODA1ODY4MmFjOTkuLmQxMDhkMjcyYWNiYmNhN2E2MjgxZGJkYjVkY2Zm
NTI2MmJiN2M1ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L1dl
YlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Lm1lc3NhZ2VzLmluCkBA
IC0yOCw4ICsyOCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5IHsK
IAogICAgIEF2YWlsYWJsZVBheW1lbnROZXR3b3JrcygpIC0+IChWZWN0b3I8U3RyaW5nPiBhdmFp
bGFibGVQYXltZW50TmV0d29ya3MpIERlbGF5ZWQKICAgICBDYW5NYWtlUGF5bWVudHMoKSAtPiAo
Ym9vbCByZXN1bHQpIERlbGF5ZWQKLSAgICBDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChT
dHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyLCBTdHJpbmcgZG9tYWluTmFtZSwgdWludDY0X3QgcmVx
dWVzdElEKQotICAgIE9wZW5QYXltZW50U2V0dXAoU3RyaW5nIG1lcmNoYW50SWRlbnRpZmllciwg
U3RyaW5nIGRvbWFpbk5hbWUsIHVpbnQ2NF90IHJlcXVlc3RJRCkKKyAgICBDYW5NYWtlUGF5bWVu
dHNXaXRoQWN0aXZlQ2FyZChTdHJpbmcgbWVyY2hhbnRJZGVudGlmaWVyLCBTdHJpbmcgZG9tYWlu
TmFtZSkgLT4gKGJvb2wgY2FuTWFrZVBheW1lbnRzKSBBc3luYworICAgIE9wZW5QYXltZW50U2V0
dXAoU3RyaW5nIG1lcmNoYW50SWRlbnRpZmllciwgU3RyaW5nIGRvbWFpbk5hbWUpIC0+IChib29s
IHJlc3VsdCkgQXN5bmMKIAogICAgIFNob3dQYXltZW50VUkoU3RyaW5nIG9yaWdpbmF0aW5nVVJM
U3RyaW5nLCBWZWN0b3I8U3RyaW5nPiBsaW5rSWNvblVSTFN0cmluZ3MsIFdlYkNvcmU6OkFwcGxl
UGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0IHBheW1lbnRSZXF1ZXN0KSAtPiAoYm9vbCByZXN1bHQp
IERlbGF5ZWQKICAgICBDb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihXZWJDb3JlOjpQYXltZW50
TWVyY2hhbnRTZXNzaW9uIHBheW1lbnRNZXJjaGFudFNlc3Npb24pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3Iu
Y3BwCmluZGV4IGIzNzVjOGU0MjFlOWU2N2I4NGY2OGZiYTRkYzdmMjZlNjU5ZGViYzkuLjUwMWNk
NTNhMjVmN2VkMTY3YzJlOWIxZjY2ZGI3ZmY0MmVhNTkxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3Iu
Y3BwCkBAIC04NiwzNCArODYsMTQgQEAgYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OmNhbk1h
a2VQYXltZW50cygpCiAgICAgcmV0dXJuIGNhbk1ha2VQYXltZW50czsKIH0KIAotc3RhdGljIHVp
bnQ2NF90IGdlbmVyYXRlQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseUlEKCkKK3Zv
aWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChj
b25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1l
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewot
ICAgIHN0YXRpYyB1aW50NjRfdCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZFJlcGx5SUQ7
Ci0KLSAgICByZXR1cm4gKytjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZFJlcGx5SUQ7Ci19
Ci0KLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZl
Q2FyZChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21h
aW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQot
ewotICAgIGF1dG8gcmVwbHlJRCA9IGdlbmVyYXRlQ2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNh
cmRSZXBseUlEKCk7Ci0KLSAgICBtX3BlbmRpbmdDYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2Fy
ZENhbGxiYWNrcy5hZGQocmVwbHlJRCwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwotICAg
IG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6Q2Fu
TWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQobWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1l
LCByZXBseUlEKSk7Ci19Ci0KLXN0YXRpYyB1aW50NjRfdCBnZW5lcmF0ZU9wZW5QYXltZW50U2V0
dXBSZXBseUlEKCkKLXsKLSAgICBzdGF0aWMgdWludDY0X3Qgb3BlblBheW1lbnRTZXR1cFJlcGx5
SUQ7Ci0KLSAgICByZXR1cm4gKytvcGVuUGF5bWVudFNldHVwUmVwbHlJRDsKKyAgICBtX3dlYlBh
Z2Uuc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eTo6Q2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQobWVyY2hhbnRJZGVudGlmaWVyLCBkb21h
aW5OYW1lKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIFdlYlBheW1l
bnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJv
b2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3I6Om9w
ZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgZG9tYWluTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKLSAgICBhdXRvIHJlcGx5SUQgPSBnZW5lcmF0ZU9wZW5QYXltZW50U2V0
dXBSZXBseUlEKCk7Ci0KLSAgICBtX3BlbmRpbmdPcGVuUGF5bWVudFNldHVwQ2FsbGJhY2tzLmFk
ZChyZXBseUlELCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Ci0gICAgbV93ZWJQYWdlLnNl
bmQoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpPcGVuUGF5bWVudFNldHVw
KG1lcmNoYW50SWRlbnRpZmllciwgZG9tYWluTmFtZSwgcmVwbHlJRCkpOworICAgIG1fd2ViUGFn
ZS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5
OjpPcGVuUGF5bWVudFNldHVwKG1lcmNoYW50SWRlbnRpZmllciwgZG9tYWluTmFtZSksIFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KIAogYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3I6
OnNob3dQYXltZW50VUkoY29uc3QgVVJMJiBvcmlnaW5hdGluZ1VSTCwgY29uc3QgVmVjdG9yPFVS
TD4mIGxpbmtJY29uVVJMcywgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJl
cXVlc3QmIHBheW1lbnRSZXF1ZXN0KQpAQCAtMTk5LDE4ICsxNzksNiBAQCB2b2lkIFdlYlBheW1l
bnRDb29yZGluYXRvcjo6ZGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oKQogICAgIHBheW1lbnRDb29y
ZGluYXRvcigpLmRpZENhbmNlbFBheW1lbnRTZXNzaW9uKCk7CiB9CiAKLXZvaWQgV2ViUGF5bWVu
dENvb3JkaW5hdG9yOjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZFJlcGx5KHVpbnQ2NF90
IHJlcXVlc3RJRCwgYm9vbCBjYW5NYWtlUGF5bWVudHMpCi17Ci0gICAgYXV0byBjYWxsYmFjayA9
IG1fcGVuZGluZ0Nhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkQ2FsbGJhY2tzLnRha2UocmVx
dWVzdElEKTsKLSAgICBjYWxsYmFjayhjYW5NYWtlUGF5bWVudHMpOwotfQotCi12b2lkIFdlYlBh
eW1lbnRDb29yZGluYXRvcjo6b3BlblBheW1lbnRTZXR1cFJlcGx5KHVpbnQ2NF90IHJlcXVlc3RJ
RCwgYm9vbCByZXN1bHQpCi17Ci0gICAgYXV0byBjYWxsYmFjayA9IG1fcGVuZGluZ09wZW5QYXlt
ZW50U2V0dXBDYWxsYmFja3MudGFrZShyZXF1ZXN0SUQpOwotICAgIGNhbGxiYWNrKHJlc3VsdCk7
Ci19Ci0KIFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvciYgV2ViUGF5bWVudENvb3JkaW5hdG9y
OjpwYXltZW50Q29vcmRpbmF0b3IoKQogewogICAgIHJldHVybiBtX3dlYlBhZ2UuY29yZVBhZ2Uo
KS0+cGF5bWVudENvb3JkaW5hdG9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggNjcxMDU0NDBk
ZGM4MjMzNmIyMWVjMjNmNTc1ZWQyMDY2YTNjZWJjNC4uNmU5YTQ1ODc5ZTNkZDEyYTdlNzU4OWU3
YTE2OTZkMTIwNzQ2ZTBhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0Fw
cGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaApAQCAtNTcsOCArNTcsOCBAQCBw
cml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvckNsaWVudC4KICAgICBP
cHRpb25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0cmluZyYpIG92
ZXJyaWRlOwogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBj
YW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKLSAgICB2b2lkIG9wZW5QYXltZW50U2V0
dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWlu
TmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgb3Zl
cnJpZGU7CisgICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJp
bmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIG9wZW5QYXltZW50
U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9t
YWluTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgb3ZlcnJpZGU7CiAgICAg
Ym9vbCBzaG93UGF5bWVudFVJKGNvbnN0IFVSTCYgb3JpZ2luYXRpbmdVUkwsIGNvbnN0IFZlY3Rv
cjxVUkw+JiBsaW5rSWNvblVSTHMsIGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1l
bnRSZXF1ZXN0Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlv
bihjb25zdCBXZWJDb3JlOjpQYXltZW50TWVyY2hhbnRTZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKE9wdGlvbmFsPFdlYkNvcmU6OlNo
aXBwaW5nTWV0aG9kVXBkYXRlPiYmKSBvdmVycmlkZTsKQEAgLTgxLDggKzgxLDYgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGRpZFNlbGVjdFNoaXBwaW5nQ29udGFjdChjb25zdCBXZWJDb3JlOjpQYXlt
ZW50Q29udGFjdCYpOwogICAgIHZvaWQgZGlkU2VsZWN0UGF5bWVudE1ldGhvZChjb25zdCBXZWJD
b3JlOjpQYXltZW50TWV0aG9kJik7CiAgICAgdm9pZCBkaWRDYW5jZWxQYXltZW50U2Vzc2lvbigp
OwotICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRSZXBseSh1aW50NjRfdCBy
ZXF1ZXN0SUQsIGJvb2wgY2FuTWFrZVBheW1lbnRzKTsKLSAgICB2b2lkIG9wZW5QYXltZW50U2V0
dXBSZXBseSh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgcmVzdWx0KTsKIAogICAgIFdlYkNvcmU6
OlBheW1lbnRDb29yZGluYXRvciYgcGF5bWVudENvb3JkaW5hdG9yKCk7CiAgICAgCkBAIC05MSw5
ICs4OSw2IEBAIHByaXZhdGU6CiAKICAgICBXZWJQYWdlJiBtX3dlYlBhZ2U7CiAKLSAgICBIYXNo
TWFwPHVpbnQ2NF90LCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPj4gbV9wZW5kaW5nQ2FuTWFr
ZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmRDYWxsYmFja3M7Ci0gICAgSGFzaE1hcDx1aW50NjRfdCwg
V1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4+IG1fcGVuZGluZ09wZW5QYXltZW50U2V0dXBDYWxs
YmFja3M7Ci0KICAgICBPcHRpb25hbDxBdmFpbGFibGVQYXltZW50TmV0d29ya3NTZXQ+IG1fYXZh
aWxhYmxlUGF5bWVudE5ldHdvcmtzOwogCiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29v
cmRpbmF0b3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkv
V2ViUGF5bWVudENvb3JkaW5hdG9yLm1lc3NhZ2VzLmluCmluZGV4IGQ1ZGMzN2MxY2JiMTRhMDlj
MjUyYzkxZTI0N2E0N2YyNjQ4YjQwYzcuLjcwMWY4M2E5MjVlZTViOWNkNjIzOGY4ZTFlNzFkMGRl
NWZmNmNjZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9X
ZWJQYXltZW50Q29vcmRpbmF0b3IubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5tZXNzYWdlcy5pbgpAQCAtMzIs
OCArMzIsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYXltZW50Q29vcmRpbmF0b3IgewogICAgIERpZFNl
bGVjdFNoaXBwaW5nQ29udGFjdChXZWJDb3JlOjpQYXltZW50Q29udGFjdCBzaGlwcGluZ0NvbnRh
Y3QpCiAgICAgRGlkU2VsZWN0UGF5bWVudE1ldGhvZChXZWJDb3JlOjpQYXltZW50TWV0aG9kIHBh
eW1lbnRNZXRob2QpCiAgICAgRGlkQ2FuY2VsUGF5bWVudFNlc3Npb24oKQotICAgIENhbk1ha2VQ
YXltZW50c1dpdGhBY3RpdmVDYXJkUmVwbHkodWludDY0X3QgcmVxdWVzdElELCBib29sIGNhbk1h
a2VQYXltZW50cykKLSAgICBPcGVuUGF5bWVudFNldHVwUmVwbHkodWludDY0X3QgcmVxdWVzdElE
LCBib29sIHJlc3VsdCkKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oCmluZGV4IGVjMGMzNGE2OTU4YmFiNDIzNDFlY2QwNTBhMjI3ZDk4MDhiZjU1Njku
LjA4MGQzNmRjODdhODgwMWE3OWZlMTRlZjk2MTE3NmYzMjhjNDkyYjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oCkBAIC0zOCw4ICszOCw4IEBAIHByaXZhdGU6CiAK
ICAgICBPcHRpb25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0cmlu
ZyYpIG92ZXJyaWRlOwogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgb3ZlcnJpZGU7Ci0gICAg
dm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBv
dmVycmlkZTsKLSAgICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFu
dElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lk
IChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7CisgICAgdm9pZCBjYW5NYWtl
UGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIG9wZW5QYXlt
ZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
ZG9tYWluTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJikgb3ZlcnJpZGU7CiAg
ICAgYm9vbCBzaG93UGF5bWVudFVJKGNvbnN0IFVSTCYsIGNvbnN0IFZlY3RvcjxVUkw+JiBsaW5r
SWNvblVSTHMsIGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0Jikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihjb25zdCBXZWJD
b3JlOjpQYXltZW50TWVyY2hhbnRTZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wbGV0
ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKE9wdGlvbmFsPFdlYkNvcmU6OlNoaXBwaW5nTWV0aG9k
VXBkYXRlPiYmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbSBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVu
dC5tbQppbmRleCBhNTY1NDM1NDFmZjc3OTU0ZDc1MDZhM2I0NmZmMDFiZTgyMjU2NGY5Li5mY2Mx
ZGRmM2M5MzNiOGIwMmI4OTFhN2I4YTlkYzIwNjNlY2ZiNzJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5
bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpZiBFTkFCTEUo
QVBQTEVfUEFZKQogCisjaW1wb3J0IDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbXBvcnQg
PHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvVVJMLmg+CiAKQEAgLTQ4LDE2ICs0OSwx
NiBAQCBib29sIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6Y2FuTWFrZVBheW1lbnRzKCkK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
OjpjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJp
bmcmLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9p
ZCBXZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OmNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVD
YXJkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgY2FsbE9uTWFpblRocmVhZChbY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0geworICAgIGNhbGxP
bk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildKCkgbXV0YWJsZSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKICAgICB9
KTsKIH0KIAotdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6Om9wZW5QYXltZW50U2V0
dXAoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29s
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
OjpvcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgY2FsbE9u
TWFpblRocmVhZChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0geworICAgIGNhbGxPbk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcildKCkgbXV0YWJsZSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KGZhbHNlKTsKICAgICB9KTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>