<?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>188079</bug_id>
          
          <creation_ts>2018-07-26 14:54:59 -0700</creation_ts>
          <short_desc>[ews-build] Add build step to run API Tests</short_desc>
          <delta_ts>2018-07-26 15:54:17 -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>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1445549</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-07-26 14:54:59 -0700</bug_when>
    <thetext>We should have an EWS for API tests. For that we should have a build step to run API tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445556</commentid>
    <comment_count>1</comment_count>
      <attachid>345875</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-07-26 15:03:25 -0700</bug_when>
    <thetext>Created attachment 345875
Proposed patch

Sample run: http://ews-build.webkit-uat.org/#/builders/18/builds/26</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445557</commentid>
    <comment_count>2</comment_count>
      <attachid>345876</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-07-26 15:07:14 -0700</bug_when>
    <thetext>Created attachment 345876
Proposed patch

Sample run: http://ews-build.webkit-uat.org/#/builders/18/builds/26</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445559</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-07-26 15:08:31 -0700</bug_when>
    <thetext>Attachment 345876 did not pass style-queue:


ERROR: Tools/BuildSlaveSupport/ews-build/steps.py:23:  No name &apos;logobserver&apos; in module &apos;buildbot.process&apos;  [pylint/E0611] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps.py:123:  [TestWithFailureCount.getResultSummary] Instance of &apos;TestWithFailureCount&apos; has no &apos;results&apos; member  [pylint/E1101] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps.py:126:  [TestWithFailureCount.getResultSummary] Instance of &apos;TestWithFailureCount&apos; has no &apos;results&apos; member  [pylint/E1101] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps.py:127:  [TestWithFailureCount.getResultSummary] Instance of &apos;TestWithFailureCount&apos; has no &apos;results&apos; member  [pylint/E1101] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:892:  [TestRunAPITests.test_success_mac] Passing unexpected keyword argument &apos;state_string&apos; in function call  [pylint/E1123] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:892:  [TestRunAPITests.test_success_mac] No value passed for parameter &apos;status_text&apos; in function call  [pylint/E1120] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:918:  [TestRunAPITests.test_success_ios_simulator] Passing unexpected keyword argument &apos;state_string&apos; in function call  [pylint/E1123] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:918:  [TestRunAPITests.test_success_ios_simulator] No value passed for parameter &apos;status_text&apos; in function call  [pylint/E1120] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:958:  [TestRunAPITests.test_one_failure] Passing unexpected keyword argument &apos;state_string&apos; in function call  [pylint/E1123] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:958:  [TestRunAPITests.test_one_failure] No value passed for parameter &apos;status_text&apos; in function call  [pylint/E1120] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:1012:  [TestRunAPITests.test_multiple_failures_and_timeouts] Passing unexpected keyword argument &apos;state_string&apos; in function call  [pylint/E1123] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:1012:  [TestRunAPITests.test_multiple_failures_and_timeouts] No value passed for parameter &apos;status_text&apos; in function call  [pylint/E1120] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:1028:  [TestRunAPITests.test_unexpecte_failure] Passing unexpected keyword argument &apos;state_string&apos; in function call  [pylint/E1123] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:1028:  [TestRunAPITests.test_unexpecte_failure] No value passed for parameter &apos;status_text&apos; in function call  [pylint/E1120] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:1055:  [TestRunAPITests.test_no_failures_or_timeouts_with_disabled] Passing unexpected keyword argument &apos;state_string&apos; in function call  [pylint/E1123] [5]
ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:1055:  [TestRunAPITests.test_no_failures_or_timeouts_with_disabled] No value passed for parameter &apos;status_text&apos; in function call  [pylint/E1120] [5]
Total errors found: 16 in 3 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>1445566</commentid>
    <comment_count>4</comment_count>
      <attachid>345876</attachid>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2018-07-26 15:18:33 -0700</bug_when>
    <thetext>Comment on attachment 345876
Proposed patch

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

r=me as is, with a nit, and something to think about for future patches.

&gt; Tools/BuildSlaveSupport/ews-build/steps.py:378
&gt; +    descriptionDone = [&apos;api-tests&apos;]

api tests completed?

&gt; Tools/BuildSlaveSupport/ews-build/steps_unittest.py:871
&gt; +        self.setProperty(&apos;fullPlatform&apos;, &apos;mac-sierra&apos;)

some pondering...  mac-highsierra is released, and Mojave is in beta. Mac-sierra will be the next platform to fall off the supported list. 
I don&apos;t think it really matters for unit tests, unless we run into a problem where the fullPlatform is not in a supported list somewhere...
Do we want to be in the business of updating these periodically as they fall off, or just be ok with the fact that it will soon reference really stale releases?

If we try to keep them relevant, then we should be using mac-mojave everywhere, which would be a larger change in many files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445579</commentid>
    <comment_count>5</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-07-26 15:53:15 -0700</bug_when>
    <thetext>Committed r234280: &lt;https://trac.webkit.org/changeset/234280&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445581</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-26 15:54:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/42641478&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345875</attachid>
            <date>2018-07-26 15:03:25 -0700</date>
            <delta_ts>2018-07-26 15:04:02 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>ews_APITests.patch</filename>
            <type>text/plain</type>
            <size>11697</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIzNDI3NykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDE4LTA3LTI2ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbZXdzLWJ1aWxkXSBBZGQgYnVpbGQgc3RlcCB0byBydW4gQVBJIFRlc3Rz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODgwNzkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEJ1aWxk
U2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFRlc3RXaXRoRmFpbHVy
ZUNvdW50KTogQ29tbW9uIGNsYXNzIGZvciB2YXJpb3VzIHRlc3RzIHdpdGggZmFpbHVyZSBjb3Vu
dC4KKyAgICAgICAgKFRlc3RXaXRoRmFpbHVyZUNvdW50LnN0YXJ0KTogQ29uZmlndXJlIEJ1aWxk
Ym90J3MgbG9nb2JzZXJ2ZXIuCisgICAgICAgIChUZXN0V2l0aEZhaWx1cmVDb3VudC5jb21tYW5k
Q29tcGxldGUpOiBVcGRhdGVzIHRoZSBmYWlsdXJlIGNvdW50LgorICAgICAgICAoVGVzdFdpdGhG
YWlsdXJlQ291bnQuZXZhbHVhdGVDb21tYW5kKTogU2V0IHRoZSBzdGVwIHN0YXR1cyBhcHByb3By
aWF0ZWx5LgorICAgICAgICAoVGVzdFdpdGhGYWlsdXJlQ291bnQuZ2V0UmVzdWx0U3VtbWFyeSk6
IFNldCB0aGUgc3RlcCBzdW1tYXJ5IGFwcHJvcHJpYXRlbHkuCisgICAgICAgIChSdW5BUElUZXN0
cyk6IEJ1aWxkIHN0ZXAgdG8gcnVuIEFQSSB0ZXN0cy4KKyAgICAgICAgKFJ1bkFQSVRlc3RzLmNv
dW50RmFpbHVyZXMpOiBDb3VudCB0aGUgZmFpbHVyZXMgYnkgcGFyc2luZyB0aGUgb3V0cHV0Lgor
ICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weTog
QWRkZWQgdW5pdC10ZXN0cy4KKwogMjAxOC0wNy0yNiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1
ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIzNDE4
MSBhbmQgcjIzNDE4OS4KSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9z
dGVwcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQv
c3RlcHMucHkJKHJldmlzaW9uIDIzNDI3NykKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weQkod29ya2luZyBjb3B5KQpAQCAtMjAsMTIgKzIwLDE0IEBACiAjIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWZyb20gYnVpbGRib3QucHJvY2Vz
cyBpbXBvcnQgYnVpbGRzdGVwLCBwcm9wZXJ0aWVzCitmcm9tIGJ1aWxkYm90LnByb2Nlc3MgaW1w
b3J0IGJ1aWxkc3RlcCwgbG9nb2JzZXJ2ZXIsIHByb3BlcnRpZXMKIGZyb20gYnVpbGRib3QucHJv
Y2Vzcy5yZXN1bHRzIGltcG9ydCBSZXN1bHRzLCBTVUNDRVNTLCBGQUlMVVJFLCBXQVJOSU5HUywg
U0tJUFBFRCwgRVhDRVBUSU9OLCBSRVRSWQogZnJvbSBidWlsZGJvdC5zdGVwcyBpbXBvcnQgc2hl
bGwsIHRyYW5zZmVyCiBmcm9tIGJ1aWxkYm90LnN0ZXBzLnNvdXJjZSBpbXBvcnQgc3ZuCiBmcm9t
IHR3aXN0ZWQuaW50ZXJuZXQgaW1wb3J0IGRlZmVyCiAKK2ltcG9ydCByZQorCiBFV1NfVVJMID0g
J2h0dHA6Ly9ld3MtYnVpbGQud2Via2l0LXVhdC5vcmcvJwogV2l0aFByb3BlcnRpZXMgPSBwcm9w
ZXJ0aWVzLldpdGhQcm9wZXJ0aWVzCiAKQEAgLTg5LDYgKzkxLDQ0IEBAIGNsYXNzIENoZWNrU3R5
bGUoc2hlbGwuU2hlbGxDb21tYW5kKToKICAgICBjb21tYW5kID0gWydUb29scy9TY3JpcHRzL2No
ZWNrLXdlYmtpdC1zdHlsZSddCiAKIAorY2xhc3MgVGVzdFdpdGhGYWlsdXJlQ291bnQoc2hlbGwu
VGVzdCk6CisgICAgZmFpbGVkVGVzdHNGb3JtYXRTdHJpbmcgPSAiJWQgdGVzdCVzIGZhaWxlZCIK
KyAgICBmYWlsZWRUZXN0Q291bnQgPSAwCisKKyAgICBkZWYgc3RhcnQoc2VsZik6CisgICAgICAg
IHNlbGYubG9nX29ic2VydmVyID0gbG9nb2JzZXJ2ZXIuQnVmZmVyTG9nT2JzZXJ2ZXIod2FudFN0
ZGVycj1UcnVlKQorICAgICAgICBzZWxmLmFkZExvZ09ic2VydmVyKCdzdGRpbycsIHNlbGYubG9n
X29ic2VydmVyKQorICAgICAgICByZXR1cm4gc2hlbGwuVGVzdC5zdGFydChzZWxmKQorCisgICAg
ZGVmIGNvdW50RmFpbHVyZXMoc2VsZiwgY21kKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50
ZWRFcnJvcgorCisgICAgZGVmIGNvbW1hbmRDb21wbGV0ZShzZWxmLCBjbWQpOgorICAgICAgICBz
aGVsbC5UZXN0LmNvbW1hbmRDb21wbGV0ZShzZWxmLCBjbWQpCisgICAgICAgIHNlbGYuZmFpbGVk
VGVzdENvdW50ID0gc2VsZi5jb3VudEZhaWx1cmVzKGNtZCkKKyAgICAgICAgc2VsZi5mYWlsZWRU
ZXN0UGx1cmFsU3VmZml4ID0gIiIgaWYgc2VsZi5mYWlsZWRUZXN0Q291bnQgPT0gMSBlbHNlICJz
IgorCisgICAgZGVmIGV2YWx1YXRlQ29tbWFuZChzZWxmLCBjbWQpOgorICAgICAgICBpZiBzZWxm
LmZhaWxlZFRlc3RDb3VudDoKKyAgICAgICAgICAgIHJldHVybiBGQUlMVVJFCisKKyAgICAgICAg
aWYgY21kLnJjICE9IDA6CisgICAgICAgICAgICByZXR1cm4gRkFJTFVSRQorCisgICAgICAgIHJl
dHVybiBTVUNDRVNTCisKKyAgICBkZWYgZ2V0UmVzdWx0U3VtbWFyeShzZWxmKToKKyAgICAgICAg
c3RhdHVzID0gc2VsZi5uYW1lCisKKyAgICAgICAgaWYgc2VsZi5yZXN1bHRzICE9IFNVQ0NFU1Mg
YW5kIHNlbGYuZmFpbGVkVGVzdENvdW50OgorICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5mYWls
ZWRUZXN0c0Zvcm1hdFN0cmluZyAlIChzZWxmLmZhaWxlZFRlc3RDb3VudCwgc2VsZi5mYWlsZWRU
ZXN0UGx1cmFsU3VmZml4KQorCisgICAgICAgIGlmIHNlbGYucmVzdWx0cyAhPSBTVUNDRVNTOgor
ICAgICAgICAgICAgc3RhdHVzICs9IHUnICh7fSknLmZvcm1hdChSZXN1bHRzW3NlbGYucmVzdWx0
c10pCisKKyAgICAgICAgcmV0dXJuIHt1J3N0ZXAnOiBzdGF0dXN9CisKKwogY2xhc3MgUnVuQmlu
ZGluZ3NUZXN0cyhzaGVsbC5TaGVsbENvbW1hbmQpOgogICAgIG5hbWUgPSAnYmluZGluZ3MtdGVz
dHMnCiAgICAgZGVzY3JpcHRpb24gPSBbJ2JpbmRpbmdzLXRlc3RzIHJ1bm5pbmcnXQpAQCAtMzMw
LDMgKzM3MCwyMyBAQCBjbGFzcyBFeHRyYWN0QnVpbHRQcm9kdWN0KHNoZWxsLlNoZWxsQ29tCiAg
ICAgZGVzY3JpcHRpb25Eb25lID0gWydleHRyYWN0ZWQgYnVpbHQgcHJvZHVjdCddCiAgICAgaGFs
dE9uRmFpbHVyZSA9IFRydWUKICAgICBmbHVua09uRmFpbHVyZSA9IFRydWUKKworCitjbGFzcyBS
dW5BUElUZXN0cyhUZXN0V2l0aEZhaWx1cmVDb3VudCk6CisgICAgbmFtZSA9ICdydW4tYXBpLXRl
c3RzJworICAgIGRlc2NyaXB0aW9uID0gWydhcGkgdGVzdHMgcnVubmluZyddCisgICAgZGVzY3Jp
cHRpb25Eb25lID0gWydhcGktdGVzdHMnXQorICAgIGNvbW1hbmQgPSBbJ3B5dGhvbicsICdUb29s
cy9TY3JpcHRzL3J1bi1hcGktdGVzdHMnLCAnLS1uby1idWlsZCcsIFdpdGhQcm9wZXJ0aWVzKCct
LSUoY29uZmlndXJhdGlvbilzJyksICctLXZlcmJvc2UnXQorICAgIGZhaWxlZFRlc3RzRm9ybWF0
U3RyaW5nID0gJyVkIGFwaSB0ZXN0JXMgZmFpbGVkIG9yIHRpbWVkIG91dCcKKworICAgIGRlZiBz
dGFydChzZWxmKToKKyAgICAgICAgYXBwZW5kQ3VzdG9tQnVpbGRGbGFncyhzZWxmLCBzZWxmLmdl
dFByb3BlcnR5KCdwbGF0Zm9ybScpLCBzZWxmLmdldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nKSkK
KyAgICAgICAgcmV0dXJuIFRlc3RXaXRoRmFpbHVyZUNvdW50LnN0YXJ0KHNlbGYpCisKKyAgICBk
ZWYgY291bnRGYWlsdXJlcyhzZWxmLCBjbWQpOgorICAgICAgICBsb2dfdGV4dCA9IHNlbGYubG9n
X29ic2VydmVyLmdldFN0ZG91dCgpICsgc2VsZi5sb2dfb2JzZXJ2ZXIuZ2V0U3RkZXJyKCkKKwor
ICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChyJ1JhbiAoP1A8cmFuPlxkKykgdGVzdHMgb2YgKD9Q
PHRvdGFsPlxkKykgd2l0aCAoP1A8cGFzc2VkPlxkKykgc3VjY2Vzc2Z1bCcsIGxvZ190ZXh0KQor
ICAgICAgICBpZiBub3QgbWF0Y2g6CisgICAgICAgICAgICByZXR1cm4gLTEKKyAgICAgICAgcmV0
dXJuIGludChtYXRjaC5ncm91cCgncmFuJykpIC0gaW50KG1hdGNoLmdyb3VwKCdwYXNzZWQnKSkK
SW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5w
eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNf
dW5pdHRlc3QucHkJKHJldmlzaW9uIDIzNDI3NykKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weQkod29ya2luZyBjb3B5KQpAQCAtODU4LDUgKzg1
OCwxODcgQEAgY2xhc3MgVGVzdEV4dHJhY3RCdWlsdFByb2R1Y3QoQnVpbGRTdGVwTQogICAgICAg
ICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKIAogCitjbGFzcyBUZXN0UnVuQVBJVGVzdHMoQnVpbGRT
dGVwTWl4aW5BZGRpdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgc2V0VXAoc2Vs
Zik6CisgICAgICAgIHNlbGYubG9uZ01lc3NhZ2UgPSBUcnVlCisgICAgICAgIHJldHVybiBzZWxm
LnNldFVwQnVpbGRTdGVwKCkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgcmV0
dXJuIHNlbGYudGVhckRvd25CdWlsZFN0ZXAoKQorCisgICAgZGVmIHRlc3Rfc3VjY2Vzc19tYWMo
c2VsZik6CisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFJ1bkFQSVRlc3RzKCkpCisgICAgICAgIHNl
bGYuc2V0UHJvcGVydHkoJ2Z1bGxQbGF0Zm9ybScsICdtYWMtc2llcnJhJykKKyAgICAgICAgc2Vs
Zi5zZXRQcm9wZXJ0eSgncGxhdGZvcm0nLCAnbWFjJykKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0
eSgnY29uZmlndXJhdGlvbicsICdyZWxlYXNlJykKKworICAgICAgICBzZWxmLmV4cGVjdFJlbW90
ZUNvbW1hbmRzKAorICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAorICAg
ICAgICAgICAgICAgICAgICAgICAgY29tbWFuZD1bJ3B5dGhvbicsICdUb29scy9TY3JpcHRzL3J1
bi1hcGktdGVzdHMnLCAnLS1uby1idWlsZCcsICctLXJlbGVhc2UnLCAnLS12ZXJib3NlJ10sCisg
ICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICArIEV4cGVjdFNoZWxsLmxvZygn
c3RkaW8nLCBzdGRvdXQ9JycnLi4uCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50Lk9wZXJh
dG9yQW1wZXJzYW5kIFBhc3NlZAord29ya2VyLzAgVGVzdFdURi5XVEZfVmFyaWFudC5SZWYgUGFz
c2VkCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50LlJlZlB0ciBQYXNzZWQKK3dvcmtlci8w
IFRlc3RXVEYuV1RGX1ZhcmlhbnQuUmV0YWluUHRyIFBhc3NlZAord29ya2VyLzAgVGVzdFdURi5X
VEZfVmFyaWFudC5WaXNpdG9yVXNpbmdNYWtlVmlzaXRvciBQYXNzZWQKK3dvcmtlci8wIFRlc3RX
VEYuV1RGX1ZhcmlhbnQuVmlzaXRvclVzaW5nU3dpdGNoT24gUGFzc2VkCitSYW4gMTg4OCB0ZXN0
cyBvZiAxODg4IHdpdGggMTg4OCBzdWNjZXNzZnVsCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK0FsbCB0ZXN0cyBzdWNjZXNzZnVsbHkgcGFzc2VkIQorJycnKQorICAgICAgICAgICAg
KyAwLAorICAgICAgICApCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VT
Uywgc3RhdGVfc3RyaW5nPSdydW4tYXBpLXRlc3RzJykKKyAgICAgICAgcmV0dXJuIHNlbGYucnVu
U3RlcCgpCisKKyAgICBkZWYgdGVzdF9zdWNjZXNzX2lvc19zaW11bGF0b3Ioc2VsZik6CisgICAg
ICAgIHNlbGYuc2V0dXBTdGVwKFJ1bkFQSVRlc3RzKCkpCisgICAgICAgIHNlbGYuc2V0UHJvcGVy
dHkoJ2Z1bGxQbGF0Zm9ybScsICdpb3Mtc2ltdWxhdG9yLTExJykKKyAgICAgICAgc2VsZi5zZXRQ
cm9wZXJ0eSgncGxhdGZvcm0nLCAnaW9zJykKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnY29u
ZmlndXJhdGlvbicsICdkZWJ1ZycpCisKKyAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5k
cygKKyAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbW1hbmQ9WydweXRob24nLCAnVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRl
c3RzJywgJy0tbm8tYnVpbGQnLCAnLS1kZWJ1ZycsICctLXZlcmJvc2UnLCAnLS1pb3Mtc2ltdWxh
dG9yJ10sCisgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICArIEV4cGVjdFNo
ZWxsLmxvZygnc3RkaW8nLCBzdGRvdXQ9JycnLi4uCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJp
YW50Lk9wZXJhdG9yQW1wZXJzYW5kIFBhc3NlZAord29ya2VyLzAgVGVzdFdURi5XVEZfVmFyaWFu
dC5SZWYgUGFzc2VkCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50LlJlZlB0ciBQYXNzZWQK
K3dvcmtlci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQuUmV0YWluUHRyIFBhc3NlZAord29ya2VyLzAg
VGVzdFdURi5XVEZfVmFyaWFudC5WaXNpdG9yVXNpbmdNYWtlVmlzaXRvciBQYXNzZWQKK3dvcmtl
ci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQuVmlzaXRvclVzaW5nU3dpdGNoT24gUGFzc2VkCitSYW4g
MTg4OCB0ZXN0cyBvZiAxODg4IHdpdGggMTg4OCBzdWNjZXNzZnVsCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK0FsbCB0ZXN0cyBzdWNjZXNzZnVsbHkgcGFzc2VkIQorJycnKQorICAg
ICAgICAgICAgKyAwLAorICAgICAgICApCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1
bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdydW4tYXBpLXRlc3RzJykKKyAgICAgICAgcmV0dXJu
IHNlbGYucnVuU3RlcCgpCisKKyAgICBkZWYgdGVzdF9vbmVfZmFpbHVyZShzZWxmKToKKyAgICAg
ICAgc2VsZi5zZXR1cFN0ZXAoUnVuQVBJVGVzdHMoKSkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0
eSgnZnVsbFBsYXRmb3JtJywgJ21hYy1zaWVycmEnKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5
KCdwbGF0Zm9ybScsICdtYWMnKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdjb25maWd1cmF0
aW9uJywgJ2RlYnVnJykKKworICAgICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAorICAg
ICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAorICAgICAgICAgICAgICAgICAg
ICAgICAgY29tbWFuZD1bJ3B5dGhvbicsICdUb29scy9TY3JpcHRzL3J1bi1hcGktdGVzdHMnLCAn
LS1uby1idWlsZCcsICctLWRlYnVnJywgJy0tdmVyYm9zZSddLAorICAgICAgICAgICAgICAgICAg
ICAgICAgKQorICAgICAgICAgICAgKyBFeHBlY3RTaGVsbC5sb2coJ3N0ZGlvJywgc3Rkb3V0PScn
Jword29ya2VyLzAgVGVzdFdURi5XVEZfVmFyaWFudC5PcGVyYXRvckFtcGVyc2FuZCBQYXNzZWQK
K3dvcmtlci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQuUmVmIFBhc3NlZAord29ya2VyLzAgVGVzdFdU
Ri5XVEZfVmFyaWFudC5SZWZQdHIgUGFzc2VkCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50
LlJldGFpblB0ciBQYXNzZWQKK3dvcmtlci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQuVmlzaXRvclVz
aW5nTWFrZVZpc2l0b3IgUGFzc2VkCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50LlZpc2l0
b3JVc2luZ1N3aXRjaE9uIFBhc3NlZAord29ya2VyLzAgZXhpdGluZworUmFuIDE4ODggdGVzdHMg
b2YgMTg4OCB3aXRoIDE4ODcgc3VjY2Vzc2Z1bAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitUZXN0IHN1aXRlIGZhaWxlZAorCitDcmFzaGVkCisKKyAgICBUZXN0V1RGLldURi5TdHJp
bmdDb25jYXRlbmF0ZV9VbnNpZ25lZAorICAgICAgICAqKkZBSUwqKiBXVEYuU3RyaW5nQ29uY2F0
ZW5hdGVfVW5zaWduZWQKKworICAgICAgICBUb29sc1xcVGVzdFdlYktpdEFQSVxcVGVzdHNcXFdU
RlxcU3RyaW5nQ29uY2F0ZW5hdGUuY3BwOjg0CisgICAgICAgIFZhbHVlIG9mOiBtYWtlU3RyaW5n
KCdoZWxsbyAnLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBzaG9ydD4oNDIpICwgJyB3b3JsZCcpCisg
ICAgICAgICAgQWN0dWFsOiBoZWxsbyA0MiB3b3JsZAorICAgICAgICBFeHBlY3RlZDogJ2hlbGxv
ICogd29ybGQnCisgICAgICAgIFdoaWNoIGlzOiA3NEIwMEM5QworCitUZXN0aW5nIGNvbXBsZXRl
ZCwgRXhpdCBzdGF0dXM6IDMKKycnJykKKyAgICAgICAgICAgICsgMSwKKyAgICAgICAgKQorICAg
ICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PUZBSUxVUkUsIHN0YXRlX3N0cmluZz0nMSBh
cGkgdGVzdCBmYWlsZWQgb3IgdGltZWQgb3V0IChmYWlsdXJlKScpCisgICAgICAgIHJldHVybiBz
ZWxmLnJ1blN0ZXAoKQorCisgICAgZGVmIHRlc3RfbXVsdGlwbGVfZmFpbHVyZXNfYW5kX3RpbWVv
dXRzKHNlbGYpOgorICAgICAgICBzZWxmLnNldHVwU3RlcChSdW5BUElUZXN0cygpKQorICAgICAg
ICBzZWxmLnNldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nLCAnbWFjLXNpZXJyYScpCisgICAgICAg
IHNlbGYuc2V0UHJvcGVydHkoJ3BsYXRmb3JtJywgJ21hYycpCisgICAgICAgIHNlbGYuc2V0UHJv
cGVydHkoJ2NvbmZpZ3VyYXRpb24nLCAnZGVidWcnKQorCisgICAgICAgIHNlbGYuZXhwZWN0UmVt
b3RlQ29tbWFuZHMoCisgICAgICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCisg
ICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPVsncHl0aG9uJywgJ1Rvb2xzL1NjcmlwdHMv
cnVuLWFwaS10ZXN0cycsICctLW5vLWJ1aWxkJywgJy0tZGVidWcnLCAnLS12ZXJib3NlJ10sCisg
ICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICArIEV4cGVjdFNoZWxsLmxvZygn
c3RkaW8nLCBzdGRvdXQ9JycnLi4uCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50Lk9wZXJh
dG9yQW1wZXJzYW5kIFBhc3NlZAord29ya2VyLzAgVGVzdFdURi5XVEZfVmFyaWFudC5SZWYgUGFz
c2VkCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50LlJlZlB0ciBQYXNzZWQKK3dvcmtlci8w
IFRlc3RXVEYuV1RGX1ZhcmlhbnQuUmV0YWluUHRyIFBhc3NlZAord29ya2VyLzAgVGVzdFdURi5X
VEZfVmFyaWFudC5WaXNpdG9yVXNpbmdNYWtlVmlzaXRvciBQYXNzZWQKK3dvcmtlci8wIFRlc3RX
VEYuV1RGX1ZhcmlhbnQuVmlzaXRvclVzaW5nU3dpdGNoT24gUGFzc2VkCit3b3JrZXIvMCBleGl0
aW5nCitSYW4gMTg4OCB0ZXN0cyBvZiAxODg4IHdpdGggMTg4NCBzdWNjZXNzZnVsCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Rlc3Qgc3VpdGUgZmFpbGVkCisKK0ZhaWxlZAorCisg
ICAgVGVzdFdURi5XVEYuU3RyaW5nQ29uY2F0ZW5hdGVfVW5zaWduZWQKKyAgICAgICAgKipGQUlM
KiogV1RGLlN0cmluZ0NvbmNhdGVuYXRlX1Vuc2lnbmVkCisKKyAgICAgICAgVG9vbHNcXFRlc3RX
ZWJLaXRBUElcXFRlc3RzXFxXVEZcXFN0cmluZ0NvbmNhdGVuYXRlLmNwcDo4NAorICAgICAgICBW
YWx1ZSBvZjogbWFrZVN0cmluZygnaGVsbG8gJywgc3RhdGljX2Nhc3Q8dW5zaWduZWQgc2hvcnQ+
KDQyKSAsICcgd29ybGQnKQorICAgICAgICAgIEFjdHVhbDogaGVsbG8gNDIgd29ybGQKKyAgICAg
ICAgRXhwZWN0ZWQ6ICdoZWxsbyAqIHdvcmxkJworICAgICAgICBXaGljaCBpczogNzRCMDBDOUMK
KworICAgIFRlc3RXVEYuV1RGX0V4cGVjdGVkLlVuZXhwZWN0ZWQKKyAgICAgICAgKipGQUlMKiog
V1RGX0V4cGVjdGVkLlVuZXhwZWN0ZWQKKworICAgICAgICBUb29sc1xUZXN0V2ViS2l0QVBJXFRl
c3RzXFdURlxFeHBlY3RlZC5jcHA6OTYKKyAgICAgICAgVmFsdWUgb2Y6IHMxCisgICAgICAgICAg
QWN0dWFsOiBvb3BzCisgICAgICAgIEV4cGVjdGVkOiBzMAorICAgICAgICBXaGljaCBpczogb29w
cworCitUaW1lb3V0CisKKyAgICBUZXN0V1RGLldURl9Qb2lzb25lZFVuaXF1ZVB0ckZvclRyaXZp
YWxseURlc3RydWN0aWJsZUFycmF5cy5Bc3NpZ25tZW50CisgICAgVGVzdFdURi5XVEZfTG9jay5D
b250ZW5kZWRTaG9ydFNlY3Rpb24KKworVGVzdGluZyBjb21wbGV0ZWQsIEV4aXQgc3RhdHVzOiAz
CisnJycpCisgICAgICAgICAgICArIDQsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5leHBlY3RP
dXRjb21lKHJlc3VsdD1GQUlMVVJFLCBzdGF0ZV9zdHJpbmc9JzQgYXBpIHRlc3RzIGZhaWxlZCBv
ciB0aW1lZCBvdXQgKGZhaWx1cmUpJykKKyAgICAgICAgcmV0dXJuIHNlbGYucnVuU3RlcCgpCisK
KyAgICBkZWYgdGVzdF9ub19mYWlsdXJlc19vcl90aW1lb3V0c193aXRoX2Rpc2FibGVkKHNlbGYp
OgorICAgICAgICBzZWxmLnNldHVwU3RlcChSdW5BUElUZXN0cygpKQorICAgICAgICBzZWxmLnNl
dFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nLCAnbWFjLXNpZXJyYScpCisgICAgICAgIHNlbGYuc2V0
UHJvcGVydHkoJ3BsYXRmb3JtJywgJ21hYycpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2Nv
bmZpZ3VyYXRpb24nLCAnZGVidWcnKQorCisgICAgICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFu
ZHMoCisgICAgICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCisgICAgICAgICAg
ICAgICAgICAgICAgICBjb21tYW5kPVsncHl0aG9uJywgJ1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10
ZXN0cycsICctLW5vLWJ1aWxkJywgJy0tZGVidWcnLCAnLS12ZXJib3NlJ10sCisgICAgICAgICAg
ICAgICAgICAgICAgICApCisgICAgICAgICAgICArIEV4cGVjdFNoZWxsLmxvZygnc3RkaW8nLCBz
dGRvdXQ9JycnLi4uCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50Lk9wZXJhdG9yQW1wZXJz
YW5kIFBhc3NlZAord29ya2VyLzAgVGVzdFdURi5XVEZfVmFyaWFudC5SZWYgUGFzc2VkCit3b3Jr
ZXIvMCBUZXN0V1RGLldURl9WYXJpYW50LlJlZlB0ciBQYXNzZWQKK3dvcmtlci8wIFRlc3RXVEYu
V1RGX1ZhcmlhbnQuUmV0YWluUHRyIFBhc3NlZAord29ya2VyLzAgVGVzdFdURi5XVEZfVmFyaWFu
dC5WaXNpdG9yVXNpbmdNYWtlVmlzaXRvciBQYXNzZWQKK3dvcmtlci8wIFRlc3RXVEYuV1RGX1Zh
cmlhbnQuVmlzaXRvclVzaW5nU3dpdGNoT24gUGFzc2VkCit3b3JrZXIvMCBleGl0aW5nCitSYW4g
MTg4MSB0ZXN0cyBvZiAxODg4IHdpdGggMTg4MSBzdWNjZXNzZnVsCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK0FsbCB0ZXN0cyBzdWNjZXNzZnVsbHkgcGFzc2VkIQorJycnKQorICAg
ICAgICAgICAgKyAwLAorICAgICAgICApCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1
bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdydW4tYXBpLXRlc3RzJykKKyAgICAgICAgcmV0dXJu
IHNlbGYucnVuU3RlcCgpCisKKwogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB1bml0
dGVzdC5tYWluKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345876</attachid>
            <date>2018-07-26 15:07:14 -0700</date>
            <delta_ts>2018-07-26 15:18:33 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>ews_APITests_v2.patch</filename>
            <type>text/plain</type>
            <size>12389</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIzNDI3NykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDE4LTA3LTI2ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbZXdzLWJ1aWxkXSBBZGQgYnVpbGQgc3RlcCB0byBydW4gQVBJIFRlc3Rz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODgwNzkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEJ1aWxk
U2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKFRlc3RXaXRoRmFpbHVy
ZUNvdW50KTogQ29tbW9uIGNsYXNzIGZvciB2YXJpb3VzIHRlc3RzIHdpdGggZmFpbHVyZSBjb3Vu
dC4KKyAgICAgICAgKFRlc3RXaXRoRmFpbHVyZUNvdW50LnN0YXJ0KTogQ29uZmlndXJlIEJ1aWxk
Ym90J3MgbG9nb2JzZXJ2ZXIuCisgICAgICAgIChUZXN0V2l0aEZhaWx1cmVDb3VudC5jb21tYW5k
Q29tcGxldGUpOiBVcGRhdGVzIHRoZSBmYWlsdXJlIGNvdW50LgorICAgICAgICAoVGVzdFdpdGhG
YWlsdXJlQ291bnQuZXZhbHVhdGVDb21tYW5kKTogU2V0IHRoZSBzdGVwIHN0YXR1cyBhcHByb3By
aWF0ZWx5LgorICAgICAgICAoVGVzdFdpdGhGYWlsdXJlQ291bnQuZ2V0UmVzdWx0U3VtbWFyeSk6
IFNldCB0aGUgc3RlcCBzdW1tYXJ5IGFwcHJvcHJpYXRlbHkuCisgICAgICAgIChSdW5BUElUZXN0
cyk6IEJ1aWxkIHN0ZXAgdG8gcnVuIEFQSSB0ZXN0cy4KKyAgICAgICAgKFJ1bkFQSVRlc3RzLmNv
dW50RmFpbHVyZXMpOiBDb3VudCB0aGUgZmFpbHVyZXMgYnkgcGFyc2luZyB0aGUgb3V0cHV0Lgor
ICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191bml0dGVzdC5weTog
QWRkZWQgdW5pdC10ZXN0cy4KKwogMjAxOC0wNy0yNiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1
ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIzNDE4
MSBhbmQgcjIzNDE4OS4KSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9z
dGVwcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQv
c3RlcHMucHkJKHJldmlzaW9uIDIzNDI3NykKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3
cy1idWlsZC9zdGVwcy5weQkod29ya2luZyBjb3B5KQpAQCAtMjAsMTIgKzIwLDE0IEBACiAjIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWZyb20gYnVpbGRib3QucHJvY2Vz
cyBpbXBvcnQgYnVpbGRzdGVwLCBwcm9wZXJ0aWVzCitmcm9tIGJ1aWxkYm90LnByb2Nlc3MgaW1w
b3J0IGJ1aWxkc3RlcCwgbG9nb2JzZXJ2ZXIsIHByb3BlcnRpZXMKIGZyb20gYnVpbGRib3QucHJv
Y2Vzcy5yZXN1bHRzIGltcG9ydCBSZXN1bHRzLCBTVUNDRVNTLCBGQUlMVVJFLCBXQVJOSU5HUywg
U0tJUFBFRCwgRVhDRVBUSU9OLCBSRVRSWQogZnJvbSBidWlsZGJvdC5zdGVwcyBpbXBvcnQgc2hl
bGwsIHRyYW5zZmVyCiBmcm9tIGJ1aWxkYm90LnN0ZXBzLnNvdXJjZSBpbXBvcnQgc3ZuCiBmcm9t
IHR3aXN0ZWQuaW50ZXJuZXQgaW1wb3J0IGRlZmVyCiAKK2ltcG9ydCByZQorCiBFV1NfVVJMID0g
J2h0dHA6Ly9ld3MtYnVpbGQud2Via2l0LXVhdC5vcmcvJwogV2l0aFByb3BlcnRpZXMgPSBwcm9w
ZXJ0aWVzLldpdGhQcm9wZXJ0aWVzCiAKQEAgLTg5LDYgKzkxLDQ0IEBAIGNsYXNzIENoZWNrU3R5
bGUoc2hlbGwuU2hlbGxDb21tYW5kKToKICAgICBjb21tYW5kID0gWydUb29scy9TY3JpcHRzL2No
ZWNrLXdlYmtpdC1zdHlsZSddCiAKIAorY2xhc3MgVGVzdFdpdGhGYWlsdXJlQ291bnQoc2hlbGwu
VGVzdCk6CisgICAgZmFpbGVkVGVzdHNGb3JtYXRTdHJpbmcgPSAiJWQgdGVzdCVzIGZhaWxlZCIK
KyAgICBmYWlsZWRUZXN0Q291bnQgPSAwCisKKyAgICBkZWYgc3RhcnQoc2VsZik6CisgICAgICAg
IHNlbGYubG9nX29ic2VydmVyID0gbG9nb2JzZXJ2ZXIuQnVmZmVyTG9nT2JzZXJ2ZXIod2FudFN0
ZGVycj1UcnVlKQorICAgICAgICBzZWxmLmFkZExvZ09ic2VydmVyKCdzdGRpbycsIHNlbGYubG9n
X29ic2VydmVyKQorICAgICAgICByZXR1cm4gc2hlbGwuVGVzdC5zdGFydChzZWxmKQorCisgICAg
ZGVmIGNvdW50RmFpbHVyZXMoc2VsZiwgY21kKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50
ZWRFcnJvcgorCisgICAgZGVmIGNvbW1hbmRDb21wbGV0ZShzZWxmLCBjbWQpOgorICAgICAgICBz
aGVsbC5UZXN0LmNvbW1hbmRDb21wbGV0ZShzZWxmLCBjbWQpCisgICAgICAgIHNlbGYuZmFpbGVk
VGVzdENvdW50ID0gc2VsZi5jb3VudEZhaWx1cmVzKGNtZCkKKyAgICAgICAgc2VsZi5mYWlsZWRU
ZXN0UGx1cmFsU3VmZml4ID0gIiIgaWYgc2VsZi5mYWlsZWRUZXN0Q291bnQgPT0gMSBlbHNlICJz
IgorCisgICAgZGVmIGV2YWx1YXRlQ29tbWFuZChzZWxmLCBjbWQpOgorICAgICAgICBpZiBzZWxm
LmZhaWxlZFRlc3RDb3VudDoKKyAgICAgICAgICAgIHJldHVybiBGQUlMVVJFCisKKyAgICAgICAg
aWYgY21kLnJjICE9IDA6CisgICAgICAgICAgICByZXR1cm4gRkFJTFVSRQorCisgICAgICAgIHJl
dHVybiBTVUNDRVNTCisKKyAgICBkZWYgZ2V0UmVzdWx0U3VtbWFyeShzZWxmKToKKyAgICAgICAg
c3RhdHVzID0gc2VsZi5uYW1lCisKKyAgICAgICAgaWYgc2VsZi5yZXN1bHRzICE9IFNVQ0NFU1Mg
YW5kIHNlbGYuZmFpbGVkVGVzdENvdW50OgorICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5mYWls
ZWRUZXN0c0Zvcm1hdFN0cmluZyAlIChzZWxmLmZhaWxlZFRlc3RDb3VudCwgc2VsZi5mYWlsZWRU
ZXN0UGx1cmFsU3VmZml4KQorCisgICAgICAgIGlmIHNlbGYucmVzdWx0cyAhPSBTVUNDRVNTOgor
ICAgICAgICAgICAgc3RhdHVzICs9IHUnICh7fSknLmZvcm1hdChSZXN1bHRzW3NlbGYucmVzdWx0
c10pCisKKyAgICAgICAgcmV0dXJuIHt1J3N0ZXAnOiBzdGF0dXN9CisKKwogY2xhc3MgUnVuQmlu
ZGluZ3NUZXN0cyhzaGVsbC5TaGVsbENvbW1hbmQpOgogICAgIG5hbWUgPSAnYmluZGluZ3MtdGVz
dHMnCiAgICAgZGVzY3JpcHRpb24gPSBbJ2JpbmRpbmdzLXRlc3RzIHJ1bm5pbmcnXQpAQCAtMzMw
LDMgKzM3MCwyMyBAQCBjbGFzcyBFeHRyYWN0QnVpbHRQcm9kdWN0KHNoZWxsLlNoZWxsQ29tCiAg
ICAgZGVzY3JpcHRpb25Eb25lID0gWydleHRyYWN0ZWQgYnVpbHQgcHJvZHVjdCddCiAgICAgaGFs
dE9uRmFpbHVyZSA9IFRydWUKICAgICBmbHVua09uRmFpbHVyZSA9IFRydWUKKworCitjbGFzcyBS
dW5BUElUZXN0cyhUZXN0V2l0aEZhaWx1cmVDb3VudCk6CisgICAgbmFtZSA9ICdydW4tYXBpLXRl
c3RzJworICAgIGRlc2NyaXB0aW9uID0gWydhcGkgdGVzdHMgcnVubmluZyddCisgICAgZGVzY3Jp
cHRpb25Eb25lID0gWydhcGktdGVzdHMnXQorICAgIGNvbW1hbmQgPSBbJ3B5dGhvbicsICdUb29s
cy9TY3JpcHRzL3J1bi1hcGktdGVzdHMnLCAnLS1uby1idWlsZCcsIFdpdGhQcm9wZXJ0aWVzKCct
LSUoY29uZmlndXJhdGlvbilzJyksICctLXZlcmJvc2UnXQorICAgIGZhaWxlZFRlc3RzRm9ybWF0
U3RyaW5nID0gJyVkIGFwaSB0ZXN0JXMgZmFpbGVkIG9yIHRpbWVkIG91dCcKKworICAgIGRlZiBz
dGFydChzZWxmKToKKyAgICAgICAgYXBwZW5kQ3VzdG9tQnVpbGRGbGFncyhzZWxmLCBzZWxmLmdl
dFByb3BlcnR5KCdwbGF0Zm9ybScpLCBzZWxmLmdldFByb3BlcnR5KCdmdWxsUGxhdGZvcm0nKSkK
KyAgICAgICAgcmV0dXJuIFRlc3RXaXRoRmFpbHVyZUNvdW50LnN0YXJ0KHNlbGYpCisKKyAgICBk
ZWYgY291bnRGYWlsdXJlcyhzZWxmLCBjbWQpOgorICAgICAgICBsb2dfdGV4dCA9IHNlbGYubG9n
X29ic2VydmVyLmdldFN0ZG91dCgpICsgc2VsZi5sb2dfb2JzZXJ2ZXIuZ2V0U3RkZXJyKCkKKwor
ICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaChyJ1JhbiAoP1A8cmFuPlxkKykgdGVzdHMgb2YgKD9Q
PHRvdGFsPlxkKykgd2l0aCAoP1A8cGFzc2VkPlxkKykgc3VjY2Vzc2Z1bCcsIGxvZ190ZXh0KQor
ICAgICAgICBpZiBub3QgbWF0Y2g6CisgICAgICAgICAgICByZXR1cm4gMAorICAgICAgICByZXR1
cm4gaW50KG1hdGNoLmdyb3VwKCdyYW4nKSkgLSBpbnQobWF0Y2guZ3JvdXAoJ3Bhc3NlZCcpKQpJ
bmRleDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwc191
bml0dGVzdC5weQkocmV2aXNpb24gMjM0Mjc3KQorKysgVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
ZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC04NTgsNSArODU4
LDIwMyBAQCBjbGFzcyBUZXN0RXh0cmFjdEJ1aWx0UHJvZHVjdChCdWlsZFN0ZXBNCiAgICAgICAg
IHJldHVybiBzZWxmLnJ1blN0ZXAoKQogCiAKK2NsYXNzIFRlc3RSdW5BUElUZXN0cyhCdWlsZFN0
ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxm
KToKKyAgICAgICAgc2VsZi5sb25nTWVzc2FnZSA9IFRydWUKKyAgICAgICAgcmV0dXJuIHNlbGYu
c2V0VXBCdWlsZFN0ZXAoKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICByZXR1
cm4gc2VsZi50ZWFyRG93bkJ1aWxkU3RlcCgpCisKKyAgICBkZWYgdGVzdF9zdWNjZXNzX21hYyhz
ZWxmKToKKyAgICAgICAgc2VsZi5zZXR1cFN0ZXAoUnVuQVBJVGVzdHMoKSkKKyAgICAgICAgc2Vs
Zi5zZXRQcm9wZXJ0eSgnZnVsbFBsYXRmb3JtJywgJ21hYy1zaWVycmEnKQorICAgICAgICBzZWxm
LnNldFByb3BlcnR5KCdwbGF0Zm9ybScsICdtYWMnKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5
KCdjb25maWd1cmF0aW9uJywgJ3JlbGVhc2UnKQorCisgICAgICAgIHNlbGYuZXhwZWN0UmVtb3Rl
Q29tbWFuZHMoCisgICAgICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCisgICAg
ICAgICAgICAgICAgICAgICAgICBjb21tYW5kPVsncHl0aG9uJywgJ1Rvb2xzL1NjcmlwdHMvcnVu
LWFwaS10ZXN0cycsICctLW5vLWJ1aWxkJywgJy0tcmVsZWFzZScsICctLXZlcmJvc2UnXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICsgRXhwZWN0U2hlbGwubG9nKCdz
dGRpbycsIHN0ZG91dD0nJycuLi4KK3dvcmtlci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQuT3BlcmF0
b3JBbXBlcnNhbmQgUGFzc2VkCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50LlJlZiBQYXNz
ZWQKK3dvcmtlci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQuUmVmUHRyIFBhc3NlZAord29ya2VyLzAg
VGVzdFdURi5XVEZfVmFyaWFudC5SZXRhaW5QdHIgUGFzc2VkCit3b3JrZXIvMCBUZXN0V1RGLldU
Rl9WYXJpYW50LlZpc2l0b3JVc2luZ01ha2VWaXNpdG9yIFBhc3NlZAord29ya2VyLzAgVGVzdFdU
Ri5XVEZfVmFyaWFudC5WaXNpdG9yVXNpbmdTd2l0Y2hPbiBQYXNzZWQKK1JhbiAxODg4IHRlc3Rz
IG9mIDE4ODggd2l0aCAxODg4IHN1Y2Nlc3NmdWwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorQWxsIHRlc3RzIHN1Y2Nlc3NmdWxseSBwYXNzZWQhCisnJycpCisgICAgICAgICAgICAr
IDAsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3VsdD1TVUNDRVNT
LCBzdGF0ZV9zdHJpbmc9J3J1bi1hcGktdGVzdHMnKQorICAgICAgICByZXR1cm4gc2VsZi5ydW5T
dGVwKCkKKworICAgIGRlZiB0ZXN0X3N1Y2Nlc3NfaW9zX3NpbXVsYXRvcihzZWxmKToKKyAgICAg
ICAgc2VsZi5zZXR1cFN0ZXAoUnVuQVBJVGVzdHMoKSkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0
eSgnZnVsbFBsYXRmb3JtJywgJ2lvcy1zaW11bGF0b3ItMTEnKQorICAgICAgICBzZWxmLnNldFBy
b3BlcnR5KCdwbGF0Zm9ybScsICdpb3MnKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdjb25m
aWd1cmF0aW9uJywgJ2RlYnVnJykKKworICAgICAgICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRz
KAorICAgICAgICAgICAgRXhwZWN0U2hlbGwod29ya2Rpcj0nd2tkaXInLAorICAgICAgICAgICAg
ICAgICAgICAgICAgY29tbWFuZD1bJ3B5dGhvbicsICdUb29scy9TY3JpcHRzL3J1bi1hcGktdGVz
dHMnLCAnLS1uby1idWlsZCcsICctLWRlYnVnJywgJy0tdmVyYm9zZScsICctLWlvcy1zaW11bGF0
b3InXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICsgRXhwZWN0U2hl
bGwubG9nKCdzdGRpbycsIHN0ZG91dD0nJycuLi4KK3dvcmtlci8wIFRlc3RXVEYuV1RGX1Zhcmlh
bnQuT3BlcmF0b3JBbXBlcnNhbmQgUGFzc2VkCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50
LlJlZiBQYXNzZWQKK3dvcmtlci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQuUmVmUHRyIFBhc3NlZAor
d29ya2VyLzAgVGVzdFdURi5XVEZfVmFyaWFudC5SZXRhaW5QdHIgUGFzc2VkCit3b3JrZXIvMCBU
ZXN0V1RGLldURl9WYXJpYW50LlZpc2l0b3JVc2luZ01ha2VWaXNpdG9yIFBhc3NlZAord29ya2Vy
LzAgVGVzdFdURi5XVEZfVmFyaWFudC5WaXNpdG9yVXNpbmdTd2l0Y2hPbiBQYXNzZWQKK1JhbiAx
ODg4IHRlc3RzIG9mIDE4ODggd2l0aCAxODg4IHN1Y2Nlc3NmdWwKKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorQWxsIHRlc3RzIHN1Y2Nlc3NmdWxseSBwYXNzZWQhCisnJycpCisgICAg
ICAgICAgICArIDAsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21lKHJlc3Vs
dD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J3J1bi1hcGktdGVzdHMnKQorICAgICAgICByZXR1cm4g
c2VsZi5ydW5TdGVwKCkKKworICAgIGRlZiB0ZXN0X29uZV9mYWlsdXJlKHNlbGYpOgorICAgICAg
ICBzZWxmLnNldHVwU3RlcChSdW5BUElUZXN0cygpKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5
KCdmdWxsUGxhdGZvcm0nLCAnbWFjLXNpZXJyYScpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHko
J3BsYXRmb3JtJywgJ21hYycpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2NvbmZpZ3VyYXRp
b24nLCAnZGVidWcnKQorCisgICAgICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCisgICAg
ICAgICAgICBFeHBlY3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCisgICAgICAgICAgICAgICAgICAg
ICAgICBjb21tYW5kPVsncHl0aG9uJywgJ1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0cycsICct
LW5vLWJ1aWxkJywgJy0tZGVidWcnLCAnLS12ZXJib3NlJ10sCisgICAgICAgICAgICAgICAgICAg
ICAgICApCisgICAgICAgICAgICArIEV4cGVjdFNoZWxsLmxvZygnc3RkaW8nLCBzdGRvdXQ9Jycn
Cit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50Lk9wZXJhdG9yQW1wZXJzYW5kIFBhc3NlZAor
d29ya2VyLzAgVGVzdFdURi5XVEZfVmFyaWFudC5SZWYgUGFzc2VkCit3b3JrZXIvMCBUZXN0V1RG
LldURl9WYXJpYW50LlJlZlB0ciBQYXNzZWQKK3dvcmtlci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQu
UmV0YWluUHRyIFBhc3NlZAord29ya2VyLzAgVGVzdFdURi5XVEZfVmFyaWFudC5WaXNpdG9yVXNp
bmdNYWtlVmlzaXRvciBQYXNzZWQKK3dvcmtlci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQuVmlzaXRv
clVzaW5nU3dpdGNoT24gUGFzc2VkCit3b3JrZXIvMCBleGl0aW5nCitSYW4gMTg4OCB0ZXN0cyBv
ZiAxODg4IHdpdGggMTg4NyBzdWNjZXNzZnVsCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK1Rlc3Qgc3VpdGUgZmFpbGVkCisKK0NyYXNoZWQKKworICAgIFRlc3RXVEYuV1RGLlN0cmlu
Z0NvbmNhdGVuYXRlX1Vuc2lnbmVkCisgICAgICAgICoqRkFJTCoqIFdURi5TdHJpbmdDb25jYXRl
bmF0ZV9VbnNpZ25lZAorCisgICAgICAgIFRvb2xzXFxUZXN0V2ViS2l0QVBJXFxUZXN0c1xcV1RG
XFxTdHJpbmdDb25jYXRlbmF0ZS5jcHA6ODQKKyAgICAgICAgVmFsdWUgb2Y6IG1ha2VTdHJpbmco
J2hlbGxvICcsIHN0YXRpY19jYXN0PHVuc2lnbmVkIHNob3J0Pig0MikgLCAnIHdvcmxkJykKKyAg
ICAgICAgICBBY3R1YWw6IGhlbGxvIDQyIHdvcmxkCisgICAgICAgIEV4cGVjdGVkOiAnaGVsbG8g
KiB3b3JsZCcKKyAgICAgICAgV2hpY2ggaXM6IDc0QjAwQzlDCisKK1Rlc3RpbmcgY29tcGxldGVk
LCBFeGl0IHN0YXR1czogMworJycnKQorICAgICAgICAgICAgKyAxLAorICAgICAgICApCisgICAg
ICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9RkFJTFVSRSwgc3RhdGVfc3RyaW5nPScxIGFw
aSB0ZXN0IGZhaWxlZCBvciB0aW1lZCBvdXQgKGZhaWx1cmUpJykKKyAgICAgICAgcmV0dXJuIHNl
bGYucnVuU3RlcCgpCisKKyAgICBkZWYgdGVzdF9tdWx0aXBsZV9mYWlsdXJlc19hbmRfdGltZW91
dHMoc2VsZik6CisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFJ1bkFQSVRlc3RzKCkpCisgICAgICAg
IHNlbGYuc2V0UHJvcGVydHkoJ2Z1bGxQbGF0Zm9ybScsICdtYWMtc2llcnJhJykKKyAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgncGxhdGZvcm0nLCAnbWFjJykKKyAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgnY29uZmlndXJhdGlvbicsICdkZWJ1ZycpCisKKyAgICAgICAgc2VsZi5leHBlY3RSZW1v
dGVDb21tYW5kcygKKyAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydweXRob24nLCAnVG9vbHMvU2NyaXB0cy9y
dW4tYXBpLXRlc3RzJywgJy0tbm8tYnVpbGQnLCAnLS1kZWJ1ZycsICctLXZlcmJvc2UnXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICsgRXhwZWN0U2hlbGwubG9nKCdz
dGRpbycsIHN0ZG91dD0nJycuLi4KK3dvcmtlci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQuT3BlcmF0
b3JBbXBlcnNhbmQgUGFzc2VkCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50LlJlZiBQYXNz
ZWQKK3dvcmtlci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQuUmVmUHRyIFBhc3NlZAord29ya2VyLzAg
VGVzdFdURi5XVEZfVmFyaWFudC5SZXRhaW5QdHIgUGFzc2VkCit3b3JrZXIvMCBUZXN0V1RGLldU
Rl9WYXJpYW50LlZpc2l0b3JVc2luZ01ha2VWaXNpdG9yIFBhc3NlZAord29ya2VyLzAgVGVzdFdU
Ri5XVEZfVmFyaWFudC5WaXNpdG9yVXNpbmdTd2l0Y2hPbiBQYXNzZWQKK3dvcmtlci8wIGV4aXRp
bmcKK1JhbiAxODg4IHRlc3RzIG9mIDE4ODggd2l0aCAxODg0IHN1Y2Nlc3NmdWwKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVGVzdCBzdWl0ZSBmYWlsZWQKKworRmFpbGVkCisKKyAg
ICBUZXN0V1RGLldURi5TdHJpbmdDb25jYXRlbmF0ZV9VbnNpZ25lZAorICAgICAgICAqKkZBSUwq
KiBXVEYuU3RyaW5nQ29uY2F0ZW5hdGVfVW5zaWduZWQKKworICAgICAgICBUb29sc1xcVGVzdFdl
YktpdEFQSVxcVGVzdHNcXFdURlxcU3RyaW5nQ29uY2F0ZW5hdGUuY3BwOjg0CisgICAgICAgIFZh
bHVlIG9mOiBtYWtlU3RyaW5nKCdoZWxsbyAnLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBzaG9ydD4o
NDIpICwgJyB3b3JsZCcpCisgICAgICAgICAgQWN0dWFsOiBoZWxsbyA0MiB3b3JsZAorICAgICAg
ICBFeHBlY3RlZDogJ2hlbGxvICogd29ybGQnCisgICAgICAgIFdoaWNoIGlzOiA3NEIwMEM5Qwor
CisgICAgVGVzdFdURi5XVEZfRXhwZWN0ZWQuVW5leHBlY3RlZAorICAgICAgICAqKkZBSUwqKiBX
VEZfRXhwZWN0ZWQuVW5leHBlY3RlZAorCisgICAgICAgIFRvb2xzXFRlc3RXZWJLaXRBUElcVGVz
dHNcV1RGXEV4cGVjdGVkLmNwcDo5NgorICAgICAgICBWYWx1ZSBvZjogczEKKyAgICAgICAgICBB
Y3R1YWw6IG9vcHMKKyAgICAgICAgRXhwZWN0ZWQ6IHMwCisgICAgICAgIFdoaWNoIGlzOiBvb3Bz
CisKK1RpbWVvdXQKKworICAgIFRlc3RXVEYuV1RGX1BvaXNvbmVkVW5pcXVlUHRyRm9yVHJpdmlh
bGx5RGVzdHJ1Y3RpYmxlQXJyYXlzLkFzc2lnbm1lbnQKKyAgICBUZXN0V1RGLldURl9Mb2NrLkNv
bnRlbmRlZFNob3J0U2VjdGlvbgorCitUZXN0aW5nIGNvbXBsZXRlZCwgRXhpdCBzdGF0dXM6IDMK
KycnJykKKyAgICAgICAgICAgICsgNCwKKyAgICAgICAgKQorICAgICAgICBzZWxmLmV4cGVjdE91
dGNvbWUocmVzdWx0PUZBSUxVUkUsIHN0YXRlX3N0cmluZz0nNCBhcGkgdGVzdHMgZmFpbGVkIG9y
IHRpbWVkIG91dCAoZmFpbHVyZSknKQorICAgICAgICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKKwor
ICAgIGRlZiB0ZXN0X3VuZXhwZWN0ZV9mYWlsdXJlKHNlbGYpOgorICAgICAgICBzZWxmLnNldHVw
U3RlcChSdW5BUElUZXN0cygpKQorICAgICAgICBzZWxmLnNldFByb3BlcnR5KCdmdWxsUGxhdGZv
cm0nLCAnbWFjLXNpZXJyYScpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ3BsYXRmb3JtJywg
J21hYycpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ2NvbmZpZ3VyYXRpb24nLCAnZGVidWcn
KQorCisgICAgICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCisgICAgICAgICAgICBFeHBl
Y3RTaGVsbCh3b3JrZGlyPSd3a2RpcicsCisgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5k
PVsncHl0aG9uJywgJ1Rvb2xzL1NjcmlwdHMvcnVuLWFwaS10ZXN0cycsICctLW5vLWJ1aWxkJywg
Jy0tZGVidWcnLCAnLS12ZXJib3NlJ10sCisgICAgICAgICAgICAgICAgICAgICAgICApCisgICAg
ICAgICAgICArIEV4cGVjdFNoZWxsLmxvZygnc3RkaW8nLCBzdGRvdXQ9J1VuZXhwZWN0ZWQgZmFp
bHVyZS4gRmFpbGVkIHRvIHJ1biBhcGkgdGVzdHMuJykKKyAgICAgICAgICAgICsgMiwKKyAgICAg
ICAgKQorICAgICAgICBzZWxmLmV4cGVjdE91dGNvbWUocmVzdWx0PUZBSUxVUkUsIHN0YXRlX3N0
cmluZz0ncnVuLWFwaS10ZXN0cyAoZmFpbHVyZSknKQorICAgICAgICByZXR1cm4gc2VsZi5ydW5T
dGVwKCkKKworICAgIGRlZiB0ZXN0X25vX2ZhaWx1cmVzX29yX3RpbWVvdXRzX3dpdGhfZGlzYWJs
ZWQoc2VsZik6CisgICAgICAgIHNlbGYuc2V0dXBTdGVwKFJ1bkFQSVRlc3RzKCkpCisgICAgICAg
IHNlbGYuc2V0UHJvcGVydHkoJ2Z1bGxQbGF0Zm9ybScsICdtYWMtc2llcnJhJykKKyAgICAgICAg
c2VsZi5zZXRQcm9wZXJ0eSgncGxhdGZvcm0nLCAnbWFjJykKKyAgICAgICAgc2VsZi5zZXRQcm9w
ZXJ0eSgnY29uZmlndXJhdGlvbicsICdkZWJ1ZycpCisKKyAgICAgICAgc2VsZi5leHBlY3RSZW1v
dGVDb21tYW5kcygKKyAgICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydweXRob24nLCAnVG9vbHMvU2NyaXB0cy9y
dW4tYXBpLXRlc3RzJywgJy0tbm8tYnVpbGQnLCAnLS1kZWJ1ZycsICctLXZlcmJvc2UnXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICsgRXhwZWN0U2hlbGwubG9nKCdz
dGRpbycsIHN0ZG91dD0nJycuLi4KK3dvcmtlci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQuT3BlcmF0
b3JBbXBlcnNhbmQgUGFzc2VkCit3b3JrZXIvMCBUZXN0V1RGLldURl9WYXJpYW50LlJlZiBQYXNz
ZWQKK3dvcmtlci8wIFRlc3RXVEYuV1RGX1ZhcmlhbnQuUmVmUHRyIFBhc3NlZAord29ya2VyLzAg
VGVzdFdURi5XVEZfVmFyaWFudC5SZXRhaW5QdHIgUGFzc2VkCit3b3JrZXIvMCBUZXN0V1RGLldU
Rl9WYXJpYW50LlZpc2l0b3JVc2luZ01ha2VWaXNpdG9yIFBhc3NlZAord29ya2VyLzAgVGVzdFdU
Ri5XVEZfVmFyaWFudC5WaXNpdG9yVXNpbmdTd2l0Y2hPbiBQYXNzZWQKK3dvcmtlci8wIGV4aXRp
bmcKK1JhbiAxODgxIHRlc3RzIG9mIDE4ODggd2l0aCAxODgxIHN1Y2Nlc3NmdWwKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQWxsIHRlc3RzIHN1Y2Nlc3NmdWxseSBwYXNzZWQhCisn
JycpCisgICAgICAgICAgICArIDAsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5leHBlY3RPdXRj
b21lKHJlc3VsdD1TVUNDRVNTLCBzdGF0ZV9zdHJpbmc9J3J1bi1hcGktdGVzdHMnKQorICAgICAg
ICByZXR1cm4gc2VsZi5ydW5TdGVwKCkKKworCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgog
ICAgIHVuaXR0ZXN0Lm1haW4oKQo=
</data>
<flag name="review"
          id="363783"
          type_id="1"
          status="+"
          setter="lforschler"
    />
          </attachment>
      

    </bug>

</bugzilla>