<?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>134214</bug_id>
          
          <creation_ts>2014-06-23 14:26:07 -0700</creation_ts>
          <short_desc>Don&apos;t use the WK prefix for internal C++ types</short_desc>
          <delta_ts>2014-06-23 14:33:58 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1017684</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-23 14:26:07 -0700</bug_when>
    <thetext>Don&apos;t use the WK prefix for internal C++ types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017689</commentid>
    <comment_count>1</comment_count>
      <attachid>233636</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-23 14:28:45 -0700</bug_when>
    <thetext>Created attachment 233636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017690</commentid>
    <comment_count>2</comment_count>
      <attachid>233636</attachid>
    <who name="">mitz</who>
    <bug_when>2014-06-23 14:30:32 -0700</bug_when>
    <thetext>Comment on attachment 233636
Patch

👍</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017691</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-06-23 14:31:03 -0700</bug_when>
    <thetext>Attachment 233636 did not pass style-queue:


ERROR: Source/WebKit2/Shared/AssistedNodeInformation.h:44:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 1 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>1017694</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-23 14:33:58 -0700</bug_when>
    <thetext>Committed r170321: &lt;http://trac.webkit.org/changeset/170321&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233636</attachid>
            <date>2014-06-23 14:28:45 -0700</date>
            <delta_ts>2014-06-23 14:30:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134214-20140623142824.patch</filename>
            <type>text/plain</type>
            <size>37148</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcwMzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2Q3OTU4NmU2MzhmODcy
NWMzZWIxMzljYjYxYmM0YjczZWUzMTk5Yi4uNDZmYmQzOWE3YWQyNjY0NGFhNDYxODgwMzkwN2Mw
MTEyYjdkZmFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE0LTA2LTIzICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgRG9uJ3QgdXNlIHRo
ZSBXSyBwcmVmaXggZm9yIGludGVybmFsIEMrKyB0eXBlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uY3BwOgorICAgICAgICAoV2ViS2l0OjpPcHRpb25JdGVtOjplbmNvZGUpOgorICAgICAgICAo
V2ViS2l0OjpPcHRpb25JdGVtOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpXS09wdGlvbkl0
ZW06OmVuY29kZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldLT3B0aW9uSXRlbTo6ZGVj
b2RlKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24u
aDoKKyAgICAgICAgKFdlYktpdDo6T3B0aW9uSXRlbTo6T3B0aW9uSXRlbSk6CisgICAgICAgIChX
ZWJLaXQ6OkFzc2lzdGVkTm9kZUluZm9ybWF0aW9uOjpBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbik6
CisgICAgICAgIChXZWJLaXQ6OldLT3B0aW9uSXRlbTo6V0tPcHRpb25JdGVtKTogRGVsZXRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IF9yZXF1aXJlc0tleWJvYXJkV2hlbkZpcnN0UmVzcG9uZGVyXSk6
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgaW5wdXRWaWV3XSk6CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgcmVxdWlyZXNBY2Nlc3NvcnlWaWV3XSk6CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgX3VwZGF0ZUFjY2Vzc29yeV0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHRleHRJbnB1
dFRyYWl0c10pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGFzc2lzdGVkTm9kZVNlbGVjdE9w
dGlvbnNdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc3RhcnRBc3Npc3RpbmdOb2RlOnVz
ZXJJc0ludGVyYWN0aW5nOmJsdXJQcmV2aW91c05vZGU6dXNlck9iamVjdDpdKToKKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyBfc3RvcEFzc2lzdGluZ05vZGVdKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvaW9zL2Zvcm1zL1dLRm9ybUlucHV0Q29udHJvbC5tbToKKyAgICAgICAgKC1bV0tEYXRlVGlt
ZVBpY2tlciBpbml0V2l0aFZpZXc6ZGF0ZVBpY2tlck1vZGU6XSk6CisgICAgICAgICgtW1dLRm9y
bUlucHV0Q29udHJvbCBpbml0V2l0aFZpZXc6XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0Zvcm1TZWxlY3RDb250cm9sLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jt
cy9XS0Zvcm1TZWxlY3RDb250cm9sLm1tOgorICAgICAgICAoYWRqdXN0ZWRGb250U2l6ZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQaWNrZXIubW06CisgICAg
ICAgICgtW1dLT3B0aW9uUGlja2VyQ2VsbCBpbml0V2l0aE9wdGlvbkl0ZW06XSk6CisgICAgICAg
ICgtW1dLT3B0aW9uR3JvdXBQaWNrZXJDZWxsIGluaXRXaXRoT3B0aW9uSXRlbTpdKToKKyAgICAg
ICAgKC1bV0tNdWx0aXBsZVNlbGVjdFBpY2tlciBpbml0V2l0aFZpZXc6XSk6CisgICAgICAgICgt
W1dLTXVsdGlwbGVTZWxlY3RQaWNrZXIgcGlja2VyVmlldzp2aWV3Rm9yUm93OmZvckNvbXBvbmVu
dDpyZXVzaW5nVmlldzpdKToKKyAgICAgICAgKC1bV0tNdWx0aXBsZVNlbGVjdFBpY2tlciBwaWNr
ZXJWaWV3OnJvdzpjb2x1bW46Y2hlY2tlZDpdKToKKyAgICAgICAgKC1bV0tTZWxlY3RTaW5nbGVQ
aWNrZXIgcGlja2VyVmlldzphdHRyaWJ1dGVkVGl0bGVGb3JSb3c6Zm9yQ29tcG9uZW50Ol0pOgor
ICAgICAgICAoLVtXS1NlbGVjdFNpbmdsZVBpY2tlciBwaWNrZXJWaWV3OmRpZFNlbGVjdFJvdzpp
bkNvbXBvbmVudDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVj
dFBvcG92ZXIubW06CisgICAgICAgICgtW1dLU2VsZWN0VGFibGVWaWV3Q29udHJvbGxlciBpbml0
V2l0aFZpZXc6aGFzR3JvdXBzOl0pOgorICAgICAgICAoLVtXS1NlbGVjdFRhYmxlVmlld0NvbnRy
b2xsZXIgdGFibGVWaWV3Om51bWJlck9mUm93c0luU2VjdGlvbjpdKToKKyAgICAgICAgKC1bV0tT
ZWxlY3RUYWJsZVZpZXdDb250cm9sbGVyIHRhYmxlVmlldzp0aXRsZUZvckhlYWRlckluU2VjdGlv
bjpdKToKKyAgICAgICAgKC1bV0tTZWxlY3RUYWJsZVZpZXdDb250cm9sbGVyIHBvcHVsYXRlQ2Vs
bDp3aXRoSXRlbTpdKToKKyAgICAgICAgKC1bV0tTZWxlY3RUYWJsZVZpZXdDb250cm9sbGVyIGZp
bmRJdGVtSW5kZXhBdDpdKToKKyAgICAgICAgKC1bV0tTZWxlY3RUYWJsZVZpZXdDb250cm9sbGVy
IGZpbmRJdGVtQXQ6XSk6CisgICAgICAgICgtW1dLU2VsZWN0VGFibGVWaWV3Q29udHJvbGxlciB0
YWJsZVZpZXc6Y2VsbEZvclJvd0F0SW5kZXhQYXRoOl0pOgorICAgICAgICAoLVtXS1NlbGVjdFRh
YmxlVmlld0NvbnRyb2xsZXIgdGFibGVWaWV3OmRpZFNlbGVjdFJvd0F0SW5kZXhQYXRoOl0pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24pOgorCiAyMDE0LTA2
LTIzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1v
cmUgYnVpbGQgZml4aW5nIGFmdGVyIHIxNzAyOTUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uY3BwIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmNwcAppbmRleCBmYzNkODE0MDVlN2ZlY2UwMmUw
ZjRmZjBjOGUxMDAxODg2NjE1YTg4Li40N2IyYTJkNjI1Mjk1NDI1ZWRjYTE5ZDk1NDZjYzc3N2Rh
ZjIwYzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXNzaXN0ZWROb2RlSW5m
b3JtYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Bc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbi5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAjaWYg
UExBVEZPUk0oSU9TKQotdm9pZCBXS09wdGlvbkl0ZW06OmVuY29kZShJUEM6OkFyZ3VtZW50RW5j
b2RlciYgZW5jb2RlcikgY29uc3QKK3ZvaWQgT3B0aW9uSXRlbTo6ZW5jb2RlKElQQzo6QXJndW1l
bnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewogICAgIGVuY29kZXIgPDwgdGV4dDsKICAgICBl
bmNvZGVyIDw8IGlzR3JvdXA7CkBAIC00MSw3ICs0MSw3IEBAIHZvaWQgV0tPcHRpb25JdGVtOjpl
bmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8
PCBwYXJlbnRHcm91cElEOwogfQogCi1ib29sIFdLT3B0aW9uSXRlbTo6ZGVjb2RlKElQQzo6QXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBXS09wdGlvbkl0ZW0mIHJlc3VsdCkKK2Jvb2wgT3B0aW9u
SXRlbTo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBPcHRpb25JdGVtJiBy
ZXN1bHQpCiB7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQudGV4dCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Bc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbi5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Fzc2lzdGVkTm9kZUlu
Zm9ybWF0aW9uLmgKaW5kZXggMGI5MjE5ZTU5NWI4Y2FiZTI4ZjEwNTAwOTczZGIyZWJjMWI3MTM3
NS4uMjM3NzUwN2UwNGQxNmY4Y2E0YWJlZTdjMDQwNDZlNTg0Yjc5ODk5ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmgKQEAgLTMzLDMwICsz
MywzMCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotZW51bSBXS0lucHV0VHlwZSB7Ci0gICAg
V0tUeXBlTm9uZSwKLSAgICBXS1R5cGVDb250ZW50RWRpdGFibGUsCi0gICAgV0tUeXBlVGV4dCwK
LSAgICBXS1R5cGVQYXNzd29yZCwKLSAgICBXS1R5cGVUZXh0QXJlYSwKLSAgICBXS1R5cGVTZWFy
Y2gsCi0gICAgV0tUeXBlRW1haWwsCi0gICAgV0tUeXBlVVJMLAotICAgIFdLVHlwZVBob25lLAot
ICAgIFdLVHlwZU51bWJlciwKLSAgICBXS1R5cGVOdW1iZXJQYWQsCi0gICAgV0tUeXBlRGF0ZSwK
LSAgICBXS1R5cGVEYXRlVGltZSwKLSAgICBXS1R5cGVEYXRlVGltZUxvY2FsLAotICAgIFdLVHlw
ZU1vbnRoLAotICAgIFdLVHlwZVdlZWssCi0gICAgV0tUeXBlVGltZSwKLSAgICBXS1R5cGVTZWxl
Y3QKK2VudW0gY2xhc3MgSW5wdXRUeXBlIHsKKyAgICBOb25lLAorICAgIENvbnRlbnRFZGl0YWJs
ZSwKKyAgICBUZXh0LAorICAgIFBhc3N3b3JkLAorICAgIFRleHRBcmVhLAorICAgIFNlYXJjaCwK
KyAgICBFbWFpbCwKKyAgICBVUkwsCisgICAgUGhvbmUsCisgICAgTnVtYmVyLAorICAgIE51bWJl
clBhZCwKKyAgICBEYXRlLAorICAgIERhdGVUaW1lLAorICAgIERhdGVUaW1lTG9jYWwsCisgICAg
TW9udGgsCisgICAgV2VlaywKKyAgICBUaW1lLAorICAgIFNlbGVjdAogfTsKIAogI2lmIFBMQVRG
T1JNKElPUykKLXN0cnVjdCBXS09wdGlvbkl0ZW0gewotICAgIFdLT3B0aW9uSXRlbSgpCitzdHJ1
Y3QgT3B0aW9uSXRlbSB7CisgICAgT3B0aW9uSXRlbSgpCiAgICAgICAgIDogaXNHcm91cChmYWxz
ZSkKICAgICAgICAgLCBpc1NlbGVjdGVkKGZhbHNlKQogICAgICAgICAsIGRpc2FibGVkKGZhbHNl
KQpAQCAtNjQsNyArNjQsNyBAQCBzdHJ1Y3QgV0tPcHRpb25JdGVtIHsKICAgICB7CiAgICAgfQog
Ci0gICAgV0tPcHRpb25JdGVtKGNvbnN0IFdLT3B0aW9uSXRlbSYgaXRlbSkKKyAgICBPcHRpb25J
dGVtKGNvbnN0IE9wdGlvbkl0ZW0mIGl0ZW0pCiAgICAgICAgIDogdGV4dChpdGVtLnRleHQpCiAg
ICAgICAgICwgaXNHcm91cChpdGVtLmlzR3JvdXApCiAgICAgICAgICwgaXNTZWxlY3RlZChpdGVt
LmlzU2VsZWN0ZWQpCkBAIC03Myw3ICs3Myw3IEBAIHN0cnVjdCBXS09wdGlvbkl0ZW0gewogICAg
IHsKICAgICB9CiAKLSAgICBXS09wdGlvbkl0ZW0oY29uc3QgU3RyaW5nJiB0ZXh0LCBib29sIGlz
R3JvdXAsIGludCBwYXJlbnRJRCwgYm9vbCBzZWxlY3RlZCwgYm9vbCBkaXNhYmxlZCkKKyAgICBP
cHRpb25JdGVtKGNvbnN0IFN0cmluZyYgdGV4dCwgYm9vbCBpc0dyb3VwLCBpbnQgcGFyZW50SUQs
IGJvb2wgc2VsZWN0ZWQsIGJvb2wgZGlzYWJsZWQpCiAgICAgICAgIDogdGV4dCh0ZXh0KQogICAg
ICAgICAsIGlzR3JvdXAoaXNHcm91cCkKICAgICAgICAgLCBpc1NlbGVjdGVkKHNlbGVjdGVkKQpA
QCAtODgsNyArODgsNyBAQCBzdHJ1Y3QgV0tPcHRpb25JdGVtIHsKICAgICBpbnQgcGFyZW50R3Jv
dXBJRDsKIAogICAgIHZvaWQgZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7Ci0g
ICAgc3RhdGljIGJvb2wgZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiwgV0tPcHRpb25JdGVt
Jik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiwgT3B0aW9u
SXRlbSYpOwogfTsKIAogc3RydWN0IEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uIHsKQEAgLTEwMyw3
ICsxMDMsNyBAQCBzdHJ1Y3QgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24gewogICAgICAgICAsIGlz
UmVhZE9ubHkoZmFsc2UpCiAgICAgICAgICwgYWxsb3dzVXNlclNjYWxpbmcoZmFsc2UpCiAgICAg
ICAgICwgYXV0b2NhcGl0YWxpemVUeXBlKFdlYkF1dG9jYXBpdGFsaXplVHlwZURlZmF1bHQpCi0g
ICAgICAgICwgZWxlbWVudFR5cGUoV0tUeXBlTm9uZSkKKyAgICAgICAgLCBlbGVtZW50VHlwZShJ
bnB1dFR5cGU6Ok5vbmUpCiAgICAgICAgICwgc2VsZWN0ZWRJbmRleCgtMSkKICAgICAgICAgLCB2
YWx1ZUFzTnVtYmVyKDApCiAgICAgewpAQCAtMTIxLDkgKzEyMSw5IEBAIHN0cnVjdCBBc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbiB7CiAgICAgYm9vbCBpc1JlYWRPbmx5OwogICAgIGJvb2wgYWxsb3dz
VXNlclNjYWxpbmc7CiAgICAgV2ViQXV0b2NhcGl0YWxpemVUeXBlIGF1dG9jYXBpdGFsaXplVHlw
ZTsKLSAgICBXS0lucHV0VHlwZSBlbGVtZW50VHlwZTsKKyAgICBJbnB1dFR5cGUgZWxlbWVudFR5
cGU7CiAgICAgU3RyaW5nIGZvcm1BY3Rpb247Ci0gICAgVmVjdG9yPFdLT3B0aW9uSXRlbT4gc2Vs
ZWN0T3B0aW9uczsKKyAgICBWZWN0b3I8T3B0aW9uSXRlbT4gc2VsZWN0T3B0aW9uczsKICAgICBp
bnQgc2VsZWN0ZWRJbmRleDsKICAgICBTdHJpbmcgdmFsdWU7CiAgICAgZG91YmxlIHZhbHVlQXNO
dW1iZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCBmNGIyNDg3YTFhZTBmN2Q3MWQ1OTY4ZDg2M2I3YzIz
N2FkZjQ2ZTRmLi4wMjc3MjUyZTE4MWZiMTY0ZGU1NTFhYjYyYjllM2VmYjllMzc1MWQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLmgKQEAgLTE3NCw3ICsxNzQsNyBAQCBzdHJ1Y3QgV0tBdXRvQ29ycmVjdGlvbkRh
dGEgewogLSAodm9pZClfc2hvd1J1bk9wZW5QYW5lbDooV2ViS2l0OjpXZWJPcGVuUGFuZWxQYXJh
bWV0ZXJzKilwYXJhbWV0ZXJzIHJlc3VsdExpc3RlbmVyOihXZWJLaXQ6OldlYk9wZW5QYW5lbFJl
c3VsdExpc3RlbmVyUHJveHkqKWxpc3RlbmVyOwogLSAodm9pZClhY2Nlc3NvcnlEb25lOwogLSAo
dm9pZClfZGlkSGFuZGxlS2V5RXZlbnQ6KFdlYklPU0V2ZW50ICopZXZlbnQ7Ci0tIChWZWN0b3I8
V2ViS2l0OjpXS09wdGlvbkl0ZW0+JikgYXNzaXN0ZWROb2RlU2VsZWN0T3B0aW9uczsKKy0gKFZl
Y3RvcjxXZWJLaXQ6Ok9wdGlvbkl0ZW0+JikgYXNzaXN0ZWROb2RlU2VsZWN0T3B0aW9uczsKIC0g
KHZvaWQpX3VwZGF0ZVVuc2NhbGVkVmlldzsKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBh
OWI0OGExMGRlMmM2MWE0Y2U5ZGQyZjAwZTFjOGIyMzBiMGZiOGJkLi43MDdiYmM5ZDVlZjVkYzQ5
MmU1MTI3NTUxNTg5MDM0MjA5YTM2MzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNTMzLDE0ICs1
MzMsMTQgQEAgc3RhdGljIGlubGluZSBib29sIGhpZ2hsaWdodGVkUXVhZHNBcmVTbWFsbGVyVGhh
blJlY3QoY29uc3QgVmVjdG9yPEZsb2F0UXVhZD4mIHEKIHsKICAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIGFkZCB0aGUgbG9naWMgdG8gaGFuZGxlIGtleWJvYXJkIHZpc2liaWxpdHkgZHVyaW5nIGZv
Y3VzIHJlZGlyZWN0cy4KICAgICBzd2l0Y2ggKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVt
ZW50VHlwZSkgewotICAgIGNhc2UgV2ViS2l0OjpXS1R5cGVOb25lOgorICAgIGNhc2UgSW5wdXRU
eXBlOjpOb25lOgogICAgICAgICByZXR1cm4gTk87Ci0gICAgY2FzZSBXZWJLaXQ6OldLVHlwZVNl
bGVjdDoKKyAgICBjYXNlIElucHV0VHlwZTo6U2VsZWN0OgogICAgICAgICByZXR1cm4gIVVJQ3Vy
cmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkKCk7Ci0gICAgY2FzZSBXZWJLaXQ6OldLVHlwZURh
dGU6Ci0gICAgY2FzZSBXZWJLaXQ6OldLVHlwZU1vbnRoOgotICAgIGNhc2UgV2ViS2l0OjpXS1R5
cGVEYXRlVGltZUxvY2FsOgotICAgIGNhc2UgV2ViS2l0OjpXS1R5cGVUaW1lOgorICAgIGNhc2Ug
SW5wdXRUeXBlOjpEYXRlOgorICAgIGNhc2UgSW5wdXRUeXBlOjpNb250aDoKKyAgICBjYXNlIElu
cHV0VHlwZTo6RGF0ZVRpbWVMb2NhbDoKKyAgICBjYXNlIElucHV0VHlwZTo6VGltZToKICAgICAg
ICAgcmV0dXJuICFVSUN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZCgpOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIHJldHVybiAhX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmlzUmVhZE9ubHk7
CkBAIC01NjcsMTEgKzU2NywxMSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaGlnaGxpZ2h0ZWRRdWFk
c0FyZVNtYWxsZXJUaGFuUmVjdChjb25zdCBWZWN0b3I8RmxvYXRRdWFkPiYgcQogCiAtIChVSVZp
ZXcgKilpbnB1dFZpZXcKIHsKLSAgICBpZiAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1l
bnRUeXBlID09IFdLVHlwZU5vbmUpCisgICAgaWYgKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5l
bGVtZW50VHlwZSA9PSBJbnB1dFR5cGU6Ok5vbmUpCiAgICAgICAgIHJldHVybiBuaWw7CiAKICAg
ICBpZiAoIV9pbnB1dFBlcmlwaGVyYWwpCi0gICAgICAgIF9pbnB1dFBlcmlwaGVyYWwgPSBhZG9w
dE5TKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9PSBXS1R5cGVTZWxlY3Qg
PyBbV0tGb3JtU2VsZWN0Q29udHJvbCBjcmVhdGVQZXJpcGhlcmFsV2l0aFZpZXc6c2VsZl0gOiBb
V0tGb3JtSW5wdXRDb250cm9sIGNyZWF0ZVBlcmlwaGVyYWxXaXRoVmlldzpzZWxmXSk7CisgICAg
ICAgIF9pbnB1dFBlcmlwaGVyYWwgPSBhZG9wdE5TKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5l
bGVtZW50VHlwZSA9PSBJbnB1dFR5cGU6OlNlbGVjdCA/IFtXS0Zvcm1TZWxlY3RDb250cm9sIGNy
ZWF0ZVBlcmlwaGVyYWxXaXRoVmlldzpzZWxmXSA6IFtXS0Zvcm1JbnB1dENvbnRyb2wgY3JlYXRl
UGVyaXBoZXJhbFdpdGhWaWV3OnNlbGZdKTsKICAgICBlbHNlCiAgICAgICAgIFtzZWxmIF9kaXNw
bGF5Rm9ybU5vZGVJbnB1dFZpZXddOwogCkBAIC05NTksMjcgKzk1OSwyNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNTYW1lUGFpcihVSUdlc3R1cmVSZWNvZ25pemVyICphLCBVSUdlc3R1cmVSZWNv
Z25pemVyICpiLCBVSQogLSAoQk9PTClyZXF1aXJlc0FjY2Vzc29yeVZpZXcKIHsKICAgICBzd2l0
Y2ggKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlwZSkgewotICAgIGNhc2UgV0tU
eXBlTm9uZToKKyAgICBjYXNlIElucHV0VHlwZTo6Tm9uZToKICAgICAgICAgcmV0dXJuIE5POwot
ICAgIGNhc2UgV0tUeXBlVGV4dDoKLSAgICBjYXNlIFdLVHlwZVBhc3N3b3JkOgotICAgIGNhc2Ug
V0tUeXBlU2VhcmNoOgotICAgIGNhc2UgV0tUeXBlRW1haWw6Ci0gICAgY2FzZSBXS1R5cGVVUkw6
Ci0gICAgY2FzZSBXS1R5cGVQaG9uZToKLSAgICBjYXNlIFdLVHlwZU51bWJlcjoKLSAgICBjYXNl
IFdLVHlwZU51bWJlclBhZDoKKyAgICBjYXNlIElucHV0VHlwZTo6VGV4dDoKKyAgICBjYXNlIElu
cHV0VHlwZTo6UGFzc3dvcmQ6CisgICAgY2FzZSBJbnB1dFR5cGU6OlNlYXJjaDoKKyAgICBjYXNl
IElucHV0VHlwZTo6RW1haWw6CisgICAgY2FzZSBJbnB1dFR5cGU6OlVSTDoKKyAgICBjYXNlIElu
cHV0VHlwZTo6UGhvbmU6CisgICAgY2FzZSBJbnB1dFR5cGU6Ok51bWJlcjoKKyAgICBjYXNlIElu
cHV0VHlwZTo6TnVtYmVyUGFkOgogICAgICAgICByZXR1cm4gWUVTOwotICAgIGNhc2UgV0tUeXBl
Q29udGVudEVkaXRhYmxlOgotICAgIGNhc2UgV0tUeXBlVGV4dEFyZWE6CisgICAgY2FzZSBJbnB1
dFR5cGU6OkNvbnRlbnRFZGl0YWJsZToKKyAgICBjYXNlIElucHV0VHlwZTo6VGV4dEFyZWE6CiAg
ICAgICAgIHJldHVybiBZRVM7Ci0gICAgY2FzZSBXS1R5cGVTZWxlY3Q6Ci0gICAgY2FzZSBXS1R5
cGVEYXRlOgotICAgIGNhc2UgV0tUeXBlRGF0ZVRpbWU6Ci0gICAgY2FzZSBXS1R5cGVEYXRlVGlt
ZUxvY2FsOgotICAgIGNhc2UgV0tUeXBlTW9udGg6Ci0gICAgY2FzZSBXS1R5cGVXZWVrOgotICAg
IGNhc2UgV0tUeXBlVGltZToKKyAgICBjYXNlIElucHV0VHlwZTo6U2VsZWN0OgorICAgIGNhc2Ug
SW5wdXRUeXBlOjpEYXRlOgorICAgIGNhc2UgSW5wdXRUeXBlOjpEYXRlVGltZToKKyAgICBjYXNl
IElucHV0VHlwZTo6RGF0ZVRpbWVMb2NhbDoKKyAgICBjYXNlIElucHV0VHlwZTo6TW9udGg6Cisg
ICAgY2FzZSBJbnB1dFR5cGU6OldlZWs6CisgICAgY2FzZSBJbnB1dFR5cGU6OlRpbWU6CiAgICAg
ICAgIHJldHVybiAhVUlDdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWQoKTsKICAgICB9CiB9
CkBAIC0xNjY4LDEwICsxNjY4LDEwIEBAIHN0YXRpYyB2b2lkIHNlbGVjdGlvbkNoYW5nZWRXaXRo
VG91Y2goV0tDb250ZW50VmlldyAqdmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pCiAgICAgICAg
IFtfZm9ybUFjY2Vzc29yeVZpZXcgc2V0Q2xlYXJWaXNpYmxlOk5PXTsKICAgICBlbHNlIHsKICAg
ICAgICAgc3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUpIHsKLSAg
ICAgICAgY2FzZSBXZWJLaXQ6OldLVHlwZURhdGU6Ci0gICAgICAgIGNhc2UgV2ViS2l0OjpXS1R5
cGVNb250aDoKLSAgICAgICAgY2FzZSBXZWJLaXQ6OldLVHlwZURhdGVUaW1lTG9jYWw6Ci0gICAg
ICAgIGNhc2UgV2ViS2l0OjpXS1R5cGVUaW1lOgorICAgICAgICBjYXNlIElucHV0VHlwZTo6RGF0
ZToKKyAgICAgICAgY2FzZSBJbnB1dFR5cGU6Ok1vbnRoOgorICAgICAgICBjYXNlIElucHV0VHlw
ZTo6RGF0ZVRpbWVMb2NhbDoKKyAgICAgICAgY2FzZSBJbnB1dFR5cGU6OlRpbWU6CiAgICAgICAg
ICAgICBbX2Zvcm1BY2Nlc3NvcnlWaWV3IHNldENsZWFyVmlzaWJsZTpZRVNdOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CkBAIC0xOTEyLDEzICsxOTEyLDEzIEBAIHN0YXRp
YyBVSVRleHRBdXRvY2FwaXRhbGl6YXRpb25UeXBlIHRvVUlUZXh0QXV0b2NhcGl0YWxpemUoV2Vi
QXV0b2NhcGl0YWxpemVUeXBlCiAgICAgaWYgKCFfdHJhaXRzKQogICAgICAgICBfdHJhaXRzID0g
YWRvcHROUyhbW1VJVGV4dElucHV0VHJhaXRzIGFsbG9jXSBpbml0XSk7CiAKLSAgICBbX3RyYWl0
cyBzZXRTZWN1cmVUZXh0RW50cnk6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBl
ID09IFdLVHlwZVBhc3N3b3JkXTsKLSAgICBbX3RyYWl0cyBzZXRTaG9ydGN1dENvbnZlcnNpb25U
eXBlOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9PSBXS1R5cGVQYXNzd29y
ZCA/IFVJVGV4dFNob3J0Y3V0Q29udmVyc2lvblR5cGVObyA6IFVJVGV4dFNob3J0Y3V0Q29udmVy
c2lvblR5cGVEZWZhdWx0XTsKKyAgICBbX3RyYWl0cyBzZXRTZWN1cmVUZXh0RW50cnk6X2Fzc2lz
dGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID09IElucHV0VHlwZTo6UGFzc3dvcmRdOwor
ICAgIFtfdHJhaXRzIHNldFNob3J0Y3V0Q29udmVyc2lvblR5cGU6X2Fzc2lzdGVkTm9kZUluZm9y
bWF0aW9uLmVsZW1lbnRUeXBlID09IElucHV0VHlwZTo6UGFzc3dvcmQgPyBVSVRleHRTaG9ydGN1
dENvbnZlcnNpb25UeXBlTm8gOiBVSVRleHRTaG9ydGN1dENvbnZlcnNpb25UeXBlRGVmYXVsdF07
CiAKICAgICBpZiAoIV9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5mb3JtQWN0aW9uLmlzRW1wdHko
KSkKLSAgICAgICAgW190cmFpdHMgc2V0UmV0dXJuS2V5VHlwZTooX2Fzc2lzdGVkTm9kZUluZm9y
bWF0aW9uLmVsZW1lbnRUeXBlID09IFdlYktpdDo6V0tUeXBlU2VhcmNoKSA/IFVJUmV0dXJuS2V5
U2VhcmNoIDogVUlSZXR1cm5LZXlHb107CisgICAgICAgIFtfdHJhaXRzIHNldFJldHVybktleVR5
cGU6KF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9PSBJbnB1dFR5cGU6OlNl
YXJjaCkgPyBVSVJldHVybktleVNlYXJjaCA6IFVJUmV0dXJuS2V5R29dOwogCi0gICAgaWYgKF9h
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9PSBXS1R5cGVQYXNzd29yZCB8fCBf
YXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPT0gV0tUeXBlRW1haWwgfHwgX2Fz
c2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID09IFdLVHlwZVVSTCB8fCBfYXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24uZm9ybUFjdGlvbi5jb250YWlucygibG9naW4iKSkgeworICAgIGlm
IChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpQYXNz
d29yZCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBl
OjpFbWFpbCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPT0gSW5wdXRU
eXBlOjpVUkwgfHwgX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmZvcm1BY3Rpb24uY29udGFpbnMo
ImxvZ2luIikpIHsKICAgICAgICAgW190cmFpdHMgc2V0QXV0b2NhcGl0YWxpemF0aW9uVHlwZTpV
SVRleHRBdXRvY2FwaXRhbGl6YXRpb25UeXBlTm9uZV07CiAgICAgICAgIFtfdHJhaXRzIHNldEF1
dG9jb3JyZWN0aW9uVHlwZTpVSVRleHRBdXRvY29ycmVjdGlvblR5cGVOb107CiAgICAgfSBlbHNl
IHsKQEAgLTE5MjcsMTkgKzE5MjcsMTkgQEAgc3RhdGljIFVJVGV4dEF1dG9jYXBpdGFsaXphdGlv
blR5cGUgdG9VSVRleHRBdXRvY2FwaXRhbGl6ZShXZWJBdXRvY2FwaXRhbGl6ZVR5cGUKICAgICB9
CiAKICAgICBzd2l0Y2ggKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlwZSkgewot
ICAgIGNhc2UgV2ViS2l0OjpXS1R5cGVQaG9uZToKKyAgICBjYXNlIElucHV0VHlwZTo6UGhvbmU6
CiAgICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVQaG9uZVBh
ZF07CiAgICAgICAgICBicmVhazsKLSAgICBjYXNlIFdlYktpdDo6V0tUeXBlVVJMOgorICAgIGNh
c2UgSW5wdXRUeXBlOjpVUkw6CiAgICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlL
ZXlib2FyZFR5cGVVUkxdOwogICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBXZWJLaXQ6OldLVHlw
ZUVtYWlsOgorICAgIGNhc2UgSW5wdXRUeXBlOjpFbWFpbDoKICAgICAgICAgIFtfdHJhaXRzIHNl
dEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZUVtYWlsQWRkcmVzc107CiAgICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBXZWJLaXQ6OldLVHlwZU51bWJlcjoKKyAgICBjYXNlIElucHV0VHlwZTo6
TnVtYmVyOgogICAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBl
TnVtYmVyc0FuZFB1bmN0dWF0aW9uXTsKICAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgV2ViS2l0
OjpXS1R5cGVOdW1iZXJQYWQ6CisgICAgY2FzZSBJbnB1dFR5cGU6Ok51bWJlclBhZDoKICAgICAg
ICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJlclBhZF07CiAg
ICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpAQCAtMjI0Myw3ICsyMjQzLDcgQEAgc3RhdGlj
IFVJVGV4dEF1dG9jYXBpdGFsaXphdGlvblR5cGUgdG9VSVRleHRBdXRvY2FwaXRhbGl6ZShXZWJB
dXRvY2FwaXRhbGl6ZVR5cGUKICAgICByZXR1cm4gX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uOwog
fQogCi0tIChWZWN0b3I8V0tPcHRpb25JdGVtPiYpYXNzaXN0ZWROb2RlU2VsZWN0T3B0aW9ucwor
LSAoVmVjdG9yPE9wdGlvbkl0ZW0+Jilhc3Npc3RlZE5vZGVTZWxlY3RPcHRpb25zCiB7CiAgICAg
cmV0dXJuIF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5zZWxlY3RPcHRpb25zOwogfQpAQCAtMjI3
NCwxNSArMjI3NCwxNSBAQCBzdGF0aWMgVUlUZXh0QXV0b2NhcGl0YWxpemF0aW9uVHlwZSB0b1VJ
VGV4dEF1dG9jYXBpdGFsaXplKFdlYkF1dG9jYXBpdGFsaXplVHlwZQogICAgICAgICBbc2VsZiBi
ZWNvbWVGaXJzdFJlc3BvbmRlcl07CiAKICAgICBzd2l0Y2ggKGluZm9ybWF0aW9uLmVsZW1lbnRU
eXBlKSB7Ci0gICAgICAgIGNhc2UgV0tUeXBlU2VsZWN0OgotICAgICAgICBjYXNlIFdLVHlwZURh
dGVUaW1lTG9jYWw6Ci0gICAgICAgIGNhc2UgV0tUeXBlVGltZToKLSAgICAgICAgY2FzZSBXS1R5
cGVNb250aDoKLSAgICAgICAgY2FzZSBXS1R5cGVEYXRlOgotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBbc2VsZiBfc3RhcnRBc3Npc3RpbmdLZXlib2Fy
ZF07Ci0gICAgICAgICAgICBicmVhazsKKyAgICBjYXNlIElucHV0VHlwZTo6U2VsZWN0OgorICAg
IGNhc2UgSW5wdXRUeXBlOjpEYXRlVGltZUxvY2FsOgorICAgIGNhc2UgSW5wdXRUeXBlOjpUaW1l
OgorICAgIGNhc2UgSW5wdXRUeXBlOjpNb250aDoKKyAgICBjYXNlIElucHV0VHlwZTo6RGF0ZToK
KyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgW3NlbGYgX3N0YXJ0QXNzaXN0
aW5nS2V5Ym9hcmRdOworICAgICAgICBicmVhazsKICAgICB9CiAgICAgW3NlbGYgcmVsb2FkSW5w
dXRWaWV3c107CiAgICAgW3NlbGYgX2Rpc3BsYXlGb3JtTm9kZUlucHV0Vmlld107CkBAIC0yMzAy
LDcgKzIzMDIsNyBAQCBzdGF0aWMgVUlUZXh0QXV0b2NhcGl0YWxpemF0aW9uVHlwZSB0b1VJVGV4
dEF1dG9jYXBpdGFsaXplKFdlYkF1dG9jYXBpdGFsaXplVHlwZQogICAgIFtfZm9ybUlucHV0U2Vz
c2lvbiBpbnZhbGlkYXRlXTsKICAgICBfZm9ybUlucHV0U2Vzc2lvbiA9IG5pbDsKICAgICBfaXNF
ZGl0YWJsZSA9IE5POwotICAgIF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9
IFdLVHlwZU5vbmU7CisgICAgX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID0g
SW5wdXRUeXBlOjpOb25lOwogICAgIF9pbnB1dFBlcmlwaGVyYWwgPSBuaWw7CiAKICAgICBbc2Vs
ZiBfc3RvcEFzc2lzdGluZ0tleWJvYXJkXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtSW5wdXRDb250cm9sLm1tIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1JbnB1dENvbnRyb2wubW0KaW5kZXggYzhjM2M1MTMz
Y2QzM2M1N2NlM2YzZWY5MDRjNmRkOTVjNTZjMWQ5MC4uYWMwMGNlODhhMzNkMDRiZjJjYjA0YTU4
NjY3OGU2MTJhMzMwMmFmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9mb3Jtcy9XS0Zvcm1JbnB1dENvbnRyb2wubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9mb3Jtcy9XS0Zvcm1JbnB1dENvbnRyb2wubW0KQEAgLTkwLDE3ICs5MCwxNyBAQCBz
dGF0aWMgY29uc3QgTlNUaW1lSW50ZXJ2YWwga01pbGxpc2Vjb25kc1BlclNlY29uZCA9IDEwMDA7
CiAgICAgX3Nob3VsZFJlbW92ZVRpbWVab25lSW5mb3JtYXRpb24gPSBOTzsKICAgICBfaXNUaW1l
SW5wdXQgPSBOTzsKICAgICBzd2l0Y2ggKHZpZXcuYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxl
bWVudFR5cGUpIHsKLSAgICBjYXNlIFdlYktpdDo6V0tUeXBlRGF0ZToKKyAgICBjYXNlIElucHV0
VHlwZTo6RGF0ZToKICAgICAgICAgX2Zvcm1hdFN0cmluZyA9IGtEYXRlRm9ybWF0U3RyaW5nOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIFdlYktpdDo6V0tUeXBlTW9udGg6CisgICAgY2FzZSBJ
bnB1dFR5cGU6Ok1vbnRoOgogICAgICAgICBfZm9ybWF0U3RyaW5nID0ga01vbnRoRm9ybWF0U3Ry
aW5nOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFdlYktpdDo6V0tUeXBlVGltZToKKyAgICBj
YXNlIElucHV0VHlwZTo6VGltZToKICAgICAgICAgX2Zvcm1hdFN0cmluZyA9IGtUaW1lRm9ybWF0
U3RyaW5nOwogICAgICAgICBfaXNUaW1lSW5wdXQgPSBZRVM7CiAgICAgICAgIGJyZWFrOwotICAg
IGNhc2UgV2ViS2l0OjpXS1R5cGVEYXRlVGltZUxvY2FsOgorICAgIGNhc2UgSW5wdXRUeXBlOjpE
YXRlVGltZUxvY2FsOgogICAgICAgICBfc2hvdWxkUmVtb3ZlVGltZVpvbmVJbmZvcm1hdGlvbiA9
IFlFUzsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKQEAgLTIzNiwyNSArMjM2LDI1IEBA
IHN0YXRpYyBjb25zdCBOU1RpbWVJbnRlcnZhbCBrTWlsbGlzZWNvbmRzUGVyU2Vjb25kID0gMTAw
MDsKICAgICBVSURhdGVQaWNrZXJNb2RlIG1vZGU7CiAKICAgICBzd2l0Y2ggKHZpZXcuYXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUpIHsKLSAgICAgICAgY2FzZSBXZWJLaXQ6OldL
VHlwZURhdGU6Ci0gICAgICAgICAgICBtb2RlID0gVUlEYXRlUGlja2VyTW9kZURhdGU7Ci0gICAg
ICAgICAgICBicmVhazsKKyAgICBjYXNlIElucHV0VHlwZTo6RGF0ZToKKyAgICAgICAgbW9kZSA9
IFVJRGF0ZVBpY2tlck1vZGVEYXRlOworICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIFdl
YktpdDo6V0tUeXBlRGF0ZVRpbWVMb2NhbDoKLSAgICAgICAgICAgIG1vZGUgPSBVSURhdGVQaWNr
ZXJNb2RlRGF0ZUFuZFRpbWU7Ci0gICAgICAgICAgICBicmVhazsKKyAgICBjYXNlIElucHV0VHlw
ZTo6RGF0ZVRpbWVMb2NhbDoKKyAgICAgICAgbW9kZSA9IFVJRGF0ZVBpY2tlck1vZGVEYXRlQW5k
VGltZTsKKyAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSBXZWJLaXQ6OldLVHlwZVRpbWU6
Ci0gICAgICAgICAgICBtb2RlID0gVUlEYXRlUGlja2VyTW9kZVRpbWU7Ci0gICAgICAgICAgICBi
cmVhazsKKyAgICBjYXNlIElucHV0VHlwZTo6VGltZToKKyAgICAgICAgbW9kZSA9IFVJRGF0ZVBp
Y2tlck1vZGVUaW1lOworICAgICAgICBicmVhazsKIAotICAgICAgICBjYXNlIFdlYktpdDo6V0tU
eXBlTW9udGg6Ci0gICAgICAgICAgICBtb2RlID0gKFVJRGF0ZVBpY2tlck1vZGUpVUlEYXRlUGlj
a2VyTW9kZVllYXJBbmRNb250aDsKLSAgICAgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRU
eXBlOjpNb250aDoKKyAgICAgICAgbW9kZSA9IChVSURhdGVQaWNrZXJNb2RlKVVJRGF0ZVBpY2tl
ck1vZGVZZWFyQW5kTW9udGg7CisgICAgICAgIGJyZWFrOwogCi0gICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICBbc2VsZiByZWxlYXNlXTsKLSAgICAgICAgICAgIHJldHVybiBuaWw7CisgICAg
ZGVmYXVsdDoKKyAgICAgICAgW3NlbGYgcmVsZWFzZV07CisgICAgICAgIHJldHVybiBuaWw7CiAg
ICAgfQogCiAgICAgaWYgKFVJQ3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENv
bnRyb2wuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0
Q29udHJvbC5oCmluZGV4IDY0ZjdmMGY2YzA2ZDQ5YTlkOGM1MTc4M2RhODA3ZThkNzc3MDI5MzAu
LmU1OWJmYzlhNzEzNmU3ZDhmMjIzZmFhNjU1NjNiMTM0ZGM4NDM2NTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0Q29udHJvbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0Q29udHJv
bC5oCkBAIC0zMSw3ICszMSw3IEBACiAjaW1wb3J0IDxVSUtpdC9VSVBpY2tlclZpZXcuaD4KICNp
bXBvcnQgPFVJS2l0L1VJUGlja2VyVmlld19Qcml2YXRlLmg+CiAKLUNHRmxvYXQgYWRqdXN0ZWRG
b250U2l6ZShDR0Zsb2F0IHRleHRXaWR0aCwgVUlGb250ICpmb250LCBDR0Zsb2F0IGluaXRpYWxG
b250U2l6ZSwgY29uc3QgVmVjdG9yPFdlYktpdDo6V0tPcHRpb25JdGVtPiYgaXRlbXMpOworQ0dG
bG9hdCBhZGp1c3RlZEZvbnRTaXplKENHRmxvYXQgdGV4dFdpZHRoLCBVSUZvbnQgKiwgQ0dGbG9h
dCBpbml0aWFsRm9udFNpemUsIGNvbnN0IFZlY3RvcjxXZWJLaXQ6Ok9wdGlvbkl0ZW0+JiBpdGVt
cyk7CiAKIEBjbGFzcyBXS0NvbnRlbnRWaWV3OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wubW0KaW5kZXggNDJj
YzE2ODFhZjZlNTg3ODNhOWNhYWZmNmIwMDQwZDU0MWU0ZDM3My4uMTEzMmUyYTE4MzY0NjU3MDc5
Y2ViMDA2NmZiZGJjMTMzMzRjYjJiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RDb250cm9sLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0Q29udHJvbC5tbQpAQCAtNDYsMTEgKzQ2
LDExIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIHN0YXRpYyBjb25zdCBDR0Zsb2F0IG1p
bmltdW1PcHRpb25Gb250U2l6ZSA9IDEyOwogCi1DR0Zsb2F0IGFkanVzdGVkRm9udFNpemUoQ0dG
bG9hdCB0ZXh0V2lkdGgsIFVJRm9udCAqZm9udCwgQ0dGbG9hdCBpbml0aWFsRm9udFNpemUsIGNv
bnN0IFZlY3RvcjxXS09wdGlvbkl0ZW0+JiBpdGVtcykKK0NHRmxvYXQgYWRqdXN0ZWRGb250U2l6
ZShDR0Zsb2F0IHRleHRXaWR0aCwgVUlGb250ICpmb250LCBDR0Zsb2F0IGluaXRpYWxGb250U2l6
ZSwgY29uc3QgVmVjdG9yPE9wdGlvbkl0ZW0+JiBpdGVtcykKIHsKICAgICBDR0Zsb2F0IGFkanVz
dGVkU2l6ZSA9IGluaXRpYWxGb250U2l6ZTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGl0
ZW1zLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGNvbnN0IFdLT3B0aW9uSXRlbSYgaXRlbSA9IGl0
ZW1zW2ldOworICAgICAgICBjb25zdCBPcHRpb25JdGVtJiBpdGVtID0gaXRlbXNbaV07CiAgICAg
ICAgIGlmIChpdGVtLnRleHQuaXNFbXB0eSgpKQogICAgICAgICAgICAgY29udGludWU7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0
UGlja2VyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxl
Y3RQaWNrZXIubW0KaW5kZXggYjk5YjI3OGU0YjI4YTU1NTBiNGVhZTg2OTA1YTA1ODhmMjI3ODc1
ZC4uYTljZTA1MjAzMzJmZTRmMzhjMzkwMGUyNzY2ZDVhMzliMjU2NDM0NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQaWNrZXIubW0K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQaWNr
ZXIubW0KQEAgLTU1LDcgKzU1LDcgQEAgc3RhdGljIGNvbnN0IGZsb2F0IERpc2FibGVkT3B0aW9u
QWxwaGEgPSAwLjM7CiAKIEBwcm9wZXJ0eShub25hdG9taWMpIEJPT0wgZGlzYWJsZWQ7CiAKLS0g
KGluc3RhbmNldHlwZSlpbml0V2l0aE9wdGlvbkl0ZW06KGNvbnN0IFdLT3B0aW9uSXRlbSYpaXRl
bTsKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aE9wdGlvbkl0ZW06KGNvbnN0IE9wdGlvbkl0ZW0m
KWl0ZW07CiAKIEBlbmQKIApAQCAtNzQsNyArNzQsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgRGlz
YWJsZWRPcHRpb25BbHBoYSA9IDAuMzsKICAgICByZXR1cm4gc2VsZjsKIH0KIAotLSAoaW5zdGFu
Y2V0eXBlKWluaXRXaXRoT3B0aW9uSXRlbTooY29uc3QgV0tPcHRpb25JdGVtJilpdGVtCistIChp
bnN0YW5jZXR5cGUpaW5pdFdpdGhPcHRpb25JdGVtOihjb25zdCBPcHRpb25JdGVtJilpdGVtCiB7
CiAgICAgaWYgKCEoc2VsZiA9IFtzZWxmIGluaXRdKSkKICAgICAgICAgcmV0dXJuIG5pbDsKQEAg
LTk1LDEyICs5NSwxMiBAQCBzdGF0aWMgY29uc3QgZmxvYXQgRGlzYWJsZWRPcHRpb25BbHBoYSA9
IDAuMzsKIAogCiBAaW50ZXJmYWNlIFdLT3B0aW9uR3JvdXBQaWNrZXJDZWxsIDogV0tPcHRpb25Q
aWNrZXJDZWxsCi0tIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhPcHRpb25JdGVtOihjb25zdCBXS09w
dGlvbkl0ZW0mKWl0ZW07CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhPcHRpb25JdGVtOihjb25z
dCBPcHRpb25JdGVtJilpdGVtOwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV0tPcHRpb25Hcm91
cFBpY2tlckNlbGwKIAotLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoT3B0aW9uSXRlbTooY29uc3Qg
V0tPcHRpb25JdGVtJilpdGVtCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhPcHRpb25JdGVtOihj
b25zdCBPcHRpb25JdGVtJilpdGVtCiB7CiAgICAgaWYgKCEoc2VsZiA9IFtzZWxmIGluaXRdKSkK
ICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTE2NiwxMCArMTY2LDEwIEBAIHN0YXRpYyBjb25zdCBm
bG9hdCBEaXNhYmxlZE9wdGlvbkFscGhhID0gMC4zOwogICAgIFtzZWxmIHNldFNpemU6W1VJS2V5
Ym9hcmQgZGVmYXVsdFNpemVGb3JJbnRlcmZhY2VPcmllbnRhdGlvbjpbVUlBcHAgaW50ZXJmYWNl
T3JpZW50YXRpb25dXV07CiAgICAgW3NlbGYgcmVsb2FkQWxsQ29tcG9uZW50c107CiAKLSAgICBj
b25zdCBWZWN0b3I8V0tPcHRpb25JdGVtPiYgc2VsZWN0T3B0aW9ucyA9IFtfdmlldyBhc3Npc3Rl
ZE5vZGVTZWxlY3RPcHRpb25zXTsKKyAgICBjb25zdCBWZWN0b3I8T3B0aW9uSXRlbT4mIHNlbGVj
dE9wdGlvbnMgPSBbX3ZpZXcgYXNzaXN0ZWROb2RlU2VsZWN0T3B0aW9uc107CiAgICAgaW50IGN1
cnJlbnRJbmRleCA9IDA7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzZWxlY3RPcHRpb25z
LnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGNvbnN0IFdLT3B0aW9uSXRlbSYgaXRlbSA9IHNlbGVj
dE9wdGlvbnNbaV07CisgICAgICAgIGNvbnN0IE9wdGlvbkl0ZW0mIGl0ZW0gPSBzZWxlY3RPcHRp
b25zW2ldOwogICAgICAgICBpZiAoaXRlbS5pc0dyb3VwKQogICAgICAgICAgICAgY29udGludWU7
CiAKQEAgLTIyMiw3ICsyMjIsNyBAQCBzdGF0aWMgY29uc3QgZmxvYXQgRGlzYWJsZWRPcHRpb25B
bHBoYSA9IDAuMzsKIAogLSAoVUlWaWV3ICopcGlja2VyVmlldzooVUlQaWNrZXJWaWV3ICopcGlj
a2VyVmlldyB2aWV3Rm9yUm93OihOU0ludGVnZXIpcm93SW5kZXggZm9yQ29tcG9uZW50OihOU0lu
dGVnZXIpY29sdW1uSW5kZXggcmV1c2luZ1ZpZXc6KFVJVmlldyAqKXZpZXcKIHsKLSAgICBjb25z
dCBXS09wdGlvbkl0ZW0mIGl0ZW0gPSBbX3ZpZXcgYXNzaXN0ZWROb2RlU2VsZWN0T3B0aW9uc11b
cm93SW5kZXhdOworICAgIGNvbnN0IE9wdGlvbkl0ZW0mIGl0ZW0gPSBbX3ZpZXcgYXNzaXN0ZWRO
b2RlU2VsZWN0T3B0aW9uc11bcm93SW5kZXhdOwogICAgIFVJUGlja2VyQ29udGVudFZpZXcqIHBp
Y2tlckl0ZW0gPSBpdGVtLmlzR3JvdXAgPyBbW1tXS09wdGlvbkdyb3VwUGlja2VyQ2VsbCBhbGxv
Y10gaW5pdFdpdGhPcHRpb25JdGVtOml0ZW1dIGF1dG9yZWxlYXNlXSA6IFtbW1dLT3B0aW9uUGlj
a2VyQ2VsbCBhbGxvY10gaW5pdFdpdGhPcHRpb25JdGVtOml0ZW1dIGF1dG9yZWxlYXNlXTsKIAog
ICAgIC8vIFRoZSBjZWxsIHN0YXJ0cyBvdXQgd2l0aCBhIG51bGwgZnJhbWUuIFdlIG5lZWQgdG8g
c2V0IGl0cyBmcmFtZSBub3cgc28gd2UgY2FuIGZpbmQgdGhlIHJpZ2h0IGZvbnQgc2l6ZS4KQEAg
LTI3NSwxMCArMjc1LDExIEBAIHN0YXRpYyBjb25zdCBmbG9hdCBEaXNhYmxlZE9wdGlvbkFscGhh
ID0gMC4zOwogCiAtICh2b2lkKXBpY2tlclZpZXc6KFVJUGlja2VyVmlldyAqKXBpY2tlclZpZXcg
cm93OihpbnQpcm93SW5kZXggY29sdW1uOihpbnQpY29sdW1uSW5kZXggY2hlY2tlZDooQk9PTClp
c0NoZWNrZWQKIHsKKwogICAgIGlmICgoc2l6ZV90KXJvd0luZGV4ID49IFtfdmlldyBhc3Npc3Rl
ZE5vZGVTZWxlY3RPcHRpb25zXS5zaXplKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFdLT3B0
aW9uSXRlbSYgaXRlbSA9IFtfdmlldyBhc3Npc3RlZE5vZGVTZWxlY3RPcHRpb25zXVtyb3dJbmRl
eF07CisgICAgT3B0aW9uSXRlbSYgaXRlbSA9IFtfdmlldyBhc3Npc3RlZE5vZGVTZWxlY3RPcHRp
b25zXVtyb3dJbmRleF07CiAKICAgICBpZiAoW3NlbGYgYWxsb3dzTXVsdGlwbGVTZWxlY3Rpb25d
KSB7CiAgICAgICAgIFtfdmlldyBwYWdlXS0+c2V0QXNzaXN0ZWROb2RlU2VsZWN0ZWRJbmRleChb
c2VsZiBmaW5kSXRlbUluZGV4QXQ6cm93SW5kZXhdLCBpc0NoZWNrZWQpOwpAQCAtMzc0LDcgKzM3
NSw3IEBAIHN0YXRpYyBjb25zdCBmbG9hdCBEaXNhYmxlZE9wdGlvbkFscGhhID0gMC4zOwogICAg
IGlmIChyb3cgPCAwIHx8IHJvdyA+PSAoTlNJbnRlZ2VyKVtfdmlldyBhc3Npc3RlZE5vZGVTZWxl
Y3RPcHRpb25zXS5zaXplKCkpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICBjb25zdCBXS09w
dGlvbkl0ZW0mIG9wdGlvbiA9IFtfdmlldyBhc3Npc3RlZE5vZGVTZWxlY3RPcHRpb25zXVtyb3dd
OworICAgIGNvbnN0IE9wdGlvbkl0ZW0mIG9wdGlvbiA9IFtfdmlldyBhc3Npc3RlZE5vZGVTZWxl
Y3RPcHRpb25zXVtyb3ddOwogICAgIE5TTXV0YWJsZVN0cmluZyAqdHJpbW1lZFRleHQgPSBbW29w
dGlvbi50ZXh0IG11dGFibGVDb3B5XSBhdXRvcmVsZWFzZV07CiAgICAgQ0ZTdHJpbmdUcmltV2hp
dGVzcGFjZSgoQ0ZNdXRhYmxlU3RyaW5nUmVmKXRyaW1tZWRUZXh0KTsKIApAQCAtMzkwLDEzICsz
OTEsMTMgQEAgc3RhdGljIGNvbnN0IGZsb2F0IERpc2FibGVkT3B0aW9uQWxwaGEgPSAwLjM7CiAg
ICAgaWYgKHJvdyA8IDAgfHwgcm93ID49IChOU0ludGVnZXIpW192aWV3IGFzc2lzdGVkTm9kZVNl
bGVjdE9wdGlvbnNdLnNpemUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29uc3QgV0tPcHRp
b25JdGVtJiBuZXdTZWxlY3RlZE9wdGlvbiA9IFtfdmlldyBhc3Npc3RlZE5vZGVTZWxlY3RPcHRp
b25zXVtyb3ddOworICAgIGNvbnN0IE9wdGlvbkl0ZW0mIG5ld1NlbGVjdGVkT3B0aW9uID0gW192
aWV3IGFzc2lzdGVkTm9kZVNlbGVjdE9wdGlvbnNdW3Jvd107CiAgICAgaWYgKG5ld1NlbGVjdGVk
T3B0aW9uLmRpc2FibGVkKSB7CiAgICAgICAgIE5TSW50ZWdlciByb3dUb1NlbGVjdCA9IE5TTm90
Rm91bmQ7CiAKICAgICAgICAgLy8gU2VhcmNoIGJhY2t3YXJkcyBmb3IgdGhlIHByZXZpb3VzIGVu
YWJsZWQgb3B0aW9uLgogICAgICAgICBmb3IgKE5TSW50ZWdlciBpID0gcm93IC0gMTsgaSA+PSAw
OyAtLWkpIHsKLSAgICAgICAgICAgIGNvbnN0IFdLT3B0aW9uSXRlbSYgZWFybGllck9wdGlvbiA9
IFtfdmlldyBhc3Npc3RlZE5vZGVTZWxlY3RPcHRpb25zXVtpXTsKKyAgICAgICAgICAgIGNvbnN0
IE9wdGlvbkl0ZW0mIGVhcmxpZXJPcHRpb24gPSBbX3ZpZXcgYXNzaXN0ZWROb2RlU2VsZWN0T3B0
aW9uc11baV07CiAgICAgICAgICAgICBpZiAoIWVhcmxpZXJPcHRpb24uZGlzYWJsZWQpIHsKICAg
ICAgICAgICAgICAgICByb3dUb1NlbGVjdCA9IGk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBA
IC00MDYsNyArNDA3LDcgQEAgc3RhdGljIGNvbnN0IGZsb2F0IERpc2FibGVkT3B0aW9uQWxwaGEg
PSAwLjM7CiAgICAgICAgIC8vIElmIG5vdGhpbmcgcHJldmlvdXMsIHNlYXJjaCBmb3J3YXJkcyBm
b3IgdGhlIG5leHQgZW5hYmxlZCBvcHRpb24uCiAgICAgICAgIGlmIChyb3dUb1NlbGVjdCA9PSBO
U05vdEZvdW5kKSB7CiAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gcm93ICsgMTsgaSA8IFtf
dmlldyBhc3Npc3RlZE5vZGVTZWxlY3RPcHRpb25zXS5zaXplKCk7ICsraSkgewotICAgICAgICAg
ICAgICAgIGNvbnN0IFdLT3B0aW9uSXRlbSYgbGF0ZXJPcHRpb24gPSBbX3ZpZXcgYXNzaXN0ZWRO
b2RlU2VsZWN0T3B0aW9uc11baV07CisgICAgICAgICAgICAgICAgY29uc3QgT3B0aW9uSXRlbSYg
bGF0ZXJPcHRpb24gPSBbX3ZpZXcgYXNzaXN0ZWROb2RlU2VsZWN0T3B0aW9uc11baV07CiAgICAg
ICAgICAgICAgICAgaWYgKCFsYXRlck9wdGlvbi5kaXNhYmxlZCkgewogICAgICAgICAgICAgICAg
ICAgICByb3dUb1NlbGVjdCA9IGk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQb3Bv
dmVyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQ
b3BvdmVyLm1tCmluZGV4IGM3ODVkM2EzMDc0YTAzMWJiNWZhZjE4MGU2N2Y4ZjIwN2YwMGRkYjUu
LjY3OTIwY2I0NzM0MmQwODQwODM4NGZiN2M3Y2I3ZGMyNDQ4NWQwOTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UG9wb3Zlci5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdFBvcG92
ZXIubW0KQEAgLTEwOSw3ICsxMDksNyBAQCBzdGF0aWMgTlNTdHJpbmcgKnN0cmluZ1dpdGhXcml0
aW5nRGlyZWN0aW9uKE5TU3RyaW5nICpzdHJpbmcsIFVJVGV4dFdyaXRpbmdEaXJlYwogICAgICAg
ICByZXR1cm4gbmlsOwogICAgIAogICAgIF9jb250ZW50VmlldyA9IHZpZXc7Ci0gICAgVmVjdG9y
PFdLT3B0aW9uSXRlbT4mIHNlbGVjdE9wdGlvbnMgPSBbX2NvbnRlbnRWaWV3IGFzc2lzdGVkTm9k
ZVNlbGVjdE9wdGlvbnNdOworICAgIFZlY3RvcjxPcHRpb25JdGVtPiYgc2VsZWN0T3B0aW9ucyA9
IFtfY29udGVudFZpZXcgYXNzaXN0ZWROb2RlU2VsZWN0T3B0aW9uc107CiAgICAgX2FsbG93c011
bHRpcGxlU2VsZWN0aW9uID0gX2NvbnRlbnRWaWV3LmFzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmlz
TXVsdGlTZWxlY3Q7CiAgICAgCiAgICAgLy8gRXZlbiBpZiB0aGUgc2VsZWN0IGlzIGVtcHR5LCB0
aGVyZSBpcyBhdCBsZWFzdCBvbmUgdGFibGV2aWV3IHNlY3Rpb24uCkBAIC0xMTcsNyArMTE3LDcg
QEAgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdXaXRoV3JpdGluZ0RpcmVjdGlvbihOU1N0cmluZyAq
c3RyaW5nLCBVSVRleHRXcml0aW5nRGlyZWMKICAgICBfc2luZ2xlU2VsZWN0aW9uSW5kZXggPSBO
U05vdEZvdW5kOwogICAgIE5TSW50ZWdlciBjdXJyZW50SW5kZXggPSAwOwogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgc2VsZWN0T3B0aW9ucy5zaXplKCk7ICsraSkgewotICAgICAgICBjb25z
dCBXS09wdGlvbkl0ZW0mIGl0ZW0gPSBzZWxlY3RPcHRpb25zW2ldOworICAgICAgICBjb25zdCBP
cHRpb25JdGVtJiBpdGVtID0gc2VsZWN0T3B0aW9uc1tpXTsKICAgICAgICAgaWYgKGl0ZW0uaXNH
cm91cCkgewogICAgICAgICAgICAgX251bWJlck9mU2VjdGlvbnMrKzsKICAgICAgICAgICAgIGN1
cnJlbnRJbmRleCA9IDA7CkBAIC0xNjQsNyArMTY0LDcgQEAgc3RhdGljIE5TU3RyaW5nICpzdHJp
bmdXaXRoV3JpdGluZ0RpcmVjdGlvbihOU1N0cmluZyAqc3RyaW5nLCBVSVRleHRXcml0aW5nRGly
ZWMKICAgICAKICAgICBpbnQgcm93Q291bnQgPSAwOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgW19jb250ZW50VmlldyBhc3Npc3RlZE5vZGVTZWxlY3RPcHRpb25zXS5zaXplKCk7ICsraSkg
ewotICAgICAgICBjb25zdCBXS09wdGlvbkl0ZW0mIGl0ZW0gPSBbX2NvbnRlbnRWaWV3IGFzc2lz
dGVkTm9kZVNlbGVjdE9wdGlvbnNdW2ldOworICAgICAgICBjb25zdCBPcHRpb25JdGVtJiBpdGVt
ID0gW19jb250ZW50VmlldyBhc3Npc3RlZE5vZGVTZWxlY3RPcHRpb25zXVtpXTsKICAgICAgICAg
aWYgKGl0ZW0uaXNHcm91cCkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAoaXRl
bS5wYXJlbnRHcm91cElEID09IHNlY3Rpb24pCkBAIC0xODMsNyArMTgzLDcgQEAgc3RhdGljIE5T
U3RyaW5nICpzdHJpbmdXaXRoV3JpdGluZ0RpcmVjdGlvbihOU1N0cmluZyAqc3RyaW5nLCBVSVRl
eHRXcml0aW5nRGlyZWMKICAgICAKICAgICBpbnQgZ3JvdXBDb3VudCA9IDA7CiAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBbX2NvbnRlbnRWaWV3IGFzc2lzdGVkTm9kZVNlbGVjdE9wdGlvbnNd
LnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGNvbnN0IFdLT3B0aW9uSXRlbSYgaXRlbSA9IFtfY29u
dGVudFZpZXcgYXNzaXN0ZWROb2RlU2VsZWN0T3B0aW9uc11baV07CisgICAgICAgIGNvbnN0IE9w
dGlvbkl0ZW0mIGl0ZW0gPSBbX2NvbnRlbnRWaWV3IGFzc2lzdGVkTm9kZVNlbGVjdE9wdGlvbnNd
W2ldOwogICAgICAgICBpZiAoIWl0ZW0uaXNHcm91cCkKICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICBncm91cENvdW50Kys7CkBAIC0xOTMsMTIgKzE5MywxMiBAQCBzdGF0aWMgTlNTdHJp
bmcgKnN0cmluZ1dpdGhXcml0aW5nRGlyZWN0aW9uKE5TU3RyaW5nICpzdHJpbmcsIFVJVGV4dFdy
aXRpbmdEaXJlYwogICAgIHJldHVybiBuaWw7CiB9CiAKLS0gKHZvaWQpcG9wdWxhdGVDZWxsOihV
SVRhYmxlVmlld0NlbGwgKiljZWxsIHdpdGhJdGVtOihjb25zdCBXS09wdGlvbkl0ZW0gKilpdGVt
CistICh2b2lkKXBvcHVsYXRlQ2VsbDooVUlUYWJsZVZpZXdDZWxsICopY2VsbCB3aXRoSXRlbToo
Y29uc3QgT3B0aW9uSXRlbSYpaXRlbQogewotICAgIFtjZWxsLnRleHRMYWJlbCBzZXRUZXh0Oml0
ZW0tPnRleHRdOwotICAgIFtjZWxsLnRleHRMYWJlbCBzZXRFbmFibGVkOiFpdGVtLT5kaXNhYmxl
ZF07Ci0gICAgW2NlbGwgc2V0U2VsZWN0aW9uU3R5bGU6aXRlbS0+ZGlzYWJsZWQgPyBVSVRhYmxl
Vmlld0NlbGxTZWxlY3Rpb25TdHlsZU5vbmUgOiBVSVRhYmxlVmlld0NlbGxTZWxlY3Rpb25TdHls
ZUJsdWVdOwotICAgIFtjZWxsIHNldEFjY2Vzc29yeVR5cGU6aXRlbS0+aXNTZWxlY3RlZCA/IFVJ
VGFibGVWaWV3Q2VsbEFjY2Vzc29yeUNoZWNrbWFyayA6IFVJVGFibGVWaWV3Q2VsbEFjY2Vzc29y
eU5vbmVdOworICAgIFtjZWxsLnRleHRMYWJlbCBzZXRUZXh0Oml0ZW0udGV4dF07CisgICAgW2Nl
bGwudGV4dExhYmVsIHNldEVuYWJsZWQ6IWl0ZW0uZGlzYWJsZWRdOworICAgIFtjZWxsIHNldFNl
bGVjdGlvblN0eWxlOml0ZW0uZGlzYWJsZWQgPyBVSVRhYmxlVmlld0NlbGxTZWxlY3Rpb25TdHls
ZU5vbmUgOiBVSVRhYmxlVmlld0NlbGxTZWxlY3Rpb25TdHlsZUJsdWVdOworICAgIFtjZWxsIHNl
dEFjY2Vzc29yeVR5cGU6aXRlbS5pc1NlbGVjdGVkID8gVUlUYWJsZVZpZXdDZWxsQWNjZXNzb3J5
Q2hlY2ttYXJrIDogVUlUYWJsZVZpZXdDZWxsQWNjZXNzb3J5Tm9uZV07CiB9CiAKIC0gKE5TSW50
ZWdlcilmaW5kSXRlbUluZGV4QXQ6KE5TSW5kZXhQYXRoICopaW5kZXhQYXRoCkBAIC0yMDksNyAr
MjA5LDcgQEAgc3RhdGljIE5TU3RyaW5nICpzdHJpbmdXaXRoV3JpdGluZ0RpcmVjdGlvbihOU1N0
cmluZyAqc3RyaW5nLCBVSVRleHRXcml0aW5nRGlyZWMKICAgICBpbnQgb3B0aW9uSW5kZXggPSAw
OwogICAgIGludCByb3dJbmRleCA9IDA7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBbX2Nv
bnRlbnRWaWV3IGFzc2lzdGVkTm9kZVNlbGVjdE9wdGlvbnNdLnNpemUoKTsgKytpKSB7Ci0gICAg
ICAgIGNvbnN0IFdLT3B0aW9uSXRlbSYgaXRlbSA9IFtfY29udGVudFZpZXcgYXNzaXN0ZWROb2Rl
U2VsZWN0T3B0aW9uc11baV07CisgICAgICAgIGNvbnN0IE9wdGlvbkl0ZW0mIGl0ZW0gPSBbX2Nv
bnRlbnRWaWV3IGFzc2lzdGVkTm9kZVNlbGVjdE9wdGlvbnNdW2ldOwogICAgICAgICBpZiAoaXRl
bS5pc0dyb3VwKSB7CiAgICAgICAgICAgICByb3dJbmRleCA9IDA7CiAgICAgICAgICAgICBjb250
aW51ZTsKQEAgLTIyMiwxNCArMjIyLDE0IEBAIHN0YXRpYyBOU1N0cmluZyAqc3RyaW5nV2l0aFdy
aXRpbmdEaXJlY3Rpb24oTlNTdHJpbmcgKnN0cmluZywgVUlUZXh0V3JpdGluZ0RpcmVjCiAgICAg
cmV0dXJuIE5TTm90Rm91bmQ7CiB9CiAKLS0gKFdLT3B0aW9uSXRlbSAqKWZpbmRJdGVtQXQ6KE5T
SW5kZXhQYXRoICopaW5kZXhQYXRoCistIChPcHRpb25JdGVtICopZmluZEl0ZW1BdDooTlNJbmRl
eFBhdGggKilpbmRleFBhdGgKIHsKICAgICBBU1NFUlQoaW5kZXhQYXRoLnJvdyA+PSAwKTsKICAg
ICBBU1NFUlQoaW5kZXhQYXRoLnNlY3Rpb24gPD0gX251bWJlck9mU2VjdGlvbnMpOwogCiAgICAg
aW50IGluZGV4ID0gMDsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IFtfY29udGVudFZpZXcg
YXNzaXN0ZWROb2RlU2VsZWN0T3B0aW9uc10uc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgV0tPcHRp
b25JdGVtJiBpdGVtID0gW19jb250ZW50VmlldyBhc3Npc3RlZE5vZGVTZWxlY3RPcHRpb25zXVtp
XTsKKyAgICAgICAgT3B0aW9uSXRlbSYgaXRlbSA9IFtfY29udGVudFZpZXcgYXNzaXN0ZWROb2Rl
U2VsZWN0T3B0aW9uc11baV07CiAgICAgICAgIGlmIChpdGVtLmlzR3JvdXAgfHwgaXRlbS5wYXJl
bnRHcm91cElEICE9IGluZGV4UGF0aC5zZWN0aW9uKQogICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgIGlmIChpbmRleCA9PSBpbmRleFBhdGgucm93KQpAQCAtMjY3LDEwICsyNjcsMTAgQEAg
c3RhdGljIE5TU3RyaW5nICpzdHJpbmdXaXRoV3JpdGluZ0RpcmVjdGlvbihOU1N0cmluZyAqc3Ry
aW5nLCBVSVRleHRXcml0aW5nRGlyZWMKICAgICAgICAgX2ZvbnRTaXplID0gYWRqdXN0ZWRGb250
U2l6ZShfbWF4aW11bVRleHRXaWR0aCwgZm9udCwgaW5pdGlhbEZvbnRTaXplLCBfY29udGVudFZp
ZXcuYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uc2VsZWN0T3B0aW9ucyk7CiAgICAgfQogICAgIAot
ICAgIGNvbnN0IFdLT3B0aW9uSXRlbSogaXRlbSA9IFtzZWxmIGZpbmRJdGVtQXQ6aW5kZXhQYXRo
XTsKKyAgICBjb25zdCBPcHRpb25JdGVtKiBpdGVtID0gW3NlbGYgZmluZEl0ZW1BdDppbmRleFBh
dGhdOwogICAgIEFTU0VSVChpdGVtKTsKICAgICAKLSAgICBbc2VsZiBwb3B1bGF0ZUNlbGw6Y2Vs
bCB3aXRoSXRlbTppdGVtXTsKKyAgICBbc2VsZiBwb3B1bGF0ZUNlbGw6Y2VsbCB3aXRoSXRlbToq
aXRlbV07CiAgICAgW2NlbGwudGV4dExhYmVsIHNldEZvbnQ6W2ZvbnQgZm9udFdpdGhTaXplOl9m
b250U2l6ZV1dOwogICAgIFtjZWxsLnRleHRMYWJlbCBzZXRMaW5lQnJlYWtNb2RlOk5TTGluZUJy
ZWFrQnlXb3JkV3JhcHBpbmddOwogICAgIFtjZWxsLnRleHRMYWJlbCBzZXROdW1iZXJPZkxpbmVz
OjJdOwpAQCAtMzAzLDcgKzMwMyw3IEBAIHN0YXRpYyBOU1N0cmluZyAqc3RyaW5nV2l0aFdyaXRp
bmdEaXJlY3Rpb24oTlNTdHJpbmcgKnN0cmluZywgVUlUZXh0V3JpdGluZ0RpcmVjCiAgICAgICAg
IC8vIGNoYW5nZXMgZG8gbm90IHRyaWdnZXIgImNoYW5nZSIgZXZlbnRzIG9uIHN1Y2ggc2VsZWN0
cy4KICAgICAKICAgICAgICAgW19jb250ZW50VmlldyBwYWdlXS0+c2V0QXNzaXN0ZWROb2RlU2Vs
ZWN0ZWRJbmRleChpdGVtSW5kZXgsIHRydWUpOwotICAgICAgICBXS09wdGlvbkl0ZW0mIGl0ZW0g
PSBbX2NvbnRlbnRWaWV3IGFzc2lzdGVkTm9kZVNlbGVjdE9wdGlvbnNdW2l0ZW1JbmRleF07Cisg
ICAgICAgIE9wdGlvbkl0ZW0mIGl0ZW0gPSBbX2NvbnRlbnRWaWV3IGFzc2lzdGVkTm9kZVNlbGVj
dE9wdGlvbnNdW2l0ZW1JbmRleF07CiAgICAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IG5ld1N0YXRl
SXNTZWxlY3RlZDsKICAgICB9IGVsc2UgewogICAgICAgICBbdGFibGVWaWV3IGRlc2VsZWN0Um93
QXRJbmRleFBhdGg6aW5kZXhQYXRoIGFuaW1hdGVkOk5PXTsKQEAgLTMzNiwxNCArMzM2LDEzIEBA
IHN0YXRpYyBOU1N0cmluZyAqc3RyaW5nV2l0aFdyaXRpbmdEaXJlY3Rpb24oTlNTdHJpbmcgKnN0
cmluZywgVUlUZXh0V3JpdGluZ0RpcmVjCiAgICAgICAgICAgICBfc2luZ2xlU2VsZWN0aW9uU2Vj
dGlvbiA9IGluZGV4UGF0aC5zZWN0aW9uOwogIAogICAgICAgICAgICAgW19jb250ZW50VmlldyBw
YWdlXS0+c2V0QXNzaXN0ZWROb2RlU2VsZWN0ZWRJbmRleChpdGVtSW5kZXgpOwotICAgICAgICAg
ICAgV0tPcHRpb25JdGVtJiBuZXdJdGVtID0gW19jb250ZW50VmlldyBhc3Npc3RlZE5vZGVTZWxl
Y3RPcHRpb25zXVtpdGVtSW5kZXhdOworICAgICAgICAgICAgT3B0aW9uSXRlbSYgbmV3SXRlbSA9
IFtfY29udGVudFZpZXcgYXNzaXN0ZWROb2RlU2VsZWN0T3B0aW9uc11baXRlbUluZGV4XTsKICAg
ICAgICAgICAgIG5ld0l0ZW0uaXNTZWxlY3RlZCA9IHRydWU7CiAgICAgICAgIH0KICAgICAgICAg
CiAgICAgICAgIC8vIE5lZWQgdG8gdXBkYXRlIHRoZSBtb2RlbCBldmVuIGlmIHRoZXJlIGlzbid0
IGEgY2VsbC4KICAgICAgICAgaWYgKG9sZEluZGV4UGF0aCkgewotICAgICAgICAgICAgV0tPcHRp
b25JdGVtKiBvbGRJdGVtID0gW3NlbGYgZmluZEl0ZW1BdDpvbGRJbmRleFBhdGhdOwotICAgICAg
ICAgICAgaWYgKG9sZEl0ZW0pCisgICAgICAgICAgICBpZiAoT3B0aW9uSXRlbSogb2xkSXRlbSA9
IFtzZWxmIGZpbmRJdGVtQXQ6b2xkSW5kZXhQYXRoXSkKICAgICAgICAgICAgICAgICBvbGRJdGVt
LT5pc1NlbGVjdGVkID0gZmFsc2U7CiAgICAgICAgIH0KICAgICAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggN2Uy
MjJmMWE2NGVjZmMxNGE3MjkzOGM1OTFmMjlkOTdiNWFlMTA1ZC4uNGEyMmExZGY0ZjU1MDYwYzgw
MTBjMDQ5N2QxYjA5OGI0ZjVhYWJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMTgzNSw3ICsxODM1LDcgQEAgdm9p
ZCBXZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbihBc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbiYgaW5mb3JtYXRpb24pCiAKICAgICBpZiAoaXNIVE1MU2VsZWN0RWxlbWVudChtX2Fzc2lz
dGVkTm9kZS5nZXQoKSkpIHsKICAgICAgICAgSFRNTFNlbGVjdEVsZW1lbnQqIGVsZW1lbnQgPSB0
b0hUTUxTZWxlY3RFbGVtZW50KG1fYXNzaXN0ZWROb2RlLmdldCgpKTsKLSAgICAgICAgaW5mb3Jt
YXRpb24uZWxlbWVudFR5cGUgPSBXS1R5cGVTZWxlY3Q7CisgICAgICAgIGluZm9ybWF0aW9uLmVs
ZW1lbnRUeXBlID0gSW5wdXRUeXBlOjpTZWxlY3Q7CiAgICAgICAgIHNpemVfdCBjb3VudCA9IGVs
ZW1lbnQtPmxpc3RJdGVtcygpLnNpemUoKTsKICAgICAgICAgaW50IHBhcmVudEdyb3VwSUQgPSAw
OwogICAgICAgICAvLyBUaGUgcGFyZW50IGdyb3VwIElEIGluZGljYXRlcyB0aGUgZ3JvdXAgdGhl
IG9wdGlvbiBiZWxvbmdzIHRvIGFuZCBpcyAwIGZvciBncm91cCBlbGVtZW50cy4KQEAgLTE4NDUs
MTEgKzE4NDUsMTEgQEAgdm9pZCBXZWJQYWdlOjpnZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbihB
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYgaW5mb3JtYXRpb24pCiAgICAgICAgICAgICBIVE1MRWxl
bWVudCogaXRlbSA9IGVsZW1lbnQtPmxpc3RJdGVtcygpW2ldOwogICAgICAgICAgICAgaWYgKGlz
SFRNTE9wdGlvbkVsZW1lbnQoaXRlbSkpIHsKICAgICAgICAgICAgICAgICBIVE1MT3B0aW9uRWxl
bWVudCogb3B0aW9uID0gdG9IVE1MT3B0aW9uRWxlbWVudChpdGVtKTsKLSAgICAgICAgICAgICAg
ICBpbmZvcm1hdGlvbi5zZWxlY3RPcHRpb25zLmFwcGVuZChXS09wdGlvbkl0ZW0ob3B0aW9uLT50
ZXh0KCksIGZhbHNlLCBwYXJlbnRHcm91cElELCBvcHRpb24tPnNlbGVjdGVkKCksIG9wdGlvbi0+
ZmFzdEhhc0F0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmRpc2FibGVkQXR0cikpKTsKKyAg
ICAgICAgICAgICAgICBpbmZvcm1hdGlvbi5zZWxlY3RPcHRpb25zLmFwcGVuZChPcHRpb25JdGVt
KG9wdGlvbi0+dGV4dCgpLCBmYWxzZSwgcGFyZW50R3JvdXBJRCwgb3B0aW9uLT5zZWxlY3RlZCgp
LCBvcHRpb24tPmZhc3RIYXNBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpkaXNhYmxlZEF0
dHIpKSk7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzSFRNTE9wdEdyb3VwRWxlbWVudChpdGVt
KSkgewogICAgICAgICAgICAgICAgIEhUTUxPcHRHcm91cEVsZW1lbnQqIGdyb3VwID0gdG9IVE1M
T3B0R3JvdXBFbGVtZW50KGl0ZW0pOwogICAgICAgICAgICAgICAgIHBhcmVudEdyb3VwSUQrKzsK
LSAgICAgICAgICAgICAgICBpbmZvcm1hdGlvbi5zZWxlY3RPcHRpb25zLmFwcGVuZChXS09wdGlv
bkl0ZW0oZ3JvdXAtPmdyb3VwTGFiZWxUZXh0KCksIHRydWUsIDAsIGZhbHNlLCBncm91cC0+ZmFz
dEhhc0F0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmRpc2FibGVkQXR0cikpKTsKKyAgICAg
ICAgICAgICAgICBpbmZvcm1hdGlvbi5zZWxlY3RPcHRpb25zLmFwcGVuZChPcHRpb25JdGVtKGdy
b3VwLT5ncm91cExhYmVsVGV4dCgpLCB0cnVlLCAwLCBmYWxzZSwgZ3JvdXAtPmZhc3RIYXNBdHRy
aWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpkaXNhYmxlZEF0dHIpKSk7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgaW5mb3JtYXRpb24uc2VsZWN0ZWRJbmRleCA9IGVsZW1lbnQt
PnNlbGVjdGVkSW5kZXgoKTsKQEAgLTE4NTgsNyArMTg1OCw3IEBAIHZvaWQgV2ViUGFnZTo6Z2V0
QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mIGluZm9ybWF0
aW9uKQogICAgICAgICBIVE1MVGV4dEFyZWFFbGVtZW50KiBlbGVtZW50ID0gdG9IVE1MVGV4dEFy
ZWFFbGVtZW50KG1fYXNzaXN0ZWROb2RlLmdldCgpKTsKICAgICAgICAgaW5mb3JtYXRpb24uYXV0
b2NhcGl0YWxpemVUeXBlID0gc3RhdGljX2Nhc3Q8V2ViQXV0b2NhcGl0YWxpemVUeXBlPihlbGVt
ZW50LT5hdXRvY2FwaXRhbGl6ZVR5cGUoKSk7CiAgICAgICAgIGluZm9ybWF0aW9uLmlzQXV0b2Nv
cnJlY3QgPSBlbGVtZW50LT5hdXRvY29ycmVjdCgpOwotICAgICAgICBpbmZvcm1hdGlvbi5lbGVt
ZW50VHlwZSA9IFdLVHlwZVRleHRBcmVhOworICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50VHlw
ZSA9IElucHV0VHlwZTo6VGV4dEFyZWE7CiAgICAgICAgIGluZm9ybWF0aW9uLmlzUmVhZE9ubHkg
PSBlbGVtZW50LT5pc1JlYWRPbmx5KCk7CiAgICAgICAgIGluZm9ybWF0aW9uLnZhbHVlID0gZWxl
bWVudC0+dmFsdWUoKTsKICAgICB9IGVsc2UgaWYgKGlzSFRNTElucHV0RWxlbWVudChtX2Fzc2lz
dGVkTm9kZS5nZXQoKSkpIHsKQEAgLTE4NjksMzggKzE4NjksMzggQEAgdm9pZCBXZWJQYWdlOjpn
ZXRBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbihBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYgaW5mb3Jt
YXRpb24pCiAgICAgICAgIGluZm9ybWF0aW9uLmF1dG9jYXBpdGFsaXplVHlwZSA9IHN0YXRpY19j
YXN0PFdlYkF1dG9jYXBpdGFsaXplVHlwZT4oZWxlbWVudC0+YXV0b2NhcGl0YWxpemVUeXBlKCkp
OwogICAgICAgICBpbmZvcm1hdGlvbi5pc0F1dG9jb3JyZWN0ID0gZWxlbWVudC0+YXV0b2NvcnJl
Y3QoKTsKICAgICAgICAgaWYgKGVsZW1lbnQtPmlzUGFzc3dvcmRGaWVsZCgpKQotICAgICAgICAg
ICAgaW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPSBXS1R5cGVQYXNzd29yZDsKKyAgICAgICAgICAg
IGluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID0gSW5wdXRUeXBlOjpQYXNzd29yZDsKICAgICAgICAg
ZWxzZSBpZiAoZWxlbWVudC0+aXNTZWFyY2hGaWVsZCgpKQotICAgICAgICAgICAgaW5mb3JtYXRp
b24uZWxlbWVudFR5cGUgPSBXS1R5cGVTZWFyY2g7CisgICAgICAgICAgICBpbmZvcm1hdGlvbi5l
bGVtZW50VHlwZSA9IElucHV0VHlwZTo6U2VhcmNoOwogICAgICAgICBlbHNlIGlmIChlbGVtZW50
LT5pc0VtYWlsRmllbGQoKSkKLSAgICAgICAgICAgIGluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID0g
V0tUeXBlRW1haWw7CisgICAgICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9IElucHV0
VHlwZTo6RW1haWw7CiAgICAgICAgIGVsc2UgaWYgKGVsZW1lbnQtPmlzVGVsZXBob25lRmllbGQo
KSkKLSAgICAgICAgICAgIGluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID0gV0tUeXBlUGhvbmU7Cisg
ICAgICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9IElucHV0VHlwZTo6UGhvbmU7CiAg
ICAgICAgIGVsc2UgaWYgKGVsZW1lbnQtPmlzTnVtYmVyRmllbGQoKSkKLSAgICAgICAgICAgIGlu
Zm9ybWF0aW9uLmVsZW1lbnRUeXBlID0gZWxlbWVudC0+Z2V0QXR0cmlidXRlKCJwYXR0ZXJuIikg
PT0gIlxcZCoiIHx8IGVsZW1lbnQtPmdldEF0dHJpYnV0ZSgicGF0dGVybiIpID09ICJbMC05XSoi
ID8gV0tUeXBlTnVtYmVyUGFkIDogV0tUeXBlTnVtYmVyOworICAgICAgICAgICAgaW5mb3JtYXRp
b24uZWxlbWVudFR5cGUgPSBlbGVtZW50LT5nZXRBdHRyaWJ1dGUoInBhdHRlcm4iKSA9PSAiXFxk
KiIgfHwgZWxlbWVudC0+Z2V0QXR0cmlidXRlKCJwYXR0ZXJuIikgPT0gIlswLTldKiIgPyBJbnB1
dFR5cGU6Ok51bWJlclBhZCA6IElucHV0VHlwZTo6TnVtYmVyOwogICAgICAgICBlbHNlIGlmIChl
bGVtZW50LT5pc0RhdGVUaW1lTG9jYWxGaWVsZCgpKQotICAgICAgICAgICAgaW5mb3JtYXRpb24u
ZWxlbWVudFR5cGUgPSBXS1R5cGVEYXRlVGltZUxvY2FsOworICAgICAgICAgICAgaW5mb3JtYXRp
b24uZWxlbWVudFR5cGUgPSBJbnB1dFR5cGU6OkRhdGVUaW1lTG9jYWw7CiAgICAgICAgIGVsc2Ug
aWYgKGVsZW1lbnQtPmlzRGF0ZUZpZWxkKCkpCi0gICAgICAgICAgICBpbmZvcm1hdGlvbi5lbGVt
ZW50VHlwZSA9IFdLVHlwZURhdGU7CisgICAgICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50VHlw
ZSA9IElucHV0VHlwZTo6RGF0ZTsKICAgICAgICAgZWxzZSBpZiAoZWxlbWVudC0+aXNEYXRlVGlt
ZUZpZWxkKCkpCi0gICAgICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9IFdLVHlwZURh
dGVUaW1lOworICAgICAgICAgICAgaW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPSBJbnB1dFR5cGU6
OkRhdGVUaW1lOwogICAgICAgICBlbHNlIGlmIChlbGVtZW50LT5pc1RpbWVGaWVsZCgpKQotICAg
ICAgICAgICAgaW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPSBXS1R5cGVUaW1lOworICAgICAgICAg
ICAgaW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPSBJbnB1dFR5cGU6OlRpbWU7CiAgICAgICAgIGVs
c2UgaWYgKGVsZW1lbnQtPmlzV2Vla0ZpZWxkKCkpCi0gICAgICAgICAgICBpbmZvcm1hdGlvbi5l
bGVtZW50VHlwZSA9IFdLVHlwZVdlZWs7CisgICAgICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50
VHlwZSA9IElucHV0VHlwZTo6V2VlazsKICAgICAgICAgZWxzZSBpZiAoZWxlbWVudC0+aXNNb250
aEZpZWxkKCkpCi0gICAgICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9IFdLVHlwZU1v
bnRoOworICAgICAgICAgICAgaW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPSBJbnB1dFR5cGU6Ok1v
bnRoOwogICAgICAgICBlbHNlIGlmIChlbGVtZW50LT5pc1VSTEZpZWxkKCkpCi0gICAgICAgICAg
ICBpbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9IFdLVHlwZVVSTDsKKyAgICAgICAgICAgIGluZm9y
bWF0aW9uLmVsZW1lbnRUeXBlID0gSW5wdXRUeXBlOjpVUkw7CiAgICAgICAgIGVsc2UgaWYgKGVs
ZW1lbnQtPmlzVGV4dCgpKSB7CiAgICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHBhdHRl
cm4gPSBlbGVtZW50LT5mYXN0R2V0QXR0cmlidXRlKEhUTUxOYW1lczo6cGF0dGVybkF0dHIpOwog
ICAgICAgICAgICAgaWYgKHBhdHRlcm4gPT0gIlxcZCoiIHx8IHBhdHRlcm4gPT0gIlswLTldKiIp
Ci0gICAgICAgICAgICAgICAgaW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPSBXS1R5cGVOdW1iZXJQ
YWQ7CisgICAgICAgICAgICAgICAgaW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPSBJbnB1dFR5cGU6
Ok51bWJlclBhZDsKICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIGluZm9ybWF0
aW9uLmVsZW1lbnRUeXBlID0gV0tUeXBlVGV4dDsKKyAgICAgICAgICAgICAgICBpbmZvcm1hdGlv
bi5lbGVtZW50VHlwZSA9IElucHV0VHlwZTo6VGV4dDsKICAgICAgICAgICAgICAgICBpZiAoIWlu
Zm9ybWF0aW9uLmZvcm1BY3Rpb24uaXNFbXB0eSgpCiAgICAgICAgICAgICAgICAgICAgICYmIChl
bGVtZW50LT5nZXROYW1lQXR0cmlidXRlKCkuY29udGFpbnMoInNlYXJjaCIpIHx8IGVsZW1lbnQt
PmdldElkQXR0cmlidXRlKCkuY29udGFpbnMoInNlYXJjaCIpIHx8IGVsZW1lbnQtPmZhc3RHZXRB
dHRyaWJ1dGUoSFRNTE5hbWVzOjp0aXRsZUF0dHIpLmNvbnRhaW5zKCJzZWFyY2giKSkpCi0gICAg
ICAgICAgICAgICAgICAgIGluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID0gV0tUeXBlU2VhcmNoOwor
ICAgICAgICAgICAgICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9IElucHV0VHlwZTo6
U2VhcmNoOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTE5MDksNyArMTkwOSw3IEBA
IHZvaWQgV2ViUGFnZTo6Z2V0QXNzaXN0ZWROb2RlSW5mb3JtYXRpb24oQXNzaXN0ZWROb2RlSW5m
b3JtYXRpb24mIGluZm9ybWF0aW9uKQogICAgICAgICBpbmZvcm1hdGlvbi52YWx1ZUFzTnVtYmVy
ID0gZWxlbWVudC0+dmFsdWVBc051bWJlcigpOwogICAgICAgICBpbmZvcm1hdGlvbi50aXRsZSA9
IGVsZW1lbnQtPnRpdGxlKCk7CiAgICAgfSBlbHNlIGlmIChtX2Fzc2lzdGVkTm9kZS0+aGFzRWRp
dGFibGVTdHlsZSgpKSB7Ci0gICAgICAgIGluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID0gV0tUeXBl
Q29udGVudEVkaXRhYmxlOworICAgICAgICBpbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9IElucHV0
VHlwZTo6Q29udGVudEVkaXRhYmxlOwogICAgICAgICBpbmZvcm1hdGlvbi5pc0F1dG9jb3JyZWN0
ID0gdHJ1ZTsgICAvLyBGSVhNRTogU2hvdWxkIHdlIGxvb2sgYXQgdGhlIGF0dHJpYnV0ZT8KICAg
ICAgICAgaW5mb3JtYXRpb24uYXV0b2NhcGl0YWxpemVUeXBlID0gV2ViQXV0b2NhcGl0YWxpemVU
eXBlU2VudGVuY2VzOyAvLyBGSVhNRTogU2hvdWxkIHdlIGxvb2sgYXQgdGhlIGF0dHJpYnV0ZT8K
ICAgICAgICAgaW5mb3JtYXRpb24uaXNSZWFkT25seSA9IGZhbHNlOwo=
</data>
<flag name="review"
          id="258126"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>