<?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>127689</bug_id>
          
          <creation_ts>2014-01-27 10:53:44 -0800</creation_ts>
          <short_desc>check-webkit-style should complain if copyright dates should be updated</short_desc>
          <delta_ts>2022-03-01 03:13:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc>http://www.webkit.org/coding/contributing.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Gergő Balogh">gbalogh.u-szeged</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>galpeter</cc>
    
    <cc>glenn</cc>
    
    <cc>llango.u-szeged</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>972469</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2014-01-27 10:53:44 -0800</bug_when>
    <thetext>For example, after some threshold of say, 10 lines changed, check-webkit-style could check if any copyright lines include the current year, and complain if not. This should be an optional flag, since not everyone cares about updating copyright.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999144</commentid>
    <comment_count>1</comment_count>
      <attachid>228954</attachid>
    <who name="Gergő Balogh">gbalogh.u-szeged</who>
    <bug_when>2014-04-09 03:53:10 -0700</bug_when>
    <thetext>Created attachment 228954
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999145</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-09 03:54:01 -0700</bug_when>
    <thetext>Attachment 228954 did not pass style-queue:


ERROR: Tools/Scripts/webkitpy/style/checker_options.py:30:  expected 2 blank lines, found 1  [pep8/E302] [5]
ERROR: Tools/Scripts/webkitpy/style/checker_options.py:49:  no newline at end of file  [pep8/W292] [5]
Total errors found: 2 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999146</commentid>
    <comment_count>3</comment_count>
      <attachid>228955</attachid>
    <who name="Gergő Balogh">gbalogh.u-szeged</who>
    <bug_when>2014-04-09 03:57:02 -0700</bug_when>
    <thetext>Created attachment 228955
patch, style fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999170</commentid>
    <comment_count>4</comment_count>
      <attachid>228955</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-09 07:36:43 -0700</bug_when>
    <thetext>Comment on attachment 228955
patch, style fixed

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

&gt; Tools/Scripts/webkitpy/style/optparser.py:344
&gt; +        check_copyright_help = (&quot;If there is at least specified count of line chaned then specified,&quot;
&gt; +                                &quot;will alert if is not any copyright note with the current year.&quot;
&gt; +                                &quot;(requires --diff_files option)&quot;)

I am not sure this should be in the style checker. There are many types of edits where claiming copyright is not appropriate. For example, if I rename something that appears in many source files I don’t want the style checker telling me I should update copyright dates in the many files where many lines were updating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999431</commentid>
    <comment_count>5</comment_count>
    <who name="Gergő Balogh">gbalogh.u-szeged</who>
    <bug_when>2014-04-09 22:44:26 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 228955 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=228955&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/style/optparser.py:344
&gt; &gt; +        check_copyright_help = (&quot;If there is at least specified count of line chaned then specified,&quot;
&gt; &gt; +                                &quot;will alert if is not any copyright note with the current year.&quot;
&gt; &gt; +                                &quot;(requires --diff_files option)&quot;)
&gt; 
&gt; I am not sure this should be in the style checker. There are many types of edits where claiming copyright is not appropriate. For example, if I rename something that appears in many source files I don’t want the style checker telling me I should update copyright dates in the many files where many lines were updating.

Of course it is true, but that&apos;s why it is implemented as an optional switch. For example I tend to forget these things. It not meant to be a golden hammer, just a tool that reminds you and need manual checking too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174550</commentid>
    <comment_count>6</comment_count>
      <attachid>228955</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-03-14 11:20:14 -0700</bug_when>
    <thetext>Comment on attachment 228955
patch, style fixed

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

This patch seems like a good idea, but is very out of date. r- to update to current sources.

&gt; Tools/ChangeLog:9
&gt; +        Introducing a new checker_options paramter to pass infomration to the checkers.

Introducing a new checker_options PARAMETER to pass INFORMATION to the checkers.

&gt; Tools/Scripts/webkitpy/style/checker.py:711
&gt; +          copyright_limit: An integer, if more lines changed then

copyright_limit: An integer, if more lines changed than this limit, then

&gt; Tools/Scripts/webkitpy/style/checker_options.py:2
&gt; +# Copyright (C) 2014 Samsung Electronics. All rights reserved.

Should be updated to this year. :-(

&gt; Tools/Scripts/webkitpy/style/checker_options.py:41
&gt; +                           copyright will be checked.

copyright_limit: An integer, if more lines changed than this limit, then</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228954</attachid>
            <date>2014-04-09 03:53:10 -0700</date>
            <delta_ts>2014-04-09 03:57:02 -0700</delta_ts>
            <desc>patch</desc>
            <filename>3289.diff</filename>
            <type>text/plain</type>
            <size>20255</size>
            <attacher name="Gergő Balogh">gbalogh.u-szeged</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzNGFi
MjhkLi44NzllODQyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTQtMDQtMDkgIEdlcmdvIEJhbG9naCAgPGdiYWxv
Z2gudS1zemVnZWRAcGFydG5lci5zYW1zdW5nLmNvbT4KKworICAgICAgICBjaGVjay13ZWJraXQt
c3R5bGUgc2hvdWxkIGNvbXBsYWluIGlmIGNvcHlyaWdodCBkYXRlcyBzaG91bGQgYmUgdXBkYXRl
ZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzY4
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5OgorICAgICAgICBJbnRyb2R1Y2luZyBhIG5l
dyBjaGVja2VyX29wdGlvbnMgcGFyYW10ZXIgdG8gcGFzcyBpbmZvbXJhdGlvbiB0byB0aGUgY2hl
Y2tlcnMuCisgICAgICAgIChjaGVja193ZWJraXRfc3R5bGVfY29uZmlndXJhdGlvbik6CisgICAg
ICAgIChDaGVja2VyRGlzcGF0Y2hlci5fY3JlYXRlX2NoZWNrZXIpOgorICAgICAgICAoQ2hlY2tl
ckRpc3BhdGNoZXIuZGlzcGF0Y2gpOgorICAgICAgICAoU3R5bGVQcm9jZXNzb3JDb25maWd1cmF0
aW9uLl9faW5pdF9fKToKKyAgICAgICAgKFN0eWxlUHJvY2Vzc29yLnByb2Nlc3MpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl9vcHRpb25zLnB5OiBBZGRlZC4KKyAg
ICAgICAgKENoZWNrZXJPcHRpb25zKToKKyAgICAgICAgKENoZWNrZXJPcHRpb25zLl9faW5pdF9f
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5pdHRlc3QucHk6
CisgICAgICAgIFVwZGF0aW5nIHRlc3RzLgorICAgICAgICAoQ2hlY2tlckRpc3BhdGNoZXJTa2lw
VGVzdC5fYXNzZXJ0X3Nob3VsZF9za2lwX3dpdGhvdXRfd2FybmluZyk6CisgICAgICAgIChDaGVj
a2VyRGlzcGF0Y2hlckRpc3BhdGNoVGVzdC5kaXNwYXRjaCk6CisgICAgICAgIChTdHlsZVByb2Nl
c3Nvcl9Db2RlQ292ZXJhZ2VUZXN0Lk1vY2tEaXNwYXRjaGVyLmRpc3BhdGNoKToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NvbW1vbi5weToKKyAgICAgICAgKENv
cHlyaWdodCk6CisgICAgICAgIChDb3B5cmlnaHQuX19pbml0X18pOgorICAgICAgICAoQ29weXJp
Z2h0Q2hlY2tlcik6CisgICAgICAgIChDb3B5cmlnaHRDaGVja2VyLl9faW5pdF9fKToKKyAgICAg
ICAgKENvcHlyaWdodENoZWNrZXIuY2hlY2spOgorICAgICAgICAoQ29weXJpZ2h0Q2hlY2tlci5f
Y2hlY2tfdXB0b2RhdGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tl
cnMvcHl0aG9uLnB5OgorICAgICAgICBVc2luZyB0aGUgbmV3IGNvcHlyaWdodCBjaGVja2VyIGFz
IGEgc3ViY2hlY2tlci4KKyAgICAgICAgKFB5dGhvbkNoZWNrZXIuX19pbml0X18pOgorICAgICAg
ICAoUHl0aG9uQ2hlY2tlci5jaGVjayk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9lcnJvcl9oYW5kbGVycy5weToKKyAgICAgICAgQWRkIHRoZSBwb3NzaWJpbGl0eSB0byBpZ25v
cmUgY2hhbmdlIGNoZWNrLgorICAgICAgICAoRGVmYXVsdFN0eWxlRXJyb3JIYW5kbGVyLl9fY2Fs
bF9fKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL21haW4ucHk6CisgICAgICAg
IChDaGVja1dlYktpdFN0eWxlLm1haW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5
bGUvb3B0cGFyc2VyLnB5OgorICAgICAgICAoQ29tbWFuZE9wdGlvblZhbHVlcy5fX2luaXRfXyk6
CisgICAgICAgIChDb21tYW5kT3B0aW9uVmFsdWVzLl9fZXFfXyk6CisgICAgICAgIChBcmd1bWVu
dFBhcnNlci5fY3JlYXRlX29wdGlvbl9wYXJzZXIpOgorICAgICAgICAoQXJndW1lbnRQYXJzZXIu
cGFyc2UpOgorCiAyMDE0LTA0LTA3ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+
CiAKICAgICAgICAgQnVpbGQgYm1hbGxvYyBvbiBNYWMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5
bGUvY2hlY2tlci5weQppbmRleCA1ZTU2OTg0Li5lMDcwZDE3IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2VyLnB5CkBAIC01OCw2ICs1OCw3IEBAIGZyb20gZmlsdGVyIGltcG9y
dCBGaWx0ZXJDb25maWd1cmF0aW9uCiBmcm9tIG9wdHBhcnNlciBpbXBvcnQgQXJndW1lbnRQYXJz
ZXIKIGZyb20gb3B0cGFyc2VyIGltcG9ydCBEZWZhdWx0Q29tbWFuZE9wdGlvblZhbHVlcwogZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmxvZ3V0aWxzIGltcG9ydCBjb25maWd1cmVfbG9nZ2lu
ZyBhcyBfY29uZmlndXJlX2xvZ2dpbmcKK2Zyb20gY2hlY2tlcl9vcHRpb25zIGltcG9ydCBDaGVj
a2VyT3B0aW9ucwogCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKQEAgLTM5
Nyw3ICszOTgsOCBAQCBkZWYgY2hlY2tfd2Via2l0X3N0eWxlX2NvbmZpZ3VyYXRpb24ob3B0aW9u
cyk6CiAgICAgICAgICAgICAgICBtYXhfcmVwb3J0c19wZXJfY2F0ZWdvcnk9X01BWF9SRVBPUlRT
X1BFUl9DQVRFR09SWSwKICAgICAgICAgICAgICAgIG1pbl9jb25maWRlbmNlPW9wdGlvbnMubWlu
X2NvbmZpZGVuY2UsCiAgICAgICAgICAgICAgICBvdXRwdXRfZm9ybWF0PW9wdGlvbnMub3V0cHV0
X2Zvcm1hdCwKLSAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZT1vcHRpb25zLmNvbW1pdF9xdWV1
ZSkKKyAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZT1vcHRpb25zLmNvbW1pdF9xdWV1ZSwKKyAg
ICAgICAgICAgICAgIGNvcHlyaWdodF9saW1pdD1vcHRpb25zLmNvcHlyaWdodF9saW1pdCkKIAog
CiBkZWYgX2NyZWF0ZV9sb2dfaGFuZGxlcnMoc3RyZWFtKToKQEAgLTU5NSw3ICs1OTcsNyBAQCBj
bGFzcyBDaGVja2VyRGlzcGF0Y2hlcihvYmplY3QpOgogICAgICAgICAgICAgcmV0dXJuIEZpbGVU
eXBlLk5PTkUKIAogICAgIGRlZiBfY3JlYXRlX2NoZWNrZXIoc2VsZiwgZmlsZV90eXBlLCBmaWxl
X3BhdGgsIGhhbmRsZV9zdHlsZV9lcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1pbl9j
b25maWRlbmNlLCBjb21taXRfcXVldWUpOgorICAgICAgICAgICAgICAgICAgICAgICAgbWluX2Nv
bmZpZGVuY2UsIGNvbW1pdF9xdWV1ZSwgY2hlY2tlcl9vcHRpb25zKToKICAgICAgICAgIiIiSW5z
dGFudGlhdGUgYW5kIHJldHVybiBhIHN0eWxlIGNoZWNrZXIgYmFzZWQgb24gZmlsZSB0eXBlLiIi
IgogICAgICAgICBpZiBmaWxlX3R5cGUgPT0gRmlsZVR5cGUuTk9ORToKICAgICAgICAgICAgIGNo
ZWNrZXIgPSBOb25lCkBAIC02MjEsNyArNjIzLDcgQEAgY2xhc3MgQ2hlY2tlckRpc3BhdGNoZXIo
b2JqZWN0KToKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgY2hlY2tlciA9IEpT
T05DaGVja2VyKGZpbGVfcGF0aCwgaGFuZGxlX3N0eWxlX2Vycm9yKQogICAgICAgICBlbGlmIGZp
bGVfdHlwZSA9PSBGaWxlVHlwZS5QWVRIT046Ci0gICAgICAgICAgICBjaGVja2VyID0gUHl0aG9u
Q2hlY2tlcihmaWxlX3BhdGgsIGhhbmRsZV9zdHlsZV9lcnJvcikKKyAgICAgICAgICAgIGNoZWNr
ZXIgPSBQeXRob25DaGVja2VyKGZpbGVfcGF0aCwgaGFuZGxlX3N0eWxlX2Vycm9yLCBjaGVja2Vy
X29wdGlvbnMpCiAgICAgICAgIGVsaWYgZmlsZV90eXBlID09IEZpbGVUeXBlLlhNTDoKICAgICAg
ICAgICAgIGNoZWNrZXIgPSBYTUxDaGVja2VyKGZpbGVfcGF0aCwgaGFuZGxlX3N0eWxlX2Vycm9y
KQogICAgICAgICBlbGlmIGZpbGVfdHlwZSA9PSBGaWxlVHlwZS5YQ09ERVBST0o6CkBAIC02NTIs
NyArNjU0LDcgQEAgY2xhc3MgQ2hlY2tlckRpc3BhdGNoZXIob2JqZWN0KToKIAogICAgICAgICBy
ZXR1cm4gY2hlY2tlcgogCi0gICAgZGVmIGRpc3BhdGNoKHNlbGYsIGZpbGVfcGF0aCwgaGFuZGxl
X3N0eWxlX2Vycm9yLCBtaW5fY29uZmlkZW5jZSwgY29tbWl0X3F1ZXVlKToKKyAgICBkZWYgZGlz
cGF0Y2goc2VsZiwgZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIG1pbl9jb25maWRlbmNl
LCBjb21taXRfcXVldWUsIGNoZWNrZXJfb3B0aW9ucyk6CiAgICAgICAgICIiIkluc3RhbnRpYXRl
IGFuZCByZXR1cm4gYSBzdHlsZSBjaGVja2VyIGJhc2VkIG9uIGZpbGUgcGF0aC4iIiIKICAgICAg
ICAgZmlsZV90eXBlID0gc2VsZi5fZmlsZV90eXBlKGZpbGVfcGF0aCkKIApAQCAtNjYwLDcgKzY2
Miw4IEBAIGNsYXNzIENoZWNrZXJEaXNwYXRjaGVyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoYW5kbGVfc3R5bGVfZXJyb3IsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtaW5fY29uZmlkZW5jZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZSkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNoZWNrZXJfb3B0aW9ucykKICAgICAgICAgcmV0dXJuIGNoZWNrZXIKIAog
CkBAIC02ODIsNyArNjg1LDggQEAgY2xhc3MgU3R5bGVQcm9jZXNzb3JDb25maWd1cmF0aW9uKG9i
amVjdCk6CiAgICAgICAgICAgICAgICAgIG1heF9yZXBvcnRzX3Blcl9jYXRlZ29yeSwKICAgICAg
ICAgICAgICAgICAgbWluX2NvbmZpZGVuY2UsCiAgICAgICAgICAgICAgICAgIG91dHB1dF9mb3Jt
YXQsCi0gICAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZSk6CisgICAgICAgICAgICAgICAgIGNv
bW1pdF9xdWV1ZSwKKyAgICAgICAgICAgICAgICAgY29weXJpZ2h0X2xpbWl0PU5vbmUpOgogICAg
ICAgICAiIiJDcmVhdGUgYSBTdHlsZVByb2Nlc3NvckNvbmZpZ3VyYXRpb24gaW5zdGFuY2UuCiAK
ICAgICAgICAgQXJnczoKQEAgLTcwNCw2ICs3MDgsOSBAQCBjbGFzcyBTdHlsZVByb2Nlc3NvckNv
bmZpZ3VyYXRpb24ob2JqZWN0KToKICAgICAgICAgICBjb21taXRfcXVldWU6IEEgYm9vbCBpbmRp
Y2F0aW5nIHdoZXRoZXIgdGhlIHN0eWxlIGNoZWNrIGlzIHBlcmZvcm1lZAogICAgICAgICAgICAg
ICAgICAgICAgICAgYnkgdGhlIGNvbW1pdCBxdWV1ZSBvciBub3QuCiAKKyAgICAgICAgICBjb3B5
cmlnaHRfbGltaXQ6IEFuIGludGVnZXIsIGlmIG1vcmUgbGluZXMgY2hhbmdlZCB0aGVuCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb3B5cmlnaHQgd2lsbCBiZSBjaGVja2VkLgorCiAgICAg
ICAgICIiIgogICAgICAgICBzZWxmLl9maWx0ZXJfY29uZmlndXJhdGlvbiA9IGZpbHRlcl9jb25m
aWd1cmF0aW9uCiAgICAgICAgIHNlbGYuX291dHB1dF9mb3JtYXQgPSBvdXRwdXRfZm9ybWF0CkBA
IC03MTIsNiArNzE5LDggQEAgY2xhc3MgU3R5bGVQcm9jZXNzb3JDb25maWd1cmF0aW9uKG9iamVj
dCk6CiAgICAgICAgIHNlbGYubWluX2NvbmZpZGVuY2UgPSBtaW5fY29uZmlkZW5jZQogICAgICAg
ICBzZWxmLmNvbW1pdF9xdWV1ZSA9IGNvbW1pdF9xdWV1ZQogCisgICAgICAgIHNlbGYuY29weXJp
Z2h0X2xpbWl0ID0gY29weXJpZ2h0X2xpbWl0CisKICAgICBkZWYgaXNfcmVwb3J0YWJsZShzZWxm
LCBjYXRlZ29yeSwgY29uZmlkZW5jZV9pbl9lcnJvciwgZmlsZV9wYXRoKToKICAgICAgICAgIiIi
UmV0dXJuIHdoZXRoZXIgYW4gZXJyb3IgaXMgcmVwb3J0YWJsZS4KIApAQCAtODc4LDEwICs4ODcs
MTMgQEAgY2xhc3MgU3R5bGVQcm9jZXNzb3IoUHJvY2Vzc29yQmFzZSk6CiAgICAgICAgICAgICBs
aW5lcyA9IGNhcnJpYWdlX2NoZWNrZXIuY2hlY2sobGluZXMpCiAKICAgICAgICAgbWluX2NvbmZp
ZGVuY2UgPSBzZWxmLl9jb25maWd1cmF0aW9uLm1pbl9jb25maWRlbmNlCisgICAgICAgIGNoZWNr
ZXJfb3B0aW9ucyA9IENoZWNrZXJPcHRpb25zKHNlbGYuX2NvbmZpZ3VyYXRpb24uY29weXJpZ2h0
X2xpbWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lX251
bWJlcnMpCiAgICAgICAgIGNoZWNrZXIgPSBzZWxmLl9kaXNwYXRjaGVyLmRpc3BhdGNoKGZpbGVf
cGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVf
ZXJyb3JfaGFuZGxlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbWluX2NvbmZpZGVuY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuX2NvbmZpZ3VyYXRpb24uY29tbWl0X3F1ZXVlKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9jb25maWd1cmF0aW9uLmNvbW1pdF9x
dWV1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tl
cl9vcHRpb25zKQogCiAgICAgICAgIGlmIGNoZWNrZXIgaXMgTm9uZToKICAgICAgICAgICAgIHJh
aXNlIEFzc2VydGlvbkVycm9yKCJGaWxlIHNob3VsZCBub3QgYmUgY2hlY2tlZDogJyVzJyIgJSBm
aWxlX3BhdGgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNr
ZXJfb3B0aW9ucy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl9vcHRp
b25zLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiN2I3MjYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfb3B0aW9u
cy5weQpAQCAtMCwwICsxLDQ5IEBACisjIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9m
IFN6ZWdlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDE0IFNhbXN1
bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisj
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
CitjbGFzcyBDaGVja2VyT3B0aW9ucyhvYmplY3QpOgorCisgICAgIiIiQSBvYmplY3QgdG8gcGFz
cyBpbmZvcm1hdGlvbiBmcm9tIHRoZSBQcm9jZXNzb3IgdG8gdGhlIGNoZWNrZXJzLiIiIgorCisg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvcHlyaWdodF9saW1pdD1Ob25lLAorICAgICAgICAgICAg
ICAgICBsaW5lX251bWJlcnM9Tm9uZSk6CisgICAgICAgICIiIkNyZWF0ZSBhbiBpbnN0YW5jZS4K
KworICAgICAgICBBcmdzOgorICAgICAgICAgIGNvcHlyaWdodF9saW1pdDogQW4gaW50ZWdlciwg
aWYgbW9yZSBsaW5lcyBjaGFuZ2VkIHRoZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
cHlyaWdodCB3aWxsIGJlIGNoZWNrZWQuCisgICAgICAgICAgbGluZV9udW1iZXJzOiBBIGxpc3Qg
b2YgbGluZSBudW1iZXJzIG9mIHRoZSBsaW5lcyBmb3Igd2hpY2gKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHN0eWxlIGVycm9ycyBzaG91bGQgYmUgcmVwb3J0ZWQsIG9yIE5vbmUgaWYgZXJyb3Jz
CisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYWxsIGxpbmVzIHNob3VsZCBiZSByZXBvcnRl
ZC4gIFdoZW4gbm90IE5vbmUsIHRoaXMKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qgbm9y
bWFsbHkgY29udGFpbnMgdGhlIGxpbmUgbnVtYmVycyBjb3JyZXNwb25kaW5nCisgICAgICAgICAg
ICAgICAgICAgICAgICB0byB0aGUgbW9kaWZpZWQgbGluZXMgb2YgYSBwYXRjaC4KKworICAgICAg
ICAiIiIKKyAgICAgICAgc2VsZi5jb3B5cmlnaHRfbGltaXQgPSBjb3B5cmlnaHRfbGltaXQKKyAg
ICAgICAgc2VsZi5saW5lX251bWJlcnMgPSBsaW5lX251bWJlcnMKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNr
ZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5p
dHRlc3QucHkKaW5kZXggYjk1NGU2Yi4uODdlOTdhOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weQpAQCAtNDcsNiArNDcsNyBAQCBmcm9t
IGNoZWNrZXIgaW1wb3J0IGNoZWNrX3dlYmtpdF9zdHlsZV9jb25maWd1cmF0aW9uCiBmcm9tIGNo
ZWNrZXIgaW1wb3J0IGNoZWNrX3dlYmtpdF9zdHlsZV9wYXJzZXIKIGZyb20gY2hlY2tlciBpbXBv
cnQgY29uZmlndXJlX2xvZ2dpbmcKIGZyb20gY2hlY2tlciBpbXBvcnQgQ2hlY2tlckRpc3BhdGNo
ZXIKK2Zyb20gY2hlY2tlciBpbXBvcnQgQ2hlY2tlck9wdGlvbnMKIGZyb20gY2hlY2tlciBpbXBv
cnQgUHJvY2Vzc29yQmFzZQogZnJvbSBjaGVja2VyIGltcG9ydCBTdHlsZVByb2Nlc3NvcgogZnJv
bSBjaGVja2VyIGltcG9ydCBTdHlsZVByb2Nlc3NvckNvbmZpZ3VyYXRpb24KQEAgLTMxMCw3ICsz
MTEsOCBAQCBjbGFzcyBDaGVja2VyRGlzcGF0Y2hlclNraXBUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgY2hlY2tlciA9IHNlbGYuX2Rpc3BhdGNoZXIuZGlzcGF0Y2goZmlsZV9wYXRo
PXBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRs
ZV9zdHlsZV9lcnJvcj1Ob25lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtaW5fY29uZmlkZW5jZT0zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb21taXRfcXVldWU9RmFsc2UpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZT1GYWxzZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlcl9vcHRpb25zPUNoZWNrZXJPcHRp
b25zKCkpCiAgICAgICAgIG1lc3NhZ2UgPSAnd2hpbGUgY2hlY2tpbmc6ICVzJyAlIHBhdGgKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChjaGVja2VyIGlzIE5vbmUsIGlzX2NoZWNrZXJfbm9uZSwg
bWVzc2FnZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9kaXNwYXRjaGVyLnNob3Vs
ZF9za2lwX3dpdGhvdXRfd2FybmluZyhwYXRoKSwKQEAgLTM2OSw3ICszNzEsOCBAQCBjbGFzcyBD
aGVja2VyRGlzcGF0Y2hlckRpc3BhdGNoVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
IGNoZWNrZXIgPSBkaXNwYXRjaGVyLmRpc3BhdGNoKGZpbGVfcGF0aCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tb2NrX2hhbmRsZV9zdHlsZV9lcnJvciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluX2NvbmZpZGVuY2U9MywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWl0X3F1ZXVlPUZhbHNlKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21taXRfcXVldWU9RmFsc2Us
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZXJfb3B0aW9ucz1D
aGVja2VyT3B0aW9ucygpKQogICAgICAgICByZXR1cm4gY2hlY2tlcgogCiAgICAgZGVmIGFzc2Vy
dF9jaGVja2VyX25vbmUoc2VsZiwgZmlsZV9wYXRoKToKQEAgLTcyNCw3ICs3MjcsNyBAQCBjbGFz
cyBTdHlsZVByb2Nlc3Nvcl9Db2RlQ292ZXJhZ2VUZXN0KExvZ2dpbmdUZXN0Q2FzZSk6CiAgICAg
ICAgIGRlZiBzaG91bGRfY2hlY2tfYW5kX3N0cmlwX2NhcnJpYWdlX3JldHVybnMoc2VsZiwgZmls
ZV9wYXRoKToKICAgICAgICAgICAgIHJldHVybiBub3QgZmlsZV9wYXRoLmVuZHN3aXRoKCdjYXJy
aWFnZV9yZXR1cm5zX2FsbG93ZWQudHh0JykKIAotICAgICAgICBkZWYgZGlzcGF0Y2goc2VsZiwg
ZmlsZV9wYXRoLCBzdHlsZV9lcnJvcl9oYW5kbGVyLCBtaW5fY29uZmlkZW5jZSwgY29tbWl0X3F1
ZXVlKToKKyAgICAgICAgZGVmIGRpc3BhdGNoKHNlbGYsIGZpbGVfcGF0aCwgc3R5bGVfZXJyb3Jf
aGFuZGxlciwgbWluX2NvbmZpZGVuY2UsIGNvbW1pdF9xdWV1ZSwgY2hlY2tlcl9vcHRpb25zKToK
ICAgICAgICAgICAgIGlmIGZpbGVfcGF0aC5lbmRzd2l0aCgnZG9fbm90X3Byb2Nlc3MudHh0Jyk6
CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jb21tb24ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3N0eWxlL2NoZWNrZXJzL2NvbW1vbi5weQppbmRleCAxMjQ0NDhkLi41OTZmODA2IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NvbW1vbi5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NvbW1vbi5weQpAQCAt
MjQsNiArMjQsNyBAQAogCiBpbXBvcnQgcmUKIGltcG9ydCBzcmVfY29tcGlsZQorZnJvbSBkYXRl
dGltZSBpbXBvcnQgZGF0ZQogCiAjIEZJWE1FOiBUZXN0IHRoaXMgbGlzdCBpbiB0aGUgc2FtZSB3
YXkgdGhhdCB0aGUgbGlzdCBvZiBDcHBDaGVja2VyCiAjICAgICAgICBjYXRlZ29yaWVzIGlzIHRl
c3RlZCwgZm9yIGV4YW1wbGUgYnkgY2hlY2tpbmcgdGhhdCBhbGwgb2YgaXRzCkBAIC0xMTEsMyAr
MTEyLDQ5IEBAIGNsYXNzIFRhYkNoZWNrZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICBzZWxm
LmhhbmRsZV9zdHlsZV9lcnJvcihsaW5lX251bWJlciArIDEsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIndoaXRlc3BhY2UvdGFiIiwgNSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiTGluZSBjb250YWlucyB0YWIgY2hhcmFjdGVyLiIp
CisKKworY2xhc3MgQ29weXJpZ2h0KG9iamVjdCk6CisKKyAgICAiIiJTdG9yZXMgaW5mbyBmcm9t
IGEgY29weXJpZ2h0IGVudHJ5LiIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHllYXIsIGNv
bW1lbnQsIGxpbmVfbnVtYmVyKToKKyAgICAgICAgc2VsZi55ZWFyID0geWVhcgorICAgICAgICBz
ZWxmLmNvbW1lbnQgPSBjb21tZW50CisgICAgICAgIHNlbGYubGluZV9udW1iZXIgPSBsaW5lX251
bWJlcgorCisKK2NsYXNzIENvcHlyaWdodENoZWNrZXIob2JqZWN0KToKKworICAgICIiIlN1cHBv
cnQgY2hlY2tpbmcgZm9yIGNvcHlyaWdodHMuIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
Y29tbWVudCwgZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIGNoZWNrZXJfb3B0aW9ucyk6
CisgICAgICAgIHNlbGYuZmlsZV9wYXRoID0gZmlsZV9wYXRoCisgICAgICAgIHNlbGYuaGFuZGxl
X3N0eWxlX2Vycm9yID0gaGFuZGxlX3N0eWxlX2Vycm9yCisgICAgICAgIHNlbGYuY29tbWVudCA9
IGNvbW1lbnQKKyAgICAgICAgc2VsZi5fb3B0aW9ucyA9IGNoZWNrZXJfb3B0aW9ucworCisgICAg
ZGVmIGNoZWNrKHNlbGYsIGxpbmVzKToKKyAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5jb3B5cmln
aHRfbGltaXQ6CisgICAgICAgICAgICBjb3B5cmlnaHRzID0gW10KKyAgICAgICAgICAgIGZvciBs
aW5lX251bWJlciwgbGluZSBpbiBlbnVtZXJhdGUobGluZXMpOgorICAgICAgICAgICAgICAgIG1h
dGNoX2NvcHlyaWdodCA9IHJlLnNlYXJjaChyJ0NvcHlyaWdodFxzXChDXCkoP1A8eWVhcj5cc1sw
LTldezR9KVxzKD9QPGNvbW1lbnQ+W1x3XFddKiknLCBsaW5lKQorICAgICAgICAgICAgICAgIGlm
IG1hdGNoX2NvcHlyaWdodDoKKyAgICAgICAgICAgICAgICAgICAgY29weXJpZ2h0ID0gQ29weXJp
Z2h0KGludChtYXRjaF9jb3B5cmlnaHQuZ3JvdXAoJ3llYXInKSksIG1hdGNoX2NvcHlyaWdodC5n
cm91cCgnY29tbWVudCcpLCBsaW5lX251bWJlcikKKyAgICAgICAgICAgICAgICAgICAgY29weXJp
Z2h0cy5hcHBlbmQoY29weXJpZ2h0KQorICAgICAgICAgICAgICAgIGlmIG5vdCByZS5zZWFyY2go
c2VsZi5jb21tZW50LCBsaW5lKToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAg
ICAgIHNlbGYuX2NoZWNrX3VwdG9kYXRlKGNvcHlyaWdodHMpCisKKyAgICBkZWYgX2NoZWNrX3Vw
dG9kYXRlKHNlbGYsIGNvcHlyaWdodHMpOgorICAgICAgICBpZiBzZWxmLl9vcHRpb25zLmxpbmVf
bnVtYmVyczoKKyAgICAgICAgICAgIGxhc3RfY29weXJpZ2h0ID0gbWF4KGNvcHlyaWdodHMsIGtl
eT1sYW1iZGEgYzogYy55ZWFyKQorICAgICAgICAgICAgY291bnRfb2ZfY2hhbmdlZF9saW5lcyA9
IGxlbihzZWxmLl9vcHRpb25zLmxpbmVfbnVtYmVycykKKyAgICAgICAgICAgIGN1cnJlbnRfeWVh
ciA9IGRhdGUudG9kYXkoKS55ZWFyCisgICAgICAgICAgICBjaGFuZ2VkX2Vub3VnaCA9IGNvdW50
X29mX2NoYW5nZWRfbGluZXMgPiBzZWxmLl9vcHRpb25zLmNvcHlyaWdodF9saW1pdAorICAgICAg
ICAgICAgb2Jzb2xldGUgPSBsYXN0X2NvcHlyaWdodC55ZWFyIDwgY3VycmVudF95ZWFyCisgICAg
ICAgICAgICBpZiBjaGFuZ2VkX2Vub3VnaCBhbmQgb2Jzb2xldGU6CisgICAgICAgICAgICAgICAg
c2VsZi5oYW5kbGVfc3R5bGVfZXJyb3IobGFzdF9jb3B5cmlnaHQubGluZV9udW1iZXIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvcHlyaWdodC9vYnNvbGV0ZSIs
IDUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvcHlyaWdodCBp
cyBvYnNvbGV0ZS4gTGFzdCBpcyAlZCAlcyIgJSAobGFzdF9jb3B5cmlnaHQueWVhciwgbGFzdF9j
b3B5cmlnaHQuY29tbWVudCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2tpcF9jaGFuZ2VfZGV0ZWN0aW9uPVRydWUpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3B5dGhvbi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvc3R5bGUvY2hlY2tlcnMvcHl0aG9uLnB5CmluZGV4IDIwNjZkOWQuLmNhZDM0ZGYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvcHl0aG9uLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvcHl0aG9uLnB5CkBAIC0z
MCwxNSArMzAsMjAgQEAgZnJvbSB3ZWJraXRweS5jb21tb24ud2Via2l0X2ZpbmRlciBpbXBvcnQg
V2ViS2l0RmluZGVyCiBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkuYXV0b2luc3RhbGxlZCBpbXBv
cnQgcGVwOAogZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5LmF1dG9pbnN0YWxsZWQucHlsaW50IGlt
cG9ydCBsaW50CiBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkuYXV0b2luc3RhbGxlZC5weWxpbnQu
cmVwb3J0ZXJzLnRleHQgaW1wb3J0IFBhcnNlYWJsZVRleHRSZXBvcnRlcgorZnJvbSBjb21tb24g
aW1wb3J0IENvcHlyaWdodENoZWNrZXIKK2Zyb20gd2Via2l0cHkuc3R5bGUuY2hlY2tlcl9vcHRp
b25zIGltcG9ydCBDaGVja2VyT3B0aW9ucwogCiAKIGNsYXNzIFB5dGhvbkNoZWNrZXIob2JqZWN0
KToKICAgICAiIiJQcm9jZXNzZXMgdGV4dCBsaW5lcyBmb3IgY2hlY2tpbmcgc3R5bGUuIiIiCi0g
ICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVfcGF0aCwgaGFuZGxlX3N0eWxlX2Vycm9yKToKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIGNoZWNr
ZXJfb3B0aW9ucz1DaGVja2VyT3B0aW9ucygpKToKICAgICAgICAgc2VsZi5fZmlsZV9wYXRoID0g
ZmlsZV9wYXRoCiAgICAgICAgIHNlbGYuX2hhbmRsZV9zdHlsZV9lcnJvciA9IGhhbmRsZV9zdHls
ZV9lcnJvcgorICAgICAgICBzZWxmLl9jb3B5cmlnaHRfY2hlY2tlciA9IENvcHlyaWdodENoZWNr
ZXIoJ14jJywgZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIGNoZWNrZXJfb3B0aW9ucykK
KyAgICAgICAgc2VsZi5fb3B0aW9ucyA9IGNoZWNrZXJfb3B0aW9ucwogCiAgICAgZGVmIGNoZWNr
KHNlbGYsIGxpbmVzKToKKyAgICAgICAgc2VsZi5fY29weXJpZ2h0X2NoZWNrZXIuY2hlY2sobGlu
ZXMpCiAgICAgICAgIHNlbGYuX2NoZWNrX3BlcDgobGluZXMpCiAgICAgICAgIHNlbGYuX2NoZWNr
X3B5bGludChsaW5lcykKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9lcnJvcl9oYW5kbGVycy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZXJyb3Jf
aGFuZGxlcnMucHkKaW5kZXggYzVlNzYzMi4uNzhhMTY0OSAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9zdHlsZS9lcnJvcl9oYW5kbGVycy5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL2Vycm9yX2hhbmRsZXJzLnB5CkBAIC0xMzUsMTQgKzEzNSwxNSBAQCBj
bGFzcyBEZWZhdWx0U3R5bGVFcnJvckhhbmRsZXIob2JqZWN0KToKICAgICBkZWYgdHVybl9vZmZf
bGluZV9maWx0ZXJpbmcoc2VsZik6CiAgICAgICAgIHNlbGYuX2xpbmVfbnVtYmVycyA9IE5vbmUK
IAotICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBsaW5lX251bWJlciwgY2F0ZWdvcnksIGNvbmZpZGVu
Y2UsIG1lc3NhZ2UpOgorICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBsaW5lX251bWJlciwgY2F0ZWdv
cnksIGNvbmZpZGVuY2UsIG1lc3NhZ2UsICoqa3dhcmdzKToKICAgICAgICAgIiIiSGFuZGxlIHRo
ZSBvY2N1cnJlbmNlIG9mIGEgc3R5bGUgZXJyb3IuCiAKICAgICAgICAgU2VlIHRoZSBkb2NzdHJp
bmcgb2YgdGhpcyBtb2R1bGUgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAKICAgICAgICAgIiIiCi0g
ICAgICAgIGlmIG5vdCBzZWxmLnNob3VsZF9saW5lX2JlX2NoZWNrZWQobGluZV9udW1iZXIpOgot
ICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIGlmIG5vdCAoJ3NraXBfY2hhbmdlX2Rl
dGVjdGlvbicgaW4ga3dhcmdzIGFuZCBrd2FyZ3NbJ3NraXBfY2hhbmdlX2RldGVjdGlvbiddKToK
KyAgICAgICAgICAgIGlmIG5vdCBzZWxmLnNob3VsZF9saW5lX2JlX2NoZWNrZWQobGluZV9udW1i
ZXIpOgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgICAgIGlmIG5vdCBzZWxm
Ll9jb25maWd1cmF0aW9uLmlzX3JlcG9ydGFibGUoY2F0ZWdvcnk9Y2F0ZWdvcnksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlkZW5jZV9pbl9l
cnJvcj1jb25maWRlbmNlLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9tYWluLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9tYWluLnB5CmluZGV4IDU3
NDM2OGEuLjI3MWFiZDcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUv
bWFpbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL21haW4ucHkKQEAgLTE0
NSw2ICsxNDUsOSBAQCBjbGFzcyBDaGVja1dlYktpdFN0eWxlKG9iamVjdCk6CiAgICAgICAgIHN0
eWxlX3Byb2Nlc3NvciA9IFN0eWxlUHJvY2Vzc29yKGNvbmZpZ3VyYXRpb24pCiAgICAgICAgIGZp
bGVfcmVhZGVyID0gVGV4dEZpbGVSZWFkZXIoaG9zdC5maWxlc3lzdGVtLCBzdHlsZV9wcm9jZXNz
b3IpCiAKKyAgICAgICAgaWYgbm90IG9wdGlvbnMuZGlmZl9maWxlcyBhbmQgb3B0aW9ucy5jb3B5
cmlnaHRfbGltaXQ6CisgICAgICAgICAgICBfbG9nLmluZm8oIlRoZSBvcHRpb24gLS1jaGVjay1j
b3B5cmlnaHQgaGFzIG5vIGVmZmVjdCB3aXRob3V0IC0tZGlmZi1maWxlcy4iKQorCiAgICAgICAg
IGlmIHBhdGhzIGFuZCBub3Qgb3B0aW9ucy5kaWZmX2ZpbGVzOgogICAgICAgICAgICAgZmlsZV9y
ZWFkZXIucHJvY2Vzc19wYXRocyhwYXRocykKICAgICAgICAgZWxzZToKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvb3B0cGFyc2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIucHkKaW5kZXggMjQ4ZmY4Zi4uZTg0YzIyOCAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIucHkKQEAgLTE0OSw3ICsxNDksOCBA
QCBjbGFzcyBDb21tYW5kT3B0aW9uVmFsdWVzKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgIGlz
X3ZlcmJvc2U9RmFsc2UsCiAgICAgICAgICAgICAgICAgIG1pbl9jb25maWRlbmNlPTEsCiAgICAg
ICAgICAgICAgICAgIG91dHB1dF9mb3JtYXQ9ImVtYWNzIiwKLSAgICAgICAgICAgICAgICAgY29t
bWl0X3F1ZXVlPUZhbHNlKToKKyAgICAgICAgICAgICAgICAgY29tbWl0X3F1ZXVlPUZhbHNlLAor
ICAgICAgICAgICAgICAgICBjb3B5cmlnaHRfbGltaXQ9Tm9uZSk6CiAgICAgICAgIGlmIGZpbHRl
cl9ydWxlcyBpcyBOb25lOgogICAgICAgICAgICAgZmlsdGVyX3J1bGVzID0gW10KIApAQCAtMTcw
LDYgKzE3MSw3IEBAIGNsYXNzIENvbW1hbmRPcHRpb25WYWx1ZXMob2JqZWN0KToKICAgICAgICAg
c2VsZi5taW5fY29uZmlkZW5jZSA9IG1pbl9jb25maWRlbmNlCiAgICAgICAgIHNlbGYub3V0cHV0
X2Zvcm1hdCA9IG91dHB1dF9mb3JtYXQKICAgICAgICAgc2VsZi5jb21taXRfcXVldWUgPSBjb21t
aXRfcXVldWUKKyAgICAgICAgc2VsZi5jb3B5cmlnaHRfbGltaXQgPSBjb3B5cmlnaHRfbGltaXQK
IAogICAgICMgVXNlZnVsIGZvciB1bml0IHRlc3RpbmcuCiAgICAgZGVmIF9fZXFfXyhzZWxmLCBv
dGhlcik6CkBAIC0xODYsNiArMTg4LDggQEAgY2xhc3MgQ29tbWFuZE9wdGlvblZhbHVlcyhvYmpl
Y3QpOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIGlmIHNlbGYub3V0cHV0X2Zv
cm1hdCAhPSBvdGhlci5vdXRwdXRfZm9ybWF0OgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisg
ICAgICAgIGlmIHNlbGYuY29weXJpZ2h0X2xpbWl0ICE9IG90aGVyLmNvcHlyaWdodF9saW1pdDoK
KyAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgICAgIHJldHVybiBUcnVlCiAKQEAgLTMz
NSw2ICszMzksMTIgQEAgY2xhc3MgQXJndW1lbnRQYXJzZXIob2JqZWN0KToKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGVzdD0ib3V0cHV0X2Zvcm1hdCIsIGRlZmF1bHQ9ZGVmYXVsdF9vdXRw
dXRfZm9ybWF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPW91dHB1dF9mb3JtYXRf
aGVscCkKIAorICAgICAgICBjaGVja19jb3B5cmlnaHRfaGVscCA9ICgiSWYgdGhlcmUgaXMgYXQg
bGVhc3Qgc3BlY2lmaWVkIGNvdW50IG9mIGxpbmUgY2hhbmVkIHRoZW4gc3BlY2lmaWVkLCIKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndpbGwgYWxlcnQgaWYgaXMgbm90IGFueSBj
b3B5cmlnaHQgbm90ZSB3aXRoIHRoZSBjdXJyZW50IHllYXIuIgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiKHJlcXVpcmVzIC0tZGlmZl9maWxlcyBvcHRpb24pIikKKyAgICAgICAg
cGFyc2VyLmFkZF9vcHRpb24oIi0tY2hlY2stY29weXJpZ2h0IiwgdHlwZT1pbnQsIGRlc3Q9ImNv
cHlyaWdodF9saW1pdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGF2YXI9Ik5VTUJF
UiBPRiBDSEFOR0VEIExJTkVTIiwgaGVscD1jaGVja19jb3B5cmlnaHRfaGVscCkKKwogICAgICAg
ICB2ZXJib3NlX2hlbHAgPSAiZW5hYmxlIHZlcmJvc2UgbG9nZ2luZy4iCiAgICAgICAgIHBhcnNl
ci5hZGRfb3B0aW9uKCItdiIsICItLXZlcmJvc2UiLCBkZXN0PSJpc192ZXJib3NlIiwgZGVmYXVs
dD1GYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwg
aGVscD12ZXJib3NlX2hlbHApCkBAIC00MjgsNiArNDM4LDcgQEAgY2xhc3MgQXJndW1lbnRQYXJz
ZXIob2JqZWN0KToKICAgICAgICAgbWluX2NvbmZpZGVuY2UgPSBvcHRpb25zLm1pbl9jb25maWRl
bmNlCiAgICAgICAgIG91dHB1dF9mb3JtYXQgPSBvcHRpb25zLm91dHB1dF9mb3JtYXQKICAgICAg
ICAgY29tbWl0X3F1ZXVlID0gb3B0aW9ucy5jb21taXRfcXVldWUKKyAgICAgICAgY29weXJpZ2h0
X2xpbWl0ID0gb3B0aW9ucy5jb3B5cmlnaHRfbGltaXQKIAogICAgICAgICBpZiBmaWx0ZXJfdmFs
dWUgaXMgbm90IE5vbmUgYW5kIG5vdCBmaWx0ZXJfdmFsdWU6CiAgICAgICAgICAgICAjIFRoZW4g
dGhlIHVzZXIgZXhwbGljaXRseSBwYXNzZWQgbm8gZmlsdGVyLCBmb3IKQEAgLTQ1OCw3ICs0Njks
OCBAQCBjbGFzcyBBcmd1bWVudFBhcnNlcihvYmplY3QpOgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpc192ZXJib3NlPWlzX3ZlcmJvc2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1pbl9jb25maWRlbmNlPW1pbl9jb25maWRlbmNlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfZm9ybWF0PW91dHB1dF9m
b3JtYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1
ZT1jb21taXRfcXVldWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bW1pdF9xdWV1ZT1jb21taXRfcXVldWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvcHlyaWdodF9saW1pdD1jb3B5cmlnaHRfbGltaXQpCiAKICAgICAgICAgcmV0dXJu
IChwYXRocywgb3B0aW9ucykKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228955</attachid>
            <date>2014-04-09 03:57:02 -0700</date>
            <delta_ts>2022-03-01 03:13:52 -0800</delta_ts>
            <desc>patch, style fixed</desc>
            <filename>3289.diff</filename>
            <type>text/plain</type>
            <size>20229</size>
            <attacher name="Gergő Balogh">gbalogh.u-szeged</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzNGFi
MjhkLi44NzllODQyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDcgQEAKKzIwMTQtMDQtMDkgIEdlcmdvIEJhbG9naCAgPGdiYWxv
Z2gudS1zemVnZWRAcGFydG5lci5zYW1zdW5nLmNvbT4KKworICAgICAgICBjaGVjay13ZWJraXQt
c3R5bGUgc2hvdWxkIGNvbXBsYWluIGlmIGNvcHlyaWdodCBkYXRlcyBzaG91bGQgYmUgdXBkYXRl
ZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzY4
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyLnB5OgorICAgICAgICBJbnRyb2R1Y2luZyBhIG5l
dyBjaGVja2VyX29wdGlvbnMgcGFyYW10ZXIgdG8gcGFzcyBpbmZvbXJhdGlvbiB0byB0aGUgY2hl
Y2tlcnMuCisgICAgICAgIChjaGVja193ZWJraXRfc3R5bGVfY29uZmlndXJhdGlvbik6CisgICAg
ICAgIChDaGVja2VyRGlzcGF0Y2hlci5fY3JlYXRlX2NoZWNrZXIpOgorICAgICAgICAoQ2hlY2tl
ckRpc3BhdGNoZXIuZGlzcGF0Y2gpOgorICAgICAgICAoU3R5bGVQcm9jZXNzb3JDb25maWd1cmF0
aW9uLl9faW5pdF9fKToKKyAgICAgICAgKFN0eWxlUHJvY2Vzc29yLnByb2Nlc3MpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl9vcHRpb25zLnB5OiBBZGRlZC4KKyAg
ICAgICAgKENoZWNrZXJPcHRpb25zKToKKyAgICAgICAgKENoZWNrZXJPcHRpb25zLl9faW5pdF9f
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5pdHRlc3QucHk6
CisgICAgICAgIFVwZGF0aW5nIHRlc3RzLgorICAgICAgICAoQ2hlY2tlckRpc3BhdGNoZXJTa2lw
VGVzdC5fYXNzZXJ0X3Nob3VsZF9za2lwX3dpdGhvdXRfd2FybmluZyk6CisgICAgICAgIChDaGVj
a2VyRGlzcGF0Y2hlckRpc3BhdGNoVGVzdC5kaXNwYXRjaCk6CisgICAgICAgIChTdHlsZVByb2Nl
c3Nvcl9Db2RlQ292ZXJhZ2VUZXN0Lk1vY2tEaXNwYXRjaGVyLmRpc3BhdGNoKToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NvbW1vbi5weToKKyAgICAgICAgKENv
cHlyaWdodCk6CisgICAgICAgIChDb3B5cmlnaHQuX19pbml0X18pOgorICAgICAgICAoQ29weXJp
Z2h0Q2hlY2tlcik6CisgICAgICAgIChDb3B5cmlnaHRDaGVja2VyLl9faW5pdF9fKToKKyAgICAg
ICAgKENvcHlyaWdodENoZWNrZXIuY2hlY2spOgorICAgICAgICAoQ29weXJpZ2h0Q2hlY2tlci5f
Y2hlY2tfdXB0b2RhdGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tl
cnMvcHl0aG9uLnB5OgorICAgICAgICBVc2luZyB0aGUgbmV3IGNvcHlyaWdodCBjaGVja2VyIGFz
IGEgc3ViY2hlY2tlci4KKyAgICAgICAgKFB5dGhvbkNoZWNrZXIuX19pbml0X18pOgorICAgICAg
ICAoUHl0aG9uQ2hlY2tlci5jaGVjayk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9lcnJvcl9oYW5kbGVycy5weToKKyAgICAgICAgQWRkIHRoZSBwb3NzaWJpbGl0eSB0byBpZ25v
cmUgY2hhbmdlIGNoZWNrLgorICAgICAgICAoRGVmYXVsdFN0eWxlRXJyb3JIYW5kbGVyLl9fY2Fs
bF9fKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL21haW4ucHk6CisgICAgICAg
IChDaGVja1dlYktpdFN0eWxlLm1haW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5
bGUvb3B0cGFyc2VyLnB5OgorICAgICAgICAoQ29tbWFuZE9wdGlvblZhbHVlcy5fX2luaXRfXyk6
CisgICAgICAgIChDb21tYW5kT3B0aW9uVmFsdWVzLl9fZXFfXyk6CisgICAgICAgIChBcmd1bWVu
dFBhcnNlci5fY3JlYXRlX29wdGlvbl9wYXJzZXIpOgorICAgICAgICAoQXJndW1lbnRQYXJzZXIu
cGFyc2UpOgorCiAyMDE0LTA0LTA3ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+
CiAKICAgICAgICAgQnVpbGQgYm1hbGxvYyBvbiBNYWMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5
bGUvY2hlY2tlci5weQppbmRleCA1ZTU2OTg0Li5lMDcwZDE3IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2VyLnB5CkBAIC01OCw2ICs1OCw3IEBAIGZyb20gZmlsdGVyIGltcG9y
dCBGaWx0ZXJDb25maWd1cmF0aW9uCiBmcm9tIG9wdHBhcnNlciBpbXBvcnQgQXJndW1lbnRQYXJz
ZXIKIGZyb20gb3B0cGFyc2VyIGltcG9ydCBEZWZhdWx0Q29tbWFuZE9wdGlvblZhbHVlcwogZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmxvZ3V0aWxzIGltcG9ydCBjb25maWd1cmVfbG9nZ2lu
ZyBhcyBfY29uZmlndXJlX2xvZ2dpbmcKK2Zyb20gY2hlY2tlcl9vcHRpb25zIGltcG9ydCBDaGVj
a2VyT3B0aW9ucwogCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKQEAgLTM5
Nyw3ICszOTgsOCBAQCBkZWYgY2hlY2tfd2Via2l0X3N0eWxlX2NvbmZpZ3VyYXRpb24ob3B0aW9u
cyk6CiAgICAgICAgICAgICAgICBtYXhfcmVwb3J0c19wZXJfY2F0ZWdvcnk9X01BWF9SRVBPUlRT
X1BFUl9DQVRFR09SWSwKICAgICAgICAgICAgICAgIG1pbl9jb25maWRlbmNlPW9wdGlvbnMubWlu
X2NvbmZpZGVuY2UsCiAgICAgICAgICAgICAgICBvdXRwdXRfZm9ybWF0PW9wdGlvbnMub3V0cHV0
X2Zvcm1hdCwKLSAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZT1vcHRpb25zLmNvbW1pdF9xdWV1
ZSkKKyAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZT1vcHRpb25zLmNvbW1pdF9xdWV1ZSwKKyAg
ICAgICAgICAgICAgIGNvcHlyaWdodF9saW1pdD1vcHRpb25zLmNvcHlyaWdodF9saW1pdCkKIAog
CiBkZWYgX2NyZWF0ZV9sb2dfaGFuZGxlcnMoc3RyZWFtKToKQEAgLTU5NSw3ICs1OTcsNyBAQCBj
bGFzcyBDaGVja2VyRGlzcGF0Y2hlcihvYmplY3QpOgogICAgICAgICAgICAgcmV0dXJuIEZpbGVU
eXBlLk5PTkUKIAogICAgIGRlZiBfY3JlYXRlX2NoZWNrZXIoc2VsZiwgZmlsZV90eXBlLCBmaWxl
X3BhdGgsIGhhbmRsZV9zdHlsZV9lcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1pbl9j
b25maWRlbmNlLCBjb21taXRfcXVldWUpOgorICAgICAgICAgICAgICAgICAgICAgICAgbWluX2Nv
bmZpZGVuY2UsIGNvbW1pdF9xdWV1ZSwgY2hlY2tlcl9vcHRpb25zKToKICAgICAgICAgIiIiSW5z
dGFudGlhdGUgYW5kIHJldHVybiBhIHN0eWxlIGNoZWNrZXIgYmFzZWQgb24gZmlsZSB0eXBlLiIi
IgogICAgICAgICBpZiBmaWxlX3R5cGUgPT0gRmlsZVR5cGUuTk9ORToKICAgICAgICAgICAgIGNo
ZWNrZXIgPSBOb25lCkBAIC02MjEsNyArNjIzLDcgQEAgY2xhc3MgQ2hlY2tlckRpc3BhdGNoZXIo
b2JqZWN0KToKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgY2hlY2tlciA9IEpT
T05DaGVja2VyKGZpbGVfcGF0aCwgaGFuZGxlX3N0eWxlX2Vycm9yKQogICAgICAgICBlbGlmIGZp
bGVfdHlwZSA9PSBGaWxlVHlwZS5QWVRIT046Ci0gICAgICAgICAgICBjaGVja2VyID0gUHl0aG9u
Q2hlY2tlcihmaWxlX3BhdGgsIGhhbmRsZV9zdHlsZV9lcnJvcikKKyAgICAgICAgICAgIGNoZWNr
ZXIgPSBQeXRob25DaGVja2VyKGZpbGVfcGF0aCwgaGFuZGxlX3N0eWxlX2Vycm9yLCBjaGVja2Vy
X29wdGlvbnMpCiAgICAgICAgIGVsaWYgZmlsZV90eXBlID09IEZpbGVUeXBlLlhNTDoKICAgICAg
ICAgICAgIGNoZWNrZXIgPSBYTUxDaGVja2VyKGZpbGVfcGF0aCwgaGFuZGxlX3N0eWxlX2Vycm9y
KQogICAgICAgICBlbGlmIGZpbGVfdHlwZSA9PSBGaWxlVHlwZS5YQ09ERVBST0o6CkBAIC02NTIs
NyArNjU0LDcgQEAgY2xhc3MgQ2hlY2tlckRpc3BhdGNoZXIob2JqZWN0KToKIAogICAgICAgICBy
ZXR1cm4gY2hlY2tlcgogCi0gICAgZGVmIGRpc3BhdGNoKHNlbGYsIGZpbGVfcGF0aCwgaGFuZGxl
X3N0eWxlX2Vycm9yLCBtaW5fY29uZmlkZW5jZSwgY29tbWl0X3F1ZXVlKToKKyAgICBkZWYgZGlz
cGF0Y2goc2VsZiwgZmlsZV9wYXRoLCBoYW5kbGVfc3R5bGVfZXJyb3IsIG1pbl9jb25maWRlbmNl
LCBjb21taXRfcXVldWUsIGNoZWNrZXJfb3B0aW9ucyk6CiAgICAgICAgICIiIkluc3RhbnRpYXRl
IGFuZCByZXR1cm4gYSBzdHlsZSBjaGVja2VyIGJhc2VkIG9uIGZpbGUgcGF0aC4iIiIKICAgICAg
ICAgZmlsZV90eXBlID0gc2VsZi5fZmlsZV90eXBlKGZpbGVfcGF0aCkKIApAQCAtNjYwLDcgKzY2
Miw4IEBAIGNsYXNzIENoZWNrZXJEaXNwYXRjaGVyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoYW5kbGVfc3R5bGVfZXJyb3IsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtaW5fY29uZmlkZW5jZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZSkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNoZWNrZXJfb3B0aW9ucykKICAgICAgICAgcmV0dXJuIGNoZWNrZXIKIAog
CkBAIC02ODIsNyArNjg1LDggQEAgY2xhc3MgU3R5bGVQcm9jZXNzb3JDb25maWd1cmF0aW9uKG9i
amVjdCk6CiAgICAgICAgICAgICAgICAgIG1heF9yZXBvcnRzX3Blcl9jYXRlZ29yeSwKICAgICAg
ICAgICAgICAgICAgbWluX2NvbmZpZGVuY2UsCiAgICAgICAgICAgICAgICAgIG91dHB1dF9mb3Jt
YXQsCi0gICAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZSk6CisgICAgICAgICAgICAgICAgIGNv
bW1pdF9xdWV1ZSwKKyAgICAgICAgICAgICAgICAgY29weXJpZ2h0X2xpbWl0PU5vbmUpOgogICAg
ICAgICAiIiJDcmVhdGUgYSBTdHlsZVByb2Nlc3NvckNvbmZpZ3VyYXRpb24gaW5zdGFuY2UuCiAK
ICAgICAgICAgQXJnczoKQEAgLTcwNCw2ICs3MDgsOSBAQCBjbGFzcyBTdHlsZVByb2Nlc3NvckNv
bmZpZ3VyYXRpb24ob2JqZWN0KToKICAgICAgICAgICBjb21taXRfcXVldWU6IEEgYm9vbCBpbmRp
Y2F0aW5nIHdoZXRoZXIgdGhlIHN0eWxlIGNoZWNrIGlzIHBlcmZvcm1lZAogICAgICAgICAgICAg
ICAgICAgICAgICAgYnkgdGhlIGNvbW1pdCBxdWV1ZSBvciBub3QuCiAKKyAgICAgICAgICBjb3B5
cmlnaHRfbGltaXQ6IEFuIGludGVnZXIsIGlmIG1vcmUgbGluZXMgY2hhbmdlZCB0aGVuCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb3B5cmlnaHQgd2lsbCBiZSBjaGVja2VkLgorCiAgICAg
ICAgICIiIgogICAgICAgICBzZWxmLl9maWx0ZXJfY29uZmlndXJhdGlvbiA9IGZpbHRlcl9jb25m
aWd1cmF0aW9uCiAgICAgICAgIHNlbGYuX291dHB1dF9mb3JtYXQgPSBvdXRwdXRfZm9ybWF0CkBA
IC03MTIsNiArNzE5LDggQEAgY2xhc3MgU3R5bGVQcm9jZXNzb3JDb25maWd1cmF0aW9uKG9iamVj
dCk6CiAgICAgICAgIHNlbGYubWluX2NvbmZpZGVuY2UgPSBtaW5fY29uZmlkZW5jZQogICAgICAg
ICBzZWxmLmNvbW1pdF9xdWV1ZSA9IGNvbW1pdF9xdWV1ZQogCisgICAgICAgIHNlbGYuY29weXJp
Z2h0X2xpbWl0ID0gY29weXJpZ2h0X2xpbWl0CisKICAgICBkZWYgaXNfcmVwb3J0YWJsZShzZWxm
LCBjYXRlZ29yeSwgY29uZmlkZW5jZV9pbl9lcnJvciwgZmlsZV9wYXRoKToKICAgICAgICAgIiIi
UmV0dXJuIHdoZXRoZXIgYW4gZXJyb3IgaXMgcmVwb3J0YWJsZS4KIApAQCAtODc4LDEwICs4ODcs
MTMgQEAgY2xhc3MgU3R5bGVQcm9jZXNzb3IoUHJvY2Vzc29yQmFzZSk6CiAgICAgICAgICAgICBs
aW5lcyA9IGNhcnJpYWdlX2NoZWNrZXIuY2hlY2sobGluZXMpCiAKICAgICAgICAgbWluX2NvbmZp
ZGVuY2UgPSBzZWxmLl9jb25maWd1cmF0aW9uLm1pbl9jb25maWRlbmNlCisgICAgICAgIGNoZWNr
ZXJfb3B0aW9ucyA9IENoZWNrZXJPcHRpb25zKHNlbGYuX2NvbmZpZ3VyYXRpb24uY29weXJpZ2h0
X2xpbWl0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lX251
bWJlcnMpCiAgICAgICAgIGNoZWNrZXIgPSBzZWxmLl9kaXNwYXRjaGVyLmRpc3BhdGNoKGZpbGVf
cGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVf
ZXJyb3JfaGFuZGxlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbWluX2NvbmZpZGVuY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuX2NvbmZpZ3VyYXRpb24uY29tbWl0X3F1ZXVlKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9jb25maWd1cmF0aW9uLmNvbW1pdF9x
dWV1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tl
cl9vcHRpb25zKQogCiAgICAgICAgIGlmIGNoZWNrZXIgaXMgTm9uZToKICAgICAgICAgICAgIHJh
aXNlIEFzc2VydGlvbkVycm9yKCJGaWxlIHNob3VsZCBub3QgYmUgY2hlY2tlZDogJyVzJyIgJSBm
aWxlX3BhdGgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNr
ZXJfb3B0aW9ucy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl9vcHRp
b25zLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5Mzc5MjMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfb3B0aW9u
cy5weQpAQCAtMCwwICsxLDUwIEBACisjIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9m
IFN6ZWdlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29weXJpZ2h0IChDKSAyMDE0IFNhbXN1
bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisj
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
CisKK2NsYXNzIENoZWNrZXJPcHRpb25zKG9iamVjdCk6CisKKyAgICAiIiJBIG9iamVjdCB0byBw
YXNzIGluZm9ybWF0aW9uIGZyb20gdGhlIFByb2Nlc3NvciB0byB0aGUgY2hlY2tlcnMuIiIiCisK
KyAgICBkZWYgX19pbml0X18oc2VsZiwgY29weXJpZ2h0X2xpbWl0PU5vbmUsCisgICAgICAgICAg
ICAgICAgIGxpbmVfbnVtYmVycz1Ob25lKToKKyAgICAgICAgIiIiQ3JlYXRlIGFuIGluc3RhbmNl
LgorCisgICAgICAgIEFyZ3M6CisgICAgICAgICAgY29weXJpZ2h0X2xpbWl0OiBBbiBpbnRlZ2Vy
LCBpZiBtb3JlIGxpbmVzIGNoYW5nZWQgdGhlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29weXJpZ2h0IHdpbGwgYmUgY2hlY2tlZC4KKyAgICAgICAgICBsaW5lX251bWJlcnM6IEEgbGlz
dCBvZiBsaW5lIG51bWJlcnMgb2YgdGhlIGxpbmVzIGZvciB3aGljaAorICAgICAgICAgICAgICAg
ICAgICAgICAgc3R5bGUgZXJyb3JzIHNob3VsZCBiZSByZXBvcnRlZCwgb3IgTm9uZSBpZiBlcnJv
cnMKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBhbGwgbGluZXMgc2hvdWxkIGJlIHJlcG9y
dGVkLiAgV2hlbiBub3QgTm9uZSwgdGhpcworICAgICAgICAgICAgICAgICAgICAgICAgbGlzdCBu
b3JtYWxseSBjb250YWlucyB0aGUgbGluZSBudW1iZXJzIGNvcnJlc3BvbmRpbmcKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHRvIHRoZSBtb2RpZmllZCBsaW5lcyBvZiBhIHBhdGNoLgorCisgICAg
ICAgICIiIgorICAgICAgICBzZWxmLmNvcHlyaWdodF9saW1pdCA9IGNvcHlyaWdodF9saW1pdAor
ICAgICAgICBzZWxmLmxpbmVfbnVtYmVycyA9IGxpbmVfbnVtYmVycwpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CmluZGV4IGI5NTRlNmIuLjg3
ZTk3YTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91
bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5p
dHRlc3QucHkKQEAgLTQ3LDYgKzQ3LDcgQEAgZnJvbSBjaGVja2VyIGltcG9ydCBjaGVja193ZWJr
aXRfc3R5bGVfY29uZmlndXJhdGlvbgogZnJvbSBjaGVja2VyIGltcG9ydCBjaGVja193ZWJraXRf
c3R5bGVfcGFyc2VyCiBmcm9tIGNoZWNrZXIgaW1wb3J0IGNvbmZpZ3VyZV9sb2dnaW5nCiBmcm9t
IGNoZWNrZXIgaW1wb3J0IENoZWNrZXJEaXNwYXRjaGVyCitmcm9tIGNoZWNrZXIgaW1wb3J0IENo
ZWNrZXJPcHRpb25zCiBmcm9tIGNoZWNrZXIgaW1wb3J0IFByb2Nlc3NvckJhc2UKIGZyb20gY2hl
Y2tlciBpbXBvcnQgU3R5bGVQcm9jZXNzb3IKIGZyb20gY2hlY2tlciBpbXBvcnQgU3R5bGVQcm9j
ZXNzb3JDb25maWd1cmF0aW9uCkBAIC0zMTAsNyArMzExLDggQEAgY2xhc3MgQ2hlY2tlckRpc3Bh
dGNoZXJTa2lwVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGNoZWNrZXIgPSBzZWxm
Ll9kaXNwYXRjaGVyLmRpc3BhdGNoKGZpbGVfcGF0aD1wYXRoLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVfc3R5bGVfZXJyb3I9Tm9uZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluX2NvbmZpZGVuY2U9MywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWl0X3F1ZXVl
PUZhbHNlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21t
aXRfcXVldWU9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNoZWNrZXJfb3B0aW9ucz1DaGVja2VyT3B0aW9ucygpKQogICAgICAgICBtZXNzYWdlID0g
J3doaWxlIGNoZWNraW5nOiAlcycgJSBwYXRoCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2hl
Y2tlciBpcyBOb25lLCBpc19jaGVja2VyX25vbmUsIG1lc3NhZ2UpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc2VsZi5fZGlzcGF0Y2hlci5zaG91bGRfc2tpcF93aXRob3V0X3dhcm5pbmcocGF0
aCksCkBAIC0zNjksNyArMzcxLDggQEAgY2xhc3MgQ2hlY2tlckRpc3BhdGNoZXJEaXNwYXRjaFRl
c3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBjaGVja2VyID0gZGlzcGF0Y2hlci5kaXNw
YXRjaChmaWxlX3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl
bGYubW9ja19oYW5kbGVfc3R5bGVfZXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1pbl9jb25maWRlbmNlPTMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbW1pdF9xdWV1ZT1GYWxzZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29tbWl0X3F1ZXVlPUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjaGVja2VyX29wdGlvbnM9Q2hlY2tlck9wdGlvbnMoKSkKICAgICAgICAg
cmV0dXJuIGNoZWNrZXIKIAogICAgIGRlZiBhc3NlcnRfY2hlY2tlcl9ub25lKHNlbGYsIGZpbGVf
cGF0aCk6CkBAIC03MjQsNyArNzI3LDcgQEAgY2xhc3MgU3R5bGVQcm9jZXNzb3JfQ29kZUNvdmVy
YWdlVGVzdChMb2dnaW5nVGVzdENhc2UpOgogICAgICAgICBkZWYgc2hvdWxkX2NoZWNrX2FuZF9z
dHJpcF9jYXJyaWFnZV9yZXR1cm5zKHNlbGYsIGZpbGVfcGF0aCk6CiAgICAgICAgICAgICByZXR1
cm4gbm90IGZpbGVfcGF0aC5lbmRzd2l0aCgnY2FycmlhZ2VfcmV0dXJuc19hbGxvd2VkLnR4dCcp
CiAKLSAgICAgICAgZGVmIGRpc3BhdGNoKHNlbGYsIGZpbGVfcGF0aCwgc3R5bGVfZXJyb3JfaGFu
ZGxlciwgbWluX2NvbmZpZGVuY2UsIGNvbW1pdF9xdWV1ZSk6CisgICAgICAgIGRlZiBkaXNwYXRj
aChzZWxmLCBmaWxlX3BhdGgsIHN0eWxlX2Vycm9yX2hhbmRsZXIsIG1pbl9jb25maWRlbmNlLCBj
b21taXRfcXVldWUsIGNoZWNrZXJfb3B0aW9ucyk6CiAgICAgICAgICAgICBpZiBmaWxlX3BhdGgu
ZW5kc3dpdGgoJ2RvX25vdF9wcm9jZXNzLnR4dCcpOgogICAgICAgICAgICAgICAgIHJldHVybiBO
b25lCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMv
Y29tbW9uLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jb21tb24u
cHkKaW5kZXggMTI0NDQ4ZC4uNTk2ZjgwNiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2Vycy9jb21tb24ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2Vycy9jb21tb24ucHkKQEAgLTI0LDYgKzI0LDcgQEAKIAogaW1wb3J0IHJl
CiBpbXBvcnQgc3JlX2NvbXBpbGUKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGUKIAogIyBGSVhN
RTogVGVzdCB0aGlzIGxpc3QgaW4gdGhlIHNhbWUgd2F5IHRoYXQgdGhlIGxpc3Qgb2YgQ3BwQ2hl
Y2tlcgogIyAgICAgICAgY2F0ZWdvcmllcyBpcyB0ZXN0ZWQsIGZvciBleGFtcGxlIGJ5IGNoZWNr
aW5nIHRoYXQgYWxsIG9mIGl0cwpAQCAtMTExLDMgKzExMiw0OSBAQCBjbGFzcyBUYWJDaGVja2Vy
KG9iamVjdCk6CiAgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVfc3R5bGVfZXJyb3IobGluZV9u
dW1iZXIgKyAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGl0
ZXNwYWNlL3RhYiIsIDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IkxpbmUgY29udGFpbnMgdGFiIGNoYXJhY3Rlci4iKQorCisKK2NsYXNzIENvcHlyaWdodChvYmpl
Y3QpOgorCisgICAgIiIiU3RvcmVzIGluZm8gZnJvbSBhIGNvcHlyaWdodCBlbnRyeS4iIiIKKwor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCB5ZWFyLCBjb21tZW50LCBsaW5lX251bWJlcik6CisgICAg
ICAgIHNlbGYueWVhciA9IHllYXIKKyAgICAgICAgc2VsZi5jb21tZW50ID0gY29tbWVudAorICAg
ICAgICBzZWxmLmxpbmVfbnVtYmVyID0gbGluZV9udW1iZXIKKworCitjbGFzcyBDb3B5cmlnaHRD
aGVja2VyKG9iamVjdCk6CisKKyAgICAiIiJTdXBwb3J0IGNoZWNraW5nIGZvciBjb3B5cmlnaHRz
LiIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbW1lbnQsIGZpbGVfcGF0aCwgaGFuZGxl
X3N0eWxlX2Vycm9yLCBjaGVja2VyX29wdGlvbnMpOgorICAgICAgICBzZWxmLmZpbGVfcGF0aCA9
IGZpbGVfcGF0aAorICAgICAgICBzZWxmLmhhbmRsZV9zdHlsZV9lcnJvciA9IGhhbmRsZV9zdHls
ZV9lcnJvcgorICAgICAgICBzZWxmLmNvbW1lbnQgPSBjb21tZW50CisgICAgICAgIHNlbGYuX29w
dGlvbnMgPSBjaGVja2VyX29wdGlvbnMKKworICAgIGRlZiBjaGVjayhzZWxmLCBsaW5lcyk6Cisg
ICAgICAgIGlmIHNlbGYuX29wdGlvbnMuY29weXJpZ2h0X2xpbWl0OgorICAgICAgICAgICAgY29w
eXJpZ2h0cyA9IFtdCisgICAgICAgICAgICBmb3IgbGluZV9udW1iZXIsIGxpbmUgaW4gZW51bWVy
YXRlKGxpbmVzKToKKyAgICAgICAgICAgICAgICBtYXRjaF9jb3B5cmlnaHQgPSByZS5zZWFyY2go
cidDb3B5cmlnaHRcc1woQ1wpKD9QPHllYXI+XHNbMC05XXs0fSlccyg/UDxjb21tZW50Pltcd1xX
XSopJywgbGluZSkKKyAgICAgICAgICAgICAgICBpZiBtYXRjaF9jb3B5cmlnaHQ6CisgICAgICAg
ICAgICAgICAgICAgIGNvcHlyaWdodCA9IENvcHlyaWdodChpbnQobWF0Y2hfY29weXJpZ2h0Lmdy
b3VwKCd5ZWFyJykpLCBtYXRjaF9jb3B5cmlnaHQuZ3JvdXAoJ2NvbW1lbnQnKSwgbGluZV9udW1i
ZXIpCisgICAgICAgICAgICAgICAgICAgIGNvcHlyaWdodHMuYXBwZW5kKGNvcHlyaWdodCkKKyAg
ICAgICAgICAgICAgICBpZiBub3QgcmUuc2VhcmNoKHNlbGYuY29tbWVudCwgbGluZSk6CisgICAg
ICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBzZWxmLl9jaGVja191cHRvZGF0ZShj
b3B5cmlnaHRzKQorCisgICAgZGVmIF9jaGVja191cHRvZGF0ZShzZWxmLCBjb3B5cmlnaHRzKToK
KyAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5saW5lX251bWJlcnM6CisgICAgICAgICAgICBsYXN0
X2NvcHlyaWdodCA9IG1heChjb3B5cmlnaHRzLCBrZXk9bGFtYmRhIGM6IGMueWVhcikKKyAgICAg
ICAgICAgIGNvdW50X29mX2NoYW5nZWRfbGluZXMgPSBsZW4oc2VsZi5fb3B0aW9ucy5saW5lX251
bWJlcnMpCisgICAgICAgICAgICBjdXJyZW50X3llYXIgPSBkYXRlLnRvZGF5KCkueWVhcgorICAg
ICAgICAgICAgY2hhbmdlZF9lbm91Z2ggPSBjb3VudF9vZl9jaGFuZ2VkX2xpbmVzID4gc2VsZi5f
b3B0aW9ucy5jb3B5cmlnaHRfbGltaXQKKyAgICAgICAgICAgIG9ic29sZXRlID0gbGFzdF9jb3B5
cmlnaHQueWVhciA8IGN1cnJlbnRfeWVhcgorICAgICAgICAgICAgaWYgY2hhbmdlZF9lbm91Z2gg
YW5kIG9ic29sZXRlOgorICAgICAgICAgICAgICAgIHNlbGYuaGFuZGxlX3N0eWxlX2Vycm9yKGxh
c3RfY29weXJpZ2h0LmxpbmVfbnVtYmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJjb3B5cmlnaHQvb2Jzb2xldGUiLCA1LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJDb3B5cmlnaHQgaXMgb2Jzb2xldGUuIExhc3QgaXMgJWQgJXMi
ICUgKGxhc3RfY29weXJpZ2h0LnllYXIsIGxhc3RfY29weXJpZ2h0LmNvbW1lbnQpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfY2hhbmdlX2RldGVjdGlvbj1U
cnVlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9w
eXRob24ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3B5dGhvbi5w
eQppbmRleCAyMDY2ZDlkLi5jYWQzNGRmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3N0eWxlL2NoZWNrZXJzL3B5dGhvbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL3B5dGhvbi5weQpAQCAtMzAsMTUgKzMwLDIwIEBAIGZyb20gd2Via2l0
cHkuY29tbW9uLndlYmtpdF9maW5kZXIgaW1wb3J0IFdlYktpdEZpbmRlcgogZnJvbSB3ZWJraXRw
eS50aGlyZHBhcnR5LmF1dG9pbnN0YWxsZWQgaW1wb3J0IHBlcDgKIGZyb20gd2Via2l0cHkudGhp
cmRwYXJ0eS5hdXRvaW5zdGFsbGVkLnB5bGludCBpbXBvcnQgbGludAogZnJvbSB3ZWJraXRweS50
aGlyZHBhcnR5LmF1dG9pbnN0YWxsZWQucHlsaW50LnJlcG9ydGVycy50ZXh0IGltcG9ydCBQYXJz
ZWFibGVUZXh0UmVwb3J0ZXIKK2Zyb20gY29tbW9uIGltcG9ydCBDb3B5cmlnaHRDaGVja2VyCitm
cm9tIHdlYmtpdHB5LnN0eWxlLmNoZWNrZXJfb3B0aW9ucyBpbXBvcnQgQ2hlY2tlck9wdGlvbnMK
IAogCiBjbGFzcyBQeXRob25DaGVja2VyKG9iamVjdCk6CiAgICAgIiIiUHJvY2Vzc2VzIHRleHQg
bGluZXMgZm9yIGNoZWNraW5nIHN0eWxlLiIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxl
X3BhdGgsIGhhbmRsZV9zdHlsZV9lcnJvcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVf
cGF0aCwgaGFuZGxlX3N0eWxlX2Vycm9yLCBjaGVja2VyX29wdGlvbnM9Q2hlY2tlck9wdGlvbnMo
KSk6CiAgICAgICAgIHNlbGYuX2ZpbGVfcGF0aCA9IGZpbGVfcGF0aAogICAgICAgICBzZWxmLl9o
YW5kbGVfc3R5bGVfZXJyb3IgPSBoYW5kbGVfc3R5bGVfZXJyb3IKKyAgICAgICAgc2VsZi5fY29w
eXJpZ2h0X2NoZWNrZXIgPSBDb3B5cmlnaHRDaGVja2VyKCdeIycsIGZpbGVfcGF0aCwgaGFuZGxl
X3N0eWxlX2Vycm9yLCBjaGVja2VyX29wdGlvbnMpCisgICAgICAgIHNlbGYuX29wdGlvbnMgPSBj
aGVja2VyX29wdGlvbnMKIAogICAgIGRlZiBjaGVjayhzZWxmLCBsaW5lcyk6CisgICAgICAgIHNl
bGYuX2NvcHlyaWdodF9jaGVja2VyLmNoZWNrKGxpbmVzKQogICAgICAgICBzZWxmLl9jaGVja19w
ZXA4KGxpbmVzKQogICAgICAgICBzZWxmLl9jaGVja19weWxpbnQobGluZXMpCiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZXJyb3JfaGFuZGxlcnMucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2Vycm9yX2hhbmRsZXJzLnB5CmluZGV4IGM1ZTc2MzIu
Ljc4YTE2NDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZXJyb3Jf
aGFuZGxlcnMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9lcnJvcl9oYW5k
bGVycy5weQpAQCAtMTM1LDE0ICsxMzUsMTUgQEAgY2xhc3MgRGVmYXVsdFN0eWxlRXJyb3JIYW5k
bGVyKG9iamVjdCk6CiAgICAgZGVmIHR1cm5fb2ZmX2xpbmVfZmlsdGVyaW5nKHNlbGYpOgogICAg
ICAgICBzZWxmLl9saW5lX251bWJlcnMgPSBOb25lCiAKLSAgICBkZWYgX19jYWxsX18oc2VsZiwg
bGluZV9udW1iZXIsIGNhdGVnb3J5LCBjb25maWRlbmNlLCBtZXNzYWdlKToKKyAgICBkZWYgX19j
YWxsX18oc2VsZiwgbGluZV9udW1iZXIsIGNhdGVnb3J5LCBjb25maWRlbmNlLCBtZXNzYWdlLCAq
Kmt3YXJncyk6CiAgICAgICAgICIiIkhhbmRsZSB0aGUgb2NjdXJyZW5jZSBvZiBhIHN0eWxlIGVy
cm9yLgogCiAgICAgICAgIFNlZSB0aGUgZG9jc3RyaW5nIG9mIHRoaXMgbW9kdWxlIGZvciBtb3Jl
IGluZm9ybWF0aW9uLgogCiAgICAgICAgICIiIgotICAgICAgICBpZiBub3Qgc2VsZi5zaG91bGRf
bGluZV9iZV9jaGVja2VkKGxpbmVfbnVtYmVyKToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQor
ICAgICAgICBpZiBub3QgKCdza2lwX2NoYW5nZV9kZXRlY3Rpb24nIGluIGt3YXJncyBhbmQga3dh
cmdzWydza2lwX2NoYW5nZV9kZXRlY3Rpb24nXSk6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5z
aG91bGRfbGluZV9iZV9jaGVja2VkKGxpbmVfbnVtYmVyKToKKyAgICAgICAgICAgICAgICByZXR1
cm4gRmFsc2UKIAogICAgICAgICBpZiBub3Qgc2VsZi5fY29uZmlndXJhdGlvbi5pc19yZXBvcnRh
YmxlKGNhdGVnb3J5PWNhdGVnb3J5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbmZpZGVuY2VfaW5fZXJyb3I9Y29uZmlkZW5jZSwKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvbWFpbi5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvc3R5bGUvbWFpbi5weQppbmRleCA1NzQzNjhhLi4yNzFhYmQ3IDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL21haW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9tYWluLnB5CkBAIC0xNDUsNiArMTQ1LDkgQEAgY2xhc3MgQ2hlY2tX
ZWJLaXRTdHlsZShvYmplY3QpOgogICAgICAgICBzdHlsZV9wcm9jZXNzb3IgPSBTdHlsZVByb2Nl
c3Nvcihjb25maWd1cmF0aW9uKQogICAgICAgICBmaWxlX3JlYWRlciA9IFRleHRGaWxlUmVhZGVy
KGhvc3QuZmlsZXN5c3RlbSwgc3R5bGVfcHJvY2Vzc29yKQogCisgICAgICAgIGlmIG5vdCBvcHRp
b25zLmRpZmZfZmlsZXMgYW5kIG9wdGlvbnMuY29weXJpZ2h0X2xpbWl0OgorICAgICAgICAgICAg
X2xvZy5pbmZvKCJUaGUgb3B0aW9uIC0tY2hlY2stY29weXJpZ2h0IGhhcyBubyBlZmZlY3Qgd2l0
aG91dCAtLWRpZmYtZmlsZXMuIikKKwogICAgICAgICBpZiBwYXRocyBhbmQgbm90IG9wdGlvbnMu
ZGlmZl9maWxlczoKICAgICAgICAgICAgIGZpbGVfcmVhZGVyLnByb2Nlc3NfcGF0aHMocGF0aHMp
CiAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L29wdHBhcnNlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvb3B0cGFyc2VyLnB5
CmluZGV4IDI0OGZmOGYuLmU4NGMyMjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvc3R5bGUvb3B0cGFyc2VyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUv
b3B0cGFyc2VyLnB5CkBAIC0xNDksNyArMTQ5LDggQEAgY2xhc3MgQ29tbWFuZE9wdGlvblZhbHVl
cyhvYmplY3QpOgogICAgICAgICAgICAgICAgICBpc192ZXJib3NlPUZhbHNlLAogICAgICAgICAg
ICAgICAgICBtaW5fY29uZmlkZW5jZT0xLAogICAgICAgICAgICAgICAgICBvdXRwdXRfZm9ybWF0
PSJlbWFjcyIsCi0gICAgICAgICAgICAgICAgIGNvbW1pdF9xdWV1ZT1GYWxzZSk6CisgICAgICAg
ICAgICAgICAgIGNvbW1pdF9xdWV1ZT1GYWxzZSwKKyAgICAgICAgICAgICAgICAgY29weXJpZ2h0
X2xpbWl0PU5vbmUpOgogICAgICAgICBpZiBmaWx0ZXJfcnVsZXMgaXMgTm9uZToKICAgICAgICAg
ICAgIGZpbHRlcl9ydWxlcyA9IFtdCiAKQEAgLTE3MCw2ICsxNzEsNyBAQCBjbGFzcyBDb21tYW5k
T3B0aW9uVmFsdWVzKG9iamVjdCk6CiAgICAgICAgIHNlbGYubWluX2NvbmZpZGVuY2UgPSBtaW5f
Y29uZmlkZW5jZQogICAgICAgICBzZWxmLm91dHB1dF9mb3JtYXQgPSBvdXRwdXRfZm9ybWF0CiAg
ICAgICAgIHNlbGYuY29tbWl0X3F1ZXVlID0gY29tbWl0X3F1ZXVlCisgICAgICAgIHNlbGYuY29w
eXJpZ2h0X2xpbWl0ID0gY29weXJpZ2h0X2xpbWl0CiAKICAgICAjIFVzZWZ1bCBmb3IgdW5pdCB0
ZXN0aW5nLgogICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgpAQCAtMTg2LDYgKzE4OCw4IEBA
IGNsYXNzIENvbW1hbmRPcHRpb25WYWx1ZXMob2JqZWN0KToKICAgICAgICAgICAgIHJldHVybiBG
YWxzZQogICAgICAgICBpZiBzZWxmLm91dHB1dF9mb3JtYXQgIT0gb3RoZXIub3V0cHV0X2Zvcm1h
dDoKICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICBpZiBzZWxmLmNvcHlyaWdodF9s
aW1pdCAhPSBvdGhlci5jb3B5cmlnaHRfbGltaXQ6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UK
IAogICAgICAgICByZXR1cm4gVHJ1ZQogCkBAIC0zMzUsNiArMzM5LDEyIEBAIGNsYXNzIEFyZ3Vt
ZW50UGFyc2VyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9Im91dHB1
dF9mb3JtYXQiLCBkZWZhdWx0PWRlZmF1bHRfb3V0cHV0X2Zvcm1hdCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD1vdXRwdXRfZm9ybWF0X2hlbHApCiAKKyAgICAgICAgY2hlY2tfY29w
eXJpZ2h0X2hlbHAgPSAoIklmIHRoZXJlIGlzIGF0IGxlYXN0IHNwZWNpZmllZCBjb3VudCBvZiBs
aW5lIGNoYW5lZCB0aGVuIHNwZWNpZmllZCwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ3aWxsIGFsZXJ0IGlmIGlzIG5vdCBhbnkgY29weXJpZ2h0IG5vdGUgd2l0aCB0aGUgY3Vy
cmVudCB5ZWFyLiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIihyZXF1aXJlcyAt
LWRpZmZfZmlsZXMgb3B0aW9uKSIpCisgICAgICAgIHBhcnNlci5hZGRfb3B0aW9uKCItLWNoZWNr
LWNvcHlyaWdodCIsIHR5cGU9aW50LCBkZXN0PSJjb3B5cmlnaHRfbGltaXQiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBtZXRhdmFyPSJOVU1CRVIgT0YgQ0hBTkdFRCBMSU5FUyIsIGhlbHA9
Y2hlY2tfY29weXJpZ2h0X2hlbHApCisKICAgICAgICAgdmVyYm9zZV9oZWxwID0gImVuYWJsZSB2
ZXJib3NlIGxvZ2dpbmcuIgogICAgICAgICBwYXJzZXIuYWRkX29wdGlvbigiLXYiLCAiLS12ZXJi
b3NlIiwgZGVzdD0iaXNfdmVyYm9zZSIsIGRlZmF1bHQ9RmFsc2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGhlbHA9dmVyYm9zZV9oZWxwKQpAQCAtNDI4
LDYgKzQzOCw3IEBAIGNsYXNzIEFyZ3VtZW50UGFyc2VyKG9iamVjdCk6CiAgICAgICAgIG1pbl9j
b25maWRlbmNlID0gb3B0aW9ucy5taW5fY29uZmlkZW5jZQogICAgICAgICBvdXRwdXRfZm9ybWF0
ID0gb3B0aW9ucy5vdXRwdXRfZm9ybWF0CiAgICAgICAgIGNvbW1pdF9xdWV1ZSA9IG9wdGlvbnMu
Y29tbWl0X3F1ZXVlCisgICAgICAgIGNvcHlyaWdodF9saW1pdCA9IG9wdGlvbnMuY29weXJpZ2h0
X2xpbWl0CiAKICAgICAgICAgaWYgZmlsdGVyX3ZhbHVlIGlzIG5vdCBOb25lIGFuZCBub3QgZmls
dGVyX3ZhbHVlOgogICAgICAgICAgICAgIyBUaGVuIHRoZSB1c2VyIGV4cGxpY2l0bHkgcGFzc2Vk
IG5vIGZpbHRlciwgZm9yCkBAIC00NTgsNyArNDY5LDggQEAgY2xhc3MgQXJndW1lbnRQYXJzZXIo
b2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfdmVyYm9z
ZT1pc192ZXJib3NlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5f
Y29uZmlkZW5jZT1taW5fY29uZmlkZW5jZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgb3V0cHV0X2Zvcm1hdD1vdXRwdXRfZm9ybWF0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb21taXRfcXVldWU9Y29tbWl0X3F1ZXVlKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21taXRfcXVldWU9Y29tbWl0X3F1ZXVlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5cmlnaHRfbGltaXQ9Y29w
eXJpZ2h0X2xpbWl0KQogCiAgICAgICAgIHJldHVybiAocGF0aHMsIG9wdGlvbnMpCiAK
</data>
<flag name="review"
          id="253302"
          type_id="1"
          status="-"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>