<?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>74748</bug_id>
          
          <creation_ts>2011-12-16 14:23:06 -0800</creation_ts>
          <short_desc>Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step</short_desc>
          <delta_ts>2011-12-16 15:34:44 -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>HTML Editing</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>
          <dependson>74490</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>japhet</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>523025</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-16 14:23:06 -0800</bug_when>
    <thetext>After http://trac.webkit.org/changeset/103104, the interface for unapply/reapplying an editing action has been changed from EditCommand to UndoStep. We should rename these methods as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523054</commentid>
    <comment_count>1</comment_count>
      <attachid>119678</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-16 14:52:36 -0800</bug_when>
    <thetext>Created attachment 119678
cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523073</commentid>
    <comment_count>2</comment_count>
      <attachid>119678</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-12-16 15:04:13 -0800</bug_when>
    <thetext>Comment on attachment 119678
cleanup

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

&gt; Source/WebCore/editing/Editor.cpp:892
&gt; -            client()-&gt;registerCommandForUndo(toCompositeEditCommand(m_lastEditCommand.get())-&gt;ensureComposition());
&gt; +            client()-&gt;registerUndoStep(toCompositeEditCommand(m_lastEditCommand.get())-&gt;ensureComposition());

If we do this casting often we should have a lastCommandAsComposite() or similar accessor :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523084</commentid>
    <comment_count>3</comment_count>
      <attachid>119678</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-16 15:16:08 -0800</bug_when>
    <thetext>Comment on attachment 119678
cleanup

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

&gt;&gt; Source/WebCore/editing/Editor.cpp:892
&gt;&gt; +            client()-&gt;registerUndoStep(toCompositeEditCommand(m_lastEditCommand.get())-&gt;ensureComposition());
&gt; 
&gt; If we do this casting often we should have a lastCommandAsComposite() or similar accessor :)

Actually, this cast is no longer necessary as m_lastEditCommand&apos;s type is now RefPtr&lt;CompositeEditCommand&gt;. Will remove the cast.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523114</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-12-16 15:34:44 -0800</bug_when>
    <thetext>Committed r103119: &lt;http://trac.webkit.org/changeset/103119&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119678</attachid>
            <date>2011-12-16 14:52:36 -0800</date>
            <delta_ts>2011-12-16 15:16:08 -0800</delta_ts>
            <desc>cleanup</desc>
            <filename>bug-74748-20111216145235.patch</filename>
            <type>text/plain</type>
            <size>26161</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMzExMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDExLTEyLTE2ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSByZWdpc3RlckNvbW1h
bmRGb3IoVW5kb3xSZWRvKSB0byByZWdpc3RlcihVbmRvfFJlZG8pU3RlcAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NDgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWVkIHJlZ2lzdGVyQ29tbWFu
ZEZvclVuZG8gYW5kIHJlZ2lzdGVyQ29tbWFuZEZvclJlZG8gdG8KKyAgICAgICAgcmVnaXN0ZXJV
bmRvU3RlcCBhbmQgcmVnaXN0ZXJSZWRvU3RlcCByZXNwZWN0aXZlbHkuCisKKyAgICAgICAgKiBl
ZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OmFwcGxpZWRFZGl0
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6dW5hcHBsaWVkRWRpdGluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpFZGl0b3I6OnJlYXBwbGllZEVkaXRpbmcpOgorICAgICAgICAqIGxvYWRl
ci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RWRpdG9yQ2xpZW50Ojpy
ZWdpc3RlclVuZG9TdGVwKToKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RWRpdG9yQ2xpZW50Ojpy
ZWdpc3RlclJlZG9TdGVwKToKKyAgICAgICAgKiBwYWdlL0VkaXRvckNsaWVudC5oOgorCiAyMDEx
LTEyLTE2ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgR2l2ZSBQbGF0
Zm9ybUV2ZW50cyBhIGJhc2UgY2xhc3MKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJ
KHJldmlzaW9uIDEwMzEwNikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODg5LDcgKzg4OSw3IEBAIHZvaWQgRWRpdG9yOjphcHBsaWVkRWRp
dGluZyhQYXNzUmVmUHRyPEMKICAgICAgICAgLy8gZGlmZmVyZW50IGZyb20gdGhlIGxhc3QgY29t
bWFuZAogICAgICAgICBtX2xhc3RFZGl0Q29tbWFuZCA9IGNtZDsKICAgICAgICAgaWYgKGNsaWVu
dCgpKQotICAgICAgICAgICAgY2xpZW50KCktPnJlZ2lzdGVyQ29tbWFuZEZvclVuZG8odG9Db21w
b3NpdGVFZGl0Q29tbWFuZChtX2xhc3RFZGl0Q29tbWFuZC5nZXQoKSktPmVuc3VyZUNvbXBvc2l0
aW9uKCkpOworICAgICAgICAgICAgY2xpZW50KCktPnJlZ2lzdGVyVW5kb1N0ZXAodG9Db21wb3Np
dGVFZGl0Q29tbWFuZChtX2xhc3RFZGl0Q29tbWFuZC5nZXQoKSktPmVuc3VyZUNvbXBvc2l0aW9u
KCkpOwogICAgIH0KIAogICAgIHJlc3BvbmRUb0NoYW5nZWRDb250ZW50cyhuZXdTZWxlY3Rpb24p
OwpAQCAtOTA3LDcgKzkwNyw3IEBAIHZvaWQgRWRpdG9yOjp1bmFwcGxpZWRFZGl0aW5nKFBhc3NS
ZWZQdHIKICAgICAKICAgICBtX2xhc3RFZGl0Q29tbWFuZCA9IDA7CiAgICAgaWYgKGNsaWVudCgp
KQotICAgICAgICBjbGllbnQoKS0+cmVnaXN0ZXJDb21tYW5kRm9yUmVkbyhjbWQpOworICAgICAg
ICBjbGllbnQoKS0+cmVnaXN0ZXJSZWRvU3RlcChjbWQpOwogICAgIHJlc3BvbmRUb0NoYW5nZWRD
b250ZW50cyhuZXdTZWxlY3Rpb24pOwogfQogCkBAIC05MjIsNyArOTIyLDcgQEAgdm9pZCBFZGl0
b3I6OnJlYXBwbGllZEVkaXRpbmcoUGFzc1JlZlB0cgogICAgIAogICAgIG1fbGFzdEVkaXRDb21t
YW5kID0gMDsKICAgICBpZiAoY2xpZW50KCkpCi0gICAgICAgIGNsaWVudCgpLT5yZWdpc3RlckNv
bW1hbmRGb3JVbmRvKGNtZCk7CisgICAgICAgIGNsaWVudCgpLT5yZWdpc3RlclVuZG9TdGVwKGNt
ZCk7CiAgICAgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKG5ld1NlbGVjdGlvbik7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgJKHJldmlzaW9uIDEwMzEwNikKKysr
IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAkod29ya2luZyBjb3B5KQpAQCAt
NDU5LDggKzQ1OSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxlY3Rp
b25Ub1Bhc3RlYm9hcmQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlw
ZXNGb3JQYXN0ZWJvYXJkKCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDb21tYW5k
Rm9yVW5kbyhQYXNzUmVmUHRyPFVuZG9TdGVwPikgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHJlZ2lz
dGVyQ29tbWFuZEZvclJlZG8oUGFzc1JlZlB0cjxVbmRvU3RlcD4pIHsgfQorICAgIHZpcnR1YWwg
dm9pZCByZWdpc3RlclVuZG9TdGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+KSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgcmVnaXN0ZXJSZWRvU3RlcChQYXNzUmVmUHRyPFVuZG9TdGVwPikgeyB9CiAgICAg
dmlydHVhbCB2b2lkIGNsZWFyVW5kb1JlZG9PcGVyYXRpb25zKCkgeyB9CiAKICAgICB2aXJ0dWFs
IGJvb2wgY2FuQ29weUN1dChGcmFtZSosIGJvb2wgZGVmYXVsdFZhbHVlKSBjb25zdCB7IHJldHVy
biBkZWZhdWx0VmFsdWU7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQuaAkocmV2
aXNpb24gMTAzMTA2KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9FZGl0b3JDbGllbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtOTksOCArOTksOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRp
ZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRT
ZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKSA9IDA7CiAgICAgCi0gICAgdmlydHVhbCB2
b2lkIHJlZ2lzdGVyQ29tbWFuZEZvclVuZG8oUGFzc1JlZlB0cjxVbmRvU3RlcD4pID0gMDsKLSAg
ICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDb21tYW5kRm9yUmVkbyhQYXNzUmVmUHRyPFVuZG9TdGVw
PikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclVuZG9TdGVwKFBhc3NSZWZQdHI8VW5k
b1N0ZXA+KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUmVkb1N0ZXAoUGFzc1JlZlB0
cjxVbmRvU3RlcD4pID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJVbmRvUmVkb09wZXJhdGlv
bnMoKSA9IDA7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuQ29weUN1dChGcmFtZSosIGJvb2wgZGVm
YXVsdFZhbHVlKSBjb25zdCA9IDA7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDMxMTIpCisr
KyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBA
QAorMjAxMS0xMi0xNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAg
ICBSZW5hbWUgcmVnaXN0ZXJDb21tYW5kRm9yKFVuZG98UmVkbykgdG8gcmVnaXN0ZXIoVW5kb3xS
ZWRvKVN0ZXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc0NzQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkVkaXRvckNsaWVudDo6cmVnaXN0ZXJVbmRvU3RlcCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkVkaXRvckNsaWVudDo6cmVnaXN0ZXJSZWRvU3RlcCk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaDoKKwogMjAxMS0xMi0xNiAg
U2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEdpdmUgUGxhdGZvcm1FdmVu
dHMgYSBiYXNlIGNsYXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCShyZXZpc2lvbiAx
MDMxMDYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVk
aXRvckNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyMCw3ICsyMjAsNyBAQCB2b2lkIFdl
YkVkaXRvckNsaWVudDo6ZGlkU2V0U2VsZWN0aW9uVHlwCiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
IH0KIAotdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnJlZ2lzdGVyQ29tbWFuZEZvclVuZG8oUGFzc1Jl
ZlB0cjxVbmRvU3RlcD4gc3RlcCkKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZWdpc3RlclVuZG9T
dGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+IHN0ZXApCiB7CiAgICAgLy8gRklYTUU6IEFkZCBhc3Nl
cnRpb24gdGhhdCB0aGUgY29tbWFuZCBiZWluZyByZWFwcGxpZWQgaXMgdGhlIHNhbWUgY29tbWFu
ZCB0aGF0IGlzCiAgICAgLy8gYmVpbmcgcGFzc2VkIHRvIHVzLgpAQCAtMjM0LDcgKzIzNCw3IEBA
IHZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZWdpc3RlckNvbW1hbmRGb3IKICAgICBtX3BhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UmVnaXN0ZXJFZGl0Q29tbWFuZEZvclVuZG8od2Vi
U3RlcC0+c3RlcElEKCksIGVkaXRBY3Rpb24pKTsKIH0KIAotdm9pZCBXZWJFZGl0b3JDbGllbnQ6
OnJlZ2lzdGVyQ29tbWFuZEZvclJlZG8oUGFzc1JlZlB0cjxVbmRvU3RlcD4pCit2b2lkIFdlYkVk
aXRvckNsaWVudDo6cmVnaXN0ZXJSZWRvU3RlcChQYXNzUmVmUHRyPFVuZG9TdGVwPikKIHsKIH0K
IApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCShyZXZpc2lvbiAxMDMxMDYpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02OSw4ICs2OSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRp
ZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lk
IGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpIE9WRVJSSURFOwogICAgIAotICAg
IHZpcnR1YWwgdm9pZCByZWdpc3RlckNvbW1hbmRGb3JVbmRvKFBhc3NSZWZQdHI8V2ViQ29yZTo6
VW5kb1N0ZXA+KSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDb21tYW5kRm9y
UmVkbyhQYXNzUmVmUHRyPFdlYkNvcmU6OlVuZG9TdGVwPikgT1ZFUlJJREU7CisgICAgdmlydHVh
bCB2b2lkIHJlZ2lzdGVyVW5kb1N0ZXAoUGFzc1JlZlB0cjxXZWJDb3JlOjpVbmRvU3RlcD4pIE9W
RVJSSURFOworICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclJlZG9TdGVwKFBhc3NSZWZQdHI8V2Vi
Q29yZTo6VW5kb1N0ZXA+KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJVbmRvUmVk
b09wZXJhdGlvbnMoKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5Db3B5Q3V0KFdl
YkNvcmU6OkZyYW1lKiwgYm9vbCBkZWZhdWx0VmFsdWUpIGNvbnN0IE9WRVJSSURFOwpJbmRleDog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMzExMikKKysrIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTEtMTItMTYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVu
YW1lIHJlZ2lzdGVyQ29tbWFuZEZvcihVbmRvfFJlZG8pIHRvIHJlZ2lzdGVyKFVuZG98UmVkbylT
dGVwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc0
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3Jj
L0VkaXRvckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpFZGl0b3JDbGllbnRJbXBs
OjpyZWdpc3RlclVuZG9TdGVwKToKKyAgICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50SW1wbDo6
cmVnaXN0ZXJSZWRvU3RlcCk6CisgICAgICAgICogc3JjL0VkaXRvckNsaWVudEltcGwuaDoKKwog
MjAxMS0xMi0xNiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEdpdmUg
UGxhdGZvcm1FdmVudHMgYSBiYXNlIGNsYXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAkocmV2aXNpb24gMTAzMTA2KQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI4OCw3ICsyODgsNyBAQCB2b2lkIEVkaXRvckNsaWVudEltcGw6OmRpZFNldFNlbGVj
dGlvblR5CiB7CiB9CiAKLXZvaWQgRWRpdG9yQ2xpZW50SW1wbDo6cmVnaXN0ZXJDb21tYW5kRm9y
VW5kbyhQYXNzUmVmUHRyPFVuZG9TdGVwPiBzdGVwKQordm9pZCBFZGl0b3JDbGllbnRJbXBsOjpy
ZWdpc3RlclVuZG9TdGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+IHN0ZXApCiB7CiAgICAgaWYgKG1f
dW5kb1N0YWNrLnNpemUoKSA9PSBtYXhpbXVtVW5kb1N0YWNrRGVwdGgpCiAgICAgICAgIG1fdW5k
b1N0YWNrLnJlbW92ZUZpcnN0KCk7IC8vIGRyb3Agb2xkZXN0IGl0ZW0gb2ZmIHRoZSBmYXIgZW5k
CkBAIC0yOTcsNyArMjk3LDcgQEAgdm9pZCBFZGl0b3JDbGllbnRJbXBsOjpyZWdpc3RlckNvbW1h
bmRGbwogICAgIG1fdW5kb1N0YWNrLmFwcGVuZChzdGVwKTsKIH0KIAotdm9pZCBFZGl0b3JDbGll
bnRJbXBsOjpyZWdpc3RlckNvbW1hbmRGb3JSZWRvKFBhc3NSZWZQdHI8VW5kb1N0ZXA+IHN0ZXAp
Cit2b2lkIEVkaXRvckNsaWVudEltcGw6OnJlZ2lzdGVyUmVkb1N0ZXAoUGFzc1JlZlB0cjxVbmRv
U3RlcD4gc3RlcCkKIHsKICAgICBtX3JlZG9TdGFjay5hcHBlbmQoc3RlcCk7CiB9CkluZGV4OiBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oCShyZXZpc2lv
biAxMDMxMDYpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBs
LmgJKHdvcmtpbmcgY29weSkKQEAgLTc1LDggKzc1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBkaWRFbmRFZGl0aW5nKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9u
VG9QYXN0ZWJvYXJkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9y
UGFzdGVib2FyZCgpOwotICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckNvbW1hbmRGb3JVbmRvKFBh
c3NSZWZQdHI8V2ViQ29yZTo6VW5kb1N0ZXA+KTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJD
b21tYW5kRm9yUmVkbyhQYXNzUmVmUHRyPFdlYkNvcmU6OlVuZG9TdGVwPik7CisgICAgdmlydHVh
bCB2b2lkIHJlZ2lzdGVyVW5kb1N0ZXAoUGFzc1JlZlB0cjxXZWJDb3JlOjpVbmRvU3RlcD4pOwor
ICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclJlZG9TdGVwKFBhc3NSZWZQdHI8V2ViQ29yZTo6VW5k
b1N0ZXA+KTsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJVbmRvUmVkb09wZXJhdGlvbnMoKTsKICAg
ICB2aXJ0dWFsIGJvb2wgY2FuQ29weUN1dChXZWJDb3JlOjpGcmFtZSosIGJvb2wgZGVmYXVsdFZh
bHVlKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgY2FuUGFzdGUoV2ViQ29yZTo6RnJhbWUqLCBi
b29sIGRlZmF1bHRWYWx1ZSkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCShyZXZpc2lvbiAx
MDMxMTIpCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNSBAQAorMjAxMS0xMi0xNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZW5hbWUgcmVnaXN0ZXJDb21tYW5kRm9yKFVuZG98UmVkbykgdG8gcmVn
aXN0ZXIoVW5kb3xSZWRvKVN0ZXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc0NzQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50RWZsOjpyZWdpc3RlclVuZG9TdGVwKToKKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6cmVnaXN0ZXJSZWRvU3RlcCk6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmg6CisKIDIwMTEtMTItMTYgIFNhbSBXZWlu
aWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBHaXZlIFBsYXRmb3JtRXZlbnRzIGEgYmFz
ZSBjbGFzcwpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xp
ZW50RWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRFZmwuY3BwCShyZXZpc2lvbiAxMDMxMDYpCisrKyBTb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjAsMTQgKzE2MCwxNCBAQCB2b2lkIEVkaXRvckNsaWVudEVmbDo6ZGlkU2V0U2VsZWN0aW9u
VHlwCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRFZmw6OnJl
Z2lzdGVyQ29tbWFuZEZvclVuZG8oV1RGOjpQYXNzUmVmUHRyPFVuZG9TdGVwPiBzdGVwKQordm9p
ZCBFZGl0b3JDbGllbnRFZmw6OnJlZ2lzdGVyVW5kb1N0ZXAoV1RGOjpQYXNzUmVmUHRyPFVuZG9T
dGVwPiBzdGVwKQogewogICAgIGlmICghbV9pc0luUmVkbykKICAgICAgICAgcmVkb1N0YWNrLmNs
ZWFyKCk7CiAgICAgdW5kb1N0YWNrLnByZXBlbmQoc3RlcCk7CiB9CiAKLXZvaWQgRWRpdG9yQ2xp
ZW50RWZsOjpyZWdpc3RlckNvbW1hbmRGb3JSZWRvKFdURjo6UGFzc1JlZlB0cjxVbmRvU3RlcD4g
c3RlcCkKK3ZvaWQgRWRpdG9yQ2xpZW50RWZsOjpyZWdpc3RlclJlZG9TdGVwKFdURjo6UGFzc1Jl
ZlB0cjxVbmRvU3RlcD4gc3RlcCkKIHsKICAgICByZWRvU3RhY2sucHJlcGVuZChzdGVwKTsKIH0K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNs
aWVudEVmbC5oCShyZXZpc2lvbiAxMDMxMDYpCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaAkod29ya2luZyBjb3B5KQpAQCAtODQsOCArODQsOCBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJk
KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgp
OwogCi0gICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQ29tbWFuZEZvclVuZG8oV1RGOjpQYXNzUmVm
UHRyPFVuZG9TdGVwPik7Ci0gICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQ29tbWFuZEZvclJlZG8o
V1RGOjpQYXNzUmVmUHRyPFVuZG9TdGVwPik7CisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyVW5k
b1N0ZXAoV1RGOjpQYXNzUmVmUHRyPFVuZG9TdGVwPik7CisgICAgdmlydHVhbCB2b2lkIHJlZ2lz
dGVyUmVkb1N0ZXAoV1RGOjpQYXNzUmVmUHRyPFVuZG9TdGVwPik7CiAgICAgdmlydHVhbCB2b2lk
IGNsZWFyVW5kb1JlZG9PcGVyYXRpb25zKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuQ29weUN1
dChGcmFtZSosIGJvb2wgZGVmYXVsdFZhbHVlKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDEwMzExMikKKysrIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDExLTEyLTE2ICBSeW9zdWtlIE5pd2EgIDxybml3
YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSByZWdpc3RlckNvbW1hbmRGb3IoVW5kb3xS
ZWRvKSB0byByZWdpc3RlcihVbmRvfFJlZG8pU3RlcAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5j
cHA6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudDo6cmVnaXN0ZXJVbmRvU3RlcCk6Cisg
ICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudDo6cmVnaXN0ZXJSZWRvU3RlcCk6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmg6CisKIDIwMTEtMTItMTYgIFNhbSBX
ZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBHaXZlIFBsYXRmb3JtRXZlbnRzIGEg
YmFzZSBjbGFzcwpJbmRleDogU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9y
Q2xpZW50R3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCShyZXZpc2lvbiAxMDMxMDYpCisrKyBTb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNDUsNyArMzQ1LDcgQEAgdm9pZCBFZGl0b3JDbGllbnQ6OmRpZFNldFNlbGVjdGlvblR5
cGVzRgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgRWRpdG9yQ2xpZW50OjpyZWdp
c3RlckNvbW1hbmRGb3JVbmRvKFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpVbmRvU3RlcD4gc3Rl
cCkKK3ZvaWQgRWRpdG9yQ2xpZW50OjpyZWdpc3RlclVuZG9TdGVwKFdURjo6UGFzc1JlZlB0cjxX
ZWJDb3JlOjpVbmRvU3RlcD4gc3RlcCkKIHsKICAgICBpZiAodW5kb1N0YWNrLnNpemUoKSA9PSBt
YXhpbXVtVW5kb1N0YWNrRGVwdGgpCiAgICAgICAgIHVuZG9TdGFjay5yZW1vdmVGaXJzdCgpOwpA
QCAtMzU0LDcgKzM1NCw3IEBAIHZvaWQgRWRpdG9yQ2xpZW50OjpyZWdpc3RlckNvbW1hbmRGb3JV
bmQKICAgICB1bmRvU3RhY2suYXBwZW5kKHN0ZXApOwogfQogCi12b2lkIEVkaXRvckNsaWVudDo6
cmVnaXN0ZXJDb21tYW5kRm9yUmVkbyhXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6VW5kb1N0ZXA+
IHN0ZXApCit2b2lkIEVkaXRvckNsaWVudDo6cmVnaXN0ZXJSZWRvU3RlcChXVEY6OlBhc3NSZWZQ
dHI8V2ViQ29yZTo6VW5kb1N0ZXA+IHN0ZXApCiB7CiAgICAgcmVkb1N0YWNrLmFwcGVuZChzdGVw
KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dEd0ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Vk
aXRvckNsaWVudEd0ay5oCShyZXZpc2lvbiAxMDMxMDYpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuaAkod29ya2luZyBjb3B5KQpAQCAtMTA1LDgg
KzEwNSw4IEBAIGNsYXNzIEVkaXRvckNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpFZGkKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCk7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKTsKIAotICAg
ICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDb21tYW5kRm9yVW5kbyhXVEY6OlBhc3NSZWZQdHI8
V2ViQ29yZTo6VW5kb1N0ZXA+KTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQ29tbWFu
ZEZvclJlZG8oV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlVuZG9TdGVwPik7CisgICAgICAgIHZp
cnR1YWwgdm9pZCByZWdpc3RlclVuZG9TdGVwKFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpVbmRv
U3RlcD4pOworICAgICAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJSZWRvU3RlcChXVEY6OlBhc3NS
ZWZQdHI8V2ViQ29yZTo6VW5kb1N0ZXA+KTsKICAgICAgICAgdmlydHVhbCB2b2lkIGNsZWFyVW5k
b1JlZG9PcGVyYXRpb25zKCk7CiAKICAgICAgICAgdmlydHVhbCBib29sIGNhbkNvcHlDdXQoV2Vi
Q29yZTo6RnJhbWUqLCBib29sIGRlZmF1bHRWYWx1ZSkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxMDMxMTIpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0xMi0xNiAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgcmVnaXN0ZXJDb21tYW5kRm9yKFVu
ZG98UmVkbykgdG8gcmVnaXN0ZXIoVW5kb3xSZWRvKVN0ZXAKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06CisgICAg
ICAgIChXZWJFZGl0b3JDbGllbnQ6OnJlZ2lzdGVyVW5kb09yUmVkb1N0ZXApOgorICAgICAgICAo
V2ViRWRpdG9yQ2xpZW50OjpyZWdpc3RlclVuZG9TdGVwKToKKyAgICAgICAgKFdlYkVkaXRvckNs
aWVudDo6cmVnaXN0ZXJSZWRvU3RlcCk6CisKIDIwMTEtMTItMTYgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KIAogICAgICAgICBHaXZlIFBsYXRmb3JtRXZlbnRzIGEgYmFzZSBjbGFzcwpJ
bmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9y
Q2xpZW50LmgJKHJldmlzaW9uIDEwMzEwNikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsOCArMTAwLDgg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXNwb25kVG9DaGFuZ2VkQ29udGVudHMoKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzcG9uZFRvQ2hhbmdlZFNlbGVjdGlvbihXZWJD
b3JlOjpGcmFtZSopIE9WRVJSSURFOwogCi0gICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyQ29tbWFu
ZEZvclVuZG8oUGFzc1JlZlB0cjxXZWJDb3JlOjpVbmRvU3RlcD4pIE9WRVJSSURFOwotICAgIHZp
cnR1YWwgdm9pZCByZWdpc3RlckNvbW1hbmRGb3JSZWRvKFBhc3NSZWZQdHI8V2ViQ29yZTo6VW5k
b1N0ZXA+KSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJVbmRvU3RlcChQYXNz
UmVmUHRyPFdlYkNvcmU6OlVuZG9TdGVwPikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJl
Z2lzdGVyUmVkb1N0ZXAoUGFzc1JlZlB0cjxXZWJDb3JlOjpVbmRvU3RlcD4pIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgdm9pZCBjbGVhclVuZG9SZWRvT3BlcmF0aW9ucygpIE9WRVJSSURFOwogCiAg
ICAgdmlydHVhbCBib29sIGNhbkNvcHlDdXQoV2ViQ29yZTo6RnJhbWUqLCBib29sIGRlZmF1bHRW
YWx1ZSkgY29uc3QgT1ZFUlJJREU7CkBAIC0xNDMsNyArMTQzLDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCByZWNvcmRBdXRvY29ycmVjdGlvblJlc3BvbnNlKEF1dG9jb3JyZWN0aW9uUmVz
cG9uc2VUeXBlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VkU3RyaW5nLCBjb25zdCBTdHJpbmcmIHJl
cGxhY2VtZW50U3RyaW5nKSBPVkVSUklERTsKICNlbmRpZgogcHJpdmF0ZToKLSAgICB2b2lkIHJl
Z2lzdGVyQ29tbWFuZEZvclVuZG9PclJlZG8oUGFzc1JlZlB0cjxXZWJDb3JlOjpVbmRvU3RlcD4s
IGJvb2wgaXNSZWRvKTsKKyAgICB2b2lkIHJlZ2lzdGVyVW5kb09yUmVkb1N0ZXAoUGFzc1JlZlB0
cjxXZWJDb3JlOjpVbmRvU3RlcD4sIGJvb2wgaXNSZWRvKTsKICAgICBXZWJFZGl0b3JDbGllbnQo
KTsKIAogICAgIFdlYlZpZXcgKm1fd2ViVmlldzsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0JKHJldmlzaW9uIDEwMzEw
NikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5t
bQkod29ya2luZyBjb3B5KQpAQCAtNTEyLDcgKzUxMiw3IEBAIHN0YXRpYyBOU1N0cmluZyogdW5k
b05hbWVGb3JFZGl0QWN0aW9uKEUKICAgICByZXR1cm4gbmlsOwogfQogCi12b2lkIFdlYkVkaXRv
ckNsaWVudDo6cmVnaXN0ZXJDb21tYW5kRm9yVW5kb09yUmVkbyhQYXNzUmVmUHRyPFVuZG9TdGVw
PiBzdGVwLCBib29sIGlzUmVkbykKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZWdpc3RlclVuZG9P
clJlZG9TdGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+IHN0ZXAsIGJvb2wgaXNSZWRvKQogewogICAg
IEFTU0VSVChzdGVwKTsKICAgICAKQEAgLTUyNSwxNCArNTI1LDE0IEBAIHZvaWQgV2ViRWRpdG9y
Q2xpZW50OjpyZWdpc3RlckNvbW1hbmRGb3IKICAgICBtX2hhdmVVbmRvUmVkb09wZXJhdGlvbnMg
PSBZRVM7CiB9CiAKLXZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZWdpc3RlckNvbW1hbmRGb3JVbmRv
KFBhc3NSZWZQdHI8VW5kb1N0ZXA+IGNtZCkKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZWdpc3Rl
clVuZG9TdGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+IGNtZCkKIHsKLSAgICByZWdpc3RlckNvbW1h
bmRGb3JVbmRvT3JSZWRvKGNtZCwgZmFsc2UpOworICAgIHJlZ2lzdGVyVW5kb09yUmVkb1N0ZXAo
Y21kLCBmYWxzZSk7CiB9CiAKLXZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZWdpc3RlckNvbW1hbmRG
b3JSZWRvKFBhc3NSZWZQdHI8VW5kb1N0ZXA+IGNtZCkKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50Ojpy
ZWdpc3RlclJlZG9TdGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+IGNtZCkKIHsKLSAgICByZWdpc3Rl
ckNvbW1hbmRGb3JVbmRvT3JSZWRvKGNtZCwgdHJ1ZSk7CisgICAgcmVnaXN0ZXJVbmRvT3JSZWRv
U3RlcChjbWQsIHRydWUpOwogfQogCiB2b2lkIFdlYkVkaXRvckNsaWVudDo6Y2xlYXJVbmRvUmVk
b09wZXJhdGlvbnMoKQpJbmRleDogU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMzExMikKKysrIFNv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTEtMTItMTYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmVuYW1lIHJlZ2lzdGVyQ29tbWFuZEZvcihVbmRvfFJlZG8pIHRvIHJlZ2lzdGVyKFVuZG98UmVk
bylTdGVwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
NDc0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRp
dG9yQ2xpZW50UXQ6OnJlZ2lzdGVyVW5kb1N0ZXApOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9y
Q2xpZW50UXQ6OnJlZ2lzdGVyUmVkb1N0ZXApOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Vk
aXRvckNsaWVudFF0Lmg6CisKIDIwMTEtMTItMTYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBHaXZlIFBsYXRmb3JtRXZlbnRzIGEgYmFzZSBjbGFzcwpJbmRleDogU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAJ
KHJldmlzaW9uIDEwMzEwNikKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRp
dG9yQ2xpZW50UXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzcsNyArMjM3LDcgQEAgYm9vbCBF
ZGl0b3JDbGllbnRRdDo6c2VsZWN0V29yZEJlZm9yZU1lbgogICAgIHJldHVybiBmYWxzZTsKIH0K
IAotdm9pZCBFZGl0b3JDbGllbnRRdDo6cmVnaXN0ZXJDb21tYW5kRm9yVW5kbyhXVEY6OlBhc3NS
ZWZQdHI8V2ViQ29yZTo6VW5kb1N0ZXA+IHN0ZXApCit2b2lkIEVkaXRvckNsaWVudFF0OjpyZWdp
c3RlclVuZG9TdGVwKFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpVbmRvU3RlcD4gc3RlcCkKIHsK
ICNpZm5kZWYgUVRfTk9fVU5ET1NUQUNLCiAgICAgRnJhbWUqIGZyYW1lID0gbV9wYWdlLT5kLT5w
YWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CkBAIC0yNDcsNyAr
MjQ3LDcgQEAgdm9pZCBFZGl0b3JDbGllbnRRdDo6cmVnaXN0ZXJDb21tYW5kRm9yVQogI2VuZGlm
IC8vIFFUX05PX1VORE9TVEFDSwogfQogCi12b2lkIEVkaXRvckNsaWVudFF0OjpyZWdpc3RlckNv
bW1hbmRGb3JSZWRvKFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpVbmRvU3RlcD4pCit2b2lkIEVk
aXRvckNsaWVudFF0OjpyZWdpc3RlclJlZG9TdGVwKFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpV
bmRvU3RlcD4pCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50UXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudFF0LmgJKHJldmlzaW9uIDEwMzEwNikKKysrIFNvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuaAkod29ya2luZyBjb3B5KQpAQCAt
NzQsOCArNzQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFdyaXRlU2VsZWN0aW9u
VG9QYXN0ZWJvYXJkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlbGVjdGlvblR5cGVzRm9y
UGFzdGVib2FyZCgpOwogICAgIAotICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlckNvbW1hbmRGb3JV
bmRvKFBhc3NSZWZQdHI8VW5kb1N0ZXA+KTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDb21t
YW5kRm9yUmVkbyhQYXNzUmVmUHRyPFVuZG9TdGVwPik7CisgICAgdmlydHVhbCB2b2lkIHJlZ2lz
dGVyVW5kb1N0ZXAoUGFzc1JlZlB0cjxVbmRvU3RlcD4pOworICAgIHZpcnR1YWwgdm9pZCByZWdp
c3RlclJlZG9TdGVwKFBhc3NSZWZQdHI8VW5kb1N0ZXA+KTsKICAgICB2aXJ0dWFsIHZvaWQgY2xl
YXJVbmRvUmVkb09wZXJhdGlvbnMoKTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5Db3B5Q3V0KEZy
YW1lKiwgYm9vbCBkZWZhdWx0VmFsdWUpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYktpdC93aW4v
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2
aXNpb24gMTAzMTEyKQorKysgU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTItMTYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmVuYW1lIHJlZ2lzdGVyQ29tbWFuZEZvcihVbmRvfFJlZG8p
IHRvIHJlZ2lzdGVyKFVuZG98UmVkbylTdGVwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NDc0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcDoK
KyAgICAgICAgKFdlYkVkaXRvckNsaWVudDo6cmVnaXN0ZXJVbmRvU3RlcCk6CisgICAgICAgIChX
ZWJFZGl0b3JDbGllbnQ6OnJlZ2lzdGVyUmVkb1N0ZXApOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkVkaXRvckNsaWVudC5oOgorCiAyMDExLTEyLTE2ICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgR2l2ZSBQbGF0Zm9ybUV2ZW50cyBhIGJhc2UgY2xhc3MKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9y
Q2xpZW50LmNwcAkocmV2aXNpb24gMTAzMTA2KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTI3LDcgKzUy
Nyw3IEBAIHN0YXRpYyBTdHJpbmcgdW5kb05hbWVGb3JFZGl0QWN0aW9uKEVkaXQKICAgICByZXR1
cm4gU3RyaW5nKCk7CiB9CiAKLXZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZWdpc3RlckNvbW1hbmRG
b3JVbmRvKFBhc3NSZWZQdHI8VW5kb1N0ZXA+IHN0ZXApCit2b2lkIFdlYkVkaXRvckNsaWVudDo6
cmVnaXN0ZXJVbmRvU3RlcChQYXNzUmVmUHRyPFVuZG9TdGVwPiBzdGVwKQogewogICAgIElXZWJV
SURlbGVnYXRlKiB1aURlbGVnYXRlID0gMDsKICAgICBpZiAoU1VDQ0VFREVEKG1fd2ViVmlldy0+
dWlEZWxlZ2F0ZSgmdWlEZWxlZ2F0ZSkpKSB7CkBAIC01NDMsNyArNTQzLDcgQEAgdm9pZCBXZWJF
ZGl0b3JDbGllbnQ6OnJlZ2lzdGVyQ29tbWFuZEZvcgogICAgIH0KIH0KIAotdm9pZCBXZWJFZGl0
b3JDbGllbnQ6OnJlZ2lzdGVyQ29tbWFuZEZvclJlZG8oUGFzc1JlZlB0cjxVbmRvU3RlcD4gc3Rl
cCkKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpyZWdpc3RlclJlZG9TdGVwKFBhc3NSZWZQdHI8VW5k
b1N0ZXA+IHN0ZXApCiB7CiAgICAgSVdlYlVJRGVsZWdhdGUqIHVpRGVsZWdhdGUgPSAwOwogICAg
IGlmIChTVUNDRUVERUQobV93ZWJWaWV3LT51aURlbGVnYXRlKCZ1aURlbGVnYXRlKSkpIHsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNs
aWVudC5oCShyZXZpc2lvbiAxMDMxMDYpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNzQsOCArNzQsOCBAQCBw
dWJsaWM6CiAgICAgYm9vbCBzbWFydEluc2VydERlbGV0ZUVuYWJsZWQoKTsKICAgICBib29sIGlz
U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZCgpOwogCi0gICAgdm9pZCByZWdpc3RlckNv
bW1hbmRGb3JVbmRvKFBhc3NSZWZQdHI8V2ViQ29yZTo6VW5kb1N0ZXA+KTsKLSAgICB2b2lkIHJl
Z2lzdGVyQ29tbWFuZEZvclJlZG8oUGFzc1JlZlB0cjxXZWJDb3JlOjpVbmRvU3RlcD4pOworICAg
IHZvaWQgcmVnaXN0ZXJVbmRvU3RlcChQYXNzUmVmUHRyPFdlYkNvcmU6OlVuZG9TdGVwPik7Cisg
ICAgdm9pZCByZWdpc3RlclJlZG9TdGVwKFBhc3NSZWZQdHI8V2ViQ29yZTo6VW5kb1N0ZXA+KTsK
ICAgICB2b2lkIGNsZWFyVW5kb1JlZG9PcGVyYXRpb25zKCk7CiAKICAgICBib29sIGNhbkNvcHlD
dXQoV2ViQ29yZTo6RnJhbWUqLCBib29sIGRlZmF1bHRWYWx1ZSkgY29uc3Q7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dp
bmNlL0NoYW5nZUxvZwkocmV2aXNpb24gMTAzMTEyKQorKysgU291cmNlL1dlYktpdC93aW5jZS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0xMi0xNiAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgcmVnaXN0ZXJD
b21tYW5kRm9yKFVuZG98UmVkbykgdG8gcmVnaXN0ZXIoVW5kb3xSZWRvKVN0ZXAKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzQ4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9F
ZGl0b3JDbGllbnRXaW5DRS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudFdpbkNF
OjpyZWdpc3RlclVuZG9TdGVwKToKKyAgICAgICAgKFdlYktpdDo6RWRpdG9yQ2xpZW50V2luQ0U6
OnJlZ2lzdGVyUmVkb1N0ZXApOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVu
dFdpbkNFLmg6CisKIDIwMTEtMTItMTYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBHaXZlIFBsYXRmb3JtRXZlbnRzIGEgYmFzZSBjbGFzcwpJbmRleDogU291cmNlL1dl
YktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRXaW5DRS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRXaW5D
RS5jcHAJKHJldmlzaW9uIDEwMzEwNikKKysrIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1
cHBvcnQvRWRpdG9yQ2xpZW50V2luQ0UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsMTIgKzE0
NCwxMiBAQCB2b2lkIEVkaXRvckNsaWVudFdpbkNFOjpkaWRTZXRTZWxlY3Rpb25UCiAgICAgbm90
SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRXaW5DRTo6cmVnaXN0ZXJDb21t
YW5kRm9yVW5kbyhXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6VW5kb1N0ZXA+KQordm9pZCBFZGl0
b3JDbGllbnRXaW5DRTo6cmVnaXN0ZXJVbmRvU3RlcChXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6
VW5kb1N0ZXA+KQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgRWRpdG9yQ2xp
ZW50V2luQ0U6OnJlZ2lzdGVyQ29tbWFuZEZvclJlZG8oV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6
OlVuZG9TdGVwPikKK3ZvaWQgRWRpdG9yQ2xpZW50V2luQ0U6OnJlZ2lzdGVyUmVkb1N0ZXAoV1RG
OjpQYXNzUmVmUHRyPFdlYkNvcmU6OlVuZG9TdGVwPikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgp
OwogfQpJbmRleDogU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGll
bnRXaW5DRS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBv
cnQvRWRpdG9yQ2xpZW50V2luQ0UuaAkocmV2aXNpb24gMTAzMTA2KQorKysgU291cmNlL1dlYktp
dC93aW5jZS9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRXaW5DRS5oCSh3b3JraW5nIGNvcHkp
CkBAIC02NSw4ICs2NSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkV3JpdGVTZWxl
Y3Rpb25Ub1Bhc3RlYm9hcmQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2V0U2VsZWN0aW9uVHlw
ZXNGb3JQYXN0ZWJvYXJkKCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJDb21tYW5kRm9y
VW5kbyhXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6VW5kb1N0ZXA+KTsKLSAgICB2aXJ0dWFsIHZv
aWQgcmVnaXN0ZXJDb21tYW5kRm9yUmVkbyhXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6VW5kb1N0
ZXA+KTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJVbmRvU3RlcChXVEY6OlBhc3NSZWZQdHI8
V2ViQ29yZTo6VW5kb1N0ZXA+KTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJSZWRvU3RlcChX
VEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6VW5kb1N0ZXA+KTsKICAgICB2aXJ0dWFsIHZvaWQgY2xl
YXJVbmRvUmVkb09wZXJhdGlvbnMoKTsKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5Db3B5Q3V0KFdl
YkNvcmU6OkZyYW1lKiwgYm9vbCBkZWZhdWx0VmFsdWUpIGNvbnN0OwpJbmRleDogU291cmNlL1dl
YktpdC93eC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93eC9DaGFuZ2VM
b2cJKHJldmlzaW9uIDEwMzExMikKKysrIFNvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTItMTYgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVuYW1lIHJlZ2lzdGVyQ29tbWFuZEZvcihVbmRv
fFJlZG8pIHRvIHJlZ2lzdGVyKFVuZG98UmVkbylTdGVwCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRXeDo6cmVnaXN0ZXJVbmRvU3RlcCk6
CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnRXeDo6cmVnaXN0ZXJSZWRvU3RlcCk6Cisg
ICAgICAgICogV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oOgorCiAyMDExLTEyLTE2ICBT
YW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgR2l2ZSBQbGF0Zm9ybUV2ZW50
cyBhIGJhc2UgY2xhc3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0
b3JDbGllbnRXeC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBw
b3J0L0VkaXRvckNsaWVudFd4LmNwcAkocmV2aXNpb24gMTAzMTA2KQorKysgU291cmNlL1dlYktp
dC93eC9XZWJLaXRTdXBwb3J0L0VkaXRvckNsaWVudFd4LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
Mjc2LDcgKzI3Niw3IEBAIHZvaWQgRWRpdG9yQ2xpZW50V3g6OmRpZFNldFNlbGVjdGlvblR5cGUK
ICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIEVkaXRvckNsaWVudFd4OjpyZWdpc3Rl
ckNvbW1hbmRGb3JVbmRvKFBhc3NSZWZQdHI8RWRpdENvbW1hbmQ+IGNvbW1hbmQpCit2b2lkIEVk
aXRvckNsaWVudFd4OjpyZWdpc3RlclVuZG9TdGVwKFBhc3NSZWZQdHI8RWRpdENvbW1hbmQ+IGNv
bW1hbmQpCiB7CiAgICAgRnJhbWUqIGZyYW1lID0gbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+
Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CiAKQEAgLTI4OCw3ICsyODgsNyBAQCB2b2lkIEVkaXRvckNs
aWVudFd4OjpyZWdpc3RlckNvbW1hbmRGb3JVCiAgICAgfQogfQogCi12b2lkIEVkaXRvckNsaWVu
dFd4OjpyZWdpc3RlckNvbW1hbmRGb3JSZWRvKFBhc3NSZWZQdHI8RWRpdENvbW1hbmQ+IGNvbW1h
bmQpCit2b2lkIEVkaXRvckNsaWVudFd4OjpyZWdpc3RlclJlZG9TdGVwKFBhc3NSZWZQdHI8RWRp
dENvbW1hbmQ+IGNvbW1hbmQpCiB7CiAgICAgRnJhbWUqIGZyYW1lID0gbV9wYWdlLT5mb2N1c0Nv
bnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
d3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9FZGl0b3JDbGllbnRXeC5oCShyZXZpc2lvbiAxMDMxMDYp
CisrKyBTb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRWRpdG9yQ2xpZW50V3guaAkod29y
a2luZyBjb3B5KQpAQCAtNzcsOCArNzcsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRp
ZFdyaXRlU2VsZWN0aW9uVG9QYXN0ZWJvYXJkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNl
bGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpOwogCi0gICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVy
Q29tbWFuZEZvclVuZG8oUGFzc1JlZlB0cjxFZGl0Q29tbWFuZD4pOwotICAgIHZpcnR1YWwgdm9p
ZCByZWdpc3RlckNvbW1hbmRGb3JSZWRvKFBhc3NSZWZQdHI8RWRpdENvbW1hbmQ+KTsKKyAgICB2
aXJ0dWFsIHZvaWQgcmVnaXN0ZXJVbmRvU3RlcChQYXNzUmVmUHRyPEVkaXRDb21tYW5kPik7Cisg
ICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUmVkb1N0ZXAoUGFzc1JlZlB0cjxFZGl0Q29tbWFuZD4p
OwogICAgIHZpcnR1YWwgdm9pZCBjbGVhclVuZG9SZWRvT3BlcmF0aW9ucygpOwogCiAgICAgdmly
dHVhbCBib29sIGNhbkNvcHlDdXQoRnJhbWUqLCBib29sIGRlZmF1bHRWYWx1ZSkgY29uc3Q7Cg==
</data>
<flag name="review"
          id="119768"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>