<?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>82766</bug_id>
          
          <creation_ts>2012-03-30 11:54:10 -0700</creation_ts>
          <short_desc>[BlackBerry] Speed up processing of Selection region generation.</short_desc>
          <delta_ts>2012-04-12 08:54: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>WebKit BlackBerry</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike Fenton">mifenton</reporter>
          <assigned_to name="Mike Fenton">mifenton</assigned_to>
          <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>592359</commentid>
    <comment_count>0</comment_count>
    <who name="Mike Fenton">mifenton</who>
    <bug_when>2012-03-30 11:54:10 -0700</bug_when>
    <thetext>This addresses both bug 81536 and the regression caused by it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592375</commentid>
    <comment_count>1</comment_count>
      <attachid>134855</attachid>
    <who name="Mike Fenton">mifenton</who>
    <bug_when>2012-03-30 12:10:11 -0700</bug_when>
    <thetext>Created attachment 134855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592381</commentid>
    <comment_count>2</comment_count>
      <attachid>134855</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-03-30 12:13:15 -0700</bug_when>
    <thetext>Comment on attachment 134855
Patch

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

Looks good.

&gt; Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp:814
&gt; +    for (unsigned int i = 0; i &lt; rectList.size(); i++) {

Just unsigned is likely enough.

&gt; Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp:886
&gt; +        for (unsigned int i = 0; i &lt; unclippedRegion.numRects(); i++)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592469</commentid>
    <comment_count>3</comment_count>
      <attachid>134855</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-30 13:51:46 -0700</bug_when>
    <thetext>Comment on attachment 134855
Patch

Clearing flags on attachment: 134855

Committed r112721: &lt;http://trac.webkit.org/changeset/112721&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592470</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-30 13:51:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594595</commentid>
    <comment_count>5</comment_count>
      <attachid>134855</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-04-03 10:15:53 -0700</bug_when>
    <thetext>Comment on attachment 134855
Patch

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

&gt; Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp:808
&gt; +static bool regionRectListContainsPoint(IntRectRegion&amp; region, WebCore::IntPoint point)

1st param should be const
2nd param should be const&amp;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601171</commentid>
    <comment_count>6</comment_count>
    <who name="Mike Fenton">mifenton</who>
    <bug_when>2012-04-12 06:44:16 -0700</bug_when>
    <thetext>This patch caused a general error causing selection to fail.  Bug 83355, the temporary fix for that, regressed this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601208</commentid>
    <comment_count>7</comment_count>
      <attachid>136906</attachid>
    <who name="Mike Fenton">mifenton</who>
    <bug_when>2012-04-12 07:21:13 -0700</bug_when>
    <thetext>Created attachment 136906
Fixed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601213</commentid>
    <comment_count>8</comment_count>
      <attachid>136906</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-12 07:23:11 -0700</bug_when>
    <thetext>Comment on attachment 136906
Fixed Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601265</commentid>
    <comment_count>9</comment_count>
      <attachid>136906</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-12 08:54:04 -0700</bug_when>
    <thetext>Comment on attachment 136906
Fixed Patch

Clearing flags on attachment: 136906

Committed r113987: &lt;http://trac.webkit.org/changeset/113987&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601266</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-12 08:54:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134855</attachid>
            <date>2012-03-30 12:10:11 -0700</date>
            <delta_ts>2012-04-03 10:15:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-2012-03-30-Mike-Fenton-mifenton-rim.com.patch</filename>
            <type>text/plain</type>
            <size>21067</size>
            <attacher name="Mike Fenton">mifenton</attacher>
            
              <data encoding="base64">RnJvbSBiNDdiODlhNTM2MWE4OTZjMDI0Y2Q1Nzc0NGQ5ZjQyMmI2NzRlODU2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWtlIEZlbnRvbiA8bWlmZW50b25AcmltLmNvbT4KRGF0ZTog
RnJpLCAzMCBNYXIgMjAxMiAxMzoyMjoyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTItMDMt
MzAgIE1pa2UgRmVudG9uICA8bWlmZW50b25AcmltLmNvbT4KCiAgICAgICAgUFIgMTM2NTkzLgoK
ICAgICAgICBSZWZhY3RvciBnZW5lcmF0aW9uIG9mIFNlbGVjdGlvbiBJbnRSZWN0UmVnaW9uIHRv
IGF2b2lkCiAgICAgICAgdGhlIG5lZWQgZm9yIEludFJlY3RSZWdpb24ncyBoZWxwZXIgZnVuY3Rp
b25zIHdoaWNoIHdlcmUKICAgICAgICBub3QgYXZhaWxhYmxlIHdoZW4gdXNpbmcgaXQgYXMgYSBj
b250YWluZXIgd2l0aG91dAogICAgICAgIHVuaW9uaW5nIHRoZSByZWN0cy4KCiAgICAgICAgVGhp
cyBncmVhdGx5IHNwZWVkcyB1cCByZW5kZXJpbmcgYnkgbWFpbnRhaW5pbmcgdGhlIGRpc3RpbmN0
CiAgICAgICAgcmVjdHMgYXMgdGhlIHVuaW9uIG9wZXJhdGlvbiB3YXMgbGVuZ3RoIHdpdGggbGFy
Z2UgbnVtYmVycyBvZgogICAgICAgIHJlY3RzLgoKICAgICAgICBSZXZpZXdlZCBJbnRlcm5hbGx5
IGJ5IEdlbiBNYWssIE1pa2UgTGF0dGFuemlvIGFuZCBUeWxlciBBYmJvdHQuCgogICAgICAgICog
V2ViS2l0U3VwcG9ydC9ET01TdXBwb3J0LmNwcDoKICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0
OjpET01TdXBwb3J0Ojp2aXNpYmxlVGV4dFF1YWRzKToKICAgICAgICAoRE9NU3VwcG9ydCk6CiAg
ICAgICAgKiBXZWJLaXRTdXBwb3J0L0RPTVN1cHBvcnQuaDoKICAgICAgICAqIFdlYktpdFN1cHBv
cnQvU2VsZWN0aW9uSGFuZGxlci5jcHA6CiAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6U2Vs
ZWN0aW9uSGFuZGxlcjo6Y2xpcHBpbmdSZWN0Rm9yVmlzaWJsZUNvbnRlbnQpOgogICAgICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OlNlbGVjdGlvbkhhbmRsZXI6OnJlZ2lvbkZvclRleHRRdWFkcyk6
CiAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6U2VsZWN0aW9uSGFuZGxlcjo6c2V0U2VsZWN0
aW9uKToKICAgICAgICAoV2ViS2l0KToKICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpyZWdp
b25SZWN0TGlzdENvbnRhaW5zUG9pbnQpOgogICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OlNl
bGVjdGlvbkhhbmRsZXI6OnNlbGVjdGlvblBvc2l0aW9uQ2hhbmdlZCk6CiAgICAgICAgKEJsYWNr
QmVycnk6OldlYktpdDo6U2VsZWN0aW9uSGFuZGxlcjo6Y2FyZXRQb3NpdGlvbkNoYW5nZWQpOgog
ICAgICAgICogV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVyLmg6CiAgICAgICAgKFdlYkNv
cmUpOgogICAgICAgIChTZWxlY3Rpb25IYW5kbGVyKToKLS0tCiBTb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICB8ICAgMzYgKysrKysKIC4uLi9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0RPTVN1cHBvcnQuY3BwIHwgICAgOSArKwogLi4uL1dl
YktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvRE9NU3VwcG9ydC5oICAgfCAgICAxICsKIC4u
Li9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvU2VsZWN0aW9uSGFuZGxlci5jcHAgIHwgIDE1MiAr
KysrKysrKysrKy0tLS0tLS0tLQogLi4uL2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9TZWxlY3Rp
b25IYW5kbGVyLmggICAgfCAgICA3ICstCiA1IGZpbGVzIGNoYW5nZWQsIDEzNSBpbnNlcnRpb25z
KCspLCA3MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCBl
MzQxNDVmLi5iYzMyODdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOSBAQAorMjAxMi0wMy0zMCAgTWlrZSBGZW50b24gIDxtaWZlbnRvbkByaW0uY29tPgorCisg
ICAgICAgIFtCbGFja0JlcnJ5XSBTcGVlZCB1cCBwcm9jZXNzaW5nIG9mIFNlbGVjdGlvbiByZWdp
b24gZ2VuZXJhdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgyNzY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUFIgMTM2NTkzLgorCisgICAgICAgIFJlZmFjdG9yIGdlbmVyYXRpb24gb2YgU2VsZWN0
aW9uIEludFJlY3RSZWdpb24gdG8gYXZvaWQKKyAgICAgICAgdGhlIG5lZWQgZm9yIEludFJlY3RS
ZWdpb24ncyBoZWxwZXIgZnVuY3Rpb25zIHdoaWNoIHdlcmUKKyAgICAgICAgbm90IGF2YWlsYWJs
ZSB3aGVuIHVzaW5nIGl0IGFzIGEgY29udGFpbmVyIHdpdGhvdXQKKyAgICAgICAgdW5pb25pbmcg
dGhlIHJlY3RzLgorCisgICAgICAgIFRoaXMgZ3JlYXRseSBzcGVlZHMgdXAgcmVuZGVyaW5nIGJ5
IG1haW50YWluaW5nIHRoZSBkaXN0aW5jdAorICAgICAgICByZWN0cyBhcyB0aGUgdW5pb24gb3Bl
cmF0aW9uIHdhcyBsZW5ndGggd2l0aCBsYXJnZSBudW1iZXJzIG9mCisgICAgICAgIHJlY3RzLgor
CisgICAgICAgIFJldmlld2VkIEludGVybmFsbHkgYnkgR2VuIE1haywgTWlrZSBMYXR0YW56aW8g
YW5kIFR5bGVyIEFiYm90dC4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvRE9NU3VwcG9ydC5j
cHA6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkRPTVN1cHBvcnQ6OnZpc2libGVUZXh0
UXVhZHMpOgorICAgICAgICAoRE9NU3VwcG9ydCk6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9E
T01TdXBwb3J0Lmg6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVyLmNw
cDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6U2VsZWN0aW9uSGFuZGxlcjo6Y2xpcHBp
bmdSZWN0Rm9yVmlzaWJsZUNvbnRlbnQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpT
ZWxlY3Rpb25IYW5kbGVyOjpyZWdpb25Gb3JUZXh0UXVhZHMpOgorICAgICAgICAoQmxhY2tCZXJy
eTo6V2ViS2l0OjpTZWxlY3Rpb25IYW5kbGVyOjpzZXRTZWxlY3Rpb24pOgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6cmVnaW9uUmVjdExpc3RDb250YWlu
c1BvaW50KToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6U2VsZWN0aW9uSGFuZGxlcjo6
c2VsZWN0aW9uUG9zaXRpb25DaGFuZ2VkKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6
U2VsZWN0aW9uSGFuZGxlcjo6Y2FyZXRQb3NpdGlvbkNoYW5nZWQpOgorICAgICAgICAqIFdlYktp
dFN1cHBvcnQvU2VsZWN0aW9uSGFuZGxlci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChTZWxlY3Rpb25IYW5kbGVyKToKKwogMjAxMi0wMy0yOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQu
cmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjExMTI1OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBw
b3J0L0RPTVN1cHBvcnQuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBv
cnQvRE9NU3VwcG9ydC5jcHAKaW5kZXggMzViMDBjYi4uNWVlZWRkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvRE9NU3VwcG9ydC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvRE9NU3VwcG9ydC5jcHAKQEAg
LTQ4LDYgKzQ4LDE1IEBAIG5hbWVzcGFjZSBCbGFja0JlcnJ5IHsKIG5hbWVzcGFjZSBXZWJLaXQg
ewogbmFtZXNwYWNlIERPTVN1cHBvcnQgewogCit2b2lkIHZpc2libGVUZXh0UXVhZHMoY29uc3Qg
VmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uLCBWZWN0b3I8RmxvYXRRdWFkPiYgcXVhZHMpCit7
CisgICAgaWYgKCFzZWxlY3Rpb24uaXNSYW5nZSgpKQorICAgICAgICByZXR1cm47CisgICAgQVNT
RVJUKHNlbGVjdGlvbi5maXJzdFJhbmdlKCkpOworCisgICAgdmlzaWJsZVRleHRRdWFkcygqKHNl
bGVjdGlvbi5maXJzdFJhbmdlKCkpLCBxdWFkcywgdHJ1ZSAvKiB1c2VTZWxlY3Rpb25IZWlnaHQg
Ki8pOworfQorCiB2b2lkIHZpc2libGVUZXh0UXVhZHMoY29uc3QgUmFuZ2UmIHJhbmdlLCBWZWN0
b3I8RmxvYXRRdWFkPiYgcXVhZHMsIGJvb2wgdXNlU2VsZWN0aW9uSGVpZ2h0KQogewogICAgIC8v
IFJhbmdlOjp0ZXh0UXVhZHMgaW5jbHVkZXMgaGlkZGVuIHRleHQsIHdoaWNoIHdlIGRvbid0IHdh
bnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9E
T01TdXBwb3J0LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9ET01T
dXBwb3J0LmgKaW5kZXggNGJhMGM3NC4uNmY2Njk4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvRE9NU3VwcG9ydC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0RPTVN1cHBvcnQuaApAQCAtNjcsNiArNjcsNyBA
QCBXZWJDb3JlOjpIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCogdG9UZXh0Q29udHJvbEVsZW1l
bnQoV2ViQ29yZTo6Tm9kZSopOwogCiBXZWJDb3JlOjpJbnRSZWN0IHRyYW5zZm9ybWVkQm91bmRp
bmdCb3hGb3JSYW5nZShjb25zdCBXZWJDb3JlOjpSYW5nZSYpOwogdm9pZCB2aXNpYmxlVGV4dFF1
YWRzKGNvbnN0IFdlYkNvcmU6OlJhbmdlJiwgV1RGOjpWZWN0b3I8V2ViQ29yZTo6RmxvYXRRdWFk
PiYgcXVhZHMsIGJvb2wgdXNlU2VsZWN0aW9uSGVpZ2h0ID0gZmFsc2UpOwordm9pZCB2aXNpYmxl
VGV4dFF1YWRzKGNvbnN0IFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb24mLCBXVEY6OlZlY3RvcjxX
ZWJDb3JlOjpGbG9hdFF1YWQ+JiBxdWFkcyk7CiAKIFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb24g
dmlzaWJsZVNlbGVjdGlvbkZvclJhbmdlSW5wdXRFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqLCBp
bnQgc3RhcnQsIGludCBlbmQpOwogV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbiB2aXNpYmxlU2Vs
ZWN0aW9uRm9ySW5wdXRFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1NlbGVjdGlvbkhhbmRsZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvU2VsZWN0aW9uSGFuZGxl
ci5jcHAKaW5kZXggMDZiOTJiNi4uYTJlN2JmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvU2VsZWN0aW9uSGFuZGxlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvU2VsZWN0aW9uSGFuZGxlci5jcHAKQEAg
LTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFZGl0b3JDbGll
bnQuaCIKICNpbmNsdWRlICJGYXRGaW5nZXJzLmgiCisjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgogI2luY2x1ZGUg
IkZyYW1lVmlldy5oIgpAQCAtNDcsNiArNDgsOCBAQAogCiAjaW5jbHVkZSA8c3lzL2tleWNvZGVz
Lmg+CiAKKy8vIE5vdGU6IFRoaXMgZ2VuZXJhdGVzIGEgbG90IG9mIGxvZ3Mgd2hlbiBkdW1waW5n
IHJlY3RzIGxpc3RzLiBJdCB3aWxsIHNlcmlvdXNseQorLy8gaW1wYWN0IHBlcmZvcm1hbmNlLiBE
byBub3QgZW5hYmxlIHRoaXMgZHVyaW5nIHBlcmZvcm1hbmNlIHRlc3RzLgogI2RlZmluZSBTSE9X
REVCVUdfU0VMRUNUSU9OSEFORExFUiAwCiAKIHVzaW5nIG5hbWVzcGFjZSBCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTsKQEAgLTkxLDE3ICs5NCwzMSBAQCBXZWJTdHJpbmcgU2VsZWN0aW9uSGFuZGxlcjo6
c2VsZWN0ZWRUZXh0KCkgY29uc3QKICAgICByZXR1cm4gbV93ZWJQYWdlLT5mb2N1c2VkT3JNYWlu
RnJhbWUoKS0+ZWRpdG9yKCktPnNlbGVjdGVkVGV4dCgpOwogfQogCi12b2lkIFNlbGVjdGlvbkhh
bmRsZXI6OmdldENvbnNvbGlkYXRlZFJlZ2lvbk9mVGV4dFF1YWRzRm9yU2VsZWN0aW9uKGNvbnN0
IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiwgSW50UmVjdFJlZ2lvbiYgcmVnaW9uKSBjb25z
dAorV2ViQ29yZTo6SW50UmVjdCBTZWxlY3Rpb25IYW5kbGVyOjpjbGlwcGluZ1JlY3RGb3JWaXNp
YmxlQ29udGVudCgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKHJlZ2lvbi5pc0VtcHR5KCkpOworICAg
IC8vIEdldCB0aGUgY29udGFpbmluZyBjb250ZW50IHJlY3QgZm9yIHRoZSBmcmFtZS4KKyAgICBG
cmFtZSogZnJhbWUgPSBtX3dlYlBhZ2UtPmZvY3VzZWRPck1haW5GcmFtZSgpOworICAgIFdlYkNv
cmU6OkludFJlY3QgY2xpcFJlY3QgPSBXZWJDb3JlOjpJbnRSZWN0KC0xLCAtMSwgMCwgMCk7Cisg
ICAgaWYgKGZyYW1lICE9IG1fd2ViUGFnZS0+bWFpbkZyYW1lKCkpIHsKKyAgICAgICAgY2xpcFJl
Y3QgPSBtX3dlYlBhZ2UtPmdldFJlY3Vyc2l2ZVZpc2libGVXaW5kb3dSZWN0KGZyYW1lLT52aWV3
KCksIHRydWUgLyogbm8gY2xpcCB0byBtYWluIGZyYW1lIHdpbmRvdyAqLyk7CisgICAgICAgIGNs
aXBSZWN0ID0gbV93ZWJQYWdlLT5tX21haW5GcmFtZS0+dmlldygpLT53aW5kb3dUb0NvbnRlbnRz
KGNsaXBSZWN0KTsKKyAgICB9CiAKLSAgICBpZiAoIXNlbGVjdGlvbi5pc1JhbmdlKCkpCi0gICAg
ICAgIHJldHVybjsKKyAgICAvLyBHZXQgdGhlIGlucHV0IGZpZWxkIGNvbnRhaW5pbmcgYm94Lgor
ICAgIGlmIChtX3dlYlBhZ2UtPm1faW5wdXRIYW5kbGVyLT5pc0lucHV0TW9kZSgpCisgICAgICAg
ICYmIGZyYW1lLT5kb2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpCisgICAgICAgICYmIGZyYW1lLT5k
b2N1bWVudCgpLT5mb2N1c2VkTm9kZSgpLT5yZW5kZXJlcigpKSB7CiAKLSAgICBBU1NFUlQoc2Vs
ZWN0aW9uLmZpcnN0UmFuZ2UoKSk7CisgICAgICAgIC8vIEFkanVzdCB0aGUgYm91bmRpbmcgYm94
IHRvIHRoZSBmcmFtZSBvZmZzZXQuCisgICAgICAgIGNsaXBSZWN0ID0gZnJhbWUtPmRvY3VtZW50
KCktPmZvY3VzZWROb2RlKCktPnJlbmRlcmVyKCktPmFic29sdXRlQm91bmRpbmdCb3hSZWN0KCk7
CisgICAgICAgIGNsaXBSZWN0ID0gbV93ZWJQYWdlLT5tYWluRnJhbWUoKS0+dmlldygpLT53aW5k
b3dUb0NvbnRlbnRzKGZyYW1lLT52aWV3KCktPmNvbnRlbnRzVG9XaW5kb3coY2xpcFJlY3QpKTsK
KyAgICB9CisgICAgcmV0dXJuIGNsaXBSZWN0OworfQogCi0gICAgVmVjdG9yPEZsb2F0UXVhZD4g
cXVhZExpc3Q7Ci0gICAgRE9NU3VwcG9ydDo6dmlzaWJsZVRleHRRdWFkcygqKHNlbGVjdGlvbi5m
aXJzdFJhbmdlKCkpLCBxdWFkTGlzdCwgdHJ1ZSAvKiB1c2Ugc2VsZWN0aW9uIGhlaWdodCAqLyk7
Cit2b2lkIFNlbGVjdGlvbkhhbmRsZXI6OnJlZ2lvbkZvclRleHRRdWFkcyhWZWN0b3I8RmxvYXRR
dWFkPiAmcXVhZExpc3QsIEludFJlY3RSZWdpb24mIHJlZ2lvbiwgYm9vbCBzaG91bGRDbGlwVG9W
aXNpYmxlQ29udGVudCkgY29uc3QKK3sKKyAgICBBU1NFUlQocmVnaW9uLmlzRW1wdHkoKSk7CiAK
ICAgICBpZiAoIXF1YWRMaXN0LmlzRW1wdHkoKSkgewogICAgICAgICBGcmFtZVZpZXcqIGZyYW1l
VmlldyA9IG1fd2ViUGFnZS0+Zm9jdXNlZE9yTWFpbkZyYW1lKCktPnZpZXcoKTsKQEAgLTExMiwx
NCArMTI5LDI0IEBAIHZvaWQgU2VsZWN0aW9uSGFuZGxlcjo6Z2V0Q29uc29saWRhdGVkUmVnaW9u
T2ZUZXh0UXVhZHNGb3JTZWxlY3Rpb24oY29uc3QgVmlzaWJsCiAgICAgICAgIC8vIGZyYW1lUG9z
aXRpb24gaXMgaW4gbWFpbiBmcmFtZSBjb29yZGluYXRlcy4KICAgICAgICAgV2ViQ29yZTo6SW50
UG9pbnQgZnJhbWVQb3NpdGlvbiA9IG1fd2ViUGFnZS0+ZnJhbWVPZmZzZXQobV93ZWJQYWdlLT5m
b2N1c2VkT3JNYWluRnJhbWUoKSk7CiAKLSAgICAgICAgLy8gVGhlIHJhbmdlcyByZWN0IGxpc3Qg
aXMgYmFzZWQgb24gcmVuZGVyIGVsZW1lbnRzIGFuZCBtYXkgaW5jbHVkZSBtdWx0aXBsZSBhZGph
Y2VudCByZWN0cy4KLSAgICAgICAgLy8gVXNlIEludFJlY3RSZWdpb24gdG8gY29uc29saWRhdGUg
dGhlc2UgcmVjdHMgaW50byBiYW5kcyBhcyB3ZWxsIGFzIGEgY29udGFpbmVyIHRvIHBhc3MKLSAg
ICAgICAgLy8gdG8gdGhlIGNsaWVudC4KKyAgICAgICAgLy8gR2V0IHRoZSB2aXNpYmlsZSBjb250
ZW50IHJlY3QuCisgICAgICAgIFdlYkNvcmU6OkludFJlY3QgY2xpcHBpbmdSZWN0ID0gc2hvdWxk
Q2xpcFRvVmlzaWJsZUNvbnRlbnQgPyBjbGlwcGluZ1JlY3RGb3JWaXNpYmxlQ29udGVudCgpIDog
V2ViQ29yZTo6SW50UmVjdCgtMSwgLTEsIDAsIDApOworCisgICAgICAgIC8vIENvbnZlcnQgdGhl
IHRleHQgcXVhZHMgaW50byBhIG1vcmUgcGxhdGZvcm0gZnJpZW5keQorICAgICAgICAvLyBJbnRS
ZWN0UmVnaW9uIGFuZCBhZGp1c3QgZm9yIHN1YmZyYW1lcy4KKyAgICAgICAgc3RkOjp2ZWN0b3I8
UGxhdGZvcm06OkludFJlY3Q+IGFkanVzdGVkSW50UmVjdHM7CisgICAgICAgIFBsYXRmb3JtOjpJ
bnRSZWN0IHNlbGVjdGlvbkJvdW5kaW5nQm94OwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgcXVhZExpc3Quc2l6ZSgpOyBpKyspIHsKICAgICAgICAgICAgIFdlYkNvcmU6OkludFJl
Y3QgZW5jbG9zaW5nUmVjdCA9IHF1YWRMaXN0W2ldLmVuY2xvc2luZ0JvdW5kaW5nQm94KCk7CiAg
ICAgICAgICAgICBlbmNsb3NpbmdSZWN0LmludGVyc2VjdChmcmFtZVJlY3QpOwogICAgICAgICAg
ICAgZW5jbG9zaW5nUmVjdC5tb3ZlKGZyYW1lUG9zaXRpb24ueCgpLCBmcmFtZVBvc2l0aW9uLnko
KSk7Ci0gICAgICAgICAgICByZWdpb24gPSB1bmlvblJlZ2lvbnMocmVnaW9uLCBJbnRSZWN0UmVn
aW9uKGVuY2xvc2luZ1JlY3QpKTsKKyAgICAgICAgICAgIGFkanVzdGVkSW50UmVjdHMucHVzaF9i
YWNrKGVuY2xvc2luZ1JlY3QpOworCisgICAgICAgICAgICAvLyBDbGlwIHRvIHRoZSB2aXNpYmxl
IGNvbnRlbnQuCisgICAgICAgICAgICBpZiAoY2xpcHBpbmdSZWN0LmxvY2F0aW9uKCkgIT0gRE9N
U3VwcG9ydDo6SW52YWxpZFBvaW50KQorICAgICAgICAgICAgICAgIGVuY2xvc2luZ1JlY3QuaW50
ZXJzZWN0KGNsaXBwaW5nUmVjdCk7CisKKyAgICAgICAgICAgIHNlbGVjdGlvbkJvdW5kaW5nQm94
ID0gdW5pb25PZlJlY3RzKGVuY2xvc2luZ1JlY3QsIHNlbGVjdGlvbkJvdW5kaW5nQm94KTsKICAg
ICAgICAgfQogICAgIH0KIH0KQEAgLTQ4OSwyMiArNTE2LDI0IEBAIHZvaWQgU2VsZWN0aW9uSGFu
ZGxlcjo6c2V0U2VsZWN0aW9uKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBzdGFydCwgY29uc3Qg
V2ViQ29yCiAgICAgLy8gSWYgdGhlIHNlbGVjdGlvbiBzaXplIGlzIHJlZHVjZSB0byBsZXNzIHRo
YW4gYSBjaGFyYWN0ZXIsIHNlbGVjdGlvbiB0eXBlIGJlY29tZXMKICAgICAvLyBDYXJldC4gQXMg
bG9uZyBhcyBpdCBpcyBzdGlsbCBhIHJhbmdlLCBpdCdzIGEgdmFsaWQgc2VsZWN0aW9uLiBTZWxl
Y3Rpb24gY2Fubm90CiAgICAgLy8gYmUgY2FuY2VsbGVkIHRocm91Z2ggdGhpcyBmdW5jdGlvbi4K
LSAgICBJbnRSZWN0UmVnaW9uIHJlZ2lvbjsKLSAgICBnZXRDb25zb2xpZGF0ZWRSZWdpb25PZlRl
eHRRdWFkc0ZvclNlbGVjdGlvbihuZXdTZWxlY3Rpb24sIHJlZ2lvbik7Ci0gICAgY2xpcFJlZ2lv
blRvVmlzaWJsZUNvbnRhaW5lcihyZWdpb24pOwotICAgIGlmICghcmVnaW9uLmlzRW1wdHkoKSkg
eworICAgIFZlY3RvcjxGbG9hdFF1YWQ+IHF1YWRzOworICAgIERPTVN1cHBvcnQ6OnZpc2libGVU
ZXh0UXVhZHMobmV3U2VsZWN0aW9uLCBxdWFkcyk7CisKKyAgICBJbnRSZWN0UmVnaW9uIHVuY2xp
cHBlZFJlZ2lvbjsKKyAgICByZWdpb25Gb3JUZXh0UXVhZHMocXVhZHMsIHVuY2xpcHBlZFJlZ2lv
biwgZmFsc2UgLyogc2hvdWxkQ2xpcFRvVmlzaWJsZUNvbnRlbnQgKi8pOworICAgIGlmICghdW5j
bGlwcGVkUmVnaW9uLmlzRW1wdHkoKSkgewogICAgICAgICAvLyBDaGVjayBpZiB0aGUgaGFuZGxl
cyByZXZlcnNlZCBwb3NpdGlvbi4KICAgICAgICAgaWYgKG1fc2VsZWN0aW9uQWN0aXZlICYmICFu
ZXdTZWxlY3Rpb24uaXNCYXNlRmlyc3QoKSkKICAgICAgICAgICAgIG1fd2ViUGFnZS0+bV9jbGll
bnQtPm5vdGlmeVNlbGVjdGlvbkhhbmRsZXNSZXZlcnNlZCgpOwogCiAgICAgICAgIGNvbnRyb2xs
ZXItPnNldFNlbGVjdGlvbihuZXdTZWxlY3Rpb24pOwogCi0gICAgICAgIERFQlVHX1NFTEVDVElP
TihMb2dMZXZlbEluZm8sICJTZWxlY3Rpb25IYW5kbGVyOjpzZXRTZWxlY3Rpb24gc2VsZWN0aW9u
IHBvaW50cyB2YWxpZCwgc2VsZWN0aW9uIHVwZGF0ZWQiKTsKKyAgICAgICAgREVCVUdfU0VMRUNU
SU9OKExvZ0xldmVsSW5mbywgIlNlbGVjdGlvbkhhbmRsZXI6OnNldFNlbGVjdGlvbiBzZWxlY3Rp
b24gcG9pbnRzIHZhbGlkLCBzZWxlY3Rpb24gdXBkYXRlZFxuIik7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgLy8gUmVxdWVzdGVkIHNlbGVjdGlvbiByZXN1bHRzIGluIGFuIGVtcHR5IHNlbGVjdGlv
biwgc2tpcCB0aGlzIGNoYW5nZS4KICAgICAgICAgc2VsZWN0aW9uUG9zaXRpb25DaGFuZ2VkKCk7
CiAKLSAgICAgICAgREVCVUdfU0VMRUNUSU9OKExvZ0xldmVsV2FybiwgIlNlbGVjdGlvbkhhbmRs
ZXI6OnNldFNlbGVjdGlvbiBzZWxlY3Rpb24gcG9pbnRzIGludmFsaWQsIHNlbGVjdGlvbiBub3Qg
dXBkYXRlZCIpOworICAgICAgICBERUJVR19TRUxFQ1RJT04oTG9nTGV2ZWxXYXJuLCAiU2VsZWN0
aW9uSGFuZGxlcjo6c2V0U2VsZWN0aW9uIHNlbGVjdGlvbiBwb2ludHMgaW52YWxpZCwgc2VsZWN0
aW9uIG5vdCB1cGRhdGVkXG4iKTsKICAgICB9CiB9CiAKQEAgLTc0MSwzMyArNzcwLDYgQEAgc3Rh
dGljIHZvaWQgYWRqdXN0Q2FyZXRSZWN0cyhXZWJDb3JlOjpJbnRSZWN0JiBzdGFydENhcmV0LCBi
b29sIGlzU3RhcnRDYXJldENsaXAKICAgICB9CiB9CiAKLXZvaWQgU2VsZWN0aW9uSGFuZGxlcjo6
Y2xpcFJlZ2lvblRvVmlzaWJsZUNvbnRhaW5lcihJbnRSZWN0UmVnaW9uJiByZWdpb24pCi17Ci0g
ICAgQVNTRVJUKG1fd2ViUGFnZS0+bV9tYWluRnJhbWUgJiYgbV93ZWJQYWdlLT5tX21haW5GcmFt
ZS0+dmlldygpKTsKLQotICAgIEZyYW1lKiBmcmFtZSA9IG1fd2ViUGFnZS0+Zm9jdXNlZE9yTWFp
bkZyYW1lKCk7Ci0KLSAgICAvLyBEb24ndCBhbGxvdyB0aGUgcmVnaW9uIHRvIGV4dGVuZCBvdXRz
aWRlIG9mIHRoZSBhbGwgaXRzIGFuY2VzdG9yIGZyYW1lcycgdmlzaWJsZSBhcmVhLgotICAgIGlm
IChmcmFtZSAhPSBtX3dlYlBhZ2UtPm1haW5GcmFtZSgpKSB7Ci0gICAgICAgIFdlYkNvcmU6Oklu
dFJlY3QgY29udGFpbmluZ0NvbnRlbnRSZWN0OwotICAgICAgICBjb250YWluaW5nQ29udGVudFJl
Y3QgPSBtX3dlYlBhZ2UtPmdldFJlY3Vyc2l2ZVZpc2libGVXaW5kb3dSZWN0KGZyYW1lLT52aWV3
KCksIHRydWUgLyogbm8gY2xpcCB0byBtYWluIGZyYW1lIHdpbmRvdyAqLyk7Ci0gICAgICAgIGNv
bnRhaW5pbmdDb250ZW50UmVjdCA9IG1fd2ViUGFnZS0+bV9tYWluRnJhbWUtPnZpZXcoKS0+d2lu
ZG93VG9Db250ZW50cyhjb250YWluaW5nQ29udGVudFJlY3QpOwotICAgICAgICByZWdpb24gPSBp
bnRlcnNlY3RSZWdpb25zKEludFJlY3RSZWdpb24oY29udGFpbmluZ0NvbnRlbnRSZWN0KSwgcmVn
aW9uKTsKLSAgICB9Ci0KLSAgICAvLyBEb24ndCBhbGxvdyB0aGUgcmVnaW9uIHRvIGV4dGVuZCBv
dXRzaWRlIG9mIHRoZSBpbnB1dCBmaWVsZC4KLSAgICBpZiAobV93ZWJQYWdlLT5tX2lucHV0SGFu
ZGxlci0+aXNJbnB1dE1vZGUoKQotICAgICAgICAmJiBmcmFtZS0+ZG9jdW1lbnQoKS0+Zm9jdXNl
ZE5vZGUoKQotICAgICAgICAmJiBmcmFtZS0+ZG9jdW1lbnQoKS0+Zm9jdXNlZE5vZGUoKS0+cmVu
ZGVyZXIoKSkgewotCi0gICAgICAgIC8vIEFkanVzdCB0aGUgYm91bmRpbmcgYm94IHRvIHRoZSBm
cmFtZSBvZmZzZXQuCi0gICAgICAgIFdlYkNvcmU6OkludFJlY3QgYm91bmRpbmdCb3goZnJhbWUt
PmRvY3VtZW50KCktPmZvY3VzZWROb2RlKCktPnJlbmRlcmVyKCktPmFic29sdXRlQm91bmRpbmdC
b3hSZWN0KCkpOwotICAgICAgICBib3VuZGluZ0JveCA9IG1fd2ViUGFnZS0+bWFpbkZyYW1lKCkt
PnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhmcmFtZS0+dmlldygpLT5jb250ZW50c1RvV2luZG93
KGJvdW5kaW5nQm94KSk7Ci0KLSAgICAgICAgcmVnaW9uID0gaW50ZXJzZWN0UmVnaW9ucyhJbnRS
ZWN0UmVnaW9uKGJvdW5kaW5nQm94KSwgcmVnaW9uKTsKLSAgICB9Ci19Ci0KIFdlYkNvcmU6Oklu
dFBvaW50IFNlbGVjdGlvbkhhbmRsZXI6OmNsaXBQb2ludFRvVmlzaWJsZUNvbnRhaW5lcihjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fd2ViUGFn
ZS0+bV9tYWluRnJhbWUgJiYgbV93ZWJQYWdlLT5tX21haW5GcmFtZS0+dmlldygpKTsKQEAgLTgw
MSw2ICs4MDMsMjEgQEAgc3RhdGljIFdlYkNvcmU6OkludFBvaW50IHJlZmVyZW5jZVBvaW50KGNv
bnN0IFZpc2libGVQb3NpdGlvbiYgcG9zaXRpb24sIGNvbnN0IFcKICAgICByZXR1cm4gY2FyZXRD
b21wYXJpc29uUG9pbnRGb3JSZWN0KHN0YXJ0Q2FyZXRCb3VuZHMsIGlzU3RhcnRDYXJldCwgaXNS
VEwpOwogfQogCisvLyBDaGVjayBhbGwgcmVjdHMgaW4gdGhlIHJlZ2lvbiBmb3IgYSBwb2ludCBt
YXRjaC4gVGhlIHJlZ2lvbiBpcyBub24tYmFuZGVkCisvLyBhbmQgbm9uLXNvcnRlZCBzbyBhbGwg
bXVzdCBiZSBjaGVja2VkLgorc3RhdGljIGJvb2wgcmVnaW9uUmVjdExpc3RDb250YWluc1BvaW50
KEludFJlY3RSZWdpb24mIHJlZ2lvbiwgV2ViQ29yZTo6SW50UG9pbnQgcG9pbnQpCit7CisgICAg
aWYgKCFyZWdpb24uZXh0ZW50cygpLmNvbnRhaW5zKHBvaW50KSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgc3RkOjp2ZWN0b3I8UGxhdGZvcm06OkludFJlY3Q+IHJlY3RMaXN0ID0gcmVn
aW9uLnJlY3RzKCk7CisgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCByZWN0TGlzdC5z
aXplKCk7IGkrKykgeworICAgICAgICBpZiAocmVjdExpc3RbaV0uY29udGFpbnMocG9pbnQpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwog
Ly8gTm90ZTogVGhpcyBpcyB0aGUgb25seSBmdW5jdGlvbiBpbiBTZWxlY3Rpb25IYW5kbGVyIGlu
IHdoaWNoIHRoZSBjb29yZGluYXRlCiAvLyBzeXN0ZW0gaXMgbm90IGVudGlyZWx5IFdlYktpdC4K
IHZvaWQgU2VsZWN0aW9uSGFuZGxlcjo6c2VsZWN0aW9uUG9zaXRpb25DaGFuZ2VkKGJvb2wgdmlz
dWFsQ2hhbmdlT25seSkKQEAgLTgzOCw1MSArODU1LDUyIEBAIHZvaWQgU2VsZWN0aW9uSGFuZGxl
cjo6c2VsZWN0aW9uUG9zaXRpb25DaGFuZ2VkKGJvb2wgdmlzdWFsQ2hhbmdlT25seSkKICAgICBX
ZWJDb3JlOjpJbnRSZWN0IGVuZENhcmV0OwogCiAgICAgLy8gR2V0IHRoZSB0ZXh0IHJlY3RzIGZy
b20gdGhlIHNlbGVjdGlvbnMgcmFuZ2UuCi0gICAgSW50UmVjdFJlZ2lvbiByZWdpb247Ci0gICAg
Z2V0Q29uc29saWRhdGVkUmVnaW9uT2ZUZXh0UXVhZHNGb3JTZWxlY3Rpb24oZnJhbWUtPnNlbGVj
dGlvbigpLT5zZWxlY3Rpb24oKSwgcmVnaW9uKTsKKyAgICBWZWN0b3I8RmxvYXRRdWFkPiBxdWFk
czsKKyAgICBET01TdXBwb3J0Ojp2aXNpYmxlVGV4dFF1YWRzKGZyYW1lLT5zZWxlY3Rpb24oKS0+
c2VsZWN0aW9uKCksIHF1YWRzKTsKKworICAgIEludFJlY3RSZWdpb24gdW5jbGlwcGVkUmVnaW9u
OworICAgIHJlZ2lvbkZvclRleHRRdWFkcyhxdWFkcywgdW5jbGlwcGVkUmVnaW9uLCBmYWxzZSAv
KiBzaG91bGRDbGlwVG9WaXNpYmxlQ29udGVudCAqLyk7CiAKICAgICAvLyBJZiB0aGVyZSBpcyBu
byBjaGFuZ2UgaW4gc2VsZWN0ZWQgdGV4dCBhbmQgdGhlIHZpc3VhbCByZWN0cwogICAgIC8vIGhh
dmUgbm90IGNoYW5nZWQgdGhlbiBkb24ndCBib3RoZXIgbm90aWZ5aW5nIGFueXRoaW5nLgotICAg
IGlmICh2aXN1YWxDaGFuZ2VPbmx5ICYmIG1fbGFzdFNlbGVjdGlvblJlZ2lvbi5pc0VxdWFsKHJl
Z2lvbikpCisgICAgaWYgKHZpc3VhbENoYW5nZU9ubHkgJiYgbV9sYXN0U2VsZWN0aW9uUmVnaW9u
LmlzRXF1YWwodW5jbGlwcGVkUmVnaW9uKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9sYXN0
U2VsZWN0aW9uUmVnaW9uID0gcmVnaW9uOworICAgIG1fbGFzdFNlbGVjdGlvblJlZ2lvbiA9IHVu
Y2xpcHBlZFJlZ2lvbjsKIAotICAgIGlmICghcmVnaW9uLmlzRW1wdHkoKSkgeworICAgIEludFJl
Y3RSZWdpb24gdmlzaWJsZVNlbGVjdGlvblJlZ2lvbjsKKyAgICBpZiAoIXVuY2xpcHBlZFJlZ2lv
bi5pc0VtcHR5KCkpIHsKICAgICAgICAgV2ViQ29yZTo6SW50UmVjdCB1bmNsaXBwZWRTdGFydENh
cmV0OwogICAgICAgICBXZWJDb3JlOjpJbnRSZWN0IHVuY2xpcHBlZEVuZENhcmV0OwogCiAgICAg
ICAgIGJvb2wgaXNSVEwgPSBkaXJlY3Rpb25PZkVuY2xvc2luZ0Jsb2NrKGZyYW1lLT5zZWxlY3Rp
b24oKSkgPT0gUlRMOwogCi0gICAgICAgIHN0ZDo6dmVjdG9yPFBsYXRmb3JtOjpJbnRSZWN0PiBy
ZWN0TGlzdCA9IHJlZ2lvbi5yZWN0cygpOwotCi0gICAgICAgIFdlYkNvcmU6OkludFBvaW50IHN0
YXJ0Q2FyZXRSZWZlcmVuY2VQb2ludCA9IHJlZmVyZW5jZVBvaW50KGZyYW1lLT5zZWxlY3Rpb24o
KS0+c2VsZWN0aW9uKCkudmlzaWJsZVN0YXJ0KCksIHJlZ2lvbi5leHRlbnRzKCksIGZyYW1lUG9z
LCB0cnVlIC8qIGlzU3RhcnRDYXJldCAqLywgaXNSVEwpOwotICAgICAgICBXZWJDb3JlOjpJbnRQ
b2ludCBlbmRDYXJldFJlZmVyZW5jZVBvaW50ID0gcmVmZXJlbmNlUG9pbnQoZnJhbWUtPnNlbGVj
dGlvbigpLT5zZWxlY3Rpb24oKS52aXNpYmxlRW5kKCksIHJlZ2lvbi5leHRlbnRzKCksIGZyYW1l
UG9zLCBmYWxzZSAvKiBpc1N0YXJ0Q2FyZXQgKi8sIGlzUlRMKTsKKyAgICAgICAgV2ViQ29yZTo6
SW50UG9pbnQgc3RhcnRDYXJldFJlZmVyZW5jZVBvaW50ID0gcmVmZXJlbmNlUG9pbnQoZnJhbWUt
PnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKS52aXNpYmxlU3RhcnQoKSwgdW5jbGlwcGVkUmVnaW9u
LmV4dGVudHMoKSwgZnJhbWVQb3MsIHRydWUgLyogaXNTdGFydENhcmV0ICovLCBpc1JUTCk7Cisg
ICAgICAgIFdlYkNvcmU6OkludFBvaW50IGVuZENhcmV0UmVmZXJlbmNlUG9pbnQgPSByZWZlcmVu
Y2VQb2ludChmcmFtZS0+c2VsZWN0aW9uKCktPnNlbGVjdGlvbigpLnZpc2libGVFbmQoKSwgdW5j
bGlwcGVkUmVnaW9uLmV4dGVudHMoKSwgZnJhbWVQb3MsIGZhbHNlIC8qIGlzU3RhcnRDYXJldCAq
LywgaXNSVEwpOwogCi0gICAgICAgIGFkanVzdENhcmV0UmVjdHModW5jbGlwcGVkU3RhcnRDYXJl
dCwgZmFsc2UgLyogdW5jbGlwcGVkICovLCB1bmNsaXBwZWRFbmRDYXJldCwgZmFsc2UgLyogdW5j
bGlwcGVkICovLCByZWN0TGlzdCwgc3RhcnRDYXJldFJlZmVyZW5jZVBvaW50LCBlbmRDYXJldFJl
ZmVyZW5jZVBvaW50LCBpc1JUTCk7CisgICAgICAgIGFkanVzdENhcmV0UmVjdHModW5jbGlwcGVk
U3RhcnRDYXJldCwgZmFsc2UgLyogdW5jbGlwcGVkICovLCB1bmNsaXBwZWRFbmRDYXJldCwgZmFs
c2UgLyogdW5jbGlwcGVkICovLCB1bmNsaXBwZWRSZWdpb24ucmVjdHMoKSwgc3RhcnRDYXJldFJl
ZmVyZW5jZVBvaW50LCBlbmRDYXJldFJlZmVyZW5jZVBvaW50LCBpc1JUTCk7CiAKLSAgICAgICAg
Y2xpcFJlZ2lvblRvVmlzaWJsZUNvbnRhaW5lcihyZWdpb24pOworICAgICAgICByZWdpb25Gb3JU
ZXh0UXVhZHMocXVhZHMsIHZpc2libGVTZWxlY3Rpb25SZWdpb24pOwogCiAjaWYgU0hPV0RFQlVH
X1NFTEVDVElPTkhBTkRMRVIgLy8gRG9uJ3QgcmVseSBqdXN0IG9uIERFQlVHX1NFTEVDVElPTiB0
byBhdm9pZCBsb29wLgotICAgICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHJlY3RM
aXN0LnNpemUoKTsgaSsrKQotICAgICAgICAgICAgREVCVUdfU0VMRUNUSU9OKExvZ0xldmVsQ3Jp
dGljYWwsICJSZWN0IGxpc3QgLSBVbm1vZGlmaWVkICMlZCwgKCVkLCAlZCkgKCVkIHggJWQpIiwg
aSwgcmVjdExpc3RbaV0ueCgpLCByZWN0TGlzdFtpXS55KCksIHJlY3RMaXN0W2ldLndpZHRoKCks
IHJlY3RMaXN0W2ldLmhlaWdodCgpKTsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7
IGkgPCByZWdpb24ubnVtUmVjdHMoKTsgaSsrKQotICAgICAgICAgICAgREVCVUdfU0VMRUNUSU9O
KExvZ0xldmVsQ3JpdGljYWwsICJSZWN0IGxpc3QgIC0gQ29uc29saWRhdGVkICMlZCwgKCVkLCAl
ZCkgKCVkIHggJWQpIiwgaSwgcmVnaW9uLnJlY3RzKClbaV0ueCgpLCByZWdpb24ucmVjdHMoKVtp
XS55KCksIHJlZ2lvbi5yZWN0cygpW2ldLndpZHRoKCksIHJlZ2lvbi5yZWN0cygpW2ldLmhlaWdo
dCgpKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCB1bmNsaXBwZWRSZWdp
b24ubnVtUmVjdHMoKTsgaSsrKQorICAgICAgICAgICAgREVCVUdfU0VMRUNUSU9OKExvZ0xldmVs
Q3JpdGljYWwsICJSZWN0IGxpc3QgLSBVbm1vZGlmaWVkICMlZCwgKCVkLCAlZCkgKCVkIHggJWQp
IiwgaSwgdW5jbGlwcGVkUmVnaW9uLnJlY3RzKClbaV0ueCgpLCB1bmNsaXBwZWRSZWdpb24ucmVj
dHMoKVtpXS55KCksIHVuY2xpcHBlZFJlZ2lvbi5yZWN0cygpW2ldLndpZHRoKCksIHVuY2xpcHBl
ZFJlZ2lvbi5yZWN0cygpW2ldLmhlaWdodCgpKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQg
aSA9IDA7IGkgPCB2aXNpYmxlU2VsZWN0aW9uUmVnaW9uLm51bVJlY3RzKCk7IGkrKykKKyAgICAg
ICAgICAgIERFQlVHX1NFTEVDVElPTihMb2dMZXZlbENyaXRpY2FsLCAiUmVjdCBsaXN0ICAtIENs
aXBwZWQgdG8gVmlzaWJsZSAjJWQsICglZCwgJWQpICglZCB4ICVkKSIsIGksIHZpc2libGVTZWxl
Y3Rpb25SZWdpb24ucmVjdHMoKVtpXS54KCksIHZpc2libGVTZWxlY3Rpb25SZWdpb24ucmVjdHMo
KVtpXS55KCksIHZpc2libGVTZWxlY3Rpb25SZWdpb24ucmVjdHMoKVtpXS53aWR0aCgpLCB2aXNp
YmxlU2VsZWN0aW9uUmVnaW9uLnJlY3RzKClbaV0uaGVpZ2h0KCkpOwogI2VuZGlmCiAKICAgICAg
ICAgYm9vbCBzaG91bGRDYXJlQWJvdXRQb3NzaWJsZUNsaXBwZWRPdXRTZWxlY3Rpb24gPSBmcmFt
ZSAhPSBtX3dlYlBhZ2UtPm1haW5GcmFtZSgpIHx8IG1fd2ViUGFnZS0+bV9pbnB1dEhhbmRsZXIt
PmlzSW5wdXRNb2RlKCk7CiAKLSAgICAgICAgaWYgKCFyZWdpb24uaXNFbXB0eSgpIHx8IHNob3Vs
ZENhcmVBYm91dFBvc3NpYmxlQ2xpcHBlZE91dFNlbGVjdGlvbikgeworICAgICAgICBpZiAoIXZp
c2libGVTZWxlY3Rpb25SZWdpb24uaXNFbXB0eSgpIHx8IHNob3VsZENhcmVBYm91dFBvc3NpYmxl
Q2xpcHBlZE91dFNlbGVjdGlvbikgewogICAgICAgICAgICAgLy8gQWRqdXN0IHRoZSBoYW5kbGUg
bWFya2VycyB0byBiZSBhdCB0aGUgZW5kIG9mIHRoZSBwYWludGVkIHJlY3QuIFdoZW4gc2VsZWN0
aW5nIGxpbmtzCiAgICAgICAgICAgICAvLyBhbmQgb3RoZXIgZWxlbWVudHMgdGhhdCBtYXkgaGF2
ZSBhIGxhcmdlciB2aXNpYmxlIGFyZWEgdGhhbiBuZWVkcyB0byBiZSByZW5kZXJlZCBhIGdhcAog
ICAgICAgICAgICAgLy8gY2FuIGV4aXN0IGJldHdlZW4gdGhlIGhhbmRsZSBhbmQgb3ZlcmxheSBy
ZWdpb24uCiAKLSAgICAgICAgICAgIGJvb2wgc2hvdWxkQ2xpcFN0YXJ0Q2FyZXQgPSAhcmVnaW9u
LmlzUmVjdEluUmVnaW9uKHVuY2xpcHBlZFN0YXJ0Q2FyZXQpOwotICAgICAgICAgICAgYm9vbCBz
aG91bGRDbGlwRW5kQ2FyZXQgPSAhcmVnaW9uLmlzUmVjdEluUmVnaW9uKHVuY2xpcHBlZEVuZENh
cmV0KTsKKyAgICAgICAgICAgIGJvb2wgc2hvdWxkQ2xpcFN0YXJ0Q2FyZXQgPSAhcmVnaW9uUmVj
dExpc3RDb250YWluc1BvaW50KHZpc2libGVTZWxlY3Rpb25SZWdpb24sIHVuY2xpcHBlZFN0YXJ0
Q2FyZXQubG9jYXRpb24oKSk7CisgICAgICAgICAgICBib29sIHNob3VsZENsaXBFbmRDYXJldCA9
ICFyZWdpb25SZWN0TGlzdENvbnRhaW5zUG9pbnQodmlzaWJsZVNlbGVjdGlvblJlZ2lvbiwgdW5j
bGlwcGVkRW5kQ2FyZXQubG9jYXRpb24oKSk7CiAKICAgICAgICAgICAgIC8vIEZpbmQgdGhlIHRv
cCBjb3JuZXIgYW5kIGJvdHRvbSBjb3JuZXIuCi0gICAgICAgICAgICBzdGQ6OnZlY3RvcjxQbGF0
Zm9ybTo6SW50UmVjdD4gY2xpcHBlZFJlY3RMaXN0ID0gcmVnaW9uLnJlY3RzKCk7Ci0gICAgICAg
ICAgICBhZGp1c3RDYXJldFJlY3RzKHN0YXJ0Q2FyZXQsIHNob3VsZENsaXBTdGFydENhcmV0LCBl
bmRDYXJldCwgc2hvdWxkQ2xpcEVuZENhcmV0LCBjbGlwcGVkUmVjdExpc3QsIHN0YXJ0Q2FyZXRS
ZWZlcmVuY2VQb2ludCwgZW5kQ2FyZXRSZWZlcmVuY2VQb2ludCwgaXNSVEwpOworICAgICAgICAg
ICAgYWRqdXN0Q2FyZXRSZWN0cyhzdGFydENhcmV0LCBzaG91bGRDbGlwU3RhcnRDYXJldCwgZW5k
Q2FyZXQsIHNob3VsZENsaXBFbmRDYXJldCwgdmlzaWJsZVNlbGVjdGlvblJlZ2lvbi5yZWN0cygp
LCBzdGFydENhcmV0UmVmZXJlbmNlUG9pbnQsIGVuZENhcmV0UmVmZXJlbmNlUG9pbnQsIGlzUlRM
KTsKIAogICAgICAgICAgICAgLy8gVHJhbnNsYXRlIHRoZSBjYXJldCB2YWx1ZXMgYXMgdGhleSBt
dXN0IGJlIGluIHRyYW5zZm9ybWVkIGNvb3JkaW5hdGVzLgogICAgICAgICAgICAgaWYgKCFzaG91
bGRDbGlwU3RhcnRDYXJldCkgewpAQCAtOTAxLDcgKzkxOSw3IEBAIHZvaWQgU2VsZWN0aW9uSGFu
ZGxlcjo6c2VsZWN0aW9uUG9zaXRpb25DaGFuZ2VkKGJvb2wgdmlzdWFsQ2hhbmdlT25seSkKICAg
ICAgICAgICAgICAgICAgICAgc3RhcnRDYXJldC54KCksIHN0YXJ0Q2FyZXQueSgpLCBzdGFydENh
cmV0LndpZHRoKCksIHN0YXJ0Q2FyZXQuaGVpZ2h0KCksIGVuZENhcmV0LngoKSwgZW5kQ2FyZXQu
eSgpLCBlbmRDYXJldC53aWR0aCgpLCBlbmRDYXJldC5oZWlnaHQoKSk7CiAKIAotICAgIG1fd2Vi
UGFnZS0+bV9jbGllbnQtPm5vdGlmeVNlbGVjdGlvbkRldGFpbHNDaGFuZ2VkKHN0YXJ0Q2FyZXQs
IGVuZENhcmV0LCByZWdpb24pOworICAgIG1fd2ViUGFnZS0+bV9jbGllbnQtPm5vdGlmeVNlbGVj
dGlvbkRldGFpbHNDaGFuZ2VkKHN0YXJ0Q2FyZXQsIGVuZENhcmV0LCB2aXNpYmxlU2VsZWN0aW9u
UmVnaW9uKTsKIH0KIAogLy8gTk9URTogVGhpcyBmdW5jdGlvbiBpcyBub3QgaW4gV2ViS2l0IGNv
b3JkaW5hdGVzLgpAQCAtOTMwLDkgKzk0OCw3IEBAIHZvaWQgU2VsZWN0aW9uSGFuZGxlcjo6Y2Fy
ZXRQb3NpdGlvbkNoYW5nZWQoKQogICAgICAgICBjYXJldExvY2F0aW9uLm1vdmUoZnJhbWVPZmZz
ZXQueCgpLCBmcmFtZU9mZnNldC55KCkpOwogCiAgICAgICAgIC8vIENsaXAgYWdhaW5zdCB0aGUg
Y29udGFpbmluZyBmcmFtZSBhbmQgbm9kZSBib3VuZGFyaWVzLgotICAgICAgICBJbnRSZWN0UmVn
aW9uIHJlZ2lvbihjYXJldExvY2F0aW9uKTsKLSAgICAgICAgY2xpcFJlZ2lvblRvVmlzaWJsZUNv
bnRhaW5lcihyZWdpb24pOwotICAgICAgICBjYXJldExvY2F0aW9uID0gcmVnaW9uLmV4dGVudHMo
KTsKKyAgICAgICAgY2FyZXRMb2NhdGlvbi5pbnRlcnNlY3QoY2xpcHBpbmdSZWN0Rm9yVmlzaWJs
ZUNvbnRlbnQoKSk7CiAgICAgfQogCiAgICAgbV9jYXJldEFjdGl2ZSA9ICFjYXJldExvY2F0aW9u
LmlzRW1wdHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRT
dXBwb3J0L1NlbGVjdGlvbkhhbmRsZXIuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJL
aXRTdXBwb3J0L1NlbGVjdGlvbkhhbmRsZXIuaAppbmRleCA0MWE2OWY4Li4zZDY2OGVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25I
YW5kbGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvU2Vs
ZWN0aW9uSGFuZGxlci5oCkBAIC0yMywxMSArMjMsMTQgQEAKICNpbmNsdWRlICJCbGFja0JlcnJ5
UGxhdGZvcm1QcmltaXRpdmVzLmgiCiAjaW5jbHVkZSAiVGV4dEdyYW51bGFyaXR5LmgiCiAKKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKIG5hbWVzcGFjZSBXVEYgewogY2xhc3MgU3RyaW5nOwog
fQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBGbG9hdFF1YWQ7CiBjbGFzcyBJbnRQb2lu
dDsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBOb2RlOwpAQCAtNjksOCArNzIsOCBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAgICAgdm9pZCBjYXJldFBvc2l0aW9uQ2hhbmdlZCgpOwotICAgIHZvaWQg
Z2V0Q29uc29saWRhdGVkUmVnaW9uT2ZUZXh0UXVhZHNGb3JTZWxlY3Rpb24oY29uc3QgV2ViQ29y
ZTo6VmlzaWJsZVNlbGVjdGlvbiYsIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpJbnRSZWN0UmVnaW9u
JikgY29uc3Q7Ci0gICAgdm9pZCBjbGlwUmVnaW9uVG9WaXNpYmxlQ29udGFpbmVyKEJsYWNrQmVy
cnk6OlBsYXRmb3JtOjpJbnRSZWN0UmVnaW9uJik7CisgICAgdm9pZCByZWdpb25Gb3JUZXh0UXVh
ZHMoV1RGOjpWZWN0b3I8V2ViQ29yZTo6RmxvYXRRdWFkPiYsIEJsYWNrQmVycnk6OlBsYXRmb3Jt
OjpJbnRSZWN0UmVnaW9uJiwgYm9vbCBzaG91bGRDbGlwVG9WaXNpYmxlQ29udGVudCA9IHRydWUp
IGNvbnN0OworICAgIFdlYkNvcmU6OkludFJlY3QgY2xpcHBpbmdSZWN0Rm9yVmlzaWJsZUNvbnRl
bnQoKSBjb25zdDsKICAgICBib29sIHVwZGF0ZU9ySGFuZGxlSW5wdXRTZWxlY3Rpb24oV2ViQ29y
ZTo6VmlzaWJsZVNlbGVjdGlvbiYgbmV3U2VsZWN0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYgcmVsYXRpdmVTdGFydAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAs
IGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiByZWxhdGl2ZUVuZCk7CiAgICAgV2ViQ29yZTo6Tm9k
ZSogRE9NQ29udGFpbmVyTm9kZUZvclZpc2libGVQb3NpdGlvbihjb25zdCBXZWJDb3JlOjpWaXNp
YmxlUG9zaXRpb24mKSBjb25zdDsKLS0gCjEuNy41LjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136906</attachid>
            <date>2012-04-12 07:21:13 -0700</date>
            <delta_ts>2012-04-12 08:54:04 -0700</delta_ts>
            <desc>Fixed Patch</desc>
            <filename>0001-2012-04-11-Mike-Fenton-mifenton-rim.com.patch</filename>
            <type>text/plain</type>
            <size>3845</size>
            <attacher name="Mike Fenton">mifenton</attacher>
            
              <data encoding="base64">RnJvbSAzYjMyNmI3ZTY1NDRjNDI3NjAyMDNmZTY4MWQxMzIwMGE1MDgwMWFhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWtlIEZlbnRvbiA8bWlmZW50b25AcmltLmNvbT4KRGF0ZTog
V2VkLCAxMSBBcHIgMjAxMiAxNTo1MjoyNyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIDIwMTItMDQt
MTEgIE1pa2UgRmVudG9uICA8bWlmZW50b25AcmltLmNvbT4KCiAgICAgICAgUFIgMTM2NTkzLgoK
ICAgICAgICBSZS1zcGVlZCB1cCB0ZXh0IHNlbGVjdGlvbi4gIFRoZSBwcmV2aW91cyBwYXRjaCBo
YWQgYSBtZXJnZQogICAgICAgIGVycm9yIGNhdXNpbmcgdGV4dCBzZWxlY3Rpb24gbm90IHRvIGZ1
bmN0aW9uLiAgVGhlIGZpeAogICAgICAgIGltcGxlbWVudGVkIHJlbW92ZWQgdGhlIG9wdGltaXph
dGlvbi4gIFRoaXMgZml4ZXMgdGhlIGVycm9yCiAgICAgICAgaW4gdGhlIG9yaWdpbmFsIHBhdGNo
IGFuZCByZW1vdmVzIHRoZSB0ZW1wb3JhcnkgZml4LgoKICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KCiAgICAgICAgKiBXZWJLaXRTdXBwb3J0L1NlbGVjdGlvbkhhbmRsZXIuY3Bw
OgogICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OlNlbGVjdGlvbkhhbmRsZXI6OnJlZ2lvbkZv
clRleHRRdWFkcyk6Ci0tLQogU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyAgICAg
ICAgICAgICAgICAgfCAgIDIyICsrKysrKysrKysrKysrKysrKysrCiAuLi4vYmxhY2tiZXJyeS9X
ZWJLaXRTdXBwb3J0L1NlbGVjdGlvbkhhbmRsZXIuY3BwICB8ICAgIDYgKysrLQogMiBmaWxlcyBj
aGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQ2hhbmdlTG9nCmluZGV4IDBjNmEwZGUuLjNlZTc3MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA0LTEyICBNaWtlIEZlbnRvbiAgPG1p
ZmVudG9uQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnldIFNwZWVkIHVwIHByb2Nlc3Np
bmcgb2YgU2VsZWN0aW9uIHJlZ2lvbiBnZW5lcmF0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODI3NjYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQUiAxMzY1OTMuCisKKyAgICAgICAgUmUtc3BlZWQg
dXAgdGV4dCBzZWxlY3Rpb24uICBUaGUgcHJldmlvdXMgcGF0Y2ggaGFkIGEgbWVyZ2UKKyAgICAg
ICAgZXJyb3IgY2F1c2luZyB0ZXh0IHNlbGVjdGlvbiBub3QgdG8gZnVuY3Rpb24uICBUaGUgZml4
CisgICAgICAgIGltcGxlbWVudGVkIHJlbW92ZWQgdGhlIG9wdGltaXphdGlvbi4gIFRoaXMgZml4
ZXMgdGhlIGVycm9yCisgICAgICAgIGluIHRoZSBvcmlnaW5hbCBwYXRjaCBhbmQgcmVtb3ZlcyB0
aGUgdGVtcG9yYXJ5IGZpeC4KKworICAgICAgICBNYWtlIHN0eWxlIHVwZGF0ZWQgYXMgc3VnZ2Vz
dGVkIGJ5IEFudG9uaW8gR29tZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgSW50ZXJuYWxseSBieSBH
ZW4gTWFrLgorCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVyLmNwcDoK
KyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6U2VsZWN0aW9uSGFuZGxlcjo6cmVnaW9uRm9y
VGV4dFF1YWRzKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6cmVnaW9uUmVjdExpc3RD
b250YWluc1BvaW50KToKKwogMjAxMi0wNC0xMSAgSm9lIE1hc29uICA8am1hc29uQHJpbS5jb20+
CiAKICAgICAgICAgW0JsYWNrQmVycnldIFVwZGF0ZSB0byB0aGUgdGhyZWFkLXNhZmUgR3VhcmRl
ZFBvaW50ZXIgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0
U3VwcG9ydC9TZWxlY3Rpb25IYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJLaXRTdXBwb3J0L1NlbGVjdGlvbkhhbmRsZXIuY3BwCmluZGV4IDUwMWVmNjguLmVhYWRlNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1NlbGVj
dGlvbkhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBw
b3J0L1NlbGVjdGlvbkhhbmRsZXIuY3BwCkBAIC0xMzUsMTggKzEzNSwyMCBAQCB2b2lkIFNlbGVj
dGlvbkhhbmRsZXI6OnJlZ2lvbkZvclRleHRRdWFkcyhWZWN0b3I8RmxvYXRRdWFkPiAmcXVhZExp
c3QsIEludFJlY3RSZQogICAgICAgICAvLyBDb252ZXJ0IHRoZSB0ZXh0IHF1YWRzIGludG8gYSBt
b3JlIHBsYXRmb3JtIGZyaWVuZHkKICAgICAgICAgLy8gSW50UmVjdFJlZ2lvbiBhbmQgYWRqdXN0
IGZvciBzdWJmcmFtZXMuCiAgICAgICAgIFBsYXRmb3JtOjpJbnRSZWN0IHNlbGVjdGlvbkJvdW5k
aW5nQm94OworICAgICAgICBzdGQ6OnZlY3RvcjxQbGF0Zm9ybTo6SW50UmVjdD4gYWRqdXN0ZWRJ
bnRSZWN0czsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHF1YWRMaXN0LnNpemUo
KTsgaSsrKSB7CiAgICAgICAgICAgICBXZWJDb3JlOjpJbnRSZWN0IGVuY2xvc2luZ1JlY3QgPSBx
dWFkTGlzdFtpXS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpOwogICAgICAgICAgICAgZW5jbG9zaW5n
UmVjdC5pbnRlcnNlY3QoZnJhbWVSZWN0KTsKICAgICAgICAgICAgIGVuY2xvc2luZ1JlY3QubW92
ZShmcmFtZVBvc2l0aW9uLngoKSwgZnJhbWVQb3NpdGlvbi55KCkpOwotICAgICAgICAgICAgcmVn
aW9uID0gdW5pb25SZWdpb25zKHJlZ2lvbiwgSW50UmVjdFJlZ2lvbihlbmNsb3NpbmdSZWN0KSk7
CiAKICAgICAgICAgICAgIC8vIENsaXAgdG8gdGhlIHZpc2libGUgY29udGVudC4KICAgICAgICAg
ICAgIGlmIChjbGlwcGluZ1JlY3QubG9jYXRpb24oKSAhPSBET01TdXBwb3J0OjpJbnZhbGlkUG9p
bnQpCiAgICAgICAgICAgICAgICAgZW5jbG9zaW5nUmVjdC5pbnRlcnNlY3QoY2xpcHBpbmdSZWN0
KTsKIAorICAgICAgICAgICAgYWRqdXN0ZWRJbnRSZWN0cy5wdXNoX2JhY2soZW5jbG9zaW5nUmVj
dCk7CiAgICAgICAgICAgICBzZWxlY3Rpb25Cb3VuZGluZ0JveCA9IHVuaW9uT2ZSZWN0cyhlbmNs
b3NpbmdSZWN0LCBzZWxlY3Rpb25Cb3VuZGluZ0JveCk7CiAgICAgICAgIH0KKyAgICAgICAgcmVn
aW9uID0gSW50UmVjdFJlZ2lvbihzZWxlY3Rpb25Cb3VuZGluZ0JveCwgYWRqdXN0ZWRJbnRSZWN0
cy5zaXplKCksIGFkanVzdGVkSW50UmVjdHMpOwogICAgIH0KIH0KIApAQCAtODA0LDcgKzgwNiw3
IEBAIHN0YXRpYyBXZWJDb3JlOjpJbnRQb2ludCByZWZlcmVuY2VQb2ludChjb25zdCBWaXNpYmxl
UG9zaXRpb24mIHBvc2l0aW9uLCBjb25zdCBXCiAKIC8vIENoZWNrIGFsbCByZWN0cyBpbiB0aGUg
cmVnaW9uIGZvciBhIHBvaW50IG1hdGNoLiBUaGUgcmVnaW9uIGlzIG5vbi1iYW5kZWQKIC8vIGFu
ZCBub24tc29ydGVkIHNvIGFsbCBtdXN0IGJlIGNoZWNrZWQuCi1zdGF0aWMgYm9vbCByZWdpb25S
ZWN0TGlzdENvbnRhaW5zUG9pbnQoSW50UmVjdFJlZ2lvbiYgcmVnaW9uLCBXZWJDb3JlOjpJbnRQ
b2ludCBwb2ludCkKK3N0YXRpYyBib29sIHJlZ2lvblJlY3RMaXN0Q29udGFpbnNQb2ludChjb25z
dCBJbnRSZWN0UmVnaW9uJiByZWdpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCkK
IHsKICAgICBpZiAoIXJlZ2lvbi5leHRlbnRzKCkuY29udGFpbnMocG9pbnQpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0tIAoxLjcuNS40Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>