<?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>88532</bug_id>
          
          <creation_ts>2012-06-07 06:44:55 -0700</creation_ts>
          <short_desc>Web Inspector: REGRESSION sorting of object fields is broken in heap profiler</short_desc>
          <delta_ts>2012-06-07 07:41:50 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Alexei Filippov">alph</reporter>
          <assigned_to name="Alexei Filippov">alph</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>jochen</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>643504</commentid>
    <comment_count>0</comment_count>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-06-07 06:44:55 -0700</bug_when>
    <thetext>Expand an object in heap profiler and sort e.g. by retained size. The order of object fields does not change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643523</commentid>
    <comment_count>1</comment_count>
      <attachid>146283</attachid>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-06-07 07:11:08 -0700</bug_when>
    <thetext>Created attachment 146283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643535</commentid>
    <comment_count>2</comment_count>
      <attachid>146283</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-06-07 07:20:03 -0700</bug_when>
    <thetext>Comment on attachment 146283
Patch

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

&gt; LayoutTests/ChangeLog:7
&gt; +        A recent change to heap profiler has replaced getters with functions.
&gt; +        Function calls were missing in couple places after that change.

please explain the idea of changes in test framework

&gt; LayoutTests/inspector/profiler/heap-snapshot-summary-sorting-fields.html:50
&gt; +                setTimeout(step3, 0);

please don&apos;t use setTimeout in tests. Actually it is a road to flakiness hell.

&gt; LayoutTests/inspector/profiler/heap-snapshot-summary-sorting-fields.html:56
&gt; +                    setTimeout(next, 0);

ditto

&gt; LayoutTests/inspector/profiler/heap-snapshot-summary-sorting-fields.html:78
&gt; +                setTimeout(step3, 0);

ditto

&gt; LayoutTests/inspector/profiler/heap-snapshot-summary-sorting-instances.html:41
&gt; +                setTimeout(step3, 0);

ditto

&gt; LayoutTests/inspector/profiler/heap-snapshot-summary-sorting-instances.html:47
&gt; +                    setTimeout(next, 0);

ditto

&gt; LayoutTests/inspector/profiler/heap-snapshot-summary-sorting-instances.html:72
&gt; +                setTimeout(step3, 0);

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643542</commentid>
    <comment_count>3</comment_count>
      <attachid>146287</attachid>
    <who name="Alexei Filippov">alph</who>
    <bug_when>2012-06-07 07:33:17 -0700</bug_when>
    <thetext>Created attachment 146287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643543</commentid>
    <comment_count>4</comment_count>
      <attachid>146287</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-06-07 07:34:39 -0700</bug_when>
    <thetext>Comment on attachment 146287
Patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643548</commentid>
    <comment_count>5</comment_count>
      <attachid>146287</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-06-07 07:41:42 -0700</bug_when>
    <thetext>Comment on attachment 146287
Patch

Clearing flags on attachment: 146287

Committed r119722: &lt;http://trac.webkit.org/changeset/119722&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643549</commentid>
    <comment_count>6</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-06-07 07:41:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146283</attachid>
            <date>2012-06-07 07:11:08 -0700</date>
            <delta_ts>2012-06-07 07:33:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88532-20120607181106.patch</filename>
            <type>text/plain</type>
            <size>19782</size>
            <attacher name="Alexei Filippov">alph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU0YzJjYTg3NTQwMmE3
OTMxNDM3ZGI4YmFhMmQ2NWY1MmZkZjk1My4uZDJhMmQzYWYzZGM2NzNjMmM4NTRjOGUwNTdiNzYw
ZjBhZWMxZmY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDEyLTA2LTA3ICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5zcGVj
dG9yOiBzb3J0aW5nIG9mIG9iamVjdCBmaWVsZHMgaXMgYnJva2VuIGluIGhlYXAgcHJvZmlsZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NTMyCisK
KyAgICAgICAgQSByZWNlbnQgY2hhbmdlIHRvIGhlYXAgcHJvZmlsZXIgaGFzIHJlcGxhY2VkIGdl
dHRlcnMgd2l0aCBmdW5jdGlvbnMuCisgICAgICAgIEZ1bmN0aW9uIGNhbGxzIHdlcmUgbWlzc2lu
ZyBpbiBjb3VwbGUgcGxhY2VzIGFmdGVyIHRoYXQgY2hhbmdlLgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBpbnNwZWN0b3IvcHJvZmlsZXIv
aGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNvcnRpbmctZmllbGRzLmh0bWwKKyAgICAgICAgICAgICAg
IGluc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1pbnN0YW5j
ZXMuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90RWRnZXNQcm92aWRlci5wcm90b3R5
cGUuc29ydC5jb21wYXJlTm9kZUZpZWxkKToKKworMjAxMi0wNi0wNyAgQWxleGVpIEZpbGlwcG92
ICA8YWxleGVpZkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogcmV1c2Ug
ZWRnZV9jb3VudCBmaWVsZCBvZiBoZWFwIHNuYXBzaG90IHRvIHN0b3JlIHJldGFpbmVkIHNpemUK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NDE2CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBz
aG90LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3Qu
anMKaW5kZXggMDQxNGMyY2I1NTk0MzQzYzk1NmQ3ZWRjMTk0MWM5MzY3ZTU4ODNiNC4uZGU3ZjQ4
OGU5YWM3ZTNhYTRmMGRiZTNmMDlkMDI3NzgyYzY1YzA3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKQEAgLTE4NTksMTEgKzE4
NTksMTEgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEVkZ2VzUHJvdmlkZXIucHJvdG90eXBl
ID0gewogICAgICAgICB7CiAgICAgICAgICAgICBlZGdlQS5lZGdlSW5kZXggPSBpbmRleEE7CiAg
ICAgICAgICAgICBub2RlQS5ub2RlSW5kZXggPSBlZGdlQS5ub2RlSW5kZXgoKTsKLSAgICAgICAg
ICAgIHZhciB2YWx1ZUEgPSBub2RlQVtmaWVsZE5hbWVdOworICAgICAgICAgICAgdmFyIHZhbHVl
QSA9IG5vZGVBW2ZpZWxkTmFtZV0oKTsKIAogICAgICAgICAgICAgZWRnZUIuZWRnZUluZGV4ID0g
aW5kZXhCOwogICAgICAgICAgICAgbm9kZUIubm9kZUluZGV4ID0gZWRnZUIubm9kZUluZGV4KCk7
Ci0gICAgICAgICAgICB2YXIgdmFsdWVCID0gbm9kZUJbZmllbGROYW1lXTsKKyAgICAgICAgICAg
IHZhciB2YWx1ZUIgPSBub2RlQltmaWVsZE5hbWVdKCk7CiAKICAgICAgICAgICAgIHZhciByZXN1
bHQgPSB2YWx1ZUEgPCB2YWx1ZUIgPyAtMSA6ICh2YWx1ZUEgPiB2YWx1ZUIgPyAxIDogMCk7CiAg
ICAgICAgICAgICByZXR1cm4gYXNjZW5kaW5nID8gcmVzdWx0IDogLXJlc3VsdDsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBh
MDMxZDFmODA0NGVlMGFhNmQwNTVhMzk1NTRmYzIzZGU5NDY3YzE2Li41NDcwN2VhYWRhNjcxZjA2
YWNlNWJmN2FiMjE2ZTEwMzg3OGMwYmQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTItMDYt
MDcgIEFsZXhlaSBGaWxpcHBvdiAgPGFsZXhlaWZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IHNvcnRpbmcgb2Ygb2JqZWN0IGZpZWxkcyBpcyBicm9rZW4gaW4gaGVhcCBw
cm9maWxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODg1MzIKKworICAgICAgICBBIHJlY2VudCBjaGFuZ2UgdG8gaGVhcCBwcm9maWxlciBoYXMgcmVw
bGFjZWQgZ2V0dGVycyB3aXRoIGZ1bmN0aW9ucy4KKyAgICAgICAgRnVuY3Rpb24gY2FsbHMgd2Vy
ZSBtaXNzaW5nIGluIGNvdXBsZSBwbGFjZXMgYWZ0ZXIgdGhhdCBjaGFuZ2UuCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGluc3BlY3Rvci9w
cm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1maWVsZHMuaHRtbAorICAgICAg
ICAgICAgICAgaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5n
LWluc3RhbmNlcy5odG1sCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFw
c2hvdC1zdW1tYXJ5LXNvcnRpbmctZmllbGRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLWZpZWxk
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hv
dC1zdW1tYXJ5LXNvcnRpbmctaW5zdGFuY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLWluc3Rh
bmNlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFw
c2hvdC10ZXN0LmpzOgorICAgICAgICAoaW5pdGlhbGl6ZV9IZWFwU25hcHNob3RUZXN0Lik6Cisg
ICAgICAgIChpbml0aWFsaXplX0hlYXBTbmFwc2hvdFRlc3QpOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICog
cGxhdGZvcm0vd2luL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBl
ZDoKKwogMjAxMi0wNi0wNyAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQ2xlYW4gY2hyb21pdW0gdGVzdCBleHBlY3RhdGlvbnMu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hv
dC1zdW1tYXJ5LXNvcnRpbmctZmllbGRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1maWVsZHMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdkYTBkYTFhM2E4NTM3YTdlNjU1NjZmMmIxM2EzMjAwZWFjMjlh
ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVh
cC1zbmFwc2hvdC1zdW1tYXJ5LXNvcnRpbmctZmllbGRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDkgQEAKK1Rlc3RzIHNvcnRpbmcgaW4gU3VtbWFyeSB2aWV3IG9mIGRldGFpbGVkIGhlYXAgc25h
cHNob3RzLgorCitQcm9maWxlciB3YXMgZW5hYmxlZC4KK0RldGFpbGVkIGhlYXAgcHJvZmlsZXMg
d2VyZSBlbmFibGVkLgorCitSdW5uaW5nOiB0ZXN0U29ydGluZworCitQcm9maWxlciB3YXMgZGlz
YWJsZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFw
LXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1maWVsZHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1maWVsZHMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zOWY5YWY3YTE0YjFmZTY5MjcwZjYwNDIyNjZmZjNhOGM5NzRjYWYyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNo
b3Qtc3VtbWFyeS1zb3J0aW5nLWZpZWxkcy5odG1sCkBAIC0wLDAgKzEsOTEgQEAKKzxodG1sPgor
PGhlYWQ+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSJoZWFwLXNuYXBzaG90LXRlc3Qu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIGlu
c3RhbmNlQ291bnQgPSAxMDsKKyAgICBmdW5jdGlvbiBjcmVhdGVIZWFwU25hcHNob3QoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIEluc3BlY3RvclRlc3QuY3JlYXRlSGVhcFNuYXBzaG90KGluc3Rh
bmNlQ291bnQpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QucnVuSGVhcFNuYXBzaG90VGVz
dFN1aXRlKFsKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNvcnRpbmcobmV4dCkKKyAgICAgICAgewor
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC50YWtlQW5kT3BlblNuYXBzaG90KGNyZWF0ZUhlYXBT
bmFwc2hvdCwgc3RlcDEpOworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zd2l0Y2hUb1ZpZXcoIlN1bW1h
cnkiLCBzdGVwMWEpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB2YXIgY29sdW1uczsK
KyAgICAgICAgICAgIHZhciBjdXJyZW50Q29sdW1uOworICAgICAgICAgICAgdmFyIGN1cnJlbnRD
b2x1bW5PcmRlcjsKKyAgICAgICAgICAgIHZhciB3aW5kb3dSb3c7CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIHN0ZXAxYSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIHJvdyA9
IEluc3BlY3RvclRlc3QuZmluZFJvdygib2JqZWN0IiwgIldpbmRvdyIpOworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRydWUsICEhcm93LCAiXCJXaW5kb3dcIiBj
bGFzcyByb3ciKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZFJvdyhyb3cs
IHN0ZXAxYik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxYihy
b3cpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRF
cXVhbHMoMSwgcm93LmNoaWxkcmVuLmxlbmd0aCwgInNpbmdsZSBXaW5kb3cgb2JqZWN0Iik7Cisg
ICAgICAgICAgICAgICAgd2luZG93Um93ID0gcm93LmNoaWxkcmVuWzBdOworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRydWUsICEhd2luZG93Um93LCAiXCJXaW5k
b3dcIiBpbnN0YW5jZSByb3ciKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFu
ZFJvdyh3aW5kb3dSb3csIHN0ZXAyKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVu
Y3Rpb24gc3RlcDIoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbHVtbnMgPSBJ
bnNwZWN0b3JUZXN0LnZpZXdDb2x1bW5zKCk7CisgICAgICAgICAgICAgICAgY3VycmVudENvbHVt
biA9IDA7CisgICAgICAgICAgICAgICAgY3VycmVudENvbHVtbk9yZGVyID0gZmFsc2U7CisgICAg
ICAgICAgICAgICAgc2V0VGltZW91dChzdGVwMywgMCk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIHN0ZXAzKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBp
ZiAoY3VycmVudENvbHVtbiA+PSBjb2x1bW5zLmxlbmd0aCkgeworICAgICAgICAgICAgICAgICAg
ICBzZXRUaW1lb3V0KG5leHQsIDApOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2xpY2tDb2x1bW4o
Y29sdW1uc1tjdXJyZW50Q29sdW1uXSwgc3RlcDQpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBmdW5jdGlvbiBzdGVwNChuZXdDb2x1bW5TdGF0ZSkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICBjb2x1bW5zW2N1cnJlbnRDb2x1bW5dID0gbmV3Q29sdW1uU3RhdGU7CisgICAg
ICAgICAgICAgICAgdmFyIGNvbHVtbk5hbWUgPSBjb2x1bW5zW2N1cnJlbnRDb2x1bW5dLmlkZW50
aWZpZXI7CisgICAgICAgICAgICAgICAgdmFyIGNvbnRlbnRzID0gd2luZG93Um93LmNoaWxkcmVu
Lm1hcChmdW5jdGlvbihvYmopIHsgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iai5kYXRhW2NvbHVt
bk5hbWVdKTsgfSk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMo
aW5zdGFuY2VDb3VudCwgY29udGVudHMubGVuZ3RoLCAiY29sdW1uIGNvbnRlbnRzIik7CisgICAg
ICAgICAgICAgICAgdmFyIHNvcnRUeXBlcyA9IHsgb2JqZWN0OiAidGV4dCIsIGRpc3RhbmNlVG9X
aW5kb3c6ICJudW1iZXIiLCBjb3VudDogIm51bWJlciIsIHNoYWxsb3dTaXplOiAic2l6ZSIsIHJl
dGFpbmVkU2l6ZTogInNpemUiIH07CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3Nl
cnRFcXVhbHModHJ1ZSwgISFzb3J0VHlwZXNbY29sdW1uc1tjdXJyZW50Q29sdW1uXS5pZGVudGlm
aWVyXSwgInNvcnQgYnkgaWRlbnRpZmllciIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuY2hlY2tBcnJheUlzU29ydGVkKGNvbnRlbnRzLCBzb3J0VHlwZXNbY29sdW1uc1tjdXJyZW50
Q29sdW1uXS5pZGVudGlmaWVyXSwgY29sdW1uc1tjdXJyZW50Q29sdW1uXS5zb3J0KTsKKworICAg
ICAgICAgICAgICAgIGlmICghY3VycmVudENvbHVtbk9yZGVyKQorICAgICAgICAgICAgICAgICAg
ICBjdXJyZW50Q29sdW1uT3JkZXIgPSB0cnVlOworICAgICAgICAgICAgICAgIGVsc2UgeworICAg
ICAgICAgICAgICAgICAgICBjdXJyZW50Q29sdW1uT3JkZXIgPSBmYWxzZTsKKyAgICAgICAgICAg
ICAgICAgICAgKytjdXJyZW50Q29sdW1uOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBzZXRUaW1lb3V0KHN0ZXAzLCAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IF0pOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KzxwPgorVGVzdHMgc29ydGluZyBpbiBTdW1tYXJ5IHZpZXcgb2YgZGV0YWlsZWQgaGVhcCBzbmFw
c2hvdHMuCis8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNvcnRpbmctaW5zdGFuY2Vz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBz
aG90LXN1bW1hcnktc29ydGluZy1pbnN0YW5jZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdk
YTBkYTFhM2E4NTM3YTdlNjU1NjZmMmIxM2EzMjAwZWFjMjlhZjgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNv
cnRpbmctaW5zdGFuY2VzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1Rlc3RzIHNvcnRp
bmcgaW4gU3VtbWFyeSB2aWV3IG9mIGRldGFpbGVkIGhlYXAgc25hcHNob3RzLgorCitQcm9maWxl
ciB3YXMgZW5hYmxlZC4KK0RldGFpbGVkIGhlYXAgcHJvZmlsZXMgd2VyZSBlbmFibGVkLgorCitS
dW5uaW5nOiB0ZXN0U29ydGluZworCitQcm9maWxlciB3YXMgZGlzYWJsZWQuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnkt
c29ydGluZy1pbnN0YW5jZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9o
ZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1pbnN0YW5jZXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
ZWNmODIwNTQ1NmY2MGZmZjlhZTI2MGI0ZWY4YTczOWUzODU1YWVhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1z
b3J0aW5nLWluc3RhbmNlcy5odG1sCkBAIC0wLDAgKzEsODUgQEAKKzxodG1sPgorPGhlYWQ+Cisg
IDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5q
cyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSJoZWFwLXNuYXBzaG90LXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIGluc3RhbmNlQ291
bnQgPSAxMDsKKyAgICBmdW5jdGlvbiBjcmVhdGVIZWFwU25hcHNob3QoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIEluc3BlY3RvclRlc3QuY3JlYXRlSGVhcFNuYXBzaG90KGluc3RhbmNlQ291bnQp
OworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QucnVuSGVhcFNuYXBzaG90VGVzdFN1aXRlKFsK
KyAgICAgICAgZnVuY3Rpb24gdGVzdFNvcnRpbmcobmV4dCkKKyAgICAgICAgeworICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC50YWtlQW5kT3BlblNuYXBzaG90KGNyZWF0ZUhlYXBTbmFwc2hvdCwg
c3RlcDEpOworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgICAgICAgICB7Cisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zd2l0Y2hUb1ZpZXcoIlN1bW1hcnkiLCBzdGVw
MWEpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB2YXIgY29sdW1uczsKKyAgICAgICAg
ICAgIHZhciBjdXJyZW50Q29sdW1uOworICAgICAgICAgICAgdmFyIGN1cnJlbnRDb2x1bW5PcmRl
cjsKKworICAgICAgICAgICAgZnVuY3Rpb24gc3RlcDFhKCkKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICB2YXIgcm93ID0gSW5zcGVjdG9yVGVzdC5maW5kUm93KCJvYmplY3QiLCAiQiIp
OworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRydWUsICEhcm93
LCAiXCJCXCIgcm93Iik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBhbmRSb3co
cm93LCBzdGVwMik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAy
KHJvdykKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb2x1bW5zID0gSW5zcGVjdG9y
VGVzdC52aWV3Q29sdW1ucygpOworICAgICAgICAgICAgICAgIGN1cnJlbnRDb2x1bW4gPSAwOwor
ICAgICAgICAgICAgICAgIGN1cnJlbnRDb2x1bW5PcmRlciA9IGZhbHNlOworICAgICAgICAgICAg
ICAgIHNldFRpbWVvdXQoc3RlcDMsIDApOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBm
dW5jdGlvbiBzdGVwMygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJl
bnRDb2x1bW4gPj0gY29sdW1ucy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICAgICAgc2V0VGlt
ZW91dChuZXh0LCAwKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2xpY2tDb2x1bW4oY29sdW1u
c1tjdXJyZW50Q29sdW1uXSwgc3RlcDQpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBm
dW5jdGlvbiBzdGVwNChuZXdDb2x1bW5TdGF0ZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBjb2x1bW5zW2N1cnJlbnRDb2x1bW5dID0gbmV3Q29sdW1uU3RhdGU7CisgICAgICAgICAg
ICAgICAgdmFyIGNvbHVtbk5hbWUgPSBjb2x1bW5zW2N1cnJlbnRDb2x1bW5dLmlkZW50aWZpZXI7
CisgICAgICAgICAgICAgICAgdmFyIHJvdyA9IEluc3BlY3RvclRlc3QuZmluZFJvdygib2JqZWN0
IiwgIkIiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyh0cnVl
LCAhIXJvdywgIlwiQlwiIHJvdyIpOworICAgICAgICAgICAgICAgIHZhciBjb250ZW50cyA9IHJv
dy5jaGlsZHJlbi5tYXAoZnVuY3Rpb24ob2JqKSB7IHJldHVybiBKU09OLnN0cmluZ2lmeShvYmou
ZGF0YVtjb2x1bW5OYW1lXSk7IH0pOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNz
ZXJ0RXF1YWxzKGluc3RhbmNlQ291bnQsIGNvbnRlbnRzLmxlbmd0aCwgImNvbHVtbiBjb250ZW50
cyIpOworICAgICAgICAgICAgICAgIHZhciBzb3J0VHlwZXMgPSB7IG9iamVjdDogInRleHQiLCBk
aXN0YW5jZVRvV2luZG93OiAibnVtYmVyIiwgY291bnQ6ICJudW1iZXIiLCBzaGFsbG93U2l6ZTog
InNpemUiLCByZXRhaW5lZFNpemU6ICJzaXplIiB9OworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0RXF1YWxzKHRydWUsICEhc29ydFR5cGVzW2NvbHVtbnNbY3VycmVudENvbHVt
bl0uaWRlbnRpZmllcl0sICJzb3J0IGJ5IGlkZW50aWZpZXIiKTsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmNoZWNrQXJyYXlJc1NvcnRlZChjb250ZW50cywgc29ydFR5cGVzW2NvbHVt
bnNbY3VycmVudENvbHVtbl0uaWRlbnRpZmllcl0sIGNvbHVtbnNbY3VycmVudENvbHVtbl0uc29y
dCk7CisKKyAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRDb2x1bW5PcmRlcikKKyAgICAgICAg
ICAgICAgICAgICAgY3VycmVudENvbHVtbk9yZGVyID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBl
bHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudENvbHVtbk9yZGVyID0gZmFsc2U7Cisg
ICAgICAgICAgICAgICAgICAgICsrY3VycmVudENvbHVtbjsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgc2V0VGltZW91dChzdGVwMywgMCk7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKyAgICBdKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHNvcnRpbmcgaW4gU3VtbWFyeSB2aWV3IG9mIGRldGFpbGVk
IGhlYXAgc25hcHNob3RzLgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtdGVzdC5qcyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXRlc3QuanMKaW5kZXggZGE5
NGNiNzIzYTQ0MzY0YWVhMWUxZDY2NzA1N2U0ZTY0ZTNjZWJjOS4uYzUzYWI1MDU0MGVhOGM3ZmI4
MjI4YzRkNGExNzIwZjBkNGNhNGM2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzCkBAIC0yNjQsNDIgKzI2NCwzNSBAQCBJ
bnNwZWN0b3JUZXN0LmNoZWNrQXJyYXlJc1NvcnRlZCA9IGZ1bmN0aW9uKGNvbnRlbnRzLCBzb3J0
VHlwZSwgc29ydE9yZGVyKQogICAgIH0KICAgICBmdW5jdGlvbiBwYXJzZVNpemUoc2l6ZSkKICAg
ICB7Ci0gICAgICAgIGlmIChzaXplLmNoYXJBdCgwKSA9PT0gIj4iKQotICAgICAgICAgICAgc2l6
ZSA9IHNpemUuc3Vic3RyaW5nKDIpOwotICAgICAgICB2YXIgYW1vdW50ID0gcGFyc2VGbG9hdChz
aXplLCAxMCk7Ci0gICAgICAgIHZhciBtdWx0aXBsaWVyID0gewotICAgICAgICAgICAgIktCIjog
MTAyNCwKLSAgICAgICAgICAgICJNQiI6IDEwMjQgKiAxMDI0Ci0gICAgICAgIH1bc2l6ZS5zdWJz
dHJpbmcoc2l6ZS5sZW5ndGggLSAyKV07Ci0gICAgICAgIHJldHVybiBtdWx0aXBsaWVyID8gYW1v
dW50ICogbXVsdGlwbGllciA6IGFtb3VudDsKLSAgICB9Ci0gICAgZnVuY3Rpb24gZXh0cmFjdE5h
bWUoZGF0YSkKKyAgICAgICAgaWYgKHNpemUuc3Vic3RyKDAsIDEpID09PSAnIicpIHNpemUgPSBK
U09OLnBhcnNlKHNpemUpOworICAgICAgICAvLyBSZW1vdmUgdGhvdXNhbmRzIHNlcGFyYXRvci4K
KyAgICAgICAgcmV0dXJuIHBhcnNlSW50KHNpemUucmVwbGFjZSgvW1x1MjAwOSxdL2csICIiKSk7
CisgICAgfQorICAgIGZ1bmN0aW9uIGV4dHJhY3RGaWVsZChkYXRhLCBmaWVsZCkKICAgICB7Cisg
ICAgICAgIGlmIChkYXRhLnN1YnN0cigwLCAxKSAhPT0gInsiKSByZXR1cm4gZGF0YTsKICAgICAg
ICAgZGF0YSA9IEpTT04ucGFyc2UoZGF0YSk7Ci0gICAgICAgIGlmICghZGF0YS5uYW1lKQotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk5vIG5hbWUgZmllbGQgaW4gIiArIEpT
T04uc3RyaW5naWZ5KGRhdGEpKTsKLSAgICAgICAgcmV0dXJuIHBhcnNlSW50KGRhdGEubmFtZSwg
MTApOworICAgICAgICBpZiAoIWRhdGFbZmllbGRdKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hZGRSZXN1bHQoIk5vICIgKyBmaWVsZCArICIgZmllbGQgaW4gIiArIEpTT04uc3RyaW5naWZ5
KGRhdGEpKTsKKyAgICAgICAgcmV0dXJuIGRhdGFbZmllbGRdOwogICAgIH0KICAgICBmdW5jdGlv
biBleHRyYWN0SWQoZGF0YSkKICAgICB7Ci0gICAgICAgIGRhdGEgPSBKU09OLnBhcnNlKGRhdGEp
OwotICAgICAgICBpZiAoIWRhdGEubm9kZUlkKQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIk5vIG5vZGVJZCBmaWVsZCBpbiAiICsgSlNPTi5zdHJpbmdpZnkoZGF0YSkpOwot
ICAgICAgICByZXR1cm4gcGFyc2VJbnQoZGF0YS5ub2RlSWQsIDEwKTsKLSAgICB9Ci0gICAgdmFy
IGNvbXBhcmF0b3IgPSB7Ci0gICAgICAgIHRleHQ6IHNpbXBsZUNvbXBhcmF0b3IsCi0gICAgICAg
IG51bWJlcjogZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJuIHNpbXBsZUNvbXBhcmF0b3IocGFyc2VJ
bnQoYSwgMTApLCBwYXJzZUludChiLCAxMCkpOyB9LAotICAgICAgICBzaXplOiBmdW5jdGlvbiAo
YSwgYikgeyByZXR1cm4gc2ltcGxlQ29tcGFyYXRvcihwYXJzZVNpemUoYSksIHBhcnNlU2l6ZShi
KSk7IH0sCi0gICAgICAgIG5hbWU6IGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBzaW1wbGVDb21w
YXJhdG9yKGV4dHJhY3ROYW1lKGEpLCBleHRyYWN0TmFtZShiKSk7IH0sCi0gICAgICAgIGlkOiBm
dW5jdGlvbiAoYSwgYikgeyByZXR1cm4gc2ltcGxlQ29tcGFyYXRvcihleHRyYWN0SWQoYSksIGV4
dHJhY3RJZChiKSk7IH0KKyAgICAgICAgcmV0dXJuIHBhcnNlSW50KGV4dHJhY3RGaWVsZChkYXRh
LCAibm9kZUlkIikpOworICAgIH0KKyAgICB2YXIgZXh0cmFjdG9yID0geworICAgICAgICB0ZXh0
OiBmdW5jdGlvbiAoZGF0YSkgeyByZXR1cm4gZXh0cmFjdEZpZWxkKGRhdGEsICJ2YWx1ZSIpOyB9
LAorICAgICAgICBudW1iZXI6IGZ1bmN0aW9uIChkYXRhKSB7IHJldHVybiBwYXJzZUludChkYXRh
LCAxMCk7IH0sCisgICAgICAgIHNpemU6IGZ1bmN0aW9uIChkYXRhKSB7IHJldHVybiBwYXJzZVNp
emUoZGF0YSk7IH0sCisgICAgICAgIG5hbWU6IGZ1bmN0aW9uIChkYXRhKSB7IHJldHVybiBleHRy
YWN0RmllbGQoZGF0YSwgIm5hbWUiKTsgfSwKKyAgICAgICAgaWQ6IGZ1bmN0aW9uIChkYXRhKSB7
IHJldHVybiBleHRyYWN0SWQoZGF0YSk7IH0KICAgICB9W3NvcnRUeXBlXTsKICAgICB2YXIgYWNj
ZXB0YWJsZUNvbXBhcmlzb25SZXN1bHQgPSB7CiAgICAgICAgIGFzY2VuZGluZzogLTEsCiAgICAg
ICAgIGRlc2NlbmRpbmc6IDEKICAgICB9W3NvcnRPcmRlcl07CiAKLSAgICBpZiAoIWNvbXBhcmF0
b3IpIHsKKyAgICBpZiAoIWV4dHJhY3RvcikgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiSW52YWxpZCBzb3J0IHR5cGU6ICIgKyBzb3J0VHlwZSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC0zMDksOSArMzAyLDExIEBAIEluc3BlY3RvclRlc3QuY2hlY2tBcnJheUlzU29y
dGVkID0gZnVuY3Rpb24oY29udGVudHMsIHNvcnRUeXBlLCBzb3J0T3JkZXIpCiAgICAgfQogCiAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb250ZW50cy5sZW5ndGggLSAxOyArK2kpIHsKLSAgICAg
ICAgdmFyIHJlc3VsdCA9IGNvbXBhcmF0b3IoY29udGVudHNbaV0sIGNvbnRlbnRzW2kgKyAxXSk7
CisgICAgICAgIHZhciBhID0gZXh0cmFjdG9yKGNvbnRlbnRzW2ldKTsKKyAgICAgICAgdmFyIGIg
PSBleHRyYWN0b3IoY29udGVudHNbaSArIDFdKTsKKyAgICAgICAgdmFyIHJlc3VsdCA9IHNpbXBs
ZUNvbXBhcmF0b3IoYSwgYik7CiAgICAgICAgIGlmIChyZXN1bHQgIT09IDAgJiYgcmVzdWx0ICE9
PSBhY2NlcHRhYmxlQ29tcGFyaXNvblJlc3VsdCkKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJFbGVtZW50cyAiICsgaSArICIgYW5kICIgKyAoaSArIDEpICsgIiBhcmUgb3V0
IG9mIG9yZGVyOiAiICsgY29udGVudHNbaV0gKyAiICIgKyBjb250ZW50c1tpICsgMV0gKyAiICgi
ICsgc29ydE9yZGVyICsgIikiKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJFbGVtZW50cyAiICsgaSArICIgYW5kICIgKyAoaSArIDEpICsgIiBhcmUgb3V0IG9mIG9yZGVy
OiAiICsgYSArICIgIiArIGIgKyAiICgiICsgc29ydE9yZGVyICsgIikiKTsKICAgICB9CiB9Owog
CkBAIC02MDIsOSArNTk3LDEzIEBAIEluc3BlY3RvclRlc3QuY3JlYXRlSGVhcFNuYXBzaG90ID0g
ZnVuY3Rpb24oaW5zdGFuY2VDb3VudCwgZmlyc3RJZCkKICAgICAvLyBmdW5jdGlvbiBCKHgpIHsg
dGhpcy5hID0gbmV3IEEoeCk7IH0KICAgICAvLyBmb3IgKHZhciBpID0gMDsgaSA8IGluc3RhbmNl
Q291bnQ7ICsraSkgbmV3IEIoKTsKICAgICAvLyAKLSAgICAvLyBJbnN0YW5jZXMgb2YgQSBoYXZl
IDEyIGJ5dGVzIHNpemUsIGluc3RhbmNlcyBvZiBCIGhhcyAxNiBieXRlcyBzaXplLgotICAgIHZh
ciBzaXplT2ZBID0gMTI7Ci0gICAgdmFyIHNpemVPZkIgPSAxNjsKKyAgICAvLyBTZXQgQSBhbmQg
QiBvYmplY3Qgc2l6ZXMgdG8gcHNldWRvIHJhbmRvbSBudW1iZXJzLiBJdCBpcyB1c2VkIGluIHNv
cnRpbmcgdGVzdHMuCisKKyAgICB2YXIgc2VlZCA9IDg4MTY2OTsKKyAgICBmdW5jdGlvbiBwc2V1
ZG9SYW5kb20obGltaXQpIHsKKyAgICAgICAgc2VlZCA9ICgoc2VlZCAqIDM1NTEwOSArIDE1Mzc2
MykgPj4gMikgJiAweGZmZmY7CisgICAgICAgIHJldHVybiBzZWVkICUgbGltaXQ7CisgICAgfQog
CiAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgSW5zcGVjdG9yVGVzdC5IZWFwU25hcHNob3RCdWlsZGVy
KCk7CiAgICAgdmFyIHJvb3ROb2RlID0gYnVpbGRlci5yb290Tm9kZTsKQEAgLTYxMiwxMyArNjEx
LDE1IEBAIEluc3BlY3RvclRlc3QuY3JlYXRlSGVhcFNuYXBzaG90ID0gZnVuY3Rpb24oaW5zdGFu
Y2VDb3VudCwgZmlyc3RJZCkKICAgICB2YXIgZ2NSb290c05vZGUgPSBuZXcgSW5zcGVjdG9yVGVz
dC5IZWFwTm9kZSgiKEdDIHJvb3RzKSIpOwogICAgIHJvb3ROb2RlLmxpbmtOb2RlKGdjUm9vdHNO
b2RlLCBJbnNwZWN0b3JUZXN0LkhlYXBFZGdlLlR5cGUuZWxlbWVudCk7CiAKLSAgICB2YXIgd2lu
ZG93Tm9kZSA9IG5ldyBJbnNwZWN0b3JUZXN0LkhlYXBOb2RlKCJXaW5kb3ciKTsKKyAgICB2YXIg
d2luZG93Tm9kZSA9IG5ldyBJbnNwZWN0b3JUZXN0LkhlYXBOb2RlKCJXaW5kb3ciLCAyMCk7CiAg
ICAgcm9vdE5vZGUubGlua05vZGUod2luZG93Tm9kZSwgSW5zcGVjdG9yVGVzdC5IZWFwRWRnZS5U
eXBlLnNob3J0Y3V0KTsKICAgICBnY1Jvb3RzTm9kZS5saW5rTm9kZSh3aW5kb3dOb2RlLCBJbnNw
ZWN0b3JUZXN0LkhlYXBFZGdlLlR5cGUuZWxlbWVudCk7CiAKICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IGluc3RhbmNlQ291bnQ7ICsraSkgeworICAgICAgICB2YXIgc2l6ZU9mQiA9IHBzZXVkb1Jh
bmRvbSgyMCkgKyAxOwogICAgICAgICB2YXIgbm9kZUIgPSBuZXcgSW5zcGVjdG9yVGVzdC5IZWFw
Tm9kZSgiQiIsIHNpemVPZkIsIHVuZGVmaW5lZCwgZmlyc3RJZCsrKTsKICAgICAgICAgd2luZG93
Tm9kZS5saW5rTm9kZShub2RlQiwgSW5zcGVjdG9yVGVzdC5IZWFwRWRnZS5UeXBlLmVsZW1lbnQp
OworICAgICAgICB2YXIgc2l6ZU9mQSA9IHBzZXVkb1JhbmRvbSg1MCkgKyAxOwogICAgICAgICB2
YXIgbm9kZUEgPSBuZXcgSW5zcGVjdG9yVGVzdC5IZWFwTm9kZSgiQSIsIHNpemVPZkEsIHVuZGVm
aW5lZCwgZmlyc3RJZCsrKTsKICAgICAgICAgbm9kZUIubGlua05vZGUobm9kZUEsIEluc3BlY3Rv
clRlc3QuSGVhcEVkZ2UuVHlwZS5wcm9wZXJ0eSwgImEiKTsKICAgICAgICAgbm9kZUEubGlua05v
ZGUobm9kZUEsIEluc3BlY3RvclRlc3QuSGVhcEVkZ2UuVHlwZS5wcm9wZXJ0eSwgImEiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1NraXBwZWQKaW5kZXggMzYwZWU2YTI0M2JmNWFlOGU3MWQ3YWY1NmI3Zjgz
MGZiNTA5NzM4YS4uN2Q5MjU2ZjljODI0ZTI0YjE0YmNlNTg2OWEyZjE2YmM5NGI4M2I0YiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKQEAgLTI4Nyw2ICsyODcsOSBAQCBpbnNwZWN0b3IvcHJv
ZmlsZXIvaGVhcC1zbmFwc2hvdC1sb2FkZXIuaHRtbAogaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAt
c25hcHNob3QtcmV2ZWFsLWluLWRvbWluYXRvcnMtdmlldy5odG1sCiBpbnNwZWN0b3IvcHJvZmls
ZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXJldGFpbmVycy5odG1sCiBpbnNwZWN0b3IvcHJvZmls
ZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNob3ctcmFuZ2VzLmh0bWwKK2luc3BlY3Rvci9wcm9m
aWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1maWVsZHMuaHRtbAoraW5zcGVjdG9y
L3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLmh0bWwKK2luc3BlY3Rvci9w
cm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1pbnN0YW5jZXMuaHRtbAogCiAj
IFNraXBwaW5nIG5ld2x5IGFkZGVkIHRlc3RzIHdoaWxlIEknbSBmaW5kaW5nIG91dCB3aGF0IGlz
IHdyb25nLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk3MDYK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IGI5OGUyY2RhOTk1M2RmYTk2MmRkNjVhYjBiN2Jj
MDNiNGI4ZmQxNzEuLjgyNGM3NzJlNzM2MjkzMGM3MTVkYTE4NWI3MmRhYzNiN2MzNzgzNGQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMjg0LDYgKzI4NCw5IEBAIGluc3BlY3Rvci9wcm9m
aWxlci9oZWFwLXNuYXBzaG90LWxvYWRlci5odG1sCiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1z
bmFwc2hvdC1yZXZlYWwtaW4tZG9taW5hdG9ycy12aWV3Lmh0bWwKIGluc3BlY3Rvci9wcm9maWxl
ci9oZWFwLXNuYXBzaG90LXN1bW1hcnktcmV0YWluZXJzLmh0bWwKIGluc3BlY3Rvci9wcm9maWxl
ci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc2hvdy1yYW5nZXMuaHRtbAoraW5zcGVjdG9yL3Byb2Zp
bGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLWZpZWxkcy5odG1sCitpbnNwZWN0b3Iv
cHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNvcnRpbmcuaHRtbAoraW5zcGVjdG9yL3By
b2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLWluc3RhbmNlcy5odG1sCiAKICMg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwMzAwCiBpbnNwZWN0b3Iv
ZGVidWdnZXIvbGl2ZS1lZGl0Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggMTQw
MDc4ZmFhOWNmOTk0Y2YwNzA0ZjE1MjBmNzIxMDJlZTQxNDA0MC4uMTRjNzNiNzdjYTk1ODQ0Y2Ey
YWFmZDg0YWE1NzAxOGZiMWQ1M2ZiNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTEy
NzMsNiArMTI3Myw5IEBAIGluc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LWxvYWRlci5o
dG1sCiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1yZXZlYWwtaW4tZG9taW5hdG9y
cy12aWV3Lmh0bWwKIGluc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc2hv
dy1yYW5nZXMuaHRtbAogaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1y
ZXRhaW5lcnMuaHRtbAoraW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1z
b3J0aW5nLWZpZWxkcy5odG1sCitpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1t
YXJ5LXNvcnRpbmcuaHRtbAoraW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFy
eS1zb3J0aW5nLWluc3RhbmNlcy5odG1sCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQwMzAwCiBpbnNwZWN0b3IvZGVidWdnZXIvbGl2ZS1lZGl0Lmh0bWwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCmluZGV4IGRmZWZjNjMyZDQ1MGIyZjQ0YTM3
ODQyMjdkNzE5MDMxODVkNDczZGYuLmE0MTc0Y2Y1Zjk1ZGRjZGQ1N2Q4MzQzODA1MjM3NTBhYjBk
ZjNmMTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZApAQCAtMTc3Miw2ICsx
NzcyLDkgQEAgaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtY29tcGFyaXNvbi1zaG93
LWFsbC5odG1sCiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1yZXZlYWwtaW4tZG9t
aW5hdG9ycy12aWV3Lmh0bWwKIGluc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1h
cnktcmV0YWluZXJzLmh0bWwKIGluc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1h
cnktc2hvdy1yYW5nZXMuaHRtbAoraW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3Vt
bWFyeS1zb3J0aW5nLWZpZWxkcy5odG1sCitpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hv
dC1zdW1tYXJ5LXNvcnRpbmcuaHRtbAoraW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qt
c3VtbWFyeS1zb3J0aW5nLWluc3RhbmNlcy5odG1sCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQwMzAwCiBpbnNwZWN0b3IvZGVidWdnZXIvbGl2ZS1lZGl0Lmh0
bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146287</attachid>
            <date>2012-06-07 07:33:17 -0700</date>
            <delta_ts>2012-06-07 07:41:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88532-20120607183316.patch</filename>
            <type>text/plain</type>
            <size>20066</size>
            <attacher name="Alexei Filippov">alph</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU0YzJjYTg3NTQwMmE3
OTMxNDM3ZGI4YmFhMmQ2NWY1MmZkZjk1My4uZDJhMmQzYWYzZGM2NzNjMmM4NTRjOGUwNTdiNzYw
ZjBhZWMxZmY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDEyLTA2LTA3ICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5zcGVj
dG9yOiBzb3J0aW5nIG9mIG9iamVjdCBmaWVsZHMgaXMgYnJva2VuIGluIGhlYXAgcHJvZmlsZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NTMyCisK
KyAgICAgICAgQSByZWNlbnQgY2hhbmdlIHRvIGhlYXAgcHJvZmlsZXIgaGFzIHJlcGxhY2VkIGdl
dHRlcnMgd2l0aCBmdW5jdGlvbnMuCisgICAgICAgIEZ1bmN0aW9uIGNhbGxzIHdlcmUgbWlzc2lu
ZyBpbiBjb3VwbGUgcGxhY2VzIGFmdGVyIHRoYXQgY2hhbmdlLgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBpbnNwZWN0b3IvcHJvZmlsZXIv
aGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNvcnRpbmctZmllbGRzLmh0bWwKKyAgICAgICAgICAgICAg
IGluc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1pbnN0YW5j
ZXMuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90RWRnZXNQcm92aWRlci5wcm90b3R5
cGUuc29ydC5jb21wYXJlTm9kZUZpZWxkKToKKworMjAxMi0wNi0wNyAgQWxleGVpIEZpbGlwcG92
ICA8YWxleGVpZkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogcmV1c2Ug
ZWRnZV9jb3VudCBmaWVsZCBvZiBoZWFwIHNuYXBzaG90IHRvIHN0b3JlIHJldGFpbmVkIHNpemUK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NDE2CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBz
aG90LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3Qu
anMKaW5kZXggMDQxNGMyY2I1NTk0MzQzYzk1NmQ3ZWRjMTk0MWM5MzY3ZTU4ODNiNC4uZGU3ZjQ4
OGU5YWM3ZTNhYTRmMGRiZTNmMDlkMDI3NzgyYzY1YzA3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKQEAgLTE4NTksMTEgKzE4
NTksMTEgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEVkZ2VzUHJvdmlkZXIucHJvdG90eXBl
ID0gewogICAgICAgICB7CiAgICAgICAgICAgICBlZGdlQS5lZGdlSW5kZXggPSBpbmRleEE7CiAg
ICAgICAgICAgICBub2RlQS5ub2RlSW5kZXggPSBlZGdlQS5ub2RlSW5kZXgoKTsKLSAgICAgICAg
ICAgIHZhciB2YWx1ZUEgPSBub2RlQVtmaWVsZE5hbWVdOworICAgICAgICAgICAgdmFyIHZhbHVl
QSA9IG5vZGVBW2ZpZWxkTmFtZV0oKTsKIAogICAgICAgICAgICAgZWRnZUIuZWRnZUluZGV4ID0g
aW5kZXhCOwogICAgICAgICAgICAgbm9kZUIubm9kZUluZGV4ID0gZWRnZUIubm9kZUluZGV4KCk7
Ci0gICAgICAgICAgICB2YXIgdmFsdWVCID0gbm9kZUJbZmllbGROYW1lXTsKKyAgICAgICAgICAg
IHZhciB2YWx1ZUIgPSBub2RlQltmaWVsZE5hbWVdKCk7CiAKICAgICAgICAgICAgIHZhciByZXN1
bHQgPSB2YWx1ZUEgPCB2YWx1ZUIgPyAtMSA6ICh2YWx1ZUEgPiB2YWx1ZUIgPyAxIDogMCk7CiAg
ICAgICAgICAgICByZXR1cm4gYXNjZW5kaW5nID8gcmVzdWx0IDogLXJlc3VsdDsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBh
MDMxZDFmODA0NGVlMGFhNmQwNTVhMzk1NTRmYzIzZGU5NDY3YzE2Li5iY2NmMzFmZjYyODlmMDFm
MjFlYWZjMzliNjY2M2FiOWM4MDFmM2M0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTItMDYt
MDcgIEFsZXhlaSBGaWxpcHBvdiAgPGFsZXhlaWZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IHNvcnRpbmcgb2Ygb2JqZWN0IGZpZWxkcyBpcyBicm9rZW4gaW4gaGVhcCBw
cm9maWxlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODg1MzIKKworICAgICAgICBBIHJlY2VudCBjaGFuZ2UgdG8gaGVhcCBwcm9maWxlciBoYXMgcmVw
bGFjZWQgZ2V0dGVycyB3aXRoIGZ1bmN0aW9ucy4KKyAgICAgICAgRnVuY3Rpb24gY2FsbHMgd2Vy
ZSBtaXNzaW5nIGluIGNvdXBsZSBwbGFjZXMgYWZ0ZXIgdGhhdCBjaGFuZ2UuCisKKyAgICAgICAg
VGhlIGZvbGxvd2luZyBjaGFuZ2VzIHdlcmUgbWFkZSB0byB0aGUgdGVzdHM6CisgICAgICAgIC0g
Z2VuZXJhdGVTbmFwc2hvdCBub3cgdXNlcyBwc2V1ZG8gcmFuZG9tIG51bWJlcnMgZm9yIG9iamVj
dCBzaXplcy4KKyAgICAgICAgICBJdCBhbGxvd3MgdG8gdGVzdCBzb3J0aW5nLgorICAgICAgICAt
IEFkZGVkIGEgdGVzdCB0aGF0IGNoZWNrcyBzb3J0aW5nIG9mIG9iamVjdCBpbnN0YW5jZXMgb2Yg
YSBwYXJ0aWN1bGFyIGNsYXNzLgorICAgICAgICAtIEFkZGVkIGEgdGVzdCB0aGF0IGNoZWNrcyBz
b3J0aW5nIG9mIGZpZWxkcyBpbiBhbiBvYmplY3QgaW5zdGFuY2UuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGluc3BlY3Rvci9wcm9maWxl
ci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1maWVsZHMuaHRtbAorICAgICAgICAgICAg
ICAgaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLWluc3Rh
bmNlcy5odG1sCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1z
dW1tYXJ5LXNvcnRpbmctZmllbGRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5z
cGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLWZpZWxkcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1t
YXJ5LXNvcnRpbmctaW5zdGFuY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5z
cGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLWluc3RhbmNlcy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10
ZXN0LmpzOgorICAgICAgICAoaW5pdGlhbGl6ZV9IZWFwU25hcHNob3RUZXN0Lik6CisgICAgICAg
IChpbml0aWFsaXplX0hlYXBTbmFwc2hvdFRlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9T
a2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZv
cm0vd2luL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZDoKKwog
MjAxMi0wNi0wNyAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4gQ2xlYW4gY2hyb21pdW0gdGVzdCBleHBlY3RhdGlvbnMuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1t
YXJ5LXNvcnRpbmctZmllbGRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9w
cm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1maWVsZHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdkYTBkYTFhM2E4NTM3YTdlNjU1NjZmMmIxM2EzMjAwZWFjMjlhZjgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFw
c2hvdC1zdW1tYXJ5LXNvcnRpbmctZmllbGRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAK
K1Rlc3RzIHNvcnRpbmcgaW4gU3VtbWFyeSB2aWV3IG9mIGRldGFpbGVkIGhlYXAgc25hcHNob3Rz
LgorCitQcm9maWxlciB3YXMgZW5hYmxlZC4KK0RldGFpbGVkIGhlYXAgcHJvZmlsZXMgd2VyZSBl
bmFibGVkLgorCitSdW5uaW5nOiB0ZXN0U29ydGluZworCitQcm9maWxlciB3YXMgZGlzYWJsZWQu
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBz
aG90LXN1bW1hcnktc29ydGluZy1maWVsZHMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9w
cm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1maWVsZHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjBkYmUwY2QzYjVhMDg0MDlmMTU5NmQ5Y2YwMGM4ODMxNDU2ZWVhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3Vt
bWFyeS1zb3J0aW5nLWZpZWxkcy5odG1sCkBAIC0wLDAgKzEsOTEgQEAKKzxodG1sPgorPGhlYWQ+
CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQgc3JjPSJoZWFwLXNuYXBzaG90LXRlc3QuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIGluc3RhbmNl
Q291bnQgPSAxMDsKKyAgICBmdW5jdGlvbiBjcmVhdGVIZWFwU25hcHNob3QoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIEluc3BlY3RvclRlc3QuY3JlYXRlSGVhcFNuYXBzaG90KGluc3RhbmNlQ291
bnQpOworICAgIH0KKworICAgIEluc3BlY3RvclRlc3QucnVuSGVhcFNuYXBzaG90VGVzdFN1aXRl
KFsKKyAgICAgICAgZnVuY3Rpb24gdGVzdFNvcnRpbmcobmV4dCkKKyAgICAgICAgeworICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC50YWtlQW5kT3BlblNuYXBzaG90KGNyZWF0ZUhlYXBTbmFwc2hv
dCwgc3RlcDEpOworCisgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5zd2l0Y2hUb1ZpZXcoIlN1bW1hcnkiLCBz
dGVwMWEpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB2YXIgY29sdW1uczsKKyAgICAg
ICAgICAgIHZhciBjdXJyZW50Q29sdW1uOworICAgICAgICAgICAgdmFyIGN1cnJlbnRDb2x1bW5P
cmRlcjsKKyAgICAgICAgICAgIHZhciB3aW5kb3dSb3c7CisKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHN0ZXAxYSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIHJvdyA9IEluc3Bl
Y3RvclRlc3QuZmluZFJvdygib2JqZWN0IiwgIldpbmRvdyIpOworICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRydWUsICEhcm93LCAiXCJXaW5kb3dcIiBjbGFzcyBy
b3ciKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZFJvdyhyb3csIHN0ZXAx
Yik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAxYihyb3cpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMo
MSwgcm93LmNoaWxkcmVuLmxlbmd0aCwgInNpbmdsZSBXaW5kb3cgb2JqZWN0Iik7CisgICAgICAg
ICAgICAgICAgd2luZG93Um93ID0gcm93LmNoaWxkcmVuWzBdOworICAgICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRydWUsICEhd2luZG93Um93LCAiXCJXaW5kb3dcIiBp
bnN0YW5jZSByb3ciKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGFuZFJvdyh3
aW5kb3dSb3csIHN0ZXAyKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24g
c3RlcDIoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbHVtbnMgPSBJbnNwZWN0
b3JUZXN0LnZpZXdDb2x1bW5zKCk7CisgICAgICAgICAgICAgICAgY3VycmVudENvbHVtbiA9IDA7
CisgICAgICAgICAgICAgICAgY3VycmVudENvbHVtbk9yZGVyID0gZmFsc2U7CisgICAgICAgICAg
ICAgICAgc3RlcDMoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gc3Rl
cDMoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmIChjdXJyZW50Q29sdW1uID49
IGNvbHVtbnMubGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQobmV4dCwg
MCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jbGlja0NvbHVtbihjb2x1bW5zW2N1cnJlbnRDb2x1
bW5dLCBzdGVwNCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXA0
KG5ld0NvbHVtblN0YXRlKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNvbHVtbnNb
Y3VycmVudENvbHVtbl0gPSBuZXdDb2x1bW5TdGF0ZTsKKyAgICAgICAgICAgICAgICB2YXIgY29s
dW1uTmFtZSA9IGNvbHVtbnNbY3VycmVudENvbHVtbl0uaWRlbnRpZmllcjsKKyAgICAgICAgICAg
ICAgICB2YXIgY29udGVudHMgPSB3aW5kb3dSb3cuY2hpbGRyZW4ubWFwKGZ1bmN0aW9uKG9iaikg
eyByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLmRhdGFbY29sdW1uTmFtZV0pOyB9KTsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhpbnN0YW5jZUNvdW50LCBjb250
ZW50cy5sZW5ndGgsICJjb2x1bW4gY29udGVudHMiKTsKKyAgICAgICAgICAgICAgICB2YXIgc29y
dFR5cGVzID0geyBvYmplY3Q6ICJ0ZXh0IiwgZGlzdGFuY2VUb1dpbmRvdzogIm51bWJlciIsIGNv
dW50OiAibnVtYmVyIiwgc2hhbGxvd1NpemU6ICJzaXplIiwgcmV0YWluZWRTaXplOiAic2l6ZSIg
fTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyh0cnVlLCAhIXNv
cnRUeXBlc1tjb2x1bW5zW2N1cnJlbnRDb2x1bW5dLmlkZW50aWZpZXJdLCAic29ydCBieSBpZGVu
dGlmaWVyIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0FycmF5SXNTb3J0
ZWQoY29udGVudHMsIHNvcnRUeXBlc1tjb2x1bW5zW2N1cnJlbnRDb2x1bW5dLmlkZW50aWZpZXJd
LCBjb2x1bW5zW2N1cnJlbnRDb2x1bW5dLnNvcnQpOworCisgICAgICAgICAgICAgICAgaWYgKCFj
dXJyZW50Q29sdW1uT3JkZXIpCisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRDb2x1bW5PcmRl
ciA9IHRydWU7CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGN1
cnJlbnRDb2x1bW5PcmRlciA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICArK2N1cnJlbnRD
b2x1bW47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHN0ZXAzKCk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICBdKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3RzIHNvcnRpbmcgaW4gU3VtbWFyeSB2
aWV3IG9mIGRldGFpbGVkIGhlYXAgc25hcHNob3RzLgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qt
c3VtbWFyeS1zb3J0aW5nLWluc3RhbmNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNvcnRpbmctaW5zdGFuY2VzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZGEwZGExYTNhODUzN2E3ZTY1NTY2ZjJiMTNhMzIwMGVh
YzI5YWY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVy
L2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLWluc3RhbmNlcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw5IEBACitUZXN0cyBzb3J0aW5nIGluIFN1bW1hcnkgdmlldyBvZiBkZXRhaWxlZCBo
ZWFwIHNuYXBzaG90cy4KKworUHJvZmlsZXIgd2FzIGVuYWJsZWQuCitEZXRhaWxlZCBoZWFwIHBy
b2ZpbGVzIHdlcmUgZW5hYmxlZC4KKworUnVubmluZzogdGVzdFNvcnRpbmcKKworUHJvZmlsZXIg
d2FzIGRpc2FibGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmls
ZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNvcnRpbmctaW5zdGFuY2VzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNvcnRpbmctaW5z
dGFuY2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGIzYzg0YTRkMjQ1ZjMzYzU0MDA2MzM1MzdhMmYwZWRh
NmFlZDNmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxl
ci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy1pbnN0YW5jZXMuaHRtbApAQCAtMCwwICsx
LDg1IEBACis8aHRtbD4KKzxoZWFkPgorICA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9p
bnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHNyYz0iaGVh
cC1zbmFwc2hvdC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3Qo
KQoreworICAgIHZhciBpbnN0YW5jZUNvdW50ID0gMTA7CisgICAgZnVuY3Rpb24gY3JlYXRlSGVh
cFNuYXBzaG90KCkKKyAgICB7CisgICAgICAgIHJldHVybiBJbnNwZWN0b3JUZXN0LmNyZWF0ZUhl
YXBTbmFwc2hvdChpbnN0YW5jZUNvdW50KTsKKyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LnJ1
bkhlYXBTbmFwc2hvdFRlc3RTdWl0ZShbCisgICAgICAgIGZ1bmN0aW9uIHRlc3RTb3J0aW5nKG5l
eHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QudGFrZUFuZE9wZW5TbmFw
c2hvdChjcmVhdGVIZWFwU25hcHNob3QsIHN0ZXAxKTsKKworICAgICAgICAgICAgZnVuY3Rpb24g
c3RlcDEoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc3dp
dGNoVG9WaWV3KCJTdW1tYXJ5Iiwgc3RlcDFhKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgdmFyIGNvbHVtbnM7CisgICAgICAgICAgICB2YXIgY3VycmVudENvbHVtbjsKKyAgICAgICAg
ICAgIHZhciBjdXJyZW50Q29sdW1uT3JkZXI7CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAx
YSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIHJvdyA9IEluc3BlY3RvclRl
c3QuZmluZFJvdygib2JqZWN0IiwgIkIiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFzc2VydEVxdWFscyh0cnVlLCAhIXJvdywgIlwiQlwiIHJvdyIpOworICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwYW5kUm93KHJvdywgc3RlcDIpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBmdW5jdGlvbiBzdGVwMihyb3cpCisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgY29sdW1ucyA9IEluc3BlY3RvclRlc3Qudmlld0NvbHVtbnMoKTsKKyAgICAgICAgICAg
ICAgICBjdXJyZW50Q29sdW1uID0gMDsKKyAgICAgICAgICAgICAgICBjdXJyZW50Q29sdW1uT3Jk
ZXIgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBzdGVwMygpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgaWYgKGN1cnJlbnRDb2x1bW4gPj0gY29sdW1ucy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAg
ICAgICAgc2V0VGltZW91dChuZXh0LCAwKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2xpY2tD
b2x1bW4oY29sdW1uc1tjdXJyZW50Q29sdW1uXSwgc3RlcDQpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBmdW5jdGlvbiBzdGVwNChuZXdDb2x1bW5TdGF0ZSkKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBjb2x1bW5zW2N1cnJlbnRDb2x1bW5dID0gbmV3Q29sdW1uU3RhdGU7
CisgICAgICAgICAgICAgICAgdmFyIGNvbHVtbk5hbWUgPSBjb2x1bW5zW2N1cnJlbnRDb2x1bW5d
LmlkZW50aWZpZXI7CisgICAgICAgICAgICAgICAgdmFyIHJvdyA9IEluc3BlY3RvclRlc3QuZmlu
ZFJvdygib2JqZWN0IiwgIkIiKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dEVxdWFscyh0cnVlLCAhIXJvdywgIlwiQlwiIHJvdyIpOworICAgICAgICAgICAgICAgIHZhciBj
b250ZW50cyA9IHJvdy5jaGlsZHJlbi5tYXAoZnVuY3Rpb24ob2JqKSB7IHJldHVybiBKU09OLnN0
cmluZ2lmeShvYmouZGF0YVtjb2x1bW5OYW1lXSk7IH0pOworICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuYXNzZXJ0RXF1YWxzKGluc3RhbmNlQ291bnQsIGNvbnRlbnRzLmxlbmd0aCwgImNv
bHVtbiBjb250ZW50cyIpOworICAgICAgICAgICAgICAgIHZhciBzb3J0VHlwZXMgPSB7IG9iamVj
dDogInRleHQiLCBkaXN0YW5jZVRvV2luZG93OiAibnVtYmVyIiwgY291bnQ6ICJudW1iZXIiLCBz
aGFsbG93U2l6ZTogInNpemUiLCByZXRhaW5lZFNpemU6ICJzaXplIiB9OworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKHRydWUsICEhc29ydFR5cGVzW2NvbHVtbnNb
Y3VycmVudENvbHVtbl0uaWRlbnRpZmllcl0sICJzb3J0IGJ5IGlkZW50aWZpZXIiKTsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrQXJyYXlJc1NvcnRlZChjb250ZW50cywgc29y
dFR5cGVzW2NvbHVtbnNbY3VycmVudENvbHVtbl0uaWRlbnRpZmllcl0sIGNvbHVtbnNbY3VycmVu
dENvbHVtbl0uc29ydCk7CisKKyAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRDb2x1bW5PcmRl
cikKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudENvbHVtbk9yZGVyID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudENvbHVtbk9yZGVy
ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgICsrY3VycmVudENvbHVtbjsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgc3RlcDMoKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgIF0pOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKzxwPgorVGVzdHMgc29ydGluZyBpbiBTdW1tYXJ5IHZpZXcgb2YgZGV0YWlsZWQg
aGVhcCBzbmFwc2hvdHMuCis8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtdGVzdC5qcwppbmRleCBkYTk0
Y2I3MjNhNDQzNjRhZWExZTFkNjY3MDU3ZTRlNjRlM2NlYmM5Li5jNTNhYjUwNTQwZWE4YzdmYjgy
MjhjNGQ0YTE3MjBmMGQ0Y2E0YzZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
cHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXRlc3QuanMKQEAgLTI2NCw0MiArMjY0LDM1IEBAIElu
c3BlY3RvclRlc3QuY2hlY2tBcnJheUlzU29ydGVkID0gZnVuY3Rpb24oY29udGVudHMsIHNvcnRU
eXBlLCBzb3J0T3JkZXIpCiAgICAgfQogICAgIGZ1bmN0aW9uIHBhcnNlU2l6ZShzaXplKQogICAg
IHsKLSAgICAgICAgaWYgKHNpemUuY2hhckF0KDApID09PSAiPiIpCi0gICAgICAgICAgICBzaXpl
ID0gc2l6ZS5zdWJzdHJpbmcoMik7Ci0gICAgICAgIHZhciBhbW91bnQgPSBwYXJzZUZsb2F0KHNp
emUsIDEwKTsKLSAgICAgICAgdmFyIG11bHRpcGxpZXIgPSB7Ci0gICAgICAgICAgICAiS0IiOiAx
MDI0LAotICAgICAgICAgICAgIk1CIjogMTAyNCAqIDEwMjQKLSAgICAgICAgfVtzaXplLnN1YnN0
cmluZyhzaXplLmxlbmd0aCAtIDIpXTsKLSAgICAgICAgcmV0dXJuIG11bHRpcGxpZXIgPyBhbW91
bnQgKiBtdWx0aXBsaWVyIDogYW1vdW50OwotICAgIH0KLSAgICBmdW5jdGlvbiBleHRyYWN0TmFt
ZShkYXRhKQorICAgICAgICBpZiAoc2l6ZS5zdWJzdHIoMCwgMSkgPT09ICciJykgc2l6ZSA9IEpT
T04ucGFyc2Uoc2l6ZSk7CisgICAgICAgIC8vIFJlbW92ZSB0aG91c2FuZHMgc2VwYXJhdG9yLgor
ICAgICAgICByZXR1cm4gcGFyc2VJbnQoc2l6ZS5yZXBsYWNlKC9bXHUyMDA5LF0vZywgIiIpKTsK
KyAgICB9CisgICAgZnVuY3Rpb24gZXh0cmFjdEZpZWxkKGRhdGEsIGZpZWxkKQogICAgIHsKKyAg
ICAgICAgaWYgKGRhdGEuc3Vic3RyKDAsIDEpICE9PSAieyIpIHJldHVybiBkYXRhOwogICAgICAg
ICBkYXRhID0gSlNPTi5wYXJzZShkYXRhKTsKLSAgICAgICAgaWYgKCFkYXRhLm5hbWUpCi0gICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTm8gbmFtZSBmaWVsZCBpbiAiICsgSlNP
Ti5zdHJpbmdpZnkoZGF0YSkpOwotICAgICAgICByZXR1cm4gcGFyc2VJbnQoZGF0YS5uYW1lLCAx
MCk7CisgICAgICAgIGlmICghZGF0YVtmaWVsZF0pCisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiTm8gIiArIGZpZWxkICsgIiBmaWVsZCBpbiAiICsgSlNPTi5zdHJpbmdpZnko
ZGF0YSkpOworICAgICAgICByZXR1cm4gZGF0YVtmaWVsZF07CiAgICAgfQogICAgIGZ1bmN0aW9u
IGV4dHJhY3RJZChkYXRhKQogICAgIHsKLSAgICAgICAgZGF0YSA9IEpTT04ucGFyc2UoZGF0YSk7
Ci0gICAgICAgIGlmICghZGF0YS5ub2RlSWQpCi0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiTm8gbm9kZUlkIGZpZWxkIGluICIgKyBKU09OLnN0cmluZ2lmeShkYXRhKSk7Ci0g
ICAgICAgIHJldHVybiBwYXJzZUludChkYXRhLm5vZGVJZCwgMTApOwotICAgIH0KLSAgICB2YXIg
Y29tcGFyYXRvciA9IHsKLSAgICAgICAgdGV4dDogc2ltcGxlQ29tcGFyYXRvciwKLSAgICAgICAg
bnVtYmVyOiBmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gc2ltcGxlQ29tcGFyYXRvcihwYXJzZUlu
dChhLCAxMCksIHBhcnNlSW50KGIsIDEwKSk7IH0sCi0gICAgICAgIHNpemU6IGZ1bmN0aW9uIChh
LCBiKSB7IHJldHVybiBzaW1wbGVDb21wYXJhdG9yKHBhcnNlU2l6ZShhKSwgcGFyc2VTaXplKGIp
KTsgfSwKLSAgICAgICAgbmFtZTogZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJuIHNpbXBsZUNvbXBh
cmF0b3IoZXh0cmFjdE5hbWUoYSksIGV4dHJhY3ROYW1lKGIpKTsgfSwKLSAgICAgICAgaWQ6IGZ1
bmN0aW9uIChhLCBiKSB7IHJldHVybiBzaW1wbGVDb21wYXJhdG9yKGV4dHJhY3RJZChhKSwgZXh0
cmFjdElkKGIpKTsgfQorICAgICAgICByZXR1cm4gcGFyc2VJbnQoZXh0cmFjdEZpZWxkKGRhdGEs
ICJub2RlSWQiKSk7CisgICAgfQorICAgIHZhciBleHRyYWN0b3IgPSB7CisgICAgICAgIHRleHQ6
IGZ1bmN0aW9uIChkYXRhKSB7IHJldHVybiBleHRyYWN0RmllbGQoZGF0YSwgInZhbHVlIik7IH0s
CisgICAgICAgIG51bWJlcjogZnVuY3Rpb24gKGRhdGEpIHsgcmV0dXJuIHBhcnNlSW50KGRhdGEs
IDEwKTsgfSwKKyAgICAgICAgc2l6ZTogZnVuY3Rpb24gKGRhdGEpIHsgcmV0dXJuIHBhcnNlU2l6
ZShkYXRhKTsgfSwKKyAgICAgICAgbmFtZTogZnVuY3Rpb24gKGRhdGEpIHsgcmV0dXJuIGV4dHJh
Y3RGaWVsZChkYXRhLCAibmFtZSIpOyB9LAorICAgICAgICBpZDogZnVuY3Rpb24gKGRhdGEpIHsg
cmV0dXJuIGV4dHJhY3RJZChkYXRhKTsgfQogICAgIH1bc29ydFR5cGVdOwogICAgIHZhciBhY2Nl
cHRhYmxlQ29tcGFyaXNvblJlc3VsdCA9IHsKICAgICAgICAgYXNjZW5kaW5nOiAtMSwKICAgICAg
ICAgZGVzY2VuZGluZzogMQogICAgIH1bc29ydE9yZGVyXTsKIAotICAgIGlmICghY29tcGFyYXRv
cikgeworICAgIGlmICghZXh0cmFjdG9yKSB7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVz
dWx0KCJJbnZhbGlkIHNvcnQgdHlwZTogIiArIHNvcnRUeXBlKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KQEAgLTMwOSw5ICszMDIsMTEgQEAgSW5zcGVjdG9yVGVzdC5jaGVja0FycmF5SXNTb3J0
ZWQgPSBmdW5jdGlvbihjb250ZW50cywgc29ydFR5cGUsIHNvcnRPcmRlcikKICAgICB9CiAKICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbnRlbnRzLmxlbmd0aCAtIDE7ICsraSkgewotICAgICAg
ICB2YXIgcmVzdWx0ID0gY29tcGFyYXRvcihjb250ZW50c1tpXSwgY29udGVudHNbaSArIDFdKTsK
KyAgICAgICAgdmFyIGEgPSBleHRyYWN0b3IoY29udGVudHNbaV0pOworICAgICAgICB2YXIgYiA9
IGV4dHJhY3Rvcihjb250ZW50c1tpICsgMV0pOworICAgICAgICB2YXIgcmVzdWx0ID0gc2ltcGxl
Q29tcGFyYXRvcihhLCBiKTsKICAgICAgICAgaWYgKHJlc3VsdCAhPT0gMCAmJiByZXN1bHQgIT09
IGFjY2VwdGFibGVDb21wYXJpc29uUmVzdWx0KQotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5h
ZGRSZXN1bHQoIkVsZW1lbnRzICIgKyBpICsgIiBhbmQgIiArIChpICsgMSkgKyAiIGFyZSBvdXQg
b2Ygb3JkZXI6ICIgKyBjb250ZW50c1tpXSArICIgIiArIGNvbnRlbnRzW2kgKyAxXSArICIgKCIg
KyBzb3J0T3JkZXIgKyAiKSIpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
IkVsZW1lbnRzICIgKyBpICsgIiBhbmQgIiArIChpICsgMSkgKyAiIGFyZSBvdXQgb2Ygb3JkZXI6
ICIgKyBhICsgIiAiICsgYiArICIgKCIgKyBzb3J0T3JkZXIgKyAiKSIpOwogICAgIH0KIH07CiAK
QEAgLTYwMiw5ICs1OTcsMTMgQEAgSW5zcGVjdG9yVGVzdC5jcmVhdGVIZWFwU25hcHNob3QgPSBm
dW5jdGlvbihpbnN0YW5jZUNvdW50LCBmaXJzdElkKQogICAgIC8vIGZ1bmN0aW9uIEIoeCkgeyB0
aGlzLmEgPSBuZXcgQSh4KTsgfQogICAgIC8vIGZvciAodmFyIGkgPSAwOyBpIDwgaW5zdGFuY2VD
b3VudDsgKytpKSBuZXcgQigpOwogICAgIC8vIAotICAgIC8vIEluc3RhbmNlcyBvZiBBIGhhdmUg
MTIgYnl0ZXMgc2l6ZSwgaW5zdGFuY2VzIG9mIEIgaGFzIDE2IGJ5dGVzIHNpemUuCi0gICAgdmFy
IHNpemVPZkEgPSAxMjsKLSAgICB2YXIgc2l6ZU9mQiA9IDE2OworICAgIC8vIFNldCBBIGFuZCBC
IG9iamVjdCBzaXplcyB0byBwc2V1ZG8gcmFuZG9tIG51bWJlcnMuIEl0IGlzIHVzZWQgaW4gc29y
dGluZyB0ZXN0cy4KKworICAgIHZhciBzZWVkID0gODgxNjY5OworICAgIGZ1bmN0aW9uIHBzZXVk
b1JhbmRvbShsaW1pdCkgeworICAgICAgICBzZWVkID0gKChzZWVkICogMzU1MTA5ICsgMTUzNzYz
KSA+PiAyKSAmIDB4ZmZmZjsKKyAgICAgICAgcmV0dXJuIHNlZWQgJSBsaW1pdDsKKyAgICB9CiAK
ICAgICB2YXIgYnVpbGRlciA9IG5ldyBJbnNwZWN0b3JUZXN0LkhlYXBTbmFwc2hvdEJ1aWxkZXIo
KTsKICAgICB2YXIgcm9vdE5vZGUgPSBidWlsZGVyLnJvb3ROb2RlOwpAQCAtNjEyLDEzICs2MTEs
MTUgQEAgSW5zcGVjdG9yVGVzdC5jcmVhdGVIZWFwU25hcHNob3QgPSBmdW5jdGlvbihpbnN0YW5j
ZUNvdW50LCBmaXJzdElkKQogICAgIHZhciBnY1Jvb3RzTm9kZSA9IG5ldyBJbnNwZWN0b3JUZXN0
LkhlYXBOb2RlKCIoR0Mgcm9vdHMpIik7CiAgICAgcm9vdE5vZGUubGlua05vZGUoZ2NSb290c05v
ZGUsIEluc3BlY3RvclRlc3QuSGVhcEVkZ2UuVHlwZS5lbGVtZW50KTsKIAotICAgIHZhciB3aW5k
b3dOb2RlID0gbmV3IEluc3BlY3RvclRlc3QuSGVhcE5vZGUoIldpbmRvdyIpOworICAgIHZhciB3
aW5kb3dOb2RlID0gbmV3IEluc3BlY3RvclRlc3QuSGVhcE5vZGUoIldpbmRvdyIsIDIwKTsKICAg
ICByb290Tm9kZS5saW5rTm9kZSh3aW5kb3dOb2RlLCBJbnNwZWN0b3JUZXN0LkhlYXBFZGdlLlR5
cGUuc2hvcnRjdXQpOwogICAgIGdjUm9vdHNOb2RlLmxpbmtOb2RlKHdpbmRvd05vZGUsIEluc3Bl
Y3RvclRlc3QuSGVhcEVkZ2UuVHlwZS5lbGVtZW50KTsKIAogICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgaW5zdGFuY2VDb3VudDsgKytpKSB7CisgICAgICAgIHZhciBzaXplT2ZCID0gcHNldWRvUmFu
ZG9tKDIwKSArIDE7CiAgICAgICAgIHZhciBub2RlQiA9IG5ldyBJbnNwZWN0b3JUZXN0LkhlYXBO
b2RlKCJCIiwgc2l6ZU9mQiwgdW5kZWZpbmVkLCBmaXJzdElkKyspOwogICAgICAgICB3aW5kb3dO
b2RlLmxpbmtOb2RlKG5vZGVCLCBJbnNwZWN0b3JUZXN0LkhlYXBFZGdlLlR5cGUuZWxlbWVudCk7
CisgICAgICAgIHZhciBzaXplT2ZBID0gcHNldWRvUmFuZG9tKDUwKSArIDE7CiAgICAgICAgIHZh
ciBub2RlQSA9IG5ldyBJbnNwZWN0b3JUZXN0LkhlYXBOb2RlKCJBIiwgc2l6ZU9mQSwgdW5kZWZp
bmVkLCBmaXJzdElkKyspOwogICAgICAgICBub2RlQi5saW5rTm9kZShub2RlQSwgSW5zcGVjdG9y
VGVzdC5IZWFwRWRnZS5UeXBlLnByb3BlcnR5LCAiYSIpOwogICAgICAgICBub2RlQS5saW5rTm9k
ZShub2RlQSwgSW5zcGVjdG9yVGVzdC5IZWFwRWRnZS5UeXBlLnByb3BlcnR5LCAiYSIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvU2tpcHBlZAppbmRleCAzNjBlZTZhMjQzYmY1YWU4ZTcxZDdhZjU2YjdmODMw
ZmI1MDk3MzhhLi43ZDkyNTZmOWM4MjRlMjRiMTRiY2U1ODY5YTJmMTZiYzk0YjgzYjRiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApAQCAtMjg3LDYgKzI4Nyw5IEBAIGluc3BlY3Rvci9wcm9m
aWxlci9oZWFwLXNuYXBzaG90LWxvYWRlci5odG1sCiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1z
bmFwc2hvdC1yZXZlYWwtaW4tZG9taW5hdG9ycy12aWV3Lmh0bWwKIGluc3BlY3Rvci9wcm9maWxl
ci9oZWFwLXNuYXBzaG90LXN1bW1hcnktcmV0YWluZXJzLmh0bWwKIGluc3BlY3Rvci9wcm9maWxl
ci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc2hvdy1yYW5nZXMuaHRtbAoraW5zcGVjdG9yL3Byb2Zp
bGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLWZpZWxkcy5odG1sCitpbnNwZWN0b3Iv
cHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNvcnRpbmcuaHRtbAoraW5zcGVjdG9yL3By
b2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zb3J0aW5nLWluc3RhbmNlcy5odG1sCiAKICMg
U2tpcHBpbmcgbmV3bHkgYWRkZWQgdGVzdHMgd2hpbGUgSSdtIGZpbmRpbmcgb3V0IHdoYXQgaXMg
d3JvbmcuCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTcwNgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggYjk4ZTJjZGE5OTUzZGZhOTYyZGQ2NWFiMGI3YmMw
M2I0YjhmZDE3MS4uODI0Yzc3MmU3MzYyOTMwYzcxNWRhMTg1YjcyZGFjM2I3YzM3ODM0ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0yODQsNiArMjg0LDkgQEAgaW5zcGVjdG9yL3Byb2Zp
bGVyL2hlYXAtc25hcHNob3QtbG9hZGVyLmh0bWwKIGluc3BlY3Rvci9wcm9maWxlci9oZWFwLXNu
YXBzaG90LXJldmVhbC1pbi1kb21pbmF0b3JzLXZpZXcuaHRtbAogaW5zcGVjdG9yL3Byb2ZpbGVy
L2hlYXAtc25hcHNob3Qtc3VtbWFyeS1yZXRhaW5lcnMuaHRtbAogaW5zcGVjdG9yL3Byb2ZpbGVy
L2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zaG93LXJhbmdlcy5odG1sCitpbnNwZWN0b3IvcHJvZmls
ZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNvcnRpbmctZmllbGRzLmh0bWwKK2luc3BlY3Rvci9w
cm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1hcnktc29ydGluZy5odG1sCitpbnNwZWN0b3IvcHJv
ZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNvcnRpbmctaW5zdGFuY2VzLmh0bWwKIAogIyBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAzMDAKIGluc3BlY3Rvci9k
ZWJ1Z2dlci9saXZlLWVkaXQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCAxNDAw
NzhmYWE5Y2Y5OTRjZjA3MDRmMTUyMGY3MjEwMmVlNDE0MDQwLi4xNGM3M2I3N2NhOTU4NDRjYTJh
YWZkODRhYTU3MDE4ZmIxZDUzZmI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTI3
Myw2ICsxMjczLDkgQEAgaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtbG9hZGVyLmh0
bWwKIGluc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXJldmVhbC1pbi1kb21pbmF0b3Jz
LXZpZXcuaHRtbAogaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zaG93
LXJhbmdlcy5odG1sCiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXJl
dGFpbmVycy5odG1sCitpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5LXNv
cnRpbmctZmllbGRzLmh0bWwKK2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXN1bW1h
cnktc29ydGluZy5odG1sCitpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1tYXJ5
LXNvcnRpbmctaW5zdGFuY2VzLmh0bWwKIAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDAzMDAKIGluc3BlY3Rvci9kZWJ1Z2dlci9saXZlLWVkaXQuaHRtbApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL1NraXBwZWQKaW5kZXggZGZlZmM2MzJkNDUwYjJmNDRhMzc4
NDIyN2Q3MTkwMzE4NWQ0NzNkZi4uYTQxNzRjZjVmOTVkZGNkZDU3ZDgzNDM4MDUyMzc1MGFiMGRm
M2YxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCkBAIC0xNzcyLDYgKzE3
NzIsOSBAQCBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1jb21wYXJpc29uLXNob3ct
YWxsLmh0bWwKIGluc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXJldmVhbC1pbi1kb21p
bmF0b3JzLXZpZXcuaHRtbAogaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFy
eS1yZXRhaW5lcnMuaHRtbAogaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFy
eS1zaG93LXJhbmdlcy5odG1sCitpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1zdW1t
YXJ5LXNvcnRpbmctZmllbGRzLmh0bWwKK2luc3BlY3Rvci9wcm9maWxlci9oZWFwLXNuYXBzaG90
LXN1bW1hcnktc29ydGluZy5odG1sCitpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC1z
dW1tYXJ5LXNvcnRpbmctaW5zdGFuY2VzLmh0bWwKIAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDAzMDAKIGluc3BlY3Rvci9kZWJ1Z2dlci9saXZlLWVkaXQuaHRt
bAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>