<?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>97742</bug_id>
          
          <creation_ts>2012-09-26 16:52:28 -0700</creation_ts>
          <short_desc>Simplify and clarify MutationObserverRegistration interface and usage</short_desc>
          <delta_ts>2012-09-27 11:35:03 -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="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>esprehn</cc>
    
    <cc>ojan</cc>
    
    <cc>rafaelw</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>729073</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-09-26 16:52:28 -0700</bug_when>
    <thetext>Simplify and clarify MutationObserverRegistration interface and usage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729078</commentid>
    <comment_count>1</comment_count>
      <attachid>165900</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-09-26 16:56:55 -0700</bug_when>
    <thetext>Created attachment 165900
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729086</commentid>
    <comment_count>2</comment_count>
      <attachid>165902</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-09-26 17:07:58 -0700</bug_when>
    <thetext>Created attachment 165902
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729107</commentid>
    <comment_count>3</comment_count>
      <attachid>165906</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-09-26 17:53:05 -0700</bug_when>
    <thetext>Created attachment 165906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729133</commentid>
    <comment_count>4</comment_count>
      <attachid>165906</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-26 19:06:19 -0700</bug_when>
    <thetext>Comment on attachment 165906
Patch

Attachment 165906 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14030696

New failing tests:
svg/animations/smil-leak-dynamically-added-element-instances.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729734</commentid>
    <comment_count>5</comment_count>
      <attachid>165906</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 11:34:59 -0700</bug_when>
    <thetext>Comment on attachment 165906
Patch

Clearing flags on attachment: 165906

Committed r129781: &lt;http://trac.webkit.org/changeset/129781&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729735</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-27 11:35:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165900</attachid>
            <date>2012-09-26 16:56:55 -0700</date>
            <delta_ts>2012-09-26 17:07:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97742-20120926165614.patch</filename>
            <type>text/plain</type>
            <size>14430</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE0MGJmM2VjOWI4MDMw
NzZmZTcyMzA5YTcwZjFkNWRkYTUwMjliZC4uMDU1NGI3OGE0YjE4YTk5M2QyNzI0YjJkYTNiNjdh
OGNjYjIyNjNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA5LTI2ICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNpbXBsaWZ5IGFuZCBjbGFy
aWZ5IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlIGFuZCB1c2FnZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc3NDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGSVhNRQorCisgICAg
ICAgICogZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6b2JzZXJ2ZWRTdWJ0cmVlTm9kZVdp
bGxEZXRhY2gpOiBUYWtlIGEgcmF3IHBvaW50ZXIgYmVjYXVzZSB3ZSBkb24ndCBhbHdheXMgcmVm
IHRoZSBub2RlLgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlv
bjo6c2hvdWxkUmVjZWl2ZU11dGF0aW9uRnJvbSk6IE1ha2UgdGhpcyBhIGNvbnN0IG1ldGhvZC4K
KyAgICAgICAgKiBkb20vTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oOgorICAgICAgICAo
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uOjpoYXNUcmFuc2llbnRSZWdpc3RyYXRpb25zKTogY29uc3Qg
bWV0aG9kLgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6
aXNTdWJ0cmVlKTogUmVtb3ZlIHN1cGVyZmx1b3VzICJpbmxpbmUiIGtleXdvcmQuCisgICAgICAg
IChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjpvYnNlcnZlcik6IGNvbnN0
IG1ldGhvZC4KKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbGxlY3RNYXRjaGluZ09ic2VydmVyc0Zvck11dGF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok5vZGU6OmdldFJlZ2lzdGVyZWRNdXRhdGlvbk9ic2VydmVyc09mVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZWdpc3Rlck11dGF0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgIChOb2RlKToKKyAgICAgICAgKiBkb20vTm9k
ZVJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmFyZURhdGE6OnRyYW5zaWVudE11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmFyZURhdGE6
OmVuc3VyZVRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSk6CisgICAgICAgIChOb2Rl
UmFyZURhdGEpOgorCiAyMDEyLTA5LTI0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjM1MTkwNj4gSGF2ZSBEdW1wUmVu
ZGVyVHJlZSBhbmQgV2ViS2l0VGVzdFJ1bm5lciBjcmFzaCBsb2dzIHNob3cgd2hpY2ggdGVzdCBj
cmFzaGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJl
Z2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lz
dHJhdGlvbi5jcHAKaW5kZXggNTg5NWVmNDlmZWFhNmFjNjMzYzJkOTRjOTY4MzI5Yjk1YTllMzQz
Ni4uMjUzODExNzYzNzA2MDc0OWJjZDlhOTY2ZTU3OTlmMmViMjEzNGQzYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcApAQCAt
NjYsNyArNjYsNyBAQCB2b2lkIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246OnJlc2V0T2Jz
ZXJ2YXRpb24oTXV0YXRpb25PYnNlcnZlck9wdGlvbnMgb3B0aQogICAgIG1fYXR0cmlidXRlRmls
dGVyID0gYXR0cmlidXRlRmlsdGVyOwogfQogCi12b2lkIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb246Om9ic2VydmVkU3VidHJlZU5vZGVXaWxsRGV0YWNoKFBhc3NSZWZQdHI8Tm9kZT4gbm9k
ZSkKK3ZvaWQgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6b2JzZXJ2ZWRTdWJ0cmVlTm9k
ZVdpbGxEZXRhY2goTm9kZSogbm9kZSkKIHsKICAgICBpZiAoIWlzU3VidHJlZSgpKQogICAgICAg
ICByZXR1cm47CkBAIC0xMDUsNyArMTA1LDcgQEAgdm9pZCBNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uOjp1bnJlZ2lzdGVyKCkKICAgICAvLyBUaGUgYWJvdmUgbGluZSB3aWxsIGNhdXNlIHRo
aXMgb2JqZWN0IHRvIGJlIGRlbGV0ZWQsIHNvIGRvbid0IGRvIGFueSBtb3JlIGluIHRoaXMgZnVu
Y3Rpb24uCiB9CiAKLWJvb2wgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6c2hvdWxkUmVj
ZWl2ZU11dGF0aW9uRnJvbShOb2RlKiBub2RlLCBNdXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvblR5
cGUgdHlwZSwgY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0cmlidXRlTmFtZSkKK2Jvb2wgTXV0YXRp
b25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6c2hvdWxkUmVjZWl2ZU11dGF0aW9uRnJvbShOb2RlKiBu
b2RlLCBNdXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvblR5cGUgdHlwZSwgY29uc3QgUXVhbGlmaWVk
TmFtZSogYXR0cmlidXRlTmFtZSkgY29uc3QKIHsKICAgICBBU1NFUlQoKHR5cGUgPT0gTXV0YXRp
b25PYnNlcnZlcjo6QXR0cmlidXRlcyAmJiBhdHRyaWJ1dGVOYW1lKSB8fCAhYXR0cmlidXRlTmFt
ZSk7CiAgICAgaWYgKCEobV9vcHRpb25zICYgdHlwZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaAppbmRleCBkNDkxNDYyNWE5ZGZlZDY2
NmRmNGI3OGE5MjFhNTc4ZTNjNzc3NTVmLi5mZDNhNTA0MTE1NWY5MWU4NWVjNWU1YjIxZjVkNzYy
M2Y3MWMxZjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZl
clJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVy
UmVnaXN0cmF0aW9uLmgKQEAgLTQ0LDI5ICs0NCwyNSBAQCBjbGFzcyBRdWFsaWZpZWROYW1lOwog
CiBjbGFzcyBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uIHsKIHB1YmxpYzoKLQogICAgIHN0
YXRpYyBQYXNzT3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+IGNyZWF0ZShQYXNz
UmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+LCBOb2RlKik7Ci0KICAgICB+TXV0YXRpb25PYnNlcnZl
clJlZ2lzdHJhdGlvbigpOwogCiAgICAgdm9pZCByZXNldE9ic2VydmF0aW9uKE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zLCBjb25zdCBIYXNoU2V0PEF0b21pY1N0cmluZz4mIGF0dHJpYnV0ZUZpbHRl
cik7Ci0gICAgdm9pZCBvYnNlcnZlZFN1YnRyZWVOb2RlV2lsbERldGFjaChQYXNzUmVmUHRyPE5v
ZGU+KTsKKyAgICB2b2lkIG9ic2VydmVkU3VidHJlZU5vZGVXaWxsRGV0YWNoKE5vZGUqKTsKICAg
ICB2b2lkIGNsZWFyVHJhbnNpZW50UmVnaXN0cmF0aW9ucygpOwotICAgIGJvb2wgaGFzVHJhbnNp
ZW50UmVnaXN0cmF0aW9ucygpIHsgcmV0dXJuIG1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMg
JiYgIW1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMtPmlzRW1wdHkoKTsgfQorICAgIGJvb2wg
aGFzVHJhbnNpZW50UmVnaXN0cmF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNpZW50UmVn
aXN0cmF0aW9uTm9kZXMgJiYgIW1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMtPmlzRW1wdHko
KTsgfQogICAgIHZvaWQgdW5yZWdpc3RlcigpOwogCi0gICAgYm9vbCBzaG91bGRSZWNlaXZlTXV0
YXRpb25Gcm9tKE5vZGUqLCBNdXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvblR5cGUsIGNvbnN0IFF1
YWxpZmllZE5hbWUqIGF0dHJpYnV0ZU5hbWUpOwotICAgIGJvb2wgaW5saW5lIGlzU3VidHJlZSgp
IGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucyAmIE11dGF0aW9uT2JzZXJ2ZXI6OlN1YnRyZWU7IH0K
KyAgICBib29sIHNob3VsZFJlY2VpdmVNdXRhdGlvbkZyb20oTm9kZSosIE11dGF0aW9uT2JzZXJ2
ZXI6Ok11dGF0aW9uVHlwZSwgY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0cmlidXRlTmFtZSkgY29u
c3Q7CisgICAgYm9vbCBpc1N1YnRyZWUoKSBjb25zdCB7IHJldHVybiBtX29wdGlvbnMgJiBNdXRh
dGlvbk9ic2VydmVyOjpTdWJ0cmVlOyB9CiAKLSAgICBNdXRhdGlvbk9ic2VydmVyKiBvYnNlcnZl
cigpIHsgcmV0dXJuIG1fb2JzZXJ2ZXIuZ2V0KCk7IH0KKyAgICBNdXRhdGlvbk9ic2VydmVyKiBv
YnNlcnZlcigpIGNvbnN0IHsgcmV0dXJuIG1fb2JzZXJ2ZXIuZ2V0KCk7IH0KICAgICBNdXRhdGlv
blJlY29yZERlbGl2ZXJ5T3B0aW9ucyBkZWxpdmVyeU9wdGlvbnMoKSBjb25zdCB7IHJldHVybiBt
X29wdGlvbnMgJiAoTXV0YXRpb25PYnNlcnZlcjo6QXR0cmlidXRlT2xkVmFsdWUgfCBNdXRhdGlv
bk9ic2VydmVyOjpDaGFyYWN0ZXJEYXRhT2xkVmFsdWUpOyB9CiAgICAgTXV0YXRpb25PYnNlcnZl
ck9wdGlvbnMgbXV0YXRpb25UeXBlcygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucyAmIE11dGF0
aW9uT2JzZXJ2ZXI6OkFsbE11dGF0aW9uVHlwZXM7IH0KIAogcHJpdmF0ZToKICAgICBNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uKFBhc3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4sIE5vZGUq
KTsKIAotICAgIGNvbnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nPiYgY2FzZUluc2Vuc2l0aXZlQXR0
cmlidXRlRmlsdGVyKCk7Ci0KICAgICBSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gbV9vYnNlcnZl
cjsKICAgICBOb2RlKiBtX3JlZ2lzdHJhdGlvbk5vZGU7CiAgICAgUmVmUHRyPE5vZGU+IG1fcmVn
aXN0cmF0aW9uTm9kZUtlZXBBbGl2ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA4YWIzMzUyZjYyYWMy
MTVmNjc2YTZlN2YyODRjZjY3MDMwNWE0YmIxLi40MWVjZjJkMjk3YTE2OGFiNzRmZjkwMDFmMjU2
YzRmNWYwZTk1ZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0yMzU4LDggKzIzNTgsOCBAQCB2b2lk
IE5vZGU6OmRpZE1vdmVUb05ld0RvY3VtZW50KERvY3VtZW50KiBvbGREb2N1bWVudCkKICAgICAg
ICAgfQogICAgIH0KIAotICAgIGlmIChIYXNoU2V0PE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRp
b24qPiogdHJhbnNpZW50UmVnaXN0cnkgPSB0cmFuc2llbnRNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cnkoKSkgewotICAgICAgICBmb3IgKEhhc2hTZXQ8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlv
bio+OjppdGVyYXRvciBpdGVyID0gdHJhbnNpZW50UmVnaXN0cnktPmJlZ2luKCk7IGl0ZXIgIT0g
dHJhbnNpZW50UmVnaXN0cnktPmVuZCgpOyArK2l0ZXIpIHsKKyAgICBpZiAoSGFzaFNldDxjb25z
dCBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKj4qIHRyYW5zaWVudFJlZ2lzdHJ5ID0gdHJh
bnNpZW50TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCkpIHsKKyAgICAgICAgZm9yIChIYXNoU2V0
PGNvbnN0IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qPjo6aXRlcmF0b3IgaXRlciA9IHRy
YW5zaWVudFJlZ2lzdHJ5LT5iZWdpbigpOyBpdGVyICE9IHRyYW5zaWVudFJlZ2lzdHJ5LT5lbmQo
KTsgKytpdGVyKSB7CiAgICAgICAgICAgICBkb2N1bWVudCgpLT5hZGRNdXRhdGlvbk9ic2VydmVy
VHlwZXMoKCppdGVyKS0+bXV0YXRpb25UeXBlcygpKTsKICAgICAgICAgfQogICAgIH0KQEAgLTI0
MjUsMzcgKzI0MjUsMjMgQEAgVmVjdG9yPE93blB0cjxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0
aW9uPiA+KiBOb2RlOjptdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKQogICAgIHJldHVybiBoYXNS
YXJlRGF0YSgpID8gcmFyZURhdGEoKS0+bXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCkgOiAwOwog
fQogCi1IYXNoU2V0PE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qPiogTm9kZTo6dHJhbnNp
ZW50TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCkKK0hhc2hTZXQ8Y29uc3QgTXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbio+KiBOb2RlOjp0cmFuc2llbnRNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cnkoKQogewogICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gcmFyZURhdGEoKS0+dHJhbnNpZW50
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCkgOiAwOwogfQogCi12b2lkIE5vZGU6OmNvbGxlY3RN
YXRjaGluZ09ic2VydmVyc0Zvck11dGF0aW9uKEhhc2hNYXA8TXV0YXRpb25PYnNlcnZlciosIE11
dGF0aW9uUmVjb3JkRGVsaXZlcnlPcHRpb25zPiYgb2JzZXJ2ZXJzLCBOb2RlKiBmcm9tTm9kZSwg
TXV0YXRpb25PYnNlcnZlcjo6TXV0YXRpb25UeXBlIHR5cGUsIGNvbnN0IFF1YWxpZmllZE5hbWUq
IGF0dHJpYnV0ZU5hbWUpCit0ZW1wbGF0ZTx0eXBlbmFtZSBSZWdpc3RyeT4KK3N0YXRpYyBpbmxp
bmUgdm9pZCBjb2xsZWN0TWF0Y2hpbmdPYnNlcnZlcnNGb3JNdXRhdGlvbihIYXNoTWFwPE11dGF0
aW9uT2JzZXJ2ZXIqLCBNdXRhdGlvblJlY29yZERlbGl2ZXJ5T3B0aW9ucz4mIG9ic2VydmVycywg
UmVnaXN0cnkqIHJlZ2lzdHJ5LCBOb2RlKiB0YXJnZXQsIE11dGF0aW9uT2JzZXJ2ZXI6Ok11dGF0
aW9uVHlwZSB0eXBlLCBjb25zdCBRdWFsaWZpZWROYW1lKiBhdHRyaWJ1dGVOYW1lKQogewotICAg
IEFTU0VSVCgodHlwZSA9PSBNdXRhdGlvbk9ic2VydmVyOjpBdHRyaWJ1dGVzICYmIGF0dHJpYnV0
ZU5hbWUpIHx8ICFhdHRyaWJ1dGVOYW1lKTsKLSAgICBpZiAoVmVjdG9yPE93blB0cjxNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uPiA+KiByZWdpc3RyeSA9IGZyb21Ob2RlLT5tdXRhdGlvbk9i
c2VydmVyUmVnaXN0cnkoKSkgewotICAgICAgICBjb25zdCBzaXplX3Qgc2l6ZSA9IHJlZ2lzdHJ5
LT5zaXplKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0g
ICAgICAgICAgICBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKiByZWdpc3RyYXRpb24gPSBy
ZWdpc3RyeS0+YXQoaSkuZ2V0KCk7Ci0gICAgICAgICAgICBpZiAocmVnaXN0cmF0aW9uLT5zaG91
bGRSZWNlaXZlTXV0YXRpb25Gcm9tKHRoaXMsIHR5cGUsIGF0dHJpYnV0ZU5hbWUpKSB7Ci0gICAg
ICAgICAgICAgICAgTXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnMgZGVsaXZlcnlPcHRpb25z
ID0gcmVnaXN0cmF0aW9uLT5kZWxpdmVyeU9wdGlvbnMoKTsKLSAgICAgICAgICAgICAgICBIYXNo
TWFwPE11dGF0aW9uT2JzZXJ2ZXIqLCBNdXRhdGlvblJlY29yZERlbGl2ZXJ5T3B0aW9ucz46OkFk
ZFJlc3VsdCByZXN1bHQgPSBvYnNlcnZlcnMuYWRkKHJlZ2lzdHJhdGlvbi0+b2JzZXJ2ZXIoKSwg
ZGVsaXZlcnlPcHRpb25zKTsKLSAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdC5pc05ld0VudHJ5
KQotICAgICAgICAgICAgICAgICAgICByZXN1bHQuaXRlcmF0b3ItPnNlY29uZCB8PSBkZWxpdmVy
eU9wdGlvbnM7Ci0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChI
YXNoU2V0PE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qPiogdHJhbnNpZW50UmVnaXN0cnkg
PSBmcm9tTm9kZS0+dHJhbnNpZW50TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCkpIHsKLSAgICAg
ICAgZm9yIChIYXNoU2V0PE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qPjo6aXRlcmF0b3Ig
aXRlciA9IHRyYW5zaWVudFJlZ2lzdHJ5LT5iZWdpbigpOyBpdGVyICE9IHRyYW5zaWVudFJlZ2lz
dHJ5LT5lbmQoKTsgKytpdGVyKSB7Ci0gICAgICAgICAgICBNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uKiByZWdpc3RyYXRpb24gPSAqaXRlcjsKLSAgICAgICAgICAgIGlmIChyZWdpc3RyYXRp
b24tPnNob3VsZFJlY2VpdmVNdXRhdGlvbkZyb20odGhpcywgdHlwZSwgYXR0cmlidXRlTmFtZSkp
IHsKLSAgICAgICAgICAgICAgICBNdXRhdGlvblJlY29yZERlbGl2ZXJ5T3B0aW9ucyBkZWxpdmVy
eU9wdGlvbnMgPSByZWdpc3RyYXRpb24tPmRlbGl2ZXJ5T3B0aW9ucygpOwotICAgICAgICAgICAg
ICAgIEhhc2hNYXA8TXV0YXRpb25PYnNlcnZlciosIE11dGF0aW9uUmVjb3JkRGVsaXZlcnlPcHRp
b25zPjo6QWRkUmVzdWx0IHJlc3VsdCA9IG9ic2VydmVycy5hZGQocmVnaXN0cmF0aW9uLT5vYnNl
cnZlcigpLCBkZWxpdmVyeU9wdGlvbnMpOwotICAgICAgICAgICAgICAgIGlmICghcmVzdWx0Lmlz
TmV3RW50cnkpCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5pdGVyYXRvci0+c2Vjb25kIHw9
IGRlbGl2ZXJ5T3B0aW9uczsKLSAgICAgICAgICAgIH0KKyAgICBpZiAoIXJlZ2lzdHJ5KQorICAg
ICAgICByZXR1cm47CisgICAgZm9yICh0eXBlbmFtZSBSZWdpc3RyeTo6aXRlcmF0b3IgaXRlciA9
IHJlZ2lzdHJ5LT5iZWdpbigpOyBpdGVyICE9IHJlZ2lzdHJ5LT5lbmQoKTsgKytpdGVyKSB7Cisg
ICAgICAgIGNvbnN0IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24mIHJlZ2lzdHJhdGlvbiA9
ICoqaXRlcjsKKyAgICAgICAgaWYgKHJlZ2lzdHJhdGlvbi5zaG91bGRSZWNlaXZlTXV0YXRpb25G
cm9tKHRhcmdldCwgdHlwZSwgYXR0cmlidXRlTmFtZSkpIHsKKyAgICAgICAgICAgIE11dGF0aW9u
UmVjb3JkRGVsaXZlcnlPcHRpb25zIGRlbGl2ZXJ5T3B0aW9ucyA9IHJlZ2lzdHJhdGlvbi5kZWxp
dmVyeU9wdGlvbnMoKTsKKyAgICAgICAgICAgIEhhc2hNYXA8TXV0YXRpb25PYnNlcnZlciosIE11
dGF0aW9uUmVjb3JkRGVsaXZlcnlPcHRpb25zPjo6QWRkUmVzdWx0IHJlc3VsdCA9IG9ic2VydmVy
cy5hZGQocmVnaXN0cmF0aW9uLm9ic2VydmVyKCksIGRlbGl2ZXJ5T3B0aW9ucyk7CisgICAgICAg
ICAgICBpZiAoIXJlc3VsdC5pc05ld0VudHJ5KQorICAgICAgICAgICAgICAgIHJlc3VsdC5pdGVy
YXRvci0+c2Vjb25kIHw9IGRlbGl2ZXJ5T3B0aW9uczsKICAgICAgICAgfQogICAgIH0KIH0KQEAg
LTI0NjMsMTIgKzI0NDksMTUgQEAgdm9pZCBOb2RlOjpjb2xsZWN0TWF0Y2hpbmdPYnNlcnZlcnNG
b3JNdXRhdGlvbihIYXNoTWFwPE11dGF0aW9uT2JzZXJ2ZXIqLCBNdXRhdGkKIHZvaWQgTm9kZTo6
Z2V0UmVnaXN0ZXJlZE11dGF0aW9uT2JzZXJ2ZXJzT2ZUeXBlKEhhc2hNYXA8TXV0YXRpb25PYnNl
cnZlciosIE11dGF0aW9uUmVjb3JkRGVsaXZlcnlPcHRpb25zPiYgb2JzZXJ2ZXJzLCBNdXRhdGlv
bk9ic2VydmVyOjpNdXRhdGlvblR5cGUgdHlwZSwgY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0cmli
dXRlTmFtZSkKIHsKICAgICBBU1NFUlQoKHR5cGUgPT0gTXV0YXRpb25PYnNlcnZlcjo6QXR0cmli
dXRlcyAmJiBhdHRyaWJ1dGVOYW1lKSB8fCAhYXR0cmlidXRlTmFtZSk7Ci0gICAgY29sbGVjdE1h
dGNoaW5nT2JzZXJ2ZXJzRm9yTXV0YXRpb24ob2JzZXJ2ZXJzLCB0aGlzLCB0eXBlLCBhdHRyaWJ1
dGVOYW1lKTsKLSAgICBmb3IgKE5vZGUqIG5vZGUgPSBwYXJlbnROb2RlKCk7IG5vZGU7IG5vZGUg
PSBub2RlLT5wYXJlbnROb2RlKCkpCi0gICAgICAgIGNvbGxlY3RNYXRjaGluZ09ic2VydmVyc0Zv
ck11dGF0aW9uKG9ic2VydmVycywgbm9kZSwgdHlwZSwgYXR0cmlidXRlTmFtZSk7CisgICAgY29s
bGVjdE1hdGNoaW5nT2JzZXJ2ZXJzRm9yTXV0YXRpb24ob2JzZXJ2ZXJzLCBtdXRhdGlvbk9ic2Vy
dmVyUmVnaXN0cnkoKSwgdGhpcywgdHlwZSwgYXR0cmlidXRlTmFtZSk7CisgICAgY29sbGVjdE1h
dGNoaW5nT2JzZXJ2ZXJzRm9yTXV0YXRpb24ob2JzZXJ2ZXJzLCB0cmFuc2llbnRNdXRhdGlvbk9i
c2VydmVyUmVnaXN0cnkoKSwgdGhpcywgdHlwZSwgYXR0cmlidXRlTmFtZSk7CisgICAgZm9yIChO
b2RlKiBub2RlID0gcGFyZW50Tm9kZSgpOyBub2RlOyBub2RlID0gbm9kZS0+cGFyZW50Tm9kZSgp
KSB7CisgICAgICAgIGNvbGxlY3RNYXRjaGluZ09ic2VydmVyc0Zvck11dGF0aW9uKG9ic2VydmVy
cywgbm9kZS0+bXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCksIHRoaXMsIHR5cGUsIGF0dHJpYnV0
ZU5hbWUpOworICAgICAgICBjb2xsZWN0TWF0Y2hpbmdPYnNlcnZlcnNGb3JNdXRhdGlvbihvYnNl
cnZlcnMsIG5vZGUtPnRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpLCB0aGlzLCB0
eXBlLCBhdHRyaWJ1dGVOYW1lKTsKKyAgICB9CiB9CiAKLU11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb24qIE5vZGU6OnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcihQYXNzUmVmUHRyPE11dGF0aW9u
T2JzZXJ2ZXI+IG9ic2VydmVyKQorTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbiogTm9kZTo6
cmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKE11dGF0aW9uT2JzZXJ2ZXIqIG9ic2VydmVyKQogewog
ICAgIFZlY3RvcjxPd25QdHI8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbj4gPiogcmVnaXN0
cnkgPSBlbnN1cmVSYXJlRGF0YSgpLT5lbnN1cmVNdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKTsK
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHJlZ2lzdHJ5LT5zaXplKCk7ICsraSkgewpAQCAt
MjQ3NiwxMCArMjQ2NSw4IEBAIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qIE5vZGU6OnJl
Z2lzdGVyTXV0YXRpb25PYnNlcnZlcihQYXNzUmVmUHRyPE11dGF0aW9uCiAgICAgICAgICAgICBy
ZXR1cm4gcmVnaXN0cnktPmF0KGkpLmdldCgpOwogICAgIH0KIAotICAgIE93blB0cjxNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uPiByZWdpc3RyYXRpb24gPSBNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uOjpjcmVhdGUob2JzZXJ2ZXIsIHRoaXMpOwotICAgIE11dGF0aW9uT2JzZXJ2ZXJS
ZWdpc3RyYXRpb24qIHJlZ2lzdHJhdGlvblB0ciA9IHJlZ2lzdHJhdGlvbi5nZXQoKTsKLSAgICBy
ZWdpc3RyeS0+YXBwZW5kKHJlZ2lzdHJhdGlvbi5yZWxlYXNlKCkpOwotICAgIHJldHVybiByZWdp
c3RyYXRpb25QdHI7CisgICAgcmVnaXN0cnktPmFwcGVuZChNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uOjpjcmVhdGUob2JzZXJ2ZXIsIHRoaXMpKTsKKyAgICByZXR1cm4gcmVnaXN0cnktPmxh
c3QoKS5nZXQoKTsKIH0KIAogdm9pZCBOb2RlOjp1bnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcihN
dXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKiByZWdpc3RyYXRpb24pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRl
eCA4MjE0ZDk4OGQ3NjAwMDMxNDEzZWYwYzY3NDNmMTAxZTIzY2M1NTM5Li42NmU2MTJkYThlYzZi
N2RjN2E3YzA0NzMzYWI5Njg0MGFlZWI2MmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTY1Myw3ICs2NTMs
NyBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQogICAgIHZvaWQg
Z2V0UmVnaXN0ZXJlZE11dGF0aW9uT2JzZXJ2ZXJzT2ZUeXBlKEhhc2hNYXA8TXV0YXRpb25PYnNl
cnZlciosIE11dGF0aW9uUmVjb3JkRGVsaXZlcnlPcHRpb25zPiYsIE11dGF0aW9uT2JzZXJ2ZXI6
Ok11dGF0aW9uVHlwZSwgY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0cmlidXRlTmFtZSk7Ci0gICAg
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbiogcmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKFBh
c3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4pOworICAgIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb24qIHJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcihNdXRhdGlvbk9ic2VydmVyKik7CiAgICAg
dm9pZCB1bnJlZ2lzdGVyTXV0YXRpb25PYnNlcnZlcihNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0
aW9uKik7CiAgICAgdm9pZCByZWdpc3RlclRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXIoTXV0YXRp
b25PYnNlcnZlclJlZ2lzdHJhdGlvbiopOwogICAgIHZvaWQgdW5yZWdpc3RlclRyYW5zaWVudE11
dGF0aW9uT2JzZXJ2ZXIoTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbiopOwpAQCAtNzk2LDgg
Kzc5Niw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQogICAg
IFZlY3RvcjxPd25QdHI8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbj4gPiogbXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJ5KCk7Ci0gICAgSGFzaFNldDxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0
aW9uKj4qIHRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpOwotICAgIHZvaWQgY29s
bGVjdE1hdGNoaW5nT2JzZXJ2ZXJzRm9yTXV0YXRpb24oSGFzaE1hcDxNdXRhdGlvbk9ic2VydmVy
KiwgTXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnM+JiwgTm9kZSogZnJvbU5vZGUsIE11dGF0
aW9uT2JzZXJ2ZXI6Ok11dGF0aW9uVHlwZSwgY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0cmlidXRl
TmFtZSk7CisgICAgSGFzaFNldDxjb25zdCBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKj4q
IHRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpOwogI2VuZGlmCiAKICAgICBtdXRh
YmxlIHVpbnQzMl90IG1fbm9kZUZsYWdzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4
IDY3M2ExMTIzMTRmODUxZWM4NmY2NTU5OGU0YTU3MDIyZTAxNzNlZTEuLjZhOTYzNzYxNWI0OWI5
OWZlY2Q4YWU5YTExYzBlMTIyMzc5YjlkMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlUmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgK
QEAgLTI0OSwxMSArMjQ5LDExIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fbXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJ5LmdldCgpOwogICAgIH0KIAotICAgIEhhc2hTZXQ8TXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbio+KiB0cmFuc2llbnRNdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSB7
IHJldHVybiBtX3RyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeS5nZXQoKTsgfQotICAg
IEhhc2hTZXQ8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbio+KiBlbnN1cmVUcmFuc2llbnRN
dXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKQorICAgIEhhc2hTZXQ8Y29uc3QgTXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbio+KiB0cmFuc2llbnRNdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSB7
IHJldHVybiBtX3RyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeS5nZXQoKTsgfQorICAg
IEhhc2hTZXQ8Y29uc3QgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbio+KiBlbnN1cmVUcmFu
c2llbnRNdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKQogICAgIHsKICAgICAgICAgaWYgKCFtX3Ry
YW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSkKLSAgICAgICAgICAgIG1fdHJhbnNpZW50
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5ID0gYWRvcHRQdHIobmV3IEhhc2hTZXQ8TXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJhdGlvbio+KTsKKyAgICAgICAgICAgIG1fdHJhbnNpZW50TXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJ5ID0gYWRvcHRQdHIobmV3IEhhc2hTZXQ8Y29uc3QgTXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbio+KTsKICAgICAgICAgcmV0dXJuIG1fdHJhbnNpZW50TXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJ5LmdldCgpOwogICAgIH0KICNlbmRpZgpAQCAtMzI5LDcgKzMyOSw3IEBA
IHByaXZhdGU6CiAKICNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQogICAgIE93blB0cjxW
ZWN0b3I8T3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+ID4gPiBtX211dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyeTsKLSAgICBPd25QdHI8SGFzaFNldDxNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uKj4gPiBtX3RyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeTsKKyAgICBP
d25QdHI8SGFzaFNldDxjb25zdCBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKj4gPiBtX3Ry
YW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1J
Q1JPREFUQSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165902</attachid>
            <date>2012-09-26 17:07:58 -0700</date>
            <delta_ts>2012-09-26 17:53:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97742-20120926170716.patch</filename>
            <type>text/plain</type>
            <size>11863</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE0MGJmM2VjOWI4MDMw
NzZmZTcyMzA5YTcwZjFkNWRkYTUwMjliZC4uMDU1NGI3OGE0YjE4YTk5M2QyNzI0YjJkYTNiNjdh
OGNjYjIyNjNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA5LTI2ICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNpbXBsaWZ5IGFuZCBjbGFy
aWZ5IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlIGFuZCB1c2FnZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc3NDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGSVhNRQorCisgICAg
ICAgICogZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6b2JzZXJ2ZWRTdWJ0cmVlTm9kZVdp
bGxEZXRhY2gpOiBUYWtlIGEgcmF3IHBvaW50ZXIgYmVjYXVzZSB3ZSBkb24ndCBhbHdheXMgcmVm
IHRoZSBub2RlLgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlv
bjo6c2hvdWxkUmVjZWl2ZU11dGF0aW9uRnJvbSk6IE1ha2UgdGhpcyBhIGNvbnN0IG1ldGhvZC4K
KyAgICAgICAgKiBkb20vTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oOgorICAgICAgICAo
TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uOjpoYXNUcmFuc2llbnRSZWdpc3RyYXRpb25zKTogY29uc3Qg
bWV0aG9kLgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6
aXNTdWJ0cmVlKTogUmVtb3ZlIHN1cGVyZmx1b3VzICJpbmxpbmUiIGtleXdvcmQuCisgICAgICAg
IChXZWJDb3JlOjpNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjpvYnNlcnZlcik6IGNvbnN0
IG1ldGhvZC4KKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbGxlY3RNYXRjaGluZ09ic2VydmVyc0Zvck11dGF0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok5vZGU6OmdldFJlZ2lzdGVyZWRNdXRhdGlvbk9ic2VydmVyc09mVHlw
ZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZWdpc3Rlck11dGF0aW9uT2JzZXJ2ZXIpOgor
ICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgIChOb2RlKToKKyAgICAgICAgKiBkb20vTm9k
ZVJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmFyZURhdGE6OnRyYW5zaWVudE11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlUmFyZURhdGE6
OmVuc3VyZVRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSk6CisgICAgICAgIChOb2Rl
UmFyZURhdGEpOgorCiAyMDEyLTA5LTI0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjM1MTkwNj4gSGF2ZSBEdW1wUmVu
ZGVyVHJlZSBhbmQgV2ViS2l0VGVzdFJ1bm5lciBjcmFzaCBsb2dzIHNob3cgd2hpY2ggdGVzdCBj
cmFzaGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJl
Z2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lz
dHJhdGlvbi5jcHAKaW5kZXggNTg5NWVmNDlmZWFhNmFjNjMzYzJkOTRjOTY4MzI5Yjk1YTllMzQz
Ni4uMjUzODExNzYzNzA2MDc0OWJjZDlhOTY2ZTU3OTlmMmViMjEzNGQzYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcApAQCAt
NjYsNyArNjYsNyBAQCB2b2lkIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246OnJlc2V0T2Jz
ZXJ2YXRpb24oTXV0YXRpb25PYnNlcnZlck9wdGlvbnMgb3B0aQogICAgIG1fYXR0cmlidXRlRmls
dGVyID0gYXR0cmlidXRlRmlsdGVyOwogfQogCi12b2lkIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb246Om9ic2VydmVkU3VidHJlZU5vZGVXaWxsRGV0YWNoKFBhc3NSZWZQdHI8Tm9kZT4gbm9k
ZSkKK3ZvaWQgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6b2JzZXJ2ZWRTdWJ0cmVlTm9k
ZVdpbGxEZXRhY2goTm9kZSogbm9kZSkKIHsKICAgICBpZiAoIWlzU3VidHJlZSgpKQogICAgICAg
ICByZXR1cm47CkBAIC0xMDUsNyArMTA1LDcgQEAgdm9pZCBNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uOjp1bnJlZ2lzdGVyKCkKICAgICAvLyBUaGUgYWJvdmUgbGluZSB3aWxsIGNhdXNlIHRo
aXMgb2JqZWN0IHRvIGJlIGRlbGV0ZWQsIHNvIGRvbid0IGRvIGFueSBtb3JlIGluIHRoaXMgZnVu
Y3Rpb24uCiB9CiAKLWJvb2wgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6c2hvdWxkUmVj
ZWl2ZU11dGF0aW9uRnJvbShOb2RlKiBub2RlLCBNdXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvblR5
cGUgdHlwZSwgY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0cmlidXRlTmFtZSkKK2Jvb2wgTXV0YXRp
b25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6c2hvdWxkUmVjZWl2ZU11dGF0aW9uRnJvbShOb2RlKiBu
b2RlLCBNdXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvblR5cGUgdHlwZSwgY29uc3QgUXVhbGlmaWVk
TmFtZSogYXR0cmlidXRlTmFtZSkgY29uc3QKIHsKICAgICBBU1NFUlQoKHR5cGUgPT0gTXV0YXRp
b25PYnNlcnZlcjo6QXR0cmlidXRlcyAmJiBhdHRyaWJ1dGVOYW1lKSB8fCAhYXR0cmlidXRlTmFt
ZSk7CiAgICAgaWYgKCEobV9vcHRpb25zICYgdHlwZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaAppbmRleCBkNDkxNDYyNWE5ZGZlZDY2
NmRmNGI3OGE5MjFhNTc4ZTNjNzc3NTVmLi5mZDNhNTA0MTE1NWY5MWU4NWVjNWU1YjIxZjVkNzYy
M2Y3MWMxZjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZl
clJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVy
UmVnaXN0cmF0aW9uLmgKQEAgLTQ0LDI5ICs0NCwyNSBAQCBjbGFzcyBRdWFsaWZpZWROYW1lOwog
CiBjbGFzcyBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uIHsKIHB1YmxpYzoKLQogICAgIHN0
YXRpYyBQYXNzT3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+IGNyZWF0ZShQYXNz
UmVmUHRyPE11dGF0aW9uT2JzZXJ2ZXI+LCBOb2RlKik7Ci0KICAgICB+TXV0YXRpb25PYnNlcnZl
clJlZ2lzdHJhdGlvbigpOwogCiAgICAgdm9pZCByZXNldE9ic2VydmF0aW9uKE11dGF0aW9uT2Jz
ZXJ2ZXJPcHRpb25zLCBjb25zdCBIYXNoU2V0PEF0b21pY1N0cmluZz4mIGF0dHJpYnV0ZUZpbHRl
cik7Ci0gICAgdm9pZCBvYnNlcnZlZFN1YnRyZWVOb2RlV2lsbERldGFjaChQYXNzUmVmUHRyPE5v
ZGU+KTsKKyAgICB2b2lkIG9ic2VydmVkU3VidHJlZU5vZGVXaWxsRGV0YWNoKE5vZGUqKTsKICAg
ICB2b2lkIGNsZWFyVHJhbnNpZW50UmVnaXN0cmF0aW9ucygpOwotICAgIGJvb2wgaGFzVHJhbnNp
ZW50UmVnaXN0cmF0aW9ucygpIHsgcmV0dXJuIG1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMg
JiYgIW1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMtPmlzRW1wdHkoKTsgfQorICAgIGJvb2wg
aGFzVHJhbnNpZW50UmVnaXN0cmF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNpZW50UmVn
aXN0cmF0aW9uTm9kZXMgJiYgIW1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMtPmlzRW1wdHko
KTsgfQogICAgIHZvaWQgdW5yZWdpc3RlcigpOwogCi0gICAgYm9vbCBzaG91bGRSZWNlaXZlTXV0
YXRpb25Gcm9tKE5vZGUqLCBNdXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvblR5cGUsIGNvbnN0IFF1
YWxpZmllZE5hbWUqIGF0dHJpYnV0ZU5hbWUpOwotICAgIGJvb2wgaW5saW5lIGlzU3VidHJlZSgp
IGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucyAmIE11dGF0aW9uT2JzZXJ2ZXI6OlN1YnRyZWU7IH0K
KyAgICBib29sIHNob3VsZFJlY2VpdmVNdXRhdGlvbkZyb20oTm9kZSosIE11dGF0aW9uT2JzZXJ2
ZXI6Ok11dGF0aW9uVHlwZSwgY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0cmlidXRlTmFtZSkgY29u
c3Q7CisgICAgYm9vbCBpc1N1YnRyZWUoKSBjb25zdCB7IHJldHVybiBtX29wdGlvbnMgJiBNdXRh
dGlvbk9ic2VydmVyOjpTdWJ0cmVlOyB9CiAKLSAgICBNdXRhdGlvbk9ic2VydmVyKiBvYnNlcnZl
cigpIHsgcmV0dXJuIG1fb2JzZXJ2ZXIuZ2V0KCk7IH0KKyAgICBNdXRhdGlvbk9ic2VydmVyKiBv
YnNlcnZlcigpIGNvbnN0IHsgcmV0dXJuIG1fb2JzZXJ2ZXIuZ2V0KCk7IH0KICAgICBNdXRhdGlv
blJlY29yZERlbGl2ZXJ5T3B0aW9ucyBkZWxpdmVyeU9wdGlvbnMoKSBjb25zdCB7IHJldHVybiBt
X29wdGlvbnMgJiAoTXV0YXRpb25PYnNlcnZlcjo6QXR0cmlidXRlT2xkVmFsdWUgfCBNdXRhdGlv
bk9ic2VydmVyOjpDaGFyYWN0ZXJEYXRhT2xkVmFsdWUpOyB9CiAgICAgTXV0YXRpb25PYnNlcnZl
ck9wdGlvbnMgbXV0YXRpb25UeXBlcygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucyAmIE11dGF0
aW9uT2JzZXJ2ZXI6OkFsbE11dGF0aW9uVHlwZXM7IH0KIAogcHJpdmF0ZToKICAgICBNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uKFBhc3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4sIE5vZGUq
KTsKIAotICAgIGNvbnN0IEhhc2hTZXQ8QXRvbWljU3RyaW5nPiYgY2FzZUluc2Vuc2l0aXZlQXR0
cmlidXRlRmlsdGVyKCk7Ci0KICAgICBSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gbV9vYnNlcnZl
cjsKICAgICBOb2RlKiBtX3JlZ2lzdHJhdGlvbk5vZGU7CiAgICAgUmVmUHRyPE5vZGU+IG1fcmVn
aXN0cmF0aW9uTm9kZUtlZXBBbGl2ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA4YWIzMzUyZjYyYWMy
MTVmNjc2YTZlN2YyODRjZjY3MDMwNWE0YmIxLi42NzM0NGM3MDk1MzEzOWYyNGIwZjBmM2NkOTYx
MzM2Y2Y4YjIyOTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0yNDMwLDMyICsyNDMwLDE4IEBAIEhh
c2hTZXQ8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbio+KiBOb2RlOjp0cmFuc2llbnRNdXRh
dGlvbk9ic2VydmVyUmVnaXN0cnkoCiAgICAgcmV0dXJuIGhhc1JhcmVEYXRhKCkgPyByYXJlRGF0
YSgpLT50cmFuc2llbnRNdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSA6IDA7CiB9CiAKLXZvaWQg
Tm9kZTo6Y29sbGVjdE1hdGNoaW5nT2JzZXJ2ZXJzRm9yTXV0YXRpb24oSGFzaE1hcDxNdXRhdGlv
bk9ic2VydmVyKiwgTXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnM+JiBvYnNlcnZlcnMsIE5v
ZGUqIGZyb21Ob2RlLCBNdXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvblR5cGUgdHlwZSwgY29uc3Qg
UXVhbGlmaWVkTmFtZSogYXR0cmlidXRlTmFtZSkKK3RlbXBsYXRlPHR5cGVuYW1lIFJlZ2lzdHJ5
Pgorc3RhdGljIGlubGluZSB2b2lkIGNvbGxlY3RNYXRjaGluZ09ic2VydmVyc0Zvck11dGF0aW9u
KEhhc2hNYXA8TXV0YXRpb25PYnNlcnZlciosIE11dGF0aW9uUmVjb3JkRGVsaXZlcnlPcHRpb25z
PiYgb2JzZXJ2ZXJzLCBSZWdpc3RyeSogcmVnaXN0cnksIE5vZGUqIHRhcmdldCwgTXV0YXRpb25P
YnNlcnZlcjo6TXV0YXRpb25UeXBlIHR5cGUsIGNvbnN0IFF1YWxpZmllZE5hbWUqIGF0dHJpYnV0
ZU5hbWUpCiB7Ci0gICAgQVNTRVJUKCh0eXBlID09IE11dGF0aW9uT2JzZXJ2ZXI6OkF0dHJpYnV0
ZXMgJiYgYXR0cmlidXRlTmFtZSkgfHwgIWF0dHJpYnV0ZU5hbWUpOwotICAgIGlmIChWZWN0b3I8
T3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+ID4qIHJlZ2lzdHJ5ID0gZnJvbU5v
ZGUtPm11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpKSB7Ci0gICAgICAgIGNvbnN0IHNpemVfdCBz
aXplID0gcmVnaXN0cnktPnNpemUoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBz
aXplOyArK2kpIHsKLSAgICAgICAgICAgIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qIHJl
Z2lzdHJhdGlvbiA9IHJlZ2lzdHJ5LT5hdChpKS5nZXQoKTsKLSAgICAgICAgICAgIGlmIChyZWdp
c3RyYXRpb24tPnNob3VsZFJlY2VpdmVNdXRhdGlvbkZyb20odGhpcywgdHlwZSwgYXR0cmlidXRl
TmFtZSkpIHsKLSAgICAgICAgICAgICAgICBNdXRhdGlvblJlY29yZERlbGl2ZXJ5T3B0aW9ucyBk
ZWxpdmVyeU9wdGlvbnMgPSByZWdpc3RyYXRpb24tPmRlbGl2ZXJ5T3B0aW9ucygpOwotICAgICAg
ICAgICAgICAgIEhhc2hNYXA8TXV0YXRpb25PYnNlcnZlciosIE11dGF0aW9uUmVjb3JkRGVsaXZl
cnlPcHRpb25zPjo6QWRkUmVzdWx0IHJlc3VsdCA9IG9ic2VydmVycy5hZGQocmVnaXN0cmF0aW9u
LT5vYnNlcnZlcigpLCBkZWxpdmVyeU9wdGlvbnMpOwotICAgICAgICAgICAgICAgIGlmICghcmVz
dWx0LmlzTmV3RW50cnkpCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5pdGVyYXRvci0+c2Vj
b25kIHw9IGRlbGl2ZXJ5T3B0aW9uczsKLQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAg
fQotCi0gICAgaWYgKEhhc2hTZXQ8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbio+KiB0cmFu
c2llbnRSZWdpc3RyeSA9IGZyb21Ob2RlLT50cmFuc2llbnRNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cnkoKSkgewotICAgICAgICBmb3IgKEhhc2hTZXQ8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlv
bio+OjppdGVyYXRvciBpdGVyID0gdHJhbnNpZW50UmVnaXN0cnktPmJlZ2luKCk7IGl0ZXIgIT0g
dHJhbnNpZW50UmVnaXN0cnktPmVuZCgpOyArK2l0ZXIpIHsKLSAgICAgICAgICAgIE11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24qIHJlZ2lzdHJhdGlvbiA9ICppdGVyOwotICAgICAgICAgICAg
aWYgKHJlZ2lzdHJhdGlvbi0+c2hvdWxkUmVjZWl2ZU11dGF0aW9uRnJvbSh0aGlzLCB0eXBlLCBh
dHRyaWJ1dGVOYW1lKSkgewotICAgICAgICAgICAgICAgIE11dGF0aW9uUmVjb3JkRGVsaXZlcnlP
cHRpb25zIGRlbGl2ZXJ5T3B0aW9ucyA9IHJlZ2lzdHJhdGlvbi0+ZGVsaXZlcnlPcHRpb25zKCk7
Ci0gICAgICAgICAgICAgICAgSGFzaE1hcDxNdXRhdGlvbk9ic2VydmVyKiwgTXV0YXRpb25SZWNv
cmREZWxpdmVyeU9wdGlvbnM+OjpBZGRSZXN1bHQgcmVzdWx0ID0gb2JzZXJ2ZXJzLmFkZChyZWdp
c3RyYXRpb24tPm9ic2VydmVyKCksIGRlbGl2ZXJ5T3B0aW9ucyk7Ci0gICAgICAgICAgICAgICAg
aWYgKCFyZXN1bHQuaXNOZXdFbnRyeSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lml0ZXJh
dG9yLT5zZWNvbmQgfD0gZGVsaXZlcnlPcHRpb25zOwotICAgICAgICAgICAgfQorICAgIGlmICgh
cmVnaXN0cnkpCisgICAgICAgIHJldHVybjsKKyAgICBmb3IgKHR5cGVuYW1lIFJlZ2lzdHJ5Ojpp
dGVyYXRvciBpdGVyID0gcmVnaXN0cnktPmJlZ2luKCk7IGl0ZXIgIT0gcmVnaXN0cnktPmVuZCgp
OyArK2l0ZXIpIHsKKyAgICAgICAgY29uc3QgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbiYg
cmVnaXN0cmF0aW9uID0gKippdGVyOworICAgICAgICBpZiAocmVnaXN0cmF0aW9uLnNob3VsZFJl
Y2VpdmVNdXRhdGlvbkZyb20odGFyZ2V0LCB0eXBlLCBhdHRyaWJ1dGVOYW1lKSkgeworICAgICAg
ICAgICAgTXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnMgZGVsaXZlcnlPcHRpb25zID0gcmVn
aXN0cmF0aW9uLmRlbGl2ZXJ5T3B0aW9ucygpOworICAgICAgICAgICAgSGFzaE1hcDxNdXRhdGlv
bk9ic2VydmVyKiwgTXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnM+OjpBZGRSZXN1bHQgcmVz
dWx0ID0gb2JzZXJ2ZXJzLmFkZChyZWdpc3RyYXRpb24ub2JzZXJ2ZXIoKSwgZGVsaXZlcnlPcHRp
b25zKTsKKyAgICAgICAgICAgIGlmICghcmVzdWx0LmlzTmV3RW50cnkpCisgICAgICAgICAgICAg
ICAgcmVzdWx0Lml0ZXJhdG9yLT5zZWNvbmQgfD0gZGVsaXZlcnlPcHRpb25zOwogICAgICAgICB9
CiAgICAgfQogfQpAQCAtMjQ2MywxMiArMjQ0OSwxNSBAQCB2b2lkIE5vZGU6OmNvbGxlY3RNYXRj
aGluZ09ic2VydmVyc0Zvck11dGF0aW9uKEhhc2hNYXA8TXV0YXRpb25PYnNlcnZlciosIE11dGF0
aQogdm9pZCBOb2RlOjpnZXRSZWdpc3RlcmVkTXV0YXRpb25PYnNlcnZlcnNPZlR5cGUoSGFzaE1h
cDxNdXRhdGlvbk9ic2VydmVyKiwgTXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnM+JiBvYnNl
cnZlcnMsIE11dGF0aW9uT2JzZXJ2ZXI6Ok11dGF0aW9uVHlwZSB0eXBlLCBjb25zdCBRdWFsaWZp
ZWROYW1lKiBhdHRyaWJ1dGVOYW1lKQogewogICAgIEFTU0VSVCgodHlwZSA9PSBNdXRhdGlvbk9i
c2VydmVyOjpBdHRyaWJ1dGVzICYmIGF0dHJpYnV0ZU5hbWUpIHx8ICFhdHRyaWJ1dGVOYW1lKTsK
LSAgICBjb2xsZWN0TWF0Y2hpbmdPYnNlcnZlcnNGb3JNdXRhdGlvbihvYnNlcnZlcnMsIHRoaXMs
IHR5cGUsIGF0dHJpYnV0ZU5hbWUpOwotICAgIGZvciAoTm9kZSogbm9kZSA9IHBhcmVudE5vZGUo
KTsgbm9kZTsgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKSkKLSAgICAgICAgY29sbGVjdE1hdGNo
aW5nT2JzZXJ2ZXJzRm9yTXV0YXRpb24ob2JzZXJ2ZXJzLCBub2RlLCB0eXBlLCBhdHRyaWJ1dGVO
YW1lKTsKKyAgICBjb2xsZWN0TWF0Y2hpbmdPYnNlcnZlcnNGb3JNdXRhdGlvbihvYnNlcnZlcnMs
IG11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpLCB0aGlzLCB0eXBlLCBhdHRyaWJ1dGVOYW1lKTsK
KyAgICBjb2xsZWN0TWF0Y2hpbmdPYnNlcnZlcnNGb3JNdXRhdGlvbihvYnNlcnZlcnMsIHRyYW5z
aWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpLCB0aGlzLCB0eXBlLCBhdHRyaWJ1dGVOYW1l
KTsKKyAgICBmb3IgKE5vZGUqIG5vZGUgPSBwYXJlbnROb2RlKCk7IG5vZGU7IG5vZGUgPSBub2Rl
LT5wYXJlbnROb2RlKCkpIHsKKyAgICAgICAgY29sbGVjdE1hdGNoaW5nT2JzZXJ2ZXJzRm9yTXV0
YXRpb24ob2JzZXJ2ZXJzLCBub2RlLT5tdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSwgdGhpcywg
dHlwZSwgYXR0cmlidXRlTmFtZSk7CisgICAgICAgIGNvbGxlY3RNYXRjaGluZ09ic2VydmVyc0Zv
ck11dGF0aW9uKG9ic2VydmVycywgbm9kZS0+dHJhbnNpZW50TXV0YXRpb25PYnNlcnZlclJlZ2lz
dHJ5KCksIHRoaXMsIHR5cGUsIGF0dHJpYnV0ZU5hbWUpOworICAgIH0KIH0KIAotTXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJhdGlvbiogTm9kZTo6cmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKFBhc3NS
ZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gb2JzZXJ2ZXIpCitNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uKiBOb2RlOjpyZWdpc3Rlck11dGF0aW9uT2JzZXJ2ZXIoTXV0YXRpb25PYnNlcnZlciog
b2JzZXJ2ZXIpCiB7CiAgICAgVmVjdG9yPE93blB0cjxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0
aW9uPiA+KiByZWdpc3RyeSA9IGVuc3VyZVJhcmVEYXRhKCktPmVuc3VyZU11dGF0aW9uT2JzZXJ2
ZXJSZWdpc3RyeSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVnaXN0cnktPnNpemUo
KTsgKytpKSB7CkBAIC0yNDc2LDEwICsyNDY1LDggQEAgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJh
dGlvbiogTm9kZTo6cmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8TXV0YXRpb24K
ICAgICAgICAgICAgIHJldHVybiByZWdpc3RyeS0+YXQoaSkuZ2V0KCk7CiAgICAgfQogCi0gICAg
T3duUHRyPE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+IHJlZ2lzdHJhdGlvbiA9IE11dGF0
aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246OmNyZWF0ZShvYnNlcnZlciwgdGhpcyk7Ci0gICAgTXV0
YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbiogcmVnaXN0cmF0aW9uUHRyID0gcmVnaXN0cmF0aW9u
LmdldCgpOwotICAgIHJlZ2lzdHJ5LT5hcHBlbmQocmVnaXN0cmF0aW9uLnJlbGVhc2UoKSk7Ci0g
ICAgcmV0dXJuIHJlZ2lzdHJhdGlvblB0cjsKKyAgICByZWdpc3RyeS0+YXBwZW5kKE11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb246OmNyZWF0ZShvYnNlcnZlciwgdGhpcykpOworICAgIHJldHVy
biByZWdpc3RyeS0+bGFzdCgpLmdldCgpOwogfQogCiB2b2lkIE5vZGU6OnVucmVnaXN0ZXJNdXRh
dGlvbk9ic2VydmVyKE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qIHJlZ2lzdHJhdGlvbikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5oCmluZGV4IDgyMTRkOTg4ZDc2MDAwMzE0MTNlZjBjNjc0M2YxMDFlMjNjYzU1Mzku
LjE2NmFjMmEyZjIyYjA2NDkzYTM0N2ViNTdjMGY4ZGE0MDQxMmMyYzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApA
QCAtNjUzLDcgKzY1Myw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZF
UlMpCiAgICAgdm9pZCBnZXRSZWdpc3RlcmVkTXV0YXRpb25PYnNlcnZlcnNPZlR5cGUoSGFzaE1h
cDxNdXRhdGlvbk9ic2VydmVyKiwgTXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnM+JiwgTXV0
YXRpb25PYnNlcnZlcjo6TXV0YXRpb25UeXBlLCBjb25zdCBRdWFsaWZpZWROYW1lKiBhdHRyaWJ1
dGVOYW1lKTsKLSAgICBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKiByZWdpc3Rlck11dGF0
aW9uT2JzZXJ2ZXIoUGFzc1JlZlB0cjxNdXRhdGlvbk9ic2VydmVyPik7CisgICAgTXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJhdGlvbiogcmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKE11dGF0aW9uT2Jz
ZXJ2ZXIqKTsKICAgICB2b2lkIHVucmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKE11dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyYXRpb24qKTsKICAgICB2b2lkIHJlZ2lzdGVyVHJhbnNpZW50TXV0YXRpb25P
YnNlcnZlcihNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKik7CiAgICAgdm9pZCB1bnJlZ2lz
dGVyVHJhbnNpZW50TXV0YXRpb25PYnNlcnZlcihNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9u
Kik7CkBAIC03OTcsNyArNzk3LDYgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoTVVUQVRJT05fT0JT
RVJWRVJTKQogICAgIFZlY3RvcjxPd25QdHI8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbj4g
PiogbXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCk7CiAgICAgSGFzaFNldDxNdXRhdGlvbk9ic2Vy
dmVyUmVnaXN0cmF0aW9uKj4qIHRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpOwot
ICAgIHZvaWQgY29sbGVjdE1hdGNoaW5nT2JzZXJ2ZXJzRm9yTXV0YXRpb24oSGFzaE1hcDxNdXRh
dGlvbk9ic2VydmVyKiwgTXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnM+JiwgTm9kZSogZnJv
bU5vZGUsIE11dGF0aW9uT2JzZXJ2ZXI6Ok11dGF0aW9uVHlwZSwgY29uc3QgUXVhbGlmaWVkTmFt
ZSogYXR0cmlidXRlTmFtZSk7CiAjZW5kaWYKIAogICAgIG11dGFibGUgdWludDMyX3QgbV9ub2Rl
RmxhZ3M7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165906</attachid>
            <date>2012-09-26 17:53:05 -0700</date>
            <delta_ts>2012-09-27 11:34:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97742-20120926175224.patch</filename>
            <type>text/plain</type>
            <size>12190</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE0MGJmM2VjOWI4MDMw
NzZmZTcyMzA5YTcwZjFkNWRkYTUwMjliZC4uODEzMzY5YTE4ZTgyNjhkMzNlZTg4N2U4NWZiZGM0
MjlkMTRjYjQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA5LTI2ICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNpbXBsaWZ5IGFuZCBjbGFy
aWZ5IE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24gaW50ZXJmYWNlIGFuZCB1c2FnZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc3NDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNaW5vciBjbGVhbnVw
cyBpbiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOiBtYWtlIGNvbnN0IG1ldGhvZHMgZXhw
bGljaXRseSBjb25zdCwKKyAgICAgICAgdXNlIEMrKyB0ZW1wbGF0ZXMgdG8gYXZvaWQgZHVwbGlj
YXRpbmcgbG9naWMsIGltcHJvdmUgdXNhZ2Ugb2YgcmF3IHBvaW50ZXJzIHZzIFBhc3NSZWZQdHIs
CisgICAgICAgIHJlbW92ZSB0aGUgZGVjbGFyYXRpb24gb2YgYSBuby1sb25nZXItZXhpc3Rpbmcg
bWV0aG9kLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGRv
bS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246Om9ic2VydmVkU3VidHJlZU5vZGVXaWxsRGV0YWNo
KTogVGFrZSBhIHJhdyBwb2ludGVyIGJlY2F1c2Ugd2UgZG9uJ3QgYWx3YXlzIHJlZiB0aGUgbm9k
ZS4KKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246OnNob3Vs
ZFJlY2VpdmVNdXRhdGlvbkZyb20pOiBNYWtlIHRoaXMgYSBjb25zdCBtZXRob2QuCisgICAgICAg
ICogZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaDoKKyAgICAgICAgKE11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24pOiBSZW1vdmVkIGRlY2xhcmF0aW9uIG9mIG5vbi1leGlzdGVu
dCBjYXNlSW5zZW5zaXRpdmVBdHRyaWJ1dGVGaWx0ZXIgbWV0aG9kLgorICAgICAgICAoV2ViQ29y
ZTo6TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6aGFzVHJhbnNpZW50UmVnaXN0cmF0aW9u
cyk6IGNvbnN0IG1ldGhvZC4KKyAgICAgICAgKFdlYkNvcmU6Ok11dGF0aW9uT2JzZXJ2ZXJSZWdp
c3RyYXRpb246OmlzU3VidHJlZSk6IFJlbW92ZSBzdXBlcmZsdW91cyAiaW5saW5lIiBrZXl3b3Jk
LgorICAgICAgICAoV2ViQ29yZTo6TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6b2JzZXJ2
ZXIpOiBjb25zdCBtZXRob2QuCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjb2xsZWN0TWF0Y2hpbmdPYnNlcnZlcnNGb3JNdXRh
dGlvbik6IEFkZCBhIHRlbXBsYXRpemVkIGZ1bmN0aW9uIHRvIHJlZHVjZSBkdXBsaWNhdGVkIGNv
ZGUuCisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpnZXRSZWdpc3RlcmVkTXV0YXRpb25PYnNlcnZl
cnNPZlR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVnaXN0ZXJNdXRhdGlvbk9ic2Vy
dmVyKTogVGFrZSBhIHJhdyBwb2ludGVyIGJlY2F1c2Ugd2UgZG9uJ3QgYWx3YXlzIHJlZiB0aGUg
b2JzZXJ2ZXIuCisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKE5vZGUpOiBSZW1vdmUg
b2xkIG1ldGhvZCwgcmVwbGFjZWQgYnkgdGVtcGxhdGl6ZWQgc3RhdGljIGZ1bmN0aW9uLgorCiAy
MDEyLTA5LTI0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xMjM1MTkwNj4gSGF2ZSBEdW1wUmVuZGVyVHJlZSBhbmQgV2Vi
S2l0VGVzdFJ1bm5lciBjcmFzaCBsb2dzIHNob3cgd2hpY2ggdGVzdCBjcmFzaGVkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5jcHAKaW5k
ZXggNTg5NWVmNDlmZWFhNmFjNjMzYzJkOTRjOTY4MzI5Yjk1YTllMzQzNi4uMjUzODExNzYzNzA2
MDc0OWJjZDlhOTY2ZTU3OTlmMmViMjEzNGQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL011dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmNwcApAQCAtNjYsNyArNjYsNyBAQCB2
b2lkIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246OnJlc2V0T2JzZXJ2YXRpb24oTXV0YXRp
b25PYnNlcnZlck9wdGlvbnMgb3B0aQogICAgIG1fYXR0cmlidXRlRmlsdGVyID0gYXR0cmlidXRl
RmlsdGVyOwogfQogCi12b2lkIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb246Om9ic2VydmVk
U3VidHJlZU5vZGVXaWxsRGV0YWNoKFBhc3NSZWZQdHI8Tm9kZT4gbm9kZSkKK3ZvaWQgTXV0YXRp
b25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6b2JzZXJ2ZWRTdWJ0cmVlTm9kZVdpbGxEZXRhY2goTm9k
ZSogbm9kZSkKIHsKICAgICBpZiAoIWlzU3VidHJlZSgpKQogICAgICAgICByZXR1cm47CkBAIC0x
MDUsNyArMTA1LDcgQEAgdm9pZCBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uOjp1bnJlZ2lz
dGVyKCkKICAgICAvLyBUaGUgYWJvdmUgbGluZSB3aWxsIGNhdXNlIHRoaXMgb2JqZWN0IHRvIGJl
IGRlbGV0ZWQsIHNvIGRvbid0IGRvIGFueSBtb3JlIGluIHRoaXMgZnVuY3Rpb24uCiB9CiAKLWJv
b2wgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbjo6c2hvdWxkUmVjZWl2ZU11dGF0aW9uRnJv
bShOb2RlKiBub2RlLCBNdXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvblR5cGUgdHlwZSwgY29uc3Qg
UXVhbGlmaWVkTmFtZSogYXR0cmlidXRlTmFtZSkKK2Jvb2wgTXV0YXRpb25PYnNlcnZlclJlZ2lz
dHJhdGlvbjo6c2hvdWxkUmVjZWl2ZU11dGF0aW9uRnJvbShOb2RlKiBub2RlLCBNdXRhdGlvbk9i
c2VydmVyOjpNdXRhdGlvblR5cGUgdHlwZSwgY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0cmlidXRl
TmFtZSkgY29uc3QKIHsKICAgICBBU1NFUlQoKHR5cGUgPT0gTXV0YXRpb25PYnNlcnZlcjo6QXR0
cmlidXRlcyAmJiBhdHRyaWJ1dGVOYW1lKSB8fCAhYXR0cmlidXRlTmFtZSk7CiAgICAgaWYgKCEo
bV9vcHRpb25zICYgdHlwZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRp
b25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyYXRpb24uaAppbmRleCBkNDkxNDYyNWE5ZGZlZDY2NmRmNGI3OGE5MjFhNTc4
ZTNjNzc3NTVmLi5mZDNhNTA0MTE1NWY5MWU4NWVjNWU1YjIxZjVkNzYyM2Y3MWMxZjc2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uLmgK
QEAgLTQ0LDI5ICs0NCwyNSBAQCBjbGFzcyBRdWFsaWZpZWROYW1lOwogCiBjbGFzcyBNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uIHsKIHB1YmxpYzoKLQogICAgIHN0YXRpYyBQYXNzT3duUHRy
PE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24+IGNyZWF0ZShQYXNzUmVmUHRyPE11dGF0aW9u
T2JzZXJ2ZXI+LCBOb2RlKik7Ci0KICAgICB+TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbigp
OwogCiAgICAgdm9pZCByZXNldE9ic2VydmF0aW9uKE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLCBj
b25zdCBIYXNoU2V0PEF0b21pY1N0cmluZz4mIGF0dHJpYnV0ZUZpbHRlcik7Ci0gICAgdm9pZCBv
YnNlcnZlZFN1YnRyZWVOb2RlV2lsbERldGFjaChQYXNzUmVmUHRyPE5vZGU+KTsKKyAgICB2b2lk
IG9ic2VydmVkU3VidHJlZU5vZGVXaWxsRGV0YWNoKE5vZGUqKTsKICAgICB2b2lkIGNsZWFyVHJh
bnNpZW50UmVnaXN0cmF0aW9ucygpOwotICAgIGJvb2wgaGFzVHJhbnNpZW50UmVnaXN0cmF0aW9u
cygpIHsgcmV0dXJuIG1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMgJiYgIW1fdHJhbnNpZW50
UmVnaXN0cmF0aW9uTm9kZXMtPmlzRW1wdHkoKTsgfQorICAgIGJvb2wgaGFzVHJhbnNpZW50UmVn
aXN0cmF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMg
JiYgIW1fdHJhbnNpZW50UmVnaXN0cmF0aW9uTm9kZXMtPmlzRW1wdHkoKTsgfQogICAgIHZvaWQg
dW5yZWdpc3RlcigpOwogCi0gICAgYm9vbCBzaG91bGRSZWNlaXZlTXV0YXRpb25Gcm9tKE5vZGUq
LCBNdXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvblR5cGUsIGNvbnN0IFF1YWxpZmllZE5hbWUqIGF0
dHJpYnV0ZU5hbWUpOwotICAgIGJvb2wgaW5saW5lIGlzU3VidHJlZSgpIGNvbnN0IHsgcmV0dXJu
IG1fb3B0aW9ucyAmIE11dGF0aW9uT2JzZXJ2ZXI6OlN1YnRyZWU7IH0KKyAgICBib29sIHNob3Vs
ZFJlY2VpdmVNdXRhdGlvbkZyb20oTm9kZSosIE11dGF0aW9uT2JzZXJ2ZXI6Ok11dGF0aW9uVHlw
ZSwgY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0cmlidXRlTmFtZSkgY29uc3Q7CisgICAgYm9vbCBp
c1N1YnRyZWUoKSBjb25zdCB7IHJldHVybiBtX29wdGlvbnMgJiBNdXRhdGlvbk9ic2VydmVyOjpT
dWJ0cmVlOyB9CiAKLSAgICBNdXRhdGlvbk9ic2VydmVyKiBvYnNlcnZlcigpIHsgcmV0dXJuIG1f
b2JzZXJ2ZXIuZ2V0KCk7IH0KKyAgICBNdXRhdGlvbk9ic2VydmVyKiBvYnNlcnZlcigpIGNvbnN0
IHsgcmV0dXJuIG1fb2JzZXJ2ZXIuZ2V0KCk7IH0KICAgICBNdXRhdGlvblJlY29yZERlbGl2ZXJ5
T3B0aW9ucyBkZWxpdmVyeU9wdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX29wdGlvbnMgJiAoTXV0
YXRpb25PYnNlcnZlcjo6QXR0cmlidXRlT2xkVmFsdWUgfCBNdXRhdGlvbk9ic2VydmVyOjpDaGFy
YWN0ZXJEYXRhT2xkVmFsdWUpOyB9CiAgICAgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMgbXV0YXRp
b25UeXBlcygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW9ucyAmIE11dGF0aW9uT2JzZXJ2ZXI6OkFs
bE11dGF0aW9uVHlwZXM7IH0KIAogcHJpdmF0ZToKICAgICBNdXRhdGlvbk9ic2VydmVyUmVnaXN0
cmF0aW9uKFBhc3NSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4sIE5vZGUqKTsKIAotICAgIGNvbnN0
IEhhc2hTZXQ8QXRvbWljU3RyaW5nPiYgY2FzZUluc2Vuc2l0aXZlQXR0cmlidXRlRmlsdGVyKCk7
Ci0KICAgICBSZWZQdHI8TXV0YXRpb25PYnNlcnZlcj4gbV9vYnNlcnZlcjsKICAgICBOb2RlKiBt
X3JlZ2lzdHJhdGlvbk5vZGU7CiAgICAgUmVmUHRyPE5vZGU+IG1fcmVnaXN0cmF0aW9uTm9kZUtl
ZXBBbGl2ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA4YWIzMzUyZjYyYWMyMTVmNjc2YTZlN2YyODRj
ZjY3MDMwNWE0YmIxLi42NzM0NGM3MDk1MzEzOWYyNGIwZjBmM2NkOTYxMzM2Y2Y4YjIyOTZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuY3BwCkBAIC0yNDMwLDMyICsyNDMwLDE4IEBAIEhhc2hTZXQ8TXV0YXRpb25P
YnNlcnZlclJlZ2lzdHJhdGlvbio+KiBOb2RlOjp0cmFuc2llbnRNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cnkoCiAgICAgcmV0dXJuIGhhc1JhcmVEYXRhKCkgPyByYXJlRGF0YSgpLT50cmFuc2llbnRN
dXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSA6IDA7CiB9CiAKLXZvaWQgTm9kZTo6Y29sbGVjdE1h
dGNoaW5nT2JzZXJ2ZXJzRm9yTXV0YXRpb24oSGFzaE1hcDxNdXRhdGlvbk9ic2VydmVyKiwgTXV0
YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnM+JiBvYnNlcnZlcnMsIE5vZGUqIGZyb21Ob2RlLCBN
dXRhdGlvbk9ic2VydmVyOjpNdXRhdGlvblR5cGUgdHlwZSwgY29uc3QgUXVhbGlmaWVkTmFtZSog
YXR0cmlidXRlTmFtZSkKK3RlbXBsYXRlPHR5cGVuYW1lIFJlZ2lzdHJ5Pgorc3RhdGljIGlubGlu
ZSB2b2lkIGNvbGxlY3RNYXRjaGluZ09ic2VydmVyc0Zvck11dGF0aW9uKEhhc2hNYXA8TXV0YXRp
b25PYnNlcnZlciosIE11dGF0aW9uUmVjb3JkRGVsaXZlcnlPcHRpb25zPiYgb2JzZXJ2ZXJzLCBS
ZWdpc3RyeSogcmVnaXN0cnksIE5vZGUqIHRhcmdldCwgTXV0YXRpb25PYnNlcnZlcjo6TXV0YXRp
b25UeXBlIHR5cGUsIGNvbnN0IFF1YWxpZmllZE5hbWUqIGF0dHJpYnV0ZU5hbWUpCiB7Ci0gICAg
QVNTRVJUKCh0eXBlID09IE11dGF0aW9uT2JzZXJ2ZXI6OkF0dHJpYnV0ZXMgJiYgYXR0cmlidXRl
TmFtZSkgfHwgIWF0dHJpYnV0ZU5hbWUpOwotICAgIGlmIChWZWN0b3I8T3duUHRyPE11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24+ID4qIHJlZ2lzdHJ5ID0gZnJvbU5vZGUtPm11dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyeSgpKSB7Ci0gICAgICAgIGNvbnN0IHNpemVfdCBzaXplID0gcmVnaXN0cnkt
PnNpemUoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKLSAg
ICAgICAgICAgIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qIHJlZ2lzdHJhdGlvbiA9IHJl
Z2lzdHJ5LT5hdChpKS5nZXQoKTsKLSAgICAgICAgICAgIGlmIChyZWdpc3RyYXRpb24tPnNob3Vs
ZFJlY2VpdmVNdXRhdGlvbkZyb20odGhpcywgdHlwZSwgYXR0cmlidXRlTmFtZSkpIHsKLSAgICAg
ICAgICAgICAgICBNdXRhdGlvblJlY29yZERlbGl2ZXJ5T3B0aW9ucyBkZWxpdmVyeU9wdGlvbnMg
PSByZWdpc3RyYXRpb24tPmRlbGl2ZXJ5T3B0aW9ucygpOwotICAgICAgICAgICAgICAgIEhhc2hN
YXA8TXV0YXRpb25PYnNlcnZlciosIE11dGF0aW9uUmVjb3JkRGVsaXZlcnlPcHRpb25zPjo6QWRk
UmVzdWx0IHJlc3VsdCA9IG9ic2VydmVycy5hZGQocmVnaXN0cmF0aW9uLT5vYnNlcnZlcigpLCBk
ZWxpdmVyeU9wdGlvbnMpOwotICAgICAgICAgICAgICAgIGlmICghcmVzdWx0LmlzTmV3RW50cnkp
Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5pdGVyYXRvci0+c2Vjb25kIHw9IGRlbGl2ZXJ5
T3B0aW9uczsKLQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKEhh
c2hTZXQ8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbio+KiB0cmFuc2llbnRSZWdpc3RyeSA9
IGZyb21Ob2RlLT50cmFuc2llbnRNdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSkgewotICAgICAg
ICBmb3IgKEhhc2hTZXQ8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbio+OjppdGVyYXRvciBp
dGVyID0gdHJhbnNpZW50UmVnaXN0cnktPmJlZ2luKCk7IGl0ZXIgIT0gdHJhbnNpZW50UmVnaXN0
cnktPmVuZCgpOyArK2l0ZXIpIHsKLSAgICAgICAgICAgIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb24qIHJlZ2lzdHJhdGlvbiA9ICppdGVyOwotICAgICAgICAgICAgaWYgKHJlZ2lzdHJhdGlv
bi0+c2hvdWxkUmVjZWl2ZU11dGF0aW9uRnJvbSh0aGlzLCB0eXBlLCBhdHRyaWJ1dGVOYW1lKSkg
ewotICAgICAgICAgICAgICAgIE11dGF0aW9uUmVjb3JkRGVsaXZlcnlPcHRpb25zIGRlbGl2ZXJ5
T3B0aW9ucyA9IHJlZ2lzdHJhdGlvbi0+ZGVsaXZlcnlPcHRpb25zKCk7Ci0gICAgICAgICAgICAg
ICAgSGFzaE1hcDxNdXRhdGlvbk9ic2VydmVyKiwgTXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlv
bnM+OjpBZGRSZXN1bHQgcmVzdWx0ID0gb2JzZXJ2ZXJzLmFkZChyZWdpc3RyYXRpb24tPm9ic2Vy
dmVyKCksIGRlbGl2ZXJ5T3B0aW9ucyk7Ci0gICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQuaXNO
ZXdFbnRyeSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT5zZWNvbmQgfD0g
ZGVsaXZlcnlPcHRpb25zOwotICAgICAgICAgICAgfQorICAgIGlmICghcmVnaXN0cnkpCisgICAg
ICAgIHJldHVybjsKKyAgICBmb3IgKHR5cGVuYW1lIFJlZ2lzdHJ5OjppdGVyYXRvciBpdGVyID0g
cmVnaXN0cnktPmJlZ2luKCk7IGl0ZXIgIT0gcmVnaXN0cnktPmVuZCgpOyArK2l0ZXIpIHsKKyAg
ICAgICAgY29uc3QgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0aW9uID0g
KippdGVyOworICAgICAgICBpZiAocmVnaXN0cmF0aW9uLnNob3VsZFJlY2VpdmVNdXRhdGlvbkZy
b20odGFyZ2V0LCB0eXBlLCBhdHRyaWJ1dGVOYW1lKSkgeworICAgICAgICAgICAgTXV0YXRpb25S
ZWNvcmREZWxpdmVyeU9wdGlvbnMgZGVsaXZlcnlPcHRpb25zID0gcmVnaXN0cmF0aW9uLmRlbGl2
ZXJ5T3B0aW9ucygpOworICAgICAgICAgICAgSGFzaE1hcDxNdXRhdGlvbk9ic2VydmVyKiwgTXV0
YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnM+OjpBZGRSZXN1bHQgcmVzdWx0ID0gb2JzZXJ2ZXJz
LmFkZChyZWdpc3RyYXRpb24ub2JzZXJ2ZXIoKSwgZGVsaXZlcnlPcHRpb25zKTsKKyAgICAgICAg
ICAgIGlmICghcmVzdWx0LmlzTmV3RW50cnkpCisgICAgICAgICAgICAgICAgcmVzdWx0Lml0ZXJh
dG9yLT5zZWNvbmQgfD0gZGVsaXZlcnlPcHRpb25zOwogICAgICAgICB9CiAgICAgfQogfQpAQCAt
MjQ2MywxMiArMjQ0OSwxNSBAQCB2b2lkIE5vZGU6OmNvbGxlY3RNYXRjaGluZ09ic2VydmVyc0Zv
ck11dGF0aW9uKEhhc2hNYXA8TXV0YXRpb25PYnNlcnZlciosIE11dGF0aQogdm9pZCBOb2RlOjpn
ZXRSZWdpc3RlcmVkTXV0YXRpb25PYnNlcnZlcnNPZlR5cGUoSGFzaE1hcDxNdXRhdGlvbk9ic2Vy
dmVyKiwgTXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnM+JiBvYnNlcnZlcnMsIE11dGF0aW9u
T2JzZXJ2ZXI6Ok11dGF0aW9uVHlwZSB0eXBlLCBjb25zdCBRdWFsaWZpZWROYW1lKiBhdHRyaWJ1
dGVOYW1lKQogewogICAgIEFTU0VSVCgodHlwZSA9PSBNdXRhdGlvbk9ic2VydmVyOjpBdHRyaWJ1
dGVzICYmIGF0dHJpYnV0ZU5hbWUpIHx8ICFhdHRyaWJ1dGVOYW1lKTsKLSAgICBjb2xsZWN0TWF0
Y2hpbmdPYnNlcnZlcnNGb3JNdXRhdGlvbihvYnNlcnZlcnMsIHRoaXMsIHR5cGUsIGF0dHJpYnV0
ZU5hbWUpOwotICAgIGZvciAoTm9kZSogbm9kZSA9IHBhcmVudE5vZGUoKTsgbm9kZTsgbm9kZSA9
IG5vZGUtPnBhcmVudE5vZGUoKSkKLSAgICAgICAgY29sbGVjdE1hdGNoaW5nT2JzZXJ2ZXJzRm9y
TXV0YXRpb24ob2JzZXJ2ZXJzLCBub2RlLCB0eXBlLCBhdHRyaWJ1dGVOYW1lKTsKKyAgICBjb2xs
ZWN0TWF0Y2hpbmdPYnNlcnZlcnNGb3JNdXRhdGlvbihvYnNlcnZlcnMsIG11dGF0aW9uT2JzZXJ2
ZXJSZWdpc3RyeSgpLCB0aGlzLCB0eXBlLCBhdHRyaWJ1dGVOYW1lKTsKKyAgICBjb2xsZWN0TWF0
Y2hpbmdPYnNlcnZlcnNGb3JNdXRhdGlvbihvYnNlcnZlcnMsIHRyYW5zaWVudE11dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyeSgpLCB0aGlzLCB0eXBlLCBhdHRyaWJ1dGVOYW1lKTsKKyAgICBmb3IgKE5v
ZGUqIG5vZGUgPSBwYXJlbnROb2RlKCk7IG5vZGU7IG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCkp
IHsKKyAgICAgICAgY29sbGVjdE1hdGNoaW5nT2JzZXJ2ZXJzRm9yTXV0YXRpb24ob2JzZXJ2ZXJz
LCBub2RlLT5tdXRhdGlvbk9ic2VydmVyUmVnaXN0cnkoKSwgdGhpcywgdHlwZSwgYXR0cmlidXRl
TmFtZSk7CisgICAgICAgIGNvbGxlY3RNYXRjaGluZ09ic2VydmVyc0Zvck11dGF0aW9uKG9ic2Vy
dmVycywgbm9kZS0+dHJhbnNpZW50TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJ5KCksIHRoaXMsIHR5
cGUsIGF0dHJpYnV0ZU5hbWUpOworICAgIH0KIH0KIAotTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJh
dGlvbiogTm9kZTo6cmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8TXV0YXRpb25P
YnNlcnZlcj4gb2JzZXJ2ZXIpCitNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKiBOb2RlOjpy
ZWdpc3Rlck11dGF0aW9uT2JzZXJ2ZXIoTXV0YXRpb25PYnNlcnZlciogb2JzZXJ2ZXIpCiB7CiAg
ICAgVmVjdG9yPE93blB0cjxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uPiA+KiByZWdpc3Ry
eSA9IGVuc3VyZVJhcmVEYXRhKCktPmVuc3VyZU11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpOwog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVnaXN0cnktPnNpemUoKTsgKytpKSB7CkBAIC0y
NDc2LDEwICsyNDY1LDggQEAgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbiogTm9kZTo6cmVn
aXN0ZXJNdXRhdGlvbk9ic2VydmVyKFBhc3NSZWZQdHI8TXV0YXRpb24KICAgICAgICAgICAgIHJl
dHVybiByZWdpc3RyeS0+YXQoaSkuZ2V0KCk7CiAgICAgfQogCi0gICAgT3duUHRyPE11dGF0aW9u
T2JzZXJ2ZXJSZWdpc3RyYXRpb24+IHJlZ2lzdHJhdGlvbiA9IE11dGF0aW9uT2JzZXJ2ZXJSZWdp
c3RyYXRpb246OmNyZWF0ZShvYnNlcnZlciwgdGhpcyk7Ci0gICAgTXV0YXRpb25PYnNlcnZlclJl
Z2lzdHJhdGlvbiogcmVnaXN0cmF0aW9uUHRyID0gcmVnaXN0cmF0aW9uLmdldCgpOwotICAgIHJl
Z2lzdHJ5LT5hcHBlbmQocmVnaXN0cmF0aW9uLnJlbGVhc2UoKSk7Ci0gICAgcmV0dXJuIHJlZ2lz
dHJhdGlvblB0cjsKKyAgICByZWdpc3RyeS0+YXBwZW5kKE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3Ry
YXRpb246OmNyZWF0ZShvYnNlcnZlciwgdGhpcykpOworICAgIHJldHVybiByZWdpc3RyeS0+bGFz
dCgpLmdldCgpOwogfQogCiB2b2lkIE5vZGU6OnVucmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKE11
dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24qIHJlZ2lzdHJhdGlvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4
IDgyMTRkOTg4ZDc2MDAwMzE0MTNlZjBjNjc0M2YxMDFlMjNjYzU1MzkuLjE2NmFjMmEyZjIyYjA2
NDkzYTM0N2ViNTdjMGY4ZGE0MDQxMmMyYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtNjUzLDcgKzY1Myw3
IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCiAgICAgdm9pZCBn
ZXRSZWdpc3RlcmVkTXV0YXRpb25PYnNlcnZlcnNPZlR5cGUoSGFzaE1hcDxNdXRhdGlvbk9ic2Vy
dmVyKiwgTXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnM+JiwgTXV0YXRpb25PYnNlcnZlcjo6
TXV0YXRpb25UeXBlLCBjb25zdCBRdWFsaWZpZWROYW1lKiBhdHRyaWJ1dGVOYW1lKTsKLSAgICBN
dXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKiByZWdpc3Rlck11dGF0aW9uT2JzZXJ2ZXIoUGFz
c1JlZlB0cjxNdXRhdGlvbk9ic2VydmVyPik7CisgICAgTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJh
dGlvbiogcmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKE11dGF0aW9uT2JzZXJ2ZXIqKTsKICAgICB2
b2lkIHVucmVnaXN0ZXJNdXRhdGlvbk9ic2VydmVyKE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRp
b24qKTsKICAgICB2b2lkIHJlZ2lzdGVyVHJhbnNpZW50TXV0YXRpb25PYnNlcnZlcihNdXRhdGlv
bk9ic2VydmVyUmVnaXN0cmF0aW9uKik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyVHJhbnNpZW50TXV0
YXRpb25PYnNlcnZlcihNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9uKik7CkBAIC03OTcsNyAr
Nzk3LDYgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQogICAgIFZl
Y3RvcjxPd25QdHI8TXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbj4gPiogbXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJ5KCk7CiAgICAgSGFzaFNldDxNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9u
Kj4qIHRyYW5zaWVudE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyeSgpOwotICAgIHZvaWQgY29sbGVj
dE1hdGNoaW5nT2JzZXJ2ZXJzRm9yTXV0YXRpb24oSGFzaE1hcDxNdXRhdGlvbk9ic2VydmVyKiwg
TXV0YXRpb25SZWNvcmREZWxpdmVyeU9wdGlvbnM+JiwgTm9kZSogZnJvbU5vZGUsIE11dGF0aW9u
T2JzZXJ2ZXI6Ok11dGF0aW9uVHlwZSwgY29uc3QgUXVhbGlmaWVkTmFtZSogYXR0cmlidXRlTmFt
ZSk7CiAjZW5kaWYKIAogICAgIG11dGFibGUgdWludDMyX3QgbV9ub2RlRmxhZ3M7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>