<?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>145359</bug_id>
          
          <creation_ts>2015-05-24 12:21:20 -0700</creation_ts>
          <short_desc>Crash when using a removed ScriptMessageHandler</short_desc>
          <delta_ts>2016-12-10 03:42:09 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1097166</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-24 12:21:20 -0700</bug_when>
    <thetext>Crash when using a removed ScriptMessageHandler</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097173</commentid>
    <comment_count>1</comment_count>
      <attachid>253664</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-24 12:34:50 -0700</bug_when>
    <thetext>Created attachment 253664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097176</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-24 12:37:58 -0700</bug_when>
    <thetext>Attachment 253664 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:112:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:113:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:114:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:115:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:127:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:128:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:129:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:130:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:164:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:165:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:166:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:167:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 12 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097182</commentid>
    <comment_count>3</comment_count>
      <attachid>253664</attachid>
    <who name="">mitz</who>
    <bug_when>2015-05-24 13:41:25 -0700</bug_when>
    <thetext>Comment on attachment 253664
Patch

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

&gt; Source/WebCore/page/UserMessageHandler.h:37
&gt; +typedef int ExceptionCode;

Can’t import the header here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097183</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-05-24 13:41:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/20888499&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097184</commentid>
    <comment_count>5</comment_count>
      <attachid>253668</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-24 13:49:07 -0700</bug_when>
    <thetext>Created attachment 253668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097185</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-24 13:50:54 -0700</bug_when>
    <thetext>Attachment 253668 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:112:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:113:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:114:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:115:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:127:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:128:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:129:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:130:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:164:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:165:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:166:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:167:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 12 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097186</commentid>
    <comment_count>7</comment_count>
      <attachid>253669</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-24 14:05:10 -0700</bug_when>
    <thetext>Created attachment 253669
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097187</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-24 14:08:10 -0700</bug_when>
    <thetext>Attachment 253669 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:112:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:113:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:114:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:115:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:127:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:128:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:129:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:130:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:164:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:165:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:166:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:167:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 12 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097188</commentid>
    <comment_count>9</comment_count>
      <attachid>253669</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-24 16:20:11 -0700</bug_when>
    <thetext>Comment on attachment 253669
Patch

Dan reviewed this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097189</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-05-24 16:29:21 -0700</bug_when>
    <thetext>Fixed in https://trac.webkit.org/r184846.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253664</attachid>
            <date>2015-05-24 12:34:50 -0700</date>
            <delta_ts>2015-05-24 13:49:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145359-20150524123442.patch</filename>
            <type>text/plain</type>
            <size>14324</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE1LTA1LTI0ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiB1c2luZyBhIHJlbW92
ZWQgU2NyaXB0TWVzc2FnZUhhbmRsZXIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIwODg4NDk5
PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzU5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
dGVzdHM6CisgICAgICAgICAgICBXS1VzZXJDb250ZW50Q29udHJvbGxlci5TY3JpcHRNZXNzYWdl
SGFuZGxlckJhc2ljUmVtb3ZlCisgICAgICAgICAgICBXS1VzZXJDb250ZW50Q29udHJvbGxlci5T
Y3JpcHRNZXNzYWdlSGFuZGxlckNhbGxSZW1vdmVkSGFuZGxlcgorCisgICAgICAgICogcGFnZS9V
c2VyTWVzc2FnZUhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5k
bGVyOjp+VXNlck1lc3NhZ2VIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZXNzYWdl
SGFuZGxlcjo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5k
bGVyOjpuYW1lKToKKyAgICAgICAgKiBwYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5oOgorICAgICAg
ICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5kbGVyOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uv
VXNlck1lc3NhZ2VIYW5kbGVyLmlkbDoKKyAgICAgICAgKiBwYWdlL1VzZXJNZXNzYWdlSGFuZGxl
ckRlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5kbGVyRGVz
Y3JpcHRvcjo6VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcik6CisgICAgICAgICogcGFnZS9V
c2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpVc2VyTWVz
c2FnZUhhbmRsZXJEZXNjcmlwdG9yOjpjbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1l
c3NhZ2VIYW5kbGVyRGVzY3JpcHRvcjo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBpbnZhbGlkYXRpbmcgdGhlIGRlc2NyaXB0b3IgYW5kIHRocm93IGFuIGV4Y2Vw
dGlvbiBpZiBzb21lb25lIHRyaWVzCisgICAgICAgIHRvIHBvc3QgYSBtZXNzYWdlIHVzaW5nIGFu
IGludmFsaWRhdGVkIGRlc2NyaXB0b3IuCisKKyAgICAgICAgKiBwYWdlL1VzZXJNZXNzYWdlSGFu
ZGxlcnNOYW1lc3BhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5kbGVy
c05hbWVzcGFjZTo6aGFuZGxlcik6CisgICAgICAgIEFkZCBsb2dpYyB0byByZW1vdmUgbWVzc2Fn
ZSBoYW5kbGVycyBpZiB0aGVpciBkZXNjcmlwdG9yIGhhcyBiZWVuIGludmFsaWRhdGVkLgorCiAy
MDE1LTA1LTI0ICBIdW5zZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KIAogICAg
ICAgICBVc2UgbW9kZXJuIGZvci1sb29wcyBpbiBXZWJDb3JlL3N2Zy4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5jcHAJKHJldmlzaW9uIDE4NDg0NCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFVTRVJfTUVTU0FHRV9IQU5ETEVSUykK
IAorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1
ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIgogCkBAIC00Myw5ICs0NCwxNiBAQCBVc2VyTWVz
c2FnZUhhbmRsZXI6On5Vc2VyTWVzc2FnZUhhbmRsZXIoCiB7CiB9CiAKLXZvaWQgVXNlck1lc3Nh
Z2VIYW5kbGVyOjpwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
dmFsdWUpCit2b2lkIFVzZXJNZXNzYWdlSGFuZGxlcjo6cG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBt
X2Rlc2NyaXB0b3ItPmNsaWVudCgpLmRpZFBvc3RNZXNzYWdlKCp0aGlzLCB2YWx1ZS5nZXQoKSk7
CisgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBkZXNjcmlwdG9yIGhhcyBiZWVuIHJlbW92ZWQu
IFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgaG9zdCBhcHBsaWNhdGlvbiBoYXMKKyAgICAvLyByZW1v
dmVkIHRoZSBuYW1lZCBtZXNzYWdlIGhhbmRsZXIgYXQgdGhlIFdlYktpdDIgQVBJIGxldmVsLgor
ICAgIGlmICghbV9kZXNjcmlwdG9yLT5jbGllbnQoKSkgeworICAgICAgICBlYyA9IElOVkFMSURf
QUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fZGVzY3JpcHRvci0+
Y2xpZW50KCktPmRpZFBvc3RNZXNzYWdlKCp0aGlzLCB2YWx1ZS5nZXQoKSk7CiB9CiAKIGNvbnN0
IEF0b21pY1N0cmluZyYgVXNlck1lc3NhZ2VIYW5kbGVyOjpuYW1lKCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXIuaAkocmV2aXNpb24gMTg0ODQ0KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MzQsNiArMzQsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3R5cGVkZWYgaW50IEV4Y2Vw
dGlvbkNvZGU7CisKIGNsYXNzIFVzZXJNZXNzYWdlSGFuZGxlciA6IHB1YmxpYyBSZWZDb3VudGVk
PFVzZXJNZXNzYWdlSGFuZGxlcj4sIHB1YmxpYyBGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIgewog
cHVibGljOgogICAgIHN0YXRpYyBSZWY8VXNlck1lc3NhZ2VIYW5kbGVyPiBjcmVhdGUoRnJhbWUm
IGZyYW1lLCBVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQpAQCAtNDIs
NyArNDQsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIHZpcnR1YWwgflVzZXJNZXNzYWdlSGFuZGxl
cigpOwogCi0gICAgdm9pZCBwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4pOworICAgIHZvaWQgcG9zdE1lc3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0
VmFsdWU+LCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUo
KTsKICAgICBET01XcmFwcGVyV29ybGQmIHdvcmxkKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL1VzZXJNZXNzYWdlSGFuZGxlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXIuaWRsCShyZXZpc2lvbiAxODQ4NDQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDUgKzI2LDUgQEAKIFsKICAgICBDb25kaXRpb25hbD1VU0VSX01FU1NBR0VfSEFORExFUlMKIF0g
aW50ZXJmYWNlIFVzZXJNZXNzYWdlSGFuZGxlciB7Ci0gICAgdm9pZCBwb3N0TWVzc2FnZShTZXJp
YWxpemVkU2NyaXB0VmFsdWUgbWVzc2FnZSk7CisgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBw
b3N0TWVzc2FnZShTZXJpYWxpemVkU2NyaXB0VmFsdWUgbWVzc2FnZSk7CiB9OwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3Iu
Y3BwCShyZXZpc2lvbiAxODQ4NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdl
SGFuZGxlckRlc2NyaXB0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3I6OlVzZXJNZXNz
YWdlSGFuZGxlckRlc2NyaXB0b3IoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBET01XcmFwcGVy
V29ybGQmIHdvcmxkLCBDbGllbnQmIGNsaWVudCkKICAgICA6IG1fbmFtZShuYW1lKQogICAgICwg
bV93b3JsZCh3b3JsZCkKLSAgICAsIG1fY2xpZW50KGNsaWVudCkKKyAgICAsIG1fY2xpZW50KCZj
bGllbnQpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5k
bGVyRGVzY3JpcHRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1l
c3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5oCShyZXZpc2lvbiAxODQ4NDQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuaAkod29ya2luZyBjb3B5KQpA
QCAtNTYsMTUgKzU2LDE2IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbmFt
ZSgpOwogICAgIERPTVdyYXBwZXJXb3JsZCYgd29ybGQoKTsKLSAgICAKLSAgICBDbGllbnQmIGNs
aWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50OyB9CisKKyAgICBDbGllbnQqIGNsaWVudCgp
IGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50OyB9CisgICAgdm9pZCBpbnZhbGlkYXRlQ2xpZW50KCkg
eyBtX2NsaWVudCA9IG51bGxwdHI7IH0KIAogcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCBl
eHBsaWNpdCBVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yKGNvbnN0IEF0b21pY1N0cmluZyYs
IERPTVdyYXBwZXJXb3JsZCYsIENsaWVudCYpOwotICAgIAorCiAgICAgQXRvbWljU3RyaW5nIG1f
bmFtZTsKICAgICBSZWY8RE9NV3JhcHBlcldvcmxkPiBtX3dvcmxkOwotICAgIENsaWVudCYgbV9j
bGllbnQ7CisgICAgQ2xpZW50KiBtX2NsaWVudDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFj
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRs
ZXJzTmFtZXNwYWNlLmNwcAkocmV2aXNpb24gMTg0ODQ0KQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9Vc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYs
MTMgKzQ2LDYgQEAgVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZTo6flVzZXJNZXNzYQogCiBV
c2VyTWVzc2FnZUhhbmRsZXIqIFVzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2U6OmhhbmRsZXIo
Y29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBET01XcmFwcGVyV29ybGQmIHdvcmxkKQogewotICAg
IC8vIEZpcnN0LCBjaGVjayBpZiB3ZSBoYXZlIGEgaGFuZGxlciBpbnN0YW5jZSBhbHJlYWR5Lgot
ICAgIGZvciAoYXV0byYgaGFuZGxlciA6IG1fbWVzc2FnZUhhbmRsZXJzKSB7Ci0gICAgICAgIGlm
IChoYW5kbGVyLT5uYW1lKCkgPT0gbmFtZSAmJiAmaGFuZGxlci0+d29ybGQoKSA9PSAmd29ybGQp
Ci0gICAgICAgICAgICByZXR1cm4gJmhhbmRsZXIuZ2V0KCk7Ci0gICAgfQotCi0gICAgLy8gU2Vj
b25kLCBhdHRlbXB0IHRvIGNyZWF0ZSBhIGhhbmRsZXIgaW5zdGFuY2UgZnJvbSBhIGRlc2NyaXB0
b3IuCiAgICAgaWYgKCFmcmFtZSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIApAQCAtNjks
OCArNjIsMTcgQEAgVXNlck1lc3NhZ2VIYW5kbGVyKiBVc2VyTWVzc2FnZUhhbmRsZXJzTgogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIFJlZlB0cjxVc2VyTWVzc2FnZUhhbmRsZXJEZXNj
cmlwdG9yPiBkZXNjcmlwdG9yID0gdXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcnMtPmdldChz
dGQ6Om1ha2VfcGFpcihuYW1lLCAmd29ybGQpKTsKLSAgICBpZiAoIWRlc2NyaXB0b3IpCisgICAg
aWYgKCFkZXNjcmlwdG9yKSB7CisgICAgICAgIG1fbWVzc2FnZUhhbmRsZXJzLnJlbW92ZUZpcnN0
TWF0Y2hpbmcoWyZuYW1lLCAmd29ybGRdKFJlZjxVc2VyTWVzc2FnZUhhbmRsZXI+JiBoYW5kbGVy
KSB7CisgICAgICAgICAgICByZXR1cm4gaGFuZGxlci0+bmFtZSgpID09IG5hbWUgJiYgJmhhbmRs
ZXItPndvcmxkKCkgPT0gJndvcmxkOworICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgfQorCisgICAgZm9yIChhdXRvJiBoYW5kbGVyIDogbV9tZXNzYWdlSGFuZGxlcnMp
IHsKKyAgICAgICAgaWYgKGhhbmRsZXItPm5hbWUoKSA9PSBuYW1lICYmICZoYW5kbGVyLT53b3Js
ZCgpID09ICZ3b3JsZCkKKyAgICAgICAgICAgIHJldHVybiAmaGFuZGxlci5nZXQoKTsKKyAgICB9
CiAKICAgICBtX21lc3NhZ2VIYW5kbGVycy5hcHBlbmQoVXNlck1lc3NhZ2VIYW5kbGVyOjpjcmVh
dGUoKmZyYW1lKCksICpkZXNjcmlwdG9yKSk7CiAgICAgcmV0dXJuICZtX21lc3NhZ2VIYW5kbGVy
cy5sYXN0KCkuZ2V0KCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODQ4NDQpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAx
NS0wNS0yNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIENyYXNoIHdo
ZW4gdXNpbmcgYSByZW1vdmVkIFNjcmlwdE1lc3NhZ2VIYW5kbGVyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8yMDg4ODQ5OT4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0NTM1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9y
UHJveHk6On5XZWJVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yUHJveHkpOgorICAgICAgICBJ
bnZhbGlkYXRlIHRoZSBkZXNjcmlwdG9yIHdoZW4gdGhlIG1lc3NhZ2UgaGFuZGxlciBjbGllbnQg
KGFzIGltcGxlbWVudGVkIGJ5IFdlYlVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3JQcm94eSkK
KyAgICAgICAgZ29lcyBhd2F5LiBUaGlzIHdpbGwgaGFwcGVuIGlmIGEgc2NyaXB0IG1lc3NhZ2Ug
aGFuZGxlciBpcyByZW1vdmVkIGF0IHRoZSBBUEkgbGV2ZWwgb3IgdGhlIFdlYlVzZXJDb250ZW50
Q29udHJvbGxlcgorICAgICAgICBpcyBkZXN0cm95ZWQgKHdoaWNoIHdpbGwgaGFwcGVuIGlmIGFs
bCB0aGUgcGFnZXMgZ2V0IGRlc3Ryb3llZCkuCisKIDIwMTUtMDUtMjMgIERhbiBCZXJuc3RlaW4g
IDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjEwOTAzMjc+IC9T
L0wvUHJpdmF0ZUZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yayBpcyBtaXNzaW5nIEhlYWRlcnMg
YW5kIFByaXZhdGVIZWFkZXJzIHN5bWxpbmtzCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENv
bnRyb2xsZXIuY3BwCShyZXZpc2lvbiAxODQ4NDQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTExNyw2ICsxMTcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIH5XZWJVc2VyTWVz
c2FnZUhhbmRsZXJEZXNjcmlwdG9yUHJveHkoKQogICAgIHsKKyAgICAgICAgbV9kZXNjcmlwdG9y
LT5pbnZhbGlkYXRlQ2xpZW50KCk7CiAgICAgfQogCiAgICAgLy8gV2ViQ29yZTo6VXNlck1lc3Nh
Z2VIYW5kbGVyRGVzY3JpcHRvcjo6Q2xpZW50CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODQ4NDQpCisrKyBUb29scy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNS0yNCAgU2FtIFdl
aW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAgIENyYXNoIHdoZW4gdXNpbmcgYSByZW1v
dmVkIFNjcmlwdE1lc3NhZ2VIYW5kbGVyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDg4ODQ5
OT4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTM1
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvVXNlckNvbnRlbnRDb250cm9sbGVyLm1tOgor
ICAgICAgICBBZGQgdGVzdHMgZm9yIHJlbW92aW5nIHNjcmlwdCBtZXNzYWdlIGhhbmRsZXJzLgor
CiAyMDE1LTA1LTIzICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAg
ICAgICAgIEludHJvZHVjZSBVbmlxdWVkU3RyaW5nSW1wbCBhbmQgU3ltYm9sSW1wbCB0byBzZXBh
cmF0ZSBzeW1ib2xpYyBzdHJpbmdzIGZyb20gQXRvbWljU3RyaW5nSW1wbApJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvVXNlckNvbnRlbnRDb250cm9sbGVyLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1Vz
ZXJDb250ZW50Q29udHJvbGxlci5tbQkocmV2aXNpb24gMTg0ODQ0KQorKysgVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Miw3ICs2Miw3IEBAIC0gKHZvaWQpdXNlckNvbnRlbnRDb250cm9sbGVy
OihXS1VzZXJDb24KIAogQGVuZAogCi1URVNUKFdLVXNlckNvbnRlbnRDb250cm9sbGVyLCBTY3Jp
cHRNZXNzYWdlSGFuZGxlclNpbXBsZSkKK1RFU1QoV0tVc2VyQ29udGVudENvbnRyb2xsZXIsIFNj
cmlwdE1lc3NhZ2VIYW5kbGVyQmFzaWNQb3N0KQogewogICAgIFJldGFpblB0cjxTY3JpcHRNZXNz
YWdlSGFuZGxlcj4gaGFuZGxlciA9IGFkb3B0TlMoW1tTY3JpcHRNZXNzYWdlSGFuZGxlciBhbGxv
Y10gaW5pdF0pOwogICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25maWd1
cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
QEAgLTg3LDYgKzg3LDkxIEBAIFRFU1QoV0tVc2VyQ29udGVudENvbnRyb2xsZXIsIFNjcmlwdE1l
c3MKICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJIZWxsbyIsIChOU1N0cmluZyAqKVtsYXN0U2NyaXB0
TWVzc2FnZSBib2R5XSk7CiB9CiAKK1RFU1QoV0tVc2VyQ29udGVudENvbnRyb2xsZXIsIFNjcmlw
dE1lc3NhZ2VIYW5kbGVyQmFzaWNSZW1vdmUpCit7CisgICAgUmV0YWluUHRyPFNjcmlwdE1lc3Nh
Z2VIYW5kbGVyPiBoYW5kbGVyID0gYWRvcHROUyhbW1NjcmlwdE1lc3NhZ2VIYW5kbGVyIGFsbG9j
XSBpbml0XSk7CisgICAgUmV0YWluUHRyPFdLV2ViVmlld0NvbmZpZ3VyYXRpb24+IGNvbmZpZ3Vy
YXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwor
ICAgIFJldGFpblB0cjxXS1VzZXJDb250ZW50Q29udHJvbGxlcj4gdXNlckNvbnRlbnRDb250cm9s
bGVyID0gW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXTsKKyAgICBbdXNlckNv
bnRlbnRDb250cm9sbGVyIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgbmFt
ZTpAImhhbmRsZXJUb1JlbW92ZSJdOworICAgIFt1c2VyQ29udGVudENvbnRyb2xsZXIgYWRkU2Ny
aXB0TWVzc2FnZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBuYW1lOkAiaGFuZGxlclRvUG9zdCJdOwor
CisgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcg
YWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJh
dGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBSZXRhaW5QdHI8U2ltcGxlTmF2aWdh
dGlvbkRlbGVnYXRlPiBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tTaW1wbGVOYXZpZ2F0aW9uRGVsZWdh
dGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVs
ZWdhdGUuZ2V0KCldOworCisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVz
dCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAi
c2ltcGxlIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQ
SS5yZXNvdXJjZXMiXV07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lV2l0aE5hdmlnYXRpb24pOworCisg
ICAgLy8gVGVzdCB0aGF0IGhhbmRsZXJUb1JlbW92ZSB3YXMgc3VjY2VzZnVsbHkgYWRkZWQuCisg
ICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OgorICAgICAgICBAImlmICh3aW5kb3cud2Vi
a2l0Lm1lc3NhZ2VIYW5kbGVycy5oYW5kbGVyVG9SZW1vdmUpIHsiCisgICAgICAgICAiICAgIHdp
bmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLmhhbmRsZXJUb1Bvc3QucG9zdE1lc3NhZ2UoJ1BB
U1MnKTsiCisgICAgICAgICAifSBlbHNlIHsiCisgICAgICAgICAiICAgIHdpbmRvdy53ZWJraXQu
bWVzc2FnZUhhbmRsZXJzLmhhbmRsZXJUb1Bvc3QucG9zdE1lc3NhZ2UoJ0ZBSUwnKTsiCisgICAg
ICAgICAifSIgY29tcGxldGlvbkhhbmRsZXI6bmlsXTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnJ1bigmcmVjZWl2ZWRTY3JpcHRNZXNzYWdlKTsKKyAgICByZWNlaXZlZFNjcmlwdE1lc3Nh
Z2UgPSBmYWxzZTsKKworICAgIEVYUEVDVF9XS19TVFJFUShAIlBBU1MiLCAoTlNTdHJpbmcgKilb
bGFzdFNjcmlwdE1lc3NhZ2UgYm9keV0pOworCisgICAgW3VzZXJDb250ZW50Q29udHJvbGxlciBy
ZW1vdmVTY3JpcHRNZXNzYWdlSGFuZGxlckZvck5hbWU6QCJoYW5kbGVyVG9SZW1vdmUiXTsKKwor
ICAgIC8vIFRlc3QgdGhhdCBoYW5kbGVyVG9SZW1vdmUgaGFzIGJlZW4gcmVtb3ZlZC4KKyAgICBb
d2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6CisgICAgICAgIEAiaWYgKHdpbmRvdy53ZWJraXQu
bWVzc2FnZUhhbmRsZXJzLmhhbmRsZXJUb1JlbW92ZSkgeyIKKyAgICAgICAgICIgICAgd2luZG93
LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuaGFuZGxlclRvUG9zdC5wb3N0TWVzc2FnZSgnRkFJTCcp
OyIKKyAgICAgICAgICJ9IGVsc2UgeyIKKyAgICAgICAgICIgICAgd2luZG93LndlYmtpdC5tZXNz
YWdlSGFuZGxlcnMuaGFuZGxlclRvUG9zdC5wb3N0TWVzc2FnZSgnUEFTUycpOyIKKyAgICAgICAg
ICJ9IiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6
cnVuKCZyZWNlaXZlZFNjcmlwdE1lc3NhZ2UpOworICAgIHJlY2VpdmVkU2NyaXB0TWVzc2FnZSA9
IGZhbHNlOworCisgICAgRVhQRUNUX1dLX1NUUkVRKEAiUEFTUyIsIChOU1N0cmluZyAqKVtsYXN0
U2NyaXB0TWVzc2FnZSBib2R5XSk7Cit9CisKK1RFU1QoV0tVc2VyQ29udGVudENvbnRyb2xsZXIs
IFNjcmlwdE1lc3NhZ2VIYW5kbGVyQ2FsbFJlbW92ZWRIYW5kbGVyKQoreworICAgIFJldGFpblB0
cjxTY3JpcHRNZXNzYWdlSGFuZGxlcj4gaGFuZGxlciA9IGFkb3B0TlMoW1tTY3JpcHRNZXNzYWdl
SGFuZGxlciBhbGxvY10gaW5pdF0pOworICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0
aW9uPiBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxs
b2NdIGluaXRdKTsKKyAgICBSZXRhaW5QdHI8V0tVc2VyQ29udGVudENvbnRyb2xsZXI+IHVzZXJD
b250ZW50Q29udHJvbGxlciA9IFtjb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl07
CisgICAgW3VzZXJDb250ZW50Q29udHJvbGxlciBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5k
bGVyLmdldCgpIG5hbWU6QCJoYW5kbGVyVG9SZW1vdmUiXTsKKyAgICBbdXNlckNvbnRlbnRDb250
cm9sbGVyIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgbmFtZTpAImhhbmRs
ZXJUb1Bvc3QiXTsKKworICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5T
KFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2
MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgUmV0YWluUHRy
PFNpbXBsZU5hdmlnYXRpb25EZWxlZ2F0ZT4gZGVsZWdhdGUgPSBhZG9wdE5TKFtbU2ltcGxlTmF2
aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlv
bkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9
IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxG
b3JSZXNvdXJjZTpAInNpbXBsZSIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpA
IlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6
cmVxdWVzdF07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmlzRG9uZVdpdGhOYXZp
Z2F0aW9uKTsKKworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAInZhciBoYW5kbGVy
VG9SZW1vdmUgPSB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5oYW5kbGVyVG9SZW1vdmU7
IiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOworCisgICAgW3VzZXJDb250ZW50Q29udHJvbGxlciBy
ZW1vdmVTY3JpcHRNZXNzYWdlSGFuZGxlckZvck5hbWU6QCJoYW5kbGVyVG9SZW1vdmUiXTsKKwor
ICAgIC8vIFRlc3QgdGhhdCB3ZSB0aHJvdyBhbiBleGNlcHRpb24gaWYgeW91IHRyeSB0byB1c2Ug
YSBtZXNzYWdlIGhhbmRsZXIgdGhhdCBoYXMgYmVlbiByZW1vdmVkLgorICAgIFt3ZWJWaWV3IGV2
YWx1YXRlSmF2YVNjcmlwdDoKKyAgICAgICAgQCJ0cnkgeyIKKyAgICAgICAgICIgICAgaGFuZGxl
clRvUmVtb3ZlLnBvc3RNZXNzYWdlKCdGQUlMJyk7IgorICAgICAgICAgIn0gY2F0Y2ggKGUpIHsi
CisgICAgICAgICAiICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLmhhbmRsZXJUb1Bv
c3QucG9zdE1lc3NhZ2UoJ1BBU1MnKTsiCisgICAgICAgICAifSIgY29tcGxldGlvbkhhbmRsZXI6
bmlsXTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRTY3JpcHRNZXNz
YWdlKTsKKyAgICByZWNlaXZlZFNjcmlwdE1lc3NhZ2UgPSBmYWxzZTsKKworICAgIEVYUEVDVF9X
S19TVFJFUShAIlBBU1MiLCAoTlNTdHJpbmcgKilbbGFzdFNjcmlwdE1lc3NhZ2UgYm9keV0pOwor
fQorCiAjaWYgIVBMQVRGT1JNKElPUykgLy8gRklYTUU6IGhhbmdzIGluIHRoZSBpT1Mgc2ltdWxh
dG9yCiBURVNUKFdLVXNlckNvbnRlbnRDb250cm9sbGVyLCBTY3JpcHRNZXNzYWdlSGFuZGxlcldp
dGhOYXZpZ2F0aW9uKQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253668</attachid>
            <date>2015-05-24 13:49:07 -0700</date>
            <delta_ts>2015-05-24 14:05:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145359-20150524134858.patch</filename>
            <type>text/plain</type>
            <size>15013</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE1LTA1LTI0ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiB1c2luZyBhIHJlbW92
ZWQgU2NyaXB0TWVzc2FnZUhhbmRsZXIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIwODg4NDk5
PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzU5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
dGVzdHM6CisgICAgICAgICAgICBXS1VzZXJDb250ZW50Q29udHJvbGxlci5TY3JpcHRNZXNzYWdl
SGFuZGxlckJhc2ljUmVtb3ZlCisgICAgICAgICAgICBXS1VzZXJDb250ZW50Q29udHJvbGxlci5T
Y3JpcHRNZXNzYWdlSGFuZGxlckNhbGxSZW1vdmVkSGFuZGxlcgorCisgICAgICAgICogcGFnZS9V
c2VyTWVzc2FnZUhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5k
bGVyOjp+VXNlck1lc3NhZ2VIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZXNzYWdl
SGFuZGxlcjo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5k
bGVyOjpuYW1lKToKKyAgICAgICAgKiBwYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5oOgorICAgICAg
ICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5kbGVyOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uv
VXNlck1lc3NhZ2VIYW5kbGVyLmlkbDoKKyAgICAgICAgKiBwYWdlL1VzZXJNZXNzYWdlSGFuZGxl
ckRlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5kbGVyRGVz
Y3JpcHRvcjo6VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcik6CisgICAgICAgICogcGFnZS9V
c2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpVc2VyTWVz
c2FnZUhhbmRsZXJEZXNjcmlwdG9yOjpjbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1l
c3NhZ2VIYW5kbGVyRGVzY3JpcHRvcjo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBpbnZhbGlkYXRpbmcgdGhlIGRlc2NyaXB0b3IgYW5kIHRocm93IGFuIGV4Y2Vw
dGlvbiBpZiBzb21lb25lIHRyaWVzCisgICAgICAgIHRvIHBvc3QgYSBtZXNzYWdlIHVzaW5nIGFu
IGludmFsaWRhdGVkIGRlc2NyaXB0b3IuCisKKyAgICAgICAgKiBwYWdlL1VzZXJNZXNzYWdlSGFu
ZGxlcnNOYW1lc3BhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5kbGVy
c05hbWVzcGFjZTo6aGFuZGxlcik6CisgICAgICAgIEFkZCBsb2dpYyB0byByZW1vdmUgbWVzc2Fn
ZSBoYW5kbGVycyBpZiB0aGVpciBkZXNjcmlwdG9yIGhhcyBiZWVuIGludmFsaWRhdGVkLgorCiAy
MDE1LTA1LTI0ICBIdW5zZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KIAogICAg
ICAgICBVc2UgbW9kZXJuIGZvci1sb29wcyBpbiBXZWJDb3JlL3N2Zy4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQ3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUN1c3RvbS5jcHAJKHJl
dmlzaW9uIDE4NDg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0
RE9NQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNyArODYsMTEgQEAgZ2Jvb2xlYW4g
d2Via2l0X2RvbV9kb21fd2luZG93X3dlYmtpdF9tZQogICAgICAgICByZXR1cm4gRkFMU0U7CiAK
ICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Ci0gICAgaGFuZGxlci0+
cG9zdE1lc3NhZ2UoV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoU3RyaW5n
Ojpmcm9tVVRGOChtZXNzYWdlKSkpOworICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAw
OworICAgIGhhbmRsZXItPnBvc3RNZXNzYWdlKFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6Y3JlYXRlKFN0cmluZzo6ZnJvbVVURjgobWVzc2FnZSkpLCBlYyk7CisgICAgaWYgKGVjKQor
ICAgICAgICByZXR1cm4gRkFMU0U7CisKICAgICByZXR1cm4gVFJVRTsKIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyLmNwcAkocmV2aXNpb24gMTg0ODQ0
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoVVNFUl9NRVNTQUdFX0hBTkRM
RVJTKQogCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAKQEAgLTQzLDkgKzQ0LDE2IEBAIFVz
ZXJNZXNzYWdlSGFuZGxlcjo6flVzZXJNZXNzYWdlSGFuZGxlcigKIHsKIH0KIAotdm9pZCBVc2Vy
TWVzc2FnZUhhbmRsZXI6OnBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiB2YWx1ZSkKK3ZvaWQgVXNlck1lc3NhZ2VIYW5kbGVyOjpwb3N0TWVzc2FnZShQYXNzUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewot
ICAgIG1fZGVzY3JpcHRvci0+Y2xpZW50KCkuZGlkUG9zdE1lc3NhZ2UoKnRoaXMsIHZhbHVlLmdl
dCgpKTsKKyAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhlIGRlc2NyaXB0b3IgaGFzIGJlZW4gcmVt
b3ZlZC4gVGhpcyBjYW4gaGFwcGVuIGlmIHRoZSBob3N0IGFwcGxpY2F0aW9uIGhhcworICAgIC8v
IHJlbW92ZWQgdGhlIG5hbWVkIG1lc3NhZ2UgaGFuZGxlciBhdCB0aGUgV2ViS2l0MiBBUEkgbGV2
ZWwuCisgICAgaWYgKCFtX2Rlc2NyaXB0b3ItPmNsaWVudCgpKSB7CisgICAgICAgIGVjID0gSU5W
QUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9kZXNjcmlw
dG9yLT5jbGllbnQoKS0+ZGlkUG9zdE1lc3NhZ2UoKnRoaXMsIHZhbHVlLmdldCgpKTsKIH0KIAog
Y29uc3QgQXRvbWljU3RyaW5nJiBVc2VyTWVzc2FnZUhhbmRsZXI6Om5hbWUoKQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5oCShyZXZpc2lvbiAxODQ4NDQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zNCw2ICszNCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAordHlwZWRlZiBpbnQg
RXhjZXB0aW9uQ29kZTsKKwogY2xhc3MgVXNlck1lc3NhZ2VIYW5kbGVyIDogcHVibGljIFJlZkNv
dW50ZWQ8VXNlck1lc3NhZ2VIYW5kbGVyPiwgcHVibGljIEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZl
ciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxVc2VyTWVzc2FnZUhhbmRsZXI+IGNyZWF0ZShG
cmFtZSYgZnJhbWUsIFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCkBA
IC00Miw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgdmlydHVhbCB+VXNlck1lc3NhZ2VI
YW5kbGVyKCk7CiAKLSAgICB2b2lkIHBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPik7CisgICAgdm9pZCBwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4sIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
bmFtZSgpOwogICAgIERPTVdyYXBwZXJXb3JsZCYgd29ybGQoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5pZGwJKHJldmlzaW9uIDE4NDg0NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjYsNSArMjYsNSBAQAogWwogICAgIENvbmRpdGlvbmFsPVVTRVJfTUVTU0FHRV9IQU5ETEVS
UwogXSBpbnRlcmZhY2UgVXNlck1lc3NhZ2VIYW5kbGVyIHsKLSAgICB2b2lkIHBvc3RNZXNzYWdl
KFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBtZXNzYWdlKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSB2
b2lkIHBvc3RNZXNzYWdlKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBtZXNzYWdlKTsKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3Jp
cHRvci5jcHAJKHJldmlzaW9uIDE4NDg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1l
c3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcjo6VXNl
ck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcihjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIERPTVdy
YXBwZXJXb3JsZCYgd29ybGQsIENsaWVudCYgY2xpZW50KQogICAgIDogbV9uYW1lKG5hbWUpCiAg
ICAgLCBtX3dvcmxkKHdvcmxkKQotICAgICwgbV9jbGllbnQoY2xpZW50KQorICAgICwgbV9jbGll
bnQoJmNsaWVudCkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2Fn
ZUhhbmRsZXJEZXNjcmlwdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9V
c2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmgJKHJldmlzaW9uIDE4NDg0NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5oCSh3b3JraW5nIGNv
cHkpCkBAIC01NiwxNSArNTYsMTYgQEAgcHVibGljOgogCiAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBuYW1lKCk7CiAgICAgRE9NV3JhcHBlcldvcmxkJiB3b3JsZCgpOwotICAgIAotICAgIENsaWVu
dCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KKworICAgIENsaWVudCogY2xp
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KKyAgICB2b2lkIGludmFsaWRhdGVDbGll
bnQoKSB7IG1fY2xpZW50ID0gbnVsbHB0cjsgfQogCiBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQ
T1JUIGV4cGxpY2l0IFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IoY29uc3QgQXRvbWljU3Ry
aW5nJiwgRE9NV3JhcHBlcldvcmxkJiwgQ2xpZW50Jik7Ci0gICAgCisKICAgICBBdG9taWNTdHJp
bmcgbV9uYW1lOwogICAgIFJlZjxET01XcmFwcGVyV29ybGQ+IG1fd29ybGQ7Ci0gICAgQ2xpZW50
JiBtX2NsaWVudDsKKyAgICBDbGllbnQqIG1fY2xpZW50OwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXJzTmFt
ZXNwYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdl
SGFuZGxlcnNOYW1lc3BhY2UuY3BwCShyZXZpc2lvbiAxODQ4NDQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00NiwxMyArNDYsNiBAQCBVc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlOjp+VXNlck1lc3Nh
CiAKIFVzZXJNZXNzYWdlSGFuZGxlciogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZTo6aGFu
ZGxlcihjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIERPTVdyYXBwZXJXb3JsZCYgd29ybGQpCiB7
Ci0gICAgLy8gRmlyc3QsIGNoZWNrIGlmIHdlIGhhdmUgYSBoYW5kbGVyIGluc3RhbmNlIGFscmVh
ZHkuCi0gICAgZm9yIChhdXRvJiBoYW5kbGVyIDogbV9tZXNzYWdlSGFuZGxlcnMpIHsKLSAgICAg
ICAgaWYgKGhhbmRsZXItPm5hbWUoKSA9PSBuYW1lICYmICZoYW5kbGVyLT53b3JsZCgpID09ICZ3
b3JsZCkKLSAgICAgICAgICAgIHJldHVybiAmaGFuZGxlci5nZXQoKTsKLSAgICB9Ci0KLSAgICAv
LyBTZWNvbmQsIGF0dGVtcHQgdG8gY3JlYXRlIGEgaGFuZGxlciBpbnN0YW5jZSBmcm9tIGEgZGVz
Y3JpcHRvci4KICAgICBpZiAoIWZyYW1lKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCkBA
IC02OSw4ICs2MiwxNyBAQCBVc2VyTWVzc2FnZUhhbmRsZXIqIFVzZXJNZXNzYWdlSGFuZGxlcnNO
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgUmVmUHRyPFVzZXJNZXNzYWdlSGFuZGxl
ckRlc2NyaXB0b3I+IGRlc2NyaXB0b3IgPSB1c2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9ycy0+
Z2V0KHN0ZDo6bWFrZV9wYWlyKG5hbWUsICZ3b3JsZCkpOwotICAgIGlmICghZGVzY3JpcHRvcikK
KyAgICBpZiAoIWRlc2NyaXB0b3IpIHsKKyAgICAgICAgbV9tZXNzYWdlSGFuZGxlcnMucmVtb3Zl
Rmlyc3RNYXRjaGluZyhbJm5hbWUsICZ3b3JsZF0oUmVmPFVzZXJNZXNzYWdlSGFuZGxlcj4mIGhh
bmRsZXIpIHsKKyAgICAgICAgICAgIHJldHVybiBoYW5kbGVyLT5uYW1lKCkgPT0gbmFtZSAmJiAm
aGFuZGxlci0+d29ybGQoKSA9PSAmd29ybGQ7CisgICAgICAgIH0pOwogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICB9CisKKyAgICBmb3IgKGF1dG8mIGhhbmRsZXIgOiBtX21lc3NhZ2VIYW5k
bGVycykgeworICAgICAgICBpZiAoaGFuZGxlci0+bmFtZSgpID09IG5hbWUgJiYgJmhhbmRsZXIt
PndvcmxkKCkgPT0gJndvcmxkKQorICAgICAgICAgICAgcmV0dXJuICZoYW5kbGVyLmdldCgpOwor
ICAgIH0KIAogICAgIG1fbWVzc2FnZUhhbmRsZXJzLmFwcGVuZChVc2VyTWVzc2FnZUhhbmRsZXI6
OmNyZWF0ZSgqZnJhbWUoKSwgKmRlc2NyaXB0b3IpKTsKICAgICByZXR1cm4gJm1fbWVzc2FnZUhh
bmRsZXJzLmxhc3QoKS5nZXQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDg0NCkKKysr
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDE1LTA1LTI0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jh
c2ggd2hlbiB1c2luZyBhIHJlbW92ZWQgU2NyaXB0TWVzc2FnZUhhbmRsZXIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIwODg4NDk5PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ1MzU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVzZXJNZXNzYWdlSGFuZGxlckRlc2Ny
aXB0b3JQcm94eTo6fldlYlVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3JQcm94eSk6CisgICAg
ICAgIEludmFsaWRhdGUgdGhlIGRlc2NyaXB0b3Igd2hlbiB0aGUgbWVzc2FnZSBoYW5kbGVyIGNs
aWVudCAoYXMgaW1wbGVtZW50ZWQgYnkgV2ViVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvclBy
b3h5KQorICAgICAgICBnb2VzIGF3YXkuIFRoaXMgd2lsbCBoYXBwZW4gaWYgYSBzY3JpcHQgbWVz
c2FnZSBoYW5kbGVyIGlzIHJlbW92ZWQgYXQgdGhlIEFQSSBsZXZlbCBvciB0aGUgV2ViVXNlckNv
bnRlbnRDb250cm9sbGVyCisgICAgICAgIGlzIGRlc3Ryb3llZCAod2hpY2ggd2lsbCBoYXBwZW4g
aWYgYWxsIHRoZSBwYWdlcyBnZXQgZGVzdHJveWVkKS4KKwogMjAxNS0wNS0yMyAgRGFuIEJlcm5z
dGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTA5MDMy
Nz4gL1MvTC9Qcml2YXRlRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrIGlzIG1pc3NpbmcgSGVh
ZGVycyBhbmQgUHJpdmF0ZUhlYWRlcnMgc3ltbGlua3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250
ZW50Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDE4NDg0NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTE3LDYgKzExNyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfldlYlVz
ZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3JQcm94eSgpCiAgICAgeworICAgICAgICBtX2Rlc2Ny
aXB0b3ItPmludmFsaWRhdGVDbGllbnQoKTsKICAgICB9CiAKICAgICAvLyBXZWJDb3JlOjpVc2Vy
TWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yOjpDbGllbnQKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDg0NCkKKysrIFRvb2xz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA1LTI0ICBT
YW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiB1c2luZyBh
IHJlbW92ZWQgU2NyaXB0TWVzc2FnZUhhbmRsZXIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIw
ODg4NDk5PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ1MzU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Vc2VyQ29udGVudENvbnRyb2xsZXIu
bW06CisgICAgICAgIEFkZCB0ZXN0cyBmb3IgcmVtb3Zpbmcgc2NyaXB0IG1lc3NhZ2UgaGFuZGxl
cnMuCisKIDIwMTUtMDUtMjMgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+
CiAKICAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJbXBsIHRv
IHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCkluZGV4OiBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Vc2VyQ29udGVudENvbnRyb2xs
ZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCShyZXZpc2lvbiAxODQ4NDQpCisrKyBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Vc2VyQ29udGVudENvbnRyb2xsZXIubW0J
KHdvcmtpbmcgY29weSkKQEAgLTYyLDcgKzYyLDcgQEAgLSAodm9pZCl1c2VyQ29udGVudENvbnRy
b2xsZXI6KFdLVXNlckNvbgogCiBAZW5kCiAKLVRFU1QoV0tVc2VyQ29udGVudENvbnRyb2xsZXIs
IFNjcmlwdE1lc3NhZ2VIYW5kbGVyU2ltcGxlKQorVEVTVChXS1VzZXJDb250ZW50Q29udHJvbGxl
ciwgU2NyaXB0TWVzc2FnZUhhbmRsZXJCYXNpY1Bvc3QpCiB7CiAgICAgUmV0YWluUHRyPFNjcmlw
dE1lc3NhZ2VIYW5kbGVyPiBoYW5kbGVyID0gYWRvcHROUyhbW1NjcmlwdE1lc3NhZ2VIYW5kbGVy
IGFsbG9jXSBpbml0XSk7CiAgICAgUmV0YWluUHRyPFdLV2ViVmlld0NvbmZpZ3VyYXRpb24+IGNv
bmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5p
dF0pOwpAQCAtODcsNiArODcsOTEgQEAgVEVTVChXS1VzZXJDb250ZW50Q29udHJvbGxlciwgU2Ny
aXB0TWVzcwogICAgIEVYUEVDVF9XS19TVFJFUShAIkhlbGxvIiwgKE5TU3RyaW5nICopW2xhc3RT
Y3JpcHRNZXNzYWdlIGJvZHldKTsKIH0KIAorVEVTVChXS1VzZXJDb250ZW50Q29udHJvbGxlciwg
U2NyaXB0TWVzc2FnZUhhbmRsZXJCYXNpY1JlbW92ZSkKK3sKKyAgICBSZXRhaW5QdHI8U2NyaXB0
TWVzc2FnZUhhbmRsZXI+IGhhbmRsZXIgPSBhZG9wdE5TKFtbU2NyaXB0TWVzc2FnZUhhbmRsZXIg
YWxsb2NdIGluaXRdKTsKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29u
ZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0
XSk7CisgICAgUmV0YWluUHRyPFdLVXNlckNvbnRlbnRDb250cm9sbGVyPiB1c2VyQ29udGVudENv
bnRyb2xsZXIgPSBbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdOworICAgIFt1
c2VyQ29udGVudENvbnRyb2xsZXIgYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6aGFuZGxlci5nZXQo
KSBuYW1lOkAiaGFuZGxlclRvUmVtb3ZlIl07CisgICAgW3VzZXJDb250ZW50Q29udHJvbGxlciBh
ZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5kbGVyLmdldCgpIG5hbWU6QCJoYW5kbGVyVG9Qb3N0
Il07CisKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25m
aWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIFJldGFpblB0cjxTaW1wbGVO
YXZpZ2F0aW9uRGVsZWdhdGU+IGRlbGVnYXRlID0gYWRvcHROUyhbW1NpbXBsZU5hdmlnYXRpb25E
ZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0
ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxS
ZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3Vy
Y2U6QCJzaW1wbGUiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2Vi
S2l0QVBJLnJlc291cmNlcyJdXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3Rd
OworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZpc0RvbmVXaXRoTmF2aWdhdGlvbik7
CisKKyAgICAvLyBUZXN0IHRoYXQgaGFuZGxlclRvUmVtb3ZlIHdhcyBzdWNjZXNmdWxseSBhZGRl
ZC4KKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6CisgICAgICAgIEAiaWYgKHdpbmRv
dy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLmhhbmRsZXJUb1JlbW92ZSkgeyIKKyAgICAgICAgICIg
ICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuaGFuZGxlclRvUG9zdC5wb3N0TWVzc2Fn
ZSgnUEFTUycpOyIKKyAgICAgICAgICJ9IGVsc2UgeyIKKyAgICAgICAgICIgICAgd2luZG93Lndl
YmtpdC5tZXNzYWdlSGFuZGxlcnMuaGFuZGxlclRvUG9zdC5wb3N0TWVzc2FnZSgnRkFJTCcpOyIK
KyAgICAgICAgICJ9IiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOworCisgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZyZWNlaXZlZFNjcmlwdE1lc3NhZ2UpOworICAgIHJlY2VpdmVkU2NyaXB0
TWVzc2FnZSA9IGZhbHNlOworCisgICAgRVhQRUNUX1dLX1NUUkVRKEAiUEFTUyIsIChOU1N0cmlu
ZyAqKVtsYXN0U2NyaXB0TWVzc2FnZSBib2R5XSk7CisKKyAgICBbdXNlckNvbnRlbnRDb250cm9s
bGVyIHJlbW92ZVNjcmlwdE1lc3NhZ2VIYW5kbGVyRm9yTmFtZTpAImhhbmRsZXJUb1JlbW92ZSJd
OworCisgICAgLy8gVGVzdCB0aGF0IGhhbmRsZXJUb1JlbW92ZSBoYXMgYmVlbiByZW1vdmVkLgor
ICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDoKKyAgICAgICAgQCJpZiAod2luZG93Lndl
YmtpdC5tZXNzYWdlSGFuZGxlcnMuaGFuZGxlclRvUmVtb3ZlKSB7IgorICAgICAgICAgIiAgICB3
aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5oYW5kbGVyVG9Qb3N0LnBvc3RNZXNzYWdlKCdG
QUlMJyk7IgorICAgICAgICAgIn0gZWxzZSB7IgorICAgICAgICAgIiAgICB3aW5kb3cud2Via2l0
Lm1lc3NhZ2VIYW5kbGVycy5oYW5kbGVyVG9Qb3N0LnBvc3RNZXNzYWdlKCdQQVNTJyk7IgorICAg
ICAgICAgIn0iIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJnJlY2VpdmVkU2NyaXB0TWVzc2FnZSk7CisgICAgcmVjZWl2ZWRTY3JpcHRNZXNz
YWdlID0gZmFsc2U7CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJQQVNTIiwgKE5TU3RyaW5nICop
W2xhc3RTY3JpcHRNZXNzYWdlIGJvZHldKTsKK30KKworVEVTVChXS1VzZXJDb250ZW50Q29udHJv
bGxlciwgU2NyaXB0TWVzc2FnZUhhbmRsZXJDYWxsUmVtb3ZlZEhhbmRsZXIpCit7CisgICAgUmV0
YWluUHRyPFNjcmlwdE1lc3NhZ2VIYW5kbGVyPiBoYW5kbGVyID0gYWRvcHROUyhbW1NjcmlwdE1l
c3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisgICAgUmV0YWluUHRyPFdLV2ViVmlld0NvbmZp
Z3VyYXRpb24+IGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBhbGxvY10gaW5pdF0pOworICAgIFJldGFpblB0cjxXS1VzZXJDb250ZW50Q29udHJvbGxlcj4g
dXNlckNvbnRlbnRDb250cm9sbGVyID0gW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9s
bGVyXTsKKyAgICBbdXNlckNvbnRlbnRDb250cm9sbGVyIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVy
OmhhbmRsZXIuZ2V0KCkgbmFtZTpAImhhbmRsZXJUb1JlbW92ZSJdOworICAgIFt1c2VyQ29udGVu
dENvbnRyb2xsZXIgYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBuYW1lOkAi
aGFuZGxlclRvUG9zdCJdOworCisgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGFk
b3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4
MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBSZXRh
aW5QdHI8U2ltcGxlTmF2aWdhdGlvbkRlbGVnYXRlPiBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tTaW1w
bGVOYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXROYXZp
Z2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworCisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1
ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVd
IFVSTEZvclJlc291cmNlOkAic2ltcGxlIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0
b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisKKyAgICBbd2ViVmlldyBsb2FkUmVx
dWVzdDpyZXF1ZXN0XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lV2l0
aE5hdmlnYXRpb24pOworCisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAidmFyIGhh
bmRsZXJUb1JlbW92ZSA9IHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLmhhbmRsZXJUb1Jl
bW92ZTsiIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CisKKyAgICBbdXNlckNvbnRlbnRDb250cm9s
bGVyIHJlbW92ZVNjcmlwdE1lc3NhZ2VIYW5kbGVyRm9yTmFtZTpAImhhbmRsZXJUb1JlbW92ZSJd
OworCisgICAgLy8gVGVzdCB0aGF0IHdlIHRocm93IGFuIGV4Y2VwdGlvbiBpZiB5b3UgdHJ5IHRv
IHVzZSBhIG1lc3NhZ2UgaGFuZGxlciB0aGF0IGhhcyBiZWVuIHJlbW92ZWQuCisgICAgW3dlYlZp
ZXcgZXZhbHVhdGVKYXZhU2NyaXB0OgorICAgICAgICBAInRyeSB7IgorICAgICAgICAgIiAgICBo
YW5kbGVyVG9SZW1vdmUucG9zdE1lc3NhZ2UoJ0ZBSUwnKTsiCisgICAgICAgICAifSBjYXRjaCAo
ZSkgeyIKKyAgICAgICAgICIgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuaGFuZGxl
clRvUG9zdC5wb3N0TWVzc2FnZSgnUEFTUycpOyIKKyAgICAgICAgICJ9IiBjb21wbGV0aW9uSGFu
ZGxlcjpuaWxdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZlZFNjcmlw
dE1lc3NhZ2UpOworICAgIHJlY2VpdmVkU2NyaXB0TWVzc2FnZSA9IGZhbHNlOworCisgICAgRVhQ
RUNUX1dLX1NUUkVRKEAiUEFTUyIsIChOU1N0cmluZyAqKVtsYXN0U2NyaXB0TWVzc2FnZSBib2R5
XSk7Cit9CisKICNpZiAhUExBVEZPUk0oSU9TKSAvLyBGSVhNRTogaGFuZ3MgaW4gdGhlIGlPUyBz
aW11bGF0b3IKIFRFU1QoV0tVc2VyQ29udGVudENvbnRyb2xsZXIsIFNjcmlwdE1lc3NhZ2VIYW5k
bGVyV2l0aE5hdmlnYXRpb24pCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253669</attachid>
            <date>2015-05-24 14:05:10 -0700</date>
            <delta_ts>2015-05-24 16:20:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145359-20150524140501.patch</filename>
            <type>text/plain</type>
            <size>16030</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE1LTA1LTI0ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiB1c2luZyBhIHJlbW92
ZWQgU2NyaXB0TWVzc2FnZUhhbmRsZXIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIwODg4NDk5
PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MzU5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
dGVzdHM6CisgICAgICAgICAgICBXS1VzZXJDb250ZW50Q29udHJvbGxlci5TY3JpcHRNZXNzYWdl
SGFuZGxlckJhc2ljUmVtb3ZlCisgICAgICAgICAgICBXS1VzZXJDb250ZW50Q29udHJvbGxlci5T
Y3JpcHRNZXNzYWdlSGFuZGxlckNhbGxSZW1vdmVkSGFuZGxlcgorCisgICAgICAgICogcGFnZS9V
c2VyTWVzc2FnZUhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5k
bGVyOjp+VXNlck1lc3NhZ2VIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZXNzYWdl
SGFuZGxlcjo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5k
bGVyOjpuYW1lKToKKyAgICAgICAgKiBwYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5oOgorICAgICAg
ICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5kbGVyOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uv
VXNlck1lc3NhZ2VIYW5kbGVyLmlkbDoKKyAgICAgICAgKiBwYWdlL1VzZXJNZXNzYWdlSGFuZGxl
ckRlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5kbGVyRGVz
Y3JpcHRvcjo6VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcik6CisgICAgICAgICogcGFnZS9V
c2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpVc2VyTWVz
c2FnZUhhbmRsZXJEZXNjcmlwdG9yOjpjbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1l
c3NhZ2VIYW5kbGVyRGVzY3JpcHRvcjo6aW52YWxpZGF0ZUNsaWVudCk6CisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBpbnZhbGlkYXRpbmcgdGhlIGRlc2NyaXB0b3IgYW5kIHRocm93IGFuIGV4Y2Vw
dGlvbiBpZiBzb21lb25lIHRyaWVzCisgICAgICAgIHRvIHBvc3QgYSBtZXNzYWdlIHVzaW5nIGFu
IGludmFsaWRhdGVkIGRlc2NyaXB0b3IuCisKKyAgICAgICAgKiBwYWdlL1VzZXJNZXNzYWdlSGFu
ZGxlcnNOYW1lc3BhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lc3NhZ2VIYW5kbGVy
c05hbWVzcGFjZTo6aGFuZGxlcik6CisgICAgICAgIEFkZCBsb2dpYyB0byByZW1vdmUgbWVzc2Fn
ZSBoYW5kbGVycyBpZiB0aGVpciBkZXNjcmlwdG9yIGhhcyBiZWVuIGludmFsaWRhdGVkLgorCiAy
MDE1LTA1LTI0ICBIdW5zZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KIAogICAg
ICAgICBVc2UgbW9kZXJuIGZvci1sb29wcyBpbiBXZWJDb3JlL3N2Zy4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQ3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUN1c3RvbS5jcHAJKHJl
dmlzaW9uIDE4NDg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0
RE9NQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNyArODYsMTEgQEAgZ2Jvb2xlYW4g
d2Via2l0X2RvbV9kb21fd2luZG93X3dlYmtpdF9tZQogICAgICAgICByZXR1cm4gRkFMU0U7CiAK
ICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7Ci0gICAgaGFuZGxlci0+
cG9zdE1lc3NhZ2UoV2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUoU3RyaW5n
Ojpmcm9tVVRGOChtZXNzYWdlKSkpOworICAgIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUgZWMgPSAw
OworICAgIGhhbmRsZXItPnBvc3RNZXNzYWdlKFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6Y3JlYXRlKFN0cmluZzo6ZnJvbVVURjgobWVzc2FnZSkpLCBlYyk7CisgICAgaWYgKGVjKQor
ICAgICAgICByZXR1cm4gRkFMU0U7CisKICAgICByZXR1cm4gVFJVRTsKIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyLmNwcAkocmV2aXNpb24gMTg0ODQ0
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoVVNFUl9NRVNTQUdFX0hBTkRM
RVJTKQogCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAKQEAgLTQzLDkgKzQ0LDE2IEBAIFVz
ZXJNZXNzYWdlSGFuZGxlcjo6flVzZXJNZXNzYWdlSGFuZGxlcigKIHsKIH0KIAotdm9pZCBVc2Vy
TWVzc2FnZUhhbmRsZXI6OnBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiB2YWx1ZSkKK3ZvaWQgVXNlck1lc3NhZ2VIYW5kbGVyOjpwb3N0TWVzc2FnZShQYXNzUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewot
ICAgIG1fZGVzY3JpcHRvci0+Y2xpZW50KCkuZGlkUG9zdE1lc3NhZ2UoKnRoaXMsIHZhbHVlLmdl
dCgpKTsKKyAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhlIGRlc2NyaXB0b3IgaGFzIGJlZW4gcmVt
b3ZlZC4gVGhpcyBjYW4gaGFwcGVuIGlmIHRoZSBob3N0IGFwcGxpY2F0aW9uIGhhcworICAgIC8v
IHJlbW92ZWQgdGhlIG5hbWVkIG1lc3NhZ2UgaGFuZGxlciBhdCB0aGUgV2ViS2l0MiBBUEkgbGV2
ZWwuCisgICAgaWYgKCFtX2Rlc2NyaXB0b3ItPmNsaWVudCgpKSB7CisgICAgICAgIGVjID0gSU5W
QUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9kZXNjcmlw
dG9yLT5jbGllbnQoKS0+ZGlkUG9zdE1lc3NhZ2UoKnRoaXMsIHZhbHVlLmdldCgpKTsKIH0KIAog
Y29uc3QgQXRvbWljU3RyaW5nJiBVc2VyTWVzc2FnZUhhbmRsZXI6Om5hbWUoKQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5oCShyZXZpc2lvbiAxODQ4NDQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zNCw2ICszNCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAordHlwZWRlZiBpbnQg
RXhjZXB0aW9uQ29kZTsKKwogY2xhc3MgVXNlck1lc3NhZ2VIYW5kbGVyIDogcHVibGljIFJlZkNv
dW50ZWQ8VXNlck1lc3NhZ2VIYW5kbGVyPiwgcHVibGljIEZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZl
ciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxVc2VyTWVzc2FnZUhhbmRsZXI+IGNyZWF0ZShG
cmFtZSYgZnJhbWUsIFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCkBA
IC00Miw3ICs0NCw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgdmlydHVhbCB+VXNlck1lc3NhZ2VI
YW5kbGVyKCk7CiAKLSAgICB2b2lkIHBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPik7CisgICAgdm9pZCBwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4sIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
bmFtZSgpOwogICAgIERPTVdyYXBwZXJXb3JsZCYgd29ybGQoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlci5pZGwJKHJldmlzaW9uIDE4NDg0NCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjYsNSArMjYsNSBAQAogWwogICAgIENvbmRpdGlvbmFsPVVTRVJfTUVTU0FHRV9IQU5ETEVS
UwogXSBpbnRlcmZhY2UgVXNlck1lc3NhZ2VIYW5kbGVyIHsKLSAgICB2b2lkIHBvc3RNZXNzYWdl
KFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBtZXNzYWdlKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSB2
b2lkIHBvc3RNZXNzYWdlKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSBtZXNzYWdlKTsKIH07CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3Jp
cHRvci5jcHAJKHJldmlzaW9uIDE4NDg0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1l
c3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcjo6VXNl
ck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcihjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIERPTVdy
YXBwZXJXb3JsZCYgd29ybGQsIENsaWVudCYgY2xpZW50KQogICAgIDogbV9uYW1lKG5hbWUpCiAg
ICAgLCBtX3dvcmxkKHdvcmxkKQotICAgICwgbV9jbGllbnQoY2xpZW50KQorICAgICwgbV9jbGll
bnQoJmNsaWVudCkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2Fn
ZUhhbmRsZXJEZXNjcmlwdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9V
c2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmgJKHJldmlzaW9uIDE4NDg0NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5oCSh3b3JraW5nIGNv
cHkpCkBAIC01NiwxNSArNTYsMTYgQEAgcHVibGljOgogCiAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBuYW1lKCk7CiAgICAgRE9NV3JhcHBlcldvcmxkJiB3b3JsZCgpOwotICAgIAotICAgIENsaWVu
dCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KKworICAgIENsaWVudCogY2xp
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KKyAgICB2b2lkIGludmFsaWRhdGVDbGll
bnQoKSB7IG1fY2xpZW50ID0gbnVsbHB0cjsgfQogCiBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQ
T1JUIGV4cGxpY2l0IFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IoY29uc3QgQXRvbWljU3Ry
aW5nJiwgRE9NV3JhcHBlcldvcmxkJiwgQ2xpZW50Jik7Ci0gICAgCisKICAgICBBdG9taWNTdHJp
bmcgbV9uYW1lOwogICAgIFJlZjxET01XcmFwcGVyV29ybGQ+IG1fd29ybGQ7Ci0gICAgQ2xpZW50
JiBtX2NsaWVudDsKKyAgICBDbGllbnQqIG1fY2xpZW50OwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXJzTmFt
ZXNwYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdl
SGFuZGxlcnNOYW1lc3BhY2UuY3BwCShyZXZpc2lvbiAxODQ4NDQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00NiwxMyArNDYsNiBAQCBVc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlOjp+VXNlck1lc3Nh
CiAKIFVzZXJNZXNzYWdlSGFuZGxlciogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZTo6aGFu
ZGxlcihjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIERPTVdyYXBwZXJXb3JsZCYgd29ybGQpCiB7
Ci0gICAgLy8gRmlyc3QsIGNoZWNrIGlmIHdlIGhhdmUgYSBoYW5kbGVyIGluc3RhbmNlIGFscmVh
ZHkuCi0gICAgZm9yIChhdXRvJiBoYW5kbGVyIDogbV9tZXNzYWdlSGFuZGxlcnMpIHsKLSAgICAg
ICAgaWYgKGhhbmRsZXItPm5hbWUoKSA9PSBuYW1lICYmICZoYW5kbGVyLT53b3JsZCgpID09ICZ3
b3JsZCkKLSAgICAgICAgICAgIHJldHVybiAmaGFuZGxlci5nZXQoKTsKLSAgICB9Ci0KLSAgICAv
LyBTZWNvbmQsIGF0dGVtcHQgdG8gY3JlYXRlIGEgaGFuZGxlciBpbnN0YW5jZSBmcm9tIGEgZGVz
Y3JpcHRvci4KICAgICBpZiAoIWZyYW1lKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCkBA
IC02OSw4ICs2MiwxNyBAQCBVc2VyTWVzc2FnZUhhbmRsZXIqIFVzZXJNZXNzYWdlSGFuZGxlcnNO
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgUmVmUHRyPFVzZXJNZXNzYWdlSGFuZGxl
ckRlc2NyaXB0b3I+IGRlc2NyaXB0b3IgPSB1c2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9ycy0+
Z2V0KHN0ZDo6bWFrZV9wYWlyKG5hbWUsICZ3b3JsZCkpOwotICAgIGlmICghZGVzY3JpcHRvcikK
KyAgICBpZiAoIWRlc2NyaXB0b3IpIHsKKyAgICAgICAgbV9tZXNzYWdlSGFuZGxlcnMucmVtb3Zl
Rmlyc3RNYXRjaGluZyhbJm5hbWUsICZ3b3JsZF0oUmVmPFVzZXJNZXNzYWdlSGFuZGxlcj4mIGhh
bmRsZXIpIHsKKyAgICAgICAgICAgIHJldHVybiBoYW5kbGVyLT5uYW1lKCkgPT0gbmFtZSAmJiAm
aGFuZGxlci0+d29ybGQoKSA9PSAmd29ybGQ7CisgICAgICAgIH0pOwogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICB9CisKKyAgICBmb3IgKGF1dG8mIGhhbmRsZXIgOiBtX21lc3NhZ2VIYW5k
bGVycykgeworICAgICAgICBpZiAoaGFuZGxlci0+bmFtZSgpID09IG5hbWUgJiYgJmhhbmRsZXIt
PndvcmxkKCkgPT0gJndvcmxkKQorICAgICAgICAgICAgcmV0dXJuICZoYW5kbGVyLmdldCgpOwor
ICAgIH0KIAogICAgIG1fbWVzc2FnZUhhbmRsZXJzLmFwcGVuZChVc2VyTWVzc2FnZUhhbmRsZXI6
OmNyZWF0ZSgqZnJhbWUoKSwgKmRlc2NyaXB0b3IpKTsKICAgICByZXR1cm4gJm1fbWVzc2FnZUhh
bmRsZXJzLmxhc3QoKS5nZXQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDg0NCkKKysr
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDE1LTA1LTI0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jh
c2ggd2hlbiB1c2luZyBhIHJlbW92ZWQgU2NyaXB0TWVzc2FnZUhhbmRsZXIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIwODg4NDk5PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ1MzU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVzZXJNZXNzYWdlSGFuZGxlckRlc2Ny
aXB0b3JQcm94eTo6fldlYlVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3JQcm94eSk6CisgICAg
ICAgIEludmFsaWRhdGUgdGhlIGRlc2NyaXB0b3Igd2hlbiB0aGUgbWVzc2FnZSBoYW5kbGVyIGNs
aWVudCAoYXMgaW1wbGVtZW50ZWQgYnkgV2ViVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvclBy
b3h5KQorICAgICAgICBnb2VzIGF3YXkuIFRoaXMgd2lsbCBoYXBwZW4gaWYgYSBzY3JpcHQgbWVz
c2FnZSBoYW5kbGVyIGlzIHJlbW92ZWQgYXQgdGhlIEFQSSBsZXZlbCBvciB0aGUgV2ViVXNlckNv
bnRlbnRDb250cm9sbGVyCisgICAgICAgIGlzIGRlc3Ryb3llZCAod2hpY2ggd2lsbCBoYXBwZW4g
aWYgYWxsIHRoZSBwYWdlcyBnZXQgZGVzdHJveWVkKS4KKwogMjAxNS0wNS0yMyAgRGFuIEJlcm5z
dGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTA5MDMy
Nz4gL1MvTC9Qcml2YXRlRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrIGlzIG1pc3NpbmcgSGVh
ZGVycyBhbmQgUHJpdmF0ZUhlYWRlcnMgc3ltbGlua3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250
ZW50Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDE4NDg0NCkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTE3LDYgKzExNyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfldlYlVz
ZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3JQcm94eSgpCiAgICAgeworICAgICAgICBtX2Rlc2Ny
aXB0b3ItPmludmFsaWRhdGVDbGllbnQoKTsKICAgICB9CiAKICAgICAvLyBXZWJDb3JlOjpVc2Vy
TWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yOjpDbGllbnQKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDg0NCkKKysrIFRvb2xz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA1LTI0ICBT
YW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jhc2ggd2hlbiB1c2luZyBh
IHJlbW92ZWQgU2NyaXB0TWVzc2FnZUhhbmRsZXIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIw
ODg4NDk5PgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ1MzU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Vc2VyQ29udGVudENvbnRyb2xsZXIu
bW06CisgICAgICAgIEFkZCB0ZXN0cyBmb3IgcmVtb3Zpbmcgc2NyaXB0IG1lc3NhZ2UgaGFuZGxl
cnMuCisKIDIwMTUtMDUtMjMgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+
CiAKICAgICAgICAgSW50cm9kdWNlIFVuaXF1ZWRTdHJpbmdJbXBsIGFuZCBTeW1ib2xJbXBsIHRv
IHNlcGFyYXRlIHN5bWJvbGljIHN0cmluZ3MgZnJvbSBBdG9taWNTdHJpbmdJbXBsCkluZGV4OiBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Vc2VyQ29udGVudENvbnRyb2xs
ZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCShyZXZpc2lvbiAxODQ4NDQpCisrKyBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Vc2VyQ29udGVudENvbnRyb2xsZXIubW0J
KHdvcmtpbmcgY29weSkKQEAgLTYyLDcgKzYyLDcgQEAgLSAodm9pZCl1c2VyQ29udGVudENvbnRy
b2xsZXI6KFdLVXNlckNvbgogCiBAZW5kCiAKLVRFU1QoV0tVc2VyQ29udGVudENvbnRyb2xsZXIs
IFNjcmlwdE1lc3NhZ2VIYW5kbGVyU2ltcGxlKQorVEVTVChXS1VzZXJDb250ZW50Q29udHJvbGxl
ciwgU2NyaXB0TWVzc2FnZUhhbmRsZXJCYXNpY1Bvc3QpCiB7CiAgICAgUmV0YWluUHRyPFNjcmlw
dE1lc3NhZ2VIYW5kbGVyPiBoYW5kbGVyID0gYWRvcHROUyhbW1NjcmlwdE1lc3NhZ2VIYW5kbGVy
IGFsbG9jXSBpbml0XSk7CiAgICAgUmV0YWluUHRyPFdLV2ViVmlld0NvbmZpZ3VyYXRpb24+IGNv
bmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5p
dF0pOwpAQCAtODcsNiArODcsOTEgQEAgVEVTVChXS1VzZXJDb250ZW50Q29udHJvbGxlciwgU2Ny
aXB0TWVzcwogICAgIEVYUEVDVF9XS19TVFJFUShAIkhlbGxvIiwgKE5TU3RyaW5nICopW2xhc3RT
Y3JpcHRNZXNzYWdlIGJvZHldKTsKIH0KIAorVEVTVChXS1VzZXJDb250ZW50Q29udHJvbGxlciwg
U2NyaXB0TWVzc2FnZUhhbmRsZXJCYXNpY1JlbW92ZSkKK3sKKyAgICBSZXRhaW5QdHI8U2NyaXB0
TWVzc2FnZUhhbmRsZXI+IGhhbmRsZXIgPSBhZG9wdE5TKFtbU2NyaXB0TWVzc2FnZUhhbmRsZXIg
YWxsb2NdIGluaXRdKTsKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29u
ZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0
XSk7CisgICAgUmV0YWluUHRyPFdLVXNlckNvbnRlbnRDb250cm9sbGVyPiB1c2VyQ29udGVudENv
bnRyb2xsZXIgPSBbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdOworICAgIFt1
c2VyQ29udGVudENvbnRyb2xsZXIgYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6aGFuZGxlci5nZXQo
KSBuYW1lOkAiaGFuZGxlclRvUmVtb3ZlIl07CisgICAgW3VzZXJDb250ZW50Q29udHJvbGxlciBh
ZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5kbGVyLmdldCgpIG5hbWU6QCJoYW5kbGVyVG9Qb3N0
Il07CisKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25m
aWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIFJldGFpblB0cjxTaW1wbGVO
YXZpZ2F0aW9uRGVsZWdhdGU+IGRlbGVnYXRlID0gYWRvcHROUyhbW1NpbXBsZU5hdmlnYXRpb25E
ZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0
ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxS
ZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3Vy
Y2U6QCJzaW1wbGUiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2Vi
S2l0QVBJLnJlc291cmNlcyJdXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3Rd
OworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZpc0RvbmVXaXRoTmF2aWdhdGlvbik7
CisKKyAgICAvLyBUZXN0IHRoYXQgaGFuZGxlclRvUmVtb3ZlIHdhcyBzdWNjZXNmdWxseSBhZGRl
ZC4KKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6CisgICAgICAgIEAiaWYgKHdpbmRv
dy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLmhhbmRsZXJUb1JlbW92ZSkgeyIKKyAgICAgICAgICIg
ICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuaGFuZGxlclRvUG9zdC5wb3N0TWVzc2Fn
ZSgnUEFTUycpOyIKKyAgICAgICAgICJ9IGVsc2UgeyIKKyAgICAgICAgICIgICAgd2luZG93Lndl
YmtpdC5tZXNzYWdlSGFuZGxlcnMuaGFuZGxlclRvUG9zdC5wb3N0TWVzc2FnZSgnRkFJTCcpOyIK
KyAgICAgICAgICJ9IiBjb21wbGV0aW9uSGFuZGxlcjpuaWxdOworCisgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZyZWNlaXZlZFNjcmlwdE1lc3NhZ2UpOworICAgIHJlY2VpdmVkU2NyaXB0
TWVzc2FnZSA9IGZhbHNlOworCisgICAgRVhQRUNUX1dLX1NUUkVRKEAiUEFTUyIsIChOU1N0cmlu
ZyAqKVtsYXN0U2NyaXB0TWVzc2FnZSBib2R5XSk7CisKKyAgICBbdXNlckNvbnRlbnRDb250cm9s
bGVyIHJlbW92ZVNjcmlwdE1lc3NhZ2VIYW5kbGVyRm9yTmFtZTpAImhhbmRsZXJUb1JlbW92ZSJd
OworCisgICAgLy8gVGVzdCB0aGF0IGhhbmRsZXJUb1JlbW92ZSBoYXMgYmVlbiByZW1vdmVkLgor
ICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDoKKyAgICAgICAgQCJpZiAod2luZG93Lndl
YmtpdC5tZXNzYWdlSGFuZGxlcnMuaGFuZGxlclRvUmVtb3ZlKSB7IgorICAgICAgICAgIiAgICB3
aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy5oYW5kbGVyVG9Qb3N0LnBvc3RNZXNzYWdlKCdG
QUlMJyk7IgorICAgICAgICAgIn0gZWxzZSB7IgorICAgICAgICAgIiAgICB3aW5kb3cud2Via2l0
Lm1lc3NhZ2VIYW5kbGVycy5oYW5kbGVyVG9Qb3N0LnBvc3RNZXNzYWdlKCdQQVNTJyk7IgorICAg
ICAgICAgIn0iIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJnJlY2VpdmVkU2NyaXB0TWVzc2FnZSk7CisgICAgcmVjZWl2ZWRTY3JpcHRNZXNz
YWdlID0gZmFsc2U7CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJQQVNTIiwgKE5TU3RyaW5nICop
W2xhc3RTY3JpcHRNZXNzYWdlIGJvZHldKTsKK30KKworVEVTVChXS1VzZXJDb250ZW50Q29udHJv
bGxlciwgU2NyaXB0TWVzc2FnZUhhbmRsZXJDYWxsUmVtb3ZlZEhhbmRsZXIpCit7CisgICAgUmV0
YWluUHRyPFNjcmlwdE1lc3NhZ2VIYW5kbGVyPiBoYW5kbGVyID0gYWRvcHROUyhbW1NjcmlwdE1l
c3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisgICAgUmV0YWluUHRyPFdLV2ViVmlld0NvbmZp
Z3VyYXRpb24+IGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBhbGxvY10gaW5pdF0pOworICAgIFJldGFpblB0cjxXS1VzZXJDb250ZW50Q29udHJvbGxlcj4g
dXNlckNvbnRlbnRDb250cm9sbGVyID0gW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9s
bGVyXTsKKyAgICBbdXNlckNvbnRlbnRDb250cm9sbGVyIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVy
OmhhbmRsZXIuZ2V0KCkgbmFtZTpAImhhbmRsZXJUb1JlbW92ZSJdOworICAgIFt1c2VyQ29udGVu
dENvbnRyb2xsZXIgYWRkU2NyaXB0TWVzc2FnZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBuYW1lOkAi
aGFuZGxlclRvUG9zdCJdOworCisgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGFk
b3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4
MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBSZXRh
aW5QdHI8U2ltcGxlTmF2aWdhdGlvbkRlbGVnYXRlPiBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tTaW1w
bGVOYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXROYXZp
Z2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworCisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1
ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVd
IFVSTEZvclJlc291cmNlOkAic2ltcGxlIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0
b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisKKyAgICBbd2ViVmlldyBsb2FkUmVx
dWVzdDpyZXF1ZXN0XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lV2l0
aE5hdmlnYXRpb24pOworCisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAidmFyIGhh
bmRsZXJUb1JlbW92ZSA9IHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLmhhbmRsZXJUb1Jl
bW92ZTsiIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CisKKyAgICBbdXNlckNvbnRlbnRDb250cm9s
bGVyIHJlbW92ZVNjcmlwdE1lc3NhZ2VIYW5kbGVyRm9yTmFtZTpAImhhbmRsZXJUb1JlbW92ZSJd
OworCisgICAgLy8gVGVzdCB0aGF0IHdlIHRocm93IGFuIGV4Y2VwdGlvbiBpZiB5b3UgdHJ5IHRv
IHVzZSBhIG1lc3NhZ2UgaGFuZGxlciB0aGF0IGhhcyBiZWVuIHJlbW92ZWQuCisgICAgW3dlYlZp
ZXcgZXZhbHVhdGVKYXZhU2NyaXB0OgorICAgICAgICBAInRyeSB7IgorICAgICAgICAgIiAgICBo
YW5kbGVyVG9SZW1vdmUucG9zdE1lc3NhZ2UoJ0ZBSUwnKTsiCisgICAgICAgICAifSBjYXRjaCAo
ZSkgeyIKKyAgICAgICAgICIgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMuaGFuZGxl
clRvUG9zdC5wb3N0TWVzc2FnZSgnUEFTUycpOyIKKyAgICAgICAgICJ9IiBjb21wbGV0aW9uSGFu
ZGxlcjpuaWxdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZlZFNjcmlw
dE1lc3NhZ2UpOworICAgIHJlY2VpdmVkU2NyaXB0TWVzc2FnZSA9IGZhbHNlOworCisgICAgRVhQ
RUNUX1dLX1NUUkVRKEAiUEFTUyIsIChOU1N0cmluZyAqKVtsYXN0U2NyaXB0TWVzc2FnZSBib2R5
XSk7Cit9CisKICNpZiAhUExBVEZPUk0oSU9TKSAvLyBGSVhNRTogaGFuZ3MgaW4gdGhlIGlPUyBz
aW11bGF0b3IKIFRFU1QoV0tVc2VyQ29udGVudENvbnRyb2xsZXIsIFNjcmlwdE1lc3NhZ2VIYW5k
bGVyV2l0aE5hdmlnYXRpb24pCiB7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDJHdGsvV2ViRXh0ZW5zaW9uVGVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyR3RrL1dlYkV4dGVuc2lvblRlc3QuY3BwCShyZXZpc2lvbiAx
ODQ4NDQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJHdGsvV2ViRXh0ZW5z
aW9uVGVzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw3ICsxMDQsNyBAQCBzdGF0aWMgdm9p
ZCBkb2N1bWVudExvYWRlZENhbGxiYWNrKFdlYktpCiAgICAgaWYgKFdlYktpdERPTVdlYktpdE5h
bWVzcGFjZSogd2Via2l0ID0gd2Via2l0X2RvbV9kb21fd2luZG93X2dldF93ZWJraXRfbmFtZXNw
YWNlKHdpbmRvdy5nZXQoKSkpIHsKICAgICAgICAgV2ViS2l0RE9NVXNlck1lc3NhZ2VIYW5kbGVy
c05hbWVzcGFjZSogbWVzc2FnZUhhbmRsZXJzID0gd2Via2l0X2RvbV93ZWJraXRfbmFtZXNwYWNl
X2dldF9tZXNzYWdlX2hhbmRsZXJzKHdlYmtpdCk7CiAgICAgICAgIGlmIChXZWJLaXRET01Vc2Vy
TWVzc2FnZUhhbmRsZXIqIGhhbmRsZXIgPSB3ZWJraXRfZG9tX3VzZXJfbWVzc2FnZV9oYW5kbGVy
c19uYW1lc3BhY2VfZ2V0X2hhbmRsZXIobWVzc2FnZUhhbmRsZXJzLCAiZG9tIikpCi0gICAgICAg
ICAgICB3ZWJraXRfZG9tX3VzZXJfbWVzc2FnZV9oYW5kbGVyX3Bvc3RfbWVzc2FnZShoYW5kbGVy
LCAiRG9jdW1lbnRMb2FkZWQiKTsKKyAgICAgICAgICAgIHdlYmtpdF9kb21fdXNlcl9tZXNzYWdl
X2hhbmRsZXJfcG9zdF9tZXNzYWdlKGhhbmRsZXIsICJEb2N1bWVudExvYWRlZCIsIG51bGxwdHIp
OwogICAgIH0KIAogICAgIHdlYmtpdF9kb21fZG9tX3dpbmRvd193ZWJraXRfbWVzc2FnZV9oYW5k
bGVyc19wb3N0X21lc3NhZ2Uod2luZG93LmdldCgpLCAiZG9tLWNvbnZlbmllbmNlIiwgIkRvY3Vt
ZW50TG9hZGVkIik7Cg==
</data>
<flag name="review"
          id="278610"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>