<?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>95485</bug_id>
          
          <creation_ts>2012-08-30 11:46:53 -0700</creation_ts>
          <short_desc>[chromium] Add a copy() method to CCRenderPass</short_desc>
          <delta_ts>2012-09-06 02:48:23 -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>
          
          <blocked>94145</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dana Jansens">danakj</reporter>
          <assigned_to name="Dana Jansens">danakj</assigned_to>
          <cc>aelias</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>piman</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wjmaclean</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>708877</commentid>
    <comment_count>0</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-08-30 11:46:53 -0700</bug_when>
    <thetext>[chromium] Add a copy() method to CCRenderPass</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708878</commentid>
    <comment_count>1</comment_count>
      <attachid>161525</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-08-30 11:47:58 -0700</bug_when>
    <thetext>Created attachment 161525
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708887</commentid>
    <comment_count>2</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2012-08-30 12:07:35 -0700</bug_when>
    <thetext>I&apos;m wondering if these copy methods are really needed?  In the child, the pickler can take references to the objects and then serialize them into a byte blob.  In the parent, it can populate objects from the byte blob.  Where does copying a CCRenderPass into another CCRenderPass come in?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708929</commentid>
    <comment_count>3</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-08-30 12:57:15 -0700</bug_when>
    <thetext>The DelegatedRendererLayer has a set of RenderPasses. It needs to copy them into the FrameData&apos;s set of RenderPasses in order to have them be part of the frame. (It&apos;s unrelated to IPC)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708931</commentid>
    <comment_count>4</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2012-08-30 13:01:26 -0700</bug_when>
    <thetext>What if the DelegatedRendererLayer held a FrameData in the first place?  Seems we should be able to come up with some ownership model that avoids copying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708937</commentid>
    <comment_count>5</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-08-30 13:04:55 -0700</bug_when>
    <thetext>It still has to copy from its own FrameData into the CCLTHI&apos;s FrameData.

You can do it without copying certainly but it complicates the code some. Currently CCLTHI::FrameData::renderPassedById owns all the renderPasses in the frame. Then suddenly it could only own some, with some DelegatedRendererLayer (DRL) owning others.

Also it complicates updating the DRL. If it gets a new set of RenderPasses now it has to keep its old RenderPasses alive until the frame is done with them.

As enne put it to me, other layers create quads/renderPasses every frame, so I don&apos;t think a copy is going to be bad here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708955</commentid>
    <comment_count>6</comment_count>
      <attachid>161538</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-08-30 13:21:10 -0700</bug_when>
    <thetext>Created attachment 161538
Patch

Make the copy() test fail when a new field is added to CCRenderPass without some user intervention in a cross-platform way. And verify that quads are not copied.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708959</commentid>
    <comment_count>7</comment_count>
      <attachid>161539</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-08-30 13:22:17 -0700</bug_when>
    <thetext>Created attachment 161539
Patch

fix changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708966</commentid>
    <comment_count>8</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-08-30 13:27:56 -0700</bug_when>
    <thetext>To further discuss copying, it&apos;s more complicated for quads as well. A renderPass owns quads. But the quads in the root renderPass within the DRL need to be merged into the targetRenderPass for the layer. So they would need to be unowned by the DRL, owned by the targetRenderPass, then given back to the DRL after the frame was done... copying is so much simpler in this case. And I think using the same ownership model for quads in non-root render passes within DRL will make our lives much easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709011</commentid>
    <comment_count>9</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2012-08-30 14:01:32 -0700</bug_when>
    <thetext>OK, sounds good, thanks for explaining.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712445</commentid>
    <comment_count>10</comment_count>
      <attachid>162312</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-09-05 12:59:01 -0700</bug_when>
    <thetext>Created attachment 162312
Patch

rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712498</commentid>
    <comment_count>11</comment_count>
      <attachid>162312</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-09-05 13:51:06 -0700</bug_when>
    <thetext>Comment on attachment 162312
Patch

R=me.

aelias: I had the same mental balking about the extra copying, but I&apos;m willing to take the software complexity vs. execution time tradeoff in the short term until we figure out that it&apos;s too slow.  That being said, there&apos;s probably simpler optimizations to decrease copying and number of allocations than changing the ownership model, in my opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712508</commentid>
    <comment_count>12</comment_count>
      <attachid>162326</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-09-05 13:57:29 -0700</bug_when>
    <thetext>Created attachment 162326
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713086</commentid>
    <comment_count>13</comment_count>
      <attachid>162326</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-06 02:48:19 -0700</bug_when>
    <thetext>Comment on attachment 162326
Patch for landing

Clearing flags on attachment: 162326

Committed r127715: &lt;http://trac.webkit.org/changeset/127715&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>713087</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-06 02:48:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161525</attachid>
            <date>2012-08-30 11:47:58 -0700</date>
            <delta_ts>2012-08-30 13:21:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95485-20120830144746.patch</filename>
            <type>text/plain</type>
            <size>8320</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ4OTBjNTY5MWRkYmVl
Y2U4NTJlMDdiMmViMjA4YWI1MjFiM2U4My4uY2Y5MzY1ZTM1Y2ZiMGFiMzIyMmRhNzAzMTVjMGIw
NmExYTFhMzQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA4LTMwICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRk
IGEgY29weSgpIG1ldGhvZCB0byBDQ1JlbmRlclBhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtZXRob2QgYWxsb3dzIHRoZSB1YmVyY29tcCBs
YXllciB0byBtYWtlIGEgY2xvbmUgb2YgaXRzIGRlbGVnYXRlZAorICAgICAgICBSZW5kZXJQYXNz
ZXMgdG8gaW5zZXJ0IGludG8gdGhlIGN1cnJlbnQgZnJhbWUuCisKKyAgICAgICAgVGVzdHM6IEND
UmVuZGVyUGFzc1Rlc3QuY29weVNob3VsZEJlSWRlbnRpY2FsRXhjZXB0SWQKKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDQ1JlbmRlclBhc3M6OmNvcHkpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmg6CisgICAg
ICAgIChDQ1JlbmRlclBhc3MpOgorCiAyMDEyLTA4LTI5ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2
aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEV4dHJhY3QgU3R5bGVz
U291cmNlTWFwcGluZyBmcm9tIFN0eWxlc1VJU291cmNlQ29kZVByb3ZpZGVyLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwppbmRleCA0ZmVlYWM5MzYzMTAwZTJjYjFkZjMzMTMwZjU1YmQ5MmY3NTAw
NzkwLi40YWNiY2YyNDA3ODlhOGVmYTk3ODhkOTUxMTE1YTljM2U3OGYwNDYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA4LTMwICBEYW5hIEphbnNl
bnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkIGEgY29w
eSgpIG1ldGhvZCB0byBDQ1JlbmRlclBhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk1NDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwaToKKyAgICAgICAgKiB0ZXN0cy9DQ1JlbmRl
clBhc3NUZXN0LmNwcDogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAxMi0wOC0yOSAgUGV0
ZXIgQmV2ZXJsb28gIDxwZXRlckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4g
IFJvbGxlZCBERVBTLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHAKaW5kZXggYzhjMzMzZTM2OTQ3
MjRhYjhmODY5MjVkZWFiMjEzYmRiMjc1MjhiYy4uYjFlMzE2MjNjMjgyYjUwZjg5MzM4YzQ3Y2Zk
NDA2ZWU3MjIwY2M1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwCkBAIC01Myw2ICs1Mywx
OSBAQCBDQ1JlbmRlclBhc3M6OkNDUmVuZGVyUGFzcyhpbnQgaWQsIEludFJlY3Qgb3V0cHV0UmVj
dCwgY29uc3QgV2ViS2l0OjpXZWJUcmFuc2ZvcgogICAgIEFTU0VSVChpZCA+IDApOwogfQogCitQ
YXNzT3duUHRyPENDUmVuZGVyUGFzcz4gQ0NSZW5kZXJQYXNzOjpjb3B5KGludCBuZXdJZCkgY29u
c3QKK3sKKyAgICBBU1NFUlQobmV3SWQgIT0gbV9pZCk7CisKKyAgICBPd25QdHI8Q0NSZW5kZXJQ
YXNzPiBjb3B5UGFzcyhjcmVhdGUobmV3SWQsIG1fb3V0cHV0UmVjdCwgbV90cmFuc2Zvcm1Ub1Jv
b3RUYXJnZXQpKTsKKyAgICBjb3B5UGFzcy0+c2V0RGFtYWdlUmVjdChtX2RhbWFnZVJlY3QpOwor
ICAgIGNvcHlQYXNzLT5zZXRIYXNUcmFuc3BhcmVudEJhY2tncm91bmQobV9oYXNUcmFuc3BhcmVu
dEJhY2tncm91bmQpOworICAgIGNvcHlQYXNzLT5zZXRIYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRh
cmdldFN1cmZhY2UobV9oYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZhY2UpOworICAg
IGNvcHlQYXNzLT5zZXRGaWx0ZXJzKG1fZmlsdGVycyk7CisgICAgY29weVBhc3MtPnNldEJhY2tn
cm91bmRGaWx0ZXJzKG1fYmFja2dyb3VuZEZpbHRlcnMpOworICAgIHJldHVybiBjb3B5UGFzcy5y
ZWxlYXNlKCk7Cit9CisKIHZvaWQgQ0NSZW5kZXJQYXNzOjphcHBlbmRRdWFkc0ZvckxheWVyKEND
TGF5ZXJJbXBsKiBsYXllciwgQ0NPY2NsdXNpb25UcmFja2VySW1wbCogb2NjbHVzaW9uVHJhY2tl
ciwgQ0NBcHBlbmRRdWFkc0RhdGEmIGFwcGVuZFF1YWRzRGF0YSkKIHsKICAgICBjb25zdCBib29s
IGZvclN1cmZhY2UgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKaW5kZXggOWViZWQxYmQ1
ZGU4ZjBhZGNlZTViMjlkNzYwNzJlNzU2ODMxYWViMC4uNDBlZjIxMjgyNDdkMjZlNmI5OWZjZTRh
ZGUzZmM4MDQ0OTA4NmJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKQEAgLTYyLDYgKzYyLDkg
QEAgY2xhc3MgQ0NSZW5kZXJQYXNzIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxD
Q1JlbmRlclBhc3M+IGNyZWF0ZShpbnQgaWQsIEludFJlY3Qgb3V0cHV0UmVjdCwgY29uc3QgV2Vi
S2l0OjpXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtVG9Sb290VGFyZ2V0KTsKIAor
ICAgIC8vIEEgc2hhbGxvdyBjb3B5IG9mIHRoZSByZW5kZXIgcGFzcywgd2hpY2ggZG9lcyBub3Qg
aW5jbHVkZSBpdHMgcXVhZHMuCisgICAgUGFzc093blB0cjxDQ1JlbmRlclBhc3M+IGNvcHkoaW50
IG5ld0lkKSBjb25zdDsKKwogICAgIHZvaWQgYXBwZW5kUXVhZHNGb3JMYXllcihDQ0xheWVySW1w
bCosIENDT2NjbHVzaW9uVHJhY2tlckltcGwqLCBDQ0FwcGVuZFF1YWRzRGF0YSYpOwogICAgIHZv
aWQgYXBwZW5kUXVhZHNGb3JSZW5kZXJTdXJmYWNlTGF5ZXIoQ0NMYXllckltcGwqLCBjb25zdCBD
Q1JlbmRlclBhc3MqIGNvbnRyaWJ1dGluZ1JlbmRlclBhc3MsIENDT2NjbHVzaW9uVHJhY2tlcklt
cGwqLCBDQ0FwcGVuZFF1YWRzRGF0YSYpOwogICAgIHZvaWQgYXBwZW5kUXVhZHNUb0ZpbGxTY3Jl
ZW4oQ0NMYXllckltcGwqIHJvb3RMYXllciwgU2tDb2xvciBzY3JlZW5CYWNrZ3JvdW5kQ29sb3Is
IGNvbnN0IENDT2NjbHVzaW9uVHJhY2tlckltcGwmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXBpCmluZGV4IGI3ZTQyOGI0MTdlOGY1YjZhODg5NzBiYzQ1MjVlM2IxNTk3YzU4MDguLmUxMDIy
ZGQ4ODk3NDY1OWUyNDljNTg3YTZkYTFhZjc5ZjhjYWE0YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9X
ZWJLaXQuZ3lwaQpAQCAtNzksNiArNzksNyBAQAogICAgICAgICAgICAgJ3Rlc3RzL0NDT2NjbHVz
aW9uVHJhY2tlclRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9DQ09jY2x1c2lvblRyYWNr
ZXJUZXN0Q29tbW9uLmgnLAogICAgICAgICAgICAgJ3Rlc3RzL0NDUXVhZEN1bGxlclRlc3QuY3Bw
JywKKyAgICAgICAgICAgICd0ZXN0cy9DQ1JlbmRlclBhc3NUZXN0LmNwcCcsCiAgICAgICAgICAg
ICAndGVzdHMvQ0NSZW5kZXJTdXJmYWNlRmlsdGVyc1Rlc3QuY3BwJywKICAgICAgICAgICAgICd0
ZXN0cy9DQ1JlbmRlclN1cmZhY2VUZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvQ0NSZXNv
dXJjZVByb3ZpZGVyVGVzdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ1JlbmRlclBhc3NUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NSZW5kZXJQYXNzVGVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWM4YmY3MjJlMjUzNGQ4ZmI0N2E3
OTIxMGUyMGU0NDJmMmJmODQ3NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvQ0NSZW5kZXJQYXNzVGVzdC5jcHAKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiQ0NSZW5kZXJQYXNzLmgi
CisKKyNpbmNsdWRlICJDQ0xheWVyVHJlZVRlc3RDb21tb24uaCIKKyNpbmNsdWRlIDxndGVzdC9n
dGVzdC5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWx0ZXJPcGVyYXRpb25zLmg+CisjaW5jbHVk
ZSA8cHVibGljL1dlYlRyYW5zZm9ybWF0aW9uTWF0cml4Lmg+CisKK3VzaW5nIFdlYktpdDo6V2Vi
RmlsdGVyT3BlcmF0aW9uOwordXNpbmcgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zOwordXNp
bmcgV2ViS2l0OjpXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeDsKKwordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CisKK25hbWVzcGFjZSB7CisKK1RFU1QoQ0NSZW5kZXJQYXNzVGVzdCwgY29weVNob3Vs
ZEJlSWRlbnRpY2FsRXhjZXB0SWQpCit7CisgICAgaW50IGlkID0gMzsKKyAgICBJbnRSZWN0IG91
dHB1dFJlY3QoNDUsIDIyLCAxMjAsIDEzKTsKKyAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0
cmFuc2Zvcm1Ub1Jvb3QoMSwgMC41LCAwLjUsIC0wLjUsIC0xLCAwKTsKKworICAgIE93blB0cjxD
Q1JlbmRlclBhc3M+IHBhc3MoQ0NSZW5kZXJQYXNzOjpjcmVhdGUoaWQsIG91dHB1dFJlY3QsIHRy
YW5zZm9ybVRvUm9vdCkpOworCisgICAgSW50UmVjdCBkYW1hZ2VSZWN0KDU2LCAxMjMsIDE5LCA0
Myk7CisgICAgYm9vbCBoYXNUcmFuc3BhcmVudEJhY2tncm91bmQgPSB0cnVlOworICAgIGJvb2wg
aGFzT2NjbHVzaW9uRnJvbU91dHNpZGVUYXJnZXRTdXJmYWNlID0gdHJ1ZTsKKyAgICBXZWJGaWx0
ZXJPcGVyYXRpb25zIGZpbHRlcnM7CisgICAgV2ViRmlsdGVyT3BlcmF0aW9ucyBiYWNrZ3JvdW5k
RmlsdGVyczsKKworICAgIGZpbHRlcnMuYXBwZW5kKFdlYkZpbHRlck9wZXJhdGlvbjo6Y3JlYXRl
R3JheXNjYWxlRmlsdGVyKDAuMikpOworICAgIGJhY2tncm91bmRGaWx0ZXJzLmFwcGVuZChXZWJG
aWx0ZXJPcGVyYXRpb246OmNyZWF0ZUludmVydEZpbHRlcigwLjIpKTsKKworICAgIHBhc3MtPnNl
dERhbWFnZVJlY3QoZGFtYWdlUmVjdCk7CisgICAgcGFzcy0+c2V0SGFzVHJhbnNwYXJlbnRCYWNr
Z3JvdW5kKGhhc1RyYW5zcGFyZW50QmFja2dyb3VuZCk7CisgICAgcGFzcy0+c2V0SGFzT2NjbHVz
aW9uRnJvbU91dHNpZGVUYXJnZXRTdXJmYWNlKGhhc09jY2x1c2lvbkZyb21PdXRzaWRlVGFyZ2V0
U3VyZmFjZSk7CisgICAgcGFzcy0+c2V0RmlsdGVycyhmaWx0ZXJzKTsKKyAgICBwYXNzLT5zZXRC
YWNrZ3JvdW5kRmlsdGVycyhiYWNrZ3JvdW5kRmlsdGVycyk7CisKKyAgICBpbnQgbmV3SWQgPSA2
MzsKKworICAgIE93blB0cjxDQ1JlbmRlclBhc3M+IGNvcHkocGFzcy0+Y29weShuZXdJZCkpOwor
ICAgIEVYUEVDVF9FUShuZXdJZCwgY29weS0+aWQoKSk7CisgICAgRVhQRUNUX0VRKHBhc3MtPm91
dHB1dFJlY3QoKSwgY29weS0+b3V0cHV0UmVjdCgpKTsKKyAgICBFWFBFQ1RfRVEocGFzcy0+dHJh
bnNmb3JtVG9Sb290VGFyZ2V0KCksIGNvcHktPnRyYW5zZm9ybVRvUm9vdFRhcmdldCgpKTsKKyAg
ICBFWFBFQ1RfRVEocGFzcy0+ZGFtYWdlUmVjdCgpLCBjb3B5LT5kYW1hZ2VSZWN0KCkpOworICAg
IEVYUEVDVF9FUShwYXNzLT5oYXNUcmFuc3BhcmVudEJhY2tncm91bmQoKSwgY29weS0+aGFzVHJh
bnNwYXJlbnRCYWNrZ3JvdW5kKCkpOworICAgIEVYUEVDVF9FUShwYXNzLT5oYXNPY2NsdXNpb25G
cm9tT3V0c2lkZVRhcmdldFN1cmZhY2UoKSwgY29weS0+aGFzT2NjbHVzaW9uRnJvbU91dHNpZGVU
YXJnZXRTdXJmYWNlKCkpOworICAgIEVYUEVDVF9FUShwYXNzLT5maWx0ZXJzKCksIGNvcHktPmZp
bHRlcnMoKSk7CisgICAgRVhQRUNUX0VRKHBhc3MtPmJhY2tncm91bmRGaWx0ZXJzKCksIGNvcHkt
PmJhY2tncm91bmRGaWx0ZXJzKCkpOworCisgICAgLy8gSWYgeW91IGFkZGVkIG5ldyBmaWVsZHMg
dG8gdGhlIENDUmVuZGVyUGFzcyBjbGFzcywgbWFrZSBzdXJlIHlvdSB0ZXN0IHRoZW0gYWJvdmUu
CisgICAgc2l6ZV90IHJlbmRlclBhc3NCeXRlcyA9IDI0MDsKKyAgICBFWFBFQ1RfRVEocmVuZGVy
UGFzc0J5dGVzLCBzaXplb2YoQ0NSZW5kZXJQYXNzKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161538</attachid>
            <date>2012-08-30 13:21:10 -0700</date>
            <delta_ts>2012-08-30 13:22:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95485-20120830162059.patch</filename>
            <type>text/plain</type>
            <size>9406</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ4OTBjNTY5MWRkYmVl
Y2U4NTJlMDdiMmViMjA4YWI1MjFiM2U4My4uY2Y5MzY1ZTM1Y2ZiMGFiMzIyMmRhNzAzMTVjMGIw
NmExYTFhMzQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA4LTMwICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRk
IGEgY29weSgpIG1ldGhvZCB0byBDQ1JlbmRlclBhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtZXRob2QgYWxsb3dzIHRoZSB1YmVyY29tcCBs
YXllciB0byBtYWtlIGEgY2xvbmUgb2YgaXRzIGRlbGVnYXRlZAorICAgICAgICBSZW5kZXJQYXNz
ZXMgdG8gaW5zZXJ0IGludG8gdGhlIGN1cnJlbnQgZnJhbWUuCisKKyAgICAgICAgVGVzdHM6IEND
UmVuZGVyUGFzc1Rlc3QuY29weVNob3VsZEJlSWRlbnRpY2FsRXhjZXB0SWQKKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDQ1JlbmRlclBhc3M6OmNvcHkpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmg6CisgICAg
ICAgIChDQ1JlbmRlclBhc3MpOgorCiAyMDEyLTA4LTI5ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2
aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEV4dHJhY3QgU3R5bGVz
U291cmNlTWFwcGluZyBmcm9tIFN0eWxlc1VJU291cmNlQ29kZVByb3ZpZGVyLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwppbmRleCA0ZmVlYWM5MzYzMTAwZTJjYjFkZjMzMTMwZjU1YmQ5MmY3NTAw
NzkwLi40YWNiY2YyNDA3ODlhOGVmYTk3ODhkOTUxMTE1YTljM2U3OGYwNDYzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA4LTMwICBEYW5hIEphbnNl
bnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkIGEgY29w
eSgpIG1ldGhvZCB0byBDQ1JlbmRlclBhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTk1NDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwaToKKyAgICAgICAgKiB0ZXN0cy9DQ1JlbmRl
clBhc3NUZXN0LmNwcDogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAxMi0wOC0yOSAgUGV0
ZXIgQmV2ZXJsb28gIDxwZXRlckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4g
IFJvbGxlZCBERVBTLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHAKaW5kZXggYzhjMzMzZTM2OTQ3
MjRhYjhmODY5MjVkZWFiMjEzYmRiMjc1MjhiYy4uYjFlMzE2MjNjMjgyYjUwZjg5MzM4YzQ3Y2Zk
NDA2ZWU3MjIwY2M1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwCkBAIC01Myw2ICs1Mywx
OSBAQCBDQ1JlbmRlclBhc3M6OkNDUmVuZGVyUGFzcyhpbnQgaWQsIEludFJlY3Qgb3V0cHV0UmVj
dCwgY29uc3QgV2ViS2l0OjpXZWJUcmFuc2ZvcgogICAgIEFTU0VSVChpZCA+IDApOwogfQogCitQ
YXNzT3duUHRyPENDUmVuZGVyUGFzcz4gQ0NSZW5kZXJQYXNzOjpjb3B5KGludCBuZXdJZCkgY29u
c3QKK3sKKyAgICBBU1NFUlQobmV3SWQgIT0gbV9pZCk7CisKKyAgICBPd25QdHI8Q0NSZW5kZXJQ
YXNzPiBjb3B5UGFzcyhjcmVhdGUobmV3SWQsIG1fb3V0cHV0UmVjdCwgbV90cmFuc2Zvcm1Ub1Jv
b3RUYXJnZXQpKTsKKyAgICBjb3B5UGFzcy0+c2V0RGFtYWdlUmVjdChtX2RhbWFnZVJlY3QpOwor
ICAgIGNvcHlQYXNzLT5zZXRIYXNUcmFuc3BhcmVudEJhY2tncm91bmQobV9oYXNUcmFuc3BhcmVu
dEJhY2tncm91bmQpOworICAgIGNvcHlQYXNzLT5zZXRIYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRh
cmdldFN1cmZhY2UobV9oYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZhY2UpOworICAg
IGNvcHlQYXNzLT5zZXRGaWx0ZXJzKG1fZmlsdGVycyk7CisgICAgY29weVBhc3MtPnNldEJhY2tn
cm91bmRGaWx0ZXJzKG1fYmFja2dyb3VuZEZpbHRlcnMpOworICAgIHJldHVybiBjb3B5UGFzcy5y
ZWxlYXNlKCk7Cit9CisKIHZvaWQgQ0NSZW5kZXJQYXNzOjphcHBlbmRRdWFkc0ZvckxheWVyKEND
TGF5ZXJJbXBsKiBsYXllciwgQ0NPY2NsdXNpb25UcmFja2VySW1wbCogb2NjbHVzaW9uVHJhY2tl
ciwgQ0NBcHBlbmRRdWFkc0RhdGEmIGFwcGVuZFF1YWRzRGF0YSkKIHsKICAgICBjb25zdCBib29s
IGZvclN1cmZhY2UgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKaW5kZXggOWViZWQxYmQ1
ZGU4ZjBhZGNlZTViMjlkNzYwNzJlNzU2ODMxYWViMC4uNDBlZjIxMjgyNDdkMjZlNmI5OWZjZTRh
ZGUzZmM4MDQ0OTA4NmJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmgKQEAgLTYyLDYgKzYyLDkg
QEAgY2xhc3MgQ0NSZW5kZXJQYXNzIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxD
Q1JlbmRlclBhc3M+IGNyZWF0ZShpbnQgaWQsIEludFJlY3Qgb3V0cHV0UmVjdCwgY29uc3QgV2Vi
S2l0OjpXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtVG9Sb290VGFyZ2V0KTsKIAor
ICAgIC8vIEEgc2hhbGxvdyBjb3B5IG9mIHRoZSByZW5kZXIgcGFzcywgd2hpY2ggZG9lcyBub3Qg
aW5jbHVkZSBpdHMgcXVhZHMuCisgICAgUGFzc093blB0cjxDQ1JlbmRlclBhc3M+IGNvcHkoaW50
IG5ld0lkKSBjb25zdDsKKwogICAgIHZvaWQgYXBwZW5kUXVhZHNGb3JMYXllcihDQ0xheWVySW1w
bCosIENDT2NjbHVzaW9uVHJhY2tlckltcGwqLCBDQ0FwcGVuZFF1YWRzRGF0YSYpOwogICAgIHZv
aWQgYXBwZW5kUXVhZHNGb3JSZW5kZXJTdXJmYWNlTGF5ZXIoQ0NMYXllckltcGwqLCBjb25zdCBD
Q1JlbmRlclBhc3MqIGNvbnRyaWJ1dGluZ1JlbmRlclBhc3MsIENDT2NjbHVzaW9uVHJhY2tlcklt
cGwqLCBDQ0FwcGVuZFF1YWRzRGF0YSYpOwogICAgIHZvaWQgYXBwZW5kUXVhZHNUb0ZpbGxTY3Jl
ZW4oQ0NMYXllckltcGwqIHJvb3RMYXllciwgU2tDb2xvciBzY3JlZW5CYWNrZ3JvdW5kQ29sb3Is
IGNvbnN0IENDT2NjbHVzaW9uVHJhY2tlckltcGwmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXBpCmluZGV4IGI3ZTQyOGI0MTdlOGY1YjZhODg5NzBiYzQ1MjVlM2IxNTk3YzU4MDguLmUxMDIy
ZGQ4ODk3NDY1OWUyNDljNTg3YTZkYTFhZjc5ZjhjYWE0YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9X
ZWJLaXQuZ3lwaQpAQCAtNzksNiArNzksNyBAQAogICAgICAgICAgICAgJ3Rlc3RzL0NDT2NjbHVz
aW9uVHJhY2tlclRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9DQ09jY2x1c2lvblRyYWNr
ZXJUZXN0Q29tbW9uLmgnLAogICAgICAgICAgICAgJ3Rlc3RzL0NDUXVhZEN1bGxlclRlc3QuY3Bw
JywKKyAgICAgICAgICAgICd0ZXN0cy9DQ1JlbmRlclBhc3NUZXN0LmNwcCcsCiAgICAgICAgICAg
ICAndGVzdHMvQ0NSZW5kZXJTdXJmYWNlRmlsdGVyc1Rlc3QuY3BwJywKICAgICAgICAgICAgICd0
ZXN0cy9DQ1JlbmRlclN1cmZhY2VUZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvQ0NSZXNv
dXJjZVByb3ZpZGVyVGVzdC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ1JlbmRlclBhc3NUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NSZW5kZXJQYXNzVGVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzk3ZDQxMDU3YmU1YTQxYjJmNmY2
ODM5MGY2ODY0ZDViZDc5YzBhYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvQ0NSZW5kZXJQYXNzVGVzdC5jcHAKQEAgLTAsMCArMSwxMDcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIkNDUmVuZGVyUGFzcy5o
IgorCisjaW5jbHVkZSAiQ0NDaGVja2VyYm9hcmREcmF3UXVhZC5oIgorI2luY2x1ZGUgIkNDTGF5
ZXJUcmVlVGVzdENvbW1vbi5oIgorI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisjaW5jbHVkZSA8
cHVibGljL1dlYkZpbHRlck9wZXJhdGlvbnMuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViVHJhbnNm
b3JtYXRpb25NYXRyaXguaD4KKwordXNpbmcgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb247Cit1
c2luZyBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnM7Cit1c2luZyBXZWJLaXQ6OldlYlRyYW5z
Zm9ybWF0aW9uTWF0cml4OworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNl
IHsKKworY2xhc3MgQ0NUZXN0UmVuZGVyUGFzcyA6IHB1YmxpYyBDQ1JlbmRlclBhc3MgeworcHVi
bGljOgorICAgIENDUXVhZExpc3QmIHF1YWRMaXN0KCkgeyByZXR1cm4gbV9xdWFkTGlzdDsgfQor
ICAgIENDU2hhcmVkUXVhZFN0YXRlTGlzdCYgc2hhcmVkUXVhZFN0YXRlTGlzdCgpIHsgcmV0dXJu
IG1fc2hhcmVkUXVhZFN0YXRlTGlzdDsgfQorfTsKKworc3RydWN0IENDUmVuZGVyUGFzc1NpemUg
eworICAgIC8vIElmIHlvdSBhZGQgYSBuZXcgZmllbGQgdG8gdGhpcyBjbGFzcywgbWFrZSBzdXJl
IHRvIGFkZCBpdCB0byB0aGUgY29weSgpIHRlc3RzLgorICAgIGludCBtX2lkOworICAgIENDUXVh
ZExpc3QgbV9xdWFkTGlzdDsKKyAgICBDQ1NoYXJlZFF1YWRTdGF0ZUxpc3QgbV9zaGFyZWRRdWFk
U3RhdGVMaXN0OworICAgIFdlYktpdDo6V2ViVHJhbnNmb3JtYXRpb25NYXRyaXggbV90cmFuc2Zv
cm1Ub1Jvb3RUYXJnZXQ7CisgICAgSW50UmVjdCBtX291dHB1dFJlY3Q7CisgICAgRmxvYXRSZWN0
IG1fZGFtYWdlUmVjdDsKKyAgICBib29sIG1faGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kOworICAg
IGJvb2wgbV9oYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZhY2U7CisgICAgV2ViS2l0
OjpXZWJGaWx0ZXJPcGVyYXRpb25zIG1fZmlsdGVyczsKKyAgICBXZWJLaXQ6OldlYkZpbHRlck9w
ZXJhdGlvbnMgbV9iYWNrZ3JvdW5kRmlsdGVyczsKK307CisKK1RFU1QoQ0NSZW5kZXJQYXNzVGVz
dCwgY29weVNob3VsZEJlSWRlbnRpY2FsRXhjZXB0SWRBbmRRdWFkcykKK3sKKyAgICBpbnQgaWQg
PSAzOworICAgIEludFJlY3Qgb3V0cHV0UmVjdCg0NSwgMjIsIDEyMCwgMTMpOworICAgIFdlYlRy
YW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9ybVRvUm9vdCgxLCAwLjUsIDAuNSwgLTAuNSwgLTEs
IDApOworCisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gcGFzcyhDQ1JlbmRlclBhc3M6OmNyZWF0
ZShpZCwgb3V0cHV0UmVjdCwgdHJhbnNmb3JtVG9Sb290KSk7CisKKyAgICBJbnRSZWN0IGRhbWFn
ZVJlY3QoNTYsIDEyMywgMTksIDQzKTsKKyAgICBib29sIGhhc1RyYW5zcGFyZW50QmFja2dyb3Vu
ZCA9IHRydWU7CisgICAgYm9vbCBoYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZhY2Ug
PSB0cnVlOworICAgIFdlYkZpbHRlck9wZXJhdGlvbnMgZmlsdGVyczsKKyAgICBXZWJGaWx0ZXJP
cGVyYXRpb25zIGJhY2tncm91bmRGaWx0ZXJzOworCisgICAgZmlsdGVycy5hcHBlbmQoV2ViRmls
dGVyT3BlcmF0aW9uOjpjcmVhdGVHcmF5c2NhbGVGaWx0ZXIoMC4yKSk7CisgICAgYmFja2dyb3Vu
ZEZpbHRlcnMuYXBwZW5kKFdlYkZpbHRlck9wZXJhdGlvbjo6Y3JlYXRlSW52ZXJ0RmlsdGVyKDAu
MikpOworCisgICAgcGFzcy0+c2V0RGFtYWdlUmVjdChkYW1hZ2VSZWN0KTsKKyAgICBwYXNzLT5z
ZXRIYXNUcmFuc3BhcmVudEJhY2tncm91bmQoaGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKTsKKyAg
ICBwYXNzLT5zZXRIYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZhY2UoaGFzT2NjbHVz
aW9uRnJvbU91dHNpZGVUYXJnZXRTdXJmYWNlKTsKKyAgICBwYXNzLT5zZXRGaWx0ZXJzKGZpbHRl
cnMpOworICAgIHBhc3MtPnNldEJhY2tncm91bmRGaWx0ZXJzKGJhY2tncm91bmRGaWx0ZXJzKTsK
KworICAgIC8vIFN0aWNrIGEgcXVhZCBpbiB0aGUgcGFzcywgdGhpcyBzaG91bGQgbm90IGdldCBj
b3BpZWQuCisgICAgQ0NUZXN0UmVuZGVyUGFzcyogdGVzdFBhc3MgPSBzdGF0aWNfY2FzdDxDQ1Rl
c3RSZW5kZXJQYXNzKj4ocGFzcy5nZXQoKSk7CisgICAgdGVzdFBhc3MtPnNoYXJlZFF1YWRTdGF0
ZUxpc3QoKS5hcHBlbmQoQ0NTaGFyZWRRdWFkU3RhdGU6OmNyZWF0ZShXZWJUcmFuc2Zvcm1hdGlv
bk1hdHJpeCgpLCBJbnRSZWN0KCksIEludFJlY3QoKSwgMSwgZmFsc2UpKTsKKyAgICB0ZXN0UGFz
cy0+cXVhZExpc3QoKS5hcHBlbmQoQ0NDaGVja2VyYm9hcmREcmF3UXVhZDo6Y3JlYXRlKHRlc3RQ
YXNzLT5zaGFyZWRRdWFkU3RhdGVMaXN0KCkubGFzdCgpLmdldCgpLCBJbnRSZWN0KCkpKTsKKwor
ICAgIGludCBuZXdJZCA9IDYzOworCisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gY29weShwYXNz
LT5jb3B5KG5ld0lkKSk7CisgICAgRVhQRUNUX0VRKG5ld0lkLCBjb3B5LT5pZCgpKTsKKyAgICBF
WFBFQ1RfRVEocGFzcy0+b3V0cHV0UmVjdCgpLCBjb3B5LT5vdXRwdXRSZWN0KCkpOworICAgIEVY
UEVDVF9FUShwYXNzLT50cmFuc2Zvcm1Ub1Jvb3RUYXJnZXQoKSwgY29weS0+dHJhbnNmb3JtVG9S
b290VGFyZ2V0KCkpOworICAgIEVYUEVDVF9FUShwYXNzLT5kYW1hZ2VSZWN0KCksIGNvcHktPmRh
bWFnZVJlY3QoKSk7CisgICAgRVhQRUNUX0VRKHBhc3MtPmhhc1RyYW5zcGFyZW50QmFja2dyb3Vu
ZCgpLCBjb3B5LT5oYXNUcmFuc3BhcmVudEJhY2tncm91bmQoKSk7CisgICAgRVhQRUNUX0VRKHBh
c3MtPmhhc09jY2x1c2lvbkZyb21PdXRzaWRlVGFyZ2V0U3VyZmFjZSgpLCBjb3B5LT5oYXNPY2Ns
dXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZhY2UoKSk7CisgICAgRVhQRUNUX0VRKHBhc3MtPmZp
bHRlcnMoKSwgY29weS0+ZmlsdGVycygpKTsKKyAgICBFWFBFQ1RfRVEocGFzcy0+YmFja2dyb3Vu
ZEZpbHRlcnMoKSwgY29weS0+YmFja2dyb3VuZEZpbHRlcnMoKSk7CisgICAgRVhQRUNUX0VRKDB1
LCBjb3B5LT5xdWFkTGlzdCgpLnNpemUoKSk7CisKKyAgICBFWFBFQ1RfRVEoc2l6ZW9mKENDUmVu
ZGVyUGFzc1NpemUpLCBzaXplb2YoQ0NSZW5kZXJQYXNzKSk7Cit9CisKK30gLy8gbmFtZXNwYWNl
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161539</attachid>
            <date>2012-08-30 13:22:17 -0700</date>
            <delta_ts>2012-09-05 12:58:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95485-20120830162205.patch</filename>
            <type>text/plain</type>
            <size>9414</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ4OTBjNTY5MWRkYmVl
Y2U4NTJlMDdiMmViMjA4YWI1MjFiM2U4My4uYWU5Y2MwODlmOTQyYjZkMWNkYzQxNDNjMzY2ZGY2
NDU2ZDkwZWU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA4LTMwICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRk
IGEgY29weSgpIG1ldGhvZCB0byBDQ1JlbmRlclBhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtZXRob2QgYWxsb3dzIHRoZSB1YmVyY29tcCBs
YXllciB0byBtYWtlIGEgY2xvbmUgb2YgaXRzIGRlbGVnYXRlZAorICAgICAgICBSZW5kZXJQYXNz
ZXMgdG8gaW5zZXJ0IGludG8gdGhlIGN1cnJlbnQgZnJhbWUuCisKKyAgICAgICAgVGVzdHM6IEND
UmVuZGVyUGFzc1Rlc3QuY29weVNob3VsZEJlSWRlbnRpY2FsRXhjZXB0SWRBbmRRdWFkcworCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyUGFzczo6Y29weSk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3Mu
aDoKKyAgICAgICAgKENDUmVuZGVyUGFzcyk6CisKIDIwMTItMDgtMjkgIFZzZXZvbG9kIFZsYXNv
diAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRXh0cmFj
dCBTdHlsZXNTb3VyY2VNYXBwaW5nIGZyb20gU3R5bGVzVUlTb3VyY2VDb2RlUHJvdmlkZXIuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDRmZWVhYzkzNjMxMDBlMmNiMWRmMzMxMzBmNTVi
ZDkyZjc1MDA3OTAuLjRhY2JjZjI0MDc4OWE4ZWZhOTc4OGQ5NTExMTVhOWMzZTc4ZjA0NjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDgtMzAgIERh
bmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBB
ZGQgYSBjb3B5KCkgbWV0aG9kIHRvIENDUmVuZGVyUGFzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU0ODUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdC5neXBpOgorICAgICAgICAqIHRlc3Rz
L0NDUmVuZGVyUGFzc1Rlc3QuY3BwOiBBZGRlZC4KKyAgICAgICAgKFRFU1QpOgorCiAyMDEyLTA4
LTI5ICBQZXRlciBCZXZlcmxvbyAgPHBldGVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLiAgUm9sbGVkIERFUFMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcAppbmRleCBjOGMz
MzNlMzY5NDcyNGFiOGY4NjkyNWRlYWIyMTNiZGIyNzUyOGJjLi5iMWUzMTYyM2MyODJiNTBmODkz
MzhjNDdjZmQ0MDZlZTcyMjBjYzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHAKQEAgLTUz
LDYgKzUzLDE5IEBAIENDUmVuZGVyUGFzczo6Q0NSZW5kZXJQYXNzKGludCBpZCwgSW50UmVjdCBv
dXRwdXRSZWN0LCBjb25zdCBXZWJLaXQ6OldlYlRyYW5zZm9yCiAgICAgQVNTRVJUKGlkID4gMCk7
CiB9CiAKK1Bhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiBDQ1JlbmRlclBhc3M6OmNvcHkoaW50IG5l
d0lkKSBjb25zdAoreworICAgIEFTU0VSVChuZXdJZCAhPSBtX2lkKTsKKworICAgIE93blB0cjxD
Q1JlbmRlclBhc3M+IGNvcHlQYXNzKGNyZWF0ZShuZXdJZCwgbV9vdXRwdXRSZWN0LCBtX3RyYW5z
Zm9ybVRvUm9vdFRhcmdldCkpOworICAgIGNvcHlQYXNzLT5zZXREYW1hZ2VSZWN0KG1fZGFtYWdl
UmVjdCk7CisgICAgY29weVBhc3MtPnNldEhhc1RyYW5zcGFyZW50QmFja2dyb3VuZChtX2hhc1Ry
YW5zcGFyZW50QmFja2dyb3VuZCk7CisgICAgY29weVBhc3MtPnNldEhhc09jY2x1c2lvbkZyb21P
dXRzaWRlVGFyZ2V0U3VyZmFjZShtX2hhc09jY2x1c2lvbkZyb21PdXRzaWRlVGFyZ2V0U3VyZmFj
ZSk7CisgICAgY29weVBhc3MtPnNldEZpbHRlcnMobV9maWx0ZXJzKTsKKyAgICBjb3B5UGFzcy0+
c2V0QmFja2dyb3VuZEZpbHRlcnMobV9iYWNrZ3JvdW5kRmlsdGVycyk7CisgICAgcmV0dXJuIGNv
cHlQYXNzLnJlbGVhc2UoKTsKK30KKwogdm9pZCBDQ1JlbmRlclBhc3M6OmFwcGVuZFF1YWRzRm9y
TGF5ZXIoQ0NMYXllckltcGwqIGxheWVyLCBDQ09jY2x1c2lvblRyYWNrZXJJbXBsKiBvY2NsdXNp
b25UcmFja2VyLCBDQ0FwcGVuZFF1YWRzRGF0YSYgYXBwZW5kUXVhZHNEYXRhKQogewogICAgIGNv
bnN0IGJvb2wgZm9yU3VyZmFjZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaAppbmRleCA5
ZWJlZDFiZDVkZThmMGFkY2VlNWIyOWQ3NjA3MmU3NTY4MzFhZWIwLi40MGVmMjEyODI0N2QyNmU2
Yjk5ZmNlNGFkZTNmYzgwNDQ5MDg2YmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuaApAQCAtNjIs
NiArNjIsOSBAQCBjbGFzcyBDQ1JlbmRlclBhc3MgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
T3duUHRyPENDUmVuZGVyUGFzcz4gY3JlYXRlKGludCBpZCwgSW50UmVjdCBvdXRwdXRSZWN0LCBj
b25zdCBXZWJLaXQ6OldlYlRyYW5zZm9ybWF0aW9uTWF0cml4JiB0cmFuc2Zvcm1Ub1Jvb3RUYXJn
ZXQpOwogCisgICAgLy8gQSBzaGFsbG93IGNvcHkgb2YgdGhlIHJlbmRlciBwYXNzLCB3aGljaCBk
b2VzIG5vdCBpbmNsdWRlIGl0cyBxdWFkcy4KKyAgICBQYXNzT3duUHRyPENDUmVuZGVyUGFzcz4g
Y29weShpbnQgbmV3SWQpIGNvbnN0OworCiAgICAgdm9pZCBhcHBlbmRRdWFkc0ZvckxheWVyKEND
TGF5ZXJJbXBsKiwgQ0NPY2NsdXNpb25UcmFja2VySW1wbCosIENDQXBwZW5kUXVhZHNEYXRhJik7
CiAgICAgdm9pZCBhcHBlbmRRdWFkc0ZvclJlbmRlclN1cmZhY2VMYXllcihDQ0xheWVySW1wbCos
IGNvbnN0IENDUmVuZGVyUGFzcyogY29udHJpYnV0aW5nUmVuZGVyUGFzcywgQ0NPY2NsdXNpb25U
cmFja2VySW1wbCosIENDQXBwZW5kUXVhZHNEYXRhJik7CiAgICAgdm9pZCBhcHBlbmRRdWFkc1Rv
RmlsbFNjcmVlbihDQ0xheWVySW1wbCogcm9vdExheWVyLCBTa0NvbG9yIHNjcmVlbkJhY2tncm91
bmRDb2xvciwgY29uc3QgQ0NPY2NsdXNpb25UcmFja2VySW1wbCYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cGkKaW5kZXggYjdlNDI4YjQxN2U4ZjViNmE4ODk3MGJjNDUyNWUzYjE1OTdjNTgw
OC4uZTEwMjJkZDg4OTc0NjU5ZTI0OWM1ODdhNmRhMWFmNzlmOGNhYTRiYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL1dlYktpdC5neXBpCkBAIC03OSw2ICs3OSw3IEBACiAgICAgICAgICAgICAndGVzdHMv
Q0NPY2NsdXNpb25UcmFja2VyVGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3RzL0NDT2NjbHVz
aW9uVHJhY2tlclRlc3RDb21tb24uaCcsCiAgICAgICAgICAgICAndGVzdHMvQ0NRdWFkQ3VsbGVy
VGVzdC5jcHAnLAorICAgICAgICAgICAgJ3Rlc3RzL0NDUmVuZGVyUGFzc1Rlc3QuY3BwJywKICAg
ICAgICAgICAgICd0ZXN0cy9DQ1JlbmRlclN1cmZhY2VGaWx0ZXJzVGVzdC5jcHAnLAogICAgICAg
ICAgICAgJ3Rlc3RzL0NDUmVuZGVyU3VyZmFjZVRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0
cy9DQ1Jlc291cmNlUHJvdmlkZXJUZXN0LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDUmVuZGVyUGFzc1Rlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9DQ1JlbmRlclBhc3NUZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTdkNDEwNTdiZTVh
NDFiMmY2ZjY4MzkwZjY4NjRkNWJkNzljMGFhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS90ZXN0cy9DQ1JlbmRlclBhc3NUZXN0LmNwcApAQCAtMCwwICsxLDEwNyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiQ0NSZW5k
ZXJQYXNzLmgiCisKKyNpbmNsdWRlICJDQ0NoZWNrZXJib2FyZERyYXdRdWFkLmgiCisjaW5jbHVk
ZSAiQ0NMYXllclRyZWVUZXN0Q29tbW9uLmgiCisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNp
bmNsdWRlIDxwdWJsaWMvV2ViRmlsdGVyT3BlcmF0aW9ucy5oPgorI2luY2x1ZGUgPHB1YmxpYy9X
ZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oPgorCit1c2luZyBXZWJLaXQ6OldlYkZpbHRlck9wZXJh
dGlvbjsKK3VzaW5nIFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9uczsKK3VzaW5nIFdlYktpdDo6
V2ViVHJhbnNmb3JtYXRpb25NYXRyaXg7CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitu
YW1lc3BhY2UgeworCitjbGFzcyBDQ1Rlc3RSZW5kZXJQYXNzIDogcHVibGljIENDUmVuZGVyUGFz
cyB7CitwdWJsaWM6CisgICAgQ0NRdWFkTGlzdCYgcXVhZExpc3QoKSB7IHJldHVybiBtX3F1YWRM
aXN0OyB9CisgICAgQ0NTaGFyZWRRdWFkU3RhdGVMaXN0JiBzaGFyZWRRdWFkU3RhdGVMaXN0KCkg
eyByZXR1cm4gbV9zaGFyZWRRdWFkU3RhdGVMaXN0OyB9Cit9OworCitzdHJ1Y3QgQ0NSZW5kZXJQ
YXNzU2l6ZSB7CisgICAgLy8gSWYgeW91IGFkZCBhIG5ldyBmaWVsZCB0byB0aGlzIGNsYXNzLCBt
YWtlIHN1cmUgdG8gYWRkIGl0IHRvIHRoZSBjb3B5KCkgdGVzdHMuCisgICAgaW50IG1faWQ7Cisg
ICAgQ0NRdWFkTGlzdCBtX3F1YWRMaXN0OworICAgIENDU2hhcmVkUXVhZFN0YXRlTGlzdCBtX3No
YXJlZFF1YWRTdGF0ZUxpc3Q7CisgICAgV2ViS2l0OjpXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBt
X3RyYW5zZm9ybVRvUm9vdFRhcmdldDsKKyAgICBJbnRSZWN0IG1fb3V0cHV0UmVjdDsKKyAgICBG
bG9hdFJlY3QgbV9kYW1hZ2VSZWN0OworICAgIGJvb2wgbV9oYXNUcmFuc3BhcmVudEJhY2tncm91
bmQ7CisgICAgYm9vbCBtX2hhc09jY2x1c2lvbkZyb21PdXRzaWRlVGFyZ2V0U3VyZmFjZTsKKyAg
ICBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMgbV9maWx0ZXJzOworICAgIFdlYktpdDo6V2Vi
RmlsdGVyT3BlcmF0aW9ucyBtX2JhY2tncm91bmRGaWx0ZXJzOworfTsKKworVEVTVChDQ1JlbmRl
clBhc3NUZXN0LCBjb3B5U2hvdWxkQmVJZGVudGljYWxFeGNlcHRJZEFuZFF1YWRzKQoreworICAg
IGludCBpZCA9IDM7CisgICAgSW50UmVjdCBvdXRwdXRSZWN0KDQ1LCAyMiwgMTIwLCAxMyk7Cisg
ICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNmb3JtVG9Sb290KDEsIDAuNSwgMC41LCAt
MC41LCAtMSwgMCk7CisKKyAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiBwYXNzKENDUmVuZGVyUGFz
czo6Y3JlYXRlKGlkLCBvdXRwdXRSZWN0LCB0cmFuc2Zvcm1Ub1Jvb3QpKTsKKworICAgIEludFJl
Y3QgZGFtYWdlUmVjdCg1NiwgMTIzLCAxOSwgNDMpOworICAgIGJvb2wgaGFzVHJhbnNwYXJlbnRC
YWNrZ3JvdW5kID0gdHJ1ZTsKKyAgICBib29sIGhhc09jY2x1c2lvbkZyb21PdXRzaWRlVGFyZ2V0
U3VyZmFjZSA9IHRydWU7CisgICAgV2ViRmlsdGVyT3BlcmF0aW9ucyBmaWx0ZXJzOworICAgIFdl
YkZpbHRlck9wZXJhdGlvbnMgYmFja2dyb3VuZEZpbHRlcnM7CisKKyAgICBmaWx0ZXJzLmFwcGVu
ZChXZWJGaWx0ZXJPcGVyYXRpb246OmNyZWF0ZUdyYXlzY2FsZUZpbHRlcigwLjIpKTsKKyAgICBi
YWNrZ3JvdW5kRmlsdGVycy5hcHBlbmQoV2ViRmlsdGVyT3BlcmF0aW9uOjpjcmVhdGVJbnZlcnRG
aWx0ZXIoMC4yKSk7CisKKyAgICBwYXNzLT5zZXREYW1hZ2VSZWN0KGRhbWFnZVJlY3QpOworICAg
IHBhc3MtPnNldEhhc1RyYW5zcGFyZW50QmFja2dyb3VuZChoYXNUcmFuc3BhcmVudEJhY2tncm91
bmQpOworICAgIHBhc3MtPnNldEhhc09jY2x1c2lvbkZyb21PdXRzaWRlVGFyZ2V0U3VyZmFjZSho
YXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZhY2UpOworICAgIHBhc3MtPnNldEZpbHRl
cnMoZmlsdGVycyk7CisgICAgcGFzcy0+c2V0QmFja2dyb3VuZEZpbHRlcnMoYmFja2dyb3VuZEZp
bHRlcnMpOworCisgICAgLy8gU3RpY2sgYSBxdWFkIGluIHRoZSBwYXNzLCB0aGlzIHNob3VsZCBu
b3QgZ2V0IGNvcGllZC4KKyAgICBDQ1Rlc3RSZW5kZXJQYXNzKiB0ZXN0UGFzcyA9IHN0YXRpY19j
YXN0PENDVGVzdFJlbmRlclBhc3MqPihwYXNzLmdldCgpKTsKKyAgICB0ZXN0UGFzcy0+c2hhcmVk
UXVhZFN0YXRlTGlzdCgpLmFwcGVuZChDQ1NoYXJlZFF1YWRTdGF0ZTo6Y3JlYXRlKFdlYlRyYW5z
Zm9ybWF0aW9uTWF0cml4KCksIEludFJlY3QoKSwgSW50UmVjdCgpLCAxLCBmYWxzZSkpOworICAg
IHRlc3RQYXNzLT5xdWFkTGlzdCgpLmFwcGVuZChDQ0NoZWNrZXJib2FyZERyYXdRdWFkOjpjcmVh
dGUodGVzdFBhc3MtPnNoYXJlZFF1YWRTdGF0ZUxpc3QoKS5sYXN0KCkuZ2V0KCksIEludFJlY3Qo
KSkpOworCisgICAgaW50IG5ld0lkID0gNjM7CisKKyAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiBj
b3B5KHBhc3MtPmNvcHkobmV3SWQpKTsKKyAgICBFWFBFQ1RfRVEobmV3SWQsIGNvcHktPmlkKCkp
OworICAgIEVYUEVDVF9FUShwYXNzLT5vdXRwdXRSZWN0KCksIGNvcHktPm91dHB1dFJlY3QoKSk7
CisgICAgRVhQRUNUX0VRKHBhc3MtPnRyYW5zZm9ybVRvUm9vdFRhcmdldCgpLCBjb3B5LT50cmFu
c2Zvcm1Ub1Jvb3RUYXJnZXQoKSk7CisgICAgRVhQRUNUX0VRKHBhc3MtPmRhbWFnZVJlY3QoKSwg
Y29weS0+ZGFtYWdlUmVjdCgpKTsKKyAgICBFWFBFQ1RfRVEocGFzcy0+aGFzVHJhbnNwYXJlbnRC
YWNrZ3JvdW5kKCksIGNvcHktPmhhc1RyYW5zcGFyZW50QmFja2dyb3VuZCgpKTsKKyAgICBFWFBF
Q1RfRVEocGFzcy0+aGFzT2NjbHVzaW9uRnJvbU91dHNpZGVUYXJnZXRTdXJmYWNlKCksIGNvcHkt
Pmhhc09jY2x1c2lvbkZyb21PdXRzaWRlVGFyZ2V0U3VyZmFjZSgpKTsKKyAgICBFWFBFQ1RfRVEo
cGFzcy0+ZmlsdGVycygpLCBjb3B5LT5maWx0ZXJzKCkpOworICAgIEVYUEVDVF9FUShwYXNzLT5i
YWNrZ3JvdW5kRmlsdGVycygpLCBjb3B5LT5iYWNrZ3JvdW5kRmlsdGVycygpKTsKKyAgICBFWFBF
Q1RfRVEoMHUsIGNvcHktPnF1YWRMaXN0KCkuc2l6ZSgpKTsKKworICAgIEVYUEVDVF9FUShzaXpl
b2YoQ0NSZW5kZXJQYXNzU2l6ZSksIHNpemVvZihDQ1JlbmRlclBhc3MpKTsKK30KKworfSAvLyBu
YW1lc3BhY2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162312</attachid>
            <date>2012-09-05 12:59:01 -0700</date>
            <delta_ts>2012-09-05 13:57:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95485-20120905155842.patch</filename>
            <type>text/plain</type>
            <size>9560</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTgyNTg2YzdkYzIxMGRm
MDczMTJjNmZhMjZiZGJjMjAxN2IzYTJkNC4uN2NmYWMxMjhkZWE1YjFiYjZiYjE5MzQ4N2E2ZGEy
ZTI0Y2Q0MDFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA4LTMwICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRk
IGEgY29weSgpIG1ldGhvZCB0byBDQ1JlbmRlclBhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtZXRob2QgYWxsb3dzIHRoZSB1YmVyY29tcCBs
YXllciB0byBtYWtlIGEgY2xvbmUgb2YgaXRzIGRlbGVnYXRlZAorICAgICAgICBSZW5kZXJQYXNz
ZXMgdG8gaW5zZXJ0IGludG8gdGhlIGN1cnJlbnQgZnJhbWUuCisKKyAgICAgICAgVGVzdHM6IEND
UmVuZGVyUGFzc1Rlc3QuY29weVNob3VsZEJlSWRlbnRpY2FsRXhjZXB0SWRBbmRRdWFkcworCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyUGFzczo6Y29weSk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3Mu
aDoKKyAgICAgICAgKENDUmVuZGVyUGFzcyk6CisKIDIwMTItMDktMDUgIEphbWVzIFJvYmluc29u
ICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTI3NjI5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwMzY3MmExZjcwMDdmZWFj
ZDQ2NGY1NDdiYjk1OGM0OWMxNTJmYjk3Li4yOTgzODNmODhhMDhkOWNjMmQ5OTJlZDg4ZDMxYmJm
ZmJmYzAyZWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDEyLTA4LTMwICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFtjaHJvbWl1bV0gQWRkIGEgY29weSgpIG1ldGhvZCB0byBDQ1JlbmRlclBhc3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NDg1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwaToKKyAg
ICAgICAgKiB0ZXN0cy9DQ1JlbmRlclBhc3NUZXN0LmNwcDogQWRkZWQuCisgICAgICAgIChDQ1Rl
c3RSZW5kZXJQYXNzKToKKyAgICAgICAgKENDVGVzdFJlbmRlclBhc3M6OnF1YWRMaXN0KToKKyAg
ICAgICAgKENDVGVzdFJlbmRlclBhc3M6OnNoYXJlZFF1YWRTdGF0ZUxpc3QpOgorICAgICAgICAo
Q0NSZW5kZXJQYXNzU2l6ZSk6CisgICAgICAgIChURVNUKToKKwogMjAxMi0wOS0wNSAgTWFyayBQ
aWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBSZW1v
dmUgZ2V0UmVuZGVyU3R5bGVGb3JTdHJpa2UgZnJvbSBQbGF0Zm9ybVN1cHBvcnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVy
UGFzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1JlbmRlclBhc3MuY3BwCmluZGV4IGM4YzMzM2UzNjk0NzI0YWI4Zjg2OTI1ZGVhYjIxM2JkYjI3
NTI4YmMuLmIxZTMxNjIzYzI4MmI1MGY4OTMzOGM0N2NmZDQwNmVlNzIyMGNjNTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVy
UGFzcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NSZW5kZXJQYXNzLmNwcApAQCAtNTMsNiArNTMsMTkgQEAgQ0NSZW5kZXJQYXNzOjpDQ1Jl
bmRlclBhc3MoaW50IGlkLCBJbnRSZWN0IG91dHB1dFJlY3QsIGNvbnN0IFdlYktpdDo6V2ViVHJh
bnNmb3IKICAgICBBU1NFUlQoaWQgPiAwKTsKIH0KIAorUGFzc093blB0cjxDQ1JlbmRlclBhc3M+
IENDUmVuZGVyUGFzczo6Y29weShpbnQgbmV3SWQpIGNvbnN0Cit7CisgICAgQVNTRVJUKG5ld0lk
ICE9IG1faWQpOworCisgICAgT3duUHRyPENDUmVuZGVyUGFzcz4gY29weVBhc3MoY3JlYXRlKG5l
d0lkLCBtX291dHB1dFJlY3QsIG1fdHJhbnNmb3JtVG9Sb290VGFyZ2V0KSk7CisgICAgY29weVBh
c3MtPnNldERhbWFnZVJlY3QobV9kYW1hZ2VSZWN0KTsKKyAgICBjb3B5UGFzcy0+c2V0SGFzVHJh
bnNwYXJlbnRCYWNrZ3JvdW5kKG1faGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKTsKKyAgICBjb3B5
UGFzcy0+c2V0SGFzT2NjbHVzaW9uRnJvbU91dHNpZGVUYXJnZXRTdXJmYWNlKG1faGFzT2NjbHVz
aW9uRnJvbU91dHNpZGVUYXJnZXRTdXJmYWNlKTsKKyAgICBjb3B5UGFzcy0+c2V0RmlsdGVycyht
X2ZpbHRlcnMpOworICAgIGNvcHlQYXNzLT5zZXRCYWNrZ3JvdW5kRmlsdGVycyhtX2JhY2tncm91
bmRGaWx0ZXJzKTsKKyAgICByZXR1cm4gY29weVBhc3MucmVsZWFzZSgpOworfQorCiB2b2lkIEND
UmVuZGVyUGFzczo6YXBwZW5kUXVhZHNGb3JMYXllcihDQ0xheWVySW1wbCogbGF5ZXIsIENDT2Nj
bHVzaW9uVHJhY2tlckltcGwqIG9jY2x1c2lvblRyYWNrZXIsIENDQXBwZW5kUXVhZHNEYXRhJiBh
cHBlbmRRdWFkc0RhdGEpCiB7CiAgICAgY29uc3QgYm9vbCBmb3JTdXJmYWNlID0gZmFsc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1JlbmRlclBhc3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUmVuZGVyUGFzcy5oCmluZGV4IDllYmVkMWJkNWRlOGYwYWRjZWU1YjI5ZDc2MDcyZTc1
NjgzMWFlYjAuLjQwZWYyMTI4MjQ3ZDI2ZTZiOTlmY2U0YWRlM2ZjODA0NDkwODZiZDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVu
ZGVyUGFzcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUmVuZGVyUGFzcy5oCkBAIC02Miw2ICs2Miw5IEBAIGNsYXNzIENDUmVuZGVyUGFzcyB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiBjcmVhdGUoaW50
IGlkLCBJbnRSZWN0IG91dHB1dFJlY3QsIGNvbnN0IFdlYktpdDo6V2ViVHJhbnNmb3JtYXRpb25N
YXRyaXgmIHRyYW5zZm9ybVRvUm9vdFRhcmdldCk7CiAKKyAgICAvLyBBIHNoYWxsb3cgY29weSBv
ZiB0aGUgcmVuZGVyIHBhc3MsIHdoaWNoIGRvZXMgbm90IGluY2x1ZGUgaXRzIHF1YWRzLgorICAg
IFBhc3NPd25QdHI8Q0NSZW5kZXJQYXNzPiBjb3B5KGludCBuZXdJZCkgY29uc3Q7CisKICAgICB2
b2lkIGFwcGVuZFF1YWRzRm9yTGF5ZXIoQ0NMYXllckltcGwqLCBDQ09jY2x1c2lvblRyYWNrZXJJ
bXBsKiwgQ0NBcHBlbmRRdWFkc0RhdGEmKTsKICAgICB2b2lkIGFwcGVuZFF1YWRzRm9yUmVuZGVy
U3VyZmFjZUxheWVyKENDTGF5ZXJJbXBsKiwgY29uc3QgQ0NSZW5kZXJQYXNzKiBjb250cmlidXRp
bmdSZW5kZXJQYXNzLCBDQ09jY2x1c2lvblRyYWNrZXJJbXBsKiwgQ0NBcHBlbmRRdWFkc0RhdGEm
KTsKICAgICB2b2lkIGFwcGVuZFF1YWRzVG9GaWxsU2NyZWVuKENDTGF5ZXJJbXBsKiByb290TGF5
ZXIsIFNrQ29sb3Igc2NyZWVuQmFja2dyb3VuZENvbG9yLCBjb25zdCBDQ09jY2x1c2lvblRyYWNr
ZXJJbXBsJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBp
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQppbmRleCA1NGYwZGI4ZTVjMmM1
NTRjY2NhN2UxNjA4YTdlNmY3ODg3MTE3N2I3Li43ZjQ3MmIxOGI3YmU3MTEwNjNmNWM5Mzc2NDEz
MTZhNmFlMjBhZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKQEAgLTEzOSw2ICsx
MzksNyBAQAogICAgICAgICAgICAgJ3Rlc3RzL0NDT2NjbHVzaW9uVHJhY2tlclRlc3RDb21tb24u
aCcsCiAgICAgICAgICAgICAndGVzdHMvQ0NQcmlvcml0aXplZFRleHR1cmVUZXN0LmNwcCcsCiAg
ICAgICAgICAgICAndGVzdHMvQ0NRdWFkQ3VsbGVyVGVzdC5jcHAnLAorICAgICAgICAgICAgJ3Rl
c3RzL0NDUmVuZGVyUGFzc1Rlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9DQ1JlbmRlclN1
cmZhY2VGaWx0ZXJzVGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3RzL0NDUmVuZGVyU3VyZmFj
ZVRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9DQ1JlbmRlcmVyR0xUZXN0LmNwcCcsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDUmVuZGVyUGFzc1Rlc3Qu
Y3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1JlbmRlclBhc3NUZXN0LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lZmQ2MWY1NTE4ZjI3ZDc2MWUxMGQxMGQxMWYzOTRlODNiZmRiNTNjCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1JlbmRlclBhc3NU
ZXN0LmNwcApAQCAtMCwwICsxLDEwNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorCisjaW5jbHVkZSAiQ0NSZW5kZXJQYXNzLmgiCisKKyNpbmNsdWRlICJDQ0NoZWNrZXJi
b2FyZERyYXdRdWFkLmgiCisjaW5jbHVkZSAiQ0NHZW9tZXRyeVRlc3RVdGlscy5oIgorI2luY2x1
ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYkZpbHRlck9wZXJhdGlvbnMu
aD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KKwordXNpbmcg
V2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb247Cit1c2luZyBXZWJLaXQ6OldlYkZpbHRlck9wZXJh
dGlvbnM7Cit1c2luZyBXZWJLaXQ6OldlYlRyYW5zZm9ybWF0aW9uTWF0cml4OworCit1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIHsKKworY2xhc3MgQ0NUZXN0UmVuZGVyUGFz
cyA6IHB1YmxpYyBDQ1JlbmRlclBhc3MgeworcHVibGljOgorICAgIENDUXVhZExpc3QmIHF1YWRM
aXN0KCkgeyByZXR1cm4gbV9xdWFkTGlzdDsgfQorICAgIENDU2hhcmVkUXVhZFN0YXRlTGlzdCYg
c2hhcmVkUXVhZFN0YXRlTGlzdCgpIHsgcmV0dXJuIG1fc2hhcmVkUXVhZFN0YXRlTGlzdDsgfQor
fTsKKworc3RydWN0IENDUmVuZGVyUGFzc1NpemUgeworICAgIC8vIElmIHlvdSBhZGQgYSBuZXcg
ZmllbGQgdG8gdGhpcyBjbGFzcywgbWFrZSBzdXJlIHRvIGFkZCBpdCB0byB0aGUgY29weSgpIHRl
c3RzLgorICAgIGludCBtX2lkOworICAgIENDUXVhZExpc3QgbV9xdWFkTGlzdDsKKyAgICBDQ1No
YXJlZFF1YWRTdGF0ZUxpc3QgbV9zaGFyZWRRdWFkU3RhdGVMaXN0OworICAgIFdlYktpdDo6V2Vi
VHJhbnNmb3JtYXRpb25NYXRyaXggbV90cmFuc2Zvcm1Ub1Jvb3RUYXJnZXQ7CisgICAgSW50UmVj
dCBtX291dHB1dFJlY3Q7CisgICAgRmxvYXRSZWN0IG1fZGFtYWdlUmVjdDsKKyAgICBib29sIG1f
aGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kOworICAgIGJvb2wgbV9oYXNPY2NsdXNpb25Gcm9tT3V0
c2lkZVRhcmdldFN1cmZhY2U7CisgICAgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zIG1fZmls
dGVyczsKKyAgICBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMgbV9iYWNrZ3JvdW5kRmlsdGVy
czsKK307CisKK1RFU1QoQ0NSZW5kZXJQYXNzVGVzdCwgY29weVNob3VsZEJlSWRlbnRpY2FsRXhj
ZXB0SWRBbmRRdWFkcykKK3sKKyAgICBpbnQgaWQgPSAzOworICAgIEludFJlY3Qgb3V0cHV0UmVj
dCg0NSwgMjIsIDEyMCwgMTMpOworICAgIFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4IHRyYW5zZm9y
bVRvUm9vdCgxLCAwLjUsIDAuNSwgLTAuNSwgLTEsIDApOworCisgICAgT3duUHRyPENDUmVuZGVy
UGFzcz4gcGFzcyhDQ1JlbmRlclBhc3M6OmNyZWF0ZShpZCwgb3V0cHV0UmVjdCwgdHJhbnNmb3Jt
VG9Sb290KSk7CisKKyAgICBJbnRSZWN0IGRhbWFnZVJlY3QoNTYsIDEyMywgMTksIDQzKTsKKyAg
ICBib29sIGhhc1RyYW5zcGFyZW50QmFja2dyb3VuZCA9IHRydWU7CisgICAgYm9vbCBoYXNPY2Ns
dXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZhY2UgPSB0cnVlOworICAgIFdlYkZpbHRlck9wZXJh
dGlvbnMgZmlsdGVyczsKKyAgICBXZWJGaWx0ZXJPcGVyYXRpb25zIGJhY2tncm91bmRGaWx0ZXJz
OworCisgICAgZmlsdGVycy5hcHBlbmQoV2ViRmlsdGVyT3BlcmF0aW9uOjpjcmVhdGVHcmF5c2Nh
bGVGaWx0ZXIoMC4yKSk7CisgICAgYmFja2dyb3VuZEZpbHRlcnMuYXBwZW5kKFdlYkZpbHRlck9w
ZXJhdGlvbjo6Y3JlYXRlSW52ZXJ0RmlsdGVyKDAuMikpOworCisgICAgcGFzcy0+c2V0RGFtYWdl
UmVjdChkYW1hZ2VSZWN0KTsKKyAgICBwYXNzLT5zZXRIYXNUcmFuc3BhcmVudEJhY2tncm91bmQo
aGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKTsKKyAgICBwYXNzLT5zZXRIYXNPY2NsdXNpb25Gcm9t
T3V0c2lkZVRhcmdldFN1cmZhY2UoaGFzT2NjbHVzaW9uRnJvbU91dHNpZGVUYXJnZXRTdXJmYWNl
KTsKKyAgICBwYXNzLT5zZXRGaWx0ZXJzKGZpbHRlcnMpOworICAgIHBhc3MtPnNldEJhY2tncm91
bmRGaWx0ZXJzKGJhY2tncm91bmRGaWx0ZXJzKTsKKworICAgIC8vIFN0aWNrIGEgcXVhZCBpbiB0
aGUgcGFzcywgdGhpcyBzaG91bGQgbm90IGdldCBjb3BpZWQuCisgICAgQ0NUZXN0UmVuZGVyUGFz
cyogdGVzdFBhc3MgPSBzdGF0aWNfY2FzdDxDQ1Rlc3RSZW5kZXJQYXNzKj4ocGFzcy5nZXQoKSk7
CisgICAgdGVzdFBhc3MtPnNoYXJlZFF1YWRTdGF0ZUxpc3QoKS5hcHBlbmQoQ0NTaGFyZWRRdWFk
U3RhdGU6OmNyZWF0ZShXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLCBJbnRSZWN0KCksIEludFJl
Y3QoKSwgMSwgZmFsc2UpKTsKKyAgICB0ZXN0UGFzcy0+cXVhZExpc3QoKS5hcHBlbmQoQ0NDaGVj
a2VyYm9hcmREcmF3UXVhZDo6Y3JlYXRlKHRlc3RQYXNzLT5zaGFyZWRRdWFkU3RhdGVMaXN0KCku
bGFzdCgpLmdldCgpLCBJbnRSZWN0KCkpKTsKKworICAgIGludCBuZXdJZCA9IDYzOworCisgICAg
T3duUHRyPENDUmVuZGVyUGFzcz4gY29weShwYXNzLT5jb3B5KG5ld0lkKSk7CisgICAgRVhQRUNU
X0VRKG5ld0lkLCBjb3B5LT5pZCgpKTsKKyAgICBFWFBFQ1RfUkVDVF9FUShwYXNzLT5vdXRwdXRS
ZWN0KCksIGNvcHktPm91dHB1dFJlY3QoKSk7CisgICAgRVhQRUNUX0VRKHBhc3MtPnRyYW5zZm9y
bVRvUm9vdFRhcmdldCgpLCBjb3B5LT50cmFuc2Zvcm1Ub1Jvb3RUYXJnZXQoKSk7CisgICAgRVhQ
RUNUX1JFQ1RfRVEocGFzcy0+ZGFtYWdlUmVjdCgpLCBjb3B5LT5kYW1hZ2VSZWN0KCkpOworICAg
IEVYUEVDVF9FUShwYXNzLT5oYXNUcmFuc3BhcmVudEJhY2tncm91bmQoKSwgY29weS0+aGFzVHJh
bnNwYXJlbnRCYWNrZ3JvdW5kKCkpOworICAgIEVYUEVDVF9FUShwYXNzLT5oYXNPY2NsdXNpb25G
cm9tT3V0c2lkZVRhcmdldFN1cmZhY2UoKSwgY29weS0+aGFzT2NjbHVzaW9uRnJvbU91dHNpZGVU
YXJnZXRTdXJmYWNlKCkpOworICAgIEVYUEVDVF9FUShwYXNzLT5maWx0ZXJzKCksIGNvcHktPmZp
bHRlcnMoKSk7CisgICAgRVhQRUNUX0VRKHBhc3MtPmJhY2tncm91bmRGaWx0ZXJzKCksIGNvcHkt
PmJhY2tncm91bmRGaWx0ZXJzKCkpOworICAgIEVYUEVDVF9FUSgwdSwgY29weS0+cXVhZExpc3Qo
KS5zaXplKCkpOworCisgICAgRVhQRUNUX0VRKHNpemVvZihDQ1JlbmRlclBhc3NTaXplKSwgc2l6
ZW9mKENDUmVuZGVyUGFzcykpOworfQorCit9IC8vIG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162326</attachid>
            <date>2012-09-05 13:57:29 -0700</date>
            <delta_ts>2012-09-06 02:48:19 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-95485-20120905165711.patch</filename>
            <type>text/plain</type>
            <size>9562</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3NjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTgyNTg2YzdkYzIxMGRm
MDczMTJjNmZhMjZiZGJjMjAxN2IzYTJkNC4uZTc2N2QzMDAzMDcxYjNjNmE0ZjBjN2U2NDY5ZDc4
NmEzNGQ5Mjk0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA4LTMwICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRk
IGEgY29weSgpIG1ldGhvZCB0byBDQ1JlbmRlclBhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRy
aWVubmUgV2Fsa2VyLgorCisgICAgICAgIFRoaXMgbWV0aG9kIGFsbG93cyB0aGUgdWJlcmNvbXAg
bGF5ZXIgdG8gbWFrZSBhIGNsb25lIG9mIGl0cyBkZWxlZ2F0ZWQKKyAgICAgICAgUmVuZGVyUGFz
c2VzIHRvIGluc2VydCBpbnRvIHRoZSBjdXJyZW50IGZyYW1lLgorCisgICAgICAgIFRlc3RzOiBD
Q1JlbmRlclBhc3NUZXN0LmNvcHlTaG91bGRCZUlkZW50aWNhbEV4Y2VwdElkQW5kUXVhZHMKKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFzcy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclBhc3M6OmNvcHkpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNz
Lmg6CisgICAgICAgIChDQ1JlbmRlclBhc3MpOgorCiAyMDEyLTA5LTA1ICBKYW1lcyBSb2JpbnNv
biAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjEyNzYyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMDM2NzJhMWY3MDA3ZmVh
Y2Q0NjRmNTQ3YmI5NThjNDljMTUyZmI5Ny4uZWJmMDdkMTg4N2ZmMDdjMWZmZmFhMGVjYzVhN2Nm
NzBmNTNiMzQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAor
MjAxMi0wOC0zMCAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBbY2hyb21pdW1dIEFkZCBhIGNvcHkoKSBtZXRob2QgdG8gQ0NSZW5kZXJQYXNzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTQ4NQorCisgICAgICAg
IFJldmlld2VkIGJ5IEFkcmllbm5lIFdhbGtlci4KKworICAgICAgICAqIFdlYktpdC5neXBpOgor
ICAgICAgICAqIHRlc3RzL0NDUmVuZGVyUGFzc1Rlc3QuY3BwOiBBZGRlZC4KKyAgICAgICAgKEND
VGVzdFJlbmRlclBhc3MpOgorICAgICAgICAoQ0NUZXN0UmVuZGVyUGFzczo6cXVhZExpc3QpOgor
ICAgICAgICAoQ0NUZXN0UmVuZGVyUGFzczo6c2hhcmVkUXVhZFN0YXRlTGlzdCk6CisgICAgICAg
IChDQ1JlbmRlclBhc3NTaXplKToKKyAgICAgICAgKFRFU1QpOgorCiAyMDEyLTA5LTA1ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFJl
bW92ZSBnZXRSZW5kZXJTdHlsZUZvclN0cmlrZSBmcm9tIFBsYXRmb3JtU3VwcG9ydApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5k
ZXJQYXNzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUmVuZGVyUGFzcy5jcHAKaW5kZXggYzhjMzMzZTM2OTQ3MjRhYjhmODY5MjVkZWFiMjEzYmRi
Mjc1MjhiYy4uYjFlMzE2MjNjMjgyYjUwZjg5MzM4YzQ3Y2ZkNDA2ZWU3MjIwY2M1MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5k
ZXJQYXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1JlbmRlclBhc3MuY3BwCkBAIC01Myw2ICs1MywxOSBAQCBDQ1JlbmRlclBhc3M6OkND
UmVuZGVyUGFzcyhpbnQgaWQsIEludFJlY3Qgb3V0cHV0UmVjdCwgY29uc3QgV2ViS2l0OjpXZWJU
cmFuc2ZvcgogICAgIEFTU0VSVChpZCA+IDApOwogfQogCitQYXNzT3duUHRyPENDUmVuZGVyUGFz
cz4gQ0NSZW5kZXJQYXNzOjpjb3B5KGludCBuZXdJZCkgY29uc3QKK3sKKyAgICBBU1NFUlQobmV3
SWQgIT0gbV9pZCk7CisKKyAgICBPd25QdHI8Q0NSZW5kZXJQYXNzPiBjb3B5UGFzcyhjcmVhdGUo
bmV3SWQsIG1fb3V0cHV0UmVjdCwgbV90cmFuc2Zvcm1Ub1Jvb3RUYXJnZXQpKTsKKyAgICBjb3B5
UGFzcy0+c2V0RGFtYWdlUmVjdChtX2RhbWFnZVJlY3QpOworICAgIGNvcHlQYXNzLT5zZXRIYXNU
cmFuc3BhcmVudEJhY2tncm91bmQobV9oYXNUcmFuc3BhcmVudEJhY2tncm91bmQpOworICAgIGNv
cHlQYXNzLT5zZXRIYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZhY2UobV9oYXNPY2Ns
dXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZhY2UpOworICAgIGNvcHlQYXNzLT5zZXRGaWx0ZXJz
KG1fZmlsdGVycyk7CisgICAgY29weVBhc3MtPnNldEJhY2tncm91bmRGaWx0ZXJzKG1fYmFja2dy
b3VuZEZpbHRlcnMpOworICAgIHJldHVybiBjb3B5UGFzcy5yZWxlYXNlKCk7Cit9CisKIHZvaWQg
Q0NSZW5kZXJQYXNzOjphcHBlbmRRdWFkc0ZvckxheWVyKENDTGF5ZXJJbXBsKiBsYXllciwgQ0NP
Y2NsdXNpb25UcmFja2VySW1wbCogb2NjbHVzaW9uVHJhY2tlciwgQ0NBcHBlbmRRdWFkc0RhdGEm
IGFwcGVuZFF1YWRzRGF0YSkKIHsKICAgICBjb25zdCBib29sIGZvclN1cmZhY2UgPSBmYWxzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUmVuZGVyUGFzcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NSZW5kZXJQYXNzLmgKaW5kZXggOWViZWQxYmQ1ZGU4ZjBhZGNlZTViMjlkNzYwNzJl
NzU2ODMxYWViMC4uNDBlZjIxMjgyNDdkMjZlNmI5OWZjZTRhZGUzZmM4MDQ0OTA4NmJkNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NS
ZW5kZXJQYXNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NSZW5kZXJQYXNzLmgKQEAgLTYyLDYgKzYyLDkgQEAgY2xhc3MgQ0NSZW5kZXJQYXNz
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxDQ1JlbmRlclBhc3M+IGNyZWF0ZShp
bnQgaWQsIEludFJlY3Qgb3V0cHV0UmVjdCwgY29uc3QgV2ViS2l0OjpXZWJUcmFuc2Zvcm1hdGlv
bk1hdHJpeCYgdHJhbnNmb3JtVG9Sb290VGFyZ2V0KTsKIAorICAgIC8vIEEgc2hhbGxvdyBjb3B5
IG9mIHRoZSByZW5kZXIgcGFzcywgd2hpY2ggZG9lcyBub3QgaW5jbHVkZSBpdHMgcXVhZHMuCisg
ICAgUGFzc093blB0cjxDQ1JlbmRlclBhc3M+IGNvcHkoaW50IG5ld0lkKSBjb25zdDsKKwogICAg
IHZvaWQgYXBwZW5kUXVhZHNGb3JMYXllcihDQ0xheWVySW1wbCosIENDT2NjbHVzaW9uVHJhY2tl
ckltcGwqLCBDQ0FwcGVuZFF1YWRzRGF0YSYpOwogICAgIHZvaWQgYXBwZW5kUXVhZHNGb3JSZW5k
ZXJTdXJmYWNlTGF5ZXIoQ0NMYXllckltcGwqLCBjb25zdCBDQ1JlbmRlclBhc3MqIGNvbnRyaWJ1
dGluZ1JlbmRlclBhc3MsIENDT2NjbHVzaW9uVHJhY2tlckltcGwqLCBDQ0FwcGVuZFF1YWRzRGF0
YSYpOwogICAgIHZvaWQgYXBwZW5kUXVhZHNUb0ZpbGxTY3JlZW4oQ0NMYXllckltcGwqIHJvb3RM
YXllciwgU2tDb2xvciBzY3JlZW5CYWNrZ3JvdW5kQ29sb3IsIGNvbnN0IENDT2NjbHVzaW9uVHJh
Y2tlckltcGwmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5
cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCmluZGV4IDU0ZjBkYjhlNWMy
YzU1NGNjY2E3ZTE2MDhhN2U2Zjc4ODcxMTc3YjcuLjdmNDcyYjE4YjdiZTcxMTA2M2Y1YzkzNzY0
MTMxNmE2YWUyMGFlOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0
Lmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQpAQCAtMTM5LDYg
KzEzOSw3IEBACiAgICAgICAgICAgICAndGVzdHMvQ0NPY2NsdXNpb25UcmFja2VyVGVzdENvbW1v
bi5oJywKICAgICAgICAgICAgICd0ZXN0cy9DQ1ByaW9yaXRpemVkVGV4dHVyZVRlc3QuY3BwJywK
ICAgICAgICAgICAgICd0ZXN0cy9DQ1F1YWRDdWxsZXJUZXN0LmNwcCcsCisgICAgICAgICAgICAn
dGVzdHMvQ0NSZW5kZXJQYXNzVGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3RzL0NDUmVuZGVy
U3VyZmFjZUZpbHRlcnNUZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvQ0NSZW5kZXJTdXJm
YWNlVGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3RzL0NDUmVuZGVyZXJHTFRlc3QuY3BwJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NSZW5kZXJQYXNzVGVz
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDUmVuZGVyUGFzc1Rlc3QuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVmZDYxZjU1MThmMjdkNzYxZTEwZDEwZDExZjM5NGU4M2JmZGI1M2MKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDUmVuZGVyUGFz
c1Rlc3QuY3BwCkBAIC0wLDAgKzEsMTA3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisKKyNpbmNsdWRlICJDQ1JlbmRlclBhc3MuaCIKKworI2luY2x1ZGUgIkNDQ2hlY2tl
cmJvYXJkRHJhd1F1YWQuaCIKKyNpbmNsdWRlICJDQ0dlb21ldHJ5VGVzdFV0aWxzLmgiCisjaW5j
bHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsdGVyT3BlcmF0aW9u
cy5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oPgorCit1c2lu
ZyBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbjsKK3VzaW5nIFdlYktpdDo6V2ViRmlsdGVyT3Bl
cmF0aW9uczsKK3VzaW5nIFdlYktpdDo6V2ViVHJhbnNmb3JtYXRpb25NYXRyaXg7CisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgeworCitjbGFzcyBDQ1Rlc3RSZW5kZXJQ
YXNzIDogcHVibGljIENDUmVuZGVyUGFzcyB7CitwdWJsaWM6CisgICAgQ0NRdWFkTGlzdCYgcXVh
ZExpc3QoKSB7IHJldHVybiBtX3F1YWRMaXN0OyB9CisgICAgQ0NTaGFyZWRRdWFkU3RhdGVMaXN0
JiBzaGFyZWRRdWFkU3RhdGVMaXN0KCkgeyByZXR1cm4gbV9zaGFyZWRRdWFkU3RhdGVMaXN0OyB9
Cit9OworCitzdHJ1Y3QgQ0NSZW5kZXJQYXNzU2l6ZSB7CisgICAgLy8gSWYgeW91IGFkZCBhIG5l
dyBmaWVsZCB0byB0aGlzIGNsYXNzLCBtYWtlIHN1cmUgdG8gYWRkIGl0IHRvIHRoZSBjb3B5KCkg
dGVzdHMuCisgICAgaW50IG1faWQ7CisgICAgQ0NRdWFkTGlzdCBtX3F1YWRMaXN0OworICAgIEND
U2hhcmVkUXVhZFN0YXRlTGlzdCBtX3NoYXJlZFF1YWRTdGF0ZUxpc3Q7CisgICAgV2ViS2l0OjpX
ZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtX3RyYW5zZm9ybVRvUm9vdFRhcmdldDsKKyAgICBJbnRS
ZWN0IG1fb3V0cHV0UmVjdDsKKyAgICBGbG9hdFJlY3QgbV9kYW1hZ2VSZWN0OworICAgIGJvb2wg
bV9oYXNUcmFuc3BhcmVudEJhY2tncm91bmQ7CisgICAgYm9vbCBtX2hhc09jY2x1c2lvbkZyb21P
dXRzaWRlVGFyZ2V0U3VyZmFjZTsKKyAgICBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMgbV9m
aWx0ZXJzOworICAgIFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyBtX2JhY2tncm91bmRGaWx0
ZXJzOworfTsKKworVEVTVChDQ1JlbmRlclBhc3NUZXN0LCBjb3B5U2hvdWxkQmVJZGVudGljYWxF
eGNlcHRJZEFuZFF1YWRzKQoreworICAgIGludCBpZCA9IDM7CisgICAgSW50UmVjdCBvdXRwdXRS
ZWN0KDQ1LCAyMiwgMTIwLCAxMyk7CisgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggdHJhbnNm
b3JtVG9Sb290KDEsIDAuNSwgMC41LCAtMC41LCAtMSwgMCk7CisKKyAgICBPd25QdHI8Q0NSZW5k
ZXJQYXNzPiBwYXNzKENDUmVuZGVyUGFzczo6Y3JlYXRlKGlkLCBvdXRwdXRSZWN0LCB0cmFuc2Zv
cm1Ub1Jvb3QpKTsKKworICAgIEludFJlY3QgZGFtYWdlUmVjdCg1NiwgMTIzLCAxOSwgNDMpOwor
ICAgIGJvb2wgaGFzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kID0gdHJ1ZTsKKyAgICBib29sIGhhc09j
Y2x1c2lvbkZyb21PdXRzaWRlVGFyZ2V0U3VyZmFjZSA9IHRydWU7CisgICAgV2ViRmlsdGVyT3Bl
cmF0aW9ucyBmaWx0ZXJzOworICAgIFdlYkZpbHRlck9wZXJhdGlvbnMgYmFja2dyb3VuZEZpbHRl
cnM7CisKKyAgICBmaWx0ZXJzLmFwcGVuZChXZWJGaWx0ZXJPcGVyYXRpb246OmNyZWF0ZUdyYXlz
Y2FsZUZpbHRlcigwLjIpKTsKKyAgICBiYWNrZ3JvdW5kRmlsdGVycy5hcHBlbmQoV2ViRmlsdGVy
T3BlcmF0aW9uOjpjcmVhdGVJbnZlcnRGaWx0ZXIoMC4yKSk7CisKKyAgICBwYXNzLT5zZXREYW1h
Z2VSZWN0KGRhbWFnZVJlY3QpOworICAgIHBhc3MtPnNldEhhc1RyYW5zcGFyZW50QmFja2dyb3Vu
ZChoYXNUcmFuc3BhcmVudEJhY2tncm91bmQpOworICAgIHBhc3MtPnNldEhhc09jY2x1c2lvbkZy
b21PdXRzaWRlVGFyZ2V0U3VyZmFjZShoYXNPY2NsdXNpb25Gcm9tT3V0c2lkZVRhcmdldFN1cmZh
Y2UpOworICAgIHBhc3MtPnNldEZpbHRlcnMoZmlsdGVycyk7CisgICAgcGFzcy0+c2V0QmFja2dy
b3VuZEZpbHRlcnMoYmFja2dyb3VuZEZpbHRlcnMpOworCisgICAgLy8gU3RpY2sgYSBxdWFkIGlu
IHRoZSBwYXNzLCB0aGlzIHNob3VsZCBub3QgZ2V0IGNvcGllZC4KKyAgICBDQ1Rlc3RSZW5kZXJQ
YXNzKiB0ZXN0UGFzcyA9IHN0YXRpY19jYXN0PENDVGVzdFJlbmRlclBhc3MqPihwYXNzLmdldCgp
KTsKKyAgICB0ZXN0UGFzcy0+c2hhcmVkUXVhZFN0YXRlTGlzdCgpLmFwcGVuZChDQ1NoYXJlZFF1
YWRTdGF0ZTo6Y3JlYXRlKFdlYlRyYW5zZm9ybWF0aW9uTWF0cml4KCksIEludFJlY3QoKSwgSW50
UmVjdCgpLCAxLCBmYWxzZSkpOworICAgIHRlc3RQYXNzLT5xdWFkTGlzdCgpLmFwcGVuZChDQ0No
ZWNrZXJib2FyZERyYXdRdWFkOjpjcmVhdGUodGVzdFBhc3MtPnNoYXJlZFF1YWRTdGF0ZUxpc3Qo
KS5sYXN0KCkuZ2V0KCksIEludFJlY3QoKSkpOworCisgICAgaW50IG5ld0lkID0gNjM7CisKKyAg
ICBPd25QdHI8Q0NSZW5kZXJQYXNzPiBjb3B5KHBhc3MtPmNvcHkobmV3SWQpKTsKKyAgICBFWFBF
Q1RfRVEobmV3SWQsIGNvcHktPmlkKCkpOworICAgIEVYUEVDVF9SRUNUX0VRKHBhc3MtPm91dHB1
dFJlY3QoKSwgY29weS0+b3V0cHV0UmVjdCgpKTsKKyAgICBFWFBFQ1RfRVEocGFzcy0+dHJhbnNm
b3JtVG9Sb290VGFyZ2V0KCksIGNvcHktPnRyYW5zZm9ybVRvUm9vdFRhcmdldCgpKTsKKyAgICBF
WFBFQ1RfUkVDVF9FUShwYXNzLT5kYW1hZ2VSZWN0KCksIGNvcHktPmRhbWFnZVJlY3QoKSk7Cisg
ICAgRVhQRUNUX0VRKHBhc3MtPmhhc1RyYW5zcGFyZW50QmFja2dyb3VuZCgpLCBjb3B5LT5oYXNU
cmFuc3BhcmVudEJhY2tncm91bmQoKSk7CisgICAgRVhQRUNUX0VRKHBhc3MtPmhhc09jY2x1c2lv
bkZyb21PdXRzaWRlVGFyZ2V0U3VyZmFjZSgpLCBjb3B5LT5oYXNPY2NsdXNpb25Gcm9tT3V0c2lk
ZVRhcmdldFN1cmZhY2UoKSk7CisgICAgRVhQRUNUX0VRKHBhc3MtPmZpbHRlcnMoKSwgY29weS0+
ZmlsdGVycygpKTsKKyAgICBFWFBFQ1RfRVEocGFzcy0+YmFja2dyb3VuZEZpbHRlcnMoKSwgY29w
eS0+YmFja2dyb3VuZEZpbHRlcnMoKSk7CisgICAgRVhQRUNUX0VRKDB1LCBjb3B5LT5xdWFkTGlz
dCgpLnNpemUoKSk7CisKKyAgICBFWFBFQ1RfRVEoc2l6ZW9mKENDUmVuZGVyUGFzc1NpemUpLCBz
aXplb2YoQ0NSZW5kZXJQYXNzKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>