<?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>118699</bug_id>
          
          <creation_ts>2013-07-15 18:26:21 -0700</creation_ts>
          <short_desc>[EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_text_checker.cpp</short_desc>
          <delta_ts>2013-07-16 00:35:01 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</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>
          
          <blocked>118698</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Donggwan Kim">donggwan.kim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>908618</commentid>
    <comment_count>0</comment_count>
    <who name="Donggwan Kim">donggwan.kim</who>
    <bug_when>2013-07-15 18:26:21 -0700</bug_when>
    <thetext>Many mouseClick methods are used in test_ewk2_text_checker.cpp.
But it is difficult to understand what they mean.
So i would like to replace those with more meaningful method for readability.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908685</commentid>
    <comment_count>1</comment_count>
      <attachid>206725</attachid>
    <who name="Donggwan Kim">donggwan.kim</who>
    <bug_when>2013-07-15 23:01:31 -0700</bug_when>
    <thetext>Created attachment 206725
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908687</commentid>
    <comment_count>2</comment_count>
      <attachid>206725</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-15 23:23:03 -0700</bug_when>
    <thetext>Comment on attachment 206725
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:74
&gt; +    void showContextMenuWithFirstLineText()

How about introducing enums:
enum Line { FirstLine, SecondLine }
enum Button { SelectAllWithSpellcheckButton, SelectAllWithoutSpellcheckButton, SelectSubWordWithSpellcheckButton }

and rename the methods to:
clickButton(Button button);
showContextMenu(Line line);
selectFirstWord(Line line);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908688</commentid>
    <comment_count>3</comment_count>
    <who name="Donggwan Kim">donggwan.kim</who>
    <bug_when>2013-07-15 23:25:35 -0700</bug_when>
    <thetext>It sounds good to me. 
I will modify and upload the patch again as you guided.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908698</commentid>
    <comment_count>4</comment_count>
      <attachid>206729</attachid>
    <who name="Donggwan Kim">donggwan.kim</who>
    <bug_when>2013-07-15 23:44:34 -0700</bug_when>
    <thetext>Created attachment 206729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908699</commentid>
    <comment_count>5</comment_count>
    <who name="Donggwan Kim">donggwan.kim</who>
    <bug_when>2013-07-15 23:44:57 -0700</bug_when>
    <thetext>It sounds good to me. 
I will modify and upload the patch again as you guided.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908705</commentid>
    <comment_count>6</comment_count>
      <attachid>206729</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-15 23:56:58 -0700</bug_when>
    <thetext>Comment on attachment 206729
Patch

Ok, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908724</commentid>
    <comment_count>7</comment_count>
      <attachid>206729</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-16 00:34:59 -0700</bug_when>
    <thetext>Comment on attachment 206729
Patch

Clearing flags on attachment: 206729

Committed r152708: &lt;http://trac.webkit.org/changeset/152708&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908725</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-16 00:35:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206725</attachid>
            <date>2013-07-15 23:01:31 -0700</date>
            <delta_ts>2013-07-15 23:44:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118699-20130716150105.patch</filename>
            <type>text/plain</type>
            <size>18327</size>
            <attacher name="Donggwan Kim">donggwan.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTM2ZjMwYmExMDgyYTEy
MTI3YWQ3OTcyYTFkZThiY2I0MjM5YjYxNS4uMGI3MjlkNGIyYjQ5YzQ1ZTI0OWU2MjJhZWM4YzFk
NTNlYWI0NzhiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTA3LTE1ICBEb25n
LUd3YW4gS2ltICA8ZG9uZ2d3YW4ua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJlcGxhY2Ug
bW91c2VDbGljayB3aXRoIG1vcmUgbWVhbmluZ2Z1bCBtZXRob2QgaW4gdGVzdF9ld2syX3RleHRf
Y2hlY2tlci5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExODY5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE1hbnkgbW91c2VDbGljayBtZXRob2RzIGFyZSB1c2VkIGluIHRlc3RfZXdrMl90ZXh0X2No
ZWNrZXIuY3BwLgorICAgICAgICBCdXQgaXQgaXMgZGlmZmljdWx0IHRvIHVuZGVyc3RhbmQgd2hh
dCB0aGV5IG1lYW4uCisgICAgICAgIFNvIGkgd291bGQgbGlrZSB0byByZXBsYWNlIHRob3NlIHdp
dGggbW9yZSBtZWFuaW5nZnVsIG1ldGhvZCBmb3IgcmVhZGFiaWxpdHkuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcDoKKyAgICAg
ICAgKEVXSzJUZXh0Q2hlY2tlclRlc3Q6OmNsaWNrU2VsZWN0QWxsV29yZHNXaXRoU3BlbGxjaGVj
a0J1dHRvbik6CisgICAgICAgIChFV0syVGV4dENoZWNrZXJUZXN0OjpjbGlja1NlbGVjdEFsbFdv
cmRzV2l0aG91dFNwZWxsY2hlY2tCdXR0b24pOgorICAgICAgICAoRVdLMlRleHRDaGVja2VyVGVz
dDo6Y2xpY2tTZWxlY3RTdWJXb3JkV2l0aFNwZWxsY2hlY2tCdXR0b24pOgorICAgICAgICAoRVdL
MlRleHRDaGVja2VyVGVzdDo6c2hvd0NvbnRleHRNZW51V2l0aEZpcnN0TGluZVRleHQpOgorICAg
ICAgICAoRVdLMlRleHRDaGVja2VyVGVzdDo6c2hvd0NvbnRleHRNZW51V2l0aFNlY29uZExpbmVU
ZXh0KToKKyAgICAgICAgKEVXSzJUZXh0Q2hlY2tlclRlc3Q6OnNlbGVjdEZpcnN0V29yZEluRmly
c3RMaW5lVGV4dCk6CisgICAgICAgIChFV0syVGV4dENoZWNrZXJUZXN0OjpzZWxlY3RGaXJzdFdv
cmRJblNlY29uZExpbmVUZXh0KToKKyAgICAgICAgKFRFU1RfRik6CisKIDIwMTMtMDctMTAgIFJv
Z2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBQbHVnaW5zIHRoYXQg
ZG9uJ3Qgc3VwcG9ydCBzbmFwc2hvdHRpbmcgc2hvdWxkIG5vdCBhbGwgYXV0b3N0YXJ0LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2sy
X3RleHRfY2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0
cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcAppbmRleCBiMDhiYjgzZTMyOWE1NTM0NzYyNWFk
Y2VkMDE3YzU0ZjZkODdjYTg1Li5kMTRhOTM2NWNhNTNmOTRlNDcyYzVhNTIyMTI3ZDg2M2E0ZWQz
MGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90
ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcApAQCAtNTQsNiArNTQsNDQg
QEAgc3RhdGljIGNvbnN0IGNoYXIqIGNsaWVudFN1Z2dlc3Rpb25zRm9yV29yZFtdID0geyAiY2xp
ZW50U3VnZ2VzdGlvbjEiLCAiY2xpZW50U3UKIHN0YXRpYyB1bnNpZ25lZCBjb250ZXh0TWVudUl0
ZW1zTnVtYmVyID0gMDsKIHN0YXRpYyBTdHJpbmcga25vd25Xb3JkOwogCitjbGFzcyBFV0syVGV4
dENoZWNrZXJUZXN0IDogcHVibGljIEVXSzJVbml0VGVzdEJhc2UgeworcHJvdGVjdGVkOgorICAg
IHZvaWQgY2xpY2tTZWxlY3RBbGxXb3Jkc1dpdGhTcGVsbGNoZWNrQnV0dG9uKCkKKyAgICB7Cisg
ICAgICAgIG1vdXNlQ2xpY2soNjAsIDYwKTsKKyAgICB9CisKKyAgICB2b2lkIGNsaWNrU2VsZWN0
QWxsV29yZHNXaXRob3V0U3BlbGxjaGVja0J1dHRvbigpCisgICAgeworICAgICAgICBtb3VzZUNs
aWNrKDUwMCwgNjApOworICAgIH0KKworICAgIHZvaWQgY2xpY2tTZWxlY3RTdWJXb3JkV2l0aFNw
ZWxsY2hlY2tCdXR0b24oKQorICAgIHsKKyAgICAgICAgbW91c2VDbGljaygyMDAsIDYwKTsKKyAg
ICB9CisKKyAgICB2b2lkIHNob3dDb250ZXh0TWVudVdpdGhGaXJzdExpbmVUZXh0KCkKKyAgICB7
CisgICAgICAgIG1vdXNlQ2xpY2soMTAsIDIwLCAzKTsKKyAgICB9CisKKyAgICB2b2lkIHNob3dD
b250ZXh0TWVudVdpdGhTZWNvbmRMaW5lVGV4dCgpCisgICAgeworICAgICAgICBtb3VzZUNsaWNr
KDM1LCAzNSwgMyk7CisgICAgfQorCisgICAgdm9pZCBzZWxlY3RGaXJzdFdvcmRJbkZpcnN0TGlu
ZVRleHQoKQorICAgIHsKKyAgICAgICAgbW91c2VEb3VibGVDbGljaygxMCwgMjApOworICAgIH0K
KworICAgIHZvaWQgc2VsZWN0Rmlyc3RXb3JkSW5TZWNvbmRMaW5lVGV4dCgpCisgICAgeworICAg
ICAgICBtb3VzZURvdWJsZUNsaWNrKDM1LCAzNSk7CisgICAgfQorfTsKKwogLyoqCiAgKiBTdHJ1
Y3R1cmUga2VlcHMgaW5mb3JtYXRpb24gd2hpY2ggY2FsbGJhY2tzIHdlcmUgY2FsbGVkLgogICog
SXRzIHZhbHVlcyBhcmUgcmVzZXQgYmVmb3JlIGVhY2ggdGVzdC4KQEAgLTM1MywxNCArMzkxLDE0
IEBAIHN0YXRpYyBFaW5hX0Jvb2wgY291bnRDb250ZXh0TWVudUl0ZW1zKEV3a19WaWV3X1NtYXJ0
X0RhdGEqLCBFdmFzX0Nvb3JkLCBFdmFzX0NvCiAvKioKICAqIFRlc3Qgd2hldGhlciB0aGVyZSBh
cmUgc3BlbGxpbmcgc3VnZ2VzdGlvbnMgd2hlbiBtaXNzcGVsbGVkIHdvcmQgaXMgZGlyZWN0bHkg
Y29udGV4dCBjbGlja2VkLgogICovCi1URVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgc3BlbGxpbmdf
c3VnZ2VzdGlvbl9mb3JfY29udGV4dF9jbGljaykKK1RFU1RfRihFV0syVGV4dENoZWNrZXJUZXN0
LCBzcGVsbGluZ19zdWdnZXN0aW9uX2Zvcl9jb250ZXh0X2NsaWNrKQogewogICAgIHdhc0NvbnRl
eHRNZW51U2hvd24gPSBmYWxzZTsKIAogICAgIC8vIENoZWNraW5nIG51bWJlciBvZiBjb250ZXh0
IG1lbnUgaXRlbXMgd2hlbiBlbGVtZW50IGhhcyBubyBzcGVsbGNoZWNrIHN1Z2dlc3Rpb25zLgog
ICAgIGV3a1ZpZXdDbGFzcygpLT5jb250ZXh0X21lbnVfc2hvdyA9IGNvdW50Q29udGV4dE1lbnVJ
dGVtczsKICAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9yUmVz
b3VyY2UoInNwZWxsaW5nX3NlbGVjdGlvbl90ZXN0cy5odG1sIikuZGF0YSgpKSk7Ci0gICAgbW91
c2VDbGljaygxMCwgMjAsIDMgLyogUmlnaHQgYnV0dG9uIC0gaW52b2tlIGNvbnRleHQgbWVudSAq
Lyk7CisgICAgc2hvd0NvbnRleHRNZW51V2l0aEZpcnN0TGluZVRleHQoKTsKIAogICAgIEFTU0VS
VF9UUlVFKHdhaXRVbnRpbFRydWUod2FzQ29udGV4dE1lbnVTaG93bikpOwogICAgIHVuc2lnbmVk
IG51bWJlckl0ZW1zV2l0aG91dFNwZWxsQ2hlY2sgPSBjb250ZXh0TWVudUl0ZW1zTnVtYmVyOwpA
QCAtMzY5LDcgKzQwNyw3IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBzcGVsbGluZ19zdWdn
ZXN0aW9uX2Zvcl9jb250ZXh0X2NsaWNrKQogCiAgICAgLy8gVGVzdGluZyBob3cgbWFueSBpdGVt
cyBhcmUgaW4gY29udGV4dCBtZW51IHdoZW4gc3BlbGxjaGVjayBpcyBlbmFibGVkLgogICAgIEFT
U0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgic3BlbGxp
bmdfc2VsZWN0aW9uX3Rlc3RzLmh0bWwiKS5kYXRhKCkpKTsKLSAgICBtb3VzZUNsaWNrKDM1LCAz
NSwgMyAvKiBSaWdodCBidXR0b24gLSBpbnZva2UgY29udGV4dCBtZW51ICovKTsKKyAgICBzaG93
Q29udGV4dE1lbnVXaXRoU2Vjb25kTGluZVRleHQoKTsKIAogICAgIEFTU0VSVF9UUlVFKHdhaXRV
bnRpbFRydWUod2FzQ29udGV4dE1lbnVTaG93bikpOwogCkBAIC0zNzksMTUgKzQxNywxNSBAQCBU
RVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgc3BlbGxpbmdfc3VnZ2VzdGlvbl9mb3JfY29udGV4dF9j
bGljaykKIC8qKgogICogVGVzdCB3aGV0aGVyIHRoZXJlIGFyZSBubyBzcGVsbGluZyBzdWdnZXN0
aW9ucyB3aGVuIG11bHRpcGxlIHdvcmRzIGFyZSBzZWxlY3RlZCAodGhhdCBhcmUgbm90IGEgc2lu
Z2xlIG1pc3NwZWxsaW5nKS4KICAqLwotVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIG5vX3NwZWxs
aW5nX3N1Z2dlc3Rpb25fZm9yX211bHRpd29yZF9zZWxlY3Rpb24pCitURVNUX0YoRVdLMlRleHRD
aGVja2VyVGVzdCwgbm9fc3BlbGxpbmdfc3VnZ2VzdGlvbl9mb3JfbXVsdGl3b3JkX3NlbGVjdGlv
bikKIHsKICAgICB3YXNDb250ZXh0TWVudVNob3duID0gZmFsc2U7CiAKICAgICAvLyBDaGVja2lu
ZyBudW1iZXIgb2YgY29udGV4dCBtZW51IGl0ZW1zIHdoZW4gZWxlbWVudCBoYXMgbm8gc3BlbGxj
aGVjayBzdWdnZXN0aW9ucy4KICAgICBld2tWaWV3Q2xhc3MoKS0+Y29udGV4dF9tZW51X3Nob3cg
PSBjb3VudENvbnRleHRNZW51SXRlbXM7CiAgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52
aXJvbm1lbnQtPnVybEZvclJlc291cmNlKCJzcGVsbGluZ19zZWxlY3Rpb25fdGVzdHMuaHRtbCIp
LmRhdGEoKSkpOwotICAgIG1vdXNlQ2xpY2soNTAwLCA2MCwgMSAvKiBMZWZ0IGJ1dHRvbiAtIHNl
bGVjdCBhbGwgd29yZHMgaW4gZmllbGQgd2l0aG91dCBzcGVsbGNoZWNrICovKTsKLSAgICBtb3Vz
ZUNsaWNrKDEwLCAyMCwgMyAvKiBSaWdodCBidXR0b24gLSBpbnZva2UgY29udGV4dCBtZW51ICov
KTsKKyAgICBjbGlja1NlbGVjdEFsbFdvcmRzV2l0aG91dFNwZWxsY2hlY2tCdXR0b24oKTsKKyAg
ICBzaG93Q29udGV4dE1lbnVXaXRoRmlyc3RMaW5lVGV4dCgpOwogCiAgICAgQVNTRVJUX1RSVUUo
d2FpdFVudGlsVHJ1ZSh3YXNDb250ZXh0TWVudVNob3duKSk7CiAgICAgdW5zaWduZWQgbnVtYmVy
SXRlbXNXaXRob3V0U3BlbGxDaGVjayA9IGNvbnRleHRNZW51SXRlbXNOdW1iZXI7CkBAIC0zOTYs
OCArNDM0LDggQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIG5vX3NwZWxsaW5nX3N1Z2dlc3Rp
b25fZm9yX211bHRpd29yZF9zZWxlY3Rpb24pCiAKICAgICAvLyBUZXN0aW5nIGhvdyBtYW55IGl0
ZW1zIGFyZSBpbiBjb250ZXh0IG1lbnUgd2hlbiBtdWx0aXBsZSB3b3JkcyBhcmUgc2VsZWN0ZWQu
CiAgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPnVybEZvclJlc291cmNl
KCJzcGVsbGluZ19zZWxlY3Rpb25fdGVzdHMuaHRtbCIpLmRhdGEoKSkpOwotICAgIG1vdXNlQ2xp
Y2soNjAsIDYwLCAxIC8qIExlZnQgYnV0dG9uIC0gc2VsZWN0IGFsbCB3b3JkcyBpbiBmaWVsZCB3
aXRoIHNwZWxsY2hlY2sgKi8pOwotICAgIG1vdXNlQ2xpY2soMzUsIDM1LCAzIC8qIFJpZ2h0IGJ1
dHRvbiAtIGludm9rZSBjb250ZXh0IG1lbnUgKi8pOworICAgIGNsaWNrU2VsZWN0QWxsV29yZHNX
aXRoU3BlbGxjaGVja0J1dHRvbigpOworICAgIHNob3dDb250ZXh0TWVudVdpdGhTZWNvbmRMaW5l
VGV4dCgpOwogCiAgICAgQVNTRVJUX1RSVUUod2FpdFVudGlsVHJ1ZSh3YXNDb250ZXh0TWVudVNo
b3duKSk7CiAKQEAgLTQwNywxNSArNDQ1LDE1IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBu
b19zcGVsbGluZ19zdWdnZXN0aW9uX2Zvcl9tdWx0aXdvcmRfc2VsZWN0aW9uKQogLyoqCiAgKiBU
ZXN0IHdoZXRoZXIgdGhlcmUgYXJlIG5vIHNwZWxsaW5nIHN1Z2dlc3Rpb25zIHdoZW4gcGFydCBv
ZiBtaXNzcGVsbGVkIHdvcmQgYXJlIHNlbGVjdGVkLgogICovCi1URVNUX0YoRVdLMlVuaXRUZXN0
QmFzZSwgbm9fc3BlbGxpbmdfc3VnZ2VzdGlvbl9mb3Jfc3Vid29yZF9zZWxlY3Rpb24pCitURVNU
X0YoRVdLMlRleHRDaGVja2VyVGVzdCwgbm9fc3BlbGxpbmdfc3VnZ2VzdGlvbl9mb3Jfc3Vid29y
ZF9zZWxlY3Rpb24pCiB7CiAgICAgd2FzQ29udGV4dE1lbnVTaG93biA9IGZhbHNlOwogCiAgICAg
Ly8gQ2hlY2tpbmcgbnVtYmVyIG9mIGNvbnRleHQgbWVudSBpdGVtcyB3aGVuIGVsZW1lbnQgaGFz
IG5vIHNwZWxsY2hlY2sgc3VnZ2VzdGlvbnMuCiAgICAgZXdrVmlld0NsYXNzKCktPmNvbnRleHRf
bWVudV9zaG93ID0gY291bnRDb250ZXh0TWVudUl0ZW1zOwogICAgIEFTU0VSVF9UUlVFKGxvYWRV
cmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgic3BlbGxpbmdfc2VsZWN0aW9uX3Rl
c3RzLmh0bWwiKS5kYXRhKCkpKTsKLSAgICBtb3VzZUNsaWNrKDUwMCwgNjAsIDEgLyogTGVmdCBi
dXR0b24gLSBzZWxlY3QgYWxsIHdvcmRzIGluIGZpZWxkIHdpdGhvdXQgc3BlbGxjaGVjayAqLyk7
Ci0gICAgbW91c2VDbGljaygxMCwgMjAsIDMgLyogUmlnaHQgYnV0dG9uIC0gaW52b2tlIGNvbnRl
eHQgbWVudSAqLyk7CisgICAgY2xpY2tTZWxlY3RBbGxXb3Jkc1dpdGhvdXRTcGVsbGNoZWNrQnV0
dG9uKCk7CisgICAgc2hvd0NvbnRleHRNZW51V2l0aEZpcnN0TGluZVRleHQoKTsKIAogICAgIEFT
U0VSVF9UUlVFKHdhaXRVbnRpbFRydWUod2FzQ29udGV4dE1lbnVTaG93bikpOwogICAgIHVuc2ln
bmVkIG51bWJlckl0ZW1zV2l0aG91dFNwZWxsQ2hlY2sgPSBjb250ZXh0TWVudUl0ZW1zTnVtYmVy
OwpAQCAtNDI0LDggKzQ2Miw4IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBub19zcGVsbGlu
Z19zdWdnZXN0aW9uX2Zvcl9zdWJ3b3JkX3NlbGVjdGlvbikKIAogICAgIC8vIFRlc3RpbmcgaG93
IG1hbnkgaXRlbXMgYXJlIGluIGNvbnRleHQgbWVudSB3aGVuIHBhcnQgb2Ygd29yZCBpcyBzZWxl
Y3RlZC4KICAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9yUmVz
b3VyY2UoInNwZWxsaW5nX3NlbGVjdGlvbl90ZXN0cy5odG1sIikuZGF0YSgpKSk7Ci0gICAgbW91
c2VDbGljaygyMDAsIDYwLCAxIC8qIExlZnQgYnV0dG9uIC0gc2VsZWN0IHBhcnQgb2Ygd29yZCBp
biBmaWVsZCB3aXRoIHNwZWxsY2hlY2sgKi8pOwotICAgIG1vdXNlQ2xpY2soMzUsIDM1LCAzIC8q
IFJpZ2h0IGJ1dHRvbiAtIGludm9rZSBjb250ZXh0IG1lbnUgKi8pOworICAgIGNsaWNrU2VsZWN0
U3ViV29yZFdpdGhTcGVsbGNoZWNrQnV0dG9uKCk7CisgICAgc2hvd0NvbnRleHRNZW51V2l0aFNl
Y29uZExpbmVUZXh0KCk7CiAKICAgICBBU1NFUlRfVFJVRSh3YWl0VW50aWxUcnVlKHdhc0NvbnRl
eHRNZW51U2hvd24pKTsKIApAQCAtNDM1LDE1ICs0NzMsMTUgQEAgVEVTVF9GKEVXSzJVbml0VGVz
dEJhc2UsIG5vX3NwZWxsaW5nX3N1Z2dlc3Rpb25fZm9yX3N1YndvcmRfc2VsZWN0aW9uKQogLyoq
CiAgKiBUZXN0IHdoZXRoZXIgY29udGV4dCBtZW51IHNwZWxsaW5nIGl0ZW1zIGFyZSBhdmFpbGFi
bGUgd2hlbiBtaXNzcGVsbGVkIHdvcmQgaGFzIHNlbGVjdGlvbiBhcyB0aGUgZG91YmxlIGNsaWNr
LgogICovCi1URVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgc3BlbGxpbmdfc3VnZ2VzdGlvbl9mb3Jf
ZG91YmxlX2NsaWNrZWRfd29yZCkKK1RFU1RfRihFV0syVGV4dENoZWNrZXJUZXN0LCBzcGVsbGlu
Z19zdWdnZXN0aW9uX2Zvcl9kb3VibGVfY2xpY2tlZF93b3JkKQogewogICAgIHdhc0NvbnRleHRN
ZW51U2hvd24gPSBmYWxzZTsKIAogICAgIC8vIENoZWNraW5nIG51bWJlciBvZiBjb250ZXh0IG1l
bnUgaXRlbXMgd2hlbiBlbGVtZW50IGhhcyBubyBzcGVsbCBjaGVjayBzdWdnZXN0aW9ucy4KICAg
ICBld2tWaWV3Q2xhc3MoKS0+Y29udGV4dF9tZW51X3Nob3cgPSBjb3VudENvbnRleHRNZW51SXRl
bXM7CiAgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPnVybEZvclJlc291
cmNlKCJzcGVsbGluZ19zZWxlY3Rpb25fdGVzdHMuaHRtbCIpLmRhdGEoKSkpOwotICAgIG1vdXNl
Q2xpY2soNTAwLCA2MCwgMSAvKiBMZWZ0IGJ1dHRvbiAtIHNlbGVjdCBhbGwgd29yZHMgaW4gZmll
bGQgd2l0aG91dCBzcGVsbGNoZWNrICovKTsKLSAgICBtb3VzZUNsaWNrKDEwLCAyMCwgMyAvKiBS
aWdodCBidXR0b24gLSBpbnZva2UgY29udGV4dCBtZW51ICovKTsKKyAgICBjbGlja1NlbGVjdEFs
bFdvcmRzV2l0aG91dFNwZWxsY2hlY2tCdXR0b24oKTsKKyAgICBzaG93Q29udGV4dE1lbnVXaXRo
Rmlyc3RMaW5lVGV4dCgpOwogCiAgICAgQVNTRVJUX1RSVUUod2FpdFVudGlsVHJ1ZSh3YXNDb250
ZXh0TWVudVNob3duKSk7CiAgICAgdW5zaWduZWQgbnVtYmVySXRlbXNXaXRob3V0U3BlbGxDaGVj
ayA9IGNvbnRleHRNZW51SXRlbXNOdW1iZXI7CkBAIC00NTIsOSArNDkwLDggQEAgVEVTVF9GKEVX
SzJVbml0VGVzdEJhc2UsIHNwZWxsaW5nX3N1Z2dlc3Rpb25fZm9yX2RvdWJsZV9jbGlja2VkX3dv
cmQpCiAKICAgICAvLyBNYWtpbmcgZG91YmxlIGNsaWNrIG9uIG1pc3NwZWxsZWQgd29yZCB0byBz
ZWxlY3QgaXQsIGFuZCBjaGVja2luZyBhcmUgdGhlcmUgY29udGV4dCBtZW51IHNwZWxsIGNoZWNr
IHN1Z2dlc3Rpb25zLgogICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT51
cmxGb3JSZXNvdXJjZSgic3BlbGxpbmdfc2VsZWN0aW9uX3Rlc3RzLmh0bWwiKS5kYXRhKCkpKTsK
LSAgICBtb3VzZUNsaWNrKDM1LCAzNSwgMSAvKiBMZWZ0IGJ1dHRvbiAtIDFzdCBjbGljayBvZiBk
b3VibGVjbGljayAqLyk7Ci0gICAgbW91c2VDbGljaygzNSwgMzUsIDEgLyogTGVmdCBidXR0b24g
LSAybmQgY2xpY2sgb2YgZG91YmxlY2xpY2sgKi8pOwotICAgIG1vdXNlQ2xpY2soMzUsIDM1LCAz
IC8qIFJpZ2h0IGJ1dHRvbiAtIGludm9rZSBjb250ZXh0IG1lbnUgKi8pOworICAgIHNlbGVjdEZp
cnN0V29yZEluU2Vjb25kTGluZVRleHQoKTsKKyAgICBzaG93Q29udGV4dE1lbnVXaXRoU2Vjb25k
TGluZVRleHQoKTsKIAogICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRydWUod2FzQ29udGV4dE1l
bnVTaG93bikpOwogCkBAIC00NjUsNyArNTAyLDcgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2Us
IHNwZWxsaW5nX3N1Z2dlc3Rpb25fZm9yX2RvdWJsZV9jbGlja2VkX3dvcmQpCiAgKiBUZXN0IHdo
ZXRoZXIgdGhlIGRlZmF1bHQgbGFuZ3VhZ2UgaXMgbG9hZGVkIGluZGVwZW5kZW50bHkgb2YKICAq
IGNvbnRpbnVvdXMgc3BlbGwgY2hlY2tpbmcgc2V0dGluZy4KICAqLwotVEVTVF9GKEVXSzJVbml0
VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzX2dldCkK
K1RFU1RfRihFV0syVGV4dENoZWNrZXJUZXN0LCBld2tfdGV4dF9jaGVja2VyX3NwZWxsX2NoZWNr
aW5nX2xhbmd1YWdlc19nZXQpCiB7CiAgICAgZXdrX3RleHRfY2hlY2tlcl9jb250aW51b3VzX3Nw
ZWxsX2NoZWNraW5nX2VuYWJsZWRfc2V0KGZhbHNlKTsKICAgICAvLyBUaGUgbGFuZ3VhZ2UgaXMg
YmVpbmcgbG9hZGVkIG9uIHRoZSBpZGxlciwgd2FpdCBmb3IgaXQuCkBAIC01MDIsMTMgKzUzOSwx
MyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVj
a2luZ19sYW5ndWFnZXNfZ2V0KQogICogVGVzdCB3aGV0aGVyIHRoZSBjb250ZXh0IG1lbnUgc3Bl
bGxpbmcgaXRlbXMgKHN1Z2dlc3Rpb25zLCBsZWFybiBhbmQgaWdub3JlIHNwZWxsaW5nKQogICog
YXJlIGF2YWlsYWJsZSB3aGVuIGNvbnRpbnVvdXMgc3BlbGwgY2hlY2tpbmcgaXMgb2ZmLgogICov
Ci1URVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgY29udGV4dF9tZW51X3NwZWxsaW5nX2l0ZW1zX2F2
YWlsYWJpbGl0eSkKK1RFU1RfRihFV0syVGV4dENoZWNrZXJUZXN0LCBjb250ZXh0X21lbnVfc3Bl
bGxpbmdfaXRlbXNfYXZhaWxhYmlsaXR5KQogewogICAgIGV3a190ZXh0X2NoZWNrZXJfY29udGlu
dW91c19zcGVsbF9jaGVja2luZ19lbmFibGVkX3NldChmYWxzZSk7CiAgICAgZXdrVmlld0NsYXNz
KCktPmNvbnRleHRfbWVudV9zaG93ID0gY2hlY2tDb3JyZWN0bmVzc09mU3BlbGxpbmdJdGVtczsK
IAogICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJj
ZSgic3BlbGxpbmdfdGVzdC5odG1sIikuZGF0YSgpKSk7Ci0gICAgbW91c2VDbGljaygxMCwgMjAs
IDMgLyogUmlnaHQgYnV0dG9uICovKTsKKyAgICBzaG93Q29udGV4dE1lbnVXaXRoRmlyc3RMaW5l
VGV4dCgpOwogCiAgICAgd2hpbGUgKCF3YXNDb250ZXh0TWVudVNob3duKQogICAgICAgICBlY29y
ZV9tYWluX2xvb3BfaXRlcmF0ZSgpOwpAQCAtNTE5LDcgKzU1Niw3IEBAIFRFU1RfRihFV0syVW5p
dFRlc3RCYXNlLCBjb250ZXh0X21lbnVfc3BlbGxpbmdfaXRlbXNfYXZhaWxhYmlsaXR5KQogICog
IC0gZXdrX3RleHRfY2hlY2tlcl9jb250aW51b3VzX3NwZWxsX2NoZWNraW5nX2VuYWJsZWRfZ2V0
CiAgKiAgLSBld2tfdGV4dF9jaGVja2VyX2NvbnRpbnVvdXNfc3BlbGxfY2hlY2tpbmdfZW5hYmxl
ZF9zZXQKICAqLwotVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfY29u
dGludW91c19zcGVsbF9jaGVja2luZ19lbmFibGVkKQorVEVTVF9GKEVXSzJUZXh0Q2hlY2tlclRl
c3QsIGV3a190ZXh0X2NoZWNrZXJfY29udGludW91c19zcGVsbF9jaGVja2luZ19lbmFibGVkKQog
ewogICAgIGV3a190ZXh0X2NoZWNrZXJfY29udGludW91c19zcGVsbF9jaGVja2luZ19lbmFibGVk
X3NldCh0cnVlKTsKICNpZiBFTkFCTEUoU1BFTExDSEVDSykKQEAgLTUzOCw3ICs1NzUsNyBAQCBU
RVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl9jb250aW51b3VzX3NwZWxs
X2NoZWNraW5nX2VuYWJsZWQpCiAgKiAgLSAiQ2hlY2sgU3BlbGxpbmcgV2hpbGUgVHlwaW5nIiBp
cyBlbmFibGVkLAogICogIC0gIkNoZWNrIFNwZWxsaW5nIFdoaWxlIFR5cGluZyIgaXMgZGlzYWJs
ZWQuCiAgKi8KLVRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX2NoZWNr
X3NwZWxsaW5nX3doaWxlX3R5cGluZ190b2dnbGUpCitURVNUX0YoRVdLMlRleHRDaGVja2VyVGVz
dCwgZXdrX3RleHRfY2hlY2tlcl9jaGVja19zcGVsbGluZ193aGlsZV90eXBpbmdfdG9nZ2xlKQog
ewogICAgIHJlc2V0Q2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMoKTsKICAgICBld2tWaWV3Q2xhc3Mo
KS0+Y29udGV4dF9tZW51X3Nob3cgPSB0b29nbGVDaGVja1NwZWxsaW5nV2hpbGVUeXBpbmc7CkBA
IC01NDgsNyArNTg1LDcgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNr
ZXJfY2hlY2tfc3BlbGxpbmdfd2hpbGVfdHlwaW5nX3RvZ2dsZSkKIAogICAgIEFTU0VSVF9UUlVF
KGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgic3BlbGxpbmdfdGVzdC5o
dG1sIikuZGF0YSgpKSk7CiAKLSAgICBFV0syVW5pdFRlc3RCYXNlOjptb3VzZUNsaWNrKDEwLCAy
MCwgLypSaWdodCBidXR0b24qLyAzKTsKKyAgICBzaG93Q29udGV4dE1lbnVXaXRoRmlyc3RMaW5l
VGV4dCgpOwogICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRydWUoY2FsbGJhY2tzRXhlY3V0aW9u
U3RhdHMuc2V0dGluZ0NoYW5nZSkpOwogCiAgICAgcmVzZXRDYWxsYmFja3NFeGVjdXRpb25TdGF0
cygpOwpAQCAtNTU2LDcgKzU5Myw3IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4
dF9jaGVja2VyX2NoZWNrX3NwZWxsaW5nX3doaWxlX3R5cGluZ190b2dnbGUpCiAgICAgLy8gVGVz
dCBjYXNlLCB3aGVuICJDaGVjayBTcGVsbGluZyBXaGlsZSBUeXBpbmciIGlzIGluIHJldmVyc2Ug
dG8gdGhlIHByZXZpb3VzIG9uZS4KICAgICBpc1NldHRpbmdFbmFibGVkID0gIWlzU2V0dGluZ0Vu
YWJsZWQ7CiAKLSAgICBFV0syVW5pdFRlc3RCYXNlOjptb3VzZUNsaWNrKDEwLCAyMCwgLypSaWdo
dCBidXR0b24qLyAzKTsKKyAgICBzaG93Q29udGV4dE1lbnVXaXRoRmlyc3RMaW5lVGV4dCgpOwog
ICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRydWUoY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMuc2V0
dGluZ0NoYW5nZSkpOwogCiAgICAgZXdrX3RleHRfY2hlY2tlcl9jb250aW51b3VzX3NwZWxsX2No
ZWNraW5nX2NoYW5nZV9jYl9zZXQoMCk7CkBAIC01NjUsNyArNjAyLDcgQEAgVEVTVF9GKEVXSzJV
bml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfY2hlY2tfc3BlbGxpbmdfd2hpbGVfdHlwaW5n
X3RvZ2dsZSkKIC8qKgogICogVGVzdCB3aGV0aGVyIHRoZSBvblNldHRpbmdDaGFuZ2UgY2FsbGJh
Y2sgaXMgbm90IGNhbGxlZCB3aGVuIHRoZSBzcGVsbCBjaGVja2luZyBzZXR0aW5nIHdhcyBjaGFu
Z2VkIGJ5IGNsaWVudC4KICAqLwotVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2No
ZWNrZXJfY29udGludW91c19zcGVsbF9jaGVja2luZ19jaGFuZ2VfY2Jfc2V0KQorVEVTVF9GKEVX
SzJUZXh0Q2hlY2tlclRlc3QsIGV3a190ZXh0X2NoZWNrZXJfY29udGludW91c19zcGVsbF9jaGVj
a2luZ19jaGFuZ2VfY2Jfc2V0KQogewogICAgIHJlc2V0Q2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMo
KTsKIApAQCAtNTg3LDE0ICs2MjQsMTQgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190
ZXh0X2NoZWNrZXJfY29udGludW91c19zcGVsbF9jaGVja2luZ19jaGFuZ2VfY2Jfc2UKICAqIFRl
c3Qgd2hldGhlciB0aGUgb25TZXR0aW5nQ2hhbmdlIGNhbGxiYWNrIGlzIG5vdCBjYWxsZWQsIGlm
IHRoZSBjbGllbnQgZG9lcyBub3Qgc2V0IGl0LgogICogIkNoZWNrIFNwZWxsaW5nIFdoaWxlIFR5
cGluZyIgb3B0aW9uIGlzIHRvZ2dsZWQgaW4gY29udGV4dCBtZW51LgogICovCi1URVNUX0YoRVdL
MlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl9jb250aW51b3VzX3NwZWxsX2NoZWNraW5n
X2NoYW5nZV9jYl91bnNldCkKK1RFU1RfRihFV0syVGV4dENoZWNrZXJUZXN0LCBld2tfdGV4dF9j
aGVja2VyX2NvbnRpbnVvdXNfc3BlbGxfY2hlY2tpbmdfY2hhbmdlX2NiX3Vuc2V0KQogewogICAg
IHJlc2V0Q2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMoKTsKICAgICBld2tWaWV3Q2xhc3MoKS0+Y29u
dGV4dF9tZW51X3Nob3cgPSB0b29nbGVDaGVja1NwZWxsaW5nV2hpbGVUeXBpbmc7CiAKICAgICBB
U1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoInNwZWxs
aW5nX3Rlc3QuaHRtbCIpLmRhdGEoKSkpOwogCi0gICAgRVdLMlVuaXRUZXN0QmFzZTo6bW91c2VD
bGljaygxMCwgMjAsIC8qUmlnaHQgYnV0dG9uKi8gMyk7CisgICAgc2hvd0NvbnRleHRNZW51V2l0
aEZpcnN0TGluZVRleHQoKTsKICAgICBBU1NFUlRfRkFMU0Uod2FpdFVudGlsVHJ1ZShjYWxsYmFj
a3NFeGVjdXRpb25TdGF0cy5zZXR0aW5nQ2hhbmdlLCAvKlRpbWVvdXQqLyAwKSk7CiB9CiAKQEAg
LTYwMyw3ICs2NDAsNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tl
cl9jb250aW51b3VzX3NwZWxsX2NoZWNraW5nX2NoYW5nZV9jYl91bgogICogaWYgdGhleSBhcmUg
aW4gdXNlLgogICogQWxsIHRoZSBkaWN0aW9uYXJpZXMgZnJvbSB0aGUgbGlzdCBjYW4gYmUgc2V0
IHRvIHBlcmZvcm0gc3BlbGxjaGVja2luZy4KICAqLwotVEVTVF9GKEVXSzJVbml0VGVzdEJhc2Us
IGV3a190ZXh0X2NoZWNrZXJfc3BlbGxfY2hlY2tpbmdfYXZhaWxhYmxlX2xhbmd1YWdlc19nZXQp
CitURVNUX0YoRVdLMlRleHRDaGVja2VyVGVzdCwgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVj
a2luZ19hdmFpbGFibGVfbGFuZ3VhZ2VzX2dldCkKIHsKICAgICBFaW5hX0xpc3QqIGF2YWlsYWJs
ZUxhbmd1YWdlcyA9IGV3a190ZXh0X2NoZWNrZXJfc3BlbGxfY2hlY2tpbmdfYXZhaWxhYmxlX2xh
bmd1YWdlc19nZXQoKTsKICAgICAvLyBObyBkaWN0aW9uYXJ5IGlzIGF2YWlsYWJsZS9pbnN0YWxs
ZWQgb3IgdGhlIFNQRUxMQ0hFQ0sgbWFjcm8gaXMgZGlzYWJsZWQuCkBAIC02NTUsNyArNjkyLDcg
QEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfc3BlbGxfY2hlY2tp
bmdfYXZhaWxhYmxlX2xhbmd1YWdlc19nZXQKICAqICAtIHNldHRpbmcgdGhlIGRlZmF1bHQgbGFu
Z3VhZ2UsCiAgKiAgLSBpZiB0d28gYXJiaXRyYXJpbHkgc2VsZWN0ZWQgZGljdGlvbmFyaWVzIGFy
ZSBzZXQgY29ycmVjdGx5LgogICovCi1URVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRf
Y2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMpCitURVNUX0YoRVdLMlRleHRDaGVja2Vy
VGVzdCwgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMpCiB7CiAgICAg
Ly8gU2V0IHRoZSBkZWZhdWx0IGxhbmd1YWdlLgogICAgIGV3a190ZXh0X2NoZWNrZXJfc3BlbGxf
Y2hlY2tpbmdfbGFuZ3VhZ2VzX3NldCgwKTsKQEAgLTcxNiw3ICs3NTMsNyBAQCBURVNUX0YoRVdL
MlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMp
CiAvKioKICAqIFRlc3Qgd2hldGhlciB0aGUgY2xpZW50J3MgY2FsbGJhY2tzIGFyZW4ndCBjYWxs
ZWQgKGlmIG5vdCBzcGVjaWZpZWQpLgogICovCi1URVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdr
X3RleHRfY2hlY2tlcikKK1RFU1RfRihFV0syVGV4dENoZWNrZXJUZXN0LCBld2tfdGV4dF9jaGVj
a2VyKQogewogICAgIHJlc2V0Q2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMoKTsKICAgICBld2tfdGV4
dF9jaGVja2VyX2NvbnRpbnVvdXNfc3BlbGxfY2hlY2tpbmdfZW5hYmxlZF9zZXQodHJ1ZSk7CkBA
IC03MzcsNyArNzc0LDcgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNr
ZXIpCiAvKioKICAqIFRlc3Qgd2hldGhlciB0aGUgY2xpZW50J3MgY2FsbGJhY2tzIChvblNwZWxs
RG9jdW1lbnRUYWcsIG9uU3BlbGxEb2N1bWVudFRhZ0Nsb3NlKSBhcmUgY2FsbGVkLgogICovCi1U
RVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl91bmlxdWVfc3BlbGxfZG9j
dW1lbnRfdGFnKQorVEVTVF9GKEVXSzJUZXh0Q2hlY2tlclRlc3QsIGV3a190ZXh0X2NoZWNrZXJf
dW5pcXVlX3NwZWxsX2RvY3VtZW50X3RhZykKIHsKICAgICByZXNldENhbGxiYWNrc0V4ZWN1dGlv
blN0YXRzKCk7CiAgICAgZGVmYXVsdFZpZXcgPSB3ZWJWaWV3KCk7CkBAIC03NTksNyArNzk2LDcg
QEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfdW5pcXVlX3NwZWxs
X2RvY3VtZW50X3RhZykKICAqIFRlc3Qgd2hldGhlciB0aGUgY2xpZW50J3MgY2FsbGJhY2sgKG9u
U3BlbGxpbmdDaGVjaykgaXMgY2FsbGVkIHdoZW4KICAqIHRoZSB3b3JkIHRvIGlucHV0IGZpZWxk
IHdhcyBwdXQuCiAgKi8KLVRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2Vy
X3N0cmluZ19zcGVsbGluZ19jaGVja19jYl9zZXQpCitURVNUX0YoRVdLMlRleHRDaGVja2VyVGVz
dCwgZXdrX3RleHRfY2hlY2tlcl9zdHJpbmdfc3BlbGxpbmdfY2hlY2tfY2Jfc2V0KQogewogICAg
IHJlc2V0Q2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMoKTsKICAgICBkZWZhdWx0VmlldyA9IHdlYlZp
ZXcoKTsKQEAgLTc3Nyw3ICs4MTQsNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3Rl
eHRfY2hlY2tlcl9zdHJpbmdfc3BlbGxpbmdfY2hlY2tfY2Jfc2V0KQogICogVGVzdCB3aGV0aGVy
IHRoZSBjbGllbnQncyBjYWxsYmFjayAob25Xb3JkR3Vlc3NlcykgaXMgY2FsbGVkIHdoZW4KICAq
IHRoZSBjb250ZXh0IG1lbnUgd2FzIHNob3duIG9uIHRoZSBtaXNzcGVsbGVkIHdvcmQuCiAgKi8K
LVRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX3dvcmRfZ3Vlc3Nlc19n
ZXRfY2Jfc2V0KQorVEVTVF9GKEVXSzJUZXh0Q2hlY2tlclRlc3QsIGV3a190ZXh0X2NoZWNrZXJf
d29yZF9ndWVzc2VzX2dldF9jYl9zZXQpCiB7CiAgICAgcmVzZXRDYWxsYmFja3NFeGVjdXRpb25T
dGF0cygpOwogICAgIHdhc0NvbnRleHRNZW51U2hvd24gPSBmYWxzZTsKQEAgLTc4Nyw3ICs4MjQs
NyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl93b3JkX2d1ZXNz
ZXNfZ2V0X2NiX3NldCkKIAogICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmlyb25tZW50
LT51cmxGb3JSZXNvdXJjZSgic3BlbGxpbmdfdGVzdC5odG1sIikuZGF0YSgpKSk7CiAKLSAgICBF
V0syVW5pdFRlc3RCYXNlOjptb3VzZUNsaWNrKDEwLCAyMCwgLypSaWdodCBidXR0b24qLyAzKTsK
KyAgICBzaG93Q29udGV4dE1lbnVXaXRoRmlyc3RMaW5lVGV4dCgpOwogICAgIEFTU0VSVF9UUlVF
KHdhaXRVbnRpbFRydWUod2FzQ29udGV4dE1lbnVTaG93bikpOwogCiAgICAgLy8gQ2hlY2sgd2hl
dGhlciB0aGUgY2FsbGJhY2sgaXMgY2FsbGVkLgpAQCAtODAxLDcgKzgzOCw3IEBAIFRFU1RfRihF
V0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX3dvcmRfZ3Vlc3Nlc19nZXRfY2Jfc2V0
KQogICogdGhlIGNvbnRleHQgbWVudSBvcHRpb24gIkxlYXJuIHNwZWxsaW5nIiB3YXMgY2hvc2Vu
LiBJbiB0aGUgbmV4dCBzdGVwLAogICogY2hlY2sgd2hldGhlciB0aGUgbGVhcm5lZCB3b3JkIGlz
IHRyZWF0ZWQgYXMgc3BlbGxlZCBjb3JyZWN0bHkgd2hpbGUgc3BlbGwgY2hlY2tpbmcuCiAgKi8K
LVRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX3dvcmRfbGVhcm5fY2Jf
c2V0KQorVEVTVF9GKEVXSzJUZXh0Q2hlY2tlclRlc3QsIGV3a190ZXh0X2NoZWNrZXJfd29yZF9s
ZWFybl9jYl9zZXQpCiB7CiAgICAgcmVzZXRDYWxsYmFja3NFeGVjdXRpb25TdGF0cygpOwogICAg
IGtub3duV29yZCA9IGVtcHR5U3RyaW5nKCk7CkBAIC04MTAsOCArODQ3LDggQEAgVEVTVF9GKEVX
SzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfd29yZF9sZWFybl9jYl9zZXQpCiAgICAg
ZXdrVmlld0NsYXNzKCktPmNvbnRleHRfbWVudV9zaG93ID0gc2VsZWN0TGVhcm5TcGVsbGluZzsK
IAogICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJj
ZSgic3BlbGxpbmdfdGVzdC5odG1sIikuZGF0YSgpKSk7Ci0gICAgbW91c2VEb3VibGVDbGljaygx
MCwgMjApOwotICAgIG1vdXNlQ2xpY2soMTAsIDIwLCAzIC8qIFJpZ2h0IGJ1dHRvbiAtIGludm9r
ZSBjb250ZXh0IG1lbnUgKi8pOworICAgIHNlbGVjdEZpcnN0V29yZEluRmlyc3RMaW5lVGV4dCgp
OworICAgIHNob3dDb250ZXh0TWVudVdpdGhGaXJzdExpbmVUZXh0KCk7CiAKICAgICBBU1NFUlRf
VFJVRSh3YWl0VW50aWxUcnVlKGNhbGxiYWNrc0V4ZWN1dGlvblN0YXRzLndvcmRMZWFybikpOwog
CkBAIC04MzMsNyArODcwLDcgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2No
ZWNrZXJfd29yZF9sZWFybl9jYl9zZXQpCiAgKiB0aGUgY29udGV4dCBtZW51IG9wdGlvbiAiSWdu
b3JlIHNwZWxsaW5nIiB3YXMgY2hvc2VuLiBJbiB0aGUgbmV4dCBzdGVwLAogICogY2hlY2sgd2hl
dGhlciB0aGUgaWdub3JlZCB3b3JkIGlzIHRyZWF0ZWQgYXMgc3BlbGxlZCBjb3JyZWN0bHkgd2hp
bGUgc3BlbGwgY2hlY2tpbmcuCiAgKi8KLVRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4
dF9jaGVja2VyX3dvcmRfaWdub3JlX2NiX3NldCkKK1RFU1RfRihFV0syVGV4dENoZWNrZXJUZXN0
LCBld2tfdGV4dF9jaGVja2VyX3dvcmRfaWdub3JlX2NiX3NldCkKIHsKICAgICByZXNldENhbGxi
YWNrc0V4ZWN1dGlvblN0YXRzKCk7CiAgICAga25vd25Xb3JkID0gZW1wdHlTdHJpbmcoKTsKQEAg
LTg0Miw4ICs4NzksOCBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tl
cl93b3JkX2lnbm9yZV9jYl9zZXQpCiAgICAgZXdrVmlld0NsYXNzKCktPmNvbnRleHRfbWVudV9z
aG93ID0gc2VsZWN0SWdub3JlU3BlbGxpbmc7CiAKICAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3lu
YyhlbnZpcm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoInNwZWxsaW5nX3Rlc3QuaHRtbCIpLmRhdGEo
KSkpOwotICAgIG1vdXNlRG91YmxlQ2xpY2soMTAsIDIwKTsKLSAgICBtb3VzZUNsaWNrKDEwLCAy
MCwgMyAvKiBSaWdodCBidXR0b24gLSBpbnZva2UgY29udGV4dCBtZW51ICovKTsKKyAgICBzZWxl
Y3RGaXJzdFdvcmRJbkZpcnN0TGluZVRleHQoKTsKKyAgICBzaG93Q29udGV4dE1lbnVXaXRoRmly
c3RMaW5lVGV4dCgpOwogCiAgICAgQVNTRVJUX1RSVUUod2FpdFVudGlsVHJ1ZShjYWxsYmFja3NF
eGVjdXRpb25TdGF0cy53b3JkSWdub3JlKSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206729</attachid>
            <date>2013-07-15 23:44:34 -0700</date>
            <delta_ts>2013-07-16 00:34:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118699-20130716154409.patch</filename>
            <type>text/plain</type>
            <size>18638</size>
            <attacher name="Donggwan Kim">donggwan.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTM2ZjMwYmExMDgyYTEy
MTI3YWQ3OTcyYTFkZThiY2I0MjM5YjYxNS4uMGI3MjlkNGIyYjQ5YzQ1ZTI0OWU2MjJhZWM4YzFk
NTNlYWI0NzhiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTA3LTE1ICBEb25n
LUd3YW4gS2ltICA8ZG9uZ2d3YW4ua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJlcGxhY2Ug
bW91c2VDbGljayB3aXRoIG1vcmUgbWVhbmluZ2Z1bCBtZXRob2QgaW4gdGVzdF9ld2syX3RleHRf
Y2hlY2tlci5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExODY5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE1hbnkgbW91c2VDbGljayBtZXRob2RzIGFyZSB1c2VkIGluIHRlc3RfZXdrMl90ZXh0X2No
ZWNrZXIuY3BwLgorICAgICAgICBCdXQgaXQgaXMgZGlmZmljdWx0IHRvIHVuZGVyc3RhbmQgd2hh
dCB0aGV5IG1lYW4uCisgICAgICAgIFNvIGkgd291bGQgbGlrZSB0byByZXBsYWNlIHRob3NlIHdp
dGggbW9yZSBtZWFuaW5nZnVsIG1ldGhvZCBmb3IgcmVhZGFiaWxpdHkuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcDoKKyAgICAg
ICAgKEVXSzJUZXh0Q2hlY2tlclRlc3Q6OmNsaWNrU2VsZWN0QWxsV29yZHNXaXRoU3BlbGxjaGVj
a0J1dHRvbik6CisgICAgICAgIChFV0syVGV4dENoZWNrZXJUZXN0OjpjbGlja1NlbGVjdEFsbFdv
cmRzV2l0aG91dFNwZWxsY2hlY2tCdXR0b24pOgorICAgICAgICAoRVdLMlRleHRDaGVja2VyVGVz
dDo6Y2xpY2tTZWxlY3RTdWJXb3JkV2l0aFNwZWxsY2hlY2tCdXR0b24pOgorICAgICAgICAoRVdL
MlRleHRDaGVja2VyVGVzdDo6c2hvd0NvbnRleHRNZW51V2l0aEZpcnN0TGluZVRleHQpOgorICAg
ICAgICAoRVdLMlRleHRDaGVja2VyVGVzdDo6c2hvd0NvbnRleHRNZW51V2l0aFNlY29uZExpbmVU
ZXh0KToKKyAgICAgICAgKEVXSzJUZXh0Q2hlY2tlclRlc3Q6OnNlbGVjdEZpcnN0V29yZEluRmly
c3RMaW5lVGV4dCk6CisgICAgICAgIChFV0syVGV4dENoZWNrZXJUZXN0OjpzZWxlY3RGaXJzdFdv
cmRJblNlY29uZExpbmVUZXh0KToKKyAgICAgICAgKFRFU1RfRik6CisKIDIwMTMtMDctMTAgIFJv
Z2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBQbHVnaW5zIHRoYXQg
ZG9uJ3Qgc3VwcG9ydCBzbmFwc2hvdHRpbmcgc2hvdWxkIG5vdCBhbGwgYXV0b3N0YXJ0LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2sy
X3RleHRfY2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0
cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcAppbmRleCBiMDhiYjgzZTMyOWE1NTM0NzYyNWFk
Y2VkMDE3YzU0ZjZkODdjYTg1Li5lZTU2OTBkZDY4MGNmODg4ZmZlNGNhZTk1ZTdhYjA5ZmZhNzIw
NTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90
ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfdGV4dF9jaGVja2VyLmNwcApAQCAtNTQsNiArNTQsNTEg
QEAgc3RhdGljIGNvbnN0IGNoYXIqIGNsaWVudFN1Z2dlc3Rpb25zRm9yV29yZFtdID0geyAiY2xp
ZW50U3VnZ2VzdGlvbjEiLCAiY2xpZW50U3UKIHN0YXRpYyB1bnNpZ25lZCBjb250ZXh0TWVudUl0
ZW1zTnVtYmVyID0gMDsKIHN0YXRpYyBTdHJpbmcga25vd25Xb3JkOwogCitjbGFzcyBFV0syVGV4
dENoZWNrZXJUZXN0IDogcHVibGljIEVXSzJVbml0VGVzdEJhc2UgeworcHJvdGVjdGVkOgorICAg
IGVudW0gTGluZSB7IEZpcnN0TGluZSwgU2Vjb25kTGluZSB9OworICAgIGVudW0gQnV0dG9uIHsg
U2VsZWN0QWxsV29yZHNXaXRoU3BlbGxjaGVja0J1dHRvbiwgU2VsZWN0QWxsV29yZHNXaXRob3V0
U3BlbGxjaGVja0J1dHRvbiwgU2VsZWN0U3ViV29yZFdpdGhTcGVsbGNoZWNrQnV0dG9uIH07CisK
KyAgICB2b2lkIGNsaWNrQnV0dG9uKEJ1dHRvbiBidXR0b24pCisgICAgeworICAgICAgICBzd2l0
Y2ggKGJ1dHRvbikgeworICAgICAgICBjYXNlIFNlbGVjdEFsbFdvcmRzV2l0aFNwZWxsY2hlY2tC
dXR0b246CisgICAgICAgICAgICBtb3VzZUNsaWNrKDYwLCA2MCk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBTZWxlY3RBbGxXb3Jkc1dpdGhvdXRTcGVsbGNoZWNrQnV0dG9uOgor
ICAgICAgICAgICAgbW91c2VDbGljayg1MDAsIDYwKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIFNlbGVjdFN1YldvcmRXaXRoU3BlbGxjaGVja0J1dHRvbiA6CisgICAgICAgICAg
ICBtb3VzZUNsaWNrKDIwMCwgNjApOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICB2b2lkIHNob3dDb250ZXh0TWVudShMaW5lIGxpbmUpCisgICAgeworICAgICAg
ICBzd2l0Y2ggKGxpbmUpIHsKKyAgICAgICAgY2FzZSBGaXJzdExpbmU6CisgICAgICAgICAgICBt
b3VzZUNsaWNrKDEwLCAyMCwgMyk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBT
ZWNvbmRMaW5lOgorICAgICAgICAgICAgbW91c2VDbGljaygzNSwgMzUsIDMpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2b2lkIHNlbGVjdEZpcnN0V29yZChM
aW5lIGxpbmUpCisgICAgeworICAgICAgICBzd2l0Y2ggKGxpbmUpIHsKKyAgICAgICAgY2FzZSBG
aXJzdExpbmU6CisgICAgICAgICAgICBtb3VzZURvdWJsZUNsaWNrKDEwLCAyMCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBTZWNvbmRMaW5lOgorICAgICAgICAgICAgbW91c2VE
b3VibGVDbGljaygzNSwgMzUpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9
Cit9OworCiAvKioKICAqIFN0cnVjdHVyZSBrZWVwcyBpbmZvcm1hdGlvbiB3aGljaCBjYWxsYmFj
a3Mgd2VyZSBjYWxsZWQuCiAgKiBJdHMgdmFsdWVzIGFyZSByZXNldCBiZWZvcmUgZWFjaCB0ZXN0
LgpAQCAtMzUzLDE0ICszOTgsMTQgQEAgc3RhdGljIEVpbmFfQm9vbCBjb3VudENvbnRleHRNZW51
SXRlbXMoRXdrX1ZpZXdfU21hcnRfRGF0YSosIEV2YXNfQ29vcmQsIEV2YXNfQ28KIC8qKgogICog
VGVzdCB3aGV0aGVyIHRoZXJlIGFyZSBzcGVsbGluZyBzdWdnZXN0aW9ucyB3aGVuIG1pc3NwZWxs
ZWQgd29yZCBpcyBkaXJlY3RseSBjb250ZXh0IGNsaWNrZWQuCiAgKi8KLVRFU1RfRihFV0syVW5p
dFRlc3RCYXNlLCBzcGVsbGluZ19zdWdnZXN0aW9uX2Zvcl9jb250ZXh0X2NsaWNrKQorVEVTVF9G
KEVXSzJUZXh0Q2hlY2tlclRlc3QsIHNwZWxsaW5nX3N1Z2dlc3Rpb25fZm9yX2NvbnRleHRfY2xp
Y2spCiB7CiAgICAgd2FzQ29udGV4dE1lbnVTaG93biA9IGZhbHNlOwogCiAgICAgLy8gQ2hlY2tp
bmcgbnVtYmVyIG9mIGNvbnRleHQgbWVudSBpdGVtcyB3aGVuIGVsZW1lbnQgaGFzIG5vIHNwZWxs
Y2hlY2sgc3VnZ2VzdGlvbnMuCiAgICAgZXdrVmlld0NsYXNzKCktPmNvbnRleHRfbWVudV9zaG93
ID0gY291bnRDb250ZXh0TWVudUl0ZW1zOwogICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVu
dmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgic3BlbGxpbmdfc2VsZWN0aW9uX3Rlc3RzLmh0bWwi
KS5kYXRhKCkpKTsKLSAgICBtb3VzZUNsaWNrKDEwLCAyMCwgMyAvKiBSaWdodCBidXR0b24gLSBp
bnZva2UgY29udGV4dCBtZW51ICovKTsKKyAgICBzaG93Q29udGV4dE1lbnUoRmlyc3RMaW5lKTsK
IAogICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRydWUod2FzQ29udGV4dE1lbnVTaG93bikpOwog
ICAgIHVuc2lnbmVkIG51bWJlckl0ZW1zV2l0aG91dFNwZWxsQ2hlY2sgPSBjb250ZXh0TWVudUl0
ZW1zTnVtYmVyOwpAQCAtMzY5LDcgKzQxNCw3IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBz
cGVsbGluZ19zdWdnZXN0aW9uX2Zvcl9jb250ZXh0X2NsaWNrKQogCiAgICAgLy8gVGVzdGluZyBo
b3cgbWFueSBpdGVtcyBhcmUgaW4gY29udGV4dCBtZW51IHdoZW4gc3BlbGxjaGVjayBpcyBlbmFi
bGVkLgogICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNv
dXJjZSgic3BlbGxpbmdfc2VsZWN0aW9uX3Rlc3RzLmh0bWwiKS5kYXRhKCkpKTsKLSAgICBtb3Vz
ZUNsaWNrKDM1LCAzNSwgMyAvKiBSaWdodCBidXR0b24gLSBpbnZva2UgY29udGV4dCBtZW51ICov
KTsKKyAgICBzaG93Q29udGV4dE1lbnUoU2Vjb25kTGluZSk7CiAKICAgICBBU1NFUlRfVFJVRSh3
YWl0VW50aWxUcnVlKHdhc0NvbnRleHRNZW51U2hvd24pKTsKIApAQCAtMzc5LDE1ICs0MjQsMTUg
QEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIHNwZWxsaW5nX3N1Z2dlc3Rpb25fZm9yX2NvbnRl
eHRfY2xpY2spCiAvKioKICAqIFRlc3Qgd2hldGhlciB0aGVyZSBhcmUgbm8gc3BlbGxpbmcgc3Vn
Z2VzdGlvbnMgd2hlbiBtdWx0aXBsZSB3b3JkcyBhcmUgc2VsZWN0ZWQgKHRoYXQgYXJlIG5vdCBh
IHNpbmdsZSBtaXNzcGVsbGluZykuCiAgKi8KLVRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBub19z
cGVsbGluZ19zdWdnZXN0aW9uX2Zvcl9tdWx0aXdvcmRfc2VsZWN0aW9uKQorVEVTVF9GKEVXSzJU
ZXh0Q2hlY2tlclRlc3QsIG5vX3NwZWxsaW5nX3N1Z2dlc3Rpb25fZm9yX211bHRpd29yZF9zZWxl
Y3Rpb24pCiB7CiAgICAgd2FzQ29udGV4dE1lbnVTaG93biA9IGZhbHNlOwogCiAgICAgLy8gQ2hl
Y2tpbmcgbnVtYmVyIG9mIGNvbnRleHQgbWVudSBpdGVtcyB3aGVuIGVsZW1lbnQgaGFzIG5vIHNw
ZWxsY2hlY2sgc3VnZ2VzdGlvbnMuCiAgICAgZXdrVmlld0NsYXNzKCktPmNvbnRleHRfbWVudV9z
aG93ID0gY291bnRDb250ZXh0TWVudUl0ZW1zOwogICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5j
KGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgic3BlbGxpbmdfc2VsZWN0aW9uX3Rlc3RzLmh0
bWwiKS5kYXRhKCkpKTsKLSAgICBtb3VzZUNsaWNrKDUwMCwgNjAsIDEgLyogTGVmdCBidXR0b24g
LSBzZWxlY3QgYWxsIHdvcmRzIGluIGZpZWxkIHdpdGhvdXQgc3BlbGxjaGVjayAqLyk7Ci0gICAg
bW91c2VDbGljaygxMCwgMjAsIDMgLyogUmlnaHQgYnV0dG9uIC0gaW52b2tlIGNvbnRleHQgbWVu
dSAqLyk7CisgICAgY2xpY2tCdXR0b24oU2VsZWN0QWxsV29yZHNXaXRob3V0U3BlbGxjaGVja0J1
dHRvbik7CisgICAgc2hvd0NvbnRleHRNZW51KEZpcnN0TGluZSk7CiAKICAgICBBU1NFUlRfVFJV
RSh3YWl0VW50aWxUcnVlKHdhc0NvbnRleHRNZW51U2hvd24pKTsKICAgICB1bnNpZ25lZCBudW1i
ZXJJdGVtc1dpdGhvdXRTcGVsbENoZWNrID0gY29udGV4dE1lbnVJdGVtc051bWJlcjsKQEAgLTM5
Niw4ICs0NDEsOCBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgbm9fc3BlbGxpbmdfc3VnZ2Vz
dGlvbl9mb3JfbXVsdGl3b3JkX3NlbGVjdGlvbikKIAogICAgIC8vIFRlc3RpbmcgaG93IG1hbnkg
aXRlbXMgYXJlIGluIGNvbnRleHQgbWVudSB3aGVuIG11bHRpcGxlIHdvcmRzIGFyZSBzZWxlY3Rl
ZC4KICAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9yUmVzb3Vy
Y2UoInNwZWxsaW5nX3NlbGVjdGlvbl90ZXN0cy5odG1sIikuZGF0YSgpKSk7Ci0gICAgbW91c2VD
bGljayg2MCwgNjAsIDEgLyogTGVmdCBidXR0b24gLSBzZWxlY3QgYWxsIHdvcmRzIGluIGZpZWxk
IHdpdGggc3BlbGxjaGVjayAqLyk7Ci0gICAgbW91c2VDbGljaygzNSwgMzUsIDMgLyogUmlnaHQg
YnV0dG9uIC0gaW52b2tlIGNvbnRleHQgbWVudSAqLyk7CisgICAgY2xpY2tCdXR0b24oU2VsZWN0
QWxsV29yZHNXaXRoU3BlbGxjaGVja0J1dHRvbik7CisgICAgc2hvd0NvbnRleHRNZW51KFNlY29u
ZExpbmUpOwogCiAgICAgQVNTRVJUX1RSVUUod2FpdFVudGlsVHJ1ZSh3YXNDb250ZXh0TWVudVNo
b3duKSk7CiAKQEAgLTQwNywxNSArNDUyLDE1IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBu
b19zcGVsbGluZ19zdWdnZXN0aW9uX2Zvcl9tdWx0aXdvcmRfc2VsZWN0aW9uKQogLyoqCiAgKiBU
ZXN0IHdoZXRoZXIgdGhlcmUgYXJlIG5vIHNwZWxsaW5nIHN1Z2dlc3Rpb25zIHdoZW4gcGFydCBv
ZiBtaXNzcGVsbGVkIHdvcmQgYXJlIHNlbGVjdGVkLgogICovCi1URVNUX0YoRVdLMlVuaXRUZXN0
QmFzZSwgbm9fc3BlbGxpbmdfc3VnZ2VzdGlvbl9mb3Jfc3Vid29yZF9zZWxlY3Rpb24pCitURVNU
X0YoRVdLMlRleHRDaGVja2VyVGVzdCwgbm9fc3BlbGxpbmdfc3VnZ2VzdGlvbl9mb3Jfc3Vid29y
ZF9zZWxlY3Rpb24pCiB7CiAgICAgd2FzQ29udGV4dE1lbnVTaG93biA9IGZhbHNlOwogCiAgICAg
Ly8gQ2hlY2tpbmcgbnVtYmVyIG9mIGNvbnRleHQgbWVudSBpdGVtcyB3aGVuIGVsZW1lbnQgaGFz
IG5vIHNwZWxsY2hlY2sgc3VnZ2VzdGlvbnMuCiAgICAgZXdrVmlld0NsYXNzKCktPmNvbnRleHRf
bWVudV9zaG93ID0gY291bnRDb250ZXh0TWVudUl0ZW1zOwogICAgIEFTU0VSVF9UUlVFKGxvYWRV
cmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgic3BlbGxpbmdfc2VsZWN0aW9uX3Rl
c3RzLmh0bWwiKS5kYXRhKCkpKTsKLSAgICBtb3VzZUNsaWNrKDUwMCwgNjAsIDEgLyogTGVmdCBi
dXR0b24gLSBzZWxlY3QgYWxsIHdvcmRzIGluIGZpZWxkIHdpdGhvdXQgc3BlbGxjaGVjayAqLyk7
Ci0gICAgbW91c2VDbGljaygxMCwgMjAsIDMgLyogUmlnaHQgYnV0dG9uIC0gaW52b2tlIGNvbnRl
eHQgbWVudSAqLyk7CisgICAgY2xpY2tCdXR0b24oU2VsZWN0QWxsV29yZHNXaXRob3V0U3BlbGxj
aGVja0J1dHRvbik7CisgICAgc2hvd0NvbnRleHRNZW51KEZpcnN0TGluZSk7CiAKICAgICBBU1NF
UlRfVFJVRSh3YWl0VW50aWxUcnVlKHdhc0NvbnRleHRNZW51U2hvd24pKTsKICAgICB1bnNpZ25l
ZCBudW1iZXJJdGVtc1dpdGhvdXRTcGVsbENoZWNrID0gY29udGV4dE1lbnVJdGVtc051bWJlcjsK
QEAgLTQyNCw4ICs0NjksOCBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgbm9fc3BlbGxpbmdf
c3VnZ2VzdGlvbl9mb3Jfc3Vid29yZF9zZWxlY3Rpb24pCiAKICAgICAvLyBUZXN0aW5nIGhvdyBt
YW55IGl0ZW1zIGFyZSBpbiBjb250ZXh0IG1lbnUgd2hlbiBwYXJ0IG9mIHdvcmQgaXMgc2VsZWN0
ZWQuCiAgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPnVybEZvclJlc291
cmNlKCJzcGVsbGluZ19zZWxlY3Rpb25fdGVzdHMuaHRtbCIpLmRhdGEoKSkpOwotICAgIG1vdXNl
Q2xpY2soMjAwLCA2MCwgMSAvKiBMZWZ0IGJ1dHRvbiAtIHNlbGVjdCBwYXJ0IG9mIHdvcmQgaW4g
ZmllbGQgd2l0aCBzcGVsbGNoZWNrICovKTsKLSAgICBtb3VzZUNsaWNrKDM1LCAzNSwgMyAvKiBS
aWdodCBidXR0b24gLSBpbnZva2UgY29udGV4dCBtZW51ICovKTsKKyAgICBjbGlja0J1dHRvbihT
ZWxlY3RTdWJXb3JkV2l0aFNwZWxsY2hlY2tCdXR0b24pOworICAgIHNob3dDb250ZXh0TWVudShT
ZWNvbmRMaW5lKTsKIAogICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRydWUod2FzQ29udGV4dE1l
bnVTaG93bikpOwogCkBAIC00MzUsMTUgKzQ4MCwxNSBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFz
ZSwgbm9fc3BlbGxpbmdfc3VnZ2VzdGlvbl9mb3Jfc3Vid29yZF9zZWxlY3Rpb24pCiAvKioKICAq
IFRlc3Qgd2hldGhlciBjb250ZXh0IG1lbnUgc3BlbGxpbmcgaXRlbXMgYXJlIGF2YWlsYWJsZSB3
aGVuIG1pc3NwZWxsZWQgd29yZCBoYXMgc2VsZWN0aW9uIGFzIHRoZSBkb3VibGUgY2xpY2suCiAg
Ki8KLVRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBzcGVsbGluZ19zdWdnZXN0aW9uX2Zvcl9kb3Vi
bGVfY2xpY2tlZF93b3JkKQorVEVTVF9GKEVXSzJUZXh0Q2hlY2tlclRlc3QsIHNwZWxsaW5nX3N1
Z2dlc3Rpb25fZm9yX2RvdWJsZV9jbGlja2VkX3dvcmQpCiB7CiAgICAgd2FzQ29udGV4dE1lbnVT
aG93biA9IGZhbHNlOwogCiAgICAgLy8gQ2hlY2tpbmcgbnVtYmVyIG9mIGNvbnRleHQgbWVudSBp
dGVtcyB3aGVuIGVsZW1lbnQgaGFzIG5vIHNwZWxsIGNoZWNrIHN1Z2dlc3Rpb25zLgogICAgIGV3
a1ZpZXdDbGFzcygpLT5jb250ZXh0X21lbnVfc2hvdyA9IGNvdW50Q29udGV4dE1lbnVJdGVtczsK
ICAgICBBU1NFUlRfVFJVRShsb2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9yUmVzb3VyY2Uo
InNwZWxsaW5nX3NlbGVjdGlvbl90ZXN0cy5odG1sIikuZGF0YSgpKSk7Ci0gICAgbW91c2VDbGlj
ayg1MDAsIDYwLCAxIC8qIExlZnQgYnV0dG9uIC0gc2VsZWN0IGFsbCB3b3JkcyBpbiBmaWVsZCB3
aXRob3V0IHNwZWxsY2hlY2sgKi8pOwotICAgIG1vdXNlQ2xpY2soMTAsIDIwLCAzIC8qIFJpZ2h0
IGJ1dHRvbiAtIGludm9rZSBjb250ZXh0IG1lbnUgKi8pOworICAgIGNsaWNrQnV0dG9uKFNlbGVj
dEFsbFdvcmRzV2l0aG91dFNwZWxsY2hlY2tCdXR0b24pOworICAgIHNob3dDb250ZXh0TWVudShG
aXJzdExpbmUpOwogCiAgICAgQVNTRVJUX1RSVUUod2FpdFVudGlsVHJ1ZSh3YXNDb250ZXh0TWVu
dVNob3duKSk7CiAgICAgdW5zaWduZWQgbnVtYmVySXRlbXNXaXRob3V0U3BlbGxDaGVjayA9IGNv
bnRleHRNZW51SXRlbXNOdW1iZXI7CkBAIC00NTIsOSArNDk3LDggQEAgVEVTVF9GKEVXSzJVbml0
VGVzdEJhc2UsIHNwZWxsaW5nX3N1Z2dlc3Rpb25fZm9yX2RvdWJsZV9jbGlja2VkX3dvcmQpCiAK
ICAgICAvLyBNYWtpbmcgZG91YmxlIGNsaWNrIG9uIG1pc3NwZWxsZWQgd29yZCB0byBzZWxlY3Qg
aXQsIGFuZCBjaGVja2luZyBhcmUgdGhlcmUgY29udGV4dCBtZW51IHNwZWxsIGNoZWNrIHN1Z2dl
c3Rpb25zLgogICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JS
ZXNvdXJjZSgic3BlbGxpbmdfc2VsZWN0aW9uX3Rlc3RzLmh0bWwiKS5kYXRhKCkpKTsKLSAgICBt
b3VzZUNsaWNrKDM1LCAzNSwgMSAvKiBMZWZ0IGJ1dHRvbiAtIDFzdCBjbGljayBvZiBkb3VibGVj
bGljayAqLyk7Ci0gICAgbW91c2VDbGljaygzNSwgMzUsIDEgLyogTGVmdCBidXR0b24gLSAybmQg
Y2xpY2sgb2YgZG91YmxlY2xpY2sgKi8pOwotICAgIG1vdXNlQ2xpY2soMzUsIDM1LCAzIC8qIFJp
Z2h0IGJ1dHRvbiAtIGludm9rZSBjb250ZXh0IG1lbnUgKi8pOworICAgIHNlbGVjdEZpcnN0V29y
ZChTZWNvbmRMaW5lKTsKKyAgICBzaG93Q29udGV4dE1lbnUoU2Vjb25kTGluZSk7CiAKICAgICBB
U1NFUlRfVFJVRSh3YWl0VW50aWxUcnVlKHdhc0NvbnRleHRNZW51U2hvd24pKTsKIApAQCAtNDY1
LDcgKzUwOSw3IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBzcGVsbGluZ19zdWdnZXN0aW9u
X2Zvcl9kb3VibGVfY2xpY2tlZF93b3JkKQogICogVGVzdCB3aGV0aGVyIHRoZSBkZWZhdWx0IGxh
bmd1YWdlIGlzIGxvYWRlZCBpbmRlcGVuZGVudGx5IG9mCiAgKiBjb250aW51b3VzIHNwZWxsIGNo
ZWNraW5nIHNldHRpbmcuCiAgKi8KLVRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9j
aGVja2VyX3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlc19nZXQpCitURVNUX0YoRVdLMlRleHRDaGVj
a2VyVGVzdCwgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXNfZ2V0KQog
ewogICAgIGV3a190ZXh0X2NoZWNrZXJfY29udGludW91c19zcGVsbF9jaGVja2luZ19lbmFibGVk
X3NldChmYWxzZSk7CiAgICAgLy8gVGhlIGxhbmd1YWdlIGlzIGJlaW5nIGxvYWRlZCBvbiB0aGUg
aWRsZXIsIHdhaXQgZm9yIGl0LgpAQCAtNTAyLDEzICs1NDYsMTMgQEAgVEVTVF9GKEVXSzJVbml0
VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzX2dldCkK
ICAqIFRlc3Qgd2hldGhlciB0aGUgY29udGV4dCBtZW51IHNwZWxsaW5nIGl0ZW1zIChzdWdnZXN0
aW9ucywgbGVhcm4gYW5kIGlnbm9yZSBzcGVsbGluZykKICAqIGFyZSBhdmFpbGFibGUgd2hlbiBj
b250aW51b3VzIHNwZWxsIGNoZWNraW5nIGlzIG9mZi4KICAqLwotVEVTVF9GKEVXSzJVbml0VGVz
dEJhc2UsIGNvbnRleHRfbWVudV9zcGVsbGluZ19pdGVtc19hdmFpbGFiaWxpdHkpCitURVNUX0Yo
RVdLMlRleHRDaGVja2VyVGVzdCwgY29udGV4dF9tZW51X3NwZWxsaW5nX2l0ZW1zX2F2YWlsYWJp
bGl0eSkKIHsKICAgICBld2tfdGV4dF9jaGVja2VyX2NvbnRpbnVvdXNfc3BlbGxfY2hlY2tpbmdf
ZW5hYmxlZF9zZXQoZmFsc2UpOwogICAgIGV3a1ZpZXdDbGFzcygpLT5jb250ZXh0X21lbnVfc2hv
dyA9IGNoZWNrQ29ycmVjdG5lc3NPZlNwZWxsaW5nSXRlbXM7CiAKICAgICBBU1NFUlRfVFJVRShs
b2FkVXJsU3luYyhlbnZpcm9ubWVudC0+dXJsRm9yUmVzb3VyY2UoInNwZWxsaW5nX3Rlc3QuaHRt
bCIpLmRhdGEoKSkpOwotICAgIG1vdXNlQ2xpY2soMTAsIDIwLCAzIC8qIFJpZ2h0IGJ1dHRvbiAq
Lyk7CisgICAgc2hvd0NvbnRleHRNZW51KEZpcnN0TGluZSk7CiAKICAgICB3aGlsZSAoIXdhc0Nv
bnRleHRNZW51U2hvd24pCiAgICAgICAgIGVjb3JlX21haW5fbG9vcF9pdGVyYXRlKCk7CkBAIC01
MTksNyArNTYzLDcgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGNvbnRleHRfbWVudV9zcGVs
bGluZ19pdGVtc19hdmFpbGFiaWxpdHkpCiAgKiAgLSBld2tfdGV4dF9jaGVja2VyX2NvbnRpbnVv
dXNfc3BlbGxfY2hlY2tpbmdfZW5hYmxlZF9nZXQKICAqICAtIGV3a190ZXh0X2NoZWNrZXJfY29u
dGludW91c19zcGVsbF9jaGVja2luZ19lbmFibGVkX3NldAogICovCi1URVNUX0YoRVdLMlVuaXRU
ZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl9jb250aW51b3VzX3NwZWxsX2NoZWNraW5nX2VuYWJs
ZWQpCitURVNUX0YoRVdLMlRleHRDaGVja2VyVGVzdCwgZXdrX3RleHRfY2hlY2tlcl9jb250aW51
b3VzX3NwZWxsX2NoZWNraW5nX2VuYWJsZWQpCiB7CiAgICAgZXdrX3RleHRfY2hlY2tlcl9jb250
aW51b3VzX3NwZWxsX2NoZWNraW5nX2VuYWJsZWRfc2V0KHRydWUpOwogI2lmIEVOQUJMRShTUEVM
TENIRUNLKQpAQCAtNTM4LDcgKzU4Miw3IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tf
dGV4dF9jaGVja2VyX2NvbnRpbnVvdXNfc3BlbGxfY2hlY2tpbmdfZW5hYmxlZCkKICAqICAtICJD
aGVjayBTcGVsbGluZyBXaGlsZSBUeXBpbmciIGlzIGVuYWJsZWQsCiAgKiAgLSAiQ2hlY2sgU3Bl
bGxpbmcgV2hpbGUgVHlwaW5nIiBpcyBkaXNhYmxlZC4KICAqLwotVEVTVF9GKEVXSzJVbml0VGVz
dEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfY2hlY2tfc3BlbGxpbmdfd2hpbGVfdHlwaW5nX3RvZ2ds
ZSkKK1RFU1RfRihFV0syVGV4dENoZWNrZXJUZXN0LCBld2tfdGV4dF9jaGVja2VyX2NoZWNrX3Nw
ZWxsaW5nX3doaWxlX3R5cGluZ190b2dnbGUpCiB7CiAgICAgcmVzZXRDYWxsYmFja3NFeGVjdXRp
b25TdGF0cygpOwogICAgIGV3a1ZpZXdDbGFzcygpLT5jb250ZXh0X21lbnVfc2hvdyA9IHRvb2ds
ZUNoZWNrU3BlbGxpbmdXaGlsZVR5cGluZzsKQEAgLTU0OCw3ICs1OTIsNyBAQCBURVNUX0YoRVdL
MlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl9jaGVja19zcGVsbGluZ193aGlsZV90eXBp
bmdfdG9nZ2xlKQogCiAgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPnVy
bEZvclJlc291cmNlKCJzcGVsbGluZ190ZXN0Lmh0bWwiKS5kYXRhKCkpKTsKIAotICAgIEVXSzJV
bml0VGVzdEJhc2U6Om1vdXNlQ2xpY2soMTAsIDIwLCAvKlJpZ2h0IGJ1dHRvbiovIDMpOworICAg
IHNob3dDb250ZXh0TWVudShGaXJzdExpbmUpOwogICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRy
dWUoY2FsbGJhY2tzRXhlY3V0aW9uU3RhdHMuc2V0dGluZ0NoYW5nZSkpOwogCiAgICAgcmVzZXRD
YWxsYmFja3NFeGVjdXRpb25TdGF0cygpOwpAQCAtNTU2LDcgKzYwMCw3IEBAIFRFU1RfRihFV0sy
VW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX2NoZWNrX3NwZWxsaW5nX3doaWxlX3R5cGlu
Z190b2dnbGUpCiAgICAgLy8gVGVzdCBjYXNlLCB3aGVuICJDaGVjayBTcGVsbGluZyBXaGlsZSBU
eXBpbmciIGlzIGluIHJldmVyc2UgdG8gdGhlIHByZXZpb3VzIG9uZS4KICAgICBpc1NldHRpbmdF
bmFibGVkID0gIWlzU2V0dGluZ0VuYWJsZWQ7CiAKLSAgICBFV0syVW5pdFRlc3RCYXNlOjptb3Vz
ZUNsaWNrKDEwLCAyMCwgLypSaWdodCBidXR0b24qLyAzKTsKKyAgICBzaG93Q29udGV4dE1lbnUo
Rmlyc3RMaW5lKTsKICAgICBBU1NFUlRfVFJVRSh3YWl0VW50aWxUcnVlKGNhbGxiYWNrc0V4ZWN1
dGlvblN0YXRzLnNldHRpbmdDaGFuZ2UpKTsKIAogICAgIGV3a190ZXh0X2NoZWNrZXJfY29udGlu
dW91c19zcGVsbF9jaGVja2luZ19jaGFuZ2VfY2Jfc2V0KDApOwpAQCAtNTY1LDcgKzYwOSw3IEBA
IFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX2NoZWNrX3NwZWxsaW5n
X3doaWxlX3R5cGluZ190b2dnbGUpCiAvKioKICAqIFRlc3Qgd2hldGhlciB0aGUgb25TZXR0aW5n
Q2hhbmdlIGNhbGxiYWNrIGlzIG5vdCBjYWxsZWQgd2hlbiB0aGUgc3BlbGwgY2hlY2tpbmcgc2V0
dGluZyB3YXMgY2hhbmdlZCBieSBjbGllbnQuCiAgKi8KLVRFU1RfRihFV0syVW5pdFRlc3RCYXNl
LCBld2tfdGV4dF9jaGVja2VyX2NvbnRpbnVvdXNfc3BlbGxfY2hlY2tpbmdfY2hhbmdlX2NiX3Nl
dCkKK1RFU1RfRihFV0syVGV4dENoZWNrZXJUZXN0LCBld2tfdGV4dF9jaGVja2VyX2NvbnRpbnVv
dXNfc3BlbGxfY2hlY2tpbmdfY2hhbmdlX2NiX3NldCkKIHsKICAgICByZXNldENhbGxiYWNrc0V4
ZWN1dGlvblN0YXRzKCk7CiAKQEAgLTU4NywxNCArNjMxLDE0IEBAIFRFU1RfRihFV0syVW5pdFRl
c3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX2NvbnRpbnVvdXNfc3BlbGxfY2hlY2tpbmdfY2hhbmdl
X2NiX3NlCiAgKiBUZXN0IHdoZXRoZXIgdGhlIG9uU2V0dGluZ0NoYW5nZSBjYWxsYmFjayBpcyBu
b3QgY2FsbGVkLCBpZiB0aGUgY2xpZW50IGRvZXMgbm90IHNldCBpdC4KICAqICJDaGVjayBTcGVs
bGluZyBXaGlsZSBUeXBpbmciIG9wdGlvbiBpcyB0b2dnbGVkIGluIGNvbnRleHQgbWVudS4KICAq
LwotVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfY29udGludW91c19z
cGVsbF9jaGVja2luZ19jaGFuZ2VfY2JfdW5zZXQpCitURVNUX0YoRVdLMlRleHRDaGVja2VyVGVz
dCwgZXdrX3RleHRfY2hlY2tlcl9jb250aW51b3VzX3NwZWxsX2NoZWNraW5nX2NoYW5nZV9jYl91
bnNldCkKIHsKICAgICByZXNldENhbGxiYWNrc0V4ZWN1dGlvblN0YXRzKCk7CiAgICAgZXdrVmll
d0NsYXNzKCktPmNvbnRleHRfbWVudV9zaG93ID0gdG9vZ2xlQ2hlY2tTcGVsbGluZ1doaWxlVHlw
aW5nOwogCiAgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPnVybEZvclJl
c291cmNlKCJzcGVsbGluZ190ZXN0Lmh0bWwiKS5kYXRhKCkpKTsKIAotICAgIEVXSzJVbml0VGVz
dEJhc2U6Om1vdXNlQ2xpY2soMTAsIDIwLCAvKlJpZ2h0IGJ1dHRvbiovIDMpOworICAgIHNob3dD
b250ZXh0TWVudShGaXJzdExpbmUpOwogICAgIEFTU0VSVF9GQUxTRSh3YWl0VW50aWxUcnVlKGNh
bGxiYWNrc0V4ZWN1dGlvblN0YXRzLnNldHRpbmdDaGFuZ2UsIC8qVGltZW91dCovIDApKTsKIH0K
IApAQCAtNjAzLDcgKzY0Nyw3IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9j
aGVja2VyX2NvbnRpbnVvdXNfc3BlbGxfY2hlY2tpbmdfY2hhbmdlX2NiX3VuCiAgKiBpZiB0aGV5
IGFyZSBpbiB1c2UuCiAgKiBBbGwgdGhlIGRpY3Rpb25hcmllcyBmcm9tIHRoZSBsaXN0IGNhbiBi
ZSBzZXQgdG8gcGVyZm9ybSBzcGVsbGNoZWNraW5nLgogICovCi1URVNUX0YoRVdLMlVuaXRUZXN0
QmFzZSwgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19hdmFpbGFibGVfbGFuZ3VhZ2Vz
X2dldCkKK1RFU1RfRihFV0syVGV4dENoZWNrZXJUZXN0LCBld2tfdGV4dF9jaGVja2VyX3NwZWxs
X2NoZWNraW5nX2F2YWlsYWJsZV9sYW5ndWFnZXNfZ2V0KQogewogICAgIEVpbmFfTGlzdCogYXZh
aWxhYmxlTGFuZ3VhZ2VzID0gZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9jaGVja2luZ19hdmFpbGFi
bGVfbGFuZ3VhZ2VzX2dldCgpOwogICAgIC8vIE5vIGRpY3Rpb25hcnkgaXMgYXZhaWxhYmxlL2lu
c3RhbGxlZCBvciB0aGUgU1BFTExDSEVDSyBtYWNybyBpcyBkaXNhYmxlZC4KQEAgLTY1NSw3ICs2
OTksNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl9zcGVsbF9j
aGVja2luZ19hdmFpbGFibGVfbGFuZ3VhZ2VzX2dldAogICogIC0gc2V0dGluZyB0aGUgZGVmYXVs
dCBsYW5ndWFnZSwKICAqICAtIGlmIHR3byBhcmJpdHJhcmlseSBzZWxlY3RlZCBkaWN0aW9uYXJp
ZXMgYXJlIHNldCBjb3JyZWN0bHkuCiAgKi8KLVRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tf
dGV4dF9jaGVja2VyX3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcykKK1RFU1RfRihFV0syVGV4dENo
ZWNrZXJUZXN0LCBld2tfdGV4dF9jaGVja2VyX3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcykKIHsK
ICAgICAvLyBTZXQgdGhlIGRlZmF1bHQgbGFuZ3VhZ2UuCiAgICAgZXdrX3RleHRfY2hlY2tlcl9z
cGVsbF9jaGVja2luZ19sYW5ndWFnZXNfc2V0KDApOwpAQCAtNzE2LDcgKzc2MCw3IEBAIFRFU1Rf
RihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX3NwZWxsX2NoZWNraW5nX2xhbmd1
YWdlcykKIC8qKgogICogVGVzdCB3aGV0aGVyIHRoZSBjbGllbnQncyBjYWxsYmFja3MgYXJlbid0
IGNhbGxlZCAoaWYgbm90IHNwZWNpZmllZCkuCiAgKi8KLVRFU1RfRihFV0syVW5pdFRlc3RCYXNl
LCBld2tfdGV4dF9jaGVja2VyKQorVEVTVF9GKEVXSzJUZXh0Q2hlY2tlclRlc3QsIGV3a190ZXh0
X2NoZWNrZXIpCiB7CiAgICAgcmVzZXRDYWxsYmFja3NFeGVjdXRpb25TdGF0cygpOwogICAgIGV3
a190ZXh0X2NoZWNrZXJfY29udGludW91c19zcGVsbF9jaGVja2luZ19lbmFibGVkX3NldCh0cnVl
KTsKQEAgLTczNyw3ICs3ODEsNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRf
Y2hlY2tlcikKIC8qKgogICogVGVzdCB3aGV0aGVyIHRoZSBjbGllbnQncyBjYWxsYmFja3MgKG9u
U3BlbGxEb2N1bWVudFRhZywgb25TcGVsbERvY3VtZW50VGFnQ2xvc2UpIGFyZSBjYWxsZWQuCiAg
Ki8KLVRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX3VuaXF1ZV9zcGVs
bF9kb2N1bWVudF90YWcpCitURVNUX0YoRVdLMlRleHRDaGVja2VyVGVzdCwgZXdrX3RleHRfY2hl
Y2tlcl91bmlxdWVfc3BlbGxfZG9jdW1lbnRfdGFnKQogewogICAgIHJlc2V0Q2FsbGJhY2tzRXhl
Y3V0aW9uU3RhdHMoKTsKICAgICBkZWZhdWx0VmlldyA9IHdlYlZpZXcoKTsKQEAgLTc1OSw3ICs4
MDMsNyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl91bmlxdWVf
c3BlbGxfZG9jdW1lbnRfdGFnKQogICogVGVzdCB3aGV0aGVyIHRoZSBjbGllbnQncyBjYWxsYmFj
ayAob25TcGVsbGluZ0NoZWNrKSBpcyBjYWxsZWQgd2hlbgogICogdGhlIHdvcmQgdG8gaW5wdXQg
ZmllbGQgd2FzIHB1dC4KICAqLwotVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2No
ZWNrZXJfc3RyaW5nX3NwZWxsaW5nX2NoZWNrX2NiX3NldCkKK1RFU1RfRihFV0syVGV4dENoZWNr
ZXJUZXN0LCBld2tfdGV4dF9jaGVja2VyX3N0cmluZ19zcGVsbGluZ19jaGVja19jYl9zZXQpCiB7
CiAgICAgcmVzZXRDYWxsYmFja3NFeGVjdXRpb25TdGF0cygpOwogICAgIGRlZmF1bHRWaWV3ID0g
d2ViVmlldygpOwpAQCAtNzc3LDcgKzgyMSw3IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBl
d2tfdGV4dF9jaGVja2VyX3N0cmluZ19zcGVsbGluZ19jaGVja19jYl9zZXQpCiAgKiBUZXN0IHdo
ZXRoZXIgdGhlIGNsaWVudCdzIGNhbGxiYWNrIChvbldvcmRHdWVzc2VzKSBpcyBjYWxsZWQgd2hl
bgogICogdGhlIGNvbnRleHQgbWVudSB3YXMgc2hvd24gb24gdGhlIG1pc3NwZWxsZWQgd29yZC4K
ICAqLwotVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfd29yZF9ndWVz
c2VzX2dldF9jYl9zZXQpCitURVNUX0YoRVdLMlRleHRDaGVja2VyVGVzdCwgZXdrX3RleHRfY2hl
Y2tlcl93b3JkX2d1ZXNzZXNfZ2V0X2NiX3NldCkKIHsKICAgICByZXNldENhbGxiYWNrc0V4ZWN1
dGlvblN0YXRzKCk7CiAgICAgd2FzQ29udGV4dE1lbnVTaG93biA9IGZhbHNlOwpAQCAtNzg3LDcg
KzgzMSw3IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX3dvcmRf
Z3Vlc3Nlc19nZXRfY2Jfc2V0KQogCiAgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52aXJv
bm1lbnQtPnVybEZvclJlc291cmNlKCJzcGVsbGluZ190ZXN0Lmh0bWwiKS5kYXRhKCkpKTsKIAot
ICAgIEVXSzJVbml0VGVzdEJhc2U6Om1vdXNlQ2xpY2soMTAsIDIwLCAvKlJpZ2h0IGJ1dHRvbiov
IDMpOworICAgIHNob3dDb250ZXh0TWVudShGaXJzdExpbmUpOwogICAgIEFTU0VSVF9UUlVFKHdh
aXRVbnRpbFRydWUod2FzQ29udGV4dE1lbnVTaG93bikpOwogCiAgICAgLy8gQ2hlY2sgd2hldGhl
ciB0aGUgY2FsbGJhY2sgaXMgY2FsbGVkLgpAQCAtODAxLDcgKzg0NSw3IEBAIFRFU1RfRihFV0sy
VW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX3dvcmRfZ3Vlc3Nlc19nZXRfY2Jfc2V0KQog
ICogdGhlIGNvbnRleHQgbWVudSBvcHRpb24gIkxlYXJuIHNwZWxsaW5nIiB3YXMgY2hvc2VuLiBJ
biB0aGUgbmV4dCBzdGVwLAogICogY2hlY2sgd2hldGhlciB0aGUgbGVhcm5lZCB3b3JkIGlzIHRy
ZWF0ZWQgYXMgc3BlbGxlZCBjb3JyZWN0bHkgd2hpbGUgc3BlbGwgY2hlY2tpbmcuCiAgKi8KLVRF
U1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX3dvcmRfbGVhcm5fY2Jfc2V0
KQorVEVTVF9GKEVXSzJUZXh0Q2hlY2tlclRlc3QsIGV3a190ZXh0X2NoZWNrZXJfd29yZF9sZWFy
bl9jYl9zZXQpCiB7CiAgICAgcmVzZXRDYWxsYmFja3NFeGVjdXRpb25TdGF0cygpOwogICAgIGtu
b3duV29yZCA9IGVtcHR5U3RyaW5nKCk7CkBAIC04MTAsOCArODU0LDggQEAgVEVTVF9GKEVXSzJV
bml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfd29yZF9sZWFybl9jYl9zZXQpCiAgICAgZXdr
Vmlld0NsYXNzKCktPmNvbnRleHRfbWVudV9zaG93ID0gc2VsZWN0TGVhcm5TcGVsbGluZzsKIAog
ICAgIEFTU0VSVF9UUlVFKGxvYWRVcmxTeW5jKGVudmlyb25tZW50LT51cmxGb3JSZXNvdXJjZSgi
c3BlbGxpbmdfdGVzdC5odG1sIikuZGF0YSgpKSk7Ci0gICAgbW91c2VEb3VibGVDbGljaygxMCwg
MjApOwotICAgIG1vdXNlQ2xpY2soMTAsIDIwLCAzIC8qIFJpZ2h0IGJ1dHRvbiAtIGludm9rZSBj
b250ZXh0IG1lbnUgKi8pOworICAgIHNlbGVjdEZpcnN0V29yZChGaXJzdExpbmUpOworICAgIHNo
b3dDb250ZXh0TWVudShGaXJzdExpbmUpOwogCiAgICAgQVNTRVJUX1RSVUUod2FpdFVudGlsVHJ1
ZShjYWxsYmFja3NFeGVjdXRpb25TdGF0cy53b3JkTGVhcm4pKTsKIApAQCAtODMzLDcgKzg3Nyw3
IEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfdGV4dF9jaGVja2VyX3dvcmRfbGVhcm5f
Y2Jfc2V0KQogICogdGhlIGNvbnRleHQgbWVudSBvcHRpb24gIklnbm9yZSBzcGVsbGluZyIgd2Fz
IGNob3Nlbi4gSW4gdGhlIG5leHQgc3RlcCwKICAqIGNoZWNrIHdoZXRoZXIgdGhlIGlnbm9yZWQg
d29yZCBpcyB0cmVhdGVkIGFzIHNwZWxsZWQgY29ycmVjdGx5IHdoaWxlIHNwZWxsIGNoZWNraW5n
LgogICovCi1URVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX3RleHRfY2hlY2tlcl93b3JkX2ln
bm9yZV9jYl9zZXQpCitURVNUX0YoRVdLMlRleHRDaGVja2VyVGVzdCwgZXdrX3RleHRfY2hlY2tl
cl93b3JkX2lnbm9yZV9jYl9zZXQpCiB7CiAgICAgcmVzZXRDYWxsYmFja3NFeGVjdXRpb25TdGF0
cygpOwogICAgIGtub3duV29yZCA9IGVtcHR5U3RyaW5nKCk7CkBAIC04NDIsOCArODg2LDggQEAg
VEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a190ZXh0X2NoZWNrZXJfd29yZF9pZ25vcmVfY2Jf
c2V0KQogICAgIGV3a1ZpZXdDbGFzcygpLT5jb250ZXh0X21lbnVfc2hvdyA9IHNlbGVjdElnbm9y
ZVNwZWxsaW5nOwogCiAgICAgQVNTRVJUX1RSVUUobG9hZFVybFN5bmMoZW52aXJvbm1lbnQtPnVy
bEZvclJlc291cmNlKCJzcGVsbGluZ190ZXN0Lmh0bWwiKS5kYXRhKCkpKTsKLSAgICBtb3VzZURv
dWJsZUNsaWNrKDEwLCAyMCk7Ci0gICAgbW91c2VDbGljaygxMCwgMjAsIDMgLyogUmlnaHQgYnV0
dG9uIC0gaW52b2tlIGNvbnRleHQgbWVudSAqLyk7CisgICAgc2VsZWN0Rmlyc3RXb3JkKEZpcnN0
TGluZSk7CisgICAgc2hvd0NvbnRleHRNZW51KEZpcnN0TGluZSk7CiAKICAgICBBU1NFUlRfVFJV
RSh3YWl0VW50aWxUcnVlKGNhbGxiYWNrc0V4ZWN1dGlvblN0YXRzLndvcmRJZ25vcmUpKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>