<?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>172832</bug_id>
          
          <creation_ts>2017-06-01 13:22:10 -0700</creation_ts>
          <short_desc>[Cocoa] Add a &quot;supportedCountries&quot; property to ApplePayPaymentRequest</short_desc>
          <delta_ts>2017-06-02 11:14:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ggaren</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1314794</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-01 13:22:10 -0700</bug_when>
    <thetext>[Cocoa] Add a &quot;supportedCountries&quot; property to ApplePayPaymentRequest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314795</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-01 13:22:51 -0700</bug_when>
    <thetext>rdar://problem/30735544</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314797</commentid>
    <comment_count>2</comment_count>
      <attachid>311750</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-01 13:25:59 -0700</bug_when>
    <thetext>Created attachment 311750
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314812</commentid>
    <comment_count>3</comment_count>
      <attachid>311754</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-01 13:53:27 -0700</bug_when>
    <thetext>Created attachment 311754
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314814</commentid>
    <comment_count>4</comment_count>
      <attachid>311756</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-01 13:55:36 -0700</bug_when>
    <thetext>Created attachment 311756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1314832</commentid>
    <comment_count>5</comment_count>
      <attachid>311756</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-06-01 14:44:08 -0700</bug_when>
    <thetext>Comment on attachment 311756
Patch

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

&gt; Source/WebCore/Modules/applepay/ApplePayPaymentRequest.h:61
&gt; +    std::optional&lt;Vector&lt;String&gt;&gt; supportedCountries;

I&apos;m not sure the difference between nullopt and an empty vector is important enough to make this an optional vector.

&gt; LayoutTests/http/tests/ssl/applepay/ApplePaySessionV3-expected.txt:23
&gt; +SETUP: request = validRequest(); request.supportedCountries = 7;
&gt; +PASS new ApplePaySession(3, request) threw exception TypeError: Value is not a sequence.

Let&apos;s add a test that contains a valid sequence that contains things that are not strings.  Also an empty sequence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315100</commentid>
    <comment_count>6</comment_count>
      <attachid>311837</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-02 10:30:41 -0700</bug_when>
    <thetext>Created attachment 311837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315103</commentid>
    <comment_count>7</comment_count>
      <attachid>311838</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-06-02 10:34:58 -0700</bug_when>
    <thetext>Created attachment 311838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315122</commentid>
    <comment_count>8</comment_count>
      <attachid>311838</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-02 11:14:50 -0700</bug_when>
    <thetext>Comment on attachment 311838
Patch

Clearing flags on attachment: 311838

Committed r217723: &lt;http://trac.webkit.org/changeset/217723&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315123</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-02 11:14:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311750</attachid>
            <date>2017-06-01 13:25:59 -0700</date>
            <delta_ts>2017-06-01 13:53:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172832-20170601132559.patch</filename>
            <type>text/plain</type>
            <size>16688</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjdmOTdjMTdjYmM0MjFl
MzI5ZTVjM2M3MjZmMmU0MzVlZTI3MzcyYS4uYmY3NTgzMjkwOTBiYjJiMjcwZWFjZDk2Yzc5YmE3
Y2Y1YmQzNjBmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDE3LTA2LTAxICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ29jb2FdIEFkZCBhICJzdXBw
b3J0ZWRDb3VudHJpZXMiIHByb3BlcnR5IHRvIEFwcGxlUGF5UGF5bWVudFJlcXVlc3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjgzMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwKKworICAgICAgICAqIE1vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5pZGw6CisgICAgICAgICogTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydEFu
ZFZhbGlkYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6c3VwcG9ydGVkQ291bnRyaWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0OjpzZXRTdXBwb3J0ZWRDb3VudHJpZXMp
OgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3RWYWxpZGF0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudFJlcXVlc3RWYWxpZGF0b3I6OnZhbGlkYXRlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY29jb2EvUGFzc0tpdFNQSS5oOgorCisyMDE3LTA2LTAx
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKwogICAgICAgICBSRUdSRVNTSU9OIChy
MjE3NjI2KTogRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzIHdhcyBkaXNhYmxlZCBieSBtaXN0
YWtlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI4
MjgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDI1NWJlZDZlNWYyZDIzZmNkNzQ4YWFkZTE1NTk1YzYzNDVjMDJm
MTguLjRlMTQzNTk1MWU3NDEyYzY1YmNhZDEzMDZmM2Q4NjU3MTk1NzEyNDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwxOSBAQAogMjAxNy0wNi0wMSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5j
b20+CiAKKyAgICAgICAgW0NvY29hXSBBZGQgYSAic3VwcG9ydGVkQ291bnRyaWVzIiBwcm9wZXJ0
eSB0byBBcHBsZVBheVBheW1lbnRSZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI4MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnND
b2NvYS5tbToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxQYXltZW50UmVxdWVzdD46OmVu
Y29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UGF5bWVudFJlcXVlc3Q+OjpkZWNv
ZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0Ojp0b05TU2V0KToKKyAgICAgICAg
KFdlYktpdDo6dG9QS1BheW1lbnRSZXF1ZXN0KToKKworMjAxNy0wNi0wMSAgQW5keSBFc3RlcyAg
PGFlc3Rlc0BhcHBsZS5jb20+CisKICAgICAgICAgUkVHUkVTU0lPTiAocjIxNzYyNik6IEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMyB3YXMgZGlzYWJsZWQgYnkgbWlzdGFrZQogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyODI4CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVz
dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1
ZXN0LmgKaW5kZXggMTIwM2FkOGI1MDBiY2ZkZTFiODE0YjgxMWU1YTEzNTRmN2VkMGIwMi4uMmIy
OGY1MjUwODBhNWI5OGJmODEzY2M1NGYyZTI2OGY5MWVjMjNmNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmgK
QEAgLTU4LDYgKzU4LDcgQEAgc3RydWN0IEFwcGxlUGF5UGF5bWVudFJlcXVlc3QgewogICAgIHN0
ZDo6b3B0aW9uYWw8VmVjdG9yPEFwcGxlUGF5TGluZUl0ZW0+PiBsaW5lSXRlbXM7CiAKICAgICBT
dHJpbmcgYXBwbGljYXRpb25EYXRhOworICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFN0cmluZz4+
IHN1cHBvcnRlZENvdW50cmllczsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsCmluZGV4IDMy
MmJmMGYyZWY4ZWMwZWMwNGMyMjFkM2ZhM2ViMzNmNmFmN2FmZWEuLmRhOTEwODViODVmZGU4ZWVh
OWI5MTZjNDUzMTk0OWUyNDljMmM5ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmlkbApAQCAtNzEsNCAr
NzEsNSBAQAogICAgIHNlcXVlbmNlPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IHNoaXBwaW5nTWV0
aG9kczsKIAogICAgIERPTVN0cmluZyBhcHBsaWNhdGlvbkRhdGE7CisgICAgW0NvbmRpdGlvbmFs
PUFQUExFX1BBWV9TRVNTSU9OX1YzXSBzZXF1ZW5jZTxET01TdHJpbmc+IHN1cHBvcnRlZENvdW50
cmllczsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvbi5jcHAKaW5kZXggMDM0ZWY4YmMyY2RkYjYzMjdiY2JiYmFlOTg4ZmE5OWZhN2Qy
MWM1Zi4uNGZhYmIzYWNmMTNhYjQ3MjY3ZTY5YjY2YjQ1YzBhOTczYmFiYmFiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcApA
QCAtMzY5LDYgKzM2OSw5IEBAIHN0YXRpYyBFeGNlcHRpb25PcjxQYXltZW50UmVxdWVzdD4gY29u
dmVydEFuZFZhbGlkYXRlKHVuc2lnbmVkIHZlcnNpb24sIEFwcGxlUGF5CiAKICAgICByZXN1bHQu
c2V0QXBwbGljYXRpb25EYXRhKHBheW1lbnRSZXF1ZXN0LmFwcGxpY2F0aW9uRGF0YSk7CiAKKyAg
ICBpZiAodmVyc2lvbiA+PSAzICYmIHBheW1lbnRSZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcykK
KyAgICAgICAgcmVzdWx0LnNldFN1cHBvcnRlZENvdW50cmllcyhXVEZNb3ZlKCpwYXltZW50UmVx
dWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMpKTsKKwogICAgIC8vIEZJWE1FOiBNZXJnZSB0aGlzIHZh
bGlkYXRpb24gaW50byB0aGUgdmFsaWRhdGlvbiB3ZSBhcmUgZG9pbmcgYWJvdmUuCiAgICAgYXV0
byB2YWxpZGF0ZWRQYXltZW50UmVxdWVzdCA9IFBheW1lbnRSZXF1ZXN0VmFsaWRhdG9yOjp2YWxp
ZGF0ZShyZXN1bHQpOwogICAgIGlmICh2YWxpZGF0ZWRQYXltZW50UmVxdWVzdC5oYXNFeGNlcHRp
b24oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVl
c3QuaAppbmRleCAxYzFiNjRlYjFmYjQ4ZDYyNGVjNjNlYjcxNDYzNjUxMTg3ODE0N2NlLi40ZjVl
ZmRiNGMwNWY1N2RiMzZlM2U2OWVlMmYxZmU2OWI3Zjg2MzNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5oCkBAIC0xMjgsNiArMTI4LDkg
QEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgYXBwbGljYXRpb25EYXRhKCkgY29uc3QgeyBy
ZXR1cm4gbV9hcHBsaWNhdGlvbkRhdGE7IH0KICAgICB2b2lkIHNldEFwcGxpY2F0aW9uRGF0YShj
b25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uRGF0YSkgeyBtX2FwcGxpY2F0aW9uRGF0YSA9IGFwcGxp
Y2F0aW9uRGF0YTsgfQogCisgICAgY29uc3QgVmVjdG9yPFN0cmluZz4mIHN1cHBvcnRlZENvdW50
cmllcygpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydGVkQ291bnRyaWVzOyB9CisgICAgdm9pZCBz
ZXRTdXBwb3J0ZWRDb3VudHJpZXMoVmVjdG9yPFN0cmluZz4mJiBzdXBwb3J0ZWRDb3VudHJpZXMp
IHsgbV9zdXBwb3J0ZWRDb3VudHJpZXMgPSBXVEZNb3ZlKHN1cHBvcnRlZENvdW50cmllcyk7IH0K
KwogcHJpdmF0ZToKICAgICBTdHJpbmcgbV9jb3VudHJ5Q29kZTsKICAgICBTdHJpbmcgbV9jdXJy
ZW5jeUNvZGU7CkBAIC0xNDgsNiArMTUxLDcgQEAgcHJpdmF0ZToKICAgICBMaW5lSXRlbSBtX3Rv
dGFsOwogCiAgICAgU3RyaW5nIG1fYXBwbGljYXRpb25EYXRhOworICAgIFZlY3RvcjxTdHJpbmc+
IG1fc3VwcG9ydGVkQ291bnRyaWVzOwogfTsKIAogc3RydWN0IFBheW1lbnRFcnJvciB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0VmFs
aWRhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVl
c3RWYWxpZGF0b3IuY3BwCmluZGV4IDkyNDU4NDFiZjgxZTM1YmI4ODQ2Mjc5ZGI2MWZhMjhmNzI1
YTZkYjEuLjEyNzM1YjllNTBiOTJiYWJkOWQyNGQyMjFiOGNmYjBhZWZiZTY1ZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3RWYWxpZGF0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVl
c3RWYWxpZGF0b3IuY3BwCkBAIC02OSw2ICs2OSwxMiBAQCBFeGNlcHRpb25Pcjx2b2lkPiBQYXlt
ZW50UmVxdWVzdFZhbGlkYXRvcjo6dmFsaWRhdGUoY29uc3QgUGF5bWVudFJlcXVlc3QmIHBheW1l
bgogICAgIGlmICh2YWxpZGF0ZWRTaGlwcGluZ01ldGhvZHMuaGFzRXhjZXB0aW9uKCkpCiAgICAg
ICAgIHJldHVybiB2YWxpZGF0ZWRTaGlwcGluZ01ldGhvZHMucmVsZWFzZUV4Y2VwdGlvbigpOwog
CisgICAgZm9yIChhdXRvJiBjb3VudHJ5Q29kZSA6IHBheW1lbnRSZXF1ZXN0LnN1cHBvcnRlZENv
dW50cmllcygpKSB7CisgICAgICAgIGF1dG8gdmFsaWRhdGVkQ291bnRyeUNvZGUgPSB2YWxpZGF0
ZUNvdW50cnlDb2RlKGNvdW50cnlDb2RlKTsKKyAgICAgICAgaWYgKHZhbGlkYXRlZENvdW50cnlD
b2RlLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRlZENvdW50cnlD
b2RlLnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICB9CisKICAgICByZXR1cm4geyB9OwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvUGFzc0tpdFNQSS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAppbmRleCAx
MmQ1YjdjYzIzZjc2Yjc4YzBhMjc4NDY5ZmRmYzJmYjU3ODI2MGYyLi4xODVjNDg5MDE3NjE2NTRl
ODg1MGYxZGM2NjhlNGI2MDdmZmY1NjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKQEAgLTE2OCw2ICsxNjgsOSBAQCB0eXBlZGVmIE5TU3Ry
aW5nICogUEtQYXltZW50TmV0d29yayBOU19FWFRFTlNJQkxFX1NUUklOR19FTlVNOwogQHByb3Bl
cnR5IChub25hdG9taWMsIGNvcHksIG51bGxhYmxlKSBOU0FycmF5PFBLU2hpcHBpbmdNZXRob2Qg
Kj4gKnNoaXBwaW5nTWV0aG9kczsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLU2hp
cHBpbmdUeXBlIHNoaXBwaW5nVHlwZTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBudWxs
YWJsZSkgTlNEYXRhICphcHBsaWNhdGlvbkRhdGE7CisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEzMDAKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBudWxsYWJs
ZSkgTlNTZXQ8TlNTdHJpbmcgKj4gKnN1cHBvcnRlZENvdW50cmllczsKKyNlbmRpZgogQGVuZAog
CiBAaW50ZXJmYWNlIFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlciA6IE5TVmll
d0NvbnRyb2xsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9XZWJD
b3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCBiOTE0Y2RhNWI3NGEwMjZiNDFkMjAw
MzZiYWJlMTY2ZmJkZTE4OWMyLi5lZTBkOTUwOGIwYmNkYzA0ZWY5Zjc4NTNiZWYwYTFmZDg4OTdk
OGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NvY29hL1dlYkNv
cmVBcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC0yNDgsNiArMjQ4LDcgQEAgdm9pZCBBcmd1bWVu
dENvZGVyPFBheW1lbnRSZXF1ZXN0Pjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBh
eW1lbnRSZXF1ZXMKICAgICBlbmNvZGVyIDw8IHJlcXVlc3QubGluZUl0ZW1zKCk7CiAgICAgZW5j
b2RlciA8PCByZXF1ZXN0LnRvdGFsKCk7CiAgICAgZW5jb2RlciA8PCByZXF1ZXN0LmFwcGxpY2F0
aW9uRGF0YSgpOworICAgIGVuY29kZXIgPDwgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMoKTsK
IH0KIAogYm9vbCBBcmd1bWVudENvZGVyPFBheW1lbnRSZXF1ZXN0Pjo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIsIFBheW1lbnRSZXF1ZXN0JiByZXF1ZXN0KQpAQCAtMzE3LDYgKzMxOCwxMSBAQCBi
b29sIEFyZ3VtZW50Q29kZXI8UGF5bWVudFJlcXVlc3Q+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
ciwgUGF5bWVudFJlcXVlc3QmIHJlcQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmVxdWVz
dC5zZXRBcHBsaWNhdGlvbkRhdGEoYXBwbGljYXRpb25EYXRhKTsKIAorICAgIFZlY3RvcjxTdHJp
bmc+IHN1cHBvcnRlZENvdW50cmllczsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHN1cHBvcnRl
ZENvdW50cmllcykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXF1ZXN0LnNldFN1cHBv
cnRlZENvdW50cmllcyhXVEZNb3ZlKHN1cHBvcnRlZENvdW50cmllcykpOworCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBsZVBh
eS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29j
b2EubW0KaW5kZXggNWEwNTdhOWVjM2EzNDdlZDRmNzFkNzYyMmRiZThmNTZiYTBiZDNhMi4uZjk5
MjlhOWExNWEwNzJkMTkxMzMzYzA5ZmE5YWY4MDAwZjhmYmI3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29h
L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KQEAgLTQ3Nyw2ICs0NzcsMTggQEAg
c3RhdGljIFJldGFpblB0cjxQS1NoaXBwaW5nTWV0aG9kPiB0b1BLU2hpcHBpbmdNZXRob2QoY29u
c3QgV2ViQ29yZTo6UGF5bWVudFJlcXUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitzdGF0aWMg
UmV0YWluUHRyPE5TU2V0PiB0b05TU2V0KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdHJpbmdzKQor
eworICAgIGlmIChzdHJpbmdzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAg
IGF1dG8gbXV0YWJsZVNldCA9IGFkb3B0TlMoW1tOU011dGFibGVTZXQgYWxsb2NdIGluaXRXaXRo
Q2FwYWNpdHk6c3RyaW5ncy5zaXplKCldKTsKKyAgICBmb3IgKGF1dG8mIHN0cmluZyA6IHN0cmlu
Z3MpCisgICAgICAgIFttdXRhYmxlU2V0IGFkZE9iamVjdDpzdHJpbmddOworCisgICAgcmV0dXJu
IFdURk1vdmUobXV0YWJsZVNldCk7Cit9CisKIFJldGFpblB0cjxQS1BheW1lbnRSZXF1ZXN0PiB0
b1BLUGF5bWVudFJlcXVlc3QoV2ViUGFnZVByb3h5JiB3ZWJQYWdlUHJveHksIGNvbnN0IFdlYkNv
cmU6OlVSTCYgb3JpZ2luYXRpbmdVUkwsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpVUkw+JiBsaW5r
SWNvblVSTHMsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0JiBwYXltZW50UmVxdWVzdCkK
IHsKICAgICBhdXRvIHJlc3VsdCA9IGFkb3B0TlMoW2FsbG9jUEtQYXltZW50UmVxdWVzdEluc3Rh
bmNlKCkgaW5pdF0pOwpAQCAtNTMyLDYgKzU0NCwxMCBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVx
dWVzdD4gdG9QS1BheW1lbnRSZXF1ZXN0KFdlYlBhZ2VQcm94eSYgd2ViUGFnZVByb3h5LCBjb25z
dAogICAgICAgICBbcmVzdWx0IHNldEFwcGxpY2F0aW9uRGF0YTphcHBsaWNhdGlvbkRhdGEuZ2V0
KCldOwogICAgIH0KIAorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCisgICAgW3Jlc3VsdCBzZXRTdXBwb3J0ZWRD
b3VudHJpZXM6dG9OU1NldChwYXltZW50UmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMoKSkuZ2V0
KCldOworI2VuZGlmCisKICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiB1c2luZyByZXNwb25kc1Rv
U2VsZWN0b3IsIHRoaXMgc2hvdWxkIHVzZSBhIHByb3BlciAjaWYgdmVyc2lvbiBjaGVjay4KICAg
ICBhdXRvJiBjb25maWd1cmF0aW9uID0gd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5wcm9jZXNzUG9v
bCgpLmNvbmZpZ3VyYXRpb24oKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDMwN2JkZGZlYjQ2OGIyNGUzMmJjNDQ1NjQx
YWE4NDczMmY0YTYyYTIuLjZkMGQzYWMwZmMzZjA5ZTFkNzRkOTU5MzE5NjYxZDZiOTU5YjI0ZGUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0wNi0wMSAgQW5keSBFc3RlcyAgPGFlc3Rlc0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBBZGQgYSAic3VwcG9ydGVkQ291bnRyaWVzIiBw
cm9wZXJ0eSB0byBBcHBsZVBheVBheW1lbnRSZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI4MzIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvblYzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9z
c2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE3LTA2LTAxICBSeWFuIEhhZGRh
ZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmsgdHdvIHdlYnJ0YyB0ZXN0
cyBhcyBmbGFreS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5L0FwcGxlUGF5U2Vzc2lvblYzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40NThhMjcxN2MyNDlmMGU1ZjI1ZTg0ODJiYTdhMjg3NWFmOTZiZmUxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9u
VjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDQgQEAKK1Rlc3QgYmFzaWMgY3JlYXRpb24gb2Yg
YW4gQXBwbGVQYXlTZXNzaW9uIG9iamVjdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1Rlc3RpbmcgUGF5bWVudFJlcXVlc3QgKHYzKQorCitQQVNTIG5ldyBBcHBsZVBheVNlc3Np
b24oMywgeyB9KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBNZW1iZXIgQXBwbGVQYXlQYXlt
ZW50UmVxdWVzdC5jb3VudHJ5Q29kZSBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBET01TdHJpbmcuCitQQVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgdmFsaWRSZXF1ZXN0
KCkpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorCitUZXN0aW5nIFBheW1lbnRSZXF1ZXN0LnN1
cHBvcnRlZENvdW50cmllcworCitTRVRVUDogcmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1
ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IFsnaW52YWxpZCddOworUEFTUyBuZXcgQXBwbGVQYXlT
ZXNzaW9uKDMsIHJlcXVlc3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICJpbnZhbGlkIiBp
cyBub3QgYSB2YWxpZCBjb3VudHJ5IGNvZGUuLgorCitTRVRVUDogcmVxdWVzdCA9IHZhbGlkUmVx
dWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IFsnVVMnLCAnaW52YWxpZCddOwor
UEFTUyBuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6ICJpbnZhbGlkIiBpcyBub3QgYSB2YWxpZCBjb3VudHJ5IGNvZGUuLgorCitTRVRVUDog
cmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9ICcn
OworUEFTUyBuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IFZhbHVlIGlzIG5vdCBhIHNlcXVlbmNlLgorCitTRVRVUDogcmVxdWVzdCA9IHZh
bGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IDc7CitQQVNTIG5ldyBB
cHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFs
dWUgaXMgbm90IGEgc2VxdWVuY2UuCisKK1NFVFVQOiByZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7
IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gbnVsbDsKK1BBU1MgbmV3IEFwcGxlUGF5U2Vz
c2lvbigzLCByZXF1ZXN0KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBWYWx1ZSBpcyBub3Qg
YSBzZXF1ZW5jZS4KKworU0VUVVA6IHJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgZGVsZXRlIHJl
cXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzOworUEFTUyBuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJl
cXVlc3QpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorCitTRVRVUDogcmVxdWVzdCA9IHZhbGlk
UmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IHVuZGVmaW5lZDsKK1BBU1Mg
bmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
KworU0VUVVA6IHJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3Vu
dHJpZXMgPSBbJ1VTJ107CitQQVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCisKK1NFVFVQOiByZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7
IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gWydVUycsICdVUyddOworUEFTUyBuZXcgQXBw
bGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorCisKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25W
My5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNz
aW9uVjMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yODMwNWE1MjI1NDM3ODE0N2EyMjExYjY0YWY3YWZkZTFh
ZDQ1MzY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRtbApAQCAtMCwwICsxLDg2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3QgYmFzaWMgY3JlYXRpb24gb2YgYW4g
QXBwbGVQYXlTZXNzaW9uIG9iamVjdC4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworCitmdW5jdGlvbiB2YWxpZFJlcXVlc3QoKSB7CisgICAgcmV0dXJuIHsKKyAgICAgICAgICBj
b3VudHJ5Q29kZTogJ1VTJywKKyAgICAgICAgICBjdXJyZW5jeUNvZGU6ICdVU0QnLAorICAgICAg
ICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbJ3Zpc2EnLCAnbWFzdGVyQ2FyZCddLAorICAgICAgICAg
IG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbJ3N1cHBvcnRzM0RTJ10sCisgICAgICAgICAgdG90YWw6
IHsgbGFiZWw6ICdZb3VyIExhYmVsJywgYW1vdW50OiAnMTAuMDAnIH0sCisgICAgfQorfQorCitm
dW5jdGlvbiBsb2dBbmRTaG91bGRUaHJvdyhzZXR1cCwgdGVzdCkgeworICAgIGRlYnVnKCJTRVRV
UDogIiArIHNldHVwKQorICAgIGV2YWwoc2V0dXApOworICAgIHNob3VsZFRocm93KHRlc3QpOwor
ICAgIGRlYnVnKCIiKQorfQorCitmdW5jdGlvbiBsb2dBbmRTaG91bGROb3RUaHJvdyhzZXR1cCwg
dGVzdCkgeworICAgIGRlYnVnKCJTRVRVUDogIiArIHNldHVwKQorICAgIGV2YWwoc2V0dXApOwor
ICAgIHNob3VsZE5vdFRocm93KHRlc3QpOworICAgIGRlYnVnKCIiKQorfQorCitmdW5jdGlvbiBn
bygpIHsKKyAgICBkZWJ1ZygiVGVzdGluZyBQYXltZW50UmVxdWVzdCAodjMpIikKKyAgICBkZWJ1
ZygiIik7CisgICAgc2hvdWxkVGhyb3coIm5ldyBBcHBsZVBheVNlc3Npb24oMywgeyB9KSIpOwor
ICAgIHNob3VsZE5vdFRocm93KCJuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHZhbGlkUmVxdWVzdCgp
KSIpOworICAgIGRlYnVnKCIiKTsKKyAgICAKKyAgICBkZWJ1ZygiVGVzdGluZyBQYXltZW50UmVx
dWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBsb2dBbmRT
aG91bGRUaHJvdygicmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENv
dW50cmllcyA9IFsnaW52YWxpZCddOyIsICJuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3Qp
Iik7CisgICAgbG9nQW5kU2hvdWxkVGhyb3coInJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVx
dWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMgPSBbJ1VTJywgJ2ludmFsaWQnXTsiLCAibmV3IEFwcGxl
UGF5U2Vzc2lvbigzLCByZXF1ZXN0KSIpOworICAgIGxvZ0FuZFNob3VsZFRocm93KCJyZXF1ZXN0
ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gJyc7IiwgIm5l
dyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkiKTsKKyAgICBsb2dBbmRTaG91bGRUaHJvdygi
cmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IDc7
IiwgIm5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkiKTsKKyAgICBsb2dBbmRTaG91bGRU
aHJvdygicmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmll
cyA9IG51bGw7IiwgIm5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkiKTsKKyAgICBsb2dB
bmRTaG91bGROb3RUaHJvdygicmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyBkZWxldGUgcmVxdWVz
dC5zdXBwb3J0ZWRDb3VudHJpZXM7IiwgIm5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCki
KTsKKyAgICBsb2dBbmRTaG91bGROb3RUaHJvdygicmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyBy
ZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IHVuZGVmaW5lZDsiLCAibmV3IEFwcGxlUGF5U2Vz
c2lvbigzLCByZXF1ZXN0KSIpOworICAgIGxvZ0FuZFNob3VsZE5vdFRocm93KCJyZXF1ZXN0ID0g
dmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gWydVUyddOyIsICJu
ZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIik7CisgICAgbG9nQW5kU2hvdWxkTm90VGhy
b3coInJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMg
PSBbJ1VTJywgJ1VTJ107IiwgIm5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkiKTsKKyAg
ICBkZWJ1ZygiIik7CisKKyAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKS5yZW1v
dmUoKTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitmdW5jdGlvbiBjbGlja0VsZW1lbnQo
ZWxlbWVudCkgeworICAgIGxldCB4ID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgMjsKKyAgICBsZXQg
eSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgMjsKKworICAgIHZhciBzdXBwb3J0c1RvdWNoRXZlbnRz
ID0gIlRvdWNoRXZlbnQiIGluIHdpbmRvdzsKKyAgICBpZiAoc3VwcG9ydHNUb3VjaEV2ZW50cyAm
JiB3aW5kb3cudGVzdFJ1bm5lciAmJiB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KSB7CisgICAgICAg
IHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoYChmdW5jdGlvbigpIHsgdWlDb250cm9sbGVyLnNpbmds
ZVRhcEF0UG9pbnQoJHt4fSwgJHt5fSwgZnVuY3Rpb24oKSB7IH0pOyB9KSgpO2AsIGZ1bmN0aW9u
ICgpIHsgfSk7CisgICAgfSBlbHNlIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
RG93bigpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgfQorfQorCit3aW5k
b3cub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgY2xpY2tFbGVtZW50KGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoImJ1dHRvbiIpKTsKK30KKworPC9zY3JpcHQ+Cis8YnV0dG9uIG9uY2xpY2s9J2dv
KCknPkdvPC9idXR0b24+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZTRlNmM4YjYyYmQzMTZiOGZiNTgwNTEw
ZTc1YjdkZTdiOGZkNjNjMy4uMTFmNGVkYWQ0YmZjYjk2NjdkMjMyYWVmNzU0OTg2YmYzYjI0N2M5
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMjQsNiArMjQsNyBAQCBmYXN0L21lZGlhL21xLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbGl2
ZS11cGRhdGUuaHRtbCBbIFBhc3MgXQogCiBbIFNpZXJyYSsgXSBodHRwL3Rlc3RzL3NzbC9hcHBs
ZXBheS8gWyBQYXNzIF0KIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaHRt
bCBbIFNraXAgXQoraHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRt
bCBbIFNraXAgXQogCiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9ydWJiZXJiYW5kaW5nLXZpZXdwb3J0
LXJlY3RzLmh0bWwgWyBQYXNzIF0KIGZhc3QvdmlzdWFsLXZpZXdwb3J0L3J1YmJlcmJhbmRpbmct
dmlld3BvcnQtcmVjdHMtaGVhZGVyLWZvb3Rlci5odG1sICBbIFBhc3MgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311754</attachid>
            <date>2017-06-01 13:53:27 -0700</date>
            <delta_ts>2017-06-01 13:55:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172832-20170601135326.patch</filename>
            <type>text/plain</type>
            <size>16765</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjdmOTdjMTdjYmM0MjFl
MzI5ZTVjM2M3MjZmMmU0MzVlZTI3MzcyYS4uYmY3NTgzMjkwOTBiYjJiMjcwZWFjZDk2Yzc5YmE3
Y2Y1YmQzNjBmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDE3LTA2LTAxICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ29jb2FdIEFkZCBhICJzdXBw
b3J0ZWRDb3VudHJpZXMiIHByb3BlcnR5IHRvIEFwcGxlUGF5UGF5bWVudFJlcXVlc3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjgzMgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwKKworICAgICAgICAqIE1vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5pZGw6CisgICAgICAgICogTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydEFu
ZFZhbGlkYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6c3VwcG9ydGVkQ291bnRyaWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0OjpzZXRTdXBwb3J0ZWRDb3VudHJpZXMp
OgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3RWYWxpZGF0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudFJlcXVlc3RWYWxpZGF0b3I6OnZhbGlkYXRlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvY29jb2EvUGFzc0tpdFNQSS5oOgorCisyMDE3LTA2LTAx
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKwogICAgICAgICBSRUdSRVNTSU9OIChy
MjE3NjI2KTogRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzIHdhcyBkaXNhYmxlZCBieSBtaXN0
YWtlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI4
MjgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDI1NWJlZDZlNWYyZDIzZmNkNzQ4YWFkZTE1NTk1YzYzNDVjMDJm
MTguLjRlMTQzNTk1MWU3NDEyYzY1YmNhZDEzMDZmM2Q4NjU3MTk1NzEyNDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwxOSBAQAogMjAxNy0wNi0wMSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5j
b20+CiAKKyAgICAgICAgW0NvY29hXSBBZGQgYSAic3VwcG9ydGVkQ291bnRyaWVzIiBwcm9wZXJ0
eSB0byBBcHBsZVBheVBheW1lbnRSZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI4MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnND
b2NvYS5tbToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxQYXltZW50UmVxdWVzdD46OmVu
Y29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UGF5bWVudFJlcXVlc3Q+OjpkZWNv
ZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0Ojp0b05TU2V0KToKKyAgICAgICAg
KFdlYktpdDo6dG9QS1BheW1lbnRSZXF1ZXN0KToKKworMjAxNy0wNi0wMSAgQW5keSBFc3RlcyAg
PGFlc3Rlc0BhcHBsZS5jb20+CisKICAgICAgICAgUkVHUkVTU0lPTiAocjIxNzYyNik6IEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMyB3YXMgZGlzYWJsZWQgYnkgbWlzdGFrZQogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyODI4CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVz
dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1
ZXN0LmgKaW5kZXggMTIwM2FkOGI1MDBiY2ZkZTFiODE0YjgxMWU1YTEzNTRmN2VkMGIwMi4uMmIy
OGY1MjUwODBhNWI5OGJmODEzY2M1NGYyZTI2OGY5MWVjMjNmNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmgK
QEAgLTU4LDYgKzU4LDcgQEAgc3RydWN0IEFwcGxlUGF5UGF5bWVudFJlcXVlc3QgewogICAgIHN0
ZDo6b3B0aW9uYWw8VmVjdG9yPEFwcGxlUGF5TGluZUl0ZW0+PiBsaW5lSXRlbXM7CiAKICAgICBT
dHJpbmcgYXBwbGljYXRpb25EYXRhOworICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFN0cmluZz4+
IHN1cHBvcnRlZENvdW50cmllczsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsCmluZGV4IDMy
MmJmMGYyZWY4ZWMwZWMwNGMyMjFkM2ZhM2ViMzNmNmFmN2FmZWEuLmRhOTEwODViODVmZGU4ZWVh
OWI5MTZjNDUzMTk0OWUyNDljMmM5ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmlkbApAQCAtNzEsNCAr
NzEsNSBAQAogICAgIHNlcXVlbmNlPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IHNoaXBwaW5nTWV0
aG9kczsKIAogICAgIERPTVN0cmluZyBhcHBsaWNhdGlvbkRhdGE7CisgICAgW0NvbmRpdGlvbmFs
PUFQUExFX1BBWV9TRVNTSU9OX1YzXSBzZXF1ZW5jZTxET01TdHJpbmc+IHN1cHBvcnRlZENvdW50
cmllczsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvbi5jcHAKaW5kZXggMDM0ZWY4YmMyY2RkYjYzMjdiY2JiYmFlOTg4ZmE5OWZhN2Qy
MWM1Zi4uNGZhYmIzYWNmMTNhYjQ3MjY3ZTY5YjY2YjQ1YzBhOTczYmFiYmFiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcApA
QCAtMzY5LDYgKzM2OSw5IEBAIHN0YXRpYyBFeGNlcHRpb25PcjxQYXltZW50UmVxdWVzdD4gY29u
dmVydEFuZFZhbGlkYXRlKHVuc2lnbmVkIHZlcnNpb24sIEFwcGxlUGF5CiAKICAgICByZXN1bHQu
c2V0QXBwbGljYXRpb25EYXRhKHBheW1lbnRSZXF1ZXN0LmFwcGxpY2F0aW9uRGF0YSk7CiAKKyAg
ICBpZiAodmVyc2lvbiA+PSAzICYmIHBheW1lbnRSZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcykK
KyAgICAgICAgcmVzdWx0LnNldFN1cHBvcnRlZENvdW50cmllcyhXVEZNb3ZlKCpwYXltZW50UmVx
dWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMpKTsKKwogICAgIC8vIEZJWE1FOiBNZXJnZSB0aGlzIHZh
bGlkYXRpb24gaW50byB0aGUgdmFsaWRhdGlvbiB3ZSBhcmUgZG9pbmcgYWJvdmUuCiAgICAgYXV0
byB2YWxpZGF0ZWRQYXltZW50UmVxdWVzdCA9IFBheW1lbnRSZXF1ZXN0VmFsaWRhdG9yOjp2YWxp
ZGF0ZShyZXN1bHQpOwogICAgIGlmICh2YWxpZGF0ZWRQYXltZW50UmVxdWVzdC5oYXNFeGNlcHRp
b24oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVl
c3QuaAppbmRleCAxYzFiNjRlYjFmYjQ4ZDYyNGVjNjNlYjcxNDYzNjUxMTg3ODE0N2NlLi40ZjVl
ZmRiNGMwNWY1N2RiMzZlM2U2OWVlMmYxZmU2OWI3Zjg2MzNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5oCkBAIC0xMjgsNiArMTI4LDkg
QEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgYXBwbGljYXRpb25EYXRhKCkgY29uc3QgeyBy
ZXR1cm4gbV9hcHBsaWNhdGlvbkRhdGE7IH0KICAgICB2b2lkIHNldEFwcGxpY2F0aW9uRGF0YShj
b25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uRGF0YSkgeyBtX2FwcGxpY2F0aW9uRGF0YSA9IGFwcGxp
Y2F0aW9uRGF0YTsgfQogCisgICAgY29uc3QgVmVjdG9yPFN0cmluZz4mIHN1cHBvcnRlZENvdW50
cmllcygpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydGVkQ291bnRyaWVzOyB9CisgICAgdm9pZCBz
ZXRTdXBwb3J0ZWRDb3VudHJpZXMoVmVjdG9yPFN0cmluZz4mJiBzdXBwb3J0ZWRDb3VudHJpZXMp
IHsgbV9zdXBwb3J0ZWRDb3VudHJpZXMgPSBXVEZNb3ZlKHN1cHBvcnRlZENvdW50cmllcyk7IH0K
KwogcHJpdmF0ZToKICAgICBTdHJpbmcgbV9jb3VudHJ5Q29kZTsKICAgICBTdHJpbmcgbV9jdXJy
ZW5jeUNvZGU7CkBAIC0xNDgsNiArMTUxLDcgQEAgcHJpdmF0ZToKICAgICBMaW5lSXRlbSBtX3Rv
dGFsOwogCiAgICAgU3RyaW5nIG1fYXBwbGljYXRpb25EYXRhOworICAgIFZlY3RvcjxTdHJpbmc+
IG1fc3VwcG9ydGVkQ291bnRyaWVzOwogfTsKIAogc3RydWN0IFBheW1lbnRFcnJvciB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0VmFs
aWRhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVl
c3RWYWxpZGF0b3IuY3BwCmluZGV4IDkyNDU4NDFiZjgxZTM1YmI4ODQ2Mjc5ZGI2MWZhMjhmNzI1
YTZkYjEuLjEyNzM1YjllNTBiOTJiYWJkOWQyNGQyMjFiOGNmYjBhZWZiZTY1ZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3RWYWxpZGF0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVl
c3RWYWxpZGF0b3IuY3BwCkBAIC02OSw2ICs2OSwxMiBAQCBFeGNlcHRpb25Pcjx2b2lkPiBQYXlt
ZW50UmVxdWVzdFZhbGlkYXRvcjo6dmFsaWRhdGUoY29uc3QgUGF5bWVudFJlcXVlc3QmIHBheW1l
bgogICAgIGlmICh2YWxpZGF0ZWRTaGlwcGluZ01ldGhvZHMuaGFzRXhjZXB0aW9uKCkpCiAgICAg
ICAgIHJldHVybiB2YWxpZGF0ZWRTaGlwcGluZ01ldGhvZHMucmVsZWFzZUV4Y2VwdGlvbigpOwog
CisgICAgZm9yIChhdXRvJiBjb3VudHJ5Q29kZSA6IHBheW1lbnRSZXF1ZXN0LnN1cHBvcnRlZENv
dW50cmllcygpKSB7CisgICAgICAgIGF1dG8gdmFsaWRhdGVkQ291bnRyeUNvZGUgPSB2YWxpZGF0
ZUNvdW50cnlDb2RlKGNvdW50cnlDb2RlKTsKKyAgICAgICAgaWYgKHZhbGlkYXRlZENvdW50cnlD
b2RlLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRlZENvdW50cnlD
b2RlLnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICB9CisKICAgICByZXR1cm4geyB9OwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvUGFzc0tpdFNQSS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAppbmRleCAx
MmQ1YjdjYzIzZjc2Yjc4YzBhMjc4NDY5ZmRmYzJmYjU3ODI2MGYyLi4xODVjNDg5MDE3NjE2NTRl
ODg1MGYxZGM2NjhlNGI2MDdmZmY1NjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKQEAgLTE2OCw2ICsxNjgsOSBAQCB0eXBlZGVmIE5TU3Ry
aW5nICogUEtQYXltZW50TmV0d29yayBOU19FWFRFTlNJQkxFX1NUUklOR19FTlVNOwogQHByb3Bl
cnR5IChub25hdG9taWMsIGNvcHksIG51bGxhYmxlKSBOU0FycmF5PFBLU2hpcHBpbmdNZXRob2Qg
Kj4gKnNoaXBwaW5nTWV0aG9kczsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFBLU2hp
cHBpbmdUeXBlIHNoaXBwaW5nVHlwZTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBudWxs
YWJsZSkgTlNEYXRhICphcHBsaWNhdGlvbkRhdGE7CisjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDEzMDAKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBudWxsYWJs
ZSkgTlNTZXQ8TlNTdHJpbmcgKj4gKnN1cHBvcnRlZENvdW50cmllczsKKyNlbmRpZgogQGVuZAog
CiBAaW50ZXJmYWNlIFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlciA6IE5TVmll
d0NvbnRyb2xsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9XZWJD
b3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCBiOTE0Y2RhNWI3NGEwMjZiNDFkMjAw
MzZiYWJlMTY2ZmJkZTE4OWMyLi5lZTBkOTUwOGIwYmNkYzA0ZWY5Zjc4NTNiZWYwYTFmZDg4OTdk
OGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NvY29hL1dlYkNv
cmVBcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC0yNDgsNiArMjQ4LDcgQEAgdm9pZCBBcmd1bWVu
dENvZGVyPFBheW1lbnRSZXF1ZXN0Pjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFBh
eW1lbnRSZXF1ZXMKICAgICBlbmNvZGVyIDw8IHJlcXVlc3QubGluZUl0ZW1zKCk7CiAgICAgZW5j
b2RlciA8PCByZXF1ZXN0LnRvdGFsKCk7CiAgICAgZW5jb2RlciA8PCByZXF1ZXN0LmFwcGxpY2F0
aW9uRGF0YSgpOworICAgIGVuY29kZXIgPDwgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMoKTsK
IH0KIAogYm9vbCBBcmd1bWVudENvZGVyPFBheW1lbnRSZXF1ZXN0Pjo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIsIFBheW1lbnRSZXF1ZXN0JiByZXF1ZXN0KQpAQCAtMzE3LDYgKzMxOCwxMSBAQCBi
b29sIEFyZ3VtZW50Q29kZXI8UGF5bWVudFJlcXVlc3Q+OjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
ciwgUGF5bWVudFJlcXVlc3QmIHJlcQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmVxdWVz
dC5zZXRBcHBsaWNhdGlvbkRhdGEoYXBwbGljYXRpb25EYXRhKTsKIAorICAgIFZlY3RvcjxTdHJp
bmc+IHN1cHBvcnRlZENvdW50cmllczsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHN1cHBvcnRl
ZENvdW50cmllcykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXF1ZXN0LnNldFN1cHBv
cnRlZENvdW50cmllcyhXVEZNb3ZlKHN1cHBvcnRlZENvdW50cmllcykpOworCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBsZVBh
eS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29j
b2EubW0KaW5kZXggNWEwNTdhOWVjM2EzNDdlZDRmNzFkNzYyMmRiZThmNTZiYTBiZDNhMi4uNDQ2
NDQ1MjdmMmUwZmI5ZmEzYmMzOWQwNzFlMDA0ODg3OGUyNGZlNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29h
L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KQEAgLTQ3Niw2ICs0NzYsMjAgQEAg
c3RhdGljIFJldGFpblB0cjxQS1NoaXBwaW5nTWV0aG9kPiB0b1BLU2hpcHBpbmdNZXRob2QoY29u
c3QgV2ViQ29yZTo6UGF5bWVudFJlcXUKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CisgICAgCisj
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDExMDAwMCkKK3N0YXRpYyBSZXRhaW5QdHI8TlNTZXQ+IHRvTlNTZXQoY29uc3QgVmVj
dG9yPFN0cmluZz4mIHN0cmluZ3MpCit7CisgICAgaWYgKHN0cmluZ3MuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4gbmlsOworCisgICAgYXV0byBtdXRhYmxlU2V0ID0gYWRvcHROUyhbW05TTXV0
YWJsZVNldCBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTpzdHJpbmdzLnNpemUoKV0pOworICAgIGZv
ciAoYXV0byYgc3RyaW5nIDogc3RyaW5ncykKKyAgICAgICAgW211dGFibGVTZXQgYWRkT2JqZWN0
OnN0cmluZ107CisKKyAgICByZXR1cm4gV1RGTW92ZShtdXRhYmxlU2V0KTsKK30KKyNlbmRpZgog
CiBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gdG9QS1BheW1lbnRSZXF1ZXN0KFdlYlBhZ2VQ
cm94eSYgd2ViUGFnZVByb3h5LCBjb25zdCBXZWJDb3JlOjpVUkwmIG9yaWdpbmF0aW5nVVJMLCBj
b25zdCBWZWN0b3I8V2ViQ29yZTo6VVJMPiYgbGlua0ljb25VUkxzLCBjb25zdCBXZWJDb3JlOjpQ
YXltZW50UmVxdWVzdCYgcGF5bWVudFJlcXVlc3QpCiB7CkBAIC01MzIsNiArNTQ2LDEwIEBAIFJl
dGFpblB0cjxQS1BheW1lbnRSZXF1ZXN0PiB0b1BLUGF5bWVudFJlcXVlc3QoV2ViUGFnZVByb3h5
JiB3ZWJQYWdlUHJveHksIGNvbnN0CiAgICAgICAgIFtyZXN1bHQgc2V0QXBwbGljYXRpb25EYXRh
OmFwcGxpY2F0aW9uRGF0YS5nZXQoKV07CiAgICAgfQogCisjaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJ
T1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKKyAgICBb
cmVzdWx0IHNldFN1cHBvcnRlZENvdW50cmllczp0b05TU2V0KHBheW1lbnRSZXF1ZXN0LnN1cHBv
cnRlZENvdW50cmllcygpKS5nZXQoKV07CisjZW5kaWYKKwogICAgIC8vIEZJWE1FOiBJbnN0ZWFk
IG9mIHVzaW5nIHJlc3BvbmRzVG9TZWxlY3RvciwgdGhpcyBzaG91bGQgdXNlIGEgcHJvcGVyICNp
ZiB2ZXJzaW9uIGNoZWNrLgogICAgIGF1dG8mIGNvbmZpZ3VyYXRpb24gPSB3ZWJQYWdlUHJveHku
cHJvY2VzcygpLnByb2Nlc3NQb29sKCkuY29uZmlndXJhdGlvbigpOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzA3YmRk
ZmViNDY4YjI0ZTMyYmM0NDU2NDFhYTg0NzMyZjRhNjJhMi4uNmQwZDNhYzBmYzNmMDllMWQ3NGQ5
NTkzMTk2NjFkNmI5NTliMjRkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTA2LTAxICBB
bmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBhICJz
dXBwb3J0ZWRDb3VudHJpZXMiIHByb3BlcnR5IHRvIEFwcGxlUGF5UGF5bWVudFJlcXVlc3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjgzMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIw
MTctMDYtMDEgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAg
TWFyayB0d28gd2VicnRjIHRlc3RzIGFzIGZsYWt5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1OGEyNzE3YzI0OWYwZTVmMjVlODQ4MmJhN2EyODc1YWY5
NmJmZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb25WMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NCBAQAorVGVz
dCBiYXNpYyBjcmVhdGlvbiBvZiBhbiBBcHBsZVBheVNlc3Npb24gb2JqZWN0LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdGluZyBQYXltZW50UmVxdWVzdCAodjMpCisKK1BB
U1MgbmV3IEFwcGxlUGF5U2Vzc2lvbigzLCB7IH0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IE1lbWJlciBBcHBsZVBheVBheW1lbnRSZXF1ZXN0LmNvdW50cnlDb2RlIGlzIHJlcXVpcmVkIGFu
ZCBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVN0cmluZy4KK1BBU1MgbmV3IEFwcGxlUGF5U2Vz
c2lvbigzLCB2YWxpZFJlcXVlc3QoKSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCisKK1Rlc3Rp
bmcgUGF5bWVudFJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzCisKK1NFVFVQOiByZXF1ZXN0ID0g
dmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gWydpbnZhbGlkJ107
CitQQVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogImludmFsaWQiIGlzIG5vdCBhIHZhbGlkIGNvdW50cnkgY29kZS4uCisKK1NFVFVQ
OiByZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0g
WydVUycsICdpbnZhbGlkJ107CitQQVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogImludmFsaWQiIGlzIG5vdCBhIHZhbGlkIGNvdW50
cnkgY29kZS4uCisKK1NFVFVQOiByZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3Vw
cG9ydGVkQ291bnRyaWVzID0gJyc7CitQQVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVz
dCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UuCisK
K1NFVFVQOiByZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRy
aWVzID0gNzsKK1BBU1MgbmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5jZS4KKworU0VUVVA6IHJlcXVl
c3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMgPSBudWxsOwor
UEFTUyBuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IFZhbHVlIGlzIG5vdCBhIHNlcXVlbmNlLgorCitTRVRVUDogcmVxdWVzdCA9IHZhbGlk
UmVxdWVzdCgpOyBkZWxldGUgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXM7CitQQVNTIG5ldyBB
cHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCisKK1NF
VFVQOiByZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVz
ID0gdW5kZWZpbmVkOworUEFTUyBuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorCitTRVRVUDogcmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyBy
ZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IFsnVVMnXTsKK1BBU1MgbmV3IEFwcGxlUGF5U2Vz
c2lvbigzLCByZXF1ZXN0KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KKworU0VUVVA6IHJlcXVl
c3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMgPSBbJ1VTJywg
J1VTJ107CitQQVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCisKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4MzA1YTUyMjU0Mzc4
MTQ3YTIyMTFiNjRhZjdhZmRlMWFkNDUzNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sCkBAIC0wLDAg
KzEsODYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCBi
YXNpYyBjcmVhdGlvbiBvZiBhbiBBcHBsZVBheVNlc3Npb24gb2JqZWN0LiIpOworCit3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Z1bmN0aW9uIHZhbGlkUmVxdWVzdCgpIHsKKyAgICBy
ZXR1cm4geworICAgICAgICAgIGNvdW50cnlDb2RlOiAnVVMnLAorICAgICAgICAgIGN1cnJlbmN5
Q29kZTogJ1VTRCcsCisgICAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsndmlzYScsICdtYXN0
ZXJDYXJkJ10sCisgICAgICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsnc3VwcG9ydHMzRFMn
XSwKKyAgICAgICAgICB0b3RhbDogeyBsYWJlbDogJ1lvdXIgTGFiZWwnLCBhbW91bnQ6ICcxMC4w
MCcgfSwKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGxvZ0FuZFNob3VsZFRocm93KHNldHVwLCB0ZXN0
KSB7CisgICAgZGVidWcoIlNFVFVQOiAiICsgc2V0dXApCisgICAgZXZhbChzZXR1cCk7CisgICAg
c2hvdWxkVGhyb3codGVzdCk7CisgICAgZGVidWcoIiIpCit9CisKK2Z1bmN0aW9uIGxvZ0FuZFNo
b3VsZE5vdFRocm93KHNldHVwLCB0ZXN0KSB7CisgICAgZGVidWcoIlNFVFVQOiAiICsgc2V0dXAp
CisgICAgZXZhbChzZXR1cCk7CisgICAgc2hvdWxkTm90VGhyb3codGVzdCk7CisgICAgZGVidWco
IiIpCit9CisKK2Z1bmN0aW9uIGdvKCkgeworICAgIGRlYnVnKCJUZXN0aW5nIFBheW1lbnRSZXF1
ZXN0ICh2MykiKQorICAgIGRlYnVnKCIiKTsKKyAgICBzaG91bGRUaHJvdygibmV3IEFwcGxlUGF5
U2Vzc2lvbigzLCB7IH0pIik7CisgICAgc2hvdWxkTm90VGhyb3coIm5ldyBBcHBsZVBheVNlc3Np
b24oMywgdmFsaWRSZXF1ZXN0KCkpIik7CisgICAgZGVidWcoIiIpOworICAgIAorICAgIGRlYnVn
KCJUZXN0aW5nIFBheW1lbnRSZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyIpOworICAgIGRlYnVn
KCIiKTsKKworICAgIGxvZ0FuZFNob3VsZFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7
IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gWydpbnZhbGlkJ107IiwgIm5ldyBBcHBsZVBh
eVNlc3Npb24oMywgcmVxdWVzdCkiKTsKKyAgICBsb2dBbmRTaG91bGRUaHJvdygicmVxdWVzdCA9
IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IFsnVVMnLCAnaW52
YWxpZCddOyIsICJuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIik7CisgICAgbG9nQW5k
U2hvdWxkVGhyb3coInJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRD
b3VudHJpZXMgPSAnJzsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSIpOworICAg
IGxvZ0FuZFNob3VsZFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3Vw
cG9ydGVkQ291bnRyaWVzID0gNzsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSIp
OworICAgIGxvZ0FuZFNob3VsZFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVl
c3Quc3VwcG9ydGVkQ291bnRyaWVzID0gbnVsbDsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCBy
ZXF1ZXN0KSIpOworICAgIGxvZ0FuZFNob3VsZE5vdFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1
ZXN0KCk7IGRlbGV0ZSByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllczsiLCAibmV3IEFwcGxlUGF5
U2Vzc2lvbigzLCByZXF1ZXN0KSIpOworICAgIGxvZ0FuZFNob3VsZE5vdFRocm93KCJyZXF1ZXN0
ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gdW5kZWZpbmVk
OyIsICJuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIik7CisgICAgbG9nQW5kU2hvdWxk
Tm90VGhyb3coInJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3Vu
dHJpZXMgPSBbJ1VTJ107IiwgIm5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkiKTsKKyAg
ICBsb2dBbmRTaG91bGROb3RUaHJvdygicmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0
LnN1cHBvcnRlZENvdW50cmllcyA9IFsnVVMnLCAnVVMnXTsiLCAibmV3IEFwcGxlUGF5U2Vzc2lv
bigzLCByZXF1ZXN0KSIpOworICAgIGRlYnVnKCIiKTsKKworICAgIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoImJ1dHRvbiIpLnJlbW92ZSgpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1
bmN0aW9uIGNsaWNrRWxlbWVudChlbGVtZW50KSB7CisgICAgbGV0IHggPSBlbGVtZW50Lm9mZnNl
dExlZnQgKyAyOworICAgIGxldCB5ID0gZWxlbWVudC5vZmZzZXRUb3AgKyAyOworCisgICAgdmFy
IHN1cHBvcnRzVG91Y2hFdmVudHMgPSAiVG91Y2hFdmVudCIgaW4gd2luZG93OworICAgIGlmIChz
dXBwb3J0c1RvdWNoRXZlbnRzICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVu
VUlTY3JpcHQpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkg
eyB1aUNvbnRyb2xsZXIuc2luZ2xlVGFwQXRQb2ludCgke3h9LCAke3l9LCBmdW5jdGlvbigpIHsg
fSk7IH0pKCk7YCwgZnVuY3Rpb24gKCkgeyB9KTsKKyAgICB9IGVsc2UgaWYgKHdpbmRvdy5ldmVu
dFNlbmRlcikgeworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAo
KTsKKyAgICB9Cit9CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBjbGlja0Vs
ZW1lbnQoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOworfQorCis8L3NjcmlwdD4K
KzxidXR0b24gb25jbGljaz0nZ28oKSc+R288L2J1dHRvbj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlNGU2
YzhiNjJiZDMxNmI4ZmI1ODA1MTBlNzViN2RlN2I4ZmQ2M2MzLi4xMWY0ZWRhZDRiZmNiOTY2N2Qy
MzJhZWY3NTQ5ODZiZjNiMjQ3YzkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNCw2ICsyNCw3IEBAIGZhc3QvbWVkaWEvbXEtcHJlZmVy
cy1yZWR1Y2VkLW1vdGlvbi1saXZlLXVwZGF0ZS5odG1sIFsgUGFzcyBdCiAKIFsgU2llcnJhKyBd
IGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5LyBbIFBhc3MgXQogaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlFcnJvci5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9B
cHBsZVBheVNlc3Npb25WMy5odG1sIFsgU2tpcCBdCiAKIGZhc3QvdmlzdWFsLXZpZXdwb3J0L3J1
YmJlcmJhbmRpbmctdmlld3BvcnQtcmVjdHMuaHRtbCBbIFBhc3MgXQogZmFzdC92aXN1YWwtdmll
d3BvcnQvcnViYmVyYmFuZGluZy12aWV3cG9ydC1yZWN0cy1oZWFkZXItZm9vdGVyLmh0bWwgIFsg
UGFzcyBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311756</attachid>
            <date>2017-06-01 13:55:36 -0700</date>
            <delta_ts>2017-06-02 10:30:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172832-20170601135536.patch</filename>
            <type>text/plain</type>
            <size>16870</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjdmOTdjMTdjYmM0MjFl
MzI5ZTVjM2M3MjZmMmU0MzVlZTI3MzcyYS4uMDk4MGEwOTdjZjI4YjM3NTljYmI5ODkxY2Y5YmU5
ZmM2OWMzY2YxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE3LTA2LTAxICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ29jb2FdIEFkZCBhICJzdXBw
b3J0ZWRDb3VudHJpZXMiIHByb3BlcnR5IHRvIEFwcGxlUGF5UGF5bWVudFJlcXVlc3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjgzMgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzA3MzU1NDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQ
YXlTZXNzaW9uVjMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBh
eW1lbnRSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnRSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0QW5kVmFsaWRhdGUpOgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
eW1lbnRSZXF1ZXN0OjpzdXBwb3J0ZWRDb3VudHJpZXMpOgorICAgICAgICAoV2ViQ29yZTo6UGF5
bWVudFJlcXVlc3Q6OnNldFN1cHBvcnRlZENvdW50cmllcyk6CisgICAgICAgICogTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50UmVxdWVzdFZhbGlkYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
YXltZW50UmVxdWVzdFZhbGlkYXRvcjo6dmFsaWRhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL3Nw
aS9jb2NvYS9QYXNzS2l0U1BJLmg6CisKKzIwMTctMDYtMDEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCiAgICAgICAgIFJFR1JFU1NJT04gKHIyMTc2MjYpOiBFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjMgd2FzIGRpc2FibGVkIGJ5IG1pc3Rha2UKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjgyOAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjU1
YmVkNmU1ZjJkMjNmY2Q3NDhhYWRlMTU1OTVjNjM0NWMwMmYxOC4uNzI4ODc3NjcwNTk0NmQxNjFk
MDg3MzFjZmU3NDNkOTEwZGUwNTFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE3
LTA2LTAxICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ29jb2Fd
IEFkZCBhICJzdXBwb3J0ZWRDb3VudHJpZXMiIHByb3BlcnR5IHRvIEFwcGxlUGF5UGF5bWVudFJl
cXVlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
MjgzMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA3MzU1NDQ+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UGF5bWVu
dFJlcXVlc3Q+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFBheW1lbnRS
ZXF1ZXN0Pjo6ZGVjb2RlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6dG9OU1Nl
dCk6CisgICAgICAgIChXZWJLaXQ6OnRvUEtQYXltZW50UmVxdWVzdCk6CisKKzIwMTctMDYtMDEg
IEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCiAgICAgICAgIFJFR1JFU1NJT04gKHIy
MTc2MjYpOiBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMgd2FzIGRpc2FibGVkIGJ5IG1pc3Rh
a2UKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Mjgy
OAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50UmVxdWVzdC5oCmluZGV4IDEyMDNhZDhiNTAwYmNmZGUxYjgxNGI4MTFlNWExMzU0
ZjdlZDBiMDIuLjJiMjhmNTI1MDgwYTViOThiZjgxM2NjNTRmMmUyNjhmOTFlYzIzZjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVx
dWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXlt
ZW50UmVxdWVzdC5oCkBAIC01OCw2ICs1OCw3IEBAIHN0cnVjdCBBcHBsZVBheVBheW1lbnRSZXF1
ZXN0IHsKICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxBcHBsZVBheUxpbmVJdGVtPj4gbGluZUl0
ZW1zOwogCiAgICAgU3RyaW5nIGFwcGxpY2F0aW9uRGF0YTsKKyAgICBzdGQ6Om9wdGlvbmFsPFZl
Y3RvcjxTdHJpbmc+PiBzdXBwb3J0ZWRDb3VudHJpZXM7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0
LmlkbAppbmRleCAzMjJiZjBmMmVmOGVjMGVjMDRjMjIxZDNmYTNlYjMzZjZhZjdhZmVhLi5kYTkx
MDg1Yjg1ZmRlOGVlYTliOTE2YzQ1MzE5NDllMjQ5YzJjOWRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5p
ZGwKQEAgLTcxLDQgKzcxLDUgQEAKICAgICBzZXF1ZW5jZTxBcHBsZVBheVNoaXBwaW5nTWV0aG9k
PiBzaGlwcGluZ01ldGhvZHM7CiAKICAgICBET01TdHJpbmcgYXBwbGljYXRpb25EYXRhOworICAg
IFtDb25kaXRpb25hbD1BUFBMRV9QQVlfU0VTU0lPTl9WM10gc2VxdWVuY2U8RE9NU3RyaW5nPiBz
dXBwb3J0ZWRDb3VudHJpZXM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCmluZGV4IDAzNGVmOGJjMmNkZGI2MzI3YmNiYmJh
ZTk4OGZhOTlmYTdkMjFjNWYuLjRmYWJiM2FjZjEzYWI0NzI2N2U2OWI2NmI0NWMwYTk3M2JhYmJh
YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2Vzc2lvbi5jcHAKQEAgLTM2OSw2ICszNjksOSBAQCBzdGF0aWMgRXhjZXB0aW9uT3I8UGF5bWVu
dFJlcXVlc3Q+IGNvbnZlcnRBbmRWYWxpZGF0ZSh1bnNpZ25lZCB2ZXJzaW9uLCBBcHBsZVBheQog
CiAgICAgcmVzdWx0LnNldEFwcGxpY2F0aW9uRGF0YShwYXltZW50UmVxdWVzdC5hcHBsaWNhdGlv
bkRhdGEpOwogCisgICAgaWYgKHZlcnNpb24gPj0gMyAmJiBwYXltZW50UmVxdWVzdC5zdXBwb3J0
ZWRDb3VudHJpZXMpCisgICAgICAgIHJlc3VsdC5zZXRTdXBwb3J0ZWRDb3VudHJpZXMoV1RGTW92
ZSgqcGF5bWVudFJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzKSk7CisKICAgICAvLyBGSVhNRTog
TWVyZ2UgdGhpcyB2YWxpZGF0aW9uIGludG8gdGhlIHZhbGlkYXRpb24gd2UgYXJlIGRvaW5nIGFi
b3ZlLgogICAgIGF1dG8gdmFsaWRhdGVkUGF5bWVudFJlcXVlc3QgPSBQYXltZW50UmVxdWVzdFZh
bGlkYXRvcjo6dmFsaWRhdGUocmVzdWx0KTsKICAgICBpZiAodmFsaWRhdGVkUGF5bWVudFJlcXVl
c3QuaGFzRXhjZXB0aW9uKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L1BheW1lbnRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRSZXF1ZXN0LmgKaW5kZXggMWMxYjY0ZWIxZmI0OGQ2MjRlYzYzZWI3MTQ2MzY1MTE4
NzgxNDdjZS4uNGY1ZWZkYjRjMDVmNTdkYjM2ZTNlNjllZTJmMWZlNjliN2Y4NjMzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaApAQCAt
MTI4LDYgKzEyOCw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uRGF0
YSgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25EYXRhOyB9CiAgICAgdm9pZCBzZXRBcHBs
aWNhdGlvbkRhdGEoY29uc3QgU3RyaW5nJiBhcHBsaWNhdGlvbkRhdGEpIHsgbV9hcHBsaWNhdGlv
bkRhdGEgPSBhcHBsaWNhdGlvbkRhdGE7IH0KIAorICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBz
dXBwb3J0ZWRDb3VudHJpZXMoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRlZENvdW50cmllczsg
fQorICAgIHZvaWQgc2V0U3VwcG9ydGVkQ291bnRyaWVzKFZlY3RvcjxTdHJpbmc+JiYgc3VwcG9y
dGVkQ291bnRyaWVzKSB7IG1fc3VwcG9ydGVkQ291bnRyaWVzID0gV1RGTW92ZShzdXBwb3J0ZWRD
b3VudHJpZXMpOyB9CisKIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fY291bnRyeUNvZGU7CiAgICAg
U3RyaW5nIG1fY3VycmVuY3lDb2RlOwpAQCAtMTQ4LDYgKzE1MSw3IEBAIHByaXZhdGU6CiAgICAg
TGluZUl0ZW0gbV90b3RhbDsKIAogICAgIFN0cmluZyBtX2FwcGxpY2F0aW9uRGF0YTsKKyAgICBW
ZWN0b3I8U3RyaW5nPiBtX3N1cHBvcnRlZENvdW50cmllczsKIH07CiAKIHN0cnVjdCBQYXltZW50
RXJyb3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXlt
ZW50UmVxdWVzdFZhbGlkYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRSZXF1ZXN0VmFsaWRhdG9yLmNwcAppbmRleCA5MjQ1ODQxYmY4MWUzNWJiODg0NjI3
OWRiNjFmYTI4ZjcyNWE2ZGIxLi4xMjczNWI5ZTUwYjkyYmFiZDlkMjRkMjIxYjhjZmIwYWVmYmU2
NWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRS
ZXF1ZXN0VmFsaWRhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRSZXF1ZXN0VmFsaWRhdG9yLmNwcApAQCAtNjksNiArNjksMTIgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gUGF5bWVudFJlcXVlc3RWYWxpZGF0b3I6OnZhbGlkYXRlKGNvbnN0IFBheW1lbnRS
ZXF1ZXN0JiBwYXltZW4KICAgICBpZiAodmFsaWRhdGVkU2hpcHBpbmdNZXRob2RzLmhhc0V4Y2Vw
dGlvbigpKQogICAgICAgICByZXR1cm4gdmFsaWRhdGVkU2hpcHBpbmdNZXRob2RzLnJlbGVhc2VF
eGNlcHRpb24oKTsKIAorICAgIGZvciAoYXV0byYgY291bnRyeUNvZGUgOiBwYXltZW50UmVxdWVz
dC5zdXBwb3J0ZWRDb3VudHJpZXMoKSkgeworICAgICAgICBhdXRvIHZhbGlkYXRlZENvdW50cnlD
b2RlID0gdmFsaWRhdGVDb3VudHJ5Q29kZShjb3VudHJ5Q29kZSk7CisgICAgICAgIGlmICh2YWxp
ZGF0ZWRDb3VudHJ5Q29kZS5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiB2YWxp
ZGF0ZWRDb3VudHJ5Q29kZS5yZWxlYXNlRXhjZXB0aW9uKCk7CisgICAgfQorCiAgICAgcmV0dXJu
IHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29h
L1Bhc3NLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9QYXNzS2l0
U1BJLmgKaW5kZXggMTJkNWI3Y2MyM2Y3NmI3OGMwYTI3ODQ2OWZkZmMyZmI1NzgyNjBmMi4uMTg1
YzQ4OTAxNzYxNjU0ZTg4NTBmMWRjNjY4ZTRiNjA3ZmZmNTY3ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCkBAIC0xNjgsNiArMTY4LDkgQEAg
dHlwZWRlZiBOU1N0cmluZyAqIFBLUGF5bWVudE5ldHdvcmsgTlNfRVhURU5TSUJMRV9TVFJJTkdf
RU5VTTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBudWxsYWJsZSkgTlNBcnJheTxQS1No
aXBwaW5nTWV0aG9kICo+ICpzaGlwcGluZ01ldGhvZHM7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
YXNzaWduKSBQS1NoaXBwaW5nVHlwZSBzaGlwcGluZ1R5cGU7CiBAcHJvcGVydHkgKG5vbmF0b21p
YywgY29weSwgbnVsbGFibGUpIE5TRGF0YSAqYXBwbGljYXRpb25EYXRhOworI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCitAcHJvcGVydHkgKG5vbmF0b21pYywg
Y29weSwgbnVsbGFibGUpIE5TU2V0PE5TU3RyaW5nICo+ICpzdXBwb3J0ZWRDb3VudHJpZXM7Cisj
ZW5kaWYKIEBlbmQKIAogQGludGVyZmFjZSBQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRy
b2xsZXIgOiBOU1ZpZXdDb250cm9sbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0KaW5kZXggYjkxNGNkYTVi
NzRhMDI2YjQxZDIwMDM2YmFiZTE2NmZiZGUxODljMi4uZWUwZDk1MDhiMGJjZGMwNGVmOWY3ODUz
YmVmMGExZmQ4ODk3ZDhiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NvY29h
L1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtMjQ4LDYgKzI0OCw3IEBA
IHZvaWQgQXJndW1lbnRDb2RlcjxQYXltZW50UmVxdWVzdD46OmVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyLCBjb25zdCBQYXltZW50UmVxdWVzCiAgICAgZW5jb2RlciA8PCByZXF1ZXN0LmxpbmVJdGVt
cygpOwogICAgIGVuY29kZXIgPDwgcmVxdWVzdC50b3RhbCgpOwogICAgIGVuY29kZXIgPDwgcmVx
dWVzdC5hcHBsaWNhdGlvbkRhdGEoKTsKKyAgICBlbmNvZGVyIDw8IHJlcXVlc3Quc3VwcG9ydGVk
Q291bnRyaWVzKCk7CiB9CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxQYXltZW50UmVxdWVzdD46OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyLCBQYXltZW50UmVxdWVzdCYgcmVxdWVzdCkKQEAgLTMxNyw2
ICszMTgsMTEgQEAgYm9vbCBBcmd1bWVudENvZGVyPFBheW1lbnRSZXF1ZXN0Pjo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIsIFBheW1lbnRSZXF1ZXN0JiByZXEKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIHJlcXVlc3Quc2V0QXBwbGljYXRpb25EYXRhKGFwcGxpY2F0aW9uRGF0YSk7CiAKKyAg
ICBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRDb3VudHJpZXM7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShzdXBwb3J0ZWRDb3VudHJpZXMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVx
dWVzdC5zZXRTdXBwb3J0ZWRDb3VudHJpZXMoV1RGTW92ZShzdXBwb3J0ZWRDb3VudHJpZXMpKTsK
KwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eUNvY29hLm1tCmluZGV4IDVhMDU3YTllYzNhMzQ3ZWQ0ZjcxZDc2MjJkYmU4ZjU2
YmEwYmQzYTIuLjQ0NjQ0NTI3ZjJlMGZiOWZhM2JjMzlkMDcxZTAwNDg4NzhlMjRmZTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
cHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCkBAIC00NzYs
NiArNDc2LDIwIEBAIHN0YXRpYyBSZXRhaW5QdHI8UEtTaGlwcGluZ01ldGhvZD4gdG9QS1NoaXBw
aW5nTWV0aG9kKGNvbnN0IFdlYkNvcmU6OlBheW1lbnRSZXF1CiAKICAgICByZXR1cm4gcmVzdWx0
OwogfQorICAgIAorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCitzdGF0aWMgUmV0YWluUHRyPE5TU2V0PiB0b05T
U2V0KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdHJpbmdzKQoreworICAgIGlmIChzdHJpbmdzLmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIGF1dG8gbXV0YWJsZVNldCA9IGFk
b3B0TlMoW1tOU011dGFibGVTZXQgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6c3RyaW5ncy5zaXpl
KCldKTsKKyAgICBmb3IgKGF1dG8mIHN0cmluZyA6IHN0cmluZ3MpCisgICAgICAgIFttdXRhYmxl
U2V0IGFkZE9iamVjdDpzdHJpbmddOworCisgICAgcmV0dXJuIFdURk1vdmUobXV0YWJsZVNldCk7
Cit9CisjZW5kaWYKIAogUmV0YWluUHRyPFBLUGF5bWVudFJlcXVlc3Q+IHRvUEtQYXltZW50UmVx
dWVzdChXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcm94eSwgY29uc3QgV2ViQ29yZTo6VVJMJiBvcmln
aW5hdGluZ1VSTCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OlVSTD4mIGxpbmtJY29uVVJMcywgY29u
c3QgV2ViQ29yZTo6UGF5bWVudFJlcXVlc3QmIHBheW1lbnRSZXF1ZXN0KQogewpAQCAtNTMyLDYg
KzU0NiwxMCBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gdG9QS1BheW1lbnRSZXF1ZXN0
KFdlYlBhZ2VQcm94eSYgd2ViUGFnZVByb3h5LCBjb25zdAogICAgICAgICBbcmVzdWx0IHNldEFw
cGxpY2F0aW9uRGF0YTphcHBsaWNhdGlvbkRhdGEuZ2V0KCldOwogICAgIH0KIAorI2lmIChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8
fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MTAwMDApCisgICAgW3Jlc3VsdCBzZXRTdXBwb3J0ZWRDb3VudHJpZXM6dG9OU1NldChwYXltZW50
UmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMoKSkuZ2V0KCldOworI2VuZGlmCisKICAgICAvLyBG
SVhNRTogSW5zdGVhZCBvZiB1c2luZyByZXNwb25kc1RvU2VsZWN0b3IsIHRoaXMgc2hvdWxkIHVz
ZSBhIHByb3BlciAjaWYgdmVyc2lvbiBjaGVjay4KICAgICBhdXRvJiBjb25maWd1cmF0aW9uID0g
d2ViUGFnZVByb3h5LnByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmNvbmZpZ3VyYXRpb24oKTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDMwN2JkZGZlYjQ2OGIyNGUzMmJjNDQ1NjQxYWE4NDczMmY0YTYyYTIuLjY3YTMyMDVl
OGMxNjBiZWMzMzY5MTU4OTZiN2JhZjY3YWExNjQ1MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxNy0wNi0wMSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW0Nv
Y29hXSBBZGQgYSAic3VwcG9ydGVkQ291bnRyaWVzIiBwcm9wZXJ0eSB0byBBcHBsZVBheVBheW1l
bnRSZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzI4MzIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNzM1NTQ0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTctMDYtMDEg
IFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFyayB0d28g
d2VicnRjIHRlc3RzIGFzIGZsYWt5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ1OGEyNzE3YzI0OWYwZTVmMjVlODQ4MmJhN2EyODc1YWY5NmJmZTEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVNlc3Npb25WMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NCBAQAorVGVzdCBiYXNpYyBj
cmVhdGlvbiBvZiBhbiBBcHBsZVBheVNlc3Npb24gb2JqZWN0LgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworVGVzdGluZyBQYXltZW50UmVxdWVzdCAodjMpCisKK1BBU1MgbmV3IEFw
cGxlUGF5U2Vzc2lvbigzLCB7IH0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE1lbWJlciBB
cHBsZVBheVBheW1lbnRSZXF1ZXN0LmNvdW50cnlDb2RlIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIERPTVN0cmluZy4KK1BBU1MgbmV3IEFwcGxlUGF5U2Vzc2lvbigzLCB2
YWxpZFJlcXVlc3QoKSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCisKK1Rlc3RpbmcgUGF5bWVu
dFJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzCisKK1NFVFVQOiByZXF1ZXN0ID0gdmFsaWRSZXF1
ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gWydpbnZhbGlkJ107CitQQVNTIG5l
dyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
ImludmFsaWQiIGlzIG5vdCBhIHZhbGlkIGNvdW50cnkgY29kZS4uCisKK1NFVFVQOiByZXF1ZXN0
ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gWydVUycsICdp
bnZhbGlkJ107CitQQVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogImludmFsaWQiIGlzIG5vdCBhIHZhbGlkIGNvdW50cnkgY29kZS4u
CisKK1NFVFVQOiByZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291
bnRyaWVzID0gJyc7CitQQVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UuCisKK1NFVFVQOiBy
ZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gNzsK
K1BBU1MgbmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5jZS4KKworU0VUVVA6IHJlcXVlc3QgPSB2YWxp
ZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMgPSBudWxsOworUEFTUyBuZXcg
QXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFZh
bHVlIGlzIG5vdCBhIHNlcXVlbmNlLgorCitTRVRVUDogcmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgp
OyBkZWxldGUgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXM7CitQQVNTIG5ldyBBcHBsZVBheVNl
c3Npb24oMywgcmVxdWVzdCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCisKK1NFVFVQOiByZXF1
ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gdW5kZWZp
bmVkOworUEFTUyBuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorCitTRVRVUDogcmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1
cHBvcnRlZENvdW50cmllcyA9IFsnVVMnXTsKK1BBU1MgbmV3IEFwcGxlUGF5U2Vzc2lvbigzLCBy
ZXF1ZXN0KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KKworU0VUVVA6IHJlcXVlc3QgPSB2YWxp
ZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMgPSBbJ1VTJywgJ1VTJ107CitQ
QVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCisKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvblYzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9B
cHBsZVBheVNlc3Npb25WMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4MzA1YTUyMjU0Mzc4MTQ3YTIyMTFi
NjRhZjdhZmRlMWFkNDUzNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sCkBAIC0wLDAgKzEsODYgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCBiYXNpYyBjcmVh
dGlvbiBvZiBhbiBBcHBsZVBheVNlc3Npb24gb2JqZWN0LiIpOworCit3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CisKK2Z1bmN0aW9uIHZhbGlkUmVxdWVzdCgpIHsKKyAgICByZXR1cm4gewor
ICAgICAgICAgIGNvdW50cnlDb2RlOiAnVVMnLAorICAgICAgICAgIGN1cnJlbmN5Q29kZTogJ1VT
RCcsCisgICAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsndmlzYScsICdtYXN0ZXJDYXJkJ10s
CisgICAgICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsnc3VwcG9ydHMzRFMnXSwKKyAgICAg
ICAgICB0b3RhbDogeyBsYWJlbDogJ1lvdXIgTGFiZWwnLCBhbW91bnQ6ICcxMC4wMCcgfSwKKyAg
ICB9Cit9CisKK2Z1bmN0aW9uIGxvZ0FuZFNob3VsZFRocm93KHNldHVwLCB0ZXN0KSB7CisgICAg
ZGVidWcoIlNFVFVQOiAiICsgc2V0dXApCisgICAgZXZhbChzZXR1cCk7CisgICAgc2hvdWxkVGhy
b3codGVzdCk7CisgICAgZGVidWcoIiIpCit9CisKK2Z1bmN0aW9uIGxvZ0FuZFNob3VsZE5vdFRo
cm93KHNldHVwLCB0ZXN0KSB7CisgICAgZGVidWcoIlNFVFVQOiAiICsgc2V0dXApCisgICAgZXZh
bChzZXR1cCk7CisgICAgc2hvdWxkTm90VGhyb3codGVzdCk7CisgICAgZGVidWcoIiIpCit9CisK
K2Z1bmN0aW9uIGdvKCkgeworICAgIGRlYnVnKCJUZXN0aW5nIFBheW1lbnRSZXF1ZXN0ICh2Myki
KQorICAgIGRlYnVnKCIiKTsKKyAgICBzaG91bGRUaHJvdygibmV3IEFwcGxlUGF5U2Vzc2lvbigz
LCB7IH0pIik7CisgICAgc2hvdWxkTm90VGhyb3coIm5ldyBBcHBsZVBheVNlc3Npb24oMywgdmFs
aWRSZXF1ZXN0KCkpIik7CisgICAgZGVidWcoIiIpOworICAgIAorICAgIGRlYnVnKCJUZXN0aW5n
IFBheW1lbnRSZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyIpOworICAgIGRlYnVnKCIiKTsKKwor
ICAgIGxvZ0FuZFNob3VsZFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Qu
c3VwcG9ydGVkQ291bnRyaWVzID0gWydpbnZhbGlkJ107IiwgIm5ldyBBcHBsZVBheVNlc3Npb24o
MywgcmVxdWVzdCkiKTsKKyAgICBsb2dBbmRTaG91bGRUaHJvdygicmVxdWVzdCA9IHZhbGlkUmVx
dWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IFsnVVMnLCAnaW52YWxpZCddOyIs
ICJuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIik7CisgICAgbG9nQW5kU2hvdWxkVGhy
b3coInJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMg
PSAnJzsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSIpOworICAgIGxvZ0FuZFNo
b3VsZFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291
bnRyaWVzID0gNzsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSIpOworICAgIGxv
Z0FuZFNob3VsZFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9y
dGVkQ291bnRyaWVzID0gbnVsbDsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSIp
OworICAgIGxvZ0FuZFNob3VsZE5vdFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IGRl
bGV0ZSByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllczsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigz
LCByZXF1ZXN0KSIpOworICAgIGxvZ0FuZFNob3VsZE5vdFRocm93KCJyZXF1ZXN0ID0gdmFsaWRS
ZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gdW5kZWZpbmVkOyIsICJuZXcg
QXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIik7CisgICAgbG9nQW5kU2hvdWxkTm90VGhyb3co
InJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMgPSBb
J1VTJ107IiwgIm5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkiKTsKKyAgICBsb2dBbmRT
aG91bGROb3RUaHJvdygicmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRl
ZENvdW50cmllcyA9IFsnVVMnLCAnVVMnXTsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1
ZXN0KSIpOworICAgIGRlYnVnKCIiKTsKKworICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1
dHRvbiIpLnJlbW92ZSgpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIGNs
aWNrRWxlbWVudChlbGVtZW50KSB7CisgICAgbGV0IHggPSBlbGVtZW50Lm9mZnNldExlZnQgKyAy
OworICAgIGxldCB5ID0gZWxlbWVudC5vZmZzZXRUb3AgKyAyOworCisgICAgdmFyIHN1cHBvcnRz
VG91Y2hFdmVudHMgPSAiVG91Y2hFdmVudCIgaW4gd2luZG93OworICAgIGlmIChzdXBwb3J0c1Rv
dWNoRXZlbnRzICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkgeyB1aUNvbnRy
b2xsZXIuc2luZ2xlVGFwQXRQb2ludCgke3h9LCAke3l9LCBmdW5jdGlvbigpIHsgfSk7IH0pKCk7
YCwgZnVuY3Rpb24gKCkgeyB9KTsKKyAgICB9IGVsc2UgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikg
eworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICB9
Cit9CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBjbGlja0VsZW1lbnQoZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOworfQorCis8L3NjcmlwdD4KKzxidXR0b24g
b25jbGljaz0nZ28oKSc+R288L2J1dHRvbj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlNGU2YzhiNjJiZDMx
NmI4ZmI1ODA1MTBlNzViN2RlN2I4ZmQ2M2MzLi4xMWY0ZWRhZDRiZmNiOTY2N2QyMzJhZWY3NTQ5
ODZiZjNiMjQ3YzkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0yNCw2ICsyNCw3IEBAIGZhc3QvbWVkaWEvbXEtcHJlZmVycy1yZWR1Y2Vk
LW1vdGlvbi1saXZlLXVwZGF0ZS5odG1sIFsgUGFzcyBdCiAKIFsgU2llcnJhKyBdIGh0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5LyBbIFBhc3MgXQogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQ
YXlFcnJvci5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNl
c3Npb25WMy5odG1sIFsgU2tpcCBdCiAKIGZhc3QvdmlzdWFsLXZpZXdwb3J0L3J1YmJlcmJhbmRp
bmctdmlld3BvcnQtcmVjdHMuaHRtbCBbIFBhc3MgXQogZmFzdC92aXN1YWwtdmlld3BvcnQvcnVi
YmVyYmFuZGluZy12aWV3cG9ydC1yZWN0cy1oZWFkZXItZm9vdGVyLmh0bWwgIFsgUGFzcyBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311837</attachid>
            <date>2017-06-02 10:30:41 -0700</date>
            <delta_ts>2017-06-02 10:34:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172832-20170602103041.patch</filename>
            <type>text/plain</type>
            <size>16870</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjdmOTdjMTdjYmM0MjFl
MzI5ZTVjM2M3MjZmMmU0MzVlZTI3MzcyYS4uMDk4MGEwOTdjZjI4YjM3NTljYmI5ODkxY2Y5YmU5
ZmM2OWMzY2YxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE3LTA2LTAxICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ29jb2FdIEFkZCBhICJzdXBw
b3J0ZWRDb3VudHJpZXMiIHByb3BlcnR5IHRvIEFwcGxlUGF5UGF5bWVudFJlcXVlc3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjgzMgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzA3MzU1NDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQ
YXlTZXNzaW9uVjMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBh
eW1lbnRSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnRSZXF1ZXN0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0QW5kVmFsaWRhdGUpOgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
eW1lbnRSZXF1ZXN0OjpzdXBwb3J0ZWRDb3VudHJpZXMpOgorICAgICAgICAoV2ViQ29yZTo6UGF5
bWVudFJlcXVlc3Q6OnNldFN1cHBvcnRlZENvdW50cmllcyk6CisgICAgICAgICogTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50UmVxdWVzdFZhbGlkYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
YXltZW50UmVxdWVzdFZhbGlkYXRvcjo6dmFsaWRhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL3Nw
aS9jb2NvYS9QYXNzS2l0U1BJLmg6CisKKzIwMTctMDYtMDEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCiAgICAgICAgIFJFR1JFU1NJT04gKHIyMTc2MjYpOiBFTkFCTEVfQVBQTEVf
UEFZX1NFU1NJT05fVjMgd2FzIGRpc2FibGVkIGJ5IG1pc3Rha2UKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjgyOAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjU1
YmVkNmU1ZjJkMjNmY2Q3NDhhYWRlMTU1OTVjNjM0NWMwMmYxOC4uNzI4ODc3NjcwNTk0NmQxNjFk
MDg3MzFjZmU3NDNkOTEwZGUwNTFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE3
LTA2LTAxICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ29jb2Fd
IEFkZCBhICJzdXBwb3J0ZWRDb3VudHJpZXMiIHByb3BlcnR5IHRvIEFwcGxlUGF5UGF5bWVudFJl
cXVlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
MjgzMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA3MzU1NDQ+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8UGF5bWVu
dFJlcXVlc3Q+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFBheW1lbnRS
ZXF1ZXN0Pjo6ZGVjb2RlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXBwbGVQYXkvY29jb2EvV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6dG9OU1Nl
dCk6CisgICAgICAgIChXZWJLaXQ6OnRvUEtQYXltZW50UmVxdWVzdCk6CisKKzIwMTctMDYtMDEg
IEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCiAgICAgICAgIFJFR1JFU1NJT04gKHIy
MTc2MjYpOiBFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMgd2FzIGRpc2FibGVkIGJ5IG1pc3Rh
a2UKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Mjgy
OAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50UmVxdWVzdC5oCmluZGV4IDEyMDNhZDhiNTAwYmNmZGUxYjgxNGI4MTFlNWExMzU0
ZjdlZDBiMDIuLjJiMjhmNTI1MDgwYTViOThiZjgxM2NjNTRmMmUyNjhmOTFlYzIzZjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVx
dWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXlt
ZW50UmVxdWVzdC5oCkBAIC01OCw2ICs1OCw3IEBAIHN0cnVjdCBBcHBsZVBheVBheW1lbnRSZXF1
ZXN0IHsKICAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxBcHBsZVBheUxpbmVJdGVtPj4gbGluZUl0
ZW1zOwogCiAgICAgU3RyaW5nIGFwcGxpY2F0aW9uRGF0YTsKKyAgICBzdGQ6Om9wdGlvbmFsPFZl
Y3RvcjxTdHJpbmc+PiBzdXBwb3J0ZWRDb3VudHJpZXM7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0
LmlkbAppbmRleCAzMjJiZjBmMmVmOGVjMGVjMDRjMjIxZDNmYTNlYjMzZjZhZjdhZmVhLi5kYTkx
MDg1Yjg1ZmRlOGVlYTliOTE2YzQ1MzE5NDllMjQ5YzJjOWRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5p
ZGwKQEAgLTcxLDQgKzcxLDUgQEAKICAgICBzZXF1ZW5jZTxBcHBsZVBheVNoaXBwaW5nTWV0aG9k
PiBzaGlwcGluZ01ldGhvZHM7CiAKICAgICBET01TdHJpbmcgYXBwbGljYXRpb25EYXRhOworICAg
IFtDb25kaXRpb25hbD1BUFBMRV9QQVlfU0VTU0lPTl9WM10gc2VxdWVuY2U8RE9NU3RyaW5nPiBz
dXBwb3J0ZWRDb3VudHJpZXM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCmluZGV4IDAzNGVmOGJjMmNkZGI2MzI3YmNiYmJh
ZTk4OGZhOTlmYTdkMjFjNWYuLjRmYWJiM2FjZjEzYWI0NzI2N2U2OWI2NmI0NWMwYTk3M2JhYmJh
YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2Vzc2lvbi5jcHAKQEAgLTM2OSw2ICszNjksOSBAQCBzdGF0aWMgRXhjZXB0aW9uT3I8UGF5bWVu
dFJlcXVlc3Q+IGNvbnZlcnRBbmRWYWxpZGF0ZSh1bnNpZ25lZCB2ZXJzaW9uLCBBcHBsZVBheQog
CiAgICAgcmVzdWx0LnNldEFwcGxpY2F0aW9uRGF0YShwYXltZW50UmVxdWVzdC5hcHBsaWNhdGlv
bkRhdGEpOwogCisgICAgaWYgKHZlcnNpb24gPj0gMyAmJiBwYXltZW50UmVxdWVzdC5zdXBwb3J0
ZWRDb3VudHJpZXMpCisgICAgICAgIHJlc3VsdC5zZXRTdXBwb3J0ZWRDb3VudHJpZXMoV1RGTW92
ZSgqcGF5bWVudFJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzKSk7CisKICAgICAvLyBGSVhNRTog
TWVyZ2UgdGhpcyB2YWxpZGF0aW9uIGludG8gdGhlIHZhbGlkYXRpb24gd2UgYXJlIGRvaW5nIGFi
b3ZlLgogICAgIGF1dG8gdmFsaWRhdGVkUGF5bWVudFJlcXVlc3QgPSBQYXltZW50UmVxdWVzdFZh
bGlkYXRvcjo6dmFsaWRhdGUocmVzdWx0KTsKICAgICBpZiAodmFsaWRhdGVkUGF5bWVudFJlcXVl
c3QuaGFzRXhjZXB0aW9uKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L1BheW1lbnRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRSZXF1ZXN0LmgKaW5kZXggMWMxYjY0ZWIxZmI0OGQ2MjRlYzYzZWI3MTQ2MzY1MTE4
NzgxNDdjZS4uNGY1ZWZkYjRjMDVmNTdkYjM2ZTNlNjllZTJmMWZlNjliN2Y4NjMzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaApAQCAt
MTI4LDYgKzEyOCw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uRGF0
YSgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25EYXRhOyB9CiAgICAgdm9pZCBzZXRBcHBs
aWNhdGlvbkRhdGEoY29uc3QgU3RyaW5nJiBhcHBsaWNhdGlvbkRhdGEpIHsgbV9hcHBsaWNhdGlv
bkRhdGEgPSBhcHBsaWNhdGlvbkRhdGE7IH0KIAorICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBz
dXBwb3J0ZWRDb3VudHJpZXMoKSBjb25zdCB7IHJldHVybiBtX3N1cHBvcnRlZENvdW50cmllczsg
fQorICAgIHZvaWQgc2V0U3VwcG9ydGVkQ291bnRyaWVzKFZlY3RvcjxTdHJpbmc+JiYgc3VwcG9y
dGVkQ291bnRyaWVzKSB7IG1fc3VwcG9ydGVkQ291bnRyaWVzID0gV1RGTW92ZShzdXBwb3J0ZWRD
b3VudHJpZXMpOyB9CisKIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fY291bnRyeUNvZGU7CiAgICAg
U3RyaW5nIG1fY3VycmVuY3lDb2RlOwpAQCAtMTQ4LDYgKzE1MSw3IEBAIHByaXZhdGU6CiAgICAg
TGluZUl0ZW0gbV90b3RhbDsKIAogICAgIFN0cmluZyBtX2FwcGxpY2F0aW9uRGF0YTsKKyAgICBW
ZWN0b3I8U3RyaW5nPiBtX3N1cHBvcnRlZENvdW50cmllczsKIH07CiAKIHN0cnVjdCBQYXltZW50
RXJyb3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXlt
ZW50UmVxdWVzdFZhbGlkYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRSZXF1ZXN0VmFsaWRhdG9yLmNwcAppbmRleCA5MjQ1ODQxYmY4MWUzNWJiODg0NjI3
OWRiNjFmYTI4ZjcyNWE2ZGIxLi4xMjczNWI5ZTUwYjkyYmFiZDlkMjRkMjIxYjhjZmIwYWVmYmU2
NWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRS
ZXF1ZXN0VmFsaWRhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRSZXF1ZXN0VmFsaWRhdG9yLmNwcApAQCAtNjksNiArNjksMTIgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gUGF5bWVudFJlcXVlc3RWYWxpZGF0b3I6OnZhbGlkYXRlKGNvbnN0IFBheW1lbnRS
ZXF1ZXN0JiBwYXltZW4KICAgICBpZiAodmFsaWRhdGVkU2hpcHBpbmdNZXRob2RzLmhhc0V4Y2Vw
dGlvbigpKQogICAgICAgICByZXR1cm4gdmFsaWRhdGVkU2hpcHBpbmdNZXRob2RzLnJlbGVhc2VF
eGNlcHRpb24oKTsKIAorICAgIGZvciAoYXV0byYgY291bnRyeUNvZGUgOiBwYXltZW50UmVxdWVz
dC5zdXBwb3J0ZWRDb3VudHJpZXMoKSkgeworICAgICAgICBhdXRvIHZhbGlkYXRlZENvdW50cnlD
b2RlID0gdmFsaWRhdGVDb3VudHJ5Q29kZShjb3VudHJ5Q29kZSk7CisgICAgICAgIGlmICh2YWxp
ZGF0ZWRDb3VudHJ5Q29kZS5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiB2YWxp
ZGF0ZWRDb3VudHJ5Q29kZS5yZWxlYXNlRXhjZXB0aW9uKCk7CisgICAgfQorCiAgICAgcmV0dXJu
IHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29h
L1Bhc3NLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9QYXNzS2l0
U1BJLmgKaW5kZXggMTJkNWI3Y2MyM2Y3NmI3OGMwYTI3ODQ2OWZkZmMyZmI1NzgyNjBmMi4uMTg1
YzQ4OTAxNzYxNjU0ZTg4NTBmMWRjNjY4ZTRiNjA3ZmZmNTY3ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCkBAIC0xNjgsNiArMTY4LDkgQEAg
dHlwZWRlZiBOU1N0cmluZyAqIFBLUGF5bWVudE5ldHdvcmsgTlNfRVhURU5TSUJMRV9TVFJJTkdf
RU5VTTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBudWxsYWJsZSkgTlNBcnJheTxQS1No
aXBwaW5nTWV0aG9kICo+ICpzaGlwcGluZ01ldGhvZHM7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
YXNzaWduKSBQS1NoaXBwaW5nVHlwZSBzaGlwcGluZ1R5cGU7CiBAcHJvcGVydHkgKG5vbmF0b21p
YywgY29weSwgbnVsbGFibGUpIE5TRGF0YSAqYXBwbGljYXRpb25EYXRhOworI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwCitAcHJvcGVydHkgKG5vbmF0b21pYywg
Y29weSwgbnVsbGFibGUpIE5TU2V0PE5TU3RyaW5nICo+ICpzdXBwb3J0ZWRDb3VudHJpZXM7Cisj
ZW5kaWYKIEBlbmQKIAogQGludGVyZmFjZSBQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRy
b2xsZXIgOiBOU1ZpZXdDb250cm9sbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0KaW5kZXggYjkxNGNkYTVi
NzRhMDI2YjQxZDIwMDM2YmFiZTE2NmZiZGUxODljMi4uZWUwZDk1MDhiMGJjZGMwNGVmOWY3ODUz
YmVmMGExZmQ4ODk3ZDhiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NvY29h
L1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtMjQ4LDYgKzI0OCw3IEBA
IHZvaWQgQXJndW1lbnRDb2RlcjxQYXltZW50UmVxdWVzdD46OmVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyLCBjb25zdCBQYXltZW50UmVxdWVzCiAgICAgZW5jb2RlciA8PCByZXF1ZXN0LmxpbmVJdGVt
cygpOwogICAgIGVuY29kZXIgPDwgcmVxdWVzdC50b3RhbCgpOwogICAgIGVuY29kZXIgPDwgcmVx
dWVzdC5hcHBsaWNhdGlvbkRhdGEoKTsKKyAgICBlbmNvZGVyIDw8IHJlcXVlc3Quc3VwcG9ydGVk
Q291bnRyaWVzKCk7CiB9CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxQYXltZW50UmVxdWVzdD46OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyLCBQYXltZW50UmVxdWVzdCYgcmVxdWVzdCkKQEAgLTMxNyw2
ICszMTgsMTEgQEAgYm9vbCBBcmd1bWVudENvZGVyPFBheW1lbnRSZXF1ZXN0Pjo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIsIFBheW1lbnRSZXF1ZXN0JiByZXEKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIHJlcXVlc3Quc2V0QXBwbGljYXRpb25EYXRhKGFwcGxpY2F0aW9uRGF0YSk7CiAKKyAg
ICBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRDb3VudHJpZXM7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShzdXBwb3J0ZWRDb3VudHJpZXMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVx
dWVzdC5zZXRTdXBwb3J0ZWRDb3VudHJpZXMoV1RGTW92ZShzdXBwb3J0ZWRDb3VudHJpZXMpKTsK
KwogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eUNvY29hLm1tCmluZGV4IDVhMDU3YTllYzNhMzQ3ZWQ0ZjcxZDc2MjJkYmU4ZjU2
YmEwYmQzYTIuLjQ0NjQ0NTI3ZjJlMGZiOWZhM2JjMzlkMDcxZTAwNDg4NzhlMjRmZTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50
Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
cHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCkBAIC00NzYs
NiArNDc2LDIwIEBAIHN0YXRpYyBSZXRhaW5QdHI8UEtTaGlwcGluZ01ldGhvZD4gdG9QS1NoaXBw
aW5nTWV0aG9kKGNvbnN0IFdlYkNvcmU6OlBheW1lbnRSZXF1CiAKICAgICByZXR1cm4gcmVzdWx0
OwogfQorICAgIAorI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApCitzdGF0aWMgUmV0YWluUHRyPE5TU2V0PiB0b05T
U2V0KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdHJpbmdzKQoreworICAgIGlmIChzdHJpbmdzLmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIGF1dG8gbXV0YWJsZVNldCA9IGFk
b3B0TlMoW1tOU011dGFibGVTZXQgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6c3RyaW5ncy5zaXpl
KCldKTsKKyAgICBmb3IgKGF1dG8mIHN0cmluZyA6IHN0cmluZ3MpCisgICAgICAgIFttdXRhYmxl
U2V0IGFkZE9iamVjdDpzdHJpbmddOworCisgICAgcmV0dXJuIFdURk1vdmUobXV0YWJsZVNldCk7
Cit9CisjZW5kaWYKIAogUmV0YWluUHRyPFBLUGF5bWVudFJlcXVlc3Q+IHRvUEtQYXltZW50UmVx
dWVzdChXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcm94eSwgY29uc3QgV2ViQ29yZTo6VVJMJiBvcmln
aW5hdGluZ1VSTCwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OlVSTD4mIGxpbmtJY29uVVJMcywgY29u
c3QgV2ViQ29yZTo6UGF5bWVudFJlcXVlc3QmIHBheW1lbnRSZXF1ZXN0KQogewpAQCAtNTMyLDYg
KzU0NiwxMCBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gdG9QS1BheW1lbnRSZXF1ZXN0
KFdlYlBhZ2VQcm94eSYgd2ViUGFnZVByb3h5LCBjb25zdAogICAgICAgICBbcmVzdWx0IHNldEFw
cGxpY2F0aW9uRGF0YTphcHBsaWNhdGlvbkRhdGEuZ2V0KCldOwogICAgIH0KIAorI2lmIChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8
fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MTAwMDApCisgICAgW3Jlc3VsdCBzZXRTdXBwb3J0ZWRDb3VudHJpZXM6dG9OU1NldChwYXltZW50
UmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMoKSkuZ2V0KCldOworI2VuZGlmCisKICAgICAvLyBG
SVhNRTogSW5zdGVhZCBvZiB1c2luZyByZXNwb25kc1RvU2VsZWN0b3IsIHRoaXMgc2hvdWxkIHVz
ZSBhIHByb3BlciAjaWYgdmVyc2lvbiBjaGVjay4KICAgICBhdXRvJiBjb25maWd1cmF0aW9uID0g
d2ViUGFnZVByb3h5LnByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLmNvbmZpZ3VyYXRpb24oKTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDMwN2JkZGZlYjQ2OGIyNGUzMmJjNDQ1NjQxYWE4NDczMmY0YTYyYTIuLjY3YTMyMDVl
OGMxNjBiZWMzMzY5MTU4OTZiN2JhZjY3YWExNjQ1MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxNy0wNi0wMSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW0Nv
Y29hXSBBZGQgYSAic3VwcG9ydGVkQ291bnRyaWVzIiBwcm9wZXJ0eSB0byBBcHBsZVBheVBheW1l
bnRSZXF1ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzI4MzIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwNzM1NTQ0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTctMDYtMDEg
IFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFyayB0d28g
d2VicnRjIHRlc3RzIGFzIGZsYWt5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ1OGEyNzE3YzI0OWYwZTVmMjVlODQ4MmJhN2EyODc1YWY5NmJmZTEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVNlc3Npb25WMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NCBAQAorVGVzdCBiYXNpYyBj
cmVhdGlvbiBvZiBhbiBBcHBsZVBheVNlc3Npb24gb2JqZWN0LgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworVGVzdGluZyBQYXltZW50UmVxdWVzdCAodjMpCisKK1BBU1MgbmV3IEFw
cGxlUGF5U2Vzc2lvbigzLCB7IH0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE1lbWJlciBB
cHBsZVBheVBheW1lbnRSZXF1ZXN0LmNvdW50cnlDb2RlIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIERPTVN0cmluZy4KK1BBU1MgbmV3IEFwcGxlUGF5U2Vzc2lvbigzLCB2
YWxpZFJlcXVlc3QoKSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCisKK1Rlc3RpbmcgUGF5bWVu
dFJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzCisKK1NFVFVQOiByZXF1ZXN0ID0gdmFsaWRSZXF1
ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gWydpbnZhbGlkJ107CitQQVNTIG5l
dyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
ImludmFsaWQiIGlzIG5vdCBhIHZhbGlkIGNvdW50cnkgY29kZS4uCisKK1NFVFVQOiByZXF1ZXN0
ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gWydVUycsICdp
bnZhbGlkJ107CitQQVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogImludmFsaWQiIGlzIG5vdCBhIHZhbGlkIGNvdW50cnkgY29kZS4u
CisKK1NFVFVQOiByZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291
bnRyaWVzID0gJyc7CitQQVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UuCisKK1NFVFVQOiBy
ZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gNzsK
K1BBU1MgbmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5jZS4KKworU0VUVVA6IHJlcXVlc3QgPSB2YWxp
ZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMgPSBudWxsOworUEFTUyBuZXcg
QXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFZh
bHVlIGlzIG5vdCBhIHNlcXVlbmNlLgorCitTRVRVUDogcmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgp
OyBkZWxldGUgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXM7CitQQVNTIG5ldyBBcHBsZVBheVNl
c3Npb24oMywgcmVxdWVzdCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCisKK1NFVFVQOiByZXF1
ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gdW5kZWZp
bmVkOworUEFTUyBuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorCitTRVRVUDogcmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1
cHBvcnRlZENvdW50cmllcyA9IFsnVVMnXTsKK1BBU1MgbmV3IEFwcGxlUGF5U2Vzc2lvbigzLCBy
ZXF1ZXN0KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KKworU0VUVVA6IHJlcXVlc3QgPSB2YWxp
ZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMgPSBbJ1VTJywgJ1VTJ107CitQ
QVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCisKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvblYzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9B
cHBsZVBheVNlc3Npb25WMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4MzA1YTUyMjU0Mzc4MTQ3YTIyMTFi
NjRhZjdhZmRlMWFkNDUzNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sCkBAIC0wLDAgKzEsODYgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCBiYXNpYyBjcmVh
dGlvbiBvZiBhbiBBcHBsZVBheVNlc3Npb24gb2JqZWN0LiIpOworCit3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CisKK2Z1bmN0aW9uIHZhbGlkUmVxdWVzdCgpIHsKKyAgICByZXR1cm4gewor
ICAgICAgICAgIGNvdW50cnlDb2RlOiAnVVMnLAorICAgICAgICAgIGN1cnJlbmN5Q29kZTogJ1VT
RCcsCisgICAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsndmlzYScsICdtYXN0ZXJDYXJkJ10s
CisgICAgICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsnc3VwcG9ydHMzRFMnXSwKKyAgICAg
ICAgICB0b3RhbDogeyBsYWJlbDogJ1lvdXIgTGFiZWwnLCBhbW91bnQ6ICcxMC4wMCcgfSwKKyAg
ICB9Cit9CisKK2Z1bmN0aW9uIGxvZ0FuZFNob3VsZFRocm93KHNldHVwLCB0ZXN0KSB7CisgICAg
ZGVidWcoIlNFVFVQOiAiICsgc2V0dXApCisgICAgZXZhbChzZXR1cCk7CisgICAgc2hvdWxkVGhy
b3codGVzdCk7CisgICAgZGVidWcoIiIpCit9CisKK2Z1bmN0aW9uIGxvZ0FuZFNob3VsZE5vdFRo
cm93KHNldHVwLCB0ZXN0KSB7CisgICAgZGVidWcoIlNFVFVQOiAiICsgc2V0dXApCisgICAgZXZh
bChzZXR1cCk7CisgICAgc2hvdWxkTm90VGhyb3codGVzdCk7CisgICAgZGVidWcoIiIpCit9CisK
K2Z1bmN0aW9uIGdvKCkgeworICAgIGRlYnVnKCJUZXN0aW5nIFBheW1lbnRSZXF1ZXN0ICh2Myki
KQorICAgIGRlYnVnKCIiKTsKKyAgICBzaG91bGRUaHJvdygibmV3IEFwcGxlUGF5U2Vzc2lvbigz
LCB7IH0pIik7CisgICAgc2hvdWxkTm90VGhyb3coIm5ldyBBcHBsZVBheVNlc3Npb24oMywgdmFs
aWRSZXF1ZXN0KCkpIik7CisgICAgZGVidWcoIiIpOworICAgIAorICAgIGRlYnVnKCJUZXN0aW5n
IFBheW1lbnRSZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyIpOworICAgIGRlYnVnKCIiKTsKKwor
ICAgIGxvZ0FuZFNob3VsZFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Qu
c3VwcG9ydGVkQ291bnRyaWVzID0gWydpbnZhbGlkJ107IiwgIm5ldyBBcHBsZVBheVNlc3Npb24o
MywgcmVxdWVzdCkiKTsKKyAgICBsb2dBbmRTaG91bGRUaHJvdygicmVxdWVzdCA9IHZhbGlkUmVx
dWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IFsnVVMnLCAnaW52YWxpZCddOyIs
ICJuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIik7CisgICAgbG9nQW5kU2hvdWxkVGhy
b3coInJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMg
PSAnJzsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSIpOworICAgIGxvZ0FuZFNo
b3VsZFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291
bnRyaWVzID0gNzsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSIpOworICAgIGxv
Z0FuZFNob3VsZFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9y
dGVkQ291bnRyaWVzID0gbnVsbDsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSIp
OworICAgIGxvZ0FuZFNob3VsZE5vdFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IGRl
bGV0ZSByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllczsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigz
LCByZXF1ZXN0KSIpOworICAgIGxvZ0FuZFNob3VsZE5vdFRocm93KCJyZXF1ZXN0ID0gdmFsaWRS
ZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gdW5kZWZpbmVkOyIsICJuZXcg
QXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIik7CisgICAgbG9nQW5kU2hvdWxkTm90VGhyb3co
InJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMgPSBb
J1VTJ107IiwgIm5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkiKTsKKyAgICBsb2dBbmRT
aG91bGROb3RUaHJvdygicmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRl
ZENvdW50cmllcyA9IFsnVVMnLCAnVVMnXTsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1
ZXN0KSIpOworICAgIGRlYnVnKCIiKTsKKworICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJ1
dHRvbiIpLnJlbW92ZSgpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIGNs
aWNrRWxlbWVudChlbGVtZW50KSB7CisgICAgbGV0IHggPSBlbGVtZW50Lm9mZnNldExlZnQgKyAy
OworICAgIGxldCB5ID0gZWxlbWVudC5vZmZzZXRUb3AgKyAyOworCisgICAgdmFyIHN1cHBvcnRz
VG91Y2hFdmVudHMgPSAiVG91Y2hFdmVudCIgaW4gd2luZG93OworICAgIGlmIChzdXBwb3J0c1Rv
dWNoRXZlbnRzICYmIHdpbmRvdy50ZXN0UnVubmVyICYmIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChgKGZ1bmN0aW9uKCkgeyB1aUNvbnRy
b2xsZXIuc2luZ2xlVGFwQXRQb2ludCgke3h9LCAke3l9LCBmdW5jdGlvbigpIHsgfSk7IH0pKCk7
YCwgZnVuY3Rpb24gKCkgeyB9KTsKKyAgICB9IGVsc2UgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikg
eworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICB9
Cit9CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBjbGlja0VsZW1lbnQoZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiYnV0dG9uIikpOworfQorCis8L3NjcmlwdD4KKzxidXR0b24g
b25jbGljaz0nZ28oKSc+R288L2J1dHRvbj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlNGU2YzhiNjJiZDMx
NmI4ZmI1ODA1MTBlNzViN2RlN2I4ZmQ2M2MzLi4xMWY0ZWRhZDRiZmNiOTY2N2QyMzJhZWY3NTQ5
ODZiZjNiMjQ3YzkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0yNCw2ICsyNCw3IEBAIGZhc3QvbWVkaWEvbXEtcHJlZmVycy1yZWR1Y2Vk
LW1vdGlvbi1saXZlLXVwZGF0ZS5odG1sIFsgUGFzcyBdCiAKIFsgU2llcnJhKyBdIGh0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5LyBbIFBhc3MgXQogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQ
YXlFcnJvci5odG1sIFsgU2tpcCBdCitodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNl
c3Npb25WMy5odG1sIFsgU2tpcCBdCiAKIGZhc3QvdmlzdWFsLXZpZXdwb3J0L3J1YmJlcmJhbmRp
bmctdmlld3BvcnQtcmVjdHMuaHRtbCBbIFBhc3MgXQogZmFzdC92aXN1YWwtdmlld3BvcnQvcnVi
YmVyYmFuZGluZy12aWV3cG9ydC1yZWN0cy1oZWFkZXItZm9vdGVyLmh0bWwgIFsgUGFzcyBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>311838</attachid>
            <date>2017-06-02 10:34:58 -0700</date>
            <delta_ts>2017-06-02 11:14:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172832-20170602103458.patch</filename>
            <type>text/plain</type>
            <size>17382</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjdmOTdjMTdjYmM0MjFl
MzI5ZTVjM2M3MjZmMmU0MzVlZTI3MzcyYS4uMGUxZDExZTNkNWQ4NmQyNjVhYTEyYTNmMmI4ZTk3
NzQ2MTlkZGNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE3LTA2LTAxICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbQ29jb2FdIEFkZCBhICJzdXBw
b3J0ZWRDb3VudHJpZXMiIHByb3BlcnR5IHRvIEFwcGxlUGF5UGF5bWVudFJlcXVlc3QKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjgzMgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzA3MzU1NDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBD
aHJpc3RlbnNlbi4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVNlc3Npb25WMy5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudFJlcXVlc3QuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudFJlcXVlc3QuaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNz
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRBbmRWYWxpZGF0ZSk6CisgICAgICAg
ICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5oOgorICAgICAgICAoV2ViQ29yZTo6
UGF5bWVudFJlcXVlc3Q6OnN1cHBvcnRlZENvdW50cmllcyk6CisgICAgICAgIChXZWJDb3JlOjpQ
YXltZW50UmVxdWVzdDo6c2V0U3VwcG9ydGVkQ291bnRyaWVzKToKKyAgICAgICAgKiBNb2R1bGVz
L2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0VmFsaWRhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBheW1lbnRSZXF1ZXN0VmFsaWRhdG9yOjp2YWxpZGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0v
c3BpL2NvY29hL1Bhc3NLaXRTUEkuaDoKKworMjAxNy0wNi0wMSAgQW5keSBFc3RlcyAgPGFlc3Rl
c0BhcHBsZS5jb20+CisKICAgICAgICAgUkVHUkVTU0lPTiAocjIxNzYyNik6IEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WMyB3YXMgZGlzYWJsZWQgYnkgbWlzdGFrZQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyODI4CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAy
NTViZWQ2ZTVmMmQyM2ZjZDc0OGFhZGUxNTU5NWM2MzQ1YzAyZjE4Li44MjA0MTRkNTBkYzYyMmI0
NjBhYjAxMTQ4MWJhYjcwOGM5NGY3MmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjAgQEAKIDIw
MTctMDYtMDEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCisgICAgICAgIFtDb2Nv
YV0gQWRkIGEgInN1cHBvcnRlZENvdW50cmllcyIgcHJvcGVydHkgdG8gQXBwbGVQYXlQYXltZW50
UmVxdWVzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTcyODMyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDczNTU0ND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL1dlYkNv
cmVBcmd1bWVudENvZGVyc0NvY29hLm1tOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVyPFBh
eW1lbnRSZXF1ZXN0Pjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxQYXlt
ZW50UmVxdWVzdD46OmRlY29kZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29h
L1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnRv
TlNTZXQpOgorICAgICAgICAoV2ViS2l0Ojp0b1BLUGF5bWVudFJlcXVlc3QpOgorCisyMDE3LTA2
LTAxICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKwogICAgICAgICBSRUdSRVNTSU9O
IChyMjE3NjI2KTogRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzIHdhcyBkaXNhYmxlZCBieSBt
aXN0YWtlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzI4MjgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UGF5bWVudFJlcXVlc3QuaAppbmRleCAxMjAzYWQ4YjUwMGJjZmRlMWI4MTRiODExZTVh
MTM1NGY3ZWQwYjAyLi45NjllODk2NTBiMTA0N2RkMDllZGI1YjcyMjEyNmY0ZWU1OTRmYjUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVu
dFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudFJlcXVlc3QuaApAQCAtNTgsNiArNTgsNyBAQCBzdHJ1Y3QgQXBwbGVQYXlQYXltZW50
UmVxdWVzdCB7CiAgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8QXBwbGVQYXlMaW5lSXRlbT4+IGxp
bmVJdGVtczsKIAogICAgIFN0cmluZyBhcHBsaWNhdGlvbkRhdGE7CisgICAgVmVjdG9yPFN0cmlu
Zz4gc3VwcG9ydGVkQ291bnRyaWVzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5pZGwKaW5kZXgg
MzIyYmYwZjJlZjhlYzBlYzA0YzIyMWQzZmEzZWIzM2Y2YWY3YWZlYS4uZGE5MTA4NWI4NWZkZThl
ZWE5YjkxNmM0NTMxOTQ5ZTI0OWMyYzlkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsCkBAIC03MSw0
ICs3MSw1IEBACiAgICAgc2VxdWVuY2U8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4gc2hpcHBpbmdN
ZXRob2RzOwogCiAgICAgRE9NU3RyaW5nIGFwcGxpY2F0aW9uRGF0YTsKKyAgICBbQ29uZGl0aW9u
YWw9QVBQTEVfUEFZX1NFU1NJT05fVjNdIHNlcXVlbmNlPERPTVN0cmluZz4gc3VwcG9ydGVkQ291
bnRyaWVzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTZXNzaW9uLmNwcAppbmRleCAwMzRlZjhiYzJjZGRiNjMyN2JjYmJiYWU5ODhmYTk5ZmE3
ZDIxYzVmLi5lZjg3MjFmNjAxODEzNzAzMGFjMzgzYjkwYWVlMmZhMTBlMDlkZjZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3Bw
CkBAIC0zNjksNiArMzY5LDkgQEAgc3RhdGljIEV4Y2VwdGlvbk9yPFBheW1lbnRSZXF1ZXN0PiBj
b252ZXJ0QW5kVmFsaWRhdGUodW5zaWduZWQgdmVyc2lvbiwgQXBwbGVQYXkKIAogICAgIHJlc3Vs
dC5zZXRBcHBsaWNhdGlvbkRhdGEocGF5bWVudFJlcXVlc3QuYXBwbGljYXRpb25EYXRhKTsKIAor
ICAgIGlmICh2ZXJzaW9uID49IDMpCisgICAgICAgIHJlc3VsdC5zZXRTdXBwb3J0ZWRDb3VudHJp
ZXMoV1RGTW92ZShwYXltZW50UmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMpKTsKKwogICAgIC8v
IEZJWE1FOiBNZXJnZSB0aGlzIHZhbGlkYXRpb24gaW50byB0aGUgdmFsaWRhdGlvbiB3ZSBhcmUg
ZG9pbmcgYWJvdmUuCiAgICAgYXV0byB2YWxpZGF0ZWRQYXltZW50UmVxdWVzdCA9IFBheW1lbnRS
ZXF1ZXN0VmFsaWRhdG9yOjp2YWxpZGF0ZShyZXN1bHQpOwogICAgIGlmICh2YWxpZGF0ZWRQYXlt
ZW50UmVxdWVzdC5oYXNFeGNlcHRpb24oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaAppbmRleCAxYzFiNjRlYjFmYjQ4ZDYyNGVjNjNlYjcx
NDYzNjUxMTg3ODE0N2NlLi40ZjVlZmRiNGMwNWY1N2RiMzZlM2U2OWVlMmYxZmU2OWI3Zjg2MzNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRSZXF1
ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50UmVxdWVz
dC5oCkBAIC0xMjgsNiArMTI4LDkgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgYXBwbGlj
YXRpb25EYXRhKCkgY29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvbkRhdGE7IH0KICAgICB2b2lk
IHNldEFwcGxpY2F0aW9uRGF0YShjb25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uRGF0YSkgeyBtX2Fw
cGxpY2F0aW9uRGF0YSA9IGFwcGxpY2F0aW9uRGF0YTsgfQogCisgICAgY29uc3QgVmVjdG9yPFN0
cmluZz4mIHN1cHBvcnRlZENvdW50cmllcygpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcG9ydGVkQ291
bnRyaWVzOyB9CisgICAgdm9pZCBzZXRTdXBwb3J0ZWRDb3VudHJpZXMoVmVjdG9yPFN0cmluZz4m
JiBzdXBwb3J0ZWRDb3VudHJpZXMpIHsgbV9zdXBwb3J0ZWRDb3VudHJpZXMgPSBXVEZNb3ZlKHN1
cHBvcnRlZENvdW50cmllcyk7IH0KKwogcHJpdmF0ZToKICAgICBTdHJpbmcgbV9jb3VudHJ5Q29k
ZTsKICAgICBTdHJpbmcgbV9jdXJyZW5jeUNvZGU7CkBAIC0xNDgsNiArMTUxLDcgQEAgcHJpdmF0
ZToKICAgICBMaW5lSXRlbSBtX3RvdGFsOwogCiAgICAgU3RyaW5nIG1fYXBwbGljYXRpb25EYXRh
OworICAgIFZlY3RvcjxTdHJpbmc+IG1fc3VwcG9ydGVkQ291bnRyaWVzOwogfTsKIAogc3RydWN0
IFBheW1lbnRFcnJvciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnRSZXF1ZXN0VmFsaWRhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvUGF5bWVudFJlcXVlc3RWYWxpZGF0b3IuY3BwCmluZGV4IDkyNDU4NDFiZjgxZTM1
YmI4ODQ2Mjc5ZGI2MWZhMjhmNzI1YTZkYjEuLjEyNzM1YjllNTBiOTJiYWJkOWQyNGQyMjFiOGNm
YjBhZWZiZTY1ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
UGF5bWVudFJlcXVlc3RWYWxpZGF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvUGF5bWVudFJlcXVlc3RWYWxpZGF0b3IuY3BwCkBAIC02OSw2ICs2OSwxMiBAQCBF
eGNlcHRpb25Pcjx2b2lkPiBQYXltZW50UmVxdWVzdFZhbGlkYXRvcjo6dmFsaWRhdGUoY29uc3Qg
UGF5bWVudFJlcXVlc3QmIHBheW1lbgogICAgIGlmICh2YWxpZGF0ZWRTaGlwcGluZ01ldGhvZHMu
aGFzRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiB2YWxpZGF0ZWRTaGlwcGluZ01ldGhvZHMu
cmVsZWFzZUV4Y2VwdGlvbigpOwogCisgICAgZm9yIChhdXRvJiBjb3VudHJ5Q29kZSA6IHBheW1l
bnRSZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcygpKSB7CisgICAgICAgIGF1dG8gdmFsaWRhdGVk
Q291bnRyeUNvZGUgPSB2YWxpZGF0ZUNvdW50cnlDb2RlKGNvdW50cnlDb2RlKTsKKyAgICAgICAg
aWYgKHZhbGlkYXRlZENvdW50cnlDb2RlLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0
dXJuIHZhbGlkYXRlZENvdW50cnlDb2RlLnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICB9CisKICAg
ICByZXR1cm4geyB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cGkvY29jb2EvUGFzc0tpdFNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29h
L1Bhc3NLaXRTUEkuaAppbmRleCAxMmQ1YjdjYzIzZjc2Yjc4YzBhMjc4NDY5ZmRmYzJmYjU3ODI2
MGYyLi4xODVjNDg5MDE3NjE2NTRlODg1MGYxZGM2NjhlNGI2MDdmZmY1NjdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKQEAgLTE2OCw2ICsx
NjgsOSBAQCB0eXBlZGVmIE5TU3RyaW5nICogUEtQYXltZW50TmV0d29yayBOU19FWFRFTlNJQkxF
X1NUUklOR19FTlVNOwogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHksIG51bGxhYmxlKSBOU0Fy
cmF5PFBLU2hpcHBpbmdNZXRob2QgKj4gKnNoaXBwaW5nTWV0aG9kczsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBhc3NpZ24pIFBLU2hpcHBpbmdUeXBlIHNoaXBwaW5nVHlwZTsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5LCBudWxsYWJsZSkgTlNEYXRhICphcHBsaWNhdGlvbkRhdGE7CisjaWYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCBjb3B5LCBudWxsYWJsZSkgTlNTZXQ8TlNTdHJpbmcgKj4gKnN1cHBvcnRlZENvdW50
cmllczsKKyNlbmRpZgogQGVuZAogCiBAaW50ZXJmYWNlIFBLUGF5bWVudEF1dGhvcml6YXRpb25W
aWV3Q29udHJvbGxlciA6IE5TVmlld0NvbnRyb2xsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCBi
OTE0Y2RhNWI3NGEwMjZiNDFkMjAwMzZiYWJlMTY2ZmJkZTE4OWMyLi5lZTBkOTUwOGIwYmNkYzA0
ZWY5Zjc4NTNiZWYwYTFmZDg4OTdkOGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ29jb2EvV2ViQ29yZUFyZ3VtZW50Q29kZXJzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC0yNDgsNiAr
MjQ4LDcgQEAgdm9pZCBBcmd1bWVudENvZGVyPFBheW1lbnRSZXF1ZXN0Pjo6ZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIsIGNvbnN0IFBheW1lbnRSZXF1ZXMKICAgICBlbmNvZGVyIDw8IHJlcXVlc3Qu
bGluZUl0ZW1zKCk7CiAgICAgZW5jb2RlciA8PCByZXF1ZXN0LnRvdGFsKCk7CiAgICAgZW5jb2Rl
ciA8PCByZXF1ZXN0LmFwcGxpY2F0aW9uRGF0YSgpOworICAgIGVuY29kZXIgPDwgcmVxdWVzdC5z
dXBwb3J0ZWRDb3VudHJpZXMoKTsKIH0KIAogYm9vbCBBcmd1bWVudENvZGVyPFBheW1lbnRSZXF1
ZXN0Pjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFBheW1lbnRSZXF1ZXN0JiByZXF1ZXN0KQpA
QCAtMzE3LDYgKzMxOCwxMSBAQCBib29sIEFyZ3VtZW50Q29kZXI8UGF5bWVudFJlcXVlc3Q+Ojpk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgUGF5bWVudFJlcXVlc3QmIHJlcQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgcmVxdWVzdC5zZXRBcHBsaWNhdGlvbkRhdGEoYXBwbGljYXRpb25EYXRh
KTsKIAorICAgIFZlY3RvcjxTdHJpbmc+IHN1cHBvcnRlZENvdW50cmllczsKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHN1cHBvcnRlZENvdW50cmllcykpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICByZXF1ZXN0LnNldFN1cHBvcnRlZENvdW50cmllcyhXVEZNb3ZlKHN1cHBvcnRlZENvdW50
cmllcykpOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNv
Y29hLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1l
bnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KaW5kZXggNWEwNTdhOWVjM2EzNDdlZDRmNzFkNzYy
MmRiZThmNTZiYTBiZDNhMi4uNDQ2NDQ1MjdmMmUwZmI5ZmEzYmMzOWQwNzFlMDA0ODg3OGUyNGZl
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FwcGxlUGF5L2NvY29hL1dl
YlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0K
QEAgLTQ3Niw2ICs0NzYsMjAgQEAgc3RhdGljIFJldGFpblB0cjxQS1NoaXBwaW5nTWV0aG9kPiB0
b1BLU2hpcHBpbmdNZXRob2QoY29uc3QgV2ViQ29yZTo6UGF5bWVudFJlcXUKIAogICAgIHJldHVy
biByZXN1bHQ7CiB9CisgICAgCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKK3N0YXRpYyBSZXRhaW5QdHI8TlNT
ZXQ+IHRvTlNTZXQoY29uc3QgVmVjdG9yPFN0cmluZz4mIHN0cmluZ3MpCit7CisgICAgaWYgKHN0
cmluZ3MuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgYXV0byBtdXRhYmxl
U2V0ID0gYWRvcHROUyhbW05TTXV0YWJsZVNldCBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTpzdHJp
bmdzLnNpemUoKV0pOworICAgIGZvciAoYXV0byYgc3RyaW5nIDogc3RyaW5ncykKKyAgICAgICAg
W211dGFibGVTZXQgYWRkT2JqZWN0OnN0cmluZ107CisKKyAgICByZXR1cm4gV1RGTW92ZShtdXRh
YmxlU2V0KTsKK30KKyNlbmRpZgogCiBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gdG9QS1Bh
eW1lbnRSZXF1ZXN0KFdlYlBhZ2VQcm94eSYgd2ViUGFnZVByb3h5LCBjb25zdCBXZWJDb3JlOjpV
UkwmIG9yaWdpbmF0aW5nVVJMLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6VVJMPiYgbGlua0ljb25V
UkxzLCBjb25zdCBXZWJDb3JlOjpQYXltZW50UmVxdWVzdCYgcGF5bWVudFJlcXVlc3QpCiB7CkBA
IC01MzIsNiArNTQ2LDEwIEBAIFJldGFpblB0cjxQS1BheW1lbnRSZXF1ZXN0PiB0b1BLUGF5bWVu
dFJlcXVlc3QoV2ViUGFnZVByb3h5JiB3ZWJQYWdlUHJveHksIGNvbnN0CiAgICAgICAgIFtyZXN1
bHQgc2V0QXBwbGljYXRpb25EYXRhOmFwcGxpY2F0aW9uRGF0YS5nZXQoKV07CiAgICAgfQogCisj
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEzMDApIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDExMDAwMCkKKyAgICBbcmVzdWx0IHNldFN1cHBvcnRlZENvdW50cmllczp0b05TU2V0
KHBheW1lbnRSZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcygpKS5nZXQoKV07CisjZW5kaWYKKwog
ICAgIC8vIEZJWE1FOiBJbnN0ZWFkIG9mIHVzaW5nIHJlc3BvbmRzVG9TZWxlY3RvciwgdGhpcyBz
aG91bGQgdXNlIGEgcHJvcGVyICNpZiB2ZXJzaW9uIGNoZWNrLgogICAgIGF1dG8mIGNvbmZpZ3Vy
YXRpb24gPSB3ZWJQYWdlUHJveHkucHJvY2VzcygpLnByb2Nlc3NQb29sKCkuY29uZmlndXJhdGlv
bigpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMzA3YmRkZmViNDY4YjI0ZTMyYmM0NDU2NDFhYTg0NzMyZjRhNjJhMi4u
MzdhZDdlYzdjZjAwN2E2ZGNkY2E1YmQxNTFmYmUwYzQ5YTA3YTk3YiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDE3LTA2LTAxICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBbQ29jb2FdIEFkZCBhICJzdXBwb3J0ZWRDb3VudHJpZXMiIHByb3BlcnR5IHRvIEFwcGxl
UGF5UGF5bWVudFJlcXVlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3MjgzMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA3MzU1NDQ+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIGh0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAy
MDE3LTA2LTAxICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAg
IE1hcmsgdHdvIHdlYnJ0YyB0ZXN0cyBhcyBmbGFreS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmE2OTFiZDE0Njg4Mzg5OGUxMmJkMzAxNDExMGUxZDhl
NTJlYWE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTAgQEAKK1Rl
c3QgYmFzaWMgY3JlYXRpb24gb2YgYW4gQXBwbGVQYXlTZXNzaW9uIG9iamVjdC4KKworT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3RpbmcgUGF5bWVudFJlcXVlc3QgKHYzKQorCitQ
QVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgeyB9KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBNZW1iZXIgQXBwbGVQYXlQYXltZW50UmVxdWVzdC5jb3VudHJ5Q29kZSBpcyByZXF1aXJlZCBh
bmQgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01TdHJpbmcuCitQQVNTIG5ldyBBcHBsZVBheVNl
c3Npb24oMywgdmFsaWRSZXF1ZXN0KCkpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorCitUZXN0
aW5nIFBheW1lbnRSZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcworCitTRVRVUDogcmVxdWVzdCA9
IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IFsnaW52YWxpZCdd
OworUEFTUyBuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6ICJpbnZhbGlkIiBpcyBub3QgYSB2YWxpZCBjb3VudHJ5IGNvZGUuLgorCitTRVRV
UDogcmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9
IFsnVVMnLCAnaW52YWxpZCddOworUEFTUyBuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3Qp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6ICJpbnZhbGlkIiBpcyBub3QgYSB2YWxpZCBjb3Vu
dHJ5IGNvZGUuLgorCitTRVRVUDogcmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1
cHBvcnRlZENvdW50cmllcyA9IFsnVVMnLCA3XTsKK1BBU1MgbmV3IEFwcGxlUGF5U2Vzc2lvbigz
LCByZXF1ZXN0KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiAiNyIgaXMgbm90IGEgdmFsaWQg
Y291bnRyeSBjb2RlLi4KKworU0VUVVA6IHJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVz
dC5zdXBwb3J0ZWRDb3VudHJpZXMgPSAnJzsKK1BBU1MgbmV3IEFwcGxlUGF5U2Vzc2lvbigzLCBy
ZXF1ZXN0KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5j
ZS4KKworU0VUVVA6IHJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRD
b3VudHJpZXMgPSA3OworUEFTUyBuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFZhbHVlIGlzIG5vdCBhIHNlcXVlbmNlLgorCitTRVRVUDog
cmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IG51
bGw7CitQQVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UuCisKK1NFVFVQOiByZXF1ZXN0ID0g
dmFsaWRSZXF1ZXN0KCk7IGRlbGV0ZSByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllczsKK1BBU1Mg
bmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4K
KworU0VUVVA6IHJlcXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3Vu
dHJpZXMgPSB1bmRlZmluZWQ7CitQQVNTIG5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCisKK1NFVFVQOiByZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0
KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gW107CitQQVNTIG5ldyBBcHBsZVBheVNl
c3Npb24oMywgcmVxdWVzdCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCisKK1NFVFVQOiByZXF1
ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gWydVUydd
OworUEFTUyBuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVlc3QpIGRpZCBub3QgdGhyb3cgZXhj
ZXB0aW9uLgorCitTRVRVUDogcmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBv
cnRlZENvdW50cmllcyA9IFsnVVMnLCAnVVMnXTsKK1BBU1MgbmV3IEFwcGxlUGF5U2Vzc2lvbigz
LCByZXF1ZXN0KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KKworCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDE1NDllYTBjNmM0ZWU5NmUzOGY3NWEzNWY4ODE4NmFlODIzYzFjZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5
U2Vzc2lvblYzLmh0bWwKQEAgLTAsMCArMSw4OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGJhc2ljIGNyZWF0aW9uIG9mIGFuIEFwcGxlUGF5U2Vzc2lv
biBvYmplY3QuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24g
dmFsaWRSZXF1ZXN0KCkgeworICAgIHJldHVybiB7CisgICAgICAgICAgY291bnRyeUNvZGU6ICdV
UycsCisgICAgICAgICAgY3VycmVuY3lDb2RlOiAnVVNEJywKKyAgICAgICAgICBzdXBwb3J0ZWRO
ZXR3b3JrczogWyd2aXNhJywgJ21hc3RlckNhcmQnXSwKKyAgICAgICAgICBtZXJjaGFudENhcGFi
aWxpdGllczogWydzdXBwb3J0czNEUyddLAorICAgICAgICAgIHRvdGFsOiB7IGxhYmVsOiAnWW91
ciBMYWJlbCcsIGFtb3VudDogJzEwLjAwJyB9LAorICAgIH0KK30KKworZnVuY3Rpb24gbG9nQW5k
U2hvdWxkVGhyb3coc2V0dXAsIHRlc3QpIHsKKyAgICBkZWJ1ZygiU0VUVVA6ICIgKyBzZXR1cCkK
KyAgICBldmFsKHNldHVwKTsKKyAgICBzaG91bGRUaHJvdyh0ZXN0KTsKKyAgICBkZWJ1ZygiIikK
K30KKworZnVuY3Rpb24gbG9nQW5kU2hvdWxkTm90VGhyb3coc2V0dXAsIHRlc3QpIHsKKyAgICBk
ZWJ1ZygiU0VUVVA6ICIgKyBzZXR1cCkKKyAgICBldmFsKHNldHVwKTsKKyAgICBzaG91bGROb3RU
aHJvdyh0ZXN0KTsKKyAgICBkZWJ1ZygiIikKK30KKworZnVuY3Rpb24gZ28oKSB7CisgICAgZGVi
dWcoIlRlc3RpbmcgUGF5bWVudFJlcXVlc3QgKHYzKSIpCisgICAgZGVidWcoIiIpOworICAgIHNo
b3VsZFRocm93KCJuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHsgfSkiKTsKKyAgICBzaG91bGROb3RU
aHJvdygibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCB2YWxpZFJlcXVlc3QoKSkiKTsKKyAgICBkZWJ1
ZygiIik7CisgICAgCisgICAgZGVidWcoIlRlc3RpbmcgUGF5bWVudFJlcXVlc3Quc3VwcG9ydGVk
Q291bnRyaWVzIik7CisgICAgZGVidWcoIiIpOworCisgICAgbG9nQW5kU2hvdWxkVGhyb3coInJl
cXVlc3QgPSB2YWxpZFJlcXVlc3QoKTsgcmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMgPSBbJ2lu
dmFsaWQnXTsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSIpOworICAgIGxvZ0Fu
ZFNob3VsZFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVk
Q291bnRyaWVzID0gWydVUycsICdpbnZhbGlkJ107IiwgIm5ldyBBcHBsZVBheVNlc3Npb24oMywg
cmVxdWVzdCkiKTsKKyAgICBsb2dBbmRTaG91bGRUaHJvdygicmVxdWVzdCA9IHZhbGlkUmVxdWVz
dCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IFsnVVMnLCA3XTsiLCAibmV3IEFwcGxl
UGF5U2Vzc2lvbigzLCByZXF1ZXN0KSIpOworICAgIGxvZ0FuZFNob3VsZFRocm93KCJyZXF1ZXN0
ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gJyc7IiwgIm5l
dyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkiKTsKKyAgICBsb2dBbmRTaG91bGRUaHJvdygi
cmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IDc7
IiwgIm5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkiKTsKKyAgICBsb2dBbmRTaG91bGRU
aHJvdygicmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmll
cyA9IG51bGw7IiwgIm5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkiKTsKKyAgICBsb2dB
bmRTaG91bGROb3RUaHJvdygicmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyBkZWxldGUgcmVxdWVz
dC5zdXBwb3J0ZWRDb3VudHJpZXM7IiwgIm5ldyBBcHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCki
KTsKKyAgICBsb2dBbmRTaG91bGROb3RUaHJvdygicmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyBy
ZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IHVuZGVmaW5lZDsiLCAibmV3IEFwcGxlUGF5U2Vz
c2lvbigzLCByZXF1ZXN0KSIpOworICAgIGxvZ0FuZFNob3VsZE5vdFRocm93KCJyZXF1ZXN0ID0g
dmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVkQ291bnRyaWVzID0gW107IiwgIm5ldyBB
cHBsZVBheVNlc3Npb24oMywgcmVxdWVzdCkiKTsKKyAgICBsb2dBbmRTaG91bGROb3RUaHJvdygi
cmVxdWVzdCA9IHZhbGlkUmVxdWVzdCgpOyByZXF1ZXN0LnN1cHBvcnRlZENvdW50cmllcyA9IFsn
VVMnXTsiLCAibmV3IEFwcGxlUGF5U2Vzc2lvbigzLCByZXF1ZXN0KSIpOworICAgIGxvZ0FuZFNo
b3VsZE5vdFRocm93KCJyZXF1ZXN0ID0gdmFsaWRSZXF1ZXN0KCk7IHJlcXVlc3Quc3VwcG9ydGVk
Q291bnRyaWVzID0gWydVUycsICdVUyddOyIsICJuZXcgQXBwbGVQYXlTZXNzaW9uKDMsIHJlcXVl
c3QpIik7CisgICAgZGVidWcoIiIpOworCisgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYnV0
dG9uIikucmVtb3ZlKCk7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gY2xp
Y2tFbGVtZW50KGVsZW1lbnQpIHsKKyAgICBsZXQgeCA9IGVsZW1lbnQub2Zmc2V0TGVmdCArIDI7
CisgICAgbGV0IHkgPSBlbGVtZW50Lm9mZnNldFRvcCArIDI7CisKKyAgICB2YXIgc3VwcG9ydHNU
b3VjaEV2ZW50cyA9ICJUb3VjaEV2ZW50IiBpbiB3aW5kb3c7CisgICAgaWYgKHN1cHBvcnRzVG91
Y2hFdmVudHMgJiYgd2luZG93LnRlc3RSdW5uZXIgJiYgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdCkg
eworICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGAoZnVuY3Rpb24oKSB7IHVpQ29udHJv
bGxlci5zaW5nbGVUYXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1bmN0aW9uKCkgeyB9KTsgfSkoKTtg
LCBmdW5jdGlvbiAoKSB7IH0pOworICAgIH0gZWxzZSBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7
CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgICAgICBldmVudFNl
bmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgIH0K
K30KKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIGNsaWNrRWxlbWVudChkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKSk7Cit9CisKKzwvc2NyaXB0PgorPGJ1dHRvbiBv
bmNsaWNrPSdnbygpJz5HbzwvYnV0dG9uPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGU0ZTZjOGI2MmJkMzE2
YjhmYjU4MDUxMGU3NWI3ZGU3YjhmZDYzYzMuLjExZjRlZGFkNGJmY2I5NjY3ZDIzMmFlZjc1NDk4
NmJmM2IyNDdjOTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTI0LDYgKzI0LDcgQEAgZmFzdC9tZWRpYS9tcS1wcmVmZXJzLXJlZHVjZWQt
bW90aW9uLWxpdmUtdXBkYXRlLmh0bWwgWyBQYXNzIF0KIAogWyBTaWVycmErIF0gaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvIFsgUGFzcyBdCiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBh
eUVycm9yLmh0bWwgWyBTa2lwIF0KK2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vz
c2lvblYzLmh0bWwgWyBTa2lwIF0KIAogZmFzdC92aXN1YWwtdmlld3BvcnQvcnViYmVyYmFuZGlu
Zy12aWV3cG9ydC1yZWN0cy5odG1sIFsgUGFzcyBdCiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9ydWJi
ZXJiYW5kaW5nLXZpZXdwb3J0LXJlY3RzLWhlYWRlci1mb290ZXIuaHRtbCAgWyBQYXNzIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>