<?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>36005</bug_id>
          
          <creation_ts>2010-03-10 23:17:03 -0800</creation_ts>
          <short_desc>[chromium] Use WebPrivatePtr for WebNode</short_desc>
          <delta_ts>2010-03-11 16:40:25 -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>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Fisher (:fishd, Google)">fishd</reporter>
          <assigned_to name="Darin Fisher (:fishd, Google)">fishd</assigned_to>
          <cc>jorlow</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>198499</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-03-10 23:17:03 -0800</bug_when>
    <thetext>[chromium] Use WebPrivatePtr for WebNode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198500</commentid>
    <comment_count>1</comment_count>
      <attachid>50475</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-03-10 23:18:26 -0800</bug_when>
    <thetext>Created attachment 50475
v1 patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198545</commentid>
    <comment_count>2</comment_count>
      <attachid>50475</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-03-11 03:57:57 -0800</bug_when>
    <thetext>Comment on attachment 50475
v1 patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198836</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-03-11 16:40:25 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/55866</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50475</attachid>
            <date>2010-03-10 23:18:26 -0800</date>
            <delta_ts>2010-03-11 03:57:57 -0800</delta_ts>
            <desc>v1 patch</desc>
            <filename>pri_1.txt</filename>
            <type>text/plain</type>
            <size>19753</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1NTgzMikKKysrIFdlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1NyBAQAogMjAxMC0wMy0xMCAgRGFy
aW4gRmlzaGVyICA8ZGFyaW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBXZWJQcml2YXRlUHRyIGZvciBXZWJOb2RlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjAwNQorCisg
ICAgICAgICogcHVibGljL1dlYkVsZW1lbnQuaDoKKyAgICAgICAgKiBwdWJsaWMvV2ViRm9ybUVs
ZW1lbnQuaDoKKyAgICAgICAgKiBwdWJsaWMvV2ViSW5wdXRFbGVtZW50Lmg6CisgICAgICAgICog
cHVibGljL1dlYkxhYmVsRWxlbWVudC5oOgorICAgICAgICAqIHB1YmxpYy9XZWJOb2RlLmg6Cisg
ICAgICAgIChXZWJLaXQ6OldlYk5vZGU6OldlYk5vZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJO
b2RlOjppc051bGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJOb2RlOjp1bndyYXApOgorICAgICAg
ICAoV2ViS2l0OjpXZWJOb2RlOjpjb25zdFVud3JhcCk6CisgICAgICAgICogcHVibGljL1dlYlBy
aXZhdGVQdHIuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJpdmF0ZVB0cjo6YXNzaWduKToKKyAg
ICAgICAgKiBzcmMvV2ViRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJEb2N1bWVu
dDo6V2ViRG9jdW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJEb2N1bWVudDo6b3BlcmF0b3I9
KToKKyAgICAgICAgKFdlYktpdDo6V2ViRG9jdW1lbnQ6Om9wZXJhdG9yIFBhc3NSZWZQdHI8RG9j
dW1lbnQ+KToKKyAgICAgICAgKiBzcmMvV2ViRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkVsZW1lbnQ6Omhhc1RhZ05hbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJFbGVtZW50OjpX
ZWJFbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRWxlbWVudDo6b3BlcmF0b3I9KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViRWxlbWVudDo6b3BlcmF0b3IgUGFzc1JlZlB0cjxFbGVtZW50Pik6
CisgICAgICAgICogc3JjL1dlYkZvcm1FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Rm9ybUVsZW1lbnQ6OldlYkZvcm1FbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRm9ybUVs
ZW1lbnQ6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZvcm1FbGVtZW50OjpvcGVy
YXRvciBQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4pOgorICAgICAgICAqIHNyYy9XZWJJbnB1
dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnB1dEVsZW1lbnQ6OldlYklucHV0
RWxlbWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYklucHV0RWxlbWVudDo6b3BlcmF0b3I9KToK
KyAgICAgICAgKFdlYktpdDo6V2ViSW5wdXRFbGVtZW50OjpvcGVyYXRvciBQYXNzUmVmUHRyPEhU
TUxJbnB1dEVsZW1lbnQ+KToKKyAgICAgICAgKiBzcmMvV2ViTGFiZWxFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViTGFiZWxFbGVtZW50Ojpjb3JyZXNwb25kaW5nQ29udHJvbCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkxhYmVsRWxlbWVudDo6b3BlcmF0b3I9KToKKyAgICAgICAgKFdl
YktpdDo6V2ViTGFiZWxFbGVtZW50OjpvcGVyYXRvciBQYXNzUmVmUHRyPEhUTUxMYWJlbEVsZW1l
bnQ+KToKKyAgICAgICAgKiBzcmMvV2ViTm9kZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5v
ZGU6OnJlc2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViTm9kZTo6YXNzaWduKToKKyAgICAgICAg
KFdlYktpdDo6V2ViTm9kZTo6ZXF1YWxzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm9kZTo6cGFy
ZW50Tm9kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYk5vZGU6OmNyZWF0ZU1hcmt1cCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYk5vZGU6OmFkZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJOb2RlOjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViTm9k
ZTo6c2ltdWxhdGVDbGljayk6CisgICAgICAgIChXZWJLaXQ6OldlYk5vZGU6OldlYk5vZGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJOb2RlOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJOb2RlOjpvcGVyYXRvciBQYXNzUmVmUHRyPE5vZGU+KToKKworMjAxMC0wMy0xMCAgRGFyaW4g
RmlzaGVyICA8ZGFyaW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVt
eSBPcmxvdy4KIAogICAgICAgICBBZGQgQVBJIHdyYXBwZXIgZm9yIFdlYkNvcmU6OlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJFbGVtZW50LmgN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkVsZW1lbnQuaAkocmV2
aXNpb24gNTU4MzIpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNiBAQAogCiAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9O
CiBuYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIEVsZW1lbnQ7IH0KLW5hbWVzcGFjZSBXVEYgeyB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc1JlZlB0cjsgfQogI2VuZGlmCiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpJbmRleDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGb3JtRWxlbWVu
dC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGb3JtRWxlbWVu
dC5oCShyZXZpc2lvbiA1NTgzMikKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRm9ybUVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTMgKzMxLDExIEBACiAjaWZuZGVmIFdlYkZv
cm1FbGVtZW50X2gKICNkZWZpbmUgV2ViRm9ybUVsZW1lbnRfaAogCi0jaW5jbHVkZSAiV2ViRWxl
bWVudC5oIgogI2luY2x1ZGUgIldlYklucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIldlYlZlY3Rv
ci5oIgogCiAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCiBuYW1lc3BhY2UgV2ViQ29yZSB7IGNs
YXNzIEhUTUxGb3JtRWxlbWVudDsgfQotbmFtZXNwYWNlIFdURiB7IHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBjbGFzcyBQYXNzUmVmUHRyOyB9CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBA
IC01NywxMiArNTUsNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAgICAgfQogICAgICAgICBX
RUJLSVRfQVBJIHZvaWQgYXNzaWduKGNvbnN0IFdlYkZvcm1FbGVtZW50JiBlKSB7IFdlYkVsZW1l
bnQ6OmFzc2lnbihlKTsgfQogCi0jaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCi0gICAgICAgIFdl
YkZvcm1FbGVtZW50KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpIVE1MRm9ybUVsZW1l
bnQ+Jik7Ci0gICAgICAgIFdlYkZvcm1FbGVtZW50JiBvcGVyYXRvcj0oY29uc3QgV1RGOjpQYXNz
UmVmUHRyPFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudD4mKTsKLSAgICAgICAgb3BlcmF0b3IgV1RG
OjpQYXNzUmVmUHRyPFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVudD4oKSBjb25zdDsKLSNlbmRpZgot
CiAgICAgICAgIFdFQktJVF9BUEkgYm9vbCBhdXRvQ29tcGxldGUoKSBjb25zdDsKICAgICAgICAg
V0VCS0lUX0FQSSBXZWJTdHJpbmcgYWN0aW9uKCkgY29uc3Q7CiAgICAgICAgIFdFQktJVF9BUEkg
V2ViU3RyaW5nIG5hbWUoKSBjb25zdDsKQEAgLTcxLDYgKzYzLDEyIEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogICAgICAgICAvLyBGSVhNRTogRGVwcmVjYXRlIGFuZCByZXBsYWNlIHdpdGggV2ViVmVj
dG9yPFdlYkVsZW1lbnQ+LgogICAgICAgICBXRUJLSVRfQVBJIHZvaWQgZ2V0TmFtZWRFbGVtZW50
cyhjb25zdCBXZWJTdHJpbmcmLCBXZWJWZWN0b3I8V2ViTm9kZT4mKTsKICAgICAgICAgV0VCS0lU
X0FQSSB2b2lkIGdldElucHV0RWxlbWVudHMoV2ViVmVjdG9yPFdlYklucHV0RWxlbWVudD4mKSBj
b25zdDsKKworI2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgorICAgICAgICBXZWJGb3JtRWxlbWVu
dChjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50PiYpOworICAg
ICAgICBXZWJGb3JtRWxlbWVudCYgb3BlcmF0b3I9KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJD
b3JlOjpIVE1MRm9ybUVsZW1lbnQ+Jik7CisgICAgICAgIG9wZXJhdG9yIFdURjo6UGFzc1JlZlB0
cjxXZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ+KCkgY29uc3Q7CisjZW5kaWYKICAgICB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5w
dXRFbGVtZW50LmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklu
cHV0RWxlbWVudC5oCShyZXZpc2lvbiA1NTgzMikKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViSW5wdXRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDYgQEAKIAogI2lm
IFdFQktJVF9JTVBMRU1FTlRBVElPTgogbmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBIVE1MSW5w
dXRFbGVtZW50OyB9Ci1uYW1lc3BhY2UgV1RGIHsgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNz
IFBhc3NSZWZQdHI7IH0KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ5LDEyICs0
OCw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgICAgICBXZWJJbnB1dEVsZW1lbnQmIG9wZXJh
dG9yPShjb25zdCBXZWJJbnB1dEVsZW1lbnQmIG4pIHsgV2ViRWxlbWVudDo6YXNzaWduKG4pOyBy
ZXR1cm4gKnRoaXM7IH0KICAgICAgICAgV0VCS0lUX0FQSSB2b2lkIGFzc2lnbihjb25zdCBXZWJJ
bnB1dEVsZW1lbnQmIG4pIHsgV2ViRWxlbWVudDo6YXNzaWduKG4pOyB9CiAKLSNpZiBXRUJLSVRf
SU1QTEVNRU5UQVRJT04KLSAgICAgICAgV2ViSW5wdXRFbGVtZW50KGNvbnN0IFdURjo6UGFzc1Jl
ZlB0cjxXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50PiYpOwotICAgICAgICBXZWJJbnB1dEVsZW1l
bnQmIG9wZXJhdG9yPShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6SFRNTElucHV0RWxl
bWVudD4mKTsKLSAgICAgICAgb3BlcmF0b3IgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkhUTUxJ
bnB1dEVsZW1lbnQ+KCkgY29uc3Q7Ci0jZW5kaWYKLQogICAgICAgICBlbnVtIElucHV0VHlwZSB7
CiAgICAgICAgICAgICBUZXh0ID0gMCwKICAgICAgICAgICAgIFBhc3N3b3JkLApAQCAtOTgsNiAr
OTEsMTIgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgICAgIC8vIHN0b3JpbmcgYXV0b2ZpbGwg
ZGF0YS4gIFRoaXMgaXMgZWl0aGVyIHRoZSBmaWVsZCBuYW1lIG9yIGl0cyBpZCwgYW4gZW1wdHkK
ICAgICAgICAgLy8gc3RyaW5nIGlmIGl0IGhhcyBubyBuYW1lIGFuZCBubyBpZC4KICAgICAgICAg
V0VCS0lUX0FQSSBXZWJTdHJpbmcgbmFtZUZvckF1dG9maWxsKCkgY29uc3Q7CisKKyNpZiBXRUJL
SVRfSU1QTEVNRU5UQVRJT04KKyAgICAgICAgV2ViSW5wdXRFbGVtZW50KGNvbnN0IFdURjo6UGFz
c1JlZlB0cjxXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50PiYpOworICAgICAgICBXZWJJbnB1dEVs
ZW1lbnQmIG9wZXJhdG9yPShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6SFRNTElucHV0
RWxlbWVudD4mKTsKKyAgICAgICAgb3BlcmF0b3IgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkhU
TUxJbnB1dEVsZW1lbnQ+KCkgY29uc3Q7CisjZW5kaWYKICAgICB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTGFiZWxFbGVtZW50LmgN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkxhYmVsRWxlbWVudC5o
CShyZXZpc2lvbiA1NTgzMikKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTGFiZWxFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDcgQEAgcHVibGljOgogICAgIH0KIAog
ICAgIFdFQktJVF9BUEkgdm9pZCBhc3NpZ24oY29uc3QgV2ViTGFiZWxFbGVtZW50JiBlKSB7IFdl
YkVsZW1lbnQ6OmFzc2lnbihlKTsgfQorCiAgICAgV0VCS0lUX0FQSSBXZWJFbGVtZW50IGNvcnJl
c3BvbmRpbmdDb250cm9sKCk7CiAKICNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KSW5kZXg6IFdl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViTm9kZS5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJOb2RlLmgJKHJldmlzaW9uIDU1ODMyKQorKysgV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDEyICszMiwxMCBAQAog
I2RlZmluZSBXZWJOb2RlX2gKIAogI2luY2x1ZGUgIldlYkNvbW1vbi5oIgorI2luY2x1ZGUgIldl
YlByaXZhdGVQdHIuaCIKICNpbmNsdWRlICJXZWJTdHJpbmcuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgeyBjbGFzcyBOb2RlOyB9Ci0jaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCi1uYW1lc3BhY2Ug
V1RGIHsgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NSZWZQdHI7IH0KLSNlbmRpZgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkRvY3VtZW50OwpAQCAtNTEsOCArNDksOCBA
QCBjbGFzcyBXZWJOb2RlIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJOb2RlKCkgeyByZXNl
dCgpOyB9CiAKLSAgICBXZWJOb2RlKCkgOiBtX3ByaXZhdGUoMCkgeyB9Ci0gICAgV2ViTm9kZShj
b25zdCBXZWJOb2RlJiBuKSA6IG1fcHJpdmF0ZSgwKSB7IGFzc2lnbihuKTsgfQorICAgIFdlYk5v
ZGUoKSB7IH0KKyAgICBXZWJOb2RlKGNvbnN0IFdlYk5vZGUmIG4pIHsgYXNzaWduKG4pOyB9CiAg
ICAgV2ViTm9kZSYgb3BlcmF0b3I9KGNvbnN0IFdlYk5vZGUmIG4pCiAgICAgewogICAgICAgICBh
c3NpZ24obik7CkBAIC02NCwxMyArNjIsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJLSVRfQVBJIGJv
b2wgZXF1YWxzKGNvbnN0IFdlYk5vZGUmKSBjb25zdDsKIAotICAgIGJvb2wgaXNOdWxsKCkgY29u
c3QgeyByZXR1cm4gIW1fcHJpdmF0ZTsgfQotCi0jaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCi0g
ICAgV2ViTm9kZShjb25zdCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6Tm9kZT4mKTsKLSAgICBX
ZWJOb2RlJiBvcGVyYXRvcj0oY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6Ok5vZGU+Jik7
Ci0gICAgb3BlcmF0b3IgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6Ok5vZGU+KCkgY29uc3Q7Ci0j
ZW5kaWYKKyAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpdmF0ZS5pc051bGwo
KTsgfQogCiAgICAgZW51bSBOb2RlVHlwZSB7CiAgICAgICAgIEVsZW1lbnROb2RlID0gMSwKQEAg
LTEyMiwyMCArMTE0LDI0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHJlczsKICAgICB9CiAK
KyNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KKyAgICBXZWJOb2RlKGNvbnN0IFdURjo6UGFzc1Jl
ZlB0cjxXZWJDb3JlOjpOb2RlPiYpOworICAgIFdlYk5vZGUmIG9wZXJhdG9yPShjb25zdCBXVEY6
OlBhc3NSZWZQdHI8V2ViQ29yZTo6Tm9kZT4mKTsKKyAgICBvcGVyYXRvciBXVEY6OlBhc3NSZWZQ
dHI8V2ViQ29yZTo6Tm9kZT4oKSBjb25zdDsKKyNlbmRpZgorCiBwcm90ZWN0ZWQ6Ci0gICAgdHlw
ZWRlZiBXZWJDb3JlOjpOb2RlIFdlYk5vZGVQcml2YXRlOwotICAgIHZvaWQgYXNzaWduKFdlYk5v
ZGVQcml2YXRlKik7Ci0gICAgV2ViTm9kZVByaXZhdGUqIG1fcHJpdmF0ZTsKLSAgICAKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUKiB1bndyYXAoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFQqPihtX3ByaXZhdGUpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VCo+
KG1fcHJpdmF0ZS5nZXQoKSk7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY29u
c3QgVCogY29uc3RVbndyYXAoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGNvbnN0IFQqPihtX3ByaXZhdGUpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29u
c3QgVCo+KG1fcHJpdmF0ZS5nZXQoKSk7CiAgICAgfQorCisgICAgV2ViUHJpdmF0ZVB0cjxXZWJD
b3JlOjpOb2RlPiBtX3ByaXZhdGU7CiB9OwogCiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0
IFdlYk5vZGUmIGEsIGNvbnN0IFdlYk5vZGUmIGIpCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlByaXZhdGVQdHIuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViUHJpdmF0ZVB0ci5oCShyZXZpc2lvbiA1NTgzMikKKysrIFdlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViUHJpdmF0ZVB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCwxNCArNTgsNiBAQCBw
dWJsaWM6CiAgICAgICAgIGFzc2lnbigwKTsKICAgICB9CiAKLSAgICB2b2lkIGFzc2lnbihUKiBw
KQotICAgIHsKLSAgICAgICAgLy8gcCBpcyBhbHJlYWR5IHJlZidkIGZvciB1cyBieSB0aGUgY2Fs
bGVyCi0gICAgICAgIGlmIChtX3B0cikKLSAgICAgICAgICAgIG1fcHRyLT5kZXJlZigpOwotICAg
ICAgICBtX3B0ciA9IHA7Ci0gICAgfQotCiAgICAgV2ViUHJpdmF0ZVB0cjxUPiYgb3BlcmF0b3I9
KGNvbnN0IFdlYlByaXZhdGVQdHI8VD4mIG90aGVyKQogICAgIHsKICAgICAgICAgVCogcCA9IG90
aGVyLm1fcHRyOwpAQCAtOTQsNiArODYsMTYgQEAgICAgIFQqIG9wZXJhdG9yLT4oKSBjb25zdAog
I2VuZGlmCiAKIHByaXZhdGU6CisjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCisgICAgdm9pZCBh
c3NpZ24oVCogcCkKKyAgICB7CisgICAgICAgIC8vIHAgaXMgYWxyZWFkeSByZWYnZCBmb3IgdXMg
YnkgdGhlIGNhbGxlcgorICAgICAgICBpZiAobV9wdHIpCisgICAgICAgICAgICBtX3B0ci0+ZGVy
ZWYoKTsKKyAgICAgICAgbV9wdHIgPSBwOworICAgIH0KKyNlbmRpZgorCiAgICAgVCogbV9wdHI7
CiB9OwogCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRvY3VtZW50LmNwcA0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCShyZXZpc2lvbiA1
NTgzMikKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MywyMiArNTMsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKLVdlYkRvY3VtZW50OjpXZWJEb2N1bWVudChjb25zdCBQYXNzUmVmUHRy
PERvY3VtZW50PiYgZWxlbSkKLSAgICA6IFdlYk5vZGUoZWxlbSkKLXsKLX0KLQotV2ViRG9jdW1l
bnQmIFdlYkRvY3VtZW50OjpvcGVyYXRvcj0oY29uc3QgUGFzc1JlZlB0cjxEb2N1bWVudD4mIGVs
ZW0pCi17Ci0gICAgV2ViTm9kZTo6YXNzaWduKGVsZW0ucmVsZWFzZVJlZigpKTsKLSAgICByZXR1
cm4gKnRoaXM7Ci19Ci0KLVdlYkRvY3VtZW50OjpvcGVyYXRvciBQYXNzUmVmUHRyPERvY3VtZW50
PigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFBhc3NSZWZQdHI8RG9jdW1lbnQ+KHN0YXRpY19jYXN0
PERvY3VtZW50Kj4obV9wcml2YXRlKSk7Ci19Ci0KIFdlYkZyYW1lKiBXZWJEb2N1bWVudDo6ZnJh
bWUoKSBjb25zdAogewogICAgIHJldHVybiBXZWJGcmFtZUltcGw6OmZyb21GcmFtZShjb25zdFVu
d3JhcDxEb2N1bWVudD4oKS0+ZnJhbWUoKSk7CkBAIC0xNjIsNCArMTQ2LDIwIEBAIFdlYk5vZGUg
V2ViRG9jdW1lbnQ6OmZvY3VzZWROb2RlKCkgY29uc3QKICAgICByZXR1cm4gV2ViTm9kZShjb25z
dFVud3JhcDxEb2N1bWVudD4oKS0+Zm9jdXNlZE5vZGUoKSk7CiB9CiAKK1dlYkRvY3VtZW50OjpX
ZWJEb2N1bWVudChjb25zdCBQYXNzUmVmUHRyPERvY3VtZW50PiYgZWxlbSkKKyAgICA6IFdlYk5v
ZGUoZWxlbSkKK3sKK30KKworV2ViRG9jdW1lbnQmIFdlYkRvY3VtZW50OjpvcGVyYXRvcj0oY29u
c3QgUGFzc1JlZlB0cjxEb2N1bWVudD4mIGVsZW0pCit7CisgICAgbV9wcml2YXRlID0gZWxlbTsK
KyAgICByZXR1cm4gKnRoaXM7Cit9CisKK1dlYkRvY3VtZW50OjpvcGVyYXRvciBQYXNzUmVmUHRy
PERvY3VtZW50PigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PERvY3VtZW50Kj4o
bV9wcml2YXRlLmdldCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBXZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkVsZW1lbnQuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJFbGVtZW50LmNwcAkocmV2aXNpb24gNTU4MzIpCisrKyBXZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwyMiArMzgsNiBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVdlYkVs
ZW1lbnQ6OldlYkVsZW1lbnQoY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+
JiBlbGVtKQotICAgIDogV2ViTm9kZShlbGVtKQotewotfQotCi1XZWJFbGVtZW50JiBXZWJFbGVt
ZW50OjpvcGVyYXRvcj0oY29uc3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+JiBl
bGVtKQotewotICAgIFdlYk5vZGU6OmFzc2lnbihlbGVtLnJlbGVhc2VSZWYoKSk7Ci0gICAgcmV0
dXJuICp0aGlzOwotfQotCi1XZWJFbGVtZW50OjpvcGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8RWxl
bWVudD4oKSBjb25zdAotewotICAgIHJldHVybiBQYXNzUmVmUHRyPEVsZW1lbnQ+KHN0YXRpY19j
YXN0PEVsZW1lbnQqPihtX3ByaXZhdGUpKTsKLX0KLQogV2ViU3RyaW5nIFdlYkVsZW1lbnQ6OnRh
Z05hbWUoKSBjb25zdAogewogICAgIHJldHVybiBjb25zdFVud3JhcDxFbGVtZW50PigpLT50YWdO
YW1lKCk7CkBAIC02Miw3ICs0Niw3IEBAICAgICByZXR1cm4gY29uc3RVbndyYXA8RWxlbWVudD4o
KS0+dGFnTmEKIGJvb2wgV2ViRWxlbWVudDo6aGFzVGFnTmFtZShjb25zdCBXZWJTdHJpbmcmIHRh
Z05hbWUpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGVxdWFsSWdub3JpbmdDYXNlKGNvbnN0VW53cmFw
PEVsZW1lbnQ+KCktPnRhZ05hbWUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFn
TmFtZS5vcGVyYXRvciBXZWJDb3JlOjpTdHJpbmcoKSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRhZ05hbWUub3BlcmF0b3IgU3RyaW5nKCkpOwogfQogCiBib29sIFdlYkVsZW1lbnQ6
Omhhc0F0dHJpYnV0ZShjb25zdCBXZWJTdHJpbmcmIGF0dHJOYW1lKSBjb25zdApAQCAtODcsNSAr
NzEsMjAgQEAgV2ViU3RyaW5nIFdlYkVsZW1lbnQ6OmlubmVyVGV4dCgpIGNvbnN0CiAgICAgcmV0
dXJuIGNvbnN0VW53cmFwPEVsZW1lbnQ+KCktPmlubmVyVGV4dCgpOwogfQogCi19IC8vIG5hbWVz
cGFjZSBXZWJLaXQKK1dlYkVsZW1lbnQ6OldlYkVsZW1lbnQoY29uc3QgUGFzc1JlZlB0cjxFbGVt
ZW50PiYgZWxlbSkKKyAgICA6IFdlYk5vZGUoZWxlbSkKK3sKK30KIAorV2ViRWxlbWVudCYgV2Vi
RWxlbWVudDo6b3BlcmF0b3I9KGNvbnN0IFBhc3NSZWZQdHI8RWxlbWVudD4mIGVsZW0pCit7Cisg
ICAgbV9wcml2YXRlID0gZWxlbTsKKyAgICByZXR1cm4gKnRoaXM7Cit9CisKK1dlYkVsZW1lbnQ6
Om9wZXJhdG9yIFBhc3NSZWZQdHI8RWxlbWVudD4oKSBjb25zdAoreworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxFbGVtZW50Kj4obV9wcml2YXRlLmdldCgpKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZvcm1FbGVtZW50LmNwcA0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViRm9ybUVsZW1lbnQuY3BwCShyZXZp
c2lvbiA1NTgzMikKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViRm9ybUVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MywyNSArNDMsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFdlYkZvcm1Qcml2YXRlIDogcHVibGljIEhU
TUxGb3JtRWxlbWVudCB7Ci19OwotCi1XZWJGb3JtRWxlbWVudDo6V2ViRm9ybUVsZW1lbnQoY29u
c3QgV1RGOjpQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4mIGUpCi0gICAgOiBXZWJFbGVtZW50
KGUpCi17Ci19Ci0KLVdlYkZvcm1FbGVtZW50JiBXZWJGb3JtRWxlbWVudDo6b3BlcmF0b3I9KGNv
bnN0IFdURjo6UGFzc1JlZlB0cjxIVE1MRm9ybUVsZW1lbnQ+JiBlKQotewotICAgIFdlYk5vZGU6
OmFzc2lnbihlLnJlbGVhc2VSZWYoKSk7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi1XZWJGb3Jt
RWxlbWVudDo6b3BlcmF0b3IgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkhUTUxGb3JtRWxlbWVu
dD4oKSBjb25zdAotewotICAgIHJldHVybiBQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4oc3Rh
dGljX2Nhc3Q8SFRNTEZvcm1FbGVtZW50Kj4obV9wcml2YXRlKSk7Ci19Ci0KIGJvb2wgV2ViRm9y
bUVsZW1lbnQ6OmF1dG9Db21wbGV0ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGNvbnN0VW53cmFw
PEhUTUxGb3JtRWxlbWVudD4oKS0+YXV0b0NvbXBsZXRlKCk7CkBAIC0xMDcsNCArODgsMjAgQEAg
ICAgICAgICAgICAgICAgIGZvcm0tPmZvcm1FbGVtZW50c1tpXSkpOwogICAgIHJlc3VsdC5hc3Np
Z24odGVtcFZlY3Rvcik7CiB9CiAKK1dlYkZvcm1FbGVtZW50OjpXZWJGb3JtRWxlbWVudChjb25z
dCBQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4mIGUpCisgICAgOiBXZWJFbGVtZW50KGUpCit7
Cit9CisKK1dlYkZvcm1FbGVtZW50JiBXZWJGb3JtRWxlbWVudDo6b3BlcmF0b3I9KGNvbnN0IFBh
c3NSZWZQdHI8SFRNTEZvcm1FbGVtZW50PiYgZSkKK3sKKyAgICBtX3ByaXZhdGUgPSBlOworICAg
IHJldHVybiAqdGhpczsKK30KKworV2ViRm9ybUVsZW1lbnQ6Om9wZXJhdG9yIFBhc3NSZWZQdHI8
SFRNTEZvcm1FbGVtZW50PigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxG
b3JtRWxlbWVudCo+KG1fcHJpdmF0ZS5nZXQoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEVsZW1lbnQuY3BwDQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEVsZW1lbnQuY3BwCShyZXZpc2lv
biA1NTgzMikKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDAsMjIgKzQwLDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1XZWJJbnB1dEVsZW1lbnQ6OldlYklucHV0RWxlbWVudChj
b25zdCBXVEY6OlBhc3NSZWZQdHI8SFRNTElucHV0RWxlbWVudD4mIGVsZW0pCi0gICAgOiBXZWJF
bGVtZW50KGVsZW0pCi17Ci19Ci0KLVdlYklucHV0RWxlbWVudCYgV2ViSW5wdXRFbGVtZW50Ojpv
cGVyYXRvcj0oY29uc3QgV1RGOjpQYXNzUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+JiBlbGVtKQot
ewotICAgIFdlYk5vZGU6OmFzc2lnbihlbGVtLnJlbGVhc2VSZWYoKSk7Ci0gICAgcmV0dXJuICp0
aGlzOwotfQotCi1XZWJJbnB1dEVsZW1lbnQ6Om9wZXJhdG9yIFdURjo6UGFzc1JlZlB0cjxIVE1M
SW5wdXRFbGVtZW50PigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFBhc3NSZWZQdHI8SFRNTElucHV0
RWxlbWVudD4oc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG1fcHJpdmF0ZSkpOwotfQot
CiBib29sIFdlYklucHV0RWxlbWVudDo6YXV0b0NvbXBsZXRlKCkgY29uc3QKIHsKICAgICByZXR1
cm4gY29uc3RVbndyYXA8SFRNTElucHV0RWxlbWVudD4oKS0+YXV0b0NvbXBsZXRlKCk7CkBAIC0x
MjksNCArMTEzLDIwIEBAICAgICBuYW1lID0gY29uc3RVbndyYXA8SFRNTElucHV0RWxlbWVudD4K
ICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK1dlYklucHV0RWxlbWVudDo6V2ViSW5wdXRFbGVt
ZW50KGNvbnN0IFBhc3NSZWZQdHI8SFRNTElucHV0RWxlbWVudD4mIGVsZW0pCisgICAgOiBXZWJF
bGVtZW50KGVsZW0pCit7Cit9CisKK1dlYklucHV0RWxlbWVudCYgV2ViSW5wdXRFbGVtZW50Ojpv
cGVyYXRvcj0oY29uc3QgUGFzc1JlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiYgZWxlbSkKK3sKKyAg
ICBtX3ByaXZhdGUgPSBlbGVtOworICAgIHJldHVybiAqdGhpczsKK30KKworV2ViSW5wdXRFbGVt
ZW50OjpvcGVyYXRvciBQYXNzUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG1fcHJpdmF0ZS5nZXQoKSk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJMYWJlbEVsZW1lbnQuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJMYWJlbEVsZW1lbnQuY3BwCShyZXZpc2lvbiA1NTgzMikKKysrIFdlYktpdC9jaHJvbWl1bS9z
cmMvV2ViTGFiZWxFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsMTEgQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitXZWJFbGVt
ZW50IFdlYkxhYmVsRWxlbWVudDo6Y29ycmVzcG9uZGluZ0NvbnRyb2woKQoreworICAgIHJldHVy
biBXZWJFbGVtZW50KHVud3JhcDxIVE1MTGFiZWxFbGVtZW50PigpLT5jb3JyZXNwb25kaW5nQ29u
dHJvbCgpKTsKK30KKwogV2ViTGFiZWxFbGVtZW50OjpXZWJMYWJlbEVsZW1lbnQoY29uc3QgUGFz
c1JlZlB0cjxIVE1MTGFiZWxFbGVtZW50PiYgZWxlbSkKICAgICA6IFdlYkVsZW1lbnQoZWxlbSkK
IHsKQEAgLTQ3LDE4ICs1MiwxMyBAQCBXZWJMYWJlbEVsZW1lbnQ6OldlYkxhYmVsRWxlbWVudChj
b25zdCBQCiAKIFdlYkxhYmVsRWxlbWVudCYgV2ViTGFiZWxFbGVtZW50OjpvcGVyYXRvcj0oY29u
c3QgUGFzc1JlZlB0cjxIVE1MTGFiZWxFbGVtZW50PiYgZWxlbSkKIHsKLSAgICBXZWJOb2RlOjph
c3NpZ24oZWxlbS5yZWxlYXNlUmVmKCkpOworICAgIG1fcHJpdmF0ZSA9IGVsZW07CiAgICAgcmV0
dXJuICp0aGlzOwogfQogCiBXZWJMYWJlbEVsZW1lbnQ6Om9wZXJhdG9yIFBhc3NSZWZQdHI8SFRN
TExhYmVsRWxlbWVudD4oKSBjb25zdAogewotICAgIHJldHVybiBQYXNzUmVmUHRyPEhUTUxMYWJl
bEVsZW1lbnQ+KHN0YXRpY19jYXN0PEhUTUxMYWJlbEVsZW1lbnQqPihtX3ByaXZhdGUpKTsKLX0K
LQotV2ViRWxlbWVudCBXZWJMYWJlbEVsZW1lbnQ6OmNvcnJlc3BvbmRpbmdDb250cm9sKCkKLXsK
LSAgICByZXR1cm4gV2ViRWxlbWVudCh1bndyYXA8SFRNTExhYmVsRWxlbWVudD4oKS0+Y29ycmVz
cG9uZGluZ0NvbnRyb2woKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxMYWJlbEVsZW1l
bnQqPihtX3ByaXZhdGUuZ2V0KCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6
IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViTm9kZS5jcHANCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYk5vZGUuY3BwCShyZXZpc2lvbiA1NTgzMikKKysrIFdlYktpdC9jaHJv
bWl1bS9zcmMvV2ViTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDMxICs0OCwyMyBAQAog
CiAjaW5jbHVkZSAibWFya3VwLmgiCiAKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotCiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFdl
Yk5vZGVQcml2YXRlIDogcHVibGljIE5vZGUgewotfTsKLQogdm9pZCBXZWJOb2RlOjpyZXNldCgp
CiB7Ci0gICAgYXNzaWduKDApOworICAgIG1fcHJpdmF0ZS5yZXNldCgpOwogfQogCiB2b2lkIFdl
Yk5vZGU6OmFzc2lnbihjb25zdCBXZWJOb2RlJiBvdGhlcikKIHsKLSAgICBXZWJOb2RlUHJpdmF0
ZSogcCA9IGNvbnN0X2Nhc3Q8V2ViTm9kZVByaXZhdGUqPihvdGhlci5tX3ByaXZhdGUpOwotICAg
IGlmIChwKQotICAgICAgICBwLT5yZWYoKTsKLSAgICBhc3NpZ24ocCk7CisgICAgbV9wcml2YXRl
ID0gb3RoZXIubV9wcml2YXRlOwogfQogCiBib29sIFdlYk5vZGU6OmVxdWFscyhjb25zdCBXZWJO
b2RlJiBuKSBjb25zdAogewotICAgIHJldHVybiAobV9wcml2YXRlID09IG4ubV9wcml2YXRlKTsK
KyAgICByZXR1cm4gKG1fcHJpdmF0ZS5nZXQoKSA9PSBuLm1fcHJpdmF0ZS5nZXQoKSk7CiB9CiAK
IFdlYk5vZGU6Ok5vZGVUeXBlIFdlYk5vZGU6Om5vZGVUeXBlKCkgY29uc3QKQEAgLTgyLDcgKzc0
LDcgQEAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxOb2RlVHlwZT4obV9wcml2YQogCiBXZWJOb2Rl
IFdlYk5vZGU6OnBhcmVudE5vZGUoKSBjb25zdAogewotICAgIHJldHVybiBQYXNzUmVmUHRyPE5v
ZGU+KGNvbnN0X2Nhc3Q8Tm9kZSo+KG1fcHJpdmF0ZS0+cGFyZW50Tm9kZSgpKSk7CisgICAgcmV0
dXJuIFdlYk5vZGUoY29uc3RfY2FzdDxOb2RlKj4obV9wcml2YXRlLT5wYXJlbnROb2RlKCkpKTsK
IH0KIAogV2ViU3RyaW5nIFdlYk5vZGU6Om5vZGVOYW1lKCkgY29uc3QKQEAgLTEwMiwzMCArOTQs
NiBAQCAgICAgbV9wcml2YXRlLT5zZXROb2RlVmFsdWUodmFsdWUsIGV4Y2VwCiAgICAgcmV0dXJu
ICFleGNlcHRpb25Db2RlOwogfQogCi1XZWJOb2RlOjpXZWJOb2RlKGNvbnN0IFBhc3NSZWZQdHI8
Tm9kZT4mIG5vZGUpCi0gICAgOiBtX3ByaXZhdGUoc3RhdGljX2Nhc3Q8V2ViTm9kZVByaXZhdGUq
Pihub2RlLnJlbGVhc2VSZWYoKSkpCi17Ci19Ci0KLVdlYk5vZGUmIFdlYk5vZGU6Om9wZXJhdG9y
PShjb25zdCBQYXNzUmVmUHRyPE5vZGU+JiBub2RlKQotewotICAgIGFzc2lnbihzdGF0aWNfY2Fz
dDxXZWJOb2RlUHJpdmF0ZSo+KG5vZGUucmVsZWFzZVJlZigpKSk7Ci0gICAgcmV0dXJuICp0aGlz
OwotfQotCi1XZWJOb2RlOjpvcGVyYXRvciBQYXNzUmVmUHRyPE5vZGU+KCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gUGFzc1JlZlB0cjxOb2RlPihjb25zdF9jYXN0PFdlYk5vZGVQcml2YXRlKj4obV9w
cml2YXRlKSk7Ci19Ci0KLXZvaWQgV2ViTm9kZTo6YXNzaWduKFdlYk5vZGVQcml2YXRlKiBwKQot
ewotICAgIC8vIHAgaXMgYWxyZWFkeSByZWYnZCBmb3IgdXMgYnkgdGhlIGNhbGxlcgotICAgIGlm
IChtX3ByaXZhdGUpCi0gICAgICAgIG1fcHJpdmF0ZS0+ZGVyZWYoKTsKLSAgICBtX3ByaXZhdGUg
PSBwOwotfQotCiBXZWJGcmFtZSogV2ViTm9kZTo6ZnJhbWUoKSBjb25zdAogewogICAgIHJldHVy
biBXZWJGcmFtZUltcGw6OmZyb21GcmFtZShtX3ByaXZhdGUtPmRvY3VtZW50KCktPmZyYW1lKCkp
OwpAQCAtMTY4LDcgKzEzNiw3IEBAICAgICByZXR1cm4gV2ViTm9kZUxpc3QobV9wcml2YXRlLT5j
aGlsZE4KIAogV2ViU3RyaW5nIFdlYk5vZGU6OmNyZWF0ZU1hcmt1cCgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIFdlYkNvcmU6OmNyZWF0ZU1hcmt1cChtX3ByaXZhdGUpOworICAgIHJldHVybiBXZWJD
b3JlOjpjcmVhdGVNYXJrdXAobV9wcml2YXRlLmdldCgpKTsKIH0KIAogYm9vbCBXZWJOb2RlOjpp
c1RleHROb2RlKCkgY29uc3QKQEAgLTE4NCw3ICsxNTIsNyBAQCAgICAgcmV0dXJuIG1fcHJpdmF0
ZS0+aXNFbGVtZW50Tm9kZSgpOwogdm9pZCBXZWJOb2RlOjphZGRFdmVudExpc3RlbmVyKGNvbnN0
IFdlYlN0cmluZyYgZXZlbnRUeXBlLCBXZWJFdmVudExpc3RlbmVyKiBsaXN0ZW5lciwgYm9vbCB1
c2VDYXB0dXJlKQogewogICAgIEV2ZW50TGlzdGVuZXJXcmFwcGVyKiBsaXN0ZW5lcldyYXBwZXIg
PQotICAgICAgICBsaXN0ZW5lci0+Y3JlYXRlRXZlbnRMaXN0ZW5lcldyYXBwZXIoZXZlbnRUeXBl
LCB1c2VDYXB0dXJlLCBtX3ByaXZhdGUpOworICAgICAgICBsaXN0ZW5lci0+Y3JlYXRlRXZlbnRM
aXN0ZW5lcldyYXBwZXIoZXZlbnRUeXBlLCB1c2VDYXB0dXJlLCBtX3ByaXZhdGUuZ2V0KCkpOwog
ICAgIC8vIFRoZSBsaXN0ZW5lcldyYXBwZXIgaXMgb25seSByZWZlcmVuY2VkIGJ5IHRoZSBhY3R1
YWwgTm9kZS4gIE9uY2UgaXQgZ29lcwogICAgIC8vIGF3YXksIHRoZSB3cmFwcGVyIG5vdGlmaWVz
IHRoZSBXZWJFdmVudExpc3RlbmVyIHNvIGl0IGNhbiBjbGVhciBpdHMKICAgICAvLyBwb2ludGVy
IHRvIGl0LgpAQCAtMTk0LDE2ICsxNjIsMzEgQEAgICAgIG1fcHJpdmF0ZS0+YWRkRXZlbnRMaXN0
ZW5lcihldmVudFR5cAogdm9pZCBXZWJOb2RlOjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IFdl
YlN0cmluZyYgZXZlbnRUeXBlLCBXZWJFdmVudExpc3RlbmVyKiBsaXN0ZW5lciwgYm9vbCB1c2VD
YXB0dXJlKQogewogICAgIEV2ZW50TGlzdGVuZXJXcmFwcGVyKiBsaXN0ZW5lcldyYXBwZXIgPQot
ICAgICAgICBsaXN0ZW5lci0+Z2V0RXZlbnRMaXN0ZW5lcldyYXBwZXIoZXZlbnRUeXBlLCB1c2VD
YXB0dXJlLCBtX3ByaXZhdGUpOworICAgICAgICBsaXN0ZW5lci0+Z2V0RXZlbnRMaXN0ZW5lcldy
YXBwZXIoZXZlbnRUeXBlLCB1c2VDYXB0dXJlLCBtX3ByaXZhdGUuZ2V0KCkpOwogICAgIG1fcHJp
dmF0ZS0+cmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyV3JhcHBlciwgdXNl
Q2FwdHVyZSk7CiAgICAgLy8gbGlzdGVuZXJXcmFwcGVyIGlzIG5vdyBkZWxldGVkLgogfQogCiB2
b2lkIFdlYk5vZGU6OnNpbXVsYXRlQ2xpY2soKQogewotICAgIEFTU0VSVChtX3ByaXZhdGUpOwog
ICAgIFJlZlB0cjxFdmVudD4gbm9FdmVudDsKICAgICBtX3ByaXZhdGUtPmRpc3BhdGNoU2ltdWxh
dGVkQ2xpY2sobm9FdmVudCk7CiB9CiAKK1dlYk5vZGU6OldlYk5vZGUoY29uc3QgUGFzc1JlZlB0
cjxOb2RlPiYgbm9kZSkKKyAgICA6IG1fcHJpdmF0ZShub2RlKQoreworfQorCitXZWJOb2RlJiBX
ZWJOb2RlOjpvcGVyYXRvcj0oY29uc3QgUGFzc1JlZlB0cjxOb2RlPiYgbm9kZSkKK3sKKyAgICBt
X3ByaXZhdGUgPSBub2RlOworICAgIHJldHVybiAqdGhpczsKK30KKworV2ViTm9kZTo6b3BlcmF0
b3IgUGFzc1JlZlB0cjxOb2RlPigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS5nZXQo
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>
<flag name="review"
          id="33630"
          type_id="1"
          status="+"
          setter="jorlow"
    />
          </attachment>
      

    </bug>

</bugzilla>