<?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>201956</bug_id>
          
          <creation_ts>2019-09-18 17:02:46 -0700</creation_ts>
          <short_desc>Python 3: Add support in webkitpy.common.checkout</short_desc>
          <delta_ts>2019-10-25 17:00:44 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=202462</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=203277</see_also>
          <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="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>jlewis3</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1572161</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-09-18 17:02:46 -0700</bug_when>
    <thetext>Many scripts depend on code in webkitpy.common.checkout (there are also some cyclical dependencies with webkitpy.common.system), so we need to have support here soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572164</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-18 17:04:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/55499884&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583822</commentid>
    <comment_count>2</comment_count>
      <attachid>381925</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-10-25 08:16:12 -0700</bug_when>
    <thetext>Created attachment 381925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583896</commentid>
    <comment_count>3</comment_count>
      <attachid>381925</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2019-10-25 10:53:07 -0700</bug_when>
    <thetext>Comment on attachment 381925
Patch

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

&gt; Tools/ChangeLog:20
&gt; +        (Contributor.__hash__): Committers need to be washable.

You mean &apos;hashable&apos;?

&gt; Tools/Scripts/webkitpy/common/config/committers.py:82
&gt; +        for email in self._case_preserved_emails:

Why we would like to use case preserved emails? Does it mean a@webkit.org and A@webkit.org are considered as different contributors? Also, we may want to explain why we need this function now in change log.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583912</commentid>
    <comment_count>4</comment_count>
      <attachid>381925</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-10-25 11:09:44 -0700</bug_when>
    <thetext>Comment on attachment 381925
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/common/config/committers.py:82
&gt;&gt; +        for email in self._case_preserved_emails:
&gt; 
&gt; Why we would like to use case preserved emails? Does it mean a@webkit.org and A@webkit.org are considered as different contributors? Also, we may want to explain why we need this function now in change log.

This was a bit arbitrary, there is a case for me using what we do in __eq__, but that seems excessive. We need it so that we can put it into a set, I&apos;ll add that to the changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583916</commentid>
    <comment_count>5</comment_count>
      <attachid>381945</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-10-25 11:14:43 -0700</bug_when>
    <thetext>Created attachment 381945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583920</commentid>
    <comment_count>6</comment_count>
      <attachid>381945</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2019-10-25 11:20:21 -0700</bug_when>
    <thetext>Comment on attachment 381945
Patch

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

&gt; Tools/Scripts/webkitpy/common/config/committers.py:84
&gt; +    def __hash__(self):
&gt; +        result = hash(self.full_name)
&gt; +        for email in self._case_preserved_emails:
&gt; +            result ^= hash(email)
&gt; +        return result

Discussed with Jonathan in person, we think we should use all fields used in __eq__ to compute hash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583939</commentid>
    <comment_count>7</comment_count>
      <attachid>381951</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-10-25 11:52:54 -0700</bug_when>
    <thetext>Created attachment 381951
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584100</commentid>
    <comment_count>8</comment_count>
      <attachid>381951</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-25 17:00:43 -0700</bug_when>
    <thetext>Comment on attachment 381951
Patch for landing

Clearing flags on attachment: 381951

Committed r251613: &lt;https://trac.webkit.org/changeset/251613&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1584101</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-25 17:00:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381925</attachid>
            <date>2019-10-25 08:16:12 -0700</date>
            <delta_ts>2019-10-25 11:14:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201956-20191025081610.patch</filename>
            <type>text/plain</type>
            <size>13100</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MTU4OSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI0IEBACisyMDE5LTEwLTI1ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBQeXRob24gMzogQWRkIHN1cHBvcnQgaW4gd2Via2l0cHkuY29tbW9uLmNo
ZWNrb3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDE5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFNjcmlwdHMvdGVzdC13ZWJraXRweS1weXRob24zOiBBZGQgd2Via2l0cHkuY29tbW9uLmNoZWNr
b3V0LgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoYW5nZWxv
Zy5weTogSW1wb3J0IFB5dGhvbiAzIGNvbXBhdGlibGUgdW5pY2RvZS4KKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGFuZ2Vsb2dfdW5pdHRlc3QucHk6IEltcG9y
dCBQeXRob24gMyBjb21wYXRpYmxlIFN0cmluZ0lPLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0LnB5OiBVc2UgUHl0aG9uIDMgY29tcGF0aWJsZSBy
ZWR1Y2UuCisgICAgICAgIChDaGVja291dC5fbW9kaWZpZWRfZmlsZXNfbWF0Y2hpbmdfcHJlZGlj
YXRlKTogQ29udmVydCBpdGVyYXRvcnMgaW50byBsaXN0cyBiZWZvcmUgcmV0dXJuaW5nLgorICAg
ICAgICAoQ2hlY2tvdXQuc3VnZ2VzdGVkX3Jldmlld2Vycyk6IERpdHRvLgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0X21vY2sucHk6IFVzZSBmdWxs
IGltcG9ydCBwYXRocy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291
dC9jaGVja291dF91bml0dGVzdC5weTogVXNlIGZ1bGwgaW1wb3J0IHBhdGhzLCBjb252ZXJ0Cisg
ICAgICAgIGl0ZXJhdG9ycyBpbnRvIGxpc3RzLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NoZWNrb3V0L2RpZmZfcGFyc2VyX3VuaXR0ZXN0LnB5OiBVc2UgZnVsbCBpbXBvcnQg
cGF0aHMsIHVzZSBQeXRob24gMworICAgICAgICBjb21wYXRpYmxlIFN0cmluZ0lPLgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5OgorICAgICAg
ICAoQ29udHJpYnV0b3IuX19oYXNoX18pOiBDb21taXR0ZXJzIG5lZWQgdG8gYmUgd2FzaGFibGUu
CisKIDIwMTktMTAtMjUgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgog
CiAgICAgICAgIHRlc3QyNjItcnVubmVyIHNob3VsZCBiZSBhYmxlIHRvIHBhc3MgSlNDIGEgZmVh
dHVyZSBmbGFnCkluZGV4OiBUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHktcHl0aG9uMwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHktcHl0aG9uMwkocmV2aXNpb24g
MjUxNTg5KQorKysgVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5LXB5dGhvbjMJKHdvcmtpbmcg
Y29weSkKQEAgLTM0LDcgKzM0LDcgQEAgZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuc2Nt
LnNjbV91bgogCiAKIFBZVEhPTjNfQ09NUEFUSUJMRV9ESVJFQ1RPUklFUyA9IFsKLSAgJ3dlYmtp
dHB5LmNvbW1vbi5jaGVja291dC5zY20nLAorICAnd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0JywK
ICAgJ3dlYmtpdHB5LmNvbW1vbi5jb25maWcnLAogICAnd2Via2l0cHkuY29tbW9uLnN5c3RlbScs
CiAgICd3ZWJraXRweS5jb21tb24udGhyZWFkJywKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NoZWNrb3V0L2NoYW5nZWxvZy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGFuZ2Vsb2cucHkJKHJldmlzaW9uIDI1MTU4
OSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoYW5nZWxvZy5w
eQkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBAQCBpbXBvcnQgdGV4dHdyYXAKIAogZnJv
bSB3ZWJraXRweS5jb21tb24uY29uZmlnLmNvbW1pdHRlcnMgaW1wb3J0IENvbW1pdHRlckxpc3QK
IGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtIGltcG9ydCBGaWxlU3lzdGVt
Ci1mcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBhdGliaWxpdHkgaW1wb3J0IFN0cmlu
Z0lPCitmcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBhdGliaWxpdHkgaW1wb3J0IFN0
cmluZ0lPLCB1bmljb2RlCiBpbXBvcnQgd2Via2l0cHkuY29tbW9uLmNvbmZpZy51cmxzIGFzIGNv
bmZpZ191cmxzCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKSW5kZXg6IFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoYW5nZWxvZ191bml0dGVzdC5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9j
aGFuZ2Vsb2dfdW5pdHRlc3QucHkJKHJldmlzaW9uIDI1MTU4OSkKKysrIFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoYW5nZWxvZ191bml0dGVzdC5weQkod29ya2luZyBj
b3B5KQpAQCAtMjksOSArMjksOCBAQAogCiBpbXBvcnQgdW5pdHRlc3QKIAotZnJvbSBTdHJpbmdJ
TyBpbXBvcnQgU3RyaW5nSU8KLQogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0
ZW1fbW9jayBpbXBvcnQgTW9ja0ZpbGVTeXN0ZW0KK2Zyb20gd2Via2l0cHkuY29tbW9uLnVuaWNv
ZGVfY29tcGF0aWJpbGl0eSBpbXBvcnQgU3RyaW5nSU8KIGZyb20gd2Via2l0cHkuY29tbW9uLmNo
ZWNrb3V0LmNoYW5nZWxvZyBpbXBvcnQgKgogCiAKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0LnB5CShyZXZpc2lvbiAyNTE1ODkp
CisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dC5weQko
d29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsMTEgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAKK2ltcG9ydCBzeXMKKworaWYgc3lzLnZlcnNpb25faW5mbyA+ICgzLCAwKToKKyAg
ICBmcm9tIGZ1bmN0b29scyBpbXBvcnQgcmVkdWNlCisKIGZyb20gd2Via2l0cHkuY29tbW9uLmNv
bmZpZyBpbXBvcnQgdXJscwogZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuY2hhbmdlbG9n
IGltcG9ydCBDaGFuZ2VMb2csIHBhcnNlX2J1Z19pZF9mcm9tX2NoYW5nZWxvZwogZnJvbSB3ZWJr
aXRweS5jb21tb24uY2hlY2tvdXQuY29tbWl0aW5mbyBpbXBvcnQgQ29tbWl0SW5mbwpAQCAtMTE3
LDcgKzEyMiw3IEBAIGNsYXNzIENoZWNrb3V0KG9iamVjdCk6CiAgICAgICAgICMgZXhwZWN0IGFi
c29sdXRlIHBhdGhzLCBzbyB0aGlzIG1ldGhvZCByZXR1cm5zIGFic29sdXRlIHBhdGhzLgogICAg
ICAgICBpZiBub3QgY2hhbmdlZF9maWxlczoKICAgICAgICAgICAgIGNoYW5nZWRfZmlsZXMgPSBz
ZWxmLl9zY20uY2hhbmdlZF9maWxlcyhnaXRfY29tbWl0KQotICAgICAgICByZXR1cm4gZmlsdGVy
KHByZWRpY2F0ZSwgbWFwKHNlbGYuX3NjbS5hYnNvbHV0ZV9wYXRoLCBjaGFuZ2VkX2ZpbGVzKSkK
KyAgICAgICAgcmV0dXJuIGxpc3QoZmlsdGVyKHByZWRpY2F0ZSwgbGlzdChtYXAoc2VsZi5fc2Nt
LmFic29sdXRlX3BhdGgsIGNoYW5nZWRfZmlsZXMpKSkpCiAKICAgICBkZWYgbW9kaWZpZWRfY2hh
bmdlbG9ncyhzZWxmLCBnaXRfY29tbWl0LCBjaGFuZ2VkX2ZpbGVzPU5vbmUpOgogICAgICAgICBy
ZXR1cm4gc2VsZi5fbW9kaWZpZWRfZmlsZXNfbWF0Y2hpbmdfcHJlZGljYXRlKGdpdF9jb21taXQs
IHNlbGYuaXNfcGF0aF90b19jaGFuZ2Vsb2csIGNoYW5nZWRfZmlsZXM9Y2hhbmdlZF9maWxlcykK
QEAgLTE0NCw3ICsxNDksNyBAQCBjbGFzcyBDaGVja291dChvYmplY3QpOgogICAgICAgICBjb21t
aXRfaW5mb3MgPSBzb3J0ZWQoc2VsZi5yZWNlbnRfY29tbWl0X2luZm9zX2Zvcl9maWxlcyhjaGFu
Z2VkX2ZpbGVzKSwga2V5PWxhbWJkYSBpbmZvOiBpbmZvLnJldmlzaW9uKCksIHJldmVyc2U9VHJ1
ZSkKICAgICAgICAgcmV2aWV3ZXJzID0gZmlsdGVyKGxhbWJkYSBwZXJzb246IHBlcnNvbiBhbmQg
cGVyc29uLmNhbl9yZXZpZXcsIHN1bShtYXAobGFtYmRhIGluZm86IFtpbmZvLnJldmlld2VyKCks
IGluZm8uYXV0aG9yKCldLCBjb21taXRfaW5mb3MpLCBbXSkpCiAgICAgICAgIHVuaXF1ZV9yZXZp
ZXdlcnMgPSByZWR1Y2UobGFtYmRhIHN1Z2dlc3Rpb25zLCByZXZpZXdlcjogc3VnZ2VzdGlvbnMg
KyBbcmV2aWV3ZXIgaWYgcmV2aWV3ZXIgbm90IGluIHN1Z2dlc3Rpb25zIGVsc2UgTm9uZV0sIHJl
dmlld2VycywgW10pCi0gICAgICAgIHJldHVybiBmaWx0ZXIobGFtYmRhIHJldmlld2VyOiByZXZp
ZXdlciwgdW5pcXVlX3Jldmlld2VycykKKyAgICAgICAgcmV0dXJuIGxpc3QoZmlsdGVyKGxhbWJk
YSByZXZpZXdlcjogcmV2aWV3ZXIsIHVuaXF1ZV9yZXZpZXdlcnMpKQogCiAgICAgZGVmIGJ1Z19p
ZF9mb3JfdGhpc19jb21taXQoc2VsZiwgZ2l0X2NvbW1pdCwgY2hhbmdlZF9maWxlcz1Ob25lKToK
ICAgICAgICAgdHJ5OgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tv
dXQvY2hlY2tvdXRfbW9jay5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jaGVja291dC9jaGVja291dF9tb2NrLnB5CShyZXZpc2lvbiAyNTE1ODkpCisrKyBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dF9tb2NrLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogCi1mcm9tIC5jb21taXRpbmZvIGltcG9ydCBDb21taXRJbmZvCitmcm9tIHdlYmtpdHB5
LmNvbW1vbi5jaGVja291dC5jb21taXRpbmZvIGltcG9ydCBDb21taXRJbmZvCiAKICMgRklYTUU6
IFRoZXNlIGltcG9ydHMgYXJlIHdyb25nLCB3ZSBzaG91bGQgdXNlIGEgc2hhcmVkIE1vY2tDb21t
aXR0ZXJzTGlzdC4KIGZyb20gd2Via2l0cHkuY29tbW9uLmNvbmZpZy5jb21taXR0ZXJzIGltcG9y
dCBDb21taXR0ZXJMaXN0CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVj
a291dC9jaGVja291dF91bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dF91bml0dGVzdC5weQkocmV2aXNpb24gMjUx
NTg5KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXRf
dW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTMyLDE2ICszMiwxNyBAQCBpbXBvcnQgc2h1
dGlsCiBpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB1bml0dGVzdAogCi1mcm9tIC5jaGVja291dCBp
bXBvcnQgQ2hlY2tvdXQKLWZyb20gLmNoYW5nZWxvZyBpbXBvcnQgQ2hhbmdlTG9nRW50cnkKLWZy
b20gLnNjbSBpbXBvcnQgQ29tbWl0TWVzc2FnZSwgU0NNRGV0ZWN0b3IKLWZyb20gLnNjbS5zY21f
bW9jayBpbXBvcnQgTW9ja1NDTQorZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuY2hlY2tv
dXQgaW1wb3J0IENoZWNrb3V0Citmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5jaGFuZ2Vs
b2cgaW1wb3J0IENoYW5nZUxvZ0VudHJ5Citmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5z
Y20gaW1wb3J0IENvbW1pdE1lc3NhZ2UsIFNDTURldGVjdG9yCitmcm9tIHdlYmtpdHB5LmNvbW1v
bi5jaGVja291dC5zY20uc2NtX21vY2sgaW1wb3J0IE1vY2tTQ00KIGZyb20gd2Via2l0cHkuY29t
bW9uLndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogZnJvbSB3ZWJraXRweS5jb21t
b24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlLCBTY3JpcHRFcnJvcgogZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZpbGVTeXN0ZW0gICMgRklY
TUU6IFRoaXMgc2hvdWxkIG5vdCBiZSBuZWVkZWQuCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0
ZW0uZmlsZXN5c3RlbV9tb2NrIGltcG9ydCBNb2NrRmlsZVN5c3RlbQogZnJvbSB3ZWJraXRweS5j
b21tb24uc3lzdGVtLmV4ZWN1dGl2ZV9tb2NrIGltcG9ydCBNb2NrRXhlY3V0aXZlCiBmcm9tIHdl
YmtpdHB5LmNvbW1vbi5zeXN0ZW0ub3V0cHV0Y2FwdHVyZSBpbXBvcnQgT3V0cHV0Q2FwdHVyZQor
ZnJvbSB3ZWJraXRweS5jb21tb24udW5pY29kZV9jb21wYXRpYmlsaXR5IGltcG9ydCBlbmNvZGVf
aWZfbmVjZXNzYXJ5CiBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkubW9jayBpbXBvcnQgTW9jawog
CiAKQEAgLTE5NSw3ICsxOTYsNyBAQCBTZWNvbmQgcGFydCBvZiB0aGlzIGNvbXBsaWNhdGVkIGNo
YW5nZSBiCiAqIFBhdGgvVG8vQ29tcGxpY2F0ZWQvRmlsZTogQWRkZWQuCiAiIiIKIAotICAgICAg
ICBzZWxmLmNoYW5nZWxvZ19wYXRocyA9IG1hcChzZWxmLmZpbGVzeXN0ZW0uYWJzcGF0aCwgKHNl
bGYuZmlsZXN5c3RlbS5qb2luKCJUb29scyIsICJDaGFuZ2VMb2ciKSwgc2VsZi5maWxlc3lzdGVt
LmpvaW4oIkxheW91dFRlc3RzIiwgIkNoYW5nZUxvZyIpKSkKKyAgICAgICAgc2VsZi5jaGFuZ2Vs
b2dfcGF0aHMgPSBsaXN0KG1hcChzZWxmLmZpbGVzeXN0ZW0uYWJzcGF0aCwgKHNlbGYuZmlsZXN5
c3RlbS5qb2luKCJUb29scyIsICJDaGFuZ2VMb2ciKSwgc2VsZi5maWxlc3lzdGVtLmpvaW4oIkxh
eW91dFRlc3RzIiwgIkNoYW5nZUxvZyIpKSkpCiAKICAgICAgICAgc2VsZi5tb2NrX2NoYW5nZWxv
ZygoX2NoYW5nZWxvZzEsIF9jaGFuZ2Vsb2cyKSkKICAgICAgICAgY2hlY2tvdXQgPSBzZWxmLm1v
Y2tfY2hlY2tvdXRfZm9yX3Rlc3QoKQpAQCAtMjE1LDcgKzIxNiw3IEBAIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgogV2ViS2l0LnhjY29uZmlnIGZpbGUuCiAiIiIKIAotICAgICAgICBzZWxmLmNo
YW5nZWxvZ19wYXRocyA9IG1hcChzZWxmLmZpbGVzeXN0ZW0uYWJzcGF0aCwgW3NlbGYuZmlsZXN5
c3RlbS5qb2luKCJTb3VyY2UvV2ViS2l0TGVnYWN5IiwgIkNoYW5nZUxvZyIpXSkKKyAgICAgICAg
c2VsZi5jaGFuZ2Vsb2dfcGF0aHMgPSBsaXN0KG1hcChzZWxmLmZpbGVzeXN0ZW0uYWJzcGF0aCwg
W3NlbGYuZmlsZXN5c3RlbS5qb2luKCJTb3VyY2UvV2ViS2l0TGVnYWN5IiwgIkNoYW5nZUxvZyIp
XSkpCiAKICAgICAgICAgc2VsZi5tb2NrX2NoYW5nZWxvZyhbX2NoYW5nZWxvZzNdKQogICAgICAg
ICBjaGVja291dCA9IHNlbGYubW9ja19jaGVja291dF9mb3JfdGVzdCgpCkBAIC0yNDEsNyArMjQy
LDcgQEAgTGF5b3V0VGVzdHM6CiAqIFBhdGgvVG8vQ29tcGxpY2F0ZWQvRmlsZTogQWRkZWQuCiAi
IiIKIAotICAgICAgICBzZWxmLmNoYW5nZWxvZ19wYXRocyA9IG1hcChzZWxmLmZpbGVzeXN0ZW0u
YWJzcGF0aCwgKHNlbGYuZmlsZXN5c3RlbS5qb2luKCJTb3VyY2UvV2ViS2l0TGVnYWN5IiwgIkNo
YW5nZUxvZyIpLCBzZWxmLmZpbGVzeXN0ZW0uam9pbigiTGF5b3V0VGVzdHMiLCAiQ2hhbmdlTG9n
IikpKQorICAgICAgICBzZWxmLmNoYW5nZWxvZ19wYXRocyA9IGxpc3QobWFwKHNlbGYuZmlsZXN5
c3RlbS5hYnNwYXRoLCAoc2VsZi5maWxlc3lzdGVtLmpvaW4oIlNvdXJjZS9XZWJLaXRMZWdhY3ki
LCAiQ2hhbmdlTG9nIiksIHNlbGYuZmlsZXN5c3RlbS5qb2luKCJMYXlvdXRUZXN0cyIsICJDaGFu
Z2VMb2ciKSkpKQogCiAgICAgICAgIHNlbGYubW9ja19jaGFuZ2Vsb2coKF9jaGFuZ2Vsb2czLCBf
Y2hhbmdlbG9nNCkpCiAgICAgICAgIGNoZWNrb3V0ID0gc2VsZi5tb2NrX2NoZWNrb3V0X2Zvcl90
ZXN0KCkKQEAgLTI2OSw3ICsyNzAsNyBAQCBGaWxsZXIgY2hhbmdlLgogKiBQYXRoL1RvL0NvbXBs
aWNhdGVkL0ZpbGU6IEFkZGVkLgogIiIiCiAKLSAgICAgICAgc2VsZi5jaGFuZ2Vsb2dfcGF0aHMg
PSBtYXAoc2VsZi5maWxlc3lzdGVtLmFic3BhdGgsIChzZWxmLmZpbGVzeXN0ZW0uam9pbigiU291
cmNlL1dlYktpdExlZ2FjeSIsICJDaGFuZ2VMb2ciKSwgc2VsZi5maWxlc3lzdGVtLmpvaW4oIkxh
eW91dFRlc3RzIiwgIkNoYW5nZUxvZyIpKSkKKyAgICAgICAgc2VsZi5jaGFuZ2Vsb2dfcGF0aHMg
PSBsaXN0KG1hcChzZWxmLmZpbGVzeXN0ZW0uYWJzcGF0aCwgKHNlbGYuZmlsZXN5c3RlbS5qb2lu
KCJTb3VyY2UvV2ViS2l0TGVnYWN5IiwgIkNoYW5nZUxvZyIpLCBzZWxmLmZpbGVzeXN0ZW0uam9p
bigiTGF5b3V0VGVzdHMiLCAiQ2hhbmdlTG9nIikpKSkKIAogICAgICAgICBzZWxmLm1vY2tfY2hh
bmdlbG9nKChfY2hhbmdlbG9nMywgX2NoYW5nZWxvZzUpKQogICAgICAgICBjaGVja291dCA9IHNl
bGYubW9ja19jaGVja291dF9mb3JfdGVzdCgpCkBAIC0yOTUsNyArMjk2LDcgQEAgaHR0cHM6Ly90
cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE3MDMzOQogUGF0Y2ggYnkgRGFuaWVsIEJhdGVzIDxk
YWJhdGVzQGFwcGxlLmNvbT4gb24gMjAxNC0wNi0yMwogIiIiCiAKLSAgICAgICAgc2VsZi5jaGFu
Z2Vsb2dfcGF0aHMgPSBtYXAoc2VsZi5maWxlc3lzdGVtLmFic3BhdGgsIFtzZWxmLmZpbGVzeXN0
ZW0uam9pbigiVG9vbHMiLCAiQ2hhbmdlTG9nIildKQorICAgICAgICBzZWxmLmNoYW5nZWxvZ19w
YXRocyA9IGxpc3QobWFwKHNlbGYuZmlsZXN5c3RlbS5hYnNwYXRoLCBbc2VsZi5maWxlc3lzdGVt
LmpvaW4oIlRvb2xzIiwgIkNoYW5nZUxvZyIpXSkpCiAKICAgICAgICAgc2VsZi5tb2NrX2NoYW5n
ZWxvZyhbX2NoYW5nZWxvZzZdKQogICAgICAgICBjaGVja291dCA9IHNlbGYubW9ja19jaGVja291
dF9mb3JfdGVzdCgpCkBAIC0zMjEsNyArMzIyLDcgQEAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0LzE3MDMzOQogUGF0Y2ggYnkgRGFuaWVsIEJhdGVzIDxkYWJhdGVzQGFwcGxlLmNv
bT4gb24gMjAxNC0wNi0yMwogIiIiCiAKLSAgICAgICAgc2VsZi5jaGFuZ2Vsb2dfcGF0aHMgPSBt
YXAoc2VsZi5maWxlc3lzdGVtLmFic3BhdGgsIChzZWxmLmZpbGVzeXN0ZW0uam9pbigiVG9vbHMi
LCAiQ2hhbmdlTG9nIiksIHNlbGYuZmlsZXN5c3RlbS5qb2luKCJTb3VyY2UvV2ViQ29yZSIsICJD
aGFuZ2VMb2ciKSkpCisgICAgICAgIHNlbGYuY2hhbmdlbG9nX3BhdGhzID0gbGlzdChtYXAoc2Vs
Zi5maWxlc3lzdGVtLmFic3BhdGgsIChzZWxmLmZpbGVzeXN0ZW0uam9pbigiVG9vbHMiLCAiQ2hh
bmdlTG9nIiksIHNlbGYuZmlsZXN5c3RlbS5qb2luKCJTb3VyY2UvV2ViQ29yZSIsICJDaGFuZ2VM
b2ciKSkpKQogCiAgICAgICAgIHNlbGYubW9ja19jaGFuZ2Vsb2coKF9jaGFuZ2Vsb2c2LCBfY2hh
bmdlbG9nNikpCiAgICAgICAgIGNoZWNrb3V0ID0gc2VsZi5tb2NrX2NoZWNrb3V0X2Zvcl90ZXN0
KCkKQEAgLTM0Miw4ICszNDMsOCBAQCBjbGFzcyBDaGVja291dFRlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAgICAgIyBjb250ZW50c19hdF9yZXZpc2lvbiBpcyBleHBlY3RlZCB0byBy
ZXR1cm4gYSBieXRlIGFycmF5IChzdHIpCiAgICAgICAgICAgICAjIHNvIHdlIGVuY29kZSBvdXIg
dW5pY29kZSBDaGFuZ2VMb2cgZG93biB0byBhIHV0Zi04IHN0cmVhbS4KICAgICAgICAgICAgICMg
VGhlIENoYW5nZUxvZyB1dGYtOCBkZWNvZGluZyBzaG91bGQgaWdub3JlIGludmFsaWQgY29kZXBv
aW50cy4KLSAgICAgICAgICAgIGludmFsaWRfdXRmOCA9ICJcMjU1IgotICAgICAgICAgICAgcmV0
dXJuIF9jaGFuZ2Vsb2cxLmVuY29kZSgidXRmLTgiKSArIGludmFsaWRfdXRmOAorICAgICAgICAg
ICAgaW52YWxpZF91dGY4ID0gYidcMjU1JworICAgICAgICAgICAgcmV0dXJuIGVuY29kZV9pZl9u
ZWNlc3NhcnkoX2NoYW5nZWxvZzEpICsgaW52YWxpZF91dGY4CiAgICAgICAgIGNoZWNrb3V0ID0g
c2VsZi5fbWFrZV9jaGVja291dCgpCiAgICAgICAgIGNoZWNrb3V0Ll9zY20uY29udGVudHNfYXRf
cmV2aXNpb24gPSBtb2NrX2NvbnRlbnRzX2F0X3JldmlzaW9uCiAgICAgICAgIGVudHJ5ID0gY2hl
Y2tvdXQuX2xhdGVzdF9lbnRyeV9mb3JfY2hhbmdlbG9nX2F0X3JldmlzaW9uKCJmb28iLCAiYmFy
IikKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2RpZmZfcGFy
c2VyX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L2RpZmZfcGFyc2VyX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyNTE1ODkpCisr
KyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9kaWZmX3BhcnNlcl91bml0
dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMjYsMTEgKzI2LDEyIEBACiAjIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogCi1pbXBvcnQgY1N0cmluZ0lPIGFzIFN0cmluZ0lPCi1pbXBvcnQg
ZGlmZl9wYXJzZXIKIGltcG9ydCByZQogaW1wb3J0IHVuaXR0ZXN0CiAKK2ltcG9ydCB3ZWJraXRw
eS5jb21tb24uY2hlY2tvdXQuZGlmZl9wYXJzZXIgYXMgZGlmZl9wYXJzZXIKKworZnJvbSB3ZWJr
aXRweS5jb21tb24udW5pY29kZV9jb21wYXRpYmlsaXR5IGltcG9ydCBTdHJpbmdJTwogZnJvbSB3
ZWJraXRweS5jb21tb24uY2hlY2tvdXQuZGlmZl90ZXN0X2RhdGEgaW1wb3J0IERJRkZfVEVTVF9E
QVRBCiAKIApAQCAtMTQ1LDcgKzE0Niw3IEBAIEluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jaGUKICBGCiAiIiIKIAotICAgICAgICBpbnB1dGZtdCA9IFN0cmluZ0lPLlN0cmlu
Z0lPKCIiIlwKKyAgICAgICAgaW5wdXRmbXQgPSBTdHJpbmdJTygiIiJcCiBkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGlmZl9wYXJzZXIucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9kaWZmX3BhcnNlci5weQogaW5k
ZXggMmVkNTUyYzQ1NTVkYjcyZGYxNmIyMTI1NDdmMmMxMjVhZTMwMWEwNC4uNzI4NzA0ODIwMDBj
MGRiYTY0Y2U0MzAwZWQ3ODJjMDNlZTc5Yjc0ZiAxMDA2NDQKIC0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2RpZmZfcGFyc2VyLnB5CkBAIC0xNTgsNyArMTU5LDcg
QEAgaW5kZXggMmVkNTUyYzQ1NTVkYjcyZGYxNmIyMTI1NDdmMmMxMjVhZQogIEUKICBGCiAiIiIp
Ci0gICAgICAgIHNob3J0Zm10ID0gU3RyaW5nSU8uU3RyaW5nSU8oIiIiXAorICAgICAgICBzaG9y
dGZtdCA9IFN0cmluZ0lPKCIiIlwKIGRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jaGVja291dC9kaWZmX3BhcnNlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NoZWNrb3V0L2RpZmZfcGFyc2VyLnB5CiBpbmRleCBiNDhiMTYyLi5mMzAwOTYwIDEw
MDY0NAogLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGlmZl9w
YXJzZXIucHkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21t
aXR0ZXJzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2Nv
bmZpZy9jb21taXR0ZXJzLnB5CShyZXZpc2lvbiAyNTE1ODkpCisrKyBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9jb25maWcvY29tbWl0dGVycy5weQkod29ya2luZyBjb3B5KQpAQCAtNzcs
NiArNzcsMTIgQEAgY2xhc3MgQ29udHJpYnV0b3Iob2JqZWN0KToKICAgICBkZWYgX191bmljb2Rl
X18oc2VsZik6CiAgICAgICAgIHJldHVybiB1JyJ7fSIgPHt9PicuZm9ybWF0KHVuaWNvZGUoc2Vs
Zi5mdWxsX25hbWUpLCB1bmljb2RlKHNlbGYuZW1haWxzWzBdKSkKIAorICAgIGRlZiBfX2hhc2hf
XyhzZWxmKToKKyAgICAgICAgcmVzdWx0ID0gaGFzaChzZWxmLmZ1bGxfbmFtZSkKKyAgICAgICAg
Zm9yIGVtYWlsIGluIHNlbGYuX2Nhc2VfcHJlc2VydmVkX2VtYWlsczoKKyAgICAgICAgICAgIHJl
c3VsdCBePSBoYXNoKGVtYWlsKQorICAgICAgICByZXR1cm4gcmVzdWx0CisKICAgICBkZWYgX19l
cV9fKHNlbGYsIG90aGVyKToKICAgICAgICAgcmV0dXJuIChvdGhlciBpcyBub3QgTm9uZQogICAg
ICAgICAgICAgYW5kIHNlbGYuZnVsbF9uYW1lID09IG90aGVyLmZ1bGxfbmFtZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381945</attachid>
            <date>2019-10-25 11:14:43 -0700</date>
            <delta_ts>2019-10-25 11:52:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201956-20191025111443.patch</filename>
            <type>text/plain</type>
            <size>13122</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MTU5NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI0IEBACisyMDE5LTEwLTI1ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBQeXRob24gMzogQWRkIHN1cHBvcnQgaW4gd2Via2l0cHkuY29tbW9uLmNo
ZWNrb3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDE5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFNjcmlwdHMvdGVzdC13ZWJraXRweS1weXRob24zOiBBZGQgd2Via2l0cHkuY29tbW9uLmNoZWNr
b3V0LgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoYW5nZWxv
Zy5weTogSW1wb3J0IFB5dGhvbiAzIGNvbXBhdGlibGUgdW5pY2RvZS4KKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGFuZ2Vsb2dfdW5pdHRlc3QucHk6IEltcG9y
dCBQeXRob24gMyBjb21wYXRpYmxlIFN0cmluZ0lPLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0LnB5OiBVc2UgUHl0aG9uIDMgY29tcGF0aWJsZSBy
ZWR1Y2UuCisgICAgICAgIChDaGVja291dC5fbW9kaWZpZWRfZmlsZXNfbWF0Y2hpbmdfcHJlZGlj
YXRlKTogQ29udmVydCBpdGVyYXRvcnMgaW50byBsaXN0cyBiZWZvcmUgcmV0dXJuaW5nLgorICAg
ICAgICAoQ2hlY2tvdXQuc3VnZ2VzdGVkX3Jldmlld2Vycyk6IERpdHRvLgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0X21vY2sucHk6IFVzZSBmdWxs
IGltcG9ydCBwYXRocy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291
dC9jaGVja291dF91bml0dGVzdC5weTogVXNlIGZ1bGwgaW1wb3J0IHBhdGhzLCBjb252ZXJ0Cisg
ICAgICAgIGl0ZXJhdG9ycyBpbnRvIGxpc3RzLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NoZWNrb3V0L2RpZmZfcGFyc2VyX3VuaXR0ZXN0LnB5OiBVc2UgZnVsbCBpbXBvcnQg
cGF0aHMsIHVzZSBQeXRob24gMworICAgICAgICBjb21wYXRpYmxlIFN0cmluZ0lPLgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5OgorICAgICAg
ICAoQ29udHJpYnV0b3IuX19oYXNoX18pOiBDb21taXR0ZXJzIG5lZWQgdG8gYmUgaGFzaGFibGUg
dG8gYmUgaW5zZXJ0ZWQgaW50byBhIHNldC4KKwogMjAxOS0xMC0yNSAgSm9uYXRoYW4gQmVkYXJk
ICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgcmVzdWx0cy53ZWJraXQub3JnOiBSZXBv
cnQgdGhlIGNvcnJlY3QgZmxhdm9yIGZvciBsZWFrcwpJbmRleDogVG9vbHMvU2NyaXB0cy90ZXN0
LXdlYmtpdHB5LXB5dGhvbjMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtp
dHB5LXB5dGhvbjMJKHJldmlzaW9uIDI1MTU5NikKKysrIFRvb2xzL1NjcmlwdHMvdGVzdC13ZWJr
aXRweS1weXRob24zCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIGZyb20gd2Via2l0
cHkuY29tbW9uLmNoZWNrb3V0LnNjbS5zY21fdW4KIAogCiBQWVRIT04zX0NPTVBBVElCTEVfRElS
RUNUT1JJRVMgPSBbCi0gICd3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuc2NtJywKKyAgJ3dlYmtp
dHB5LmNvbW1vbi5jaGVja291dCcsCiAgICd3ZWJraXRweS5jb21tb24uY29uZmlnJywKICAgJ3dl
YmtpdHB5LmNvbW1vbi5zeXN0ZW0nLAogICAnd2Via2l0cHkuY29tbW9uLnRocmVhZCcsCkluZGV4
OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGFuZ2Vsb2cucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hhbmdl
bG9nLnB5CShyZXZpc2lvbiAyNTE1OTYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9jaGVja291dC9jaGFuZ2Vsb2cucHkJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAg
aW1wb3J0IHRleHR3cmFwCiAKIGZyb20gd2Via2l0cHkuY29tbW9uLmNvbmZpZy5jb21taXR0ZXJz
IGltcG9ydCBDb21taXR0ZXJMaXN0CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZmlsZXN5
c3RlbSBpbXBvcnQgRmlsZVN5c3RlbQotZnJvbSB3ZWJraXRweS5jb21tb24udW5pY29kZV9jb21w
YXRpYmlsaXR5IGltcG9ydCBTdHJpbmdJTworZnJvbSB3ZWJraXRweS5jb21tb24udW5pY29kZV9j
b21wYXRpYmlsaXR5IGltcG9ydCBTdHJpbmdJTywgdW5pY29kZQogaW1wb3J0IHdlYmtpdHB5LmNv
bW1vbi5jb25maWcudXJscyBhcyBjb25maWdfdXJscwogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dn
ZXIoX19uYW1lX18pCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291
dC9jaGFuZ2Vsb2dfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vY2hlY2tvdXQvY2hhbmdlbG9nX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyNTE1
OTYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGFuZ2Vsb2df
dW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTI5LDkgKzI5LDggQEAKIAogaW1wb3J0IHVu
aXR0ZXN0CiAKLWZyb20gU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCi0KIGZyb20gd2Via2l0cHku
Y29tbW9uLnN5c3RlbS5maWxlc3lzdGVtX21vY2sgaW1wb3J0IE1vY2tGaWxlU3lzdGVtCitmcm9t
IHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBhdGliaWxpdHkgaW1wb3J0IFN0cmluZ0lPCiBm
cm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5jaGFuZ2Vsb2cgaW1wb3J0ICoKIAogCkluZGV4
OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dC5weQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291
dC5weQkocmV2aXNpb24gMjUxNTk2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvY2hlY2tvdXQucHkJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDExIEBACiAj
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgc3lzCisKK2lmIHN5cy52ZXJz
aW9uX2luZm8gPiAoMywgMCk6CisgICAgZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHJlZHVjZQorCiBm
cm9tIHdlYmtpdHB5LmNvbW1vbi5jb25maWcgaW1wb3J0IHVybHMKIGZyb20gd2Via2l0cHkuY29t
bW9uLmNoZWNrb3V0LmNoYW5nZWxvZyBpbXBvcnQgQ2hhbmdlTG9nLCBwYXJzZV9idWdfaWRfZnJv
bV9jaGFuZ2Vsb2cKIGZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LmNvbW1pdGluZm8gaW1w
b3J0IENvbW1pdEluZm8KQEAgLTExNyw3ICsxMjIsNyBAQCBjbGFzcyBDaGVja291dChvYmplY3Qp
OgogICAgICAgICAjIGV4cGVjdCBhYnNvbHV0ZSBwYXRocywgc28gdGhpcyBtZXRob2QgcmV0dXJu
cyBhYnNvbHV0ZSBwYXRocy4KICAgICAgICAgaWYgbm90IGNoYW5nZWRfZmlsZXM6CiAgICAgICAg
ICAgICBjaGFuZ2VkX2ZpbGVzID0gc2VsZi5fc2NtLmNoYW5nZWRfZmlsZXMoZ2l0X2NvbW1pdCkK
LSAgICAgICAgcmV0dXJuIGZpbHRlcihwcmVkaWNhdGUsIG1hcChzZWxmLl9zY20uYWJzb2x1dGVf
cGF0aCwgY2hhbmdlZF9maWxlcykpCisgICAgICAgIHJldHVybiBsaXN0KGZpbHRlcihwcmVkaWNh
dGUsIGxpc3QobWFwKHNlbGYuX3NjbS5hYnNvbHV0ZV9wYXRoLCBjaGFuZ2VkX2ZpbGVzKSkpKQog
CiAgICAgZGVmIG1vZGlmaWVkX2NoYW5nZWxvZ3Moc2VsZiwgZ2l0X2NvbW1pdCwgY2hhbmdlZF9m
aWxlcz1Ob25lKToKICAgICAgICAgcmV0dXJuIHNlbGYuX21vZGlmaWVkX2ZpbGVzX21hdGNoaW5n
X3ByZWRpY2F0ZShnaXRfY29tbWl0LCBzZWxmLmlzX3BhdGhfdG9fY2hhbmdlbG9nLCBjaGFuZ2Vk
X2ZpbGVzPWNoYW5nZWRfZmlsZXMpCkBAIC0xNDQsNyArMTQ5LDcgQEAgY2xhc3MgQ2hlY2tvdXQo
b2JqZWN0KToKICAgICAgICAgY29tbWl0X2luZm9zID0gc29ydGVkKHNlbGYucmVjZW50X2NvbW1p
dF9pbmZvc19mb3JfZmlsZXMoY2hhbmdlZF9maWxlcyksIGtleT1sYW1iZGEgaW5mbzogaW5mby5y
ZXZpc2lvbigpLCByZXZlcnNlPVRydWUpCiAgICAgICAgIHJldmlld2VycyA9IGZpbHRlcihsYW1i
ZGEgcGVyc29uOiBwZXJzb24gYW5kIHBlcnNvbi5jYW5fcmV2aWV3LCBzdW0obWFwKGxhbWJkYSBp
bmZvOiBbaW5mby5yZXZpZXdlcigpLCBpbmZvLmF1dGhvcigpXSwgY29tbWl0X2luZm9zKSwgW10p
KQogICAgICAgICB1bmlxdWVfcmV2aWV3ZXJzID0gcmVkdWNlKGxhbWJkYSBzdWdnZXN0aW9ucywg
cmV2aWV3ZXI6IHN1Z2dlc3Rpb25zICsgW3Jldmlld2VyIGlmIHJldmlld2VyIG5vdCBpbiBzdWdn
ZXN0aW9ucyBlbHNlIE5vbmVdLCByZXZpZXdlcnMsIFtdKQotICAgICAgICByZXR1cm4gZmlsdGVy
KGxhbWJkYSByZXZpZXdlcjogcmV2aWV3ZXIsIHVuaXF1ZV9yZXZpZXdlcnMpCisgICAgICAgIHJl
dHVybiBsaXN0KGZpbHRlcihsYW1iZGEgcmV2aWV3ZXI6IHJldmlld2VyLCB1bmlxdWVfcmV2aWV3
ZXJzKSkKIAogICAgIGRlZiBidWdfaWRfZm9yX3RoaXNfY29tbWl0KHNlbGYsIGdpdF9jb21taXQs
IGNoYW5nZWRfZmlsZXM9Tm9uZSk6CiAgICAgICAgIHRyeToKSW5kZXg6IFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0X21vY2sucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXRfbW9jay5weQko
cmV2aXNpb24gMjUxNTk2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tv
dXQvY2hlY2tvdXRfbW9jay5weQkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogIyAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAotZnJvbSAuY29tbWl0aW5mbyBpbXBvcnQgQ29t
bWl0SW5mbworZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuY29tbWl0aW5mbyBpbXBvcnQg
Q29tbWl0SW5mbwogCiAjIEZJWE1FOiBUaGVzZSBpbXBvcnRzIGFyZSB3cm9uZywgd2Ugc2hvdWxk
IHVzZSBhIHNoYXJlZCBNb2NrQ29tbWl0dGVyc0xpc3QuCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5j
b25maWcuY29tbWl0dGVycyBpbXBvcnQgQ29tbWl0dGVyTGlzdApJbmRleDogVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXRfdW5pdHRlc3QucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXRfdW5p
dHRlc3QucHkJKHJldmlzaW9uIDI1MTU5NikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L2NoZWNrb3V0X3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMiwx
NiArMzIsMTcgQEAgaW1wb3J0IHNodXRpbAogaW1wb3J0IHRlbXBmaWxlCiBpbXBvcnQgdW5pdHRl
c3QKIAotZnJvbSAuY2hlY2tvdXQgaW1wb3J0IENoZWNrb3V0Ci1mcm9tIC5jaGFuZ2Vsb2cgaW1w
b3J0IENoYW5nZUxvZ0VudHJ5Ci1mcm9tIC5zY20gaW1wb3J0IENvbW1pdE1lc3NhZ2UsIFNDTURl
dGVjdG9yCi1mcm9tIC5zY20uc2NtX21vY2sgaW1wb3J0IE1vY2tTQ00KK2Zyb20gd2Via2l0cHku
Y29tbW9uLmNoZWNrb3V0LmNoZWNrb3V0IGltcG9ydCBDaGVja291dAorZnJvbSB3ZWJraXRweS5j
b21tb24uY2hlY2tvdXQuY2hhbmdlbG9nIGltcG9ydCBDaGFuZ2VMb2dFbnRyeQorZnJvbSB3ZWJr
aXRweS5jb21tb24uY2hlY2tvdXQuc2NtIGltcG9ydCBDb21taXRNZXNzYWdlLCBTQ01EZXRlY3Rv
cgorZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuc2NtLnNjbV9tb2NrIGltcG9ydCBNb2Nr
U0NNCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi53ZWJraXRfZmluZGVyIGltcG9ydCBXZWJLaXRGaW5k
ZXIKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1dGl2
ZSwgU2NyaXB0RXJyb3IKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtIGlt
cG9ydCBGaWxlU3lzdGVtICAjIEZJWE1FOiBUaGlzIHNob3VsZCBub3QgYmUgbmVlZGVkLgogZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW1fbW9jayBpbXBvcnQgTW9ja0ZpbGVT
eXN0ZW0KIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmVfbW9jayBpbXBvcnQg
TW9ja0V4ZWN1dGl2ZQogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLm91dHB1dGNhcHR1cmUg
aW1wb3J0IE91dHB1dENhcHR1cmUKK2Zyb20gd2Via2l0cHkuY29tbW9uLnVuaWNvZGVfY29tcGF0
aWJpbGl0eSBpbXBvcnQgZW5jb2RlX2lmX25lY2Vzc2FyeQogZnJvbSB3ZWJraXRweS50aGlyZHBh
cnR5Lm1vY2sgaW1wb3J0IE1vY2sKIAogCkBAIC0xOTUsNyArMTk2LDcgQEAgU2Vjb25kIHBhcnQg
b2YgdGhpcyBjb21wbGljYXRlZCBjaGFuZ2UgYgogKiBQYXRoL1RvL0NvbXBsaWNhdGVkL0ZpbGU6
IEFkZGVkLgogIiIiCiAKLSAgICAgICAgc2VsZi5jaGFuZ2Vsb2dfcGF0aHMgPSBtYXAoc2VsZi5m
aWxlc3lzdGVtLmFic3BhdGgsIChzZWxmLmZpbGVzeXN0ZW0uam9pbigiVG9vbHMiLCAiQ2hhbmdl
TG9nIiksIHNlbGYuZmlsZXN5c3RlbS5qb2luKCJMYXlvdXRUZXN0cyIsICJDaGFuZ2VMb2ciKSkp
CisgICAgICAgIHNlbGYuY2hhbmdlbG9nX3BhdGhzID0gbGlzdChtYXAoc2VsZi5maWxlc3lzdGVt
LmFic3BhdGgsIChzZWxmLmZpbGVzeXN0ZW0uam9pbigiVG9vbHMiLCAiQ2hhbmdlTG9nIiksIHNl
bGYuZmlsZXN5c3RlbS5qb2luKCJMYXlvdXRUZXN0cyIsICJDaGFuZ2VMb2ciKSkpKQogCiAgICAg
ICAgIHNlbGYubW9ja19jaGFuZ2Vsb2coKF9jaGFuZ2Vsb2cxLCBfY2hhbmdlbG9nMikpCiAgICAg
ICAgIGNoZWNrb3V0ID0gc2VsZi5tb2NrX2NoZWNrb3V0X2Zvcl90ZXN0KCkKQEAgLTIxNSw3ICsy
MTYsNyBAQCBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KIFdlYktpdC54Y2NvbmZpZyBmaWxlLgog
IiIiCiAKLSAgICAgICAgc2VsZi5jaGFuZ2Vsb2dfcGF0aHMgPSBtYXAoc2VsZi5maWxlc3lzdGVt
LmFic3BhdGgsIFtzZWxmLmZpbGVzeXN0ZW0uam9pbigiU291cmNlL1dlYktpdExlZ2FjeSIsICJD
aGFuZ2VMb2ciKV0pCisgICAgICAgIHNlbGYuY2hhbmdlbG9nX3BhdGhzID0gbGlzdChtYXAoc2Vs
Zi5maWxlc3lzdGVtLmFic3BhdGgsIFtzZWxmLmZpbGVzeXN0ZW0uam9pbigiU291cmNlL1dlYktp
dExlZ2FjeSIsICJDaGFuZ2VMb2ciKV0pKQogCiAgICAgICAgIHNlbGYubW9ja19jaGFuZ2Vsb2co
W19jaGFuZ2Vsb2czXSkKICAgICAgICAgY2hlY2tvdXQgPSBzZWxmLm1vY2tfY2hlY2tvdXRfZm9y
X3Rlc3QoKQpAQCAtMjQxLDcgKzI0Miw3IEBAIExheW91dFRlc3RzOgogKiBQYXRoL1RvL0NvbXBs
aWNhdGVkL0ZpbGU6IEFkZGVkLgogIiIiCiAKLSAgICAgICAgc2VsZi5jaGFuZ2Vsb2dfcGF0aHMg
PSBtYXAoc2VsZi5maWxlc3lzdGVtLmFic3BhdGgsIChzZWxmLmZpbGVzeXN0ZW0uam9pbigiU291
cmNlL1dlYktpdExlZ2FjeSIsICJDaGFuZ2VMb2ciKSwgc2VsZi5maWxlc3lzdGVtLmpvaW4oIkxh
eW91dFRlc3RzIiwgIkNoYW5nZUxvZyIpKSkKKyAgICAgICAgc2VsZi5jaGFuZ2Vsb2dfcGF0aHMg
PSBsaXN0KG1hcChzZWxmLmZpbGVzeXN0ZW0uYWJzcGF0aCwgKHNlbGYuZmlsZXN5c3RlbS5qb2lu
KCJTb3VyY2UvV2ViS2l0TGVnYWN5IiwgIkNoYW5nZUxvZyIpLCBzZWxmLmZpbGVzeXN0ZW0uam9p
bigiTGF5b3V0VGVzdHMiLCAiQ2hhbmdlTG9nIikpKSkKIAogICAgICAgICBzZWxmLm1vY2tfY2hh
bmdlbG9nKChfY2hhbmdlbG9nMywgX2NoYW5nZWxvZzQpKQogICAgICAgICBjaGVja291dCA9IHNl
bGYubW9ja19jaGVja291dF9mb3JfdGVzdCgpCkBAIC0yNjksNyArMjcwLDcgQEAgRmlsbGVyIGNo
YW5nZS4KICogUGF0aC9Uby9Db21wbGljYXRlZC9GaWxlOiBBZGRlZC4KICIiIgogCi0gICAgICAg
IHNlbGYuY2hhbmdlbG9nX3BhdGhzID0gbWFwKHNlbGYuZmlsZXN5c3RlbS5hYnNwYXRoLCAoc2Vs
Zi5maWxlc3lzdGVtLmpvaW4oIlNvdXJjZS9XZWJLaXRMZWdhY3kiLCAiQ2hhbmdlTG9nIiksIHNl
bGYuZmlsZXN5c3RlbS5qb2luKCJMYXlvdXRUZXN0cyIsICJDaGFuZ2VMb2ciKSkpCisgICAgICAg
IHNlbGYuY2hhbmdlbG9nX3BhdGhzID0gbGlzdChtYXAoc2VsZi5maWxlc3lzdGVtLmFic3BhdGgs
IChzZWxmLmZpbGVzeXN0ZW0uam9pbigiU291cmNlL1dlYktpdExlZ2FjeSIsICJDaGFuZ2VMb2ci
KSwgc2VsZi5maWxlc3lzdGVtLmpvaW4oIkxheW91dFRlc3RzIiwgIkNoYW5nZUxvZyIpKSkpCiAK
ICAgICAgICAgc2VsZi5tb2NrX2NoYW5nZWxvZygoX2NoYW5nZWxvZzMsIF9jaGFuZ2Vsb2c1KSkK
ICAgICAgICAgY2hlY2tvdXQgPSBzZWxmLm1vY2tfY2hlY2tvdXRfZm9yX3Rlc3QoKQpAQCAtMjk1
LDcgKzI5Niw3IEBAIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNzAzMzkKIFBh
dGNoIGJ5IERhbmllbCBCYXRlcyA8ZGFiYXRlc0BhcHBsZS5jb20+IG9uIDIwMTQtMDYtMjMKICIi
IgogCi0gICAgICAgIHNlbGYuY2hhbmdlbG9nX3BhdGhzID0gbWFwKHNlbGYuZmlsZXN5c3RlbS5h
YnNwYXRoLCBbc2VsZi5maWxlc3lzdGVtLmpvaW4oIlRvb2xzIiwgIkNoYW5nZUxvZyIpXSkKKyAg
ICAgICAgc2VsZi5jaGFuZ2Vsb2dfcGF0aHMgPSBsaXN0KG1hcChzZWxmLmZpbGVzeXN0ZW0uYWJz
cGF0aCwgW3NlbGYuZmlsZXN5c3RlbS5qb2luKCJUb29scyIsICJDaGFuZ2VMb2ciKV0pKQogCiAg
ICAgICAgIHNlbGYubW9ja19jaGFuZ2Vsb2coW19jaGFuZ2Vsb2c2XSkKICAgICAgICAgY2hlY2tv
dXQgPSBzZWxmLm1vY2tfY2hlY2tvdXRfZm9yX3Rlc3QoKQpAQCAtMzIxLDcgKzMyMiw3IEBAIGh0
dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNzAzMzkKIFBhdGNoIGJ5IERhbmllbCBC
YXRlcyA8ZGFiYXRlc0BhcHBsZS5jb20+IG9uIDIwMTQtMDYtMjMKICIiIgogCi0gICAgICAgIHNl
bGYuY2hhbmdlbG9nX3BhdGhzID0gbWFwKHNlbGYuZmlsZXN5c3RlbS5hYnNwYXRoLCAoc2VsZi5m
aWxlc3lzdGVtLmpvaW4oIlRvb2xzIiwgIkNoYW5nZUxvZyIpLCBzZWxmLmZpbGVzeXN0ZW0uam9p
bigiU291cmNlL1dlYkNvcmUiLCAiQ2hhbmdlTG9nIikpKQorICAgICAgICBzZWxmLmNoYW5nZWxv
Z19wYXRocyA9IGxpc3QobWFwKHNlbGYuZmlsZXN5c3RlbS5hYnNwYXRoLCAoc2VsZi5maWxlc3lz
dGVtLmpvaW4oIlRvb2xzIiwgIkNoYW5nZUxvZyIpLCBzZWxmLmZpbGVzeXN0ZW0uam9pbigiU291
cmNlL1dlYkNvcmUiLCAiQ2hhbmdlTG9nIikpKSkKIAogICAgICAgICBzZWxmLm1vY2tfY2hhbmdl
bG9nKChfY2hhbmdlbG9nNiwgX2NoYW5nZWxvZzYpKQogICAgICAgICBjaGVja291dCA9IHNlbGYu
bW9ja19jaGVja291dF9mb3JfdGVzdCgpCkBAIC0zNDIsOCArMzQzLDggQEAgY2xhc3MgQ2hlY2tv
dXRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICMgY29udGVudHNfYXRfcmV2
aXNpb24gaXMgZXhwZWN0ZWQgdG8gcmV0dXJuIGEgYnl0ZSBhcnJheSAoc3RyKQogICAgICAgICAg
ICAgIyBzbyB3ZSBlbmNvZGUgb3VyIHVuaWNvZGUgQ2hhbmdlTG9nIGRvd24gdG8gYSB1dGYtOCBz
dHJlYW0uCiAgICAgICAgICAgICAjIFRoZSBDaGFuZ2VMb2cgdXRmLTggZGVjb2Rpbmcgc2hvdWxk
IGlnbm9yZSBpbnZhbGlkIGNvZGVwb2ludHMuCi0gICAgICAgICAgICBpbnZhbGlkX3V0ZjggPSAi
XDI1NSIKLSAgICAgICAgICAgIHJldHVybiBfY2hhbmdlbG9nMS5lbmNvZGUoInV0Zi04IikgKyBp
bnZhbGlkX3V0ZjgKKyAgICAgICAgICAgIGludmFsaWRfdXRmOCA9IGInXDI1NScKKyAgICAgICAg
ICAgIHJldHVybiBlbmNvZGVfaWZfbmVjZXNzYXJ5KF9jaGFuZ2Vsb2cxKSArIGludmFsaWRfdXRm
OAogICAgICAgICBjaGVja291dCA9IHNlbGYuX21ha2VfY2hlY2tvdXQoKQogICAgICAgICBjaGVj
a291dC5fc2NtLmNvbnRlbnRzX2F0X3JldmlzaW9uID0gbW9ja19jb250ZW50c19hdF9yZXZpc2lv
bgogICAgICAgICBlbnRyeSA9IGNoZWNrb3V0Ll9sYXRlc3RfZW50cnlfZm9yX2NoYW5nZWxvZ19h
dF9yZXZpc2lvbigiZm9vIiwgImJhciIpCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9jaGVja291dC9kaWZmX3BhcnNlcl91bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9kaWZmX3BhcnNlcl91bml0dGVzdC5w
eQkocmV2aXNpb24gMjUxNTk2KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hl
Y2tvdXQvZGlmZl9wYXJzZXJfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTI2LDExICsy
NiwxMiBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAotaW1wb3J0IGNTdHJpbmdJ
TyBhcyBTdHJpbmdJTwotaW1wb3J0IGRpZmZfcGFyc2VyCiBpbXBvcnQgcmUKIGltcG9ydCB1bml0
dGVzdAogCitpbXBvcnQgd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LmRpZmZfcGFyc2VyIGFzIGRp
ZmZfcGFyc2VyCisKK2Zyb20gd2Via2l0cHkuY29tbW9uLnVuaWNvZGVfY29tcGF0aWJpbGl0eSBp
bXBvcnQgU3RyaW5nSU8KIGZyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LmRpZmZfdGVzdF9k
YXRhIGltcG9ydCBESUZGX1RFU1RfREFUQQogCiAKQEAgLTE0NSw3ICsxNDYsNyBAQCBJbmRleDog
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlCiAgRgogIiIiCiAKLSAgICAgICAgaW5w
dXRmbXQgPSBTdHJpbmdJTy5TdHJpbmdJTygiIiJcCisgICAgICAgIGlucHV0Zm10ID0gU3RyaW5n
SU8oIiIiXAogZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNr
b3V0L2RpZmZfcGFyc2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tv
dXQvZGlmZl9wYXJzZXIucHkKIGluZGV4IDJlZDU1MmM0NTU1ZGI3MmRmMTZiMjEyNTQ3ZjJjMTI1
YWUzMDFhMDQuLjcyODcwNDgyMDAwYzBkYmE2NGNlNDMwMGVkNzgyYzAzZWU3OWI3NGYgMTAwNjQ0
CiAtLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9kaWZmX3BhcnNl
ci5weQpAQCAtMTU4LDcgKzE1OSw3IEBAIGluZGV4IDJlZDU1MmM0NTU1ZGI3MmRmMTZiMjEyNTQ3
ZjJjMTI1YWUKICBFCiAgRgogIiIiKQotICAgICAgICBzaG9ydGZtdCA9IFN0cmluZ0lPLlN0cmlu
Z0lPKCIiIlwKKyAgICAgICAgc2hvcnRmbXQgPSBTdHJpbmdJTygiIiJcCiBkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGlmZl9wYXJzZXIucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9kaWZmX3BhcnNlci5weQogaW5k
ZXggYjQ4YjE2Mi4uZjMwMDk2MCAxMDA2NDQKIC0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NoZWNrb3V0L2RpZmZfcGFyc2VyLnB5CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jb25maWcvY29tbWl0dGVycy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvY29tbWl0dGVycy5weQkocmV2aXNpb24gMjUxNTk2
KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL2NvbW1pdHRlcnMucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTc3LDYgKzc3LDEyIEBAIGNsYXNzIENvbnRyaWJ1dG9yKG9iamVj
dCk6CiAgICAgZGVmIF9fdW5pY29kZV9fKHNlbGYpOgogICAgICAgICByZXR1cm4gdScie30iIDx7
fT4nLmZvcm1hdCh1bmljb2RlKHNlbGYuZnVsbF9uYW1lKSwgdW5pY29kZShzZWxmLmVtYWlsc1sw
XSkpCiAKKyAgICBkZWYgX19oYXNoX18oc2VsZik6CisgICAgICAgIHJlc3VsdCA9IGhhc2goc2Vs
Zi5mdWxsX25hbWUpCisgICAgICAgIGZvciBlbWFpbCBpbiBzZWxmLl9jYXNlX3ByZXNlcnZlZF9l
bWFpbHM6CisgICAgICAgICAgICByZXN1bHQgXj0gaGFzaChlbWFpbCkKKyAgICAgICAgcmV0dXJu
IHJlc3VsdAorCiAgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CiAgICAgICAgIHJldHVybiAo
b3RoZXIgaXMgbm90IE5vbmUKICAgICAgICAgICAgIGFuZCBzZWxmLmZ1bGxfbmFtZSA9PSBvdGhl
ci5mdWxsX25hbWUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381951</attachid>
            <date>2019-10-25 11:52:54 -0700</date>
            <delta_ts>2019-10-25 17:00:43 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-201956-20191025115253.patch</filename>
            <type>text/plain</type>
            <size>13645</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MTU5NykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI0IEBACisyMDE5LTEwLTI1ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBQeXRob24gMzogQWRkIHN1cHBvcnQgaW4gd2Via2l0cHkuY29tbW9uLmNo
ZWNrb3V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDE5NTYKKworICAgICAgICBSZXZpZXdlZCBieSBEZXdlaSBaaHUuCisKKyAgICAgICAgKiBTY3Jp
cHRzL3Rlc3Qtd2Via2l0cHktcHl0aG9uMzogQWRkIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC4K
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGFuZ2Vsb2cucHk6
IEltcG9ydCBQeXRob24gMyBjb21wYXRpYmxlIHVuaWNkb2UuCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hhbmdlbG9nX3VuaXR0ZXN0LnB5OiBJbXBvcnQgUHl0
aG9uIDMgY29tcGF0aWJsZSBTdHJpbmdJTy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9jaGVja291dC9jaGVja291dC5weTogVXNlIFB5dGhvbiAzIGNvbXBhdGlibGUgcmVkdWNl
LgorICAgICAgICAoQ2hlY2tvdXQuX21vZGlmaWVkX2ZpbGVzX21hdGNoaW5nX3ByZWRpY2F0ZSk6
IENvbnZlcnQgaXRlcmF0b3JzIGludG8gbGlzdHMgYmVmb3JlIHJldHVybmluZy4KKyAgICAgICAg
KENoZWNrb3V0LnN1Z2dlc3RlZF9yZXZpZXdlcnMpOiBEaXR0by4KKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dF9tb2NrLnB5OiBVc2UgZnVsbCBpbXBv
cnQgcGF0aHMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hl
Y2tvdXRfdW5pdHRlc3QucHk6IFVzZSBmdWxsIGltcG9ydCBwYXRocywgY29udmVydAorICAgICAg
ICBpdGVyYXRvcnMgaW50byBsaXN0cy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9jaGVja291dC9kaWZmX3BhcnNlcl91bml0dGVzdC5weTogVXNlIGZ1bGwgaW1wb3J0IHBhdGhz
LCB1c2UgUHl0aG9uIDMKKyAgICAgICAgY29tcGF0aWJsZSBTdHJpbmdJTy4KKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvY29tbWl0dGVycy5weToKKyAgICAgICAgKENv
bnRyaWJ1dG9yLl9faGFzaF9fKTogQ29tbWl0dGVycyBuZWVkIHRvIGJlIGhhc2hhYmxlIHRvIGJl
IGluc2VydGVkIGludG8gYSBzZXQuCisKIDIwMTktMTAtMjUgIEpvbmF0aGFuIEJlZGFyZCAgPGpi
ZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIHJlc3VsdHMud2Via2l0Lm9yZzogUmVwb3J0IHRo
ZSBjb3JyZWN0IGZsYXZvciBmb3IgbGVha3MKSW5kZXg6IFRvb2xzL1NjcmlwdHMvdGVzdC13ZWJr
aXRweS1weXRob24zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweS1w
eXRob24zCShyZXZpc2lvbiAyNTE1OTcpCisrKyBUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkt
cHl0aG9uMwkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBAQCBmcm9tIHdlYmtpdHB5LmNv
bW1vbi5jaGVja291dC5zY20uc2NtX3VuCiAKIAogUFlUSE9OM19DT01QQVRJQkxFX0RJUkVDVE9S
SUVTID0gWwotICAnd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LnNjbScsCisgICd3ZWJraXRweS5j
b21tb24uY2hlY2tvdXQnLAogICAnd2Via2l0cHkuY29tbW9uLmNvbmZpZycsCiAgICd3ZWJraXRw
eS5jb21tb24uc3lzdGVtJywKICAgJ3dlYmtpdHB5LmNvbW1vbi50aHJlYWQnLApJbmRleDogVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hhbmdlbG9nLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoYW5nZWxvZy5w
eQkocmV2aXNpb24gMjUxNTk3KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hl
Y2tvdXQvY2hhbmdlbG9nLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIGltcG9y
dCB0ZXh0d3JhcAogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jb25maWcuY29tbWl0dGVycyBpbXBv
cnQgQ29tbWl0dGVyTGlzdAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW0g
aW1wb3J0IEZpbGVTeXN0ZW0KLWZyb20gd2Via2l0cHkuY29tbW9uLnVuaWNvZGVfY29tcGF0aWJp
bGl0eSBpbXBvcnQgU3RyaW5nSU8KK2Zyb20gd2Via2l0cHkuY29tbW9uLnVuaWNvZGVfY29tcGF0
aWJpbGl0eSBpbXBvcnQgU3RyaW5nSU8sIHVuaWNvZGUKIGltcG9ydCB3ZWJraXRweS5jb21tb24u
Y29uZmlnLnVybHMgYXMgY29uZmlnX3VybHMKIAogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9f
bmFtZV9fKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hh
bmdlbG9nX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NoZWNrb3V0L2NoYW5nZWxvZ191bml0dGVzdC5weQkocmV2aXNpb24gMjUxNTk3KQor
KysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hhbmdlbG9nX3VuaXR0
ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yOSw5ICsyOSw4IEBACiAKIGltcG9ydCB1bml0dGVz
dAogCi1mcm9tIFN0cmluZ0lPIGltcG9ydCBTdHJpbmdJTwotCiBmcm9tIHdlYmtpdHB5LmNvbW1v
bi5zeXN0ZW0uZmlsZXN5c3RlbV9tb2NrIGltcG9ydCBNb2NrRmlsZVN5c3RlbQorZnJvbSB3ZWJr
aXRweS5jb21tb24udW5pY29kZV9jb21wYXRpYmlsaXR5IGltcG9ydCBTdHJpbmdJTwogZnJvbSB3
ZWJraXRweS5jb21tb24uY2hlY2tvdXQuY2hhbmdlbG9nIGltcG9ydCAqCiAKIApJbmRleDogVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXQucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXQucHkJ
KHJldmlzaW9uIDI1MTU5NykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNr
b3V0L2NoZWNrb3V0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiwxMSBAQAogIyAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAoraW1wb3J0IHN5cworCitpZiBzeXMudmVyc2lvbl9p
bmZvID4gKDMsIDApOgorICAgIGZyb20gZnVuY3Rvb2xzIGltcG9ydCByZWR1Y2UKKwogZnJvbSB3
ZWJraXRweS5jb21tb24uY29uZmlnIGltcG9ydCB1cmxzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5j
aGVja291dC5jaGFuZ2Vsb2cgaW1wb3J0IENoYW5nZUxvZywgcGFyc2VfYnVnX2lkX2Zyb21fY2hh
bmdlbG9nCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5jb21taXRpbmZvIGltcG9ydCBD
b21taXRJbmZvCkBAIC0xMTcsNyArMTIyLDcgQEAgY2xhc3MgQ2hlY2tvdXQob2JqZWN0KToKICAg
ICAgICAgIyBleHBlY3QgYWJzb2x1dGUgcGF0aHMsIHNvIHRoaXMgbWV0aG9kIHJldHVybnMgYWJz
b2x1dGUgcGF0aHMuCiAgICAgICAgIGlmIG5vdCBjaGFuZ2VkX2ZpbGVzOgogICAgICAgICAgICAg
Y2hhbmdlZF9maWxlcyA9IHNlbGYuX3NjbS5jaGFuZ2VkX2ZpbGVzKGdpdF9jb21taXQpCi0gICAg
ICAgIHJldHVybiBmaWx0ZXIocHJlZGljYXRlLCBtYXAoc2VsZi5fc2NtLmFic29sdXRlX3BhdGgs
IGNoYW5nZWRfZmlsZXMpKQorICAgICAgICByZXR1cm4gbGlzdChmaWx0ZXIocHJlZGljYXRlLCBs
aXN0KG1hcChzZWxmLl9zY20uYWJzb2x1dGVfcGF0aCwgY2hhbmdlZF9maWxlcykpKSkKIAogICAg
IGRlZiBtb2RpZmllZF9jaGFuZ2Vsb2dzKHNlbGYsIGdpdF9jb21taXQsIGNoYW5nZWRfZmlsZXM9
Tm9uZSk6CiAgICAgICAgIHJldHVybiBzZWxmLl9tb2RpZmllZF9maWxlc19tYXRjaGluZ19wcmVk
aWNhdGUoZ2l0X2NvbW1pdCwgc2VsZi5pc19wYXRoX3RvX2NoYW5nZWxvZywgY2hhbmdlZF9maWxl
cz1jaGFuZ2VkX2ZpbGVzKQpAQCAtMTQ0LDcgKzE0OSw3IEBAIGNsYXNzIENoZWNrb3V0KG9iamVj
dCk6CiAgICAgICAgIGNvbW1pdF9pbmZvcyA9IHNvcnRlZChzZWxmLnJlY2VudF9jb21taXRfaW5m
b3NfZm9yX2ZpbGVzKGNoYW5nZWRfZmlsZXMpLCBrZXk9bGFtYmRhIGluZm86IGluZm8ucmV2aXNp
b24oKSwgcmV2ZXJzZT1UcnVlKQogICAgICAgICByZXZpZXdlcnMgPSBmaWx0ZXIobGFtYmRhIHBl
cnNvbjogcGVyc29uIGFuZCBwZXJzb24uY2FuX3Jldmlldywgc3VtKG1hcChsYW1iZGEgaW5mbzog
W2luZm8ucmV2aWV3ZXIoKSwgaW5mby5hdXRob3IoKV0sIGNvbW1pdF9pbmZvcyksIFtdKSkKICAg
ICAgICAgdW5pcXVlX3Jldmlld2VycyA9IHJlZHVjZShsYW1iZGEgc3VnZ2VzdGlvbnMsIHJldmll
d2VyOiBzdWdnZXN0aW9ucyArIFtyZXZpZXdlciBpZiByZXZpZXdlciBub3QgaW4gc3VnZ2VzdGlv
bnMgZWxzZSBOb25lXSwgcmV2aWV3ZXJzLCBbXSkKLSAgICAgICAgcmV0dXJuIGZpbHRlcihsYW1i
ZGEgcmV2aWV3ZXI6IHJldmlld2VyLCB1bmlxdWVfcmV2aWV3ZXJzKQorICAgICAgICByZXR1cm4g
bGlzdChmaWx0ZXIobGFtYmRhIHJldmlld2VyOiByZXZpZXdlciwgdW5pcXVlX3Jldmlld2Vycykp
CiAKICAgICBkZWYgYnVnX2lkX2Zvcl90aGlzX2NvbW1pdChzZWxmLCBnaXRfY29tbWl0LCBjaGFu
Z2VkX2ZpbGVzPU5vbmUpOgogICAgICAgICB0cnk6CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dF9tb2NrLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0X21vY2sucHkJKHJldmlz
aW9uIDI1MTU5NykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2No
ZWNrb3V0X21vY2sucHkJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICMgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWZyb20gLmNvbW1pdGluZm8gaW1wb3J0IENvbW1pdElu
Zm8KK2Zyb20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LmNvbW1pdGluZm8gaW1wb3J0IENvbW1p
dEluZm8KIAogIyBGSVhNRTogVGhlc2UgaW1wb3J0cyBhcmUgd3JvbmcsIHdlIHNob3VsZCB1c2Ug
YSBzaGFyZWQgTW9ja0NvbW1pdHRlcnNMaXN0LgogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmln
LmNvbW1pdHRlcnMgaW1wb3J0IENvbW1pdHRlckxpc3QKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0X3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2NoZWNrb3V0X3VuaXR0ZXN0
LnB5CShyZXZpc2lvbiAyNTE1OTcpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
aGVja291dC9jaGVja291dF91bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtMzIsMTYgKzMy
LDE3IEBAIGltcG9ydCBzaHV0aWwKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IHVuaXR0ZXN0CiAK
LWZyb20gLmNoZWNrb3V0IGltcG9ydCBDaGVja291dAotZnJvbSAuY2hhbmdlbG9nIGltcG9ydCBD
aGFuZ2VMb2dFbnRyeQotZnJvbSAuc2NtIGltcG9ydCBDb21taXRNZXNzYWdlLCBTQ01EZXRlY3Rv
cgotZnJvbSAuc2NtLnNjbV9tb2NrIGltcG9ydCBNb2NrU0NNCitmcm9tIHdlYmtpdHB5LmNvbW1v
bi5jaGVja291dC5jaGVja291dCBpbXBvcnQgQ2hlY2tvdXQKK2Zyb20gd2Via2l0cHkuY29tbW9u
LmNoZWNrb3V0LmNoYW5nZWxvZyBpbXBvcnQgQ2hhbmdlTG9nRW50cnkKK2Zyb20gd2Via2l0cHku
Y29tbW9uLmNoZWNrb3V0LnNjbSBpbXBvcnQgQ29tbWl0TWVzc2FnZSwgU0NNRGV0ZWN0b3IKK2Zy
b20gd2Via2l0cHkuY29tbW9uLmNoZWNrb3V0LnNjbS5zY21fbW9jayBpbXBvcnQgTW9ja1NDTQog
ZnJvbSB3ZWJraXRweS5jb21tb24ud2Via2l0X2ZpbmRlciBpbXBvcnQgV2ViS2l0RmluZGVyCiBm
cm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUsIFNj
cmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZmlsZXN5c3RlbSBpbXBvcnQg
RmlsZVN5c3RlbSAgIyBGSVhNRTogVGhpcyBzaG91bGQgbm90IGJlIG5lZWRlZC4KIGZyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtX21vY2sgaW1wb3J0IE1vY2tGaWxlU3lzdGVt
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlX21vY2sgaW1wb3J0IE1vY2tF
eGVjdXRpdmUKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5vdXRwdXRjYXB0dXJlIGltcG9y
dCBPdXRwdXRDYXB0dXJlCitmcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBhdGliaWxp
dHkgaW1wb3J0IGVuY29kZV9pZl9uZWNlc3NhcnkKIGZyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5t
b2NrIGltcG9ydCBNb2NrCiAKIApAQCAtMTk1LDcgKzE5Niw3IEBAIFNlY29uZCBwYXJ0IG9mIHRo
aXMgY29tcGxpY2F0ZWQgY2hhbmdlIGIKICogUGF0aC9Uby9Db21wbGljYXRlZC9GaWxlOiBBZGRl
ZC4KICIiIgogCi0gICAgICAgIHNlbGYuY2hhbmdlbG9nX3BhdGhzID0gbWFwKHNlbGYuZmlsZXN5
c3RlbS5hYnNwYXRoLCAoc2VsZi5maWxlc3lzdGVtLmpvaW4oIlRvb2xzIiwgIkNoYW5nZUxvZyIp
LCBzZWxmLmZpbGVzeXN0ZW0uam9pbigiTGF5b3V0VGVzdHMiLCAiQ2hhbmdlTG9nIikpKQorICAg
ICAgICBzZWxmLmNoYW5nZWxvZ19wYXRocyA9IGxpc3QobWFwKHNlbGYuZmlsZXN5c3RlbS5hYnNw
YXRoLCAoc2VsZi5maWxlc3lzdGVtLmpvaW4oIlRvb2xzIiwgIkNoYW5nZUxvZyIpLCBzZWxmLmZp
bGVzeXN0ZW0uam9pbigiTGF5b3V0VGVzdHMiLCAiQ2hhbmdlTG9nIikpKSkKIAogICAgICAgICBz
ZWxmLm1vY2tfY2hhbmdlbG9nKChfY2hhbmdlbG9nMSwgX2NoYW5nZWxvZzIpKQogICAgICAgICBj
aGVja291dCA9IHNlbGYubW9ja19jaGVja291dF9mb3JfdGVzdCgpCkBAIC0yMTUsNyArMjE2LDcg
QEAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCiBXZWJLaXQueGNjb25maWcgZmlsZS4KICIiIgog
Ci0gICAgICAgIHNlbGYuY2hhbmdlbG9nX3BhdGhzID0gbWFwKHNlbGYuZmlsZXN5c3RlbS5hYnNw
YXRoLCBbc2VsZi5maWxlc3lzdGVtLmpvaW4oIlNvdXJjZS9XZWJLaXRMZWdhY3kiLCAiQ2hhbmdl
TG9nIildKQorICAgICAgICBzZWxmLmNoYW5nZWxvZ19wYXRocyA9IGxpc3QobWFwKHNlbGYuZmls
ZXN5c3RlbS5hYnNwYXRoLCBbc2VsZi5maWxlc3lzdGVtLmpvaW4oIlNvdXJjZS9XZWJLaXRMZWdh
Y3kiLCAiQ2hhbmdlTG9nIildKSkKIAogICAgICAgICBzZWxmLm1vY2tfY2hhbmdlbG9nKFtfY2hh
bmdlbG9nM10pCiAgICAgICAgIGNoZWNrb3V0ID0gc2VsZi5tb2NrX2NoZWNrb3V0X2Zvcl90ZXN0
KCkKQEAgLTI0MSw3ICsyNDIsNyBAQCBMYXlvdXRUZXN0czoKICogUGF0aC9Uby9Db21wbGljYXRl
ZC9GaWxlOiBBZGRlZC4KICIiIgogCi0gICAgICAgIHNlbGYuY2hhbmdlbG9nX3BhdGhzID0gbWFw
KHNlbGYuZmlsZXN5c3RlbS5hYnNwYXRoLCAoc2VsZi5maWxlc3lzdGVtLmpvaW4oIlNvdXJjZS9X
ZWJLaXRMZWdhY3kiLCAiQ2hhbmdlTG9nIiksIHNlbGYuZmlsZXN5c3RlbS5qb2luKCJMYXlvdXRU
ZXN0cyIsICJDaGFuZ2VMb2ciKSkpCisgICAgICAgIHNlbGYuY2hhbmdlbG9nX3BhdGhzID0gbGlz
dChtYXAoc2VsZi5maWxlc3lzdGVtLmFic3BhdGgsIChzZWxmLmZpbGVzeXN0ZW0uam9pbigiU291
cmNlL1dlYktpdExlZ2FjeSIsICJDaGFuZ2VMb2ciKSwgc2VsZi5maWxlc3lzdGVtLmpvaW4oIkxh
eW91dFRlc3RzIiwgIkNoYW5nZUxvZyIpKSkpCiAKICAgICAgICAgc2VsZi5tb2NrX2NoYW5nZWxv
ZygoX2NoYW5nZWxvZzMsIF9jaGFuZ2Vsb2c0KSkKICAgICAgICAgY2hlY2tvdXQgPSBzZWxmLm1v
Y2tfY2hlY2tvdXRfZm9yX3Rlc3QoKQpAQCAtMjY5LDcgKzI3MCw3IEBAIEZpbGxlciBjaGFuZ2Uu
CiAqIFBhdGgvVG8vQ29tcGxpY2F0ZWQvRmlsZTogQWRkZWQuCiAiIiIKIAotICAgICAgICBzZWxm
LmNoYW5nZWxvZ19wYXRocyA9IG1hcChzZWxmLmZpbGVzeXN0ZW0uYWJzcGF0aCwgKHNlbGYuZmls
ZXN5c3RlbS5qb2luKCJTb3VyY2UvV2ViS2l0TGVnYWN5IiwgIkNoYW5nZUxvZyIpLCBzZWxmLmZp
bGVzeXN0ZW0uam9pbigiTGF5b3V0VGVzdHMiLCAiQ2hhbmdlTG9nIikpKQorICAgICAgICBzZWxm
LmNoYW5nZWxvZ19wYXRocyA9IGxpc3QobWFwKHNlbGYuZmlsZXN5c3RlbS5hYnNwYXRoLCAoc2Vs
Zi5maWxlc3lzdGVtLmpvaW4oIlNvdXJjZS9XZWJLaXRMZWdhY3kiLCAiQ2hhbmdlTG9nIiksIHNl
bGYuZmlsZXN5c3RlbS5qb2luKCJMYXlvdXRUZXN0cyIsICJDaGFuZ2VMb2ciKSkpKQogCiAgICAg
ICAgIHNlbGYubW9ja19jaGFuZ2Vsb2coKF9jaGFuZ2Vsb2czLCBfY2hhbmdlbG9nNSkpCiAgICAg
ICAgIGNoZWNrb3V0ID0gc2VsZi5tb2NrX2NoZWNrb3V0X2Zvcl90ZXN0KCkKQEAgLTI5NSw3ICsy
OTYsNyBAQCBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTcwMzM5CiBQYXRjaCBi
eSBEYW5pZWwgQmF0ZXMgPGRhYmF0ZXNAYXBwbGUuY29tPiBvbiAyMDE0LTA2LTIzCiAiIiIKIAot
ICAgICAgICBzZWxmLmNoYW5nZWxvZ19wYXRocyA9IG1hcChzZWxmLmZpbGVzeXN0ZW0uYWJzcGF0
aCwgW3NlbGYuZmlsZXN5c3RlbS5qb2luKCJUb29scyIsICJDaGFuZ2VMb2ciKV0pCisgICAgICAg
IHNlbGYuY2hhbmdlbG9nX3BhdGhzID0gbGlzdChtYXAoc2VsZi5maWxlc3lzdGVtLmFic3BhdGgs
IFtzZWxmLmZpbGVzeXN0ZW0uam9pbigiVG9vbHMiLCAiQ2hhbmdlTG9nIildKSkKIAogICAgICAg
ICBzZWxmLm1vY2tfY2hhbmdlbG9nKFtfY2hhbmdlbG9nNl0pCiAgICAgICAgIGNoZWNrb3V0ID0g
c2VsZi5tb2NrX2NoZWNrb3V0X2Zvcl90ZXN0KCkKQEAgLTMyMSw3ICszMjIsNyBAQCBodHRwczov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTcwMzM5CiBQYXRjaCBieSBEYW5pZWwgQmF0ZXMg
PGRhYmF0ZXNAYXBwbGUuY29tPiBvbiAyMDE0LTA2LTIzCiAiIiIKIAotICAgICAgICBzZWxmLmNo
YW5nZWxvZ19wYXRocyA9IG1hcChzZWxmLmZpbGVzeXN0ZW0uYWJzcGF0aCwgKHNlbGYuZmlsZXN5
c3RlbS5qb2luKCJUb29scyIsICJDaGFuZ2VMb2ciKSwgc2VsZi5maWxlc3lzdGVtLmpvaW4oIlNv
dXJjZS9XZWJDb3JlIiwgIkNoYW5nZUxvZyIpKSkKKyAgICAgICAgc2VsZi5jaGFuZ2Vsb2dfcGF0
aHMgPSBsaXN0KG1hcChzZWxmLmZpbGVzeXN0ZW0uYWJzcGF0aCwgKHNlbGYuZmlsZXN5c3RlbS5q
b2luKCJUb29scyIsICJDaGFuZ2VMb2ciKSwgc2VsZi5maWxlc3lzdGVtLmpvaW4oIlNvdXJjZS9X
ZWJDb3JlIiwgIkNoYW5nZUxvZyIpKSkpCiAKICAgICAgICAgc2VsZi5tb2NrX2NoYW5nZWxvZygo
X2NoYW5nZWxvZzYsIF9jaGFuZ2Vsb2c2KSkKICAgICAgICAgY2hlY2tvdXQgPSBzZWxmLm1vY2tf
Y2hlY2tvdXRfZm9yX3Rlc3QoKQpAQCAtMzQyLDggKzM0Myw4IEBAIGNsYXNzIENoZWNrb3V0VGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICAjIGNvbnRlbnRzX2F0X3JldmlzaW9u
IGlzIGV4cGVjdGVkIHRvIHJldHVybiBhIGJ5dGUgYXJyYXkgKHN0cikKICAgICAgICAgICAgICMg
c28gd2UgZW5jb2RlIG91ciB1bmljb2RlIENoYW5nZUxvZyBkb3duIHRvIGEgdXRmLTggc3RyZWFt
LgogICAgICAgICAgICAgIyBUaGUgQ2hhbmdlTG9nIHV0Zi04IGRlY29kaW5nIHNob3VsZCBpZ25v
cmUgaW52YWxpZCBjb2RlcG9pbnRzLgotICAgICAgICAgICAgaW52YWxpZF91dGY4ID0gIlwyNTUi
Ci0gICAgICAgICAgICByZXR1cm4gX2NoYW5nZWxvZzEuZW5jb2RlKCJ1dGYtOCIpICsgaW52YWxp
ZF91dGY4CisgICAgICAgICAgICBpbnZhbGlkX3V0ZjggPSBiJ1wyNTUnCisgICAgICAgICAgICBy
ZXR1cm4gZW5jb2RlX2lmX25lY2Vzc2FyeShfY2hhbmdlbG9nMSkgKyBpbnZhbGlkX3V0ZjgKICAg
ICAgICAgY2hlY2tvdXQgPSBzZWxmLl9tYWtlX2NoZWNrb3V0KCkKICAgICAgICAgY2hlY2tvdXQu
X3NjbS5jb250ZW50c19hdF9yZXZpc2lvbiA9IG1vY2tfY29udGVudHNfYXRfcmV2aXNpb24KICAg
ICAgICAgZW50cnkgPSBjaGVja291dC5fbGF0ZXN0X2VudHJ5X2Zvcl9jaGFuZ2Vsb2dfYXRfcmV2
aXNpb24oImZvbyIsICJiYXIiKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvZGlmZl9wYXJzZXJfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGlmZl9wYXJzZXJfdW5pdHRlc3QucHkJKHJl
dmlzaW9uIDI1MTU5NykKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0
L2RpZmZfcGFyc2VyX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yNiwxMSArMjYsMTIg
QEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWltcG9ydCBjU3RyaW5nSU8gYXMg
U3RyaW5nSU8KLWltcG9ydCBkaWZmX3BhcnNlcgogaW1wb3J0IHJlCiBpbXBvcnQgdW5pdHRlc3QK
IAoraW1wb3J0IHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5kaWZmX3BhcnNlciBhcyBkaWZmX3Bh
cnNlcgorCitmcm9tIHdlYmtpdHB5LmNvbW1vbi51bmljb2RlX2NvbXBhdGliaWxpdHkgaW1wb3J0
IFN0cmluZ0lPCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5kaWZmX3Rlc3RfZGF0YSBp
bXBvcnQgRElGRl9URVNUX0RBVEEKIAogCkBAIC0xNDUsNyArMTQ2LDcgQEAgSW5kZXg6IFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZQogIEYKICIiIgogCi0gICAgICAgIGlucHV0Zm10
ID0gU3RyaW5nSU8uU3RyaW5nSU8oIiIiXAorICAgICAgICBpbnB1dGZtdCA9IFN0cmluZ0lPKCIi
IlwKIGRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9k
aWZmX3BhcnNlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2Rp
ZmZfcGFyc2VyLnB5CiBpbmRleCAyZWQ1NTJjNDU1NWRiNzJkZjE2YjIxMjU0N2YyYzEyNWFlMzAx
YTA0Li43Mjg3MDQ4MjAwMGMwZGJhNjRjZTQzMDBlZDc4MmMwM2VlNzliNzRmIDEwMDY0NAogLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGlmZl9wYXJzZXIucHkK
QEAgLTE1OCw3ICsxNTksNyBAQCBpbmRleCAyZWQ1NTJjNDU1NWRiNzJkZjE2YjIxMjU0N2YyYzEy
NWFlCiAgRQogIEYKICIiIikKLSAgICAgICAgc2hvcnRmbXQgPSBTdHJpbmdJTy5TdHJpbmdJTygi
IiJcCisgICAgICAgIHNob3J0Zm10ID0gU3RyaW5nSU8oIiIiXAogZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2RpZmZfcGFyc2VyLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvZGlmZl9wYXJzZXIucHkKIGluZGV4IGI0
OGIxNjIuLmYzMDA5NjAgMTAwNjQ0CiAtLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9jaGVja291dC9kaWZmX3BhcnNlci5weQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vY29uZmlnL2NvbW1pdHRlcnMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vY29uZmlnL2NvbW1pdHRlcnMucHkJKHJldmlzaW9uIDI1MTU5NykKKysr
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBAIGltcG9ydCBmbm1hdGNoCiBpbXBvcnQganNvbgog
aW1wb3J0IHN5cwogCitmcm9tIGZ1bmN0b29scyBpbXBvcnQgcmVkdWNlCiBmcm9tIHdlYmtpdHB5
LmNvbW1vbi5lZGl0ZGlzdGFuY2UgaW1wb3J0IGVkaXRfZGlzdGFuY2UKIGZyb20gd2Via2l0cHku
Y29tbW9uLm1lbW9pemVkIGltcG9ydCBtZW1vaXplZAogZnJvbSB3ZWJraXRweS5jb21tb24uc3lz
dGVtLmZpbGVzeXN0ZW0gaW1wb3J0IEZpbGVTeXN0ZW0KQEAgLTc3LDYgKzc4LDE1IEBAIGNsYXNz
IENvbnRyaWJ1dG9yKG9iamVjdCk6CiAgICAgZGVmIF9fdW5pY29kZV9fKHNlbGYpOgogICAgICAg
ICByZXR1cm4gdScie30iIDx7fT4nLmZvcm1hdCh1bmljb2RlKHNlbGYuZnVsbF9uYW1lKSwgdW5p
Y29kZShzZWxmLmVtYWlsc1swXSkpCiAKKyAgICBkZWYgX19oYXNoX18oc2VsZik6CisgICAgICAg
IHJldHVybiBoYXNoKHNlbGYuZnVsbF9uYW1lKSBcCisgICAgICAgICAgICBeIHJlZHVjZShsYW1i
ZGEgYSwgYjogaGFzaChhKSBeIGhhc2goYiksIChzZWxmLmVtYWlscyBvciBbXSkgKyBbMF0pIFwK
KyAgICAgICAgICAgIF4gcmVkdWNlKGxhbWJkYSBhLCBiOiBoYXNoKGEpIF4gaGFzaChiKSwgKHNl
bGYuX2Nhc2VfcHJlc2VydmVkX2VtYWlscyBvciBbXSkgKyBbMF0pIFwKKyAgICAgICAgICAgIF4g
cmVkdWNlKGxhbWJkYSBhLCBiOiBoYXNoKGEpIF4gaGFzaChiKSwgKHNlbGYuaXJjX25pY2tuYW1l
cyBvciBbXSkgKyBbMF0pIFwKKyAgICAgICAgICAgIF4gaGFzaChzZWxmLmV4cGVydGlzZSkgXAor
ICAgICAgICAgICAgXiBoYXNoKHNlbGYuY2FuX2NvbW1pdCkgXAorICAgICAgICAgICAgXiBoYXNo
KHNlbGYuY2FuX3JldmlldykKKwogICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgogICAgICAg
ICByZXR1cm4gKG90aGVyIGlzIG5vdCBOb25lCiAgICAgICAgICAgICBhbmQgc2VsZi5mdWxsX25h
bWUgPT0gb3RoZXIuZnVsbF9uYW1lCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>