<?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>50461</bug_id>
          
          <creation_ts>2010-12-03 10:08:23 -0800</creation_ts>
          <short_desc>[v8] Web Inspector: remove duplicate code for capturing stack trace</short_desc>
          <delta_ts>2010-12-06 07:40:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          <dependson>50560</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>316866</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-03 10:08:23 -0800</bug_when>
    <thetext>Web Inspector: remove duplicate code for capturing stack trace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316869</commentid>
    <comment_count>1</comment_count>
      <attachid>75505</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-03 10:10:40 -0800</bug_when>
    <thetext>Created attachment 75505
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316893</commentid>
    <comment_count>2</comment_count>
      <attachid>75512</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-03 10:46:22 -0800</bug_when>
    <thetext>Created attachment 75512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317500</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-06 02:17:52 -0800</bug_when>
    <thetext>Committed r73351.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317514</commentid>
    <comment_count>4</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2010-12-06 03:07:45 -0800</bug_when>
    <thetext>Hi,

This patch seems to cause new crashes in ~10 tests on Chromium canary buildbots:
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showExpectations=true&amp;master=ChromiumWebkit&amp;tests=http%2Ftests%2Fplugins%2Fplugin-document-has-focus.html%2Cplugins%2Fdocument-open.html%2Cplugins%2Fgeturlnotify-during-document-teardown.html%2Cplugins%2Fnetscape-plugin-map-data-to-src.html%2Cplugins%2Fnetscape-plugin-setwindow-size-2.html%2Cplugins%2Fnetscape-plugin-setwindow-size.html%2Cplugins%2Fopen-and-close-window-with-plugin.html%2Cplugins%2Fwindow-open.html

Stack trace looks like:

[11686:11686:4179036940080:ERROR:base/process_util_posix.cc(106)] Received signal 11
	base::debug::StackTrace::StackTrace() [0x81173f9]
	base::(anonymous namespace)::StackDumpSignalHandler() [0x8104769]
	0x4001c420
	WebCore::Console::log() [0x8919db2]
	WebCore::ConsoleInternal::logCallback() [0x8539485]
	v8::internal::Builtin_HandleApiCall() [0x81b34a1]


I&apos;m going to roll out this change if I do not hear from you in next one hour. I appreciate your cooperation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317546</commentid>
    <comment_count>5</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2010-12-06 04:21:47 -0800</bug_when>
    <thetext>This patch was rolled out at r73355 and the bots are getting back to normal.

Reopening this bug for the record.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317609</commentid>
    <comment_count>6</comment_count>
      <attachid>75693</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-06 07:22:47 -0800</bug_when>
    <thetext>Created attachment 75693
Patch fixing plugin test failures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317616</commentid>
    <comment_count>7</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-12-06 07:40:37 -0800</bug_when>
    <thetext>Committed r73366</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75505</attachid>
            <date>2010-12-03 10:10:40 -0800</date>
            <delta_ts>2010-12-03 10:46:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50461-20101203211037.patch</filename>
            <type>text/plain</type>
            <size>11046</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGVkMjYxY2YyMzExYmMyOWM4YTkzY2UwNTNkYzlkNzRlNjYzMTQzYS4uMzBjOTEzNzg5ODAxNTI5
MjE2MzU3ZTMxZjViY2E4MzQ3NTc2OTU2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0xMi0wMyAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgZHVwbGlj
YXRlIGNvZGUgZm9yIGNhcHR1cmluZyBzdGFjayB0cmFjZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA0NjEKKworICAgICAgICBObyBuZXcgdGVzdHMu
IENvdmVyZWQgd2l0aCBleGlzdGluZyBpbnNwZWN0b3IgdGVzdHMuCisKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNy
ZWF0ZVNjcmlwdENhbGxTdGFjayk6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0
YWNrRmFjdG9yeS5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFja0ZhY3Rv
cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9TY3JpcHRDYWxsRnJhbWUpOgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlU2NyaXB0Q2FsbFN0YWNrKToKKyAgICAgICAgKiBpbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENhbGxGcmFtZTo6U2Ny
aXB0Q2FsbEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENhbGxGcmFtZTo6aXNFcXVh
bCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRDYWxsRnJhbWU6OmJ1aWxkSW5zcGVjdG9yT2Jq
ZWN0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmg6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRDYWxsRnJhbWU6OnNvdXJjZVVSTCk6CisgICAgICAgICogaW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFjay5oOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1lbGluZVJlY29yZEZh
Y3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVh
dGVHZW5lcmljUmVjb3JkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVW
aWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLnByb3RvdHlwZS5f
cG9wdWxhdGVTdGFja1RyYWNlVHJlZUVsZW1lbnQpOgorCiAyMDEwLTEyLTAzICBOaWtvbGFzIFpp
bW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERp
cmsgU2NodWx6ZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0
YWNrRmFjdG9yeS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3Rv
cnkuY3BwCmluZGV4IDlhNjRmZmNjYjVkNmFiYjc2YjAwOTg3ODMyYzkxMjQ3NDgwZWU3YWMuLmE4
ZDhkNTY1NjgxNjYwN2FlYjUzYzBiZjMwZGM4YjhkN2RiM2UyMmEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcApAQCAtNDgsNiArNDgsMTEgQEAg
dXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHNpemVfdCkKK3sKKyAgICBy
ZXR1cm4gMDsKK30KKwogUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENh
bGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90IG1heFN0YWNrU2l6ZSkKIHsKICAg
ICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBmcmFtZXM7CkBAIC04Nyw5ICs5Miw0IEBAIFBhc3NS
ZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBjcmVhdGVTY3JpcHRBcmd1bWVudHMoSlNDOjpFeGVjU3Rh
dGUqIGV4ZWMsIHVuc2lnbmVkCiAgICAgcmV0dXJuIFNjcmlwdEFyZ3VtZW50czo6Y3JlYXRlKGV4
ZWMsIGFyZ3VtZW50cyk7CiB9CiAKLWJvb2wgU2NyaXB0Q2FsbFN0YWNrOjpzdGFja1RyYWNlKGlu
dCwgY29uc3QgUmVmUHRyPEluc3BlY3RvckFycmF5PiYpCi17Ci0gICAgcmV0dXJuIGZhbHNlOwot
fQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5oCmluZGV4IDlmYmZjNzgwNmUxOTY3OWJhMDZlMzA4MThjYmE2YzI2
MTg1MDg5ODMuLjY3NDgzZDE2MTRlMGE4YzE0ODk3MzRmNzcxYTg4MmYzYjRlNWJiYTMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCkBAIC00Miw2ICs0
Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKIGNsYXNz
IFNjcmlwdENhbGxTdGFjazsKIAorUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNj
cmlwdENhbGxTdGFjayhzaXplX3QgbWF4U3RhY2tTaXplKTsKIFBhc3NSZWZQdHI8U2NyaXB0Q2Fs
bFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soSlNDOjpFeGVjU3RhdGUqLCBzaXplX3QgbWF4
U3RhY2tTaXplKTsKIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBjcmVhdGVTY3JpcHRBcmd1
bWVudHMoSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBza2lwQXJndW1lbnRDb3VudCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCmluZGV4IDVk
NGUxNDYzMDUyNTlkZmM2MTQ5OTk3ZmNkNThkZDVmMWFkN2I3YzkuLjZiZDY3NDA1YWU4MWZhZGEw
MzI1OWYzNTgzOTI1YjdmYTBjMzQxODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3Jp
cHRDYWxsU3RhY2tGYWN0b3J5LmNwcApAQCAtNTYsNyArNTYsOCBAQCBzdGF0aWMgU2NyaXB0Q2Fs
bEZyYW1lIHRvU2NyaXB0Q2FsbEZyYW1lKHY4OjpIYW5kbGU8djg6OlN0YWNrRnJhbWU+IGZyYW1l
KQogICAgICAgICBmdW5jdGlvbk5hbWUgPSB0b1dlYkNvcmVTdHJpbmcoZnVuY3Rpb25OYW1lVmFs
dWUpOwogCiAgICAgaW50IHNvdXJjZUxpbmVOdW1iZXIgPSBmcmFtZS0+R2V0TGluZU51bWJlcigp
OwotICAgIHJldHVybiBTY3JpcHRDYWxsRnJhbWUoZnVuY3Rpb25OYW1lLCBzb3VyY2VOYW1lLCBz
b3VyY2VMaW5lTnVtYmVyKTsKKyAgICBpbnQgc291cmNlQ29sdW1uID0gZnJhbWUtPkdldENvbHVt
bigpOworICAgIHJldHVybiBTY3JpcHRDYWxsRnJhbWUoZnVuY3Rpb25OYW1lLCBzb3VyY2VOYW1l
LCBzb3VyY2VMaW5lTnVtYmVyLCBzb3VyY2VDb2x1bW4pOwogfQogCiBzdGF0aWMgdm9pZCB0b1Nj
cmlwdENhbGxGcmFtZXNWZWN0b3Iodjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2ODo6
SGFuZGxlPHY4OjpTdGFja1RyYWNlPiBzdGFja1RyYWNlLCBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1l
PiYgc2NyaXB0Q2FsbEZyYW1lcywgc2l6ZV90IG1heFN0YWNrU2l6ZSkKQEAgLTkwLDEwICs5MSwx
MCBAQCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHY4
OjpMb2NhbDx2ODo6Q29udGV4dD4gY29udGV4dAogCiBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHNpemVfdCBtYXhTdGFja1NpemUpCiB7Ci0gICAgdjg6
OkhhbmRsZVNjb3BlIHNjb3BlOworICAgIGlmICghdjg6OkNvbnRleHQ6OkluQ29udGV4dCgpKQor
ICAgICAgICByZXR1cm4gMDsKKyAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CiAgICAg
djg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0ID0gdjg6OkNvbnRleHQ6OkdldEN1cnJlbnQo
KTsKLSAgICAvLyBUT0RPKHl1cnlzKTogcmVtb3ZlPwotICAgIHY4OjpDb250ZXh0OjpTY29wZSBj
b250ZXh0U2NvcGUoY29udGV4dCk7CiAgICAgdjg6OkhhbmRsZTx2ODo6U3RhY2tUcmFjZT4gc3Rh
Y2tUcmFjZSh2ODo6U3RhY2tUcmFjZTo6Q3VycmVudFN0YWNrVHJhY2UobWF4U3RhY2tTaXplLCBz
dGFja1RyYWNlT3B0aW9ucykpOwogICAgIHJldHVybiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soY29u
dGV4dCwgc3RhY2tUcmFjZSwgbWF4U3RhY2tTaXplKTsKIH0KQEAgLTExMSwzNSArMTEyLDQgQEAg
UGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGNyZWF0ZVNjcmlwdEFyZ3VtZW50cyhjb25zdCB2
ODo6QXJndW1lbnRzJiB2OGFyZ3VtZW4KICAgICByZXR1cm4gU2NyaXB0QXJndW1lbnRzOjpjcmVh
dGUoc3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKLWJvb2wgU2NyaXB0Q2FsbFN0YWNrOjpzdGFja1Ry
YWNlKGludCBmcmFtZUxpbWl0LCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+JiBzdGFja1Ry
YWNlKQotewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0gICAgaWYgKCF2ODo6Q29udGV4dDo6SW5D
b250ZXh0KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB2ODo6SGFuZGxlPHY4OjpDb250
ZXh0PiBjb250ZXh0ID0gdjg6OkNvbnRleHQ6OkdldEN1cnJlbnQoKTsKLSAgICBpZiAoY29udGV4
dC5Jc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB2ODo6SGFuZGxlU2NvcGUg
c2NvcGU7Ci0gICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZShjb250ZXh0KTsKLSAg
ICB2ODo6SGFuZGxlPHY4OjpTdGFja1RyYWNlPiB0cmFjZSh2ODo6U3RhY2tUcmFjZTo6Q3VycmVu
dFN0YWNrVHJhY2UoZnJhbWVMaW1pdCkpOwotICAgIGludCBmcmFtZUNvdW50ID0gdHJhY2UtPkdl
dEZyYW1lQ291bnQoKTsKLSAgICBpZiAodHJhY2UuSXNFbXB0eSgpIHx8ICFmcmFtZUNvdW50KQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBmcmFtZUNvdW50
OyArK2kpIHsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6U3RhY2tGcmFtZT4gZnJhbWUgPSB0cmFj
ZS0+R2V0RnJhbWUoaSk7Ci0gICAgICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGZyYW1lT2Jq
ZWN0ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICAgICAgdjg6OkxvY2FsPHY4OjpT
dHJpbmc+IHNjcmlwdE5hbWUgPSBmcmFtZS0+R2V0U2NyaXB0TmFtZSgpOwotICAgICAgICBmcmFt
ZU9iamVjdC0+c2V0U3RyaW5nKCJzY3JpcHROYW1lIiwgc2NyaXB0TmFtZS5Jc0VtcHR5KCkgPyAi
IiA6IHRvV2ViQ29yZVN0cmluZyhzY3JpcHROYW1lKSk7Ci0gICAgICAgIHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBmdW5jdGlvbk5hbWUgPSBmcmFtZS0+R2V0RnVuY3Rpb25OYW1lKCk7Ci0gICAgICAg
IGZyYW1lT2JqZWN0LT5zZXRTdHJpbmcoImZ1bmN0aW9uTmFtZSIsIGZ1bmN0aW9uTmFtZS5Jc0Vt
cHR5KCkgPyAiIiA6IHRvV2ViQ29yZVN0cmluZyhmdW5jdGlvbk5hbWUpKTsKLSAgICAgICAgZnJh
bWVPYmplY3QtPnNldE51bWJlcigibGluZU51bWJlciIsIGZyYW1lLT5HZXRMaW5lTnVtYmVyKCkp
OwotICAgICAgICBmcmFtZU9iamVjdC0+c2V0TnVtYmVyKCJjb2x1bW4iLCBmcmFtZS0+R2V0Q29s
dW1uKCkpOwotICAgICAgICBzdGFja1RyYWNlLT5wdXNoT2JqZWN0KGZyYW1lT2JqZWN0KTsKLSAg
ICB9Ci0gICAgcmV0dXJuIHRydWU7Ci0jZWxzZQotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgot
fQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rv
ci9TY3JpcHRDYWxsRnJhbWUuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1l
LmNwcAppbmRleCBjNGRhYjNjNDNiZjZmMWFhYzY1MGYzOTBkNTQxZTdmNzk1MzYwN2U1Li4wYjUy
MDRiODZhN2M3NGExMzQ5YTE2YmJlZGNjYjdmYmI1ZDk4ZTI0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL1Nj
cmlwdENhbGxGcmFtZS5jcHAKQEAgLTM2LDEwICszNiwxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVNjcmlwdENhbGxGcmFtZTo6U2NyaXB0Q2FsbEZyYW1lKGNvbnN0IFN0cmluZyYgZnVu
Y3Rpb25OYW1lLCBjb25zdCBTdHJpbmcmIHVybFN0cmluZywgdW5zaWduZWQgbGluZU51bWJlcikK
K1NjcmlwdENhbGxGcmFtZTo6U2NyaXB0Q2FsbEZyYW1lKGNvbnN0IFN0cmluZyYgZnVuY3Rpb25O
YW1lLCBjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2ln
bmVkIGNvbHVtbikKICAgICA6IG1fZnVuY3Rpb25OYW1lKGZ1bmN0aW9uTmFtZSkKLSAgICAsIG1f
c291cmNlVVJMKHVybFN0cmluZykKKyAgICAsIG1fc2NyaXB0TmFtZShzY3JpcHROYW1lKQogICAg
ICwgbV9saW5lTnVtYmVyKGxpbmVOdW1iZXIpCisgICAgLCBtX2NvbHVtbihjb2x1bW4pCiB7CiB9
CiAKQEAgLTUwLDcgKzUxLDcgQEAgU2NyaXB0Q2FsbEZyYW1lOjp+U2NyaXB0Q2FsbEZyYW1lKCkK
IGJvb2wgU2NyaXB0Q2FsbEZyYW1lOjppc0VxdWFsKGNvbnN0IFNjcmlwdENhbGxGcmFtZSYgbykg
Y29uc3QKIHsKICAgICByZXR1cm4gbV9mdW5jdGlvbk5hbWUgPT0gby5tX2Z1bmN0aW9uTmFtZQot
ICAgICAgICAmJiBtX3NvdXJjZVVSTCA9PSBvLm1fc291cmNlVVJMCisgICAgICAgICYmIG1fc2Ny
aXB0TmFtZSA9PSBvLm1fc2NyaXB0TmFtZQogICAgICAgICAmJiBtX2xpbmVOdW1iZXIgPT0gby5t
X2xpbmVOdW1iZXI7CiB9CiAKQEAgLTU5LDggKzYwLDkgQEAgUGFzc1JlZlB0cjxJbnNwZWN0b3JP
YmplY3Q+IFNjcmlwdENhbGxGcmFtZTo6YnVpbGRJbnNwZWN0b3JPYmplY3QoKSBjb25zdAogewog
ICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGZyYW1lID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVh
dGUoKTsKICAgICBmcmFtZS0+c2V0U3RyaW5nKCJmdW5jdGlvbk5hbWUiLCBtX2Z1bmN0aW9uTmFt
ZSk7Ci0gICAgZnJhbWUtPnNldFN0cmluZygic291cmNlVVJMIiwgbV9zb3VyY2VVUkwpOworICAg
IGZyYW1lLT5zZXRTdHJpbmcoInNjcmlwdE5hbWUiLCBtX3NjcmlwdE5hbWUpOwogICAgIGZyYW1l
LT5zZXROdW1iZXIoImxpbmVOdW1iZXIiLCBtX2xpbmVOdW1iZXIpOworICAgIGZyYW1lLT5zZXRO
dW1iZXIoImNvbHVtbiIsIG1fY29sdW1uKTsKICAgICByZXR1cm4gZnJhbWU7CiB9CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKaW5kZXggMmExZjI1NzBmNDAxMWQxZDJlYmE3
OWFhN2IzOTIwYWVmYzMzZTQ3MS4uMmMwMjVkYzNmYzMzZDJhMWEyY2RlNTljZDk1YWRjOGZjODcz
Mzc3NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKQEAgLTQwLDExICs0MCwxMSBA
QCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiAKIGNsYXNzIFNjcmlwdENhbGxGcmFtZSAgewogcHVi
bGljOgotICAgIFNjcmlwdENhbGxGcmFtZShjb25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSwgY29u
c3QgU3RyaW5nJiB1cmxTdHJpbmcsIHVuc2lnbmVkIGxpbmVOdW1iZXIpOworICAgIFNjcmlwdENh
bGxGcmFtZShjb25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSwgY29uc3QgU3RyaW5nJiBzY3JpcHRO
YW1lLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW4gPSAwKTsKICAgICB+U2Ny
aXB0Q2FsbEZyYW1lKCk7CiAKICAgICBjb25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSgpIGNvbnN0
IHsgcmV0dXJuIG1fZnVuY3Rpb25OYW1lOyB9Ci0gICAgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwo
KSBjb25zdCB7IHJldHVybiBtX3NvdXJjZVVSTDsgfQorICAgIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMKCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHROYW1lOyB9CiAgICAgdW5zaWduZWQgbGluZU51
bWJlcigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZU51bWJlcjsgfQogCiAgICAgYm9vbCBpc0VxdWFs
KGNvbnN0IFNjcmlwdENhbGxGcmFtZSYpIGNvbnN0OwpAQCAtNTIsOCArNTIsOSBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fZnVuY3Rpb25OYW1lOwotICAgIFN0cmluZyBtX3Nv
dXJjZVVSTDsKKyAgICBTdHJpbmcgbV9zY3JpcHROYW1lOwogICAgIHVuc2lnbmVkIG1fbGluZU51
bWJlcjsKKyAgICB1bnNpZ25lZCBtX2NvbHVtbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggMzZlYTY3MDJjNmYxMjNmMDY2
MjZkY2ZiNDZhOWU0ODdiMmJiNGEzMS4uNGNiMTUyZmQzNzFlYzIxZjcxMGM0ZDhlNzlmYjA4MGNm
YTlmMTZlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTUwLDcgKzUwLDYg
QEAgcHVibGljOgogCiAgICAgY29uc3QgU2NyaXB0Q2FsbEZyYW1lICZhdChzaXplX3QpIGNvbnN0
OwogICAgIHNpemVfdCBzaXplKCkgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgc3RhY2tUcmFjZShp
bnQsIGNvbnN0IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4mKTsKIAogICAgIGJvb2wgaXNFcXVhbChT
Y3JpcHRDYWxsU3RhY2sqKSBjb25zdDsKICAgICBQYXNzUmVmUHRyPEluc3BlY3RvckFycmF5PiBi
dWlsZEluc3BlY3Rvck9iamVjdCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0
b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5l
UmVjb3JkRmFjdG9yeS5jcHAKaW5kZXggNzEzZDZiYzEwZmFkY2RlZmFkZTk0NjRmNDliNzJkNzZj
YmFkYmQ3NC4uN2U2MmRhZjA0OGRiOGQzMGQ0YTYyYjc0YmJkNjc4NDE5NGMzMjU4MyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAorKysgYi9X
ZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwCkBAIC0zOSw2ICszOSw3
IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNw
b25zZS5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgorI2luY2x1ZGUgIlNjcmlwdENh
bGxTdGFja0ZhY3RvcnkuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Nyw5ICs0OCw5
IEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNy
ZWF0ZUdlbmVyaWNSZWNvcmQoZG91YmxlIHN0CiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4g
cmVjb3JkID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKICAgICByZWNvcmQtPnNldE51bWJl
cigic3RhcnRUaW1lIiwgc3RhcnRUaW1lKTsKIAotICAgIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4g
c3RhY2tUcmFjZSA9IEluc3BlY3RvckFycmF5OjpjcmVhdGUoKTsKLSAgICBpZiAoU2NyaXB0Q2Fs
bFN0YWNrOjpzdGFja1RyYWNlKDUsIHN0YWNrVHJhY2UpKQotICAgICAgICByZWNvcmQtPnNldEFy
cmF5KCJzdGFja1RyYWNlIiwgc3RhY2tUcmFjZSk7CisgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFj
az4gc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayg1KTsKKyAgICBpZiAoc3RhY2tU
cmFjZSAmJiBzdGFja1RyYWNlLT5zaXplKCkpCisgICAgICAgIHJlY29yZC0+c2V0QXJyYXkoInN0
YWNrVHJhY2UiLCBzdGFja1RyYWNlLT5idWlsZEluc3BlY3Rvck9iamVjdCgpKTsKICAgICByZXR1
cm4gcmVjb3JkLnJlbGVhc2UoKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nv
bnNvbGVWaWV3LmpzCmluZGV4IDczN2I4NGZhZDdiODY1NDU5NzY4NTdlZjI0M2IzZDY0NDg1YWNh
NDIuLjZjZjNhZWNhZGI0ZDcwMzkzZTY1YTBjMWYzNjgwYWNjNTRlMzBkYTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcworKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKQEAgLTg2Myw3ICs4NjMsNyBAQCBX
ZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UucHJvdG90eXBlID0gewogICAgICAgICAgICAgbWVz
c2FnZVRleHRFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGZ1bmN0
aW9uTmFtZSkpOwogICAgICAgICAgICAgY29udGVudC5hcHBlbmRDaGlsZChtZXNzYWdlVGV4dEVs
ZW1lbnQpOwogCi0gICAgICAgICAgICB2YXIgdXJsRWxlbWVudCA9IFdlYkluc3BlY3Rvci5saW5r
aWZ5UmVzb3VyY2VBc05vZGUoZnJhbWUuc291cmNlVVJMLCAic2NyaXB0cyIsIGZyYW1lLmxpbmVO
dW1iZXIsICJjb25zb2xlLW1lc3NhZ2UtdXJsIik7IAorICAgICAgICAgICAgdmFyIHVybEVsZW1l
bnQgPSBXZWJJbnNwZWN0b3IubGlua2lmeVJlc291cmNlQXNOb2RlKGZyYW1lLnNjcmlwdE5hbWUs
ICJzY3JpcHRzIiwgZnJhbWUubGluZU51bWJlciwgImNvbnNvbGUtbWVzc2FnZS11cmwiKTsKICAg
ICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQodXJsRWxlbWVudCk7CiAKICAgICAgICAgICAg
IHZhciB0cmVlRWxlbWVudCA9IG5ldyBUcmVlRWxlbWVudChjb250ZW50KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75512</attachid>
            <date>2010-12-03 10:46:22 -0800</date>
            <delta_ts>2010-12-06 07:22:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50461-20101203214619.patch</filename>
            <type>text/plain</type>
            <size>14781</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGVkMjYxY2YyMzExYmMyOWM4YTkzY2UwNTNkYzlkNzRlNjYzMTQzYS4uZTFiOTQwZDZlODhkNDFm
NDViZWVkMmY4NTE1MjgxODQ5NDgyMmUxZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMC0xMi0wMyAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbdjhdIFdlYiBJbnNwZWN0b3I6IHJlbW92ZSBk
dXBsaWNhdGUgY29kZSBmb3IgY2FwdHVyaW5nIHN0YWNrIHRyYWNlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MDQ2MQorCisgICAgICAgIE5vIG5ldyB0
ZXN0cy4gQ292ZXJlZCB3aXRoIGV4aXN0aW5nIGluc3BlY3RvciB0ZXN0cy4KKworICAgICAgICAq
IGJpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Y3JlYXRlU2NyaXB0Q2FsbFN0YWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRD
YWxsU3RhY2tGYWN0b3J5Lmg6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1NjcmlwdENhbGxGcmFtZSk6CisgICAg
ICAgIChXZWJDb3JlOjp0b1NjcmlwdENhbGxGcmFtZXNWZWN0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6Y3JlYXRlU2NyaXB0Q2FsbFN0YWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRD
YWxsU3RhY2tGYWN0b3J5Lmg6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhDb25zb2xlTWVzc2Fn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOENvbnNvbGVNZXNzYWdlOjpoYW5kbGVyKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdENhbGxGcmFtZTo6U2NyaXB0Q2FsbEZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cmlwdENhbGxGcmFtZTo6aXNFcXVhbCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRDYWxsRnJh
bWU6OmJ1aWxkSW5zcGVjdG9yT2JqZWN0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvU2NyaXB0Q2Fs
bEZyYW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRDYWxsRnJhbWU6OnNvdXJjZVVSTCk6
CisgICAgICAgICogaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGltZWxp
bmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNv
bGVNZXNzYWdlLnByb3RvdHlwZS5fcG9wdWxhdGVTdGFja1RyYWNlVHJlZUVsZW1lbnQpOgorCiAy
MDEwLTEyLTAzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERpcmsgU2NodWx6ZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCmluZGV4IDlhNjRmZmNjYjVkNmFiYjc2YjAwOTg3
ODMyYzkxMjQ3NDgwZWU3YWMuLmE4ZDhkNTY1NjgxNjYwN2FlYjUzYzBiZjMwZGM4YjhkN2RiM2Uy
MmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNw
cApAQCAtNDgsNiArNDgsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCitQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0
YWNrKHNpemVfdCkKK3sKKyAgICByZXR1cm4gMDsKK30KKwogUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90
IG1heFN0YWNrU2l6ZSkKIHsKICAgICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBmcmFtZXM7CkBA
IC04Nyw5ICs5Miw0IEBAIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBjcmVhdGVTY3JpcHRB
cmd1bWVudHMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkCiAgICAgcmV0dXJuIFNjcmlw
dEFyZ3VtZW50czo6Y3JlYXRlKGV4ZWMsIGFyZ3VtZW50cyk7CiB9CiAKLWJvb2wgU2NyaXB0Q2Fs
bFN0YWNrOjpzdGFja1RyYWNlKGludCwgY29uc3QgUmVmUHRyPEluc3BlY3RvckFycmF5PiYpCi17
Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCmluZGV4IDlmYmZjNzgwNmUx
OTY3OWJhMDZlMzA4MThjYmE2YzI2MTg1MDg5ODMuLjY3NDgzZDE2MTRlMGE4YzE0ODk3MzRmNzcx
YTg4MmYzYjRlNWJiYTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeS5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNj
cmlwdEFyZ3VtZW50czsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIAorUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhzaXplX3QgbWF4U3RhY2tTaXplKTsK
IFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soSlNDOjpF
eGVjU3RhdGUqLCBzaXplX3QgbWF4U3RhY2tTaXplKTsKIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1l
bnRzPiBjcmVhdGVTY3JpcHRBcmd1bWVudHMoSlNDOjpFeGVjU3RhdGUqLCB1bnNpZ25lZCBza2lw
QXJndW1lbnRDb3VudCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
Q2FsbFN0YWNrRmFjdG9yeS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFj
a0ZhY3RvcnkuY3BwCmluZGV4IDVkNGUxNDYzMDUyNTlkZmM2MTQ5OTk3ZmNkNThkZDVmMWFkN2I3
YzkuLjQ1NjNhMjgyNWU2NGFlMDRmM2Q0MzYxZDI0YjEwMjAyZmFlMzI3NDEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcApAQCAtNTYsMTMgKzU2
LDEzIEBAIHN0YXRpYyBTY3JpcHRDYWxsRnJhbWUgdG9TY3JpcHRDYWxsRnJhbWUodjg6OkhhbmRs
ZTx2ODo6U3RhY2tGcmFtZT4gZnJhbWUpCiAgICAgICAgIGZ1bmN0aW9uTmFtZSA9IHRvV2ViQ29y
ZVN0cmluZyhmdW5jdGlvbk5hbWVWYWx1ZSk7CiAKICAgICBpbnQgc291cmNlTGluZU51bWJlciA9
IGZyYW1lLT5HZXRMaW5lTnVtYmVyKCk7Ci0gICAgcmV0dXJuIFNjcmlwdENhbGxGcmFtZShmdW5j
dGlvbk5hbWUsIHNvdXJjZU5hbWUsIHNvdXJjZUxpbmVOdW1iZXIpOworICAgIGludCBzb3VyY2VD
b2x1bW4gPSBmcmFtZS0+R2V0Q29sdW1uKCk7CisgICAgcmV0dXJuIFNjcmlwdENhbGxGcmFtZShm
dW5jdGlvbk5hbWUsIHNvdXJjZU5hbWUsIHNvdXJjZUxpbmVOdW1iZXIsIHNvdXJjZUNvbHVtbik7
CiB9CiAKLXN0YXRpYyB2b2lkIHRvU2NyaXB0Q2FsbEZyYW1lc1ZlY3Rvcih2ODo6TG9jYWw8djg6
OkNvbnRleHQ+IGNvbnRleHQsIHY4OjpIYW5kbGU8djg6OlN0YWNrVHJhY2U+IHN0YWNrVHJhY2Us
IFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBzY3JpcHRDYWxsRnJhbWVzLCBzaXplX3QgbWF4U3Rh
Y2tTaXplKQorc3RhdGljIHZvaWQgdG9TY3JpcHRDYWxsRnJhbWVzVmVjdG9yKHY4OjpIYW5kbGU8
djg6OlN0YWNrVHJhY2U+IHN0YWNrVHJhY2UsIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+JiBzY3Jp
cHRDYWxsRnJhbWVzLCBzaXplX3QgbWF4U3RhY2tTaXplKQogewotICAgIC8vIFRPRE8oeXVyeXMp
OiByZW1vdmUgdGhpcz8/PwotICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoY29u
dGV4dCk7CisgICAgQVNTRVJUKHY4OjpDb250ZXh0OjpJbkNvbnRleHQoKSk7CiAgICAgaW50IGZy
YW1lQ291bnQgPSBzdGFja1RyYWNlLT5HZXRGcmFtZUNvdW50KCk7CiAgICAgaWYgKGZyYW1lQ291
bnQgPiBzdGF0aWNfY2FzdDxpbnQ+KG1heFN0YWNrU2l6ZSkpCiAgICAgICAgIGZyYW1lQ291bnQg
PSBtYXhTdGFja1NpemU7CkBAIC03MCwzMiArNzAsMjQgQEAgc3RhdGljIHZvaWQgdG9TY3JpcHRD
YWxsRnJhbWVzVmVjdG9yKHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY29udGV4dCwgdjg6OkhhbmRs
ZTwKICAgICAgICAgdjg6OkxvY2FsPHY4OjpTdGFja0ZyYW1lPiBzdGFja0ZyYW1lID0gc3RhY2tU
cmFjZS0+R2V0RnJhbWUoaSk7CiAgICAgICAgIHNjcmlwdENhbGxGcmFtZXMuYXBwZW5kKHRvU2Ny
aXB0Q2FsbEZyYW1lKHN0YWNrRnJhbWUpKTsKICAgICB9Ci0gICAgCi0gICAgaWYgKCFmcmFtZUNv
dW50KSB7Ci0gICAgICAgIC8vIFN1Y2Nlc3NmdWxseSBncmFiYmVkIHN0YWNrIHRyYWNlLCBidXQg
dGhlcmUgYXJlIG5vIGZyYW1lcy4gSXQgbWF5IGhhcHBlbiBpbiBjYXNlIG9mIGEgc3ludGF4IGVy
cm9yIGZvciBleGFtcGxlLgotICAgICAgICAvLyBGYWxsYmFjayB0byBzZXR0aW5nIGxpbmVOdW1i
ZXIgdG8gMCwgYW5kIHNvdXJjZSBhbmQgZnVuY3Rpb24gbmFtZSB0byAidW5kZWZpbmVkIi4KLSAg
ICAgICAgc2NyaXB0Q2FsbEZyYW1lcy5hcHBlbmQoU2NyaXB0Q2FsbEZyYW1lKCJ1bmRlZmluZWQi
LCAidW5kZWZpbmVkIiwgMCkpOwotICAgIH0KIH0KIAotUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3Rh
Y2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayh2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQs
IHY4OjpIYW5kbGU8djg6OlN0YWNrVHJhY2U+IHN0YWNrVHJhY2UsIHNpemVfdCBtYXhTdGFja1Np
emUpCitQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHY4
OjpIYW5kbGU8djg6OlN0YWNrVHJhY2U+IHN0YWNrVHJhY2UsIHNpemVfdCBtYXhTdGFja1NpemUp
CiB7CisgICAgQVNTRVJUKHY4OjpDb250ZXh0OjpJbkNvbnRleHQoKSk7CiAgICAgdjg6OkhhbmRs
ZVNjb3BlIHNjb3BlOwotICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoY29udGV4
dCk7Ci0KICAgICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBzY3JpcHRDYWxsRnJhbWVzOwotICAg
IHRvU2NyaXB0Q2FsbEZyYW1lc1ZlY3Rvcihjb250ZXh0LCBzdGFja1RyYWNlLCBzY3JpcHRDYWxs
RnJhbWVzLCBtYXhTdGFja1NpemUpOworICAgIHRvU2NyaXB0Q2FsbEZyYW1lc1ZlY3RvcihzdGFj
a1RyYWNlLCBzY3JpcHRDYWxsRnJhbWVzLCBtYXhTdGFja1NpemUpOwogICAgIHJldHVybiBTY3Jp
cHRDYWxsU3RhY2s6OmNyZWF0ZShzY3JpcHRDYWxsRnJhbWVzKTsKIH0KIAogUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhzaXplX3QgbWF4U3RhY2tTaXpl
KQogewotICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKLSAgICB2ODo6TG9jYWw8djg6OkNvbnRl
eHQ+IGNvbnRleHQgPSB2ODo6Q29udGV4dDo6R2V0Q3VycmVudCgpOwotICAgIC8vIFRPRE8oeXVy
eXMpOiByZW1vdmU/Ci0gICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZShjb250ZXh0
KTsKKyAgICBpZiAoIXY4OjpDb250ZXh0OjpJbkNvbnRleHQoKSkKKyAgICAgICAgcmV0dXJuIDA7
CisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOwogICAgIHY4OjpIYW5kbGU8djg6OlN0
YWNrVHJhY2U+IHN0YWNrVHJhY2Uodjg6OlN0YWNrVHJhY2U6OkN1cnJlbnRTdGFja1RyYWNlKG1h
eFN0YWNrU2l6ZSwgc3RhY2tUcmFjZU9wdGlvbnMpKTsKLSAgICByZXR1cm4gY3JlYXRlU2NyaXB0
Q2FsbFN0YWNrKGNvbnRleHQsIHN0YWNrVHJhY2UsIG1heFN0YWNrU2l6ZSk7CisgICAgcmV0dXJu
IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhzdGFja1RyYWNlLCBtYXhTdGFja1NpemUpOwogfQogCiBQ
YXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4gY3JlYXRlU2NyaXB0QXJndW1lbnRzKGNvbnN0IHY4
OjpBcmd1bWVudHMmIHY4YXJndW1lbnRzLCB1bnNpZ25lZCBza2lwQXJndW1lbnRDb3VudCkKQEAg
LTExMSwzNSArMTAzLDQgQEAgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+IGNyZWF0ZVNjcmlw
dEFyZ3VtZW50cyhjb25zdCB2ODo6QXJndW1lbnRzJiB2OGFyZ3VtZW4KICAgICByZXR1cm4gU2Ny
aXB0QXJndW1lbnRzOjpjcmVhdGUoc3RhdGUsIGFyZ3VtZW50cyk7CiB9CiAKLWJvb2wgU2NyaXB0
Q2FsbFN0YWNrOjpzdGFja1RyYWNlKGludCBmcmFtZUxpbWl0LCBjb25zdCBSZWZQdHI8SW5zcGVj
dG9yQXJyYXk+JiBzdGFja1RyYWNlKQotewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0gICAgaWYg
KCF2ODo6Q29udGV4dDo6SW5Db250ZXh0KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB2
ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0ID0gdjg6OkNvbnRleHQ6OkdldEN1cnJlbnQo
KTsKLSAgICBpZiAoY29udGV4dC5Jc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7Ci0gICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRT
Y29wZShjb250ZXh0KTsKLSAgICB2ODo6SGFuZGxlPHY4OjpTdGFja1RyYWNlPiB0cmFjZSh2ODo6
U3RhY2tUcmFjZTo6Q3VycmVudFN0YWNrVHJhY2UoZnJhbWVMaW1pdCkpOwotICAgIGludCBmcmFt
ZUNvdW50ID0gdHJhY2UtPkdldEZyYW1lQ291bnQoKTsKLSAgICBpZiAodHJhY2UuSXNFbXB0eSgp
IHx8ICFmcmFtZUNvdW50KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBmcmFtZUNvdW50OyArK2kpIHsKLSAgICAgICAgdjg6OkhhbmRsZTx2ODo6U3RhY2tG
cmFtZT4gZnJhbWUgPSB0cmFjZS0+R2V0RnJhbWUoaSk7Ci0gICAgICAgIFJlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IGZyYW1lT2JqZWN0ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICAg
ICAgdjg6OkxvY2FsPHY4OjpTdHJpbmc+IHNjcmlwdE5hbWUgPSBmcmFtZS0+R2V0U2NyaXB0TmFt
ZSgpOwotICAgICAgICBmcmFtZU9iamVjdC0+c2V0U3RyaW5nKCJzY3JpcHROYW1lIiwgc2NyaXB0
TmFtZS5Jc0VtcHR5KCkgPyAiIiA6IHRvV2ViQ29yZVN0cmluZyhzY3JpcHROYW1lKSk7Ci0gICAg
ICAgIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBmdW5jdGlvbk5hbWUgPSBmcmFtZS0+R2V0RnVuY3Rp
b25OYW1lKCk7Ci0gICAgICAgIGZyYW1lT2JqZWN0LT5zZXRTdHJpbmcoImZ1bmN0aW9uTmFtZSIs
IGZ1bmN0aW9uTmFtZS5Jc0VtcHR5KCkgPyAiIiA6IHRvV2ViQ29yZVN0cmluZyhmdW5jdGlvbk5h
bWUpKTsKLSAgICAgICAgZnJhbWVPYmplY3QtPnNldE51bWJlcigibGluZU51bWJlciIsIGZyYW1l
LT5HZXRMaW5lTnVtYmVyKCkpOwotICAgICAgICBmcmFtZU9iamVjdC0+c2V0TnVtYmVyKCJjb2x1
bW4iLCBmcmFtZS0+R2V0Q29sdW1uKCkpOwotICAgICAgICBzdGFja1RyYWNlLT5wdXNoT2JqZWN0
KGZyYW1lT2JqZWN0KTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci0jZWxzZQotICAgIHJldHVy
biBmYWxzZTsKLSNlbmRpZgotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBiL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCmluZGV4IDY2ZTQ0ZjVlNjFlNjkw
OGI5MDJmMTQ0NGJlOGFhZDVhZjExOTRkZjUuLjZmMWJiYWJkZTU4NzUwNTM0OTliNDI0NDNiYzRi
ZjRkMGQ3NjQwNGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FsbFN0
YWNrRmFjdG9yeS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FsbFN0YWNrRmFj
dG9yeS5oCkBAIC00Niw3ICs0Niw3IEBAIGNvbnN0IHY4OjpTdGFja1RyYWNlOjpTdGFja1RyYWNl
T3B0aW9ucyBzdGFja1RyYWNlT3B0aW9ucyA9IHN0YXRpY19jYXN0PHY4OjpTdGFjCiAgICAgfCB2
ODo6U3RhY2tUcmFjZTo6a1NjcmlwdE5hbWVPclNvdXJjZVVSTAogICAgIHwgdjg6OlN0YWNrVHJh
Y2U6OmtGdW5jdGlvbk5hbWUpOwogCi1QYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRl
U2NyaXB0Q2FsbFN0YWNrKHY4OjpMb2NhbDx2ODo6Q29udGV4dD4sIHY4OjpIYW5kbGU8djg6OlN0
YWNrVHJhY2U+LCBzaXplX3QgbWF4U3RhY2tTaXplKTsKK1Bhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0
YWNrPiBjcmVhdGVTY3JpcHRDYWxsU3RhY2sodjg6OkhhbmRsZTx2ODo6U3RhY2tUcmFjZT4sIHNp
emVfdCBtYXhTdGFja1NpemUpOwogUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNj
cmlwdENhbGxTdGFjayhzaXplX3QgbWF4U3RhY2tTaXplKTsKIFBhc3NSZWZQdHI8U2NyaXB0QXJn
dW1lbnRzPiBjcmVhdGVTY3JpcHRBcmd1bWVudHMoY29uc3Qgdjg6OkFyZ3VtZW50cyYgdjhhcmd1
bWVudHMsIHVuc2lnbmVkIHNraXBBcmd1bWVudENvdW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOENvbnNvbGVNZXNzYWdlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhDb25zb2xlTWVzc2FnZS5jcHAKaW5kZXggOWU2ZTI2NzYzMTI0N2JkNGRlZGQyNGVhNTEzZDY0
ODk2MjU5Mzg2NC4uNWRjNzlmZDYxMzFlZjRiYzA2NDViODFmYTc1MjE4MGIzNmRhYmM0MiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOENvbnNvbGVNZXNzYWdlLmNwcAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Q29uc29sZU1lc3NhZ2UuY3BwCkBAIC0xMTcsOCArMTE3LDcg
QEAgdm9pZCBWOENvbnNvbGVNZXNzYWdlOjpoYW5kbGVyKHY4OjpIYW5kbGU8djg6Ok1lc3NhZ2U+
IG1lc3NhZ2UsIHY4OjpIYW5kbGU8djg6OlYKICAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBj
YWxsU3RhY2s7CiAgICAgLy8gQ3VycmVudGx5IHN0YWNrIHRyYWNlIGlzIG9ubHkgY29sbGVjdGVk
IHdoZW4gaW5zcGVjdG9yIGlzIG9wZW4uCiAgICAgaWYgKCFzdGFja1RyYWNlLklzRW1wdHkoKSAm
JiBzdGFja1RyYWNlLT5HZXRGcmFtZUNvdW50KCkgPiAwKSB7Ci0gICAgICAgIHY4OjpMb2NhbDx2
ODo6Q29udGV4dD4gY29udGV4dCA9IHY4OjpDb250ZXh0OjpHZXRFbnRlcmVkKCk7Ci0gICAgICAg
IGNhbGxTdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhjb250ZXh0LCBzdGFja1RyYWNlLCBT
Y3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUpOworICAgICAgICBjYWxs
U3RhY2sgPSBjcmVhdGVTY3JpcHRDYWxsU3RhY2soc3RhY2tUcmFjZSwgU2NyaXB0Q2FsbFN0YWNr
OjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlKTsKICAgICB9CiAKICAgICB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gcmVzb3VyY2VOYW1lID0gbWVzc2FnZS0+R2V0U2NyaXB0UmVzb3VyY2VOYW1lKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcAppbmRleCBjNGRhYjNjNDNiZjZmMWFh
YzY1MGYzOTBkNTQxZTdmNzk1MzYwN2U1Li4wYjUyMDRiODZhN2M3NGExMzQ5YTE2YmJlZGNjYjdm
YmI1ZDk4ZTI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUu
Y3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAKQEAgLTM2LDEw
ICszNiwxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNjcmlwdENhbGxGcmFtZTo6U2Ny
aXB0Q2FsbEZyYW1lKGNvbnN0IFN0cmluZyYgZnVuY3Rpb25OYW1lLCBjb25zdCBTdHJpbmcmIHVy
bFN0cmluZywgdW5zaWduZWQgbGluZU51bWJlcikKK1NjcmlwdENhbGxGcmFtZTo6U2NyaXB0Q2Fs
bEZyYW1lKGNvbnN0IFN0cmluZyYgZnVuY3Rpb25OYW1lLCBjb25zdCBTdHJpbmcmIHNjcmlwdE5h
bWUsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbikKICAgICA6IG1fZnVuY3Rp
b25OYW1lKGZ1bmN0aW9uTmFtZSkKLSAgICAsIG1fc291cmNlVVJMKHVybFN0cmluZykKKyAgICAs
IG1fc2NyaXB0TmFtZShzY3JpcHROYW1lKQogICAgICwgbV9saW5lTnVtYmVyKGxpbmVOdW1iZXIp
CisgICAgLCBtX2NvbHVtbihjb2x1bW4pCiB7CiB9CiAKQEAgLTUwLDcgKzUxLDcgQEAgU2NyaXB0
Q2FsbEZyYW1lOjp+U2NyaXB0Q2FsbEZyYW1lKCkKIGJvb2wgU2NyaXB0Q2FsbEZyYW1lOjppc0Vx
dWFsKGNvbnN0IFNjcmlwdENhbGxGcmFtZSYgbykgY29uc3QKIHsKICAgICByZXR1cm4gbV9mdW5j
dGlvbk5hbWUgPT0gby5tX2Z1bmN0aW9uTmFtZQotICAgICAgICAmJiBtX3NvdXJjZVVSTCA9PSBv
Lm1fc291cmNlVVJMCisgICAgICAgICYmIG1fc2NyaXB0TmFtZSA9PSBvLm1fc2NyaXB0TmFtZQog
ICAgICAgICAmJiBtX2xpbmVOdW1iZXIgPT0gby5tX2xpbmVOdW1iZXI7CiB9CiAKQEAgLTU5LDgg
KzYwLDkgQEAgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IFNjcmlwdENhbGxGcmFtZTo6YnVp
bGRJbnNwZWN0b3JPYmplY3QoKSBjb25zdAogewogICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+
IGZyYW1lID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKICAgICBmcmFtZS0+c2V0U3RyaW5n
KCJmdW5jdGlvbk5hbWUiLCBtX2Z1bmN0aW9uTmFtZSk7Ci0gICAgZnJhbWUtPnNldFN0cmluZygi
c291cmNlVVJMIiwgbV9zb3VyY2VVUkwpOworICAgIGZyYW1lLT5zZXRTdHJpbmcoInNjcmlwdE5h
bWUiLCBtX3NjcmlwdE5hbWUpOwogICAgIGZyYW1lLT5zZXROdW1iZXIoImxpbmVOdW1iZXIiLCBt
X2xpbmVOdW1iZXIpOworICAgIGZyYW1lLT5zZXROdW1iZXIoImNvbHVtbiIsIG1fY29sdW1uKTsK
ICAgICByZXR1cm4gZnJhbWU7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVj
dG9yL1NjcmlwdENhbGxGcmFtZS5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1l
LmgKaW5kZXggMmExZjI1NzBmNDAxMWQxZDJlYmE3OWFhN2IzOTIwYWVmYzMzZTQ3MS4uMmMwMjVk
YzNmYzMzZDJhMWEyY2RlNTljZDk1YWRjOGZjODczMzc3NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0
Q2FsbEZyYW1lLmgKQEAgLTQwLDExICs0MCwxMSBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiAK
IGNsYXNzIFNjcmlwdENhbGxGcmFtZSAgewogcHVibGljOgotICAgIFNjcmlwdENhbGxGcmFtZShj
b25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIHVuc2ln
bmVkIGxpbmVOdW1iZXIpOworICAgIFNjcmlwdENhbGxGcmFtZShjb25zdCBTdHJpbmcmIGZ1bmN0
aW9uTmFtZSwgY29uc3QgU3RyaW5nJiBzY3JpcHROYW1lLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1
bnNpZ25lZCBjb2x1bW4gPSAwKTsKICAgICB+U2NyaXB0Q2FsbEZyYW1lKCk7CiAKICAgICBjb25z
dCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25OYW1lOyB9
Ci0gICAgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZVVS
TDsgfQorICAgIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKCkgY29uc3QgeyByZXR1cm4gbV9zY3Jp
cHROYW1lOyB9CiAgICAgdW5zaWduZWQgbGluZU51bWJlcigpIGNvbnN0IHsgcmV0dXJuIG1fbGlu
ZU51bWJlcjsgfQogCiAgICAgYm9vbCBpc0VxdWFsKGNvbnN0IFNjcmlwdENhbGxGcmFtZSYpIGNv
bnN0OwpAQCAtNTIsOCArNTIsOSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgU3RyaW5nIG1f
ZnVuY3Rpb25OYW1lOwotICAgIFN0cmluZyBtX3NvdXJjZVVSTDsKKyAgICBTdHJpbmcgbV9zY3Jp
cHROYW1lOwogICAgIHVuc2lnbmVkIG1fbGluZU51bWJlcjsKKyAgICB1bnNpZ25lZCBtX2NvbHVt
bjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0
YWNrLmgKaW5kZXggMzZlYTY3MDJjNmYxMjNmMDY2MjZkY2ZiNDZhOWU0ODdiMmJiNGEzMS4uNGNi
MTUyZmQzNzFlYzIxZjcxMGM0ZDhlNzlmYjA4MGNmYTlmMTZlNyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbFN0YWNrLmgKQEAgLTUwLDcgKzUwLDYgQEAgcHVibGljOgogCiAgICAgY29uc3QgU2Ny
aXB0Q2FsbEZyYW1lICZhdChzaXplX3QpIGNvbnN0OwogICAgIHNpemVfdCBzaXplKCkgY29uc3Q7
Ci0gICAgc3RhdGljIGJvb2wgc3RhY2tUcmFjZShpbnQsIGNvbnN0IFJlZlB0cjxJbnNwZWN0b3JB
cnJheT4mKTsKIAogICAgIGJvb2wgaXNFcXVhbChTY3JpcHRDYWxsU3RhY2sqKSBjb25zdDsKICAg
ICBQYXNzUmVmUHRyPEluc3BlY3RvckFycmF5PiBidWlsZEluc3BlY3Rvck9iamVjdCgpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNw
cCBiL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKaW5kZXggNzEz
ZDZiYzEwZmFkY2RlZmFkZTk0NjRmNDliNzJkNzZjYmFkYmQ3NC4uN2U2MmRhZjA0OGRiOGQzMGQ0
YTYyYjc0YmJkNjc4NDE5NGMzMjU4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvVGlt
ZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJl
Y29yZEZhY3RvcnkuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1
ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlNjcmlwdENh
bGxTdGFjay5oIgorI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00Nyw5ICs0OCw5IEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQoZG91YmxlIHN0
CiAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVjb3JkID0gSW5zcGVjdG9yT2JqZWN0Ojpj
cmVhdGUoKTsKICAgICByZWNvcmQtPnNldE51bWJlcigic3RhcnRUaW1lIiwgc3RhcnRUaW1lKTsK
IAotICAgIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gc3RhY2tUcmFjZSA9IEluc3BlY3RvckFycmF5
OjpjcmVhdGUoKTsKLSAgICBpZiAoU2NyaXB0Q2FsbFN0YWNrOjpzdGFja1RyYWNlKDUsIHN0YWNr
VHJhY2UpKQotICAgICAgICByZWNvcmQtPnNldEFycmF5KCJzdGFja1RyYWNlIiwgc3RhY2tUcmFj
ZSk7CisgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFjZSA9IGNyZWF0ZVNjcmlw
dENhbGxTdGFjayg1KTsKKyAgICBpZiAoc3RhY2tUcmFjZSAmJiBzdGFja1RyYWNlLT5zaXplKCkp
CisgICAgICAgIHJlY29yZC0+c2V0QXJyYXkoInN0YWNrVHJhY2UiLCBzdGFja1RyYWNlLT5idWls
ZEluc3BlY3Rvck9iamVjdCgpKTsKICAgICByZXR1cm4gcmVjb3JkLnJlbGVhc2UoKTsKIH0KIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzIGIv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCmluZGV4IDczN2I4NGZh
ZDdiODY1NDU5NzY4NTdlZjI0M2IzZDY0NDg1YWNhNDIuLjZjZjNhZWNhZGI0ZDcwMzkzZTY1YTBj
MWYzNjgwYWNjNTRlMzBkYTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Db25zb2xlVmlldy5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29s
ZVZpZXcuanMKQEAgLTg2Myw3ICs4NjMsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2Uu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgbWVzc2FnZVRleHRFbGVtZW50LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGZ1bmN0aW9uTmFtZSkpOwogICAgICAgICAgICAgY29u
dGVudC5hcHBlbmRDaGlsZChtZXNzYWdlVGV4dEVsZW1lbnQpOwogCi0gICAgICAgICAgICB2YXIg
dXJsRWxlbWVudCA9IFdlYkluc3BlY3Rvci5saW5raWZ5UmVzb3VyY2VBc05vZGUoZnJhbWUuc291
cmNlVVJMLCAic2NyaXB0cyIsIGZyYW1lLmxpbmVOdW1iZXIsICJjb25zb2xlLW1lc3NhZ2UtdXJs
Iik7IAorICAgICAgICAgICAgdmFyIHVybEVsZW1lbnQgPSBXZWJJbnNwZWN0b3IubGlua2lmeVJl
c291cmNlQXNOb2RlKGZyYW1lLnNjcmlwdE5hbWUsICJzY3JpcHRzIiwgZnJhbWUubGluZU51bWJl
ciwgImNvbnNvbGUtbWVzc2FnZS11cmwiKTsKICAgICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hp
bGQodXJsRWxlbWVudCk7CiAKICAgICAgICAgICAgIHZhciB0cmVlRWxlbWVudCA9IG5ldyBUcmVl
RWxlbWVudChjb250ZW50KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75693</attachid>
            <date>2010-12-06 07:22:47 -0800</date>
            <delta_ts>2010-12-06 07:22:47 -0800</delta_ts>
            <desc>Patch fixing plugin test failures</desc>
            <filename>script-call-stack-3.patch</filename>
            <type>text/plain</type>
            <size>15220</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTI5N2U1Ni4uZWMxNmYwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMC0xMi0wMyAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBG
ZWxkbWFuLgorCisgICAgICAgIFt2OF0gV2ViIEluc3BlY3RvcjogcmVtb3ZlIGR1cGxpY2F0ZSBj
b2RlIGZvciBjYXB0dXJpbmcgc3RhY2sgdHJhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNDYxCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBDb3Zl
cmVkIHdpdGggZXhpc3RpbmcgaW5zcGVjdG9yIHRlc3RzLgorCisgICAgICAgICogYmluZGluZ3Mv
anMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVT
Y3JpcHRDYWxsU3RhY2spOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuaDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnRvU2NyaXB0Q2FsbEZyYW1lKToKKyAgICAgICAgKFdlYkNv
cmU6OnRvU2NyaXB0Q2FsbEZyYW1lc1ZlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVT
Y3JpcHRDYWxsU3RhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuaDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOENvbnNvbGVNZXNzYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4Q29uc29sZU1lc3NhZ2U6OmhhbmRsZXIpOgorICAgICAgICAqIGlu
c3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q2Fs
bEZyYW1lOjpTY3JpcHRDYWxsRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0Q2FsbEZy
YW1lOjppc0VxdWFsKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENhbGxGcmFtZTo6YnVpbGRJ
bnNwZWN0b3JPYmplY3QpOgorICAgICAgICAqIGluc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENhbGxGcmFtZTo6c291cmNlVVJMKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmg6CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVs
aW5lUmVjb3JkRmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZh
Y3Rvcnk6OmNyZWF0ZUdlbmVyaWNSZWNvcmQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2Uu
cHJvdG90eXBlLl9wb3B1bGF0ZVN0YWNrVHJhY2VUcmVlRWxlbWVudCk6CisKIDIwMTAtMTItMDYg
IFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3MzM1MS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCmluZGV4IDlhNjRmZmMuLjk0Y2QxMjcgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcApAQCAtNDgsNiAr
NDgsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitQ
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHNpemVfdCwg
Ym9vbCkKK3sKKyAgICByZXR1cm4gMDsKK30KKwogUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+
IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90IG1heFN0
YWNrU2l6ZSkKIHsKICAgICBWZWN0b3I8U2NyaXB0Q2FsbEZyYW1lPiBmcmFtZXM7CkBAIC04Nyw5
ICs5Miw0IEBAIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBjcmVhdGVTY3JpcHRBcmd1bWVu
dHMoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkCiAgICAgcmV0dXJuIFNjcmlwdEFyZ3Vt
ZW50czo6Y3JlYXRlKGV4ZWMsIGFyZ3VtZW50cyk7CiB9CiAKLWJvb2wgU2NyaXB0Q2FsbFN0YWNr
OjpzdGFja1RyYWNlKGludCwgY29uc3QgUmVmUHRyPEluc3BlY3RvckFycmF5PiYpCi17Ci0gICAg
cmV0dXJuIGZhbHNlOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCmluZGV4IDlmYmZjNzguLjJmYjM2YWUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5o
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oCkBAIC00
Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsK
IGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIAorUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNy
ZWF0ZVNjcmlwdENhbGxTdGFjayhzaXplX3QgbWF4U3RhY2tTaXplLCBib29sIGVtcHR5U3RhY2tJ
c0FsbG93ZWQpOwogUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxT
dGFjayhKU0M6OkV4ZWNTdGF0ZSosIHNpemVfdCBtYXhTdGFja1NpemUpOwogUGFzc1JlZlB0cjxT
Y3JpcHRBcmd1bWVudHM+IGNyZWF0ZVNjcmlwdEFyZ3VtZW50cyhKU0M6OkV4ZWNTdGF0ZSosIHVu
c2lnbmVkIHNraXBBcmd1bWVudENvdW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0Q2FsbFN0YWNrRmFjdG9yeS5jcHAKaW5kZXggNWQ0ZTE0Ni4uM2MzYzQ4YiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwCkBAIC01NiwxMyAr
NTYsMTMgQEAgc3RhdGljIFNjcmlwdENhbGxGcmFtZSB0b1NjcmlwdENhbGxGcmFtZSh2ODo6SGFu
ZGxlPHY4OjpTdGFja0ZyYW1lPiBmcmFtZSkKICAgICAgICAgZnVuY3Rpb25OYW1lID0gdG9XZWJD
b3JlU3RyaW5nKGZ1bmN0aW9uTmFtZVZhbHVlKTsKIAogICAgIGludCBzb3VyY2VMaW5lTnVtYmVy
ID0gZnJhbWUtPkdldExpbmVOdW1iZXIoKTsKLSAgICByZXR1cm4gU2NyaXB0Q2FsbEZyYW1lKGZ1
bmN0aW9uTmFtZSwgc291cmNlTmFtZSwgc291cmNlTGluZU51bWJlcik7CisgICAgaW50IHNvdXJj
ZUNvbHVtbiA9IGZyYW1lLT5HZXRDb2x1bW4oKTsKKyAgICByZXR1cm4gU2NyaXB0Q2FsbEZyYW1l
KGZ1bmN0aW9uTmFtZSwgc291cmNlTmFtZSwgc291cmNlTGluZU51bWJlciwgc291cmNlQ29sdW1u
KTsKIH0KIAotc3RhdGljIHZvaWQgdG9TY3JpcHRDYWxsRnJhbWVzVmVjdG9yKHY4OjpMb2NhbDx2
ODo6Q29udGV4dD4gY29udGV4dCwgdjg6OkhhbmRsZTx2ODo6U3RhY2tUcmFjZT4gc3RhY2tUcmFj
ZSwgVmVjdG9yPFNjcmlwdENhbGxGcmFtZT4mIHNjcmlwdENhbGxGcmFtZXMsIHNpemVfdCBtYXhT
dGFja1NpemUpCitzdGF0aWMgdm9pZCB0b1NjcmlwdENhbGxGcmFtZXNWZWN0b3Iodjg6OkhhbmRs
ZTx2ODo6U3RhY2tUcmFjZT4gc3RhY2tUcmFjZSwgVmVjdG9yPFNjcmlwdENhbGxGcmFtZT4mIHNj
cmlwdENhbGxGcmFtZXMsIHNpemVfdCBtYXhTdGFja1NpemUsIGJvb2wgZW1wdHlTdGFja0lzQWxs
b3dlZCkKIHsKLSAgICAvLyBUT0RPKHl1cnlzKTogcmVtb3ZlIHRoaXM/Pz8KLSAgICB2ODo6Q29u
dGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGNvbnRleHQpOworICAgIEFTU0VSVCh2ODo6Q29udGV4
dDo6SW5Db250ZXh0KCkpOwogICAgIGludCBmcmFtZUNvdW50ID0gc3RhY2tUcmFjZS0+R2V0RnJh
bWVDb3VudCgpOwogICAgIGlmIChmcmFtZUNvdW50ID4gc3RhdGljX2Nhc3Q8aW50PihtYXhTdGFj
a1NpemUpKQogICAgICAgICBmcmFtZUNvdW50ID0gbWF4U3RhY2tTaXplOwpAQCAtNzAsMzIgKzcw
LDM1IEBAIHN0YXRpYyB2b2lkIHRvU2NyaXB0Q2FsbEZyYW1lc1ZlY3Rvcih2ODo6TG9jYWw8djg6
OkNvbnRleHQ+IGNvbnRleHQsIHY4OjpIYW5kbGU8CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6U3Rh
Y2tGcmFtZT4gc3RhY2tGcmFtZSA9IHN0YWNrVHJhY2UtPkdldEZyYW1lKGkpOwogICAgICAgICBz
Y3JpcHRDYWxsRnJhbWVzLmFwcGVuZCh0b1NjcmlwdENhbGxGcmFtZShzdGFja0ZyYW1lKSk7CiAg
ICAgfQotICAgIAotICAgIGlmICghZnJhbWVDb3VudCkgewotICAgICAgICAvLyBTdWNjZXNzZnVs
bHkgZ3JhYmJlZCBzdGFjayB0cmFjZSwgYnV0IHRoZXJlIGFyZSBubyBmcmFtZXMuIEl0IG1heSBo
YXBwZW4gaW4gY2FzZSBvZiBhIHN5bnRheCBlcnJvciBmb3IgZXhhbXBsZS4KLSAgICAgICAgLy8g
RmFsbGJhY2sgdG8gc2V0dGluZyBsaW5lTnVtYmVyIHRvIDAsIGFuZCBzb3VyY2UgYW5kIGZ1bmN0
aW9uIG5hbWUgdG8gInVuZGVmaW5lZCIuCi0gICAgICAgIHNjcmlwdENhbGxGcmFtZXMuYXBwZW5k
KFNjcmlwdENhbGxGcmFtZSgidW5kZWZpbmVkIiwgInVuZGVmaW5lZCIsIDApKTsKKyAgICBpZiAo
IWZyYW1lQ291bnQgJiYgIWVtcHR5U3RhY2tJc0FsbG93ZWQpIHsNCisgICAgICAgIC8vIFN1Y2Nl
c3NmdWxseSBncmFiYmVkIHN0YWNrIHRyYWNlLCBidXQgdGhlcmUgYXJlIG5vIGZyYW1lcy4gSXQg
bWF5IGhhcHBlbiBpbiBjYXNlDQorICAgICAgICAvLyB3aGVuIGEgYm91bmQgZnVuY3Rpb24gaXMg
Y2FsbGVkIGZyb20gbmF0aXZlIGNvZGUgZm9yIGV4YW1wbGUuDQorICAgICAgICAvLyBGYWxsYmFj
ayB0byBzZXR0aW5nIGxpbmVOdW1iZXIgdG8gMCwgYW5kIHNvdXJjZSBhbmQgZnVuY3Rpb24gbmFt
ZSB0byAidW5kZWZpbmVkIi4NCisgICAgICAgIHNjcmlwdENhbGxGcmFtZXMuYXBwZW5kKFNjcmlw
dENhbGxGcmFtZSgidW5kZWZpbmVkIiwgInVuZGVmaW5lZCIsIDApKTsNCiAgICAgfQogfQogCi1Q
YXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHY4OjpMb2Nh
bDx2ODo6Q29udGV4dD4gY29udGV4dCwgdjg6OkhhbmRsZTx2ODo6U3RhY2tUcmFjZT4gc3RhY2tU
cmFjZSwgc2l6ZV90IG1heFN0YWNrU2l6ZSkKK3N0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdENhbGxT
dGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHY4OjpIYW5kbGU8djg6OlN0YWNrVHJhY2U+IHN0
YWNrVHJhY2UsIHNpemVfdCBtYXhTdGFja1NpemUsIGJvb2wgZW1wdHlTdGFja0lzQWxsb3dlZCkK
IHsKKyAgICBBU1NFUlQodjg6OkNvbnRleHQ6OkluQ29udGV4dCgpKTsKICAgICB2ODo6SGFuZGxl
U2NvcGUgc2NvcGU7Ci0gICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZShjb250ZXh0
KTsKLQogICAgIFZlY3RvcjxTY3JpcHRDYWxsRnJhbWU+IHNjcmlwdENhbGxGcmFtZXM7Ci0gICAg
dG9TY3JpcHRDYWxsRnJhbWVzVmVjdG9yKGNvbnRleHQsIHN0YWNrVHJhY2UsIHNjcmlwdENhbGxG
cmFtZXMsIG1heFN0YWNrU2l6ZSk7CisgICAgdG9TY3JpcHRDYWxsRnJhbWVzVmVjdG9yKHN0YWNr
VHJhY2UsIHNjcmlwdENhbGxGcmFtZXMsIG1heFN0YWNrU2l6ZSwgZW1wdHlTdGFja0lzQWxsb3dl
ZCk7CiAgICAgcmV0dXJuIFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKHNjcmlwdENhbGxGcmFtZXMp
OwogfQogCi1QYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNr
KHNpemVfdCBtYXhTdGFja1NpemUpCitQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRl
U2NyaXB0Q2FsbFN0YWNrKHY4OjpIYW5kbGU8djg6OlN0YWNrVHJhY2U+IHN0YWNrVHJhY2UsIHNp
emVfdCBtYXhTdGFja1NpemUpCiB7Ci0gICAgdjg6OkhhbmRsZVNjb3BlIHNjb3BlOwotICAgIHY4
OjpMb2NhbDx2ODo6Q29udGV4dD4gY29udGV4dCA9IHY4OjpDb250ZXh0OjpHZXRDdXJyZW50KCk7
Ci0gICAgLy8gVE9ETyh5dXJ5cyk6IHJlbW92ZT8KLSAgICB2ODo6Q29udGV4dDo6U2NvcGUgY29u
dGV4dFNjb3BlKGNvbnRleHQpOworICAgIHJldHVybiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soc3Rh
Y2tUcmFjZSwgbWF4U3RhY2tTaXplLCB0cnVlKTsKK30KKworUGFzc1JlZlB0cjxTY3JpcHRDYWxs
U3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhzaXplX3QgbWF4U3RhY2tTaXplLCBib29sIGVt
cHR5U3RhY2tJc0FsbG93ZWQpCit7CisgICAgaWYgKCF2ODo6Q29udGV4dDo6SW5Db250ZXh0KCkp
CisgICAgICAgIHJldHVybiAwOworICAgIHY4OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKICAg
ICB2ODo6SGFuZGxlPHY4OjpTdGFja1RyYWNlPiBzdGFja1RyYWNlKHY4OjpTdGFja1RyYWNlOjpD
dXJyZW50U3RhY2tUcmFjZShtYXhTdGFja1NpemUsIHN0YWNrVHJhY2VPcHRpb25zKSk7Ci0gICAg
cmV0dXJuIGNyZWF0ZVNjcmlwdENhbGxTdGFjayhjb250ZXh0LCBzdGFja1RyYWNlLCBtYXhTdGFj
a1NpemUpOworICAgIHJldHVybiBjcmVhdGVTY3JpcHRDYWxsU3RhY2soc3RhY2tUcmFjZSwgbWF4
U3RhY2tTaXplLCBlbXB0eVN0YWNrSXNBbGxvd2VkKTsKIH0KIAogUGFzc1JlZlB0cjxTY3JpcHRB
cmd1bWVudHM+IGNyZWF0ZVNjcmlwdEFyZ3VtZW50cyhjb25zdCB2ODo6QXJndW1lbnRzJiB2OGFy
Z3VtZW50cywgdW5zaWduZWQgc2tpcEFyZ3VtZW50Q291bnQpCkBAIC0xMTEsMzUgKzExNCw0IEBA
IFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBjcmVhdGVTY3JpcHRBcmd1bWVudHMoY29uc3Qg
djg6OkFyZ3VtZW50cyYgdjhhcmd1bWVuCiAgICAgcmV0dXJuIFNjcmlwdEFyZ3VtZW50czo6Y3Jl
YXRlKHN0YXRlLCBhcmd1bWVudHMpOwogfQogCi1ib29sIFNjcmlwdENhbGxTdGFjazo6c3RhY2tU
cmFjZShpbnQgZnJhbWVMaW1pdCwgY29uc3QgUmVmUHRyPEluc3BlY3RvckFycmF5PiYgc3RhY2tU
cmFjZSkKLXsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgIGlmICghdjg6OkNvbnRleHQ6Oklu
Q29udGV4dCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgdjg6OkhhbmRsZTx2ODo6Q29u
dGV4dD4gY29udGV4dCA9IHY4OjpDb250ZXh0OjpHZXRDdXJyZW50KCk7Ci0gICAgaWYgKGNvbnRl
eHQuSXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgdjg6OkhhbmRsZVNjb3Bl
IHNjb3BlOwotICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoY29udGV4dCk7Ci0g
ICAgdjg6OkhhbmRsZTx2ODo6U3RhY2tUcmFjZT4gdHJhY2Uodjg6OlN0YWNrVHJhY2U6OkN1cnJl
bnRTdGFja1RyYWNlKGZyYW1lTGltaXQpKTsKLSAgICBpbnQgZnJhbWVDb3VudCA9IHRyYWNlLT5H
ZXRGcmFtZUNvdW50KCk7Ci0gICAgaWYgKHRyYWNlLklzRW1wdHkoKSB8fCAhZnJhbWVDb3VudCkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgZnJhbWVDb3Vu
dDsgKytpKSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OlN0YWNrRnJhbWU+IGZyYW1lID0gdHJh
Y2UtPkdldEZyYW1lKGkpOwotICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBmcmFtZU9i
amVjdCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgICAgIHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBzY3JpcHROYW1lID0gZnJhbWUtPkdldFNjcmlwdE5hbWUoKTsKLSAgICAgICAgZnJh
bWVPYmplY3QtPnNldFN0cmluZygic2NyaXB0TmFtZSIsIHNjcmlwdE5hbWUuSXNFbXB0eSgpID8g
IiIgOiB0b1dlYkNvcmVTdHJpbmcoc2NyaXB0TmFtZSkpOwotICAgICAgICB2ODo6TG9jYWw8djg6
OlN0cmluZz4gZnVuY3Rpb25OYW1lID0gZnJhbWUtPkdldEZ1bmN0aW9uTmFtZSgpOwotICAgICAg
ICBmcmFtZU9iamVjdC0+c2V0U3RyaW5nKCJmdW5jdGlvbk5hbWUiLCBmdW5jdGlvbk5hbWUuSXNF
bXB0eSgpID8gIiIgOiB0b1dlYkNvcmVTdHJpbmcoZnVuY3Rpb25OYW1lKSk7Ci0gICAgICAgIGZy
YW1lT2JqZWN0LT5zZXROdW1iZXIoImxpbmVOdW1iZXIiLCBmcmFtZS0+R2V0TGluZU51bWJlcigp
KTsKLSAgICAgICAgZnJhbWVPYmplY3QtPnNldE51bWJlcigiY29sdW1uIiwgZnJhbWUtPkdldENv
bHVtbigpKTsKLSAgICAgICAgc3RhY2tUcmFjZS0+cHVzaE9iamVjdChmcmFtZU9iamVjdCk7Ci0g
ICAgfQotICAgIHJldHVybiB0cnVlOwotI2Vsc2UKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYK
LX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dENhbGxTdGFja0ZhY3RvcnkuaAppbmRleCA2NmU0NGY1Li4wOTZmNmJmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFja0ZhY3RvcnkuaApAQCAtNDYsOCArNDYsOCBAQCBj
b25zdCB2ODo6U3RhY2tUcmFjZTo6U3RhY2tUcmFjZU9wdGlvbnMgc3RhY2tUcmFjZU9wdGlvbnMg
PSBzdGF0aWNfY2FzdDx2ODo6U3RhYwogICAgIHwgdjg6OlN0YWNrVHJhY2U6OmtTY3JpcHROYW1l
T3JTb3VyY2VVUkwKICAgICB8IHY4OjpTdGFja1RyYWNlOjprRnVuY3Rpb25OYW1lKTsKIAotUGFz
c1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0ZVNjcmlwdENhbGxTdGFjayh2ODo6TG9jYWw8
djg6OkNvbnRleHQ+LCB2ODo6SGFuZGxlPHY4OjpTdGFja1RyYWNlPiwgc2l6ZV90IG1heFN0YWNr
U2l6ZSk7Ci1QYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0YWNr
KHNpemVfdCBtYXhTdGFja1NpemUpOworUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNyZWF0
ZVNjcmlwdENhbGxTdGFjayh2ODo6SGFuZGxlPHY4OjpTdGFja1RyYWNlPiwgc2l6ZV90IG1heFN0
YWNrU2l6ZSk7CitQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlU2NyaXB0Q2FsbFN0
YWNrKHNpemVfdCBtYXhTdGFja1NpemUsIGJvb2wgZW1wdHlTdGFja0lzQWxsb3dlZCA9IGZhbHNl
KTsKIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiBjcmVhdGVTY3JpcHRBcmd1bWVudHMoY29u
c3Qgdjg6OkFyZ3VtZW50cyYgdjhhcmd1bWVudHMsIHVuc2lnbmVkIHNraXBBcmd1bWVudENvdW50
KTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOENvbnNvbGVNZXNzYWdlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhDb25zb2xl
TWVzc2FnZS5jcHAKaW5kZXggOWU2ZTI2Ny4uZTY4NzFmZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOENvbnNvbGVNZXNzYWdlLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4Q29uc29sZU1lc3NhZ2UuY3BwCkBAIC0xMTYsMTAgKzExNiw4IEBAIHZvaWQgVjhDb25zb2xl
TWVzc2FnZTo6aGFuZGxlcih2ODo6SGFuZGxlPHY4OjpNZXNzYWdlPiBtZXNzYWdlLCB2ODo6SGFu
ZGxlPHY4OjpWCiAgICAgdjg6OkhhbmRsZTx2ODo6U3RhY2tUcmFjZT4gc3RhY2tUcmFjZSA9IG1l
c3NhZ2UtPkdldFN0YWNrVHJhY2UoKTsKICAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxs
U3RhY2s7CiAgICAgLy8gQ3VycmVudGx5IHN0YWNrIHRyYWNlIGlzIG9ubHkgY29sbGVjdGVkIHdo
ZW4gaW5zcGVjdG9yIGlzIG9wZW4uCi0gICAgaWYgKCFzdGFja1RyYWNlLklzRW1wdHkoKSAmJiBz
dGFja1RyYWNlLT5HZXRGcmFtZUNvdW50KCkgPiAwKSB7Ci0gICAgICAgIHY4OjpMb2NhbDx2ODo6
Q29udGV4dD4gY29udGV4dCA9IHY4OjpDb250ZXh0OjpHZXRFbnRlcmVkKCk7Ci0gICAgICAgIGNh
bGxTdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhjb250ZXh0LCBzdGFja1RyYWNlLCBTY3Jp
cHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUpOwotICAgIH0KKyAgICBpZiAo
IXN0YWNrVHJhY2UuSXNFbXB0eSgpICYmIHN0YWNrVHJhY2UtPkdldEZyYW1lQ291bnQoKSA+IDAp
CisgICAgICAgIGNhbGxTdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhzdGFja1RyYWNlLCBT
Y3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUpOwogCiAgICAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHJlc291cmNlTmFtZSA9IG1lc3NhZ2UtPkdldFNjcmlwdFJlc291cmNl
TmFtZSgpOwogICAgIGJvb2wgdXNlVVJMID0gcmVzb3VyY2VOYW1lLklzRW1wdHkoKSB8fCAhcmVz
b3VyY2VOYW1lLT5Jc1N0cmluZygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5jcHAK
aW5kZXggYzRkYWIzYy4uMGI1MjA0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0Q2FsbEZyYW1lLmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUu
Y3BwCkBAIC0zNiwxMCArMzYsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TY3JpcHRD
YWxsRnJhbWU6OlNjcmlwdENhbGxGcmFtZShjb25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSwgY29u
c3QgU3RyaW5nJiB1cmxTdHJpbmcsIHVuc2lnbmVkIGxpbmVOdW1iZXIpCitTY3JpcHRDYWxsRnJh
bWU6OlNjcmlwdENhbGxGcmFtZShjb25zdCBTdHJpbmcmIGZ1bmN0aW9uTmFtZSwgY29uc3QgU3Ry
aW5nJiBzY3JpcHROYW1lLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW4pCiAg
ICAgOiBtX2Z1bmN0aW9uTmFtZShmdW5jdGlvbk5hbWUpCi0gICAgLCBtX3NvdXJjZVVSTCh1cmxT
dHJpbmcpCisgICAgLCBtX3NjcmlwdE5hbWUoc2NyaXB0TmFtZSkKICAgICAsIG1fbGluZU51bWJl
cihsaW5lTnVtYmVyKQorICAgICwgbV9jb2x1bW4oY29sdW1uKQogewogfQogCkBAIC01MCw3ICs1
MSw3IEBAIFNjcmlwdENhbGxGcmFtZTo6flNjcmlwdENhbGxGcmFtZSgpCiBib29sIFNjcmlwdENh
bGxGcmFtZTo6aXNFcXVhbChjb25zdCBTY3JpcHRDYWxsRnJhbWUmIG8pIGNvbnN0CiB7CiAgICAg
cmV0dXJuIG1fZnVuY3Rpb25OYW1lID09IG8ubV9mdW5jdGlvbk5hbWUKLSAgICAgICAgJiYgbV9z
b3VyY2VVUkwgPT0gby5tX3NvdXJjZVVSTAorICAgICAgICAmJiBtX3NjcmlwdE5hbWUgPT0gby5t
X3NjcmlwdE5hbWUKICAgICAgICAgJiYgbV9saW5lTnVtYmVyID09IG8ubV9saW5lTnVtYmVyOwog
fQogCkBAIC01OSw4ICs2MCw5IEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBTY3JpcHRD
YWxsRnJhbWU6OmJ1aWxkSW5zcGVjdG9yT2JqZWN0KCkgY29uc3QKIHsKICAgICBSZWZQdHI8SW5z
cGVjdG9yT2JqZWN0PiBmcmFtZSA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CiAgICAgZnJh
bWUtPnNldFN0cmluZygiZnVuY3Rpb25OYW1lIiwgbV9mdW5jdGlvbk5hbWUpOwotICAgIGZyYW1l
LT5zZXRTdHJpbmcoInNvdXJjZVVSTCIsIG1fc291cmNlVVJMKTsKKyAgICBmcmFtZS0+c2V0U3Ry
aW5nKCJzY3JpcHROYW1lIiwgbV9zY3JpcHROYW1lKTsKICAgICBmcmFtZS0+c2V0TnVtYmVyKCJs
aW5lTnVtYmVyIiwgbV9saW5lTnVtYmVyKTsKKyAgICBmcmFtZS0+c2V0TnVtYmVyKCJjb2x1bW4i
LCBtX2NvbHVtbik7CiAgICAgcmV0dXJuIGZyYW1lOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsRnJhbWUuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL1Nj
cmlwdENhbGxGcmFtZS5oCmluZGV4IDJhMWYyNTcuLjJjMDI1ZGMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL1Nj
cmlwdENhbGxGcmFtZS5oCkBAIC00MCwxMSArNDAsMTEgQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0
OwogCiBjbGFzcyBTY3JpcHRDYWxsRnJhbWUgIHsKIHB1YmxpYzoKLSAgICBTY3JpcHRDYWxsRnJh
bWUoY29uc3QgU3RyaW5nJiBmdW5jdGlvbk5hbWUsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCB1
bnNpZ25lZCBsaW5lTnVtYmVyKTsKKyAgICBTY3JpcHRDYWxsRnJhbWUoY29uc3QgU3RyaW5nJiBm
dW5jdGlvbk5hbWUsIGNvbnN0IFN0cmluZyYgc2NyaXB0TmFtZSwgdW5zaWduZWQgbGluZU51bWJl
ciwgdW5zaWduZWQgY29sdW1uID0gMCk7CiAgICAgflNjcmlwdENhbGxGcmFtZSgpOwogCiAgICAg
Y29uc3QgU3RyaW5nJiBmdW5jdGlvbk5hbWUoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uTmFt
ZTsgfQotICAgIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKCkgY29uc3QgeyByZXR1cm4gbV9zb3Vy
Y2VVUkw7IH0KKyAgICBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2NyaXB0TmFtZTsgfQogICAgIHVuc2lnbmVkIGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBt
X2xpbmVOdW1iZXI7IH0KIAogICAgIGJvb2wgaXNFcXVhbChjb25zdCBTY3JpcHRDYWxsRnJhbWUm
KSBjb25zdDsKQEAgLTUyLDggKzUyLDkgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIFN0cmlu
ZyBtX2Z1bmN0aW9uTmFtZTsKLSAgICBTdHJpbmcgbV9zb3VyY2VVUkw7CisgICAgU3RyaW5nIG1f
c2NyaXB0TmFtZTsKICAgICB1bnNpZ25lZCBtX2xpbmVOdW1iZXI7CisgICAgdW5zaWduZWQgbV9j
b2x1bW47CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaCBiL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5oCmluZGV4IDM2ZWE2NzAuLjRjYjE1MmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENh
bGxTdGFjay5oCkBAIC01MCw3ICs1MCw2IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFNjcmlwdENh
bGxGcmFtZSAmYXQoc2l6ZV90KSBjb25zdDsKICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0OwotICAg
IHN0YXRpYyBib29sIHN0YWNrVHJhY2UoaW50LCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+
Jik7CiAKICAgICBib29sIGlzRXF1YWwoU2NyaXB0Q2FsbFN0YWNrKikgY29uc3Q7CiAgICAgUGFz
c1JlZlB0cjxJbnNwZWN0b3JBcnJheT4gYnVpbGRJbnNwZWN0b3JPYmplY3QoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgYi9X
ZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwCmluZGV4IDcxM2Q2YmMu
LjM0MTc2NzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFj
dG9yeS5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNw
cApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1
ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKKyNp
bmNsdWRlICJTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNDcsOSArNDgsOSBAQCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gVGltZWxpbmVS
ZWNvcmRGYWN0b3J5OjpjcmVhdGVHZW5lcmljUmVjb3JkKGRvdWJsZSBzdAogICAgIFJlZlB0cjxJ
bnNwZWN0b3JPYmplY3Q+IHJlY29yZCA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7CiAgICAg
cmVjb3JkLT5zZXROdW1iZXIoInN0YXJ0VGltZSIsIHN0YXJ0VGltZSk7CiAKLSAgICBSZWZQdHI8
SW5zcGVjdG9yQXJyYXk+IHN0YWNrVHJhY2UgPSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7Ci0g
ICAgaWYgKFNjcmlwdENhbGxTdGFjazo6c3RhY2tUcmFjZSg1LCBzdGFja1RyYWNlKSkKLSAgICAg
ICAgcmVjb3JkLT5zZXRBcnJheSgic3RhY2tUcmFjZSIsIHN0YWNrVHJhY2UpOworICAgIFJlZlB0
cjxTY3JpcHRDYWxsU3RhY2s+IHN0YWNrVHJhY2UgPSBjcmVhdGVTY3JpcHRDYWxsU3RhY2soNSwg
dHJ1ZSk7CisgICAgaWYgKHN0YWNrVHJhY2UgJiYgc3RhY2tUcmFjZS0+c2l6ZSgpKQorICAgICAg
ICByZWNvcmQtPnNldEFycmF5KCJzdGFja1RyYWNlIiwgc3RhY2tUcmFjZS0+YnVpbGRJbnNwZWN0
b3JPYmplY3QoKSk7CiAgICAgcmV0dXJuIHJlY29yZC5yZWxlYXNlKCk7CiB9CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwppbmRleCA3MzdiODRmLi42Y2YzYWVj
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCkBAIC04NjMs
NyArODYzLDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgICAgIG1lc3NhZ2VUZXh0RWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShmdW5jdGlvbk5hbWUpKTsKICAgICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQo
bWVzc2FnZVRleHRFbGVtZW50KTsKIAotICAgICAgICAgICAgdmFyIHVybEVsZW1lbnQgPSBXZWJJ
bnNwZWN0b3IubGlua2lmeVJlc291cmNlQXNOb2RlKGZyYW1lLnNvdXJjZVVSTCwgInNjcmlwdHMi
LCBmcmFtZS5saW5lTnVtYmVyLCAiY29uc29sZS1tZXNzYWdlLXVybCIpOyAKKyAgICAgICAgICAg
IHZhciB1cmxFbGVtZW50ID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJjZUFzTm9kZShmcmFt
ZS5zY3JpcHROYW1lLCAic2NyaXB0cyIsIGZyYW1lLmxpbmVOdW1iZXIsICJjb25zb2xlLW1lc3Nh
Z2UtdXJsIik7CiAgICAgICAgICAgICBjb250ZW50LmFwcGVuZENoaWxkKHVybEVsZW1lbnQpOwog
CiAgICAgICAgICAgICB2YXIgdHJlZUVsZW1lbnQgPSBuZXcgVHJlZUVsZW1lbnQoY29udGVudCk7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>