<?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>56997</bug_id>
          
          <creation_ts>2011-03-23 23:23:18 -0700</creation_ts>
          <short_desc>MediaPlayerPrivateAVFoundation should use the Application Cache during load.</short_desc>
          <delta_ts>2011-03-25 17:42:09 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>53784</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>372686</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-23 23:23:18 -0700</bug_when>
    <thetext>Once https://bugs.webkit.org/show_bug.cgi?id=53784 lands, the MediaPlayerPrivateAVFoundation should query the Application Cache for resources during load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372691</commentid>
    <comment_count>1</comment_count>
      <attachid>86748</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-23 23:29:49 -0700</bug_when>
    <thetext>Created attachment 86748
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372692</commentid>
    <comment_count>2</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-23 23:30:08 -0700</bug_when>
    <thetext>&lt;rdar://problem/9180432&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372695</commentid>
    <comment_count>3</comment_count>
      <attachid>86750</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-23 23:33:44 -0700</bug_when>
    <thetext>Created attachment 86750
Patch

Added a missing #if ENABLE surrounding OFFLINE_WEB_APPLICATIONS related code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372916</commentid>
    <comment_count>4</comment_count>
      <attachid>86750</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-03-24 10:42:20 -0700</bug_when>
    <thetext>Comment on attachment 86750
Patch

me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373634</commentid>
    <comment_count>5</comment_count>
      <attachid>86964</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-25 11:37:19 -0700</bug_when>
    <thetext>Created attachment 86964
[2/3] Store media files as flat files within the Application Cache area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373637</commentid>
    <comment_count>6</comment_count>
      <attachid>86964</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-25 11:42:49 -0700</bug_when>
    <thetext>Comment on attachment 86964
[2/3] Store media files as flat files within the Application Cache area.

Whoops, webkit-patch upload attached this patch to the wrong bug.  Obseleting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373811</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-25 17:42:09 -0700</bug_when>
    <thetext>Committed r82011: &lt;http://trac.webkit.org/changeset/82011&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86748</attachid>
            <date>2011-03-23 23:29:49 -0700</date>
            <delta_ts>2011-03-23 23:33:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56997-20110323232948.patch</filename>
            <type>text/plain</type>
            <size>6766</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE4MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1MzhiMGFjM2JmOGExODNk
NmY3OTc2NjliOTBjYTM1NGRmYjhjZDc2Li43ZDEzZDMwNTUwNGQ4NGQ1ODhhZDlhNDA0OGM0NDBi
NzA1OTQ1YTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDMtMjMgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uIHNob3Vs
ZCB1c2UgdGhlIEFwcGxpY2F0aW9uIENhY2hlIGR1cmluZyBsb2FkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY5OTcKKworICAgICAgICBObyBuZXcg
dGVzdHMuCisKKyAgICAgICAgV2hlbiBsb2FkaW5nIGEgVVJMLCBjaGVjayB0byBzZWUgaWYgdGhl
IEFwcGxpY2F0aW9uIENhY2hlIGhhcyBhIHZlcnNpb24gb2YgdGhhdCBVUkwKKyAgICAgICAgc3Rv
cmVkOyBpZiBzbywgdXNlIHRoZSBsb2NhbCBwYXRoIHRvIHRoYXQgY2FjaGVkIG1lZGlhIGluc3Rl
YWQgb2YgdGhlIHJlbW90ZSBVUkwuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6cHJlcGFyZVRvUGxheSk6IENo
ZWNrIHRvIHNlZSBpZiB0aGUgbWVkaWEgc2hvdWxkIGJlIGxvYWRlZAorICAgICAgICAgICAgZnJv
bSB0aGUgYXBwbGljYXRpb24gY2FjaGUuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVlBsYXllckZvclVSTCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVh
dGVBVlBsYXllckZvckNhY2hlUmVzb3VyY2UpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWUGxheWVyKTogU3BsaXQg
b3V0IGZyb20gY3JlYXRlQVZQbGF5ZXJGb3JVUkwuCisKIDIwMTEtMDItMDMgIEplciBOb2JsZSAg
PGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb24uY3BwCmluZGV4IDEzYzlmZDMwZTFhMDAwYmZlODI3NzQwMTlkYzJiZTAzZTM4ZGI5MWMu
LjllYzBlNjliMGJiODNiYjk5MTcwZWNkMDQ5Y2Q5NDAyMmFmZjAxOGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC0y
OSw2ICsyOSw4IEBACiAKICNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24u
aCIKIAorI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCisjaW5jbHVkZSAiRG9jdW1l
bnRMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHcmFwaGljc0Nv
bnRleHQuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCkBAIC0yMzQsNiArMjM2LDE0IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpwcmVwYXJlVG9QbGF5KCkKICAg
ICBtX2hhdmVQcmVwYXJlZFRvUGxheSA9IHRydWU7CiAKICAgICBtX2RlbGF5aW5nTG9hZCA9IGZh
bHNlOworI2lmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCisgICAgRnJhbWUqIGZy
YW1lID0gbV9wbGF5ZXItPmZyYW1lVmlldygpID8gbV9wbGF5ZXItPmZyYW1lVmlldygpLT5mcmFt
ZSgpIDogMDsKKyAgICBBcHBsaWNhdGlvbkNhY2hlSG9zdCogY2FjaGVIb3N0ID0gZnJhbWUgPyBm
cmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPmFwcGxpY2F0aW9uQ2FjaGVIb3N0KCkg
OiAwOworICAgIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZSogcmVzb3VyY2UgPSAwOworICAgIGlm
IChjYWNoZUhvc3QgJiYgY2FjaGVIb3N0LT5zaG91bGRMb2FkUmVzb3VyY2VGcm9tQXBwbGljYXRp
b25DYWNoZShSZXNvdXJjZVJlcXVlc3QobV9hc3NldFVSTCksIHJlc291cmNlKSAmJiByZXNvdXJj
ZSkKKyAgICAgICAgY3JlYXRlQVZQbGF5ZXJGb3JDYWNoZVJlc291cmNlKHJlc291cmNlKTsKKyAg
ICBlbHNlCisjZW5kaWYgICAgCiAgICAgY3JlYXRlQVZQbGF5ZXJGb3JVUkwobV9hc3NldFVSTCk7
CiAgICAgY2hlY2tQbGF5YWJpbGl0eSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IDBlOWQyM2FjYzRjOGE0MDI3NTM4
NGUzMGVmYzE5YzczYjdkZmEwZmYuLmJkMjdjMWZjYTczZTlhMjYwMjk0YWEyOWQ4YjFhZWYwNjI2
MmVjNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uLmgKQEAgLTM1LDYgKzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitj
bGFzcyBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U7CisKIGNsYXNzIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbiA6IHB1YmxpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgewogcHVi
bGljOgogCkBAIC0xNDQsNiArMTQ2LDkgQEAgcHJvdGVjdGVkOgogCiAgICAgLy8gUmVxdWlyZWQg
aW50ZXJmYWNlcyBmb3IgY29uY3JldGUgZGVyaXZlZCBjbGFzc2VzLgogICAgIHZpcnR1YWwgdm9p
ZCBjcmVhdGVBVlBsYXllckZvclVSTChjb25zdCBTdHJpbmcmIHVybCkgPSAwOworI2lmIEVOQUJM
RShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCisgICAgdmlydHVhbCB2b2lkIGNyZWF0ZUFWUGxh
eWVyRm9yQ2FjaGVSZXNvdXJjZShBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2UqKSA9IDA7CisjZW5k
aWYKIAogICAgIGVudW0gSXRlbVN0YXR1cyB7CiAgICAgICAgIE1lZGlhUGxheWVyQVZQbGF5ZXJJ
dGVtU3RhdHVzVW5rbm93biwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IGUxMTM4NGZlMTFiNWU3ZmRkODIzOTEx
NTYzOTQ3M2U3ZGY2ZTgwZjIuLmM5NjllNmNjOWQ4YjczMjQ3ZDE4NzFiNGZiMmQ5ZGQzNWNmNWZl
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMuaApAQCAtNDksNiArNDksOCBAQCB0eXBlZGVmIHN0cnVjdCBvYmpjX29i
amVjdCAqaWQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQXBwbGljYXRpb25DYWNo
ZVJlc291cmNlOworCiBjbGFzcyBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDIDog
cHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbiB7CiBwdWJsaWM6CiAKQEAgLTgy
LDcgKzg0LDExIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzQWNjZWxlcmF0
ZWRSZW5kZXJpbmcoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBmbG9hdCBt
ZWRpYVRpbWVGb3JUaW1lVmFsdWUoZmxvYXQpIGNvbnN0OwogCisgICAgdmlydHVhbCB2b2lkIGNy
ZWF0ZUFWUGxheWVyKCk7CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZUFWUGxheWVyRm9yVVJMKGNv
bnN0IFN0cmluZyYgdXJsKTsKKyNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQor
ICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVBVlBsYXllckZvckNhY2hlUmVzb3VyY2UoQXBwbGljYXRp
b25DYWNoZVJlc291cmNlKik7CisjZW5kaWYKICAgICB2aXJ0dWFsIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbjo6SXRlbVN0YXR1cyBwbGF5ZXJJdGVtU3RhdHVzKCkgY29uc3Q7CiAgICAg
dmlydHVhbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OkFWQXNzZXRTdGF0dXMgYXNz
ZXRTdGF0dXMoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA5MjgxYjIyMDUxMWQ5YjU4MDgx
ZTk0NjJiMmFhNmY5MTYxMjYwNjNkLi5hMWFiMTBhMmNmNDY0MzFiZWI1NDMxYzFmNDk0ZGFhY2U5
ZDUxODc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMjksNiArMjksNyBAQAogCiAjaW1wb3J0ICJNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgiCiAKKyNpbXBvcnQgIkFwcGxpY2F0aW9u
Q2FjaGVSZXNvdXJjZS5oIgogI2ltcG9ydCAiQmxvY2tFeGNlcHRpb25zLmgiCiAjaW1wb3J0ICJG
bG9hdENvbnZlcnNpb24uaCIKICNpbXBvcnQgIkZyYW1lVmlldy5oIgpAQCAtMjQzLDcgKzI0NCwz
MSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWUGxh
eWVyRm9yVVJMKGNvbnN0IFN0cmluZyYgdXJsKQogICAgICAgICBOU1VSTCAqY29jb2FVUkwgPSBL
VVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKTsKICAgICAgICAgbV9hdkFzc2V0LmFkb3B0TlMoW1tB
VlVSTEFzc2V0IGFsbG9jXSBpbml0V2l0aFVSTDpjb2NvYVVSTCBvcHRpb25zOm5pbF0pOwogICAg
IH0KKyAgICAKKyAgICBjcmVhdGVBVlBsYXllcigpOworfQorCit2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWUGxheWVyRm9yQ2FjaGVSZXNvdXJjZShBcHBs
aWNhdGlvbkNhY2hlUmVzb3VyY2UqIHJlc291cmNlKQoreworICAgIC8vIEFWRm91bmRhdGlvbiBj
YW4ndCBvcGVuIGFyYml0cmFyeSBkYXRhIHBvaW50ZXJzLCBzbyBpZiB0aGlzIEFwcGxpY2F0aW9u
Q2FjaGVSZXNvdXJjZSBkb2Vzbid0IAorICAgIC8vIGhhdmUgYSB2YWxpZCBsb2NhbCBwYXRoLCBq
dXN0IG9wZW4gdGhlIHJlc291cmNlJ3Mgb3JpZ2luYWwgVVJMLgorICAgIGlmIChyZXNvdXJjZS0+
cGF0aCgpLmlzRW1wdHkoKSkgeworICAgICAgICBjcmVhdGVBVlBsYXllckZvclVSTChyZXNvdXJj
ZS0+dXJsKCkpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIHNldERlbGF5Q2Fs
bGJhY2tzKHRydWUpOwogCisgICAgaWYgKCFtX2F2QXNzZXQpIHsKKyAgICAgICAgTlNVUkwqIGxv
Y2FsVVJMID0gW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpyZXNvdXJjZS0+cGF0aCgpXTsKKyAgICAg
ICAgbV9hdkFzc2V0LmFkb3B0TlMoW1tBVlVSTEFzc2V0IGFsbG9jXSBpbml0V2l0aFVSTDpsb2Nh
bFVSTCBvcHRpb25zOm5pbF0pOworICAgIH0KKworICAgIGNyZWF0ZUFWUGxheWVyKCk7Cit9Cisg
ICAgCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWUGxh
eWVyKCkKK3sKICAgICBpZiAoIW1fYXZQbGF5ZXIpIHsKICAgICAgICAgbV9hdlBsYXllci5hZG9w
dE5TKFtbQVZQbGF5ZXIgYWxsb2NdIGluaXRdKTsKICAgICAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86750</attachid>
            <date>2011-03-23 23:33:44 -0700</date>
            <delta_ts>2011-03-24 10:42:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56997-20110323233343.patch</filename>
            <type>text/plain</type>
            <size>6808</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE4MDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1MzhiMGFjM2JmOGExODNk
NmY3OTc2NjliOTBjYTM1NGRmYjhjZDc2Li43ZDEzZDMwNTUwNGQ4NGQ1ODhhZDlhNDA0OGM0NDBi
NzA1OTQ1YTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDMtMjMgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uIHNob3Vs
ZCB1c2UgdGhlIEFwcGxpY2F0aW9uIENhY2hlIGR1cmluZyBsb2FkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY5OTcKKworICAgICAgICBObyBuZXcg
dGVzdHMuCisKKyAgICAgICAgV2hlbiBsb2FkaW5nIGEgVVJMLCBjaGVjayB0byBzZWUgaWYgdGhl
IEFwcGxpY2F0aW9uIENhY2hlIGhhcyBhIHZlcnNpb24gb2YgdGhhdCBVUkwKKyAgICAgICAgc3Rv
cmVkOyBpZiBzbywgdXNlIHRoZSBsb2NhbCBwYXRoIHRvIHRoYXQgY2FjaGVkIG1lZGlhIGluc3Rl
YWQgb2YgdGhlIHJlbW90ZSBVUkwuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6cHJlcGFyZVRvUGxheSk6IENo
ZWNrIHRvIHNlZSBpZiB0aGUgbWVkaWEgc2hvdWxkIGJlIGxvYWRlZAorICAgICAgICAgICAgZnJv
bSB0aGUgYXBwbGljYXRpb24gY2FjaGUuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVlBsYXllckZvclVSTCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVh
dGVBVlBsYXllckZvckNhY2hlUmVzb3VyY2UpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWUGxheWVyKTogU3BsaXQg
b3V0IGZyb20gY3JlYXRlQVZQbGF5ZXJGb3JVUkwuCisKIDIwMTEtMDItMDMgIEplciBOb2JsZSAg
PGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb24uY3BwCmluZGV4IDEzYzlmZDMwZTFhMDAwYmZlODI3NzQwMTlkYzJiZTAzZTM4ZGI5MWMu
LjllYzBlNjliMGJiODNiYjk5MTcwZWNkMDQ5Y2Q5NDAyMmFmZjAxOGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCkBAIC0y
OSw2ICsyOSw4IEBACiAKICNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24u
aCIKIAorI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCisjaW5jbHVkZSAiRG9jdW1l
bnRMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHcmFwaGljc0Nv
bnRleHQuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCkBAIC0yMzQsNiArMjM2LDE0IEBA
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpwcmVwYXJlVG9QbGF5KCkKICAg
ICBtX2hhdmVQcmVwYXJlZFRvUGxheSA9IHRydWU7CiAKICAgICBtX2RlbGF5aW5nTG9hZCA9IGZh
bHNlOworI2lmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCisgICAgRnJhbWUqIGZy
YW1lID0gbV9wbGF5ZXItPmZyYW1lVmlldygpID8gbV9wbGF5ZXItPmZyYW1lVmlldygpLT5mcmFt
ZSgpIDogMDsKKyAgICBBcHBsaWNhdGlvbkNhY2hlSG9zdCogY2FjaGVIb3N0ID0gZnJhbWUgPyBm
cmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPmFwcGxpY2F0aW9uQ2FjaGVIb3N0KCkg
OiAwOworICAgIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZSogcmVzb3VyY2UgPSAwOworICAgIGlm
IChjYWNoZUhvc3QgJiYgY2FjaGVIb3N0LT5zaG91bGRMb2FkUmVzb3VyY2VGcm9tQXBwbGljYXRp
b25DYWNoZShSZXNvdXJjZVJlcXVlc3QobV9hc3NldFVSTCksIHJlc291cmNlKSAmJiByZXNvdXJj
ZSkKKyAgICAgICAgY3JlYXRlQVZQbGF5ZXJGb3JDYWNoZVJlc291cmNlKHJlc291cmNlKTsKKyAg
ICBlbHNlCisjZW5kaWYgICAgCiAgICAgY3JlYXRlQVZQbGF5ZXJGb3JVUkwobV9hc3NldFVSTCk7
CiAgICAgY2hlY2tQbGF5YWJpbGl0eSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmluZGV4IDBlOWQyM2FjYzRjOGE0MDI3NTM4
NGUzMGVmYzE5YzczYjdkZmEwZmYuLmJkMjdjMWZjYTczZTlhMjYwMjk0YWEyOWQ4YjFhZWYwNjI2
MmVjNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uLmgKQEAgLTM1LDYgKzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitj
bGFzcyBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U7CisKIGNsYXNzIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbiA6IHB1YmxpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgewogcHVi
bGljOgogCkBAIC0xNDQsNiArMTQ2LDkgQEAgcHJvdGVjdGVkOgogCiAgICAgLy8gUmVxdWlyZWQg
aW50ZXJmYWNlcyBmb3IgY29uY3JldGUgZGVyaXZlZCBjbGFzc2VzLgogICAgIHZpcnR1YWwgdm9p
ZCBjcmVhdGVBVlBsYXllckZvclVSTChjb25zdCBTdHJpbmcmIHVybCkgPSAwOworI2lmIEVOQUJM
RShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCisgICAgdmlydHVhbCB2b2lkIGNyZWF0ZUFWUGxh
eWVyRm9yQ2FjaGVSZXNvdXJjZShBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2UqKSA9IDA7CisjZW5k
aWYKIAogICAgIGVudW0gSXRlbVN0YXR1cyB7CiAgICAgICAgIE1lZGlhUGxheWVyQVZQbGF5ZXJJ
dGVtU3RhdHVzVW5rbm93biwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCmluZGV4IGUxMTM4NGZlMTFiNWU3ZmRkODIzOTEx
NTYzOTQ3M2U3ZGY2ZTgwZjIuLmM5NjllNmNjOWQ4YjczMjQ3ZDE4NzFiNGZiMmQ5ZGQzNWNmNWZl
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMuaApAQCAtNDksNiArNDksOCBAQCB0eXBlZGVmIHN0cnVjdCBvYmpjX29i
amVjdCAqaWQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQXBwbGljYXRpb25DYWNo
ZVJlc291cmNlOworCiBjbGFzcyBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDIDog
cHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbiB7CiBwdWJsaWM6CiAKQEAgLTgy
LDcgKzg0LDExIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzQWNjZWxlcmF0
ZWRSZW5kZXJpbmcoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBmbG9hdCBt
ZWRpYVRpbWVGb3JUaW1lVmFsdWUoZmxvYXQpIGNvbnN0OwogCisgICAgdmlydHVhbCB2b2lkIGNy
ZWF0ZUFWUGxheWVyKCk7CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZUFWUGxheWVyRm9yVVJMKGNv
bnN0IFN0cmluZyYgdXJsKTsKKyNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQor
ICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVBVlBsYXllckZvckNhY2hlUmVzb3VyY2UoQXBwbGljYXRp
b25DYWNoZVJlc291cmNlKik7CisjZW5kaWYKICAgICB2aXJ0dWFsIE1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbjo6SXRlbVN0YXR1cyBwbGF5ZXJJdGVtU3RhdHVzKCkgY29uc3Q7CiAgICAg
dmlydHVhbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OkFWQXNzZXRTdGF0dXMgYXNz
ZXRTdGF0dXMoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA5MjgxYjIyMDUxMWQ5YjU4MDgx
ZTk0NjJiMmFhNmY5MTYxMjYwNjNkLi45Yjk3OWE4NDZmYTJjODQ4NmYwZDdkMzRmZGFiM2E5YWVh
Yzc4MjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMjksNiArMjksNyBAQAogCiAjaW1wb3J0ICJNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgiCiAKKyNpbXBvcnQgIkFwcGxpY2F0aW9u
Q2FjaGVSZXNvdXJjZS5oIgogI2ltcG9ydCAiQmxvY2tFeGNlcHRpb25zLmgiCiAjaW1wb3J0ICJG
bG9hdENvbnZlcnNpb24uaCIKICNpbXBvcnQgIkZyYW1lVmlldy5oIgpAQCAtMjQzLDcgKzI0NCwz
MyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWUGxh
eWVyRm9yVVJMKGNvbnN0IFN0cmluZyYgdXJsKQogICAgICAgICBOU1VSTCAqY29jb2FVUkwgPSBL
VVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKTsKICAgICAgICAgbV9hdkFzc2V0LmFkb3B0TlMoW1tB
VlVSTEFzc2V0IGFsbG9jXSBpbml0V2l0aFVSTDpjb2NvYVVSTCBvcHRpb25zOm5pbF0pOwogICAg
IH0KKyAgICAKKyAgICBjcmVhdGVBVlBsYXllcigpOworfQogCisjaWYgRU5BQkxFKE9GRkxJTkVf
V0VCX0FQUExJQ0FUSU9OUykKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6Y3JlYXRlQVZQbGF5ZXJGb3JDYWNoZVJlc291cmNlKEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJj
ZSogcmVzb3VyY2UpCit7CisgICAgLy8gQVZGb3VuZGF0aW9uIGNhbid0IG9wZW4gYXJiaXRyYXJ5
IGRhdGEgcG9pbnRlcnMsIHNvIGlmIHRoaXMgQXBwbGljYXRpb25DYWNoZVJlc291cmNlIGRvZXNu
J3QgCisgICAgLy8gaGF2ZSBhIHZhbGlkIGxvY2FsIHBhdGgsIGp1c3Qgb3BlbiB0aGUgcmVzb3Vy
Y2UncyBvcmlnaW5hbCBVUkwuCisgICAgaWYgKHJlc291cmNlLT5wYXRoKCkuaXNFbXB0eSgpKSB7
CisgICAgICAgIGNyZWF0ZUFWUGxheWVyRm9yVVJMKHJlc291cmNlLT51cmwoKSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgCisgICAgc2V0RGVsYXlDYWxsYmFja3ModHJ1ZSk7CisKKyAg
ICBpZiAoIW1fYXZBc3NldCkgeworICAgICAgICBOU1VSTCogbG9jYWxVUkwgPSBbTlNVUkwgZmls
ZVVSTFdpdGhQYXRoOnJlc291cmNlLT5wYXRoKCldOworICAgICAgICBtX2F2QXNzZXQuYWRvcHRO
UyhbW0FWVVJMQXNzZXQgYWxsb2NdIGluaXRXaXRoVVJMOmxvY2FsVVJMIG9wdGlvbnM6bmlsXSk7
CisgICAgfQorCisgICAgY3JlYXRlQVZQbGF5ZXIoKTsKK30KKyNlbmRpZgorCit2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWUGxheWVyKCkKK3sKICAgICBp
ZiAoIW1fYXZQbGF5ZXIpIHsKICAgICAgICAgbV9hdlBsYXllci5hZG9wdE5TKFtbQVZQbGF5ZXIg
YWxsb2NdIGluaXRdKTsKICAgICAgICAgCg==
</data>
<flag name="review"
          id="79073"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86964</attachid>
            <date>2011-03-25 11:37:19 -0700</date>
            <delta_ts>2011-03-25 11:42:48 -0700</delta_ts>
            <desc>[2/3] Store media files as flat files within the Application Cache area.</desc>
            <filename>bug-56997-20110325113717.patch</filename>
            <type>text/plain</type>
            <size>20434</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE5MjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxNTgyYjdkODZmMWZmMDdh
NjU3NjVmYjEyZjAxZGQ0NWFmYzI2YzIzLi42MTkxNDNlM2E3YTYwYzFmZTg5MzVjMzk2ZmJlNmNl
NWNlMTk3ZTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDMgQEAKIDIwMTEtMDMtMjMgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQXBwbGljYXRpb24gQ2FjaGUgc2hvdWxkIHNhdmUgYXVkaW8v
IGFuZCB2aWRlby8gbWltZSB0eXBlcyBhcyBmbGF0IGZpbGVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01Mzc4NAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vODkzMjQ3Mz4KKworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgU3RvcmUgY2Vy
dGFpbiBtaW1lIHR5cGVzIGFzIGZsYXQgZmlsZXMgYWxvbmdzaWRlIHRoZSBBcHBsaWNhdGlvbiBD
YWNoZSBkYXRhYmFzZS4KKyAgICAgICAgVGhpcyByZXF1aXJlcyBwbHVtYmluZyB0aGUgc2F2ZWQg
ZmlsZSBwYXRoIGZyb20gQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgdGhyb3VnaAorICAgICAgICB0
byBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2UuCisKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0
aW9uQ2FjaGVTdG9yYWdlOjpvcGVuRGF0YWJhc2UpOiBNb2RpZnkgdGhlIENhY2hlUmVzb3VyY2VE
YXRhIHNjaGVtYSBhbmQKKyAgICAgICAgICAgIGFkZCBhIG5ldyBEZWxldGVkQ2FjaGVSZXNvdXJj
ZXMgdGFibGUsIGFkZCBhIG5ldyBDYWNoZVJlc291cmNlRGF0YURlbGV0ZWQgdHJpZ2dlci4KKyAg
ICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpzdG9yZSk6IEFkZCB0aGUg
bmV3IHBhdGggZGF0YSB3aGVuIGFkZGluZyBuZXcgcm93cyBpbiAKKyAgICAgICAgICAgIENhY2hl
UmVzb3VyY2VEYXRhLCBhbmQgc3RvcmUgbWVkaWEgcmVzb3VyY2VzIGFzIGZsYXQgZmlsZXMuCisg
ICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6bG9hZENhY2hlKTogUHVs
bCB0aGUgInBhdGgiIGNvbHVtbiBmcm9tIENhY2hlUmVzb3VyY2VEYXRhCisgICAgICAgICAgICB3
aGVuIGxvYWRpbmcgY2FjaGUgaXRlbXMuCisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNh
Y2hlU3RvcmFnZTo6cmVtb3ZlKTogQ2FsbCBjaGVja0ZvckRlbGV0ZWRSZXNvdXJjZXMuCisgICAg
ICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6ZW1wdHkpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpzdG9yZUNvcHlPZkNhY2hl
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6ZGVs
ZXRlQ2FjaGVHcm91cCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNo
ZVN0b3JhZ2U6OmNoZWNrRm9yRGVsZXRlZFJlc291cmNlcyk6IFdhbGsgdGhyb3VnaCBEZWxldGVk
Q2FjaGVSZXNvdXJjZURhdGEKKyAgICAgICAgICAgIGxvb2tpbmcgZm9yIGVudHJpZXMgd2l0aCBu
b24tZW1wdHkgInBhdGgiIGNvbHVtbnM7IGlmIGZvdW5kLCBkZWxldGUuCisgICAgICAgIChXZWJD
b3JlOjpBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6ZmxhdEZpbGVBcmVhU2l6ZSk6IFdhbGsgdGhy
b3VnaCBDYWNoZVJlc291cmNlRGF0YSByb3dzCisgICAgICAgICAgICBhbmQgc3VtIHRoZSBmaWxl
IHNpemUgb2YgdGhvc2Ugcm93cyB3aXRoIGZsYXQgZmlsZSBzdG9yYWdlLgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6OnZlcmlmeVNjaGVtYVZlcnNpb24pOiBDYWxs
IGRlbGV0ZVRhYmxlcygpIGluc3RlYWQgb2YgCisgICAgICAgICAgICBjbGVhckFsbFRhYmxlcygp
IGRpcmVjdGx5LgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6OmRl
bGV0ZVRhYmxlcyk6IENhbGwgZW1wdHkoKSBiZWZvcmUgZGVsZXRpbmcgdGhlIHRhYmxlcywKKyAg
ICAgICAgICAgIHNvIHRoYXQgZmxhdCBmaWxlcyBnZXQgZGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpzaG91bGRTdG9yZVJlc291cmNlQXNGbGF0Rmls
ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6Ondy
aXRlRGF0YVRvVW5pcXVlRmlsZUluRGlyZWN0b3J5KTogQWRkZWQuCisgICAgICAgICogbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg6CisgICAgICAgICogcGxhdGZvcm0v
d2luL0ZpbGVTeXN0ZW1XaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3BlbkZpbGUpOiBJbXBs
ZW1lbnQgb3BlbkZpbGUgb24gV2luZG93cy4KKworMjAxMS0wMy0yMyAgSmVyIE5vYmxlICA8amVy
Lm5vYmxlQGFwcGxlLmNvbT4KKwogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lh
ay4KIAogICAgICAgICBBcHBsaWNhdGlvbiBDYWNoZSBzaG91bGQgc2F2ZSBhdWRpby8gYW5kIHZp
ZGVvLyBtaW1lIHR5cGVzIGFzIGZsYXQgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2UuaAppbmRleCAxOTBl
NjI5MTAxOWI3YTc3Mjk1MzJjM2NlZTBlYWJmZTFmNmM2ZGRlLi42NjMzYzZjNDA2YWE2OWYyODY0
YTFkOTM5OWY0NzhiMmVkMjMwMjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZS5oCkBAIC01Nyw2ICs1Nyw3
IEBAIHB1YmxpYzoKICAgICBpbnQ2NF90IGVzdGltYXRlZFNpemVJblN0b3JhZ2UoKTsKIAogICAg
IGNvbnN0IFN0cmluZyYgcGF0aCgpIGNvbnN0IHsgcmV0dXJuIG1fcGF0aDsgfQorICAgIHZvaWQg
c2V0UGF0aChjb25zdCBTdHJpbmcmIHBhdGgpIHsgbV9wYXRoID0gcGF0aDsgfQogCiAjaWZuZGVm
IE5ERUJVRwogICAgIHN0YXRpYyB2b2lkIGR1bXBUeXBlKHVuc2lnbmVkIHR5cGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZS5jcHAKaW5kZXggMGY1MTU0Nzk3Y2I3ZTY4NWFjNjUzNTcxZjQ1ZTEyMzkzNTA4ZDcy
MS4uMDllN2Y5NzRmZGE4YzUxYjgxNDk1NzJlNGI4ZDhmMDhlMzRmZDE0NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiU1FMaXRlU3RhdGVtZW50Lmgi
CiAjaW5jbHVkZSAiU1FMaXRlVHJhbnNhY3Rpb24uaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdp
bi5oIgorI2luY2x1ZGUgIlVVSUQuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAj
aW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMu
aD4KQEAgLTQ2LDYgKzQ3LDggQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCitzdGF0aWMgY29uc3QgY2hhciBmbGF0RmlsZVN1YmRpcmVjdG9yeVtdID0gIkFw
cGxpY2F0aW9uQ2FjaGUiOworCiB0ZW1wbGF0ZSA8Y2xhc3MgVD4KIGNsYXNzIFN0b3JhZ2VJREpv
dXJuYWwgewogcHVibGljOiAgCkBAIC0zOTQsNyArMzk3LDcgQEAgaW50NjRfdCBBcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZTo6c3BhY2VOZWVkZWQoaW50NjRfdCBjYWNoZVRvU2F2ZSkKICAgICBpZiAo
IWdldEZpbGVTaXplKG1fY2FjaGVGaWxlLCBmaWxlU2l6ZSkpCiAgICAgICAgIHJldHVybiAwOwog
Ci0gICAgaW50NjRfdCBjdXJyZW50U2l6ZSA9IGZpbGVTaXplOworICAgIGludDY0X3QgY3VycmVu
dFNpemUgPSBmaWxlU2l6ZSArIGZsYXRGaWxlQXJlYVNpemUoKTsKIAogICAgIC8vIERldGVybWlu
ZSB0aGUgYW1vdW50IG9mIGZyZWUgc3BhY2Ugd2UgaGF2ZSBhdmFpbGFibGUuCiAgICAgaW50NjRf
dCB0b3RhbEF2YWlsYWJsZVNpemUgPSAwOwpAQCAtNTYwLDcgKzU2Myw3IEBAIGJvb2wgQXBwbGlj
YXRpb25DYWNoZVN0b3JhZ2U6OmV4ZWN1dGVTUUxDb21tYW5kKGNvbnN0IFN0cmluZyYgc3FsKQog
Ly8gVXBkYXRlIHRoZSBzY2hlbWFWZXJzaW9uIHdoZW4gdGhlIHNjaGVtYSBvZiBhbnkgdGhlIEFw
cGxpY2F0aW9uIENhY2hlCiAvLyBTUUxpdGUgdGFibGVzIGNoYW5nZXMuIFRoaXMgYWxsb3dzIHRo
ZSBkYXRhYmFzZSB0byBiZSByZWJ1aWx0IHdoZW4KIC8vIGEgbmV3LCBpbmNvbXBhdGlibGUgY2hh
bmdlIGhhcyBiZWVuIGludHJvZHVjZWQgdG8gdGhlIGRhdGFiYXNlIHNjaGVtYS4KLXN0YXRpYyBj
b25zdCBpbnQgc2NoZW1hVmVyc2lvbiA9IDY7CitzdGF0aWMgY29uc3QgaW50IHNjaGVtYVZlcnNp
b24gPSA3OwogICAgIAogdm9pZCBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6dmVyaWZ5U2NoZW1h
VmVyc2lvbigpCiB7CkBAIC01NjgsNyArNTcxLDcgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlU3Rv
cmFnZTo6dmVyaWZ5U2NoZW1hVmVyc2lvbigpCiAgICAgaWYgKHZlcnNpb24gPT0gc2NoZW1hVmVy
c2lvbikKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9kYXRhYmFzZS5jbGVhckFsbFRhYmxlcygp
OworICAgIGRlbGV0ZVRhYmxlcygpOwogCiAgICAgLy8gVXBkYXRlIHVzZXIgdmVyc2lvbi4KICAg
ICBTUUxpdGVUcmFuc2FjdGlvbiBzZXREYXRhYmFzZVZlcnNpb24obV9kYXRhYmFzZSk7CkBAIC02
MTgsNyArNjIxLDggQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6b3BlbkRhdGFiYXNl
KGJvb2wgY3JlYXRlSWZEb2VzTm90RXhpc3QpCiAgICAgZXhlY3V0ZVNRTENvbW1hbmQoIkNSRUFU
RSBUQUJMRSBJRiBOT1QgRVhJU1RTIENhY2hlRW50cmllcyAoY2FjaGUgSU5URUdFUiBOT1QgTlVM
TCBPTiBDT05GTElDVCBGQUlMLCB0eXBlIElOVEVHRVIsIHJlc291cmNlIElOVEVHRVIgTk9UIE5V
TEwpIik7CiAgICAgZXhlY3V0ZVNRTENvbW1hbmQoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RT
IENhY2hlUmVzb3VyY2VzIChpZCBJTlRFR0VSIFBSSU1BUlkgS0VZIEFVVE9JTkNSRU1FTlQsIHVy
bCBURVhUIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwsICIKICAgICAgICAgICAgICAgICAgICAg
ICAic3RhdHVzQ29kZSBJTlRFR0VSIE5PVCBOVUxMLCByZXNwb25zZVVSTCBURVhUIE5PVCBOVUxM
LCBtaW1lVHlwZSBURVhULCB0ZXh0RW5jb2RpbmdOYW1lIFRFWFQsIGhlYWRlcnMgVEVYVCwgZGF0
YSBJTlRFR0VSIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwpIik7Ci0gICAgZXhlY3V0ZVNRTENv
bW1hbmQoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIENhY2hlUmVzb3VyY2VEYXRhIChpZCBJ
TlRFR0VSIFBSSU1BUlkgS0VZIEFVVE9JTkNSRU1FTlQsIGRhdGEgQkxPQikiKTsKKyAgICBleGVj
dXRlU1FMQ29tbWFuZCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgQ2FjaGVSZXNvdXJjZURh
dGEgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVkgQVVUT0lOQ1JFTUVOVCwgZGF0YSBCTE9CLCBwYXRo
IFRFWFQpIik7CisgICAgZXhlY3V0ZVNRTENvbW1hbmQoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJ
U1RTIERlbGV0ZWRDYWNoZVJlc291cmNlcyAoaWQgSU5URUdFUiBQUklNQVJZIEtFWSBBVVRPSU5D
UkVNRU5ULCBwYXRoIFRFWFQpIik7CiAgICAgZXhlY3V0ZVNRTENvbW1hbmQoIkNSRUFURSBUQUJM
RSBJRiBOT1QgRVhJU1RTIE9yaWdpbnMgKG9yaWdpbiBURVhUIFVOSVFVRSBPTiBDT05GTElDVCBJ
R05PUkUsIHF1b3RhIElOVEVHRVIgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCkiKTsKIAogICAg
IC8vIFdoZW4gYSBjYWNoZSBpcyBkZWxldGVkLCBhbGwgaXRzIGVudHJpZXMgYW5kIGl0cyB3aGl0
ZWxpc3Qgc2hvdWxkIGJlIGRlbGV0ZWQuCkBAIC02NDEsNiArNjQ1LDE1IEBAIHZvaWQgQXBwbGlj
YXRpb25DYWNoZVN0b3JhZ2U6Om9wZW5EYXRhYmFzZShib29sIGNyZWF0ZUlmRG9lc05vdEV4aXN0
KQogICAgICAgICAgICAgICAgICAgICAgICIgRk9SIEVBQ0ggUk9XIEJFR0lOIgogICAgICAgICAg
ICAgICAgICAgICAgICIgIERFTEVURSBGUk9NIENhY2hlUmVzb3VyY2VEYXRhIFdIRVJFIGlkID0g
T0xELmRhdGE7IgogICAgICAgICAgICAgICAgICAgICAgICIgRU5EIik7CisgICAgCisgICAgLy8g
V2hlbiBhIGNhY2hlIHJlc291cmNlIGlzIGRlbGV0ZWQsIGlmIGl0IGNvbnRhaW5zIGEgbm9uLWVt
cHR5IHBhdGgsIHRoYXQgcGF0aCBzaG91bGQKKyAgICAvLyBiZSBhZGRlZCB0byB0aGUgRGVsZXRl
ZENhY2hlUmVzb3VyY2VzIHRhYmxlIHNvIHRoZSBmbGF0IGZpbGUgYXQgdGhhdCBwYXRoIGNhbgor
ICAgIC8vIGJlIGRlbGV0ZWQgYXQgYSBsYXRlciB0aW1lLgorICAgIGV4ZWN1dGVTUUxDb21tYW5k
KCJDUkVBVEUgVFJJR0dFUiBJRiBOT1QgRVhJU1RTIENhY2hlUmVzb3VyY2VEYXRhRGVsZXRlZCBB
RlRFUiBERUxFVEUgT04gQ2FjaGVSZXNvdXJjZURhdGEiCisgICAgICAgICAgICAgICAgICAgICAg
IiBGT1IgRUFDSCBST1ciCisgICAgICAgICAgICAgICAgICAgICAgIiBXSEVOIE9MRC5wYXRoIE5P
VCBOVUxMIEJFR0lOIgorICAgICAgICAgICAgICAgICAgICAgICIgIElOU0VSVCBJTlRPIERlbGV0
ZWRDYWNoZVJlc291cmNlcyAocGF0aCkgdmFsdWVzIChPTEQucGF0aCk7IgorICAgICAgICAgICAg
ICAgICAgICAgICIgRU5EIik7CiB9CiAKIGJvb2wgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6OmV4
ZWN1dGVTdGF0ZW1lbnQoU1FMaXRlU3RhdGVtZW50JiBzdGF0ZW1lbnQpCkBAIC03NzIsMTUgKzc4
NSw0MyBAQCBib29sIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpzdG9yZShBcHBsaWNhdGlvbkNh
Y2hlUmVzb3VyY2UqIHJlc291cmNlLCB1bnNpZ25lZAogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICAvLyBGaXJzdCwgaW5zZXJ0IHRoZSBkYXRhCi0gICAgU1FMaXRlU3RhdGVtZW50IGRhdGFT
dGF0ZW1lbnQobV9kYXRhYmFzZSwgIklOU0VSVCBJTlRPIENhY2hlUmVzb3VyY2VEYXRhIChkYXRh
KSBWQUxVRVMgKD8pIik7CisgICAgU1FMaXRlU3RhdGVtZW50IGRhdGFTdGF0ZW1lbnQobV9kYXRh
YmFzZSwgIklOU0VSVCBJTlRPIENhY2hlUmVzb3VyY2VEYXRhIChkYXRhLCBwYXRoKSBWQUxVRVMg
KD8sID8pIik7CiAgICAgaWYgKGRhdGFTdGF0ZW1lbnQucHJlcGFyZSgpICE9IFNRTFJlc3VsdE9r
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCi0gICAgaWYgKHJlc291cmNlLT5kYXRhKCkt
PnNpemUoKSkKLSAgICAgICAgZGF0YVN0YXRlbWVudC5iaW5kQmxvYigxLCByZXNvdXJjZS0+ZGF0
YSgpLT5kYXRhKCksIHJlc291cmNlLT5kYXRhKCktPnNpemUoKSk7CisKKyAgICBTdHJpbmcgZnVs
bFBhdGg7CisgICAgaWYgKCFyZXNvdXJjZS0+cGF0aCgpLmlzRW1wdHkoKSkKKyAgICAgICAgZGF0
YVN0YXRlbWVudC5iaW5kVGV4dCgyLCBwYXRoR2V0RmlsZU5hbWUocmVzb3VyY2UtPnBhdGgoKSkp
OworICAgIGVsc2UgaWYgKHNob3VsZFN0b3JlUmVzb3VyY2VBc0ZsYXRGaWxlKHJlc291cmNlKSkg
eworICAgICAgICAvLyBGaXJzdCwgY2hlY2sgdG8gc2VlIGlmIGNyZWF0aW5nIHRoZSBmbGF0IGZp
bGUgd291bGQgdmlvbGF0ZSB0aGUgbWF4aW11bSB0b3RhbCBxdW90YS4gV2UgZG9uJ3QgbmVlZAor
ICAgICAgICAvLyB0byBjaGVjayB0aGUgcGVyLW9yaWdpbiBxdW90YSBoZXJlLCBhcyBpdCB3YXMg
YWxyZWFkeSBjaGVja2VkIGluIHN0b3JlTmV3ZXN0Q2FjaGUoKS4KKyAgICAgICAgaWYgKG1fZGF0
YWJhc2UudG90YWxTaXplKCkgKyBmbGF0RmlsZUFyZWFTaXplKCkgKyByZXNvdXJjZS0+ZGF0YSgp
LT5zaXplKCkgPiBtX21heGltdW1TaXplKSB7CisgICAgICAgICAgICBtX2lzTWF4aW11bVNpemVS
ZWFjaGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAg
ICAgICAKKyAgICAgICAgU3RyaW5nIGZsYXRGaWxlRGlyZWN0b3J5ID0gcGF0aEJ5QXBwZW5kaW5n
Q29tcG9uZW50KG1fY2FjaGVEaXJlY3RvcnksIGZsYXRGaWxlU3ViZGlyZWN0b3J5KTsKKyAgICAg
ICAgbWFrZUFsbERpcmVjdG9yaWVzKGZsYXRGaWxlRGlyZWN0b3J5KTsKKyAgICAgICAgU3RyaW5n
IHBhdGg7CisgICAgICAgIGlmICghd3JpdGVEYXRhVG9VbmlxdWVGaWxlSW5EaXJlY3RvcnkocmVz
b3VyY2UtPmRhdGEoKSwgZmxhdEZpbGVEaXJlY3RvcnksIHBhdGgpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgZnVsbFBhdGggPSBwYXRoQnlBcHBlbmRpbmdD
b21wb25lbnQoZmxhdEZpbGVEaXJlY3RvcnksIHBhdGgpOworICAgICAgICByZXNvdXJjZS0+c2V0
UGF0aChmdWxsUGF0aCk7CisgICAgICAgIGRhdGFTdGF0ZW1lbnQuYmluZFRleHQoMiwgcGF0aCk7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKHJlc291cmNlLT5kYXRhKCktPnNpemUoKSkKKyAg
ICAgICAgICAgIGRhdGFTdGF0ZW1lbnQuYmluZEJsb2IoMSwgcmVzb3VyY2UtPmRhdGEoKS0+ZGF0
YSgpLCByZXNvdXJjZS0+ZGF0YSgpLT5zaXplKCkpOworICAgIH0KICAgICAKLSAgICBpZiAoIWRh
dGFTdGF0ZW1lbnQuZXhlY3V0ZUNvbW1hbmQoKSkKKyAgICBpZiAoIWRhdGFTdGF0ZW1lbnQuZXhl
Y3V0ZUNvbW1hbmQoKSkgeworICAgICAgICAvLyBDbGVhbiB1cCB0aGUgZmlsZSB3aGljaCB3ZSBt
YXkgaGF2ZSB3cml0dGVuIHRvOgorICAgICAgICBpZiAoIWZ1bGxQYXRoLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIGRlbGV0ZUZpbGUoZnVsbFBhdGgpOworCiAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CiAKICAgICB1bnNpZ25lZCBkYXRhSWQgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9k
YXRhYmFzZS5sYXN0SW5zZXJ0Um93SUQoKSk7CiAKQEAgLTgzMSw2ICs4NzIsMTIgQEAgYm9vbCBB
cHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6c3RvcmUoQXBwbGljYXRpb25DYWNoZVJlc291cmNlKiBy
ZXNvdXJjZSwgdW5zaWduZWQKICAgICBpZiAoIWV4ZWN1dGVTdGF0ZW1lbnQoZW50cnlTdGF0ZW1l
bnQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCisgICAgLy8gRGlkIHdlIHN1Y2Nlc3Nm
dWxseSB3cml0ZSB0aGUgcmVzb3VyY2UgZGF0YSB0byBhIGZpbGU/IElmIHNvLAorICAgIC8vIHJl
bGVhc2UgdGhlIHJlc291cmNlJ3MgZGF0YSBhbmQgZnJlZSB1cCBhIHBvdGVudGlhbGx5IGxhcmdl
IGFtb3VudAorICAgIC8vIG9mIG1lbW9yeToKKyAgICBpZiAoIWZ1bGxQYXRoLmlzRW1wdHkoKSkK
KyAgICAgICAgcmVzb3VyY2UtPmRhdGEoKS0+Y2xlYXIoKTsKKwogICAgIHJlc291cmNlLT5zZXRT
dG9yYWdlSUQocmVzb3VyY2VJZCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC04NjEsNyArOTA4
LDcgQEAgYm9vbCBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6c3RvcmUoQXBwbGljYXRpb25DYWNo
ZVJlc291cmNlKiByZXNvdXJjZSwgQXBwbGljYXQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogIAog
ICAgIG1faXNNYXhpbXVtU2l6ZVJlYWNoZWQgPSBmYWxzZTsKLSAgICBtX2RhdGFiYXNlLnNldE1h
eGltdW1TaXplKG1fbWF4aW11bVNpemUpOworICAgIG1fZGF0YWJhc2Uuc2V0TWF4aW11bVNpemUo
bV9tYXhpbXVtU2l6ZSAtIGZsYXRGaWxlQXJlYVNpemUoKSk7CiAKICAgICBTUUxpdGVUcmFuc2Fj
dGlvbiBzdG9yZVJlc291cmNlVHJhbnNhY3Rpb24obV9kYXRhYmFzZSk7CiAgICAgc3RvcmVSZXNv
dXJjZVRyYW5zYWN0aW9uLmJlZ2luKCk7CkBAIC05MDgsNyArOTU1LDcgQEAgYm9vbCBBcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZTo6c3RvcmVOZXdlc3RDYWNoZShBcHBsaWNhdGlvbkNhY2hlR3JvdXAq
IGdyb3VwLCBBcHAKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgbV9pc01heGltdW1TaXpl
UmVhY2hlZCA9IGZhbHNlOwotICAgIG1fZGF0YWJhc2Uuc2V0TWF4aW11bVNpemUobV9tYXhpbXVt
U2l6ZSk7CisgICAgbV9kYXRhYmFzZS5zZXRNYXhpbXVtU2l6ZShtX21heGltdW1TaXplIC0gZmxh
dEZpbGVBcmVhU2l6ZSgpKTsKIAogICAgIFNRTGl0ZVRyYW5zYWN0aW9uIHN0b3JlQ2FjaGVUcmFu
c2FjdGlvbihtX2RhdGFiYXNlKTsKICAgICAKQEAgLTEwMDgsNyArMTA1NSw3IEBAIHN0YXRpYyBp
bmxpbmUgdm9pZCBwYXJzZUhlYWRlcnMoY29uc3QgU3RyaW5nJiBoZWFkZXJzLCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zCiBQYXNzUmVmUHRyPEFwcGxpY2F0aW9uQ2FjaGU+IEFwcGxpY2F0aW9u
Q2FjaGVTdG9yYWdlOjpsb2FkQ2FjaGUodW5zaWduZWQgc3RvcmFnZUlEKQogewogICAgIFNRTGl0
ZVN0YXRlbWVudCBjYWNoZVN0YXRlbWVudChtX2RhdGFiYXNlLCAKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIlNFTEVDVCB1cmwsIHR5cGUsIG1pbWVUeXBlLCB0ZXh0RW5jb2Rp
bmdOYW1lLCBoZWFkZXJzLCBDYWNoZVJlc291cmNlRGF0YS5kYXRhIEZST00gQ2FjaGVFbnRyaWVz
IElOTkVSIEpPSU4gQ2FjaGVSZXNvdXJjZXMgT04gQ2FjaGVFbnRyaWVzLnJlc291cmNlPUNhY2hl
UmVzb3VyY2VzLmlkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNFTEVD
VCB1cmwsIHR5cGUsIG1pbWVUeXBlLCB0ZXh0RW5jb2RpbmdOYW1lLCBoZWFkZXJzLCBDYWNoZVJl
c291cmNlRGF0YS5kYXRhLCBDYWNoZVJlc291cmNlRGF0YS5wYXRoIEZST00gQ2FjaGVFbnRyaWVz
IElOTkVSIEpPSU4gQ2FjaGVSZXNvdXJjZXMgT04gQ2FjaGVFbnRyaWVzLnJlc291cmNlPUNhY2hl
UmVzb3VyY2VzLmlkICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIklOTkVS
IEpPSU4gQ2FjaGVSZXNvdXJjZURhdGEgT04gQ2FjaGVSZXNvdXJjZURhdGEuaWQ9Q2FjaGVSZXNv
dXJjZXMuZGF0YSBXSEVSRSBDYWNoZUVudHJpZXMuY2FjaGU9PyIpOwogICAgIGlmIChjYWNoZVN0
YXRlbWVudC5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0T2spIHsKICAgICAgICAgTE9HX0VSUk9SKCJD
b3VsZCBub3QgcHJlcGFyZSBjYWNoZSBzdGF0ZW1lbnQsIGVycm9yIFwiJXNcIiIsIG1fZGF0YWJh
c2UubGFzdEVycm9yTXNnKCkpOwpAQCAtMTAxOCw3ICsxMDY1LDkgQEAgUGFzc1JlZlB0cjxBcHBs
aWNhdGlvbkNhY2hlPiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6bG9hZENhY2hlKHVuc2lnbmVk
IHN0b3JhZ2UKICAgICBjYWNoZVN0YXRlbWVudC5iaW5kSW50NjQoMSwgc3RvcmFnZUlEKTsKIAog
ICAgIFJlZlB0cjxBcHBsaWNhdGlvbkNhY2hlPiBjYWNoZSA9IEFwcGxpY2F0aW9uQ2FjaGU6OmNy
ZWF0ZSgpOwotICAgIAorCisgICAgU3RyaW5nIGZsYXRGaWxlRGlyZWN0b3J5ID0gcGF0aEJ5QXBw
ZW5kaW5nQ29tcG9uZW50KG1fY2FjaGVEaXJlY3RvcnksIGZsYXRGaWxlU3ViZGlyZWN0b3J5KTsK
KwogICAgIGludCByZXN1bHQ7CiAgICAgd2hpbGUgKChyZXN1bHQgPSBjYWNoZVN0YXRlbWVudC5z
dGVwKCkpID09IFNRTFJlc3VsdFJvdykgewogICAgICAgICBLVVJMIHVybChQYXJzZWRVUkxTdHJp
bmcsIGNhY2hlU3RhdGVtZW50LmdldENvbHVtblRleHQoMCkpOwpAQCAtMTAzMCwxNSArMTA3OSwy
NCBAQCBQYXNzUmVmUHRyPEFwcGxpY2F0aW9uQ2FjaGU+IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdl
Ojpsb2FkQ2FjaGUodW5zaWduZWQgc3RvcmFnZQogICAgICAgICAKICAgICAgICAgUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gZGF0YSA9IFNoYXJlZEJ1ZmZlcjo6YWRvcHRWZWN0b3IoYmxvYik7CiAgICAg
ICAgIAorICAgICAgICBTdHJpbmcgcGF0aCA9IGNhY2hlU3RhdGVtZW50LmdldENvbHVtblRleHQo
Nik7CisgICAgICAgIGxvbmcgbG9uZyBzaXplID0gMDsKKyAgICAgICAgaWYgKHBhdGguaXNFbXB0
eSgpKQorICAgICAgICAgICAgc2l6ZSA9IGRhdGEtPnNpemUoKTsKKyAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICBwYXRoID0gcGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KGZsYXRGaWxlRGlyZWN0
b3J5LCBwYXRoKTsKKyAgICAgICAgICAgIGdldEZpbGVTaXplKHBhdGgsIHNpemUpOworICAgICAg
ICB9CisgICAgICAgIAogICAgICAgICBTdHJpbmcgbWltZVR5cGUgPSBjYWNoZVN0YXRlbWVudC5n
ZXRDb2x1bW5UZXh0KDIpOwogICAgICAgICBTdHJpbmcgdGV4dEVuY29kaW5nTmFtZSA9IGNhY2hl
U3RhdGVtZW50LmdldENvbHVtblRleHQoMyk7CiAgICAgICAgIAotICAgICAgICBSZXNvdXJjZVJl
c3BvbnNlIHJlc3BvbnNlKHVybCwgbWltZVR5cGUsIGRhdGEtPnNpemUoKSwgdGV4dEVuY29kaW5n
TmFtZSwgIiIpOworICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlKHVybCwgbWltZVR5
cGUsIHNpemUsIHRleHRFbmNvZGluZ05hbWUsICIiKTsKIAogICAgICAgICBTdHJpbmcgaGVhZGVy
cyA9IGNhY2hlU3RhdGVtZW50LmdldENvbHVtblRleHQoNCk7CiAgICAgICAgIHBhcnNlSGVhZGVy
cyhoZWFkZXJzLCByZXNwb25zZSk7CiAgICAgICAgIAotICAgICAgICBSZWZQdHI8QXBwbGljYXRp
b25DYWNoZVJlc291cmNlPiByZXNvdXJjZSA9IEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6Y3Jl
YXRlKHVybCwgcmVzcG9uc2UsIHR5cGUsIGRhdGEucmVsZWFzZSgpKTsKKyAgICAgICAgUmVmUHRy
PEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZT4gcmVzb3VyY2UgPSBBcHBsaWNhdGlvbkNhY2hlUmVz
b3VyY2U6OmNyZWF0ZSh1cmwsIHJlc3BvbnNlLCB0eXBlLCBkYXRhLnJlbGVhc2UoKSwgcGF0aCk7
CiAKICAgICAgICAgaWYgKHR5cGUgJiBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6Ok1hbmlmZXN0
KQogICAgICAgICAgICAgY2FjaGUtPnNldE1hbmlmZXN0UmVzb3VyY2UocmVzb3VyY2UucmVsZWFz
ZSgpKTsKQEAgLTExMzIsNiArMTE5MCw4IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6
OnJlbW92ZShBcHBsaWNhdGlvbkNhY2hlKiBjYWNoZSkKIAogICAgICAgICBjYWNoZS0+Z3JvdXAo
KS0+Y2xlYXJTdG9yYWdlSUQoKTsKICAgICB9CisgICAgCisgICAgY2hlY2tGb3JEZWxldGVkUmVz
b3VyY2VzKCk7CiB9ICAgIAogCiB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjplbXB0eSgp
CkBAIC0xMTUyLDcgKzEyMTIsNTEgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6ZW1w
dHkoKQogICAgIENhY2hlR3JvdXBNYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fY2FjaGVzSW5N
ZW1vcnkuZW5kKCk7CiAgICAgZm9yIChDYWNoZUdyb3VwTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9
IG1fY2FjaGVzSW5NZW1vcnkuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQogICAgICAgICBpdC0+
c2Vjb25kLT5jbGVhclN0b3JhZ2VJRCgpOwotfSAgICAKKyAgICAKKyAgICBjaGVja0ZvckRlbGV0
ZWRSZXNvdXJjZXMoKTsKK30KKyAgICAKK3ZvaWQgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6OmRl
bGV0ZVRhYmxlcygpCit7CisgICAgZW1wdHkoKTsKKyAgICBtX2RhdGFiYXNlLmNsZWFyQWxsVGFi
bGVzKCk7Cit9CisgICAgCitib29sIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpzaG91bGRTdG9y
ZVJlc291cmNlQXNGbGF0RmlsZShBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2UqIHJlc291cmNlKQor
eworICAgIHJldHVybiByZXNvdXJjZS0+cmVzcG9uc2UoKS5taW1lVHlwZSgpLnN0YXJ0c1dpdGgo
ImF1ZGlvLyIsIGZhbHNlKSAKKyAgICAgICAgfHwgcmVzb3VyY2UtPnJlc3BvbnNlKCkubWltZVR5
cGUoKS5zdGFydHNXaXRoKCJ2aWRlby8iLCBmYWxzZSk7Cit9CisgICAgCitib29sIEFwcGxpY2F0
aW9uQ2FjaGVTdG9yYWdlOjp3cml0ZURhdGFUb1VuaXF1ZUZpbGVJbkRpcmVjdG9yeShTaGFyZWRC
dWZmZXIqIGRhdGEsIGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5LCBTdHJpbmcmIHBhdGgpCit7Cisg
ICAgU3RyaW5nIGZ1bGxQYXRoOworICAgIAorICAgIGRvIHsKKyAgICAgICAgcGF0aCA9IGVuY29k
ZUZvckZpbGVOYW1lKGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKSk7CisgICAgICAgIC8vIEd1
YXJkIGFnYWluc3QgdGhlIGFib3ZlIGZ1bmN0aW9uIGJlaW5nIGNhbGxlZCBvbiBhIHBsYXRmb3Jt
IHdoaWNoIGRvZXMgbm90IGltcGxlbWVudAorICAgICAgICAvLyBjcmVhdGVDYW5vbmljYWxVVUlE
U3RyaW5nKCkuCisgICAgICAgIEFTU0VSVCghcGF0aC5pc0VtcHR5KCkpOworICAgICAgICBpZiAo
cGF0aC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAg
ICAgICBmdWxsUGF0aCA9IHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChkaXJlY3RvcnksIHBhdGgp
OworICAgIH0gd2hpbGUgKGRpcmVjdG9yeU5hbWUoZnVsbFBhdGgpICE9IGRpcmVjdG9yeSB8fCBm
aWxlRXhpc3RzKGZ1bGxQYXRoKSk7CisgICAgCisgICAgUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRs
ZSA9IG9wZW5GaWxlKGZ1bGxQYXRoLCBPcGVuRm9yV3JpdGUpOworICAgIGlmICghaGFuZGxlKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgaW50NjRfdCB3cml0dGVuQnl0ZXMgPSB3
cml0ZVRvRmlsZShoYW5kbGUsIGRhdGEtPmRhdGEoKSwgZGF0YS0+c2l6ZSgpKTsKKyAgICBjbG9z
ZUZpbGUoaGFuZGxlKTsKKyAgICAKKyAgICBpZiAod3JpdHRlbkJ5dGVzICE9IChpbnQ2NF90KWRh
dGEtPnNpemUoKSkgeworICAgICAgICBkZWxldGVGaWxlKGZ1bGxQYXRoKTsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gdHJ1ZTsKK30KIAogYm9vbCBBcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZTo6c3RvcmVDb3B5T2ZDYWNoZShjb25zdCBTdHJpbmcmIGNhY2hl
RGlyZWN0b3J5LCBBcHBsaWNhdGlvbkNhY2hlSG9zdCogY2FjaGVIb3N0KQogewpAQCAtMTE3MSw3
ICsxMjc1LDcgQEAgYm9vbCBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6c3RvcmVDb3B5T2ZDYWNo
ZShjb25zdCBTdHJpbmcmIGNhY2hlRGlyZWN0b3J5LCBBcHAKICAgICBmb3IgKEFwcGxpY2F0aW9u
Q2FjaGU6OlJlc291cmNlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IGNhY2hlLT5iZWdpbigpOyBp
dCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgQXBwbGljYXRpb25DYWNoZVJlc291cmNlKiByZXNv
dXJjZSA9IGl0LT5zZWNvbmQuZ2V0KCk7CiAgICAgICAgIAotICAgICAgICBSZWZQdHI8QXBwbGlj
YXRpb25DYWNoZVJlc291cmNlPiByZXNvdXJjZUNvcHkgPSBBcHBsaWNhdGlvbkNhY2hlUmVzb3Vy
Y2U6OmNyZWF0ZShyZXNvdXJjZS0+dXJsKCksIHJlc291cmNlLT5yZXNwb25zZSgpLCByZXNvdXJj
ZS0+dHlwZSgpLCByZXNvdXJjZS0+ZGF0YSgpKTsKKyAgICAgICAgUmVmUHRyPEFwcGxpY2F0aW9u
Q2FjaGVSZXNvdXJjZT4gcmVzb3VyY2VDb3B5ID0gQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpj
cmVhdGUocmVzb3VyY2UtPnVybCgpLCByZXNvdXJjZS0+cmVzcG9uc2UoKSwgcmVzb3VyY2UtPnR5
cGUoKSwgcmVzb3VyY2UtPmRhdGEoKSwgcmVzb3VyY2UtPnBhdGgoKSk7CiAgICAgICAgIAogICAg
ICAgICBjYWNoZUNvcHktPmFkZFJlc291cmNlKHJlc291cmNlQ29weS5yZWxlYXNlKCkpOwogICAg
IH0KQEAgLTEyNzksNiArMTM4Myw5IEBAIGJvb2wgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6OmRl
bGV0ZUNhY2hlR3JvdXAoY29uc3QgU3RyaW5nJiBtYW5pZmVzdFVSTCkKICAgICB9CiAKICAgICBk
ZWxldGVUcmFuc2FjdGlvbi5jb21taXQoKTsKKyAgICAKKyAgICBjaGVja0ZvckRlbGV0ZWRSZXNv
dXJjZXMoKTsKKyAgICAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTI5Niw2ICsxNDAzLDY5
IEBAIHZvaWQgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6OmNoZWNrRm9yTWF4U2l6ZVJlYWNoZWQo
KQogICAgIGlmIChtX2RhdGFiYXNlLmxhc3RFcnJvcigpID09IFNRTFJlc3VsdEZ1bGwpCiAgICAg
ICAgIG1faXNNYXhpbXVtU2l6ZVJlYWNoZWQgPSB0cnVlOwogfQorICAgIAordm9pZCBBcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZTo6Y2hlY2tGb3JEZWxldGVkUmVzb3VyY2VzKCkKK3sKKyAgICBvcGVu
RGF0YWJhc2UoZmFsc2UpOworICAgIGlmICghbV9kYXRhYmFzZS5pc09wZW4oKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgLy8gU2VsZWN0IG9ubHkgdGhlIHBhdGhzIGluIERlbGV0ZWRDYWNoZVJl
c291cmNlcyB0aGF0IGRvIG5vdCBhbHNvIGFwcGVhciBpbiBDYWNoZVJlc291cmNlRGF0YToKKyAg
ICBTUUxpdGVTdGF0ZW1lbnQgc2VsZWN0UGF0aHMobV9kYXRhYmFzZSwgIlNFTEVDVCBEZWxldGVk
Q2FjaGVSZXNvdXJjZXMucGF0aCAiCisgICAgICAgICJGUk9NIERlbGV0ZWRDYWNoZVJlc291cmNl
cyAiCisgICAgICAgICJMRUZUIEpPSU4gQ2FjaGVSZXNvdXJjZURhdGEgIgorICAgICAgICAiT04g
RGVsZXRlZENhY2hlUmVzb3VyY2VzLnBhdGggPSBDYWNoZVJlc291cmNlRGF0YS5wYXRoICIKKyAg
ICAgICAgIldIRVJFIChTRUxFQ1QgRGVsZXRlZENhY2hlUmVzb3VyY2VzLnBhdGggPT0gQ2FjaGVS
ZXNvdXJjZURhdGEucGF0aCkgSVMgTlVMTCIpOworICAgIAorICAgIGlmIChzZWxlY3RQYXRocy5w
cmVwYXJlKCkgIT0gU1FMUmVzdWx0T2spCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAo
c2VsZWN0UGF0aHMuc3RlcCgpICE9IFNRTFJlc3VsdFJvdykKKyAgICAgICAgcmV0dXJuOworICAg
IAorICAgIGRvIHsKKyAgICAgICAgU3RyaW5nIHBhdGggPSBzZWxlY3RQYXRocy5nZXRDb2x1bW5U
ZXh0KDApOworICAgICAgICBpZiAocGF0aC5pc0VtcHR5KCkpCisgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgCisgICAgICAgIFN0cmluZyBmbGF0RmlsZURpcmVjdG9yeSA9IHBhdGhCeUFw
cGVuZGluZ0NvbXBvbmVudChtX2NhY2hlRGlyZWN0b3J5LCBmbGF0RmlsZVN1YmRpcmVjdG9yeSk7
CisgICAgICAgIFN0cmluZyBmdWxsUGF0aCA9IHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChmbGF0
RmlsZURpcmVjdG9yeSwgcGF0aCk7CisgICAgICAgIAorICAgICAgICAvLyBEb24ndCBleGl0IHRo
ZSBmbGF0RmlsZURpcmVjdG9yeSEgVGhpcyBzaG91bGQgb25seSBoYXBwZW4gaWYgdGhlICJwYXRo
IiBlbnRyeSBjb250YWlucyBhIGRpcmVjdG9yeSAKKyAgICAgICAgLy8gY29tcG9uZW50LCBidXQg
cHJvdGVjdCBhZ2FpbnN0IGl0IHJlZ2FyZGxlc3MuCisgICAgICAgIGlmIChkaXJlY3RvcnlOYW1l
KGZ1bGxQYXRoKSAhPSBmbGF0RmlsZURpcmVjdG9yeSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICAKKyAgICAgICAgZGVsZXRlRmlsZShmdWxsUGF0aCk7CisgICAgfSB3aGlsZSAoc2Vs
ZWN0UGF0aHMuc3RlcCgpID09IFNRTFJlc3VsdFJvdyk7CisgICAgCisgICAgZXhlY3V0ZVNRTENv
bW1hbmQoIkRFTEVURSBGUk9NIERlbGV0ZWRDYWNoZVJlc291cmNlcyIpOworfQorICAgIAorbG9u
ZyBsb25nIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpmbGF0RmlsZUFyZWFTaXplKCkKK3sKKyAg
ICBvcGVuRGF0YWJhc2UoZmFsc2UpOworICAgIGlmICghbV9kYXRhYmFzZS5pc09wZW4oKSkKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgCisgICAgU1FMaXRlU3RhdGVtZW50IHNlbGVjdFBhdGhzKG1f
ZGF0YWJhc2UsICJTRUxFQ1QgcGF0aCBGUk9NIENhY2hlUmVzb3VyY2VEYXRhIFdIRVJFIHBhdGgg
Tk9UIE5VTEwiKTsKKworICAgIGlmIChzZWxlY3RQYXRocy5wcmVwYXJlKCkgIT0gU1FMUmVzdWx0
T2spCisgICAgICAgIHJldHVybiAwOworCisgICAgbG9uZyBsb25nIHRvdGFsU2l6ZSA9IDA7Cisg
ICAgU3RyaW5nIGZsYXRGaWxlRGlyZWN0b3J5ID0gcGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KG1f
Y2FjaGVEaXJlY3RvcnksIGZsYXRGaWxlU3ViZGlyZWN0b3J5KTsKKyAgICB3aGlsZSAoc2VsZWN0
UGF0aHMuc3RlcCgpID09IFNRTFJlc3VsdFJvdykgeworICAgICAgICBTdHJpbmcgcGF0aCA9IHNl
bGVjdFBhdGhzLmdldENvbHVtblRleHQoMCk7CisgICAgICAgIFN0cmluZyBmdWxsUGF0aCA9IHBh
dGhCeUFwcGVuZGluZ0NvbXBvbmVudChmbGF0RmlsZURpcmVjdG9yeSwgcGF0aCk7CisgICAgICAg
IGxvbmcgbG9uZyBwYXRoU2l6ZSA9IDA7CisgICAgICAgIGlmICghZ2V0RmlsZVNpemUoZnVsbFBh
dGgsIHBhdGhTaXplKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB0b3RhbFNpemUg
Kz0gcGF0aFNpemU7CisgICAgfQorICAgIAorICAgIHJldHVybiB0b3RhbFNpemU7Cit9CiAKIHZv
aWQgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6OmdldE9yaWdpbnNXaXRoQ2FjaGUoSGFzaFNldDxS
ZWZQdHI8U2VjdXJpdHlPcmlnaW4+LCBTZWN1cml0eU9yaWdpbkhhc2g+JiBvcmlnaW5zKQogewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2UuaAppbmRleCBjOTRkNjNkYmY3OGE3NTE2M2RmMjdmZGNlNjMxNTViYzEzMWIx
OGVkLi4zMTM2YjUyOThiMDU1MzE5YTliNTQxYmNmNWM5MWFhMmEyMzNkZGM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UuaApAQCAtMTEzLDYgKzExMyw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzdG9yZShBcHBs
aWNhdGlvbkNhY2hlUmVzb3VyY2UqLCB1bnNpZ25lZCBjYWNoZVN0b3JhZ2VJRCk7CiAKICAgICBi
b29sIGVuc3VyZU9yaWdpblJlY29yZChjb25zdCBTZWN1cml0eU9yaWdpbiopOworICAgIGJvb2wg
c2hvdWxkU3RvcmVSZXNvdXJjZUFzRmxhdEZpbGUoQXBwbGljYXRpb25DYWNoZVJlc291cmNlKik7
CisgICAgdm9pZCBkZWxldGVUYWJsZXMoKTsKKyAgICBib29sIHdyaXRlRGF0YVRvVW5pcXVlRmls
ZUluRGlyZWN0b3J5KFNoYXJlZEJ1ZmZlciosIGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5LCBTdHJp
bmcmIG91dEZpbGVuYW1lKTsKIAogICAgIHZvaWQgbG9hZE1hbmlmZXN0SG9zdEhhc2hlcygpOwog
ICAgIApAQCAtMTI0LDYgKzEyNyw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBleGVjdXRlU1FMQ29t
bWFuZChjb25zdCBTdHJpbmcmKTsKIAogICAgIHZvaWQgY2hlY2tGb3JNYXhTaXplUmVhY2hlZCgp
OworICAgIHZvaWQgY2hlY2tGb3JEZWxldGVkUmVzb3VyY2VzKCk7CisgICAgbG9uZyBsb25nIGZs
YXRGaWxlQXJlYVNpemUoKTsKICAgICAKICAgICBTdHJpbmcgbV9jYWNoZURpcmVjdG9yeTsKICAg
ICBTdHJpbmcgbV9jYWNoZUZpbGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vRmlsZVN5c3RlbVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmls
ZVN5c3RlbVdpbi5jcHAKaW5kZXggOTk4OTA1MjdiNGY0N2Q0NjZmMTQ3MGVlOGFlMDg5YTU4NjFl
NGYzNS4uMGIzODY4MDk5YmM3NzEyMDU2MGQ5NmE1Yjg5Y2IzYzA2Y2NlOWViNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcApAQCAtMjMzLDYgKzIz
MywxNCBAQCBDU3RyaW5nIG9wZW5UZW1wb3JhcnlGaWxlKGNvbnN0IGNoYXIqLCBQbGF0Zm9ybUZp
bGVIYW5kbGUmIGhhbmRsZSkKICAgICByZXR1cm4gcHJvcG9zZWRQYXRoOwogfQogCitQbGF0Zm9y
bUZpbGVIYW5kbGUgb3BlbkZpbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBGaWxlT3Blbk1vZGUgbW9k
ZSkKK3sKKyAgICBEV09SRCBkZXNpcmVkQWNjZXNzID0gbW9kZSA9PSBPcGVuRm9yUmVhZCA/IEdF
TkVSSUNfUkVBRCA6IEdFTkVSSUNfV1JJVEU7CisgICAgRFdPUkQgY3JlYXRpb25EaXNwb3NpdGlv
biA9IG1vZGUgPT0gT3BlbkZvclJlYWQgPyBPUEVOX0VYSVNUSU5HIDogQ1JFQVRFX0FMV0FZUzsK
KworICAgIHJldHVybiBDcmVhdGVGaWxlKHBhdGguY2hhcmFjdGVycygpLCBkZXNpcmVkQWNjZXNz
LCAwLCAwLCBjcmVhdGlvbkRpc3Bvc2l0aW9uLCBGSUxFX0FUVFJJQlVURV9OT1JNQUwsIDApOwor
fQorCiB2b2lkIGNsb3NlRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUmIGhhbmRsZSkKIHsKICAgICBp
ZiAoaXNIYW5kbGVWYWxpZChoYW5kbGUpKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>