<?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>23777</bug_id>
          
          <creation_ts>2009-02-05 18:46:38 -0800</creation_ts>
          <short_desc>Make WorkerMessagingProxy class derive from two base proxy classes.</short_desc>
          <delta_ts>2009-02-09 02:14:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>23776</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jian Li">jianli</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>jianli</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>108566</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-02-05 18:46:38 -0800</bug_when>
    <thetext>After two base proxy classes are added, we need to make WorkerMessagingProxy class derive from these two base classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108567</commentid>
    <comment_count>1</comment_count>
      <attachid>27375</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-02-05 19:00:03 -0800</bug_when>
    <thetext>Created attachment 27375
Proposed Patch

This patch is to make WorkerMessagingProxy derive from two base proxy classes introduced in issue 23776. The next patch is to change to use different proxy pointers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108613</commentid>
    <comment_count>2</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-06 02:35:09 -0800</bug_when>
    <thetext>ChangeLog:
  WorkerMessaingProxy sp

These header files seem to be missing from the patch:
  #include &quot;WorkerContextProxyBase.h&quot;
  #include &quot;WorkerObjectProxyBase.h&quot;
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108614</commentid>
    <comment_count>3</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-06 02:41:14 -0800</bug_when>
    <thetext>I see that have the header files in another patch.  I&apos;d recommend setting the &quot;depends on&quot; field above to make this more clear. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108617</commentid>
    <comment_count>4</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-06 03:01:23 -0800</bug_when>
    <thetext>This looks good to me (just needs the typo fixed in the change log).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108698</commentid>
    <comment_count>5</comment_count>
      <attachid>27415</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-02-06 13:24:20 -0800</bug_when>
    <thetext>Created attachment 27415
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108699</commentid>
    <comment_count>6</comment_count>
      <attachid>27375</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-06 13:25:16 -0800</bug_when>
    <thetext>Comment on attachment 27375
Proposed Patch

new patch obsoletes previous one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108730</commentid>
    <comment_count>7</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-06 15:18:22 -0800</bug_when>
    <thetext>It would be nice to fix the typo:

ChangeLog:
  WorkerMessaingProxy sp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108788</commentid>
    <comment_count>8</comment_count>
      <attachid>27442</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-02-06 17:46:05 -0800</bug_when>
    <thetext>Created attachment 27442
Proposed Patch

All fixed. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108867</commentid>
    <comment_count>9</comment_count>
      <attachid>27415</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-07 23:03:25 -0800</bug_when>
    <thetext>Comment on attachment 27415
Proposed Patch

New patch makes this one obsolete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108870</commentid>
    <comment_count>10</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2009-02-07 23:09:11 -0800</bug_when>
    <thetext>Looks good to me.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108956</commentid>
    <comment_count>11</comment_count>
      <attachid>27442</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-02-09 02:09:37 -0800</bug_when>
    <thetext>Comment on attachment 27442
Proposed Patch

r=me. I think that to validate this change, you need to also change the type of Worker::m_messagingProxy though.

         // Only use these methods on the worker object thread.
-        void terminate();
         bool askedToTerminate() const { return m_askedToTerminate; }

There&apos;s only one method left here, so the comment needs to be adjusted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108958</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-02-09 02:14:14 -0800</bug_when>
    <thetext>Committed revision 40781.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27375</attachid>
            <date>2009-02-05 19:00:03 -0800</date>
            <delta_ts>2009-02-06 13:25:16 -0800</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>ChangeWorkerMessagingProxy</filename>
            <type>text/plain</type>
            <size>9713</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQwNjk4
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMDktMDIt
MDUgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgV29ya2VyTWVzc2FpbmdQcm94eSBkZXJp
dmUgZnJvbSB0d28gYmFzZSBwcm94eSBjbGFzc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NzcKKworICAgICAgICAqIGJpbmRpbmdzL2pzL1dv
cmtlclNjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0
Q29udHJvbGxlcjo6ZXZhbHVhdGUpOgorICAgICAgICAqIGRvbS9Xb3JrZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyOjp0ZXJtaW5hdGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
OjpoYXNQZW5kaW5nQWN0aXZpdHkpOgorICAgICAgICAqIGRvbS9Xb3JrZXJDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6OnJlcG9ydEV4Y2VwdGlvbik6CisgICAg
ICAgICogZG9tL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlclRocmVhZEFjdGl2aXR5UmVwb3J0VGFzazo6cGVyZm9ybVRhc2spOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdCk6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyT2JqZWN0RGVz
dHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojp0ZXJtaW5h
dGVXb3JrZXJDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5
Ojpjb25maXJtV29ya2VyVGhyZWFkTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6cmVwb3J0UGVuZGluZ0FjdGl2aXR5KToKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpyZXBvcnRQZW5kaW5nQWN0aXZpdHlJbnRlcm5hbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6aGFzUGVuZGluZ0FjdGl2aXR5
KToKKyAgICAgICAgKiBkb20vV29ya2VyTWVzc2FnaW5nUHJveHkuaDoKKwogMjAwOS0wMi0wNSAg
U2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2Zm
cmV5IEdhcmVuLgpJbmRleDogYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAJKHJl
dmlzaW9uIDQwNjcyKQorKysgYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTg5LDcgKzg5LDcgQEAgU2NyaXB0VmFsdWUgV29ya2VyU2NyaXB0
Q29udHJvbGxlcjo6ZXZhbAogICAgIENvbXBsZXRpb24gY29tcCA9IEpTQzo6ZXZhbHVhdGUoZXhl
YywgZXhlYy0+ZHluYW1pY0dsb2JhbE9iamVjdCgpLT5nbG9iYWxTY29wZUNoYWluKCksIHNvdXJj
ZUNvZGUuanNTb3VyY2VDb2RlKCksIG1fd29ya2VyQ29udGV4dFdyYXBwZXIpOwogICAgIG1fd29y
a2VyQ29udGV4dFdyYXBwZXItPnN0b3BUaW1lb3V0Q2hlY2soKTsKIAotICAgIG1fd29ya2VyQ29u
dGV4dC0+dGhyZWFkKCktPm1lc3NhZ2luZ1Byb3h5KCktPnJlcG9ydFdvcmtlclRocmVhZEFjdGl2
aXR5KG1fd29ya2VyQ29udGV4dC0+aGFzUGVuZGluZ0FjdGl2aXR5KCkpOworICAgIG1fd29ya2Vy
Q29udGV4dC0+dGhyZWFkKCktPm1lc3NhZ2luZ1Byb3h5KCktPnJlcG9ydFBlbmRpbmdBY3Rpdml0
eShtX3dvcmtlckNvbnRleHQtPmhhc1BlbmRpbmdBY3Rpdml0eSgpKTsKIAogICAgIGlmIChjb21w
LmNvbXBsVHlwZSgpID09IE5vcm1hbCB8fCBjb21wLmNvbXBsVHlwZSgpID09IFJldHVyblZhbHVl
KQogICAgICAgICByZXR1cm4gY29tcC52YWx1ZSgpOwpJbmRleDogZG9tL1dvcmtlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gZG9tL1dvcmtlci5jcHAJKHJldmlzaW9uIDQwNjcyKQorKysgZG9tL1dvcmtl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBXb3JrZXI6OnBvc3RN
ZXNzYWdlKGNvbnN0IFN0cmluZyYgbQogCiB2b2lkIFdvcmtlcjo6dGVybWluYXRlKCkKIHsKLSAg
ICBtX21lc3NhZ2luZ1Byb3h5LT50ZXJtaW5hdGUoKTsKKyAgICBtX21lc3NhZ2luZ1Byb3h5LT50
ZXJtaW5hdGVXb3JrZXJDb250ZXh0KCk7CiB9CiAKIGJvb2wgV29ya2VyOjpjYW5TdXNwZW5kKCkg
Y29uc3QKQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIFdvcmtlcjo6c3RvcCgpCiAKIGJvb2wgV29y
a2VyOjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAogewotICAgIHJldHVybiBtX21lc3NhZ2lu
Z1Byb3h5LT53b3JrZXJUaHJlYWRIYXNQZW5kaW5nQWN0aXZpdHkoKSB8fCBBY3RpdmVET01PYmpl
Y3Q6Omhhc1BlbmRpbmdBY3Rpdml0eSgpOworICAgIHJldHVybiBtX21lc3NhZ2luZ1Byb3h5LT5o
YXNQZW5kaW5nQWN0aXZpdHkoKSB8fCBBY3RpdmVET01PYmplY3Q6Omhhc1BlbmRpbmdBY3Rpdml0
eSgpOwogfQogCiB2b2lkIFdvcmtlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHVu
dXNlZFJlc291cmNlKQpJbmRleDogZG9tL1dvcmtlckNvbnRleHQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IGRvbS9Xb3JrZXJDb250ZXh0LmNwcAkocmV2aXNpb24gNDA2NzIpCisrKyBkb20vV29ya2VyQ29u
dGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw3ICsxMDgsNyBAQCBib29sIFdvcmtlckNv
bnRleHQ6Omhhc1BlbmRpbmdBY3Rpdml0eSgpCiAKIHZvaWQgV29ya2VyQ29udGV4dDo6cmVwb3J0
RXhjZXB0aW9uKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwpCiB7Ci0gICAgbV90aHJlYWQtPm1lc3NhZ2luZ1Byb3h5KCkt
PnBvc3RXb3JrZXJFeGNlcHRpb24oZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwp
OworICAgIG1fdGhyZWFkLT5tZXNzYWdpbmdQcm94eSgpLT5wb3N0RXhjZXB0aW9uVG9Xb3JrZXJP
YmplY3QoZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCiBzdGF0aWMg
dm9pZCBhZGRNZXNzYWdlVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXb3Jr
ZXJNZXNzYWdpbmdQcm94eSogbWVzc2FnaW5nUHJveHksIE1lc3NhZ2VEZXN0aW5hdGlvbiBkZXN0
aW5hdGlvbiwgTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTCkKSW5kZXg6IGRvbS9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
ZG9tL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAkocmV2aXNpb24gNDA2NzIpCisrKyBkb20vV29y
a2VyTWVzc2FnaW5nUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODEsNyArMTgxLDcgQEAg
cHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25D
b250ZXh0KikKICAgICB7Ci0gICAgICAgIG1fbWVzc2FnaW5nUHJveHktPnJlcG9ydFdvcmtlclRo
cmVhZEFjdGl2aXR5SW50ZXJuYWwobV9jb25maXJtaW5nTWVzc2FnZSwgbV9oYXNQZW5kaW5nQWN0
aXZpdHkpOworICAgICAgICBtX21lc3NhZ2luZ1Byb3h5LT5yZXBvcnRQZW5kaW5nQWN0aXZpdHlJ
bnRlcm5hbChtX2NvbmZpcm1pbmdNZXNzYWdlLCBtX2hhc1BlbmRpbmdBY3Rpdml0eSk7CiAgICAg
fQogCiAgICAgV29ya2VyTWVzc2FnaW5nUHJveHkqIG1fbWVzc2FnaW5nUHJveHk7CkBAIC0yMzYs
NyArMjM2LDcgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdFRhc2tUb1dvcgogICAg
IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2sodGFzayk7CiB9CiAKLXZvaWQgV29y
a2VyTWVzc2FnaW5nUHJveHk6OnBvc3RXb3JrZXJFeGNlcHRpb24oY29uc3QgU3RyaW5nJiBlcnJv
ck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKK3ZvaWQg
V29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBT
dHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMKQogewogICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soV29ya2VyRXhj
ZXB0aW9uVGFzazo6Y3JlYXRlKGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMLCB0
aGlzKSk7CiB9CkBAIC0yNjMsNyArMjYzLDcgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6
d29ya2VyT2JqZWN0RAogewogICAgIG1fd29ya2VyT2JqZWN0ID0gMDsKICAgICBpZiAobV93b3Jr
ZXJUaHJlYWQpCi0gICAgICAgIHRlcm1pbmF0ZSgpOworICAgICAgICB0ZXJtaW5hdGVXb3JrZXJD
b250ZXh0KCk7CiAgICAgZWxzZQogICAgICAgICB3b3JrZXJDb250ZXh0RGVzdHJveWVkSW50ZXJu
YWwoKTsKIH0KQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp3
b3JrZXJDb250ZXh0CiAgICAgICAgIGRlbGV0ZSB0aGlzOwogfQogCi12b2lkIFdvcmtlck1lc3Nh
Z2luZ1Byb3h5Ojp0ZXJtaW5hdGUoKQordm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6dGVybWlu
YXRlV29ya2VyQ29udGV4dCgpCiB7CiAgICAgaWYgKG1fYXNrZWRUb1Rlcm1pbmF0ZSkKICAgICAg
ICAgcmV0dXJuOwpAQCAtMjk2LDE2ICsyOTYsMTYgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94
eTo6dGVybWluYXRlKCkKIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OmNvbmZpcm1Xb3JrZXJU
aHJlYWRNZXNzYWdlKGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KQogewogICAgIG1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC0+cG9zdFRhc2soV29ya2VyVGhyZWFkQWN0aXZpdHlSZXBvcnRUYXNrOjpj
cmVhdGUodGhpcywgdHJ1ZSwgaGFzUGVuZGluZ0FjdGl2aXR5KSk7Ci0gICAgLy8gV2lsbCBleGVj
dXRlIHJlcG9ydFdvcmtlclRocmVhZEFjdGl2aXR5SW50ZXJuYWwoKSBvbiBjb250ZXh0J3MgdGhy
ZWFkLgorICAgIC8vIFdpbGwgZXhlY3V0ZSByZXBvcnRQZW5kaW5nQWN0aXZpdHlJbnRlcm5hbCgp
IG9uIGNvbnRleHQncyB0aHJlYWQuCiB9CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnJl
cG9ydFdvcmtlclRocmVhZEFjdGl2aXR5KGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KQordm9pZCBX
b3JrZXJNZXNzYWdpbmdQcm94eTo6cmVwb3J0UGVuZGluZ0FjdGl2aXR5KGJvb2wgaGFzUGVuZGlu
Z0FjdGl2aXR5KQogewogICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+cG9zdFRhc2soV29y
a2VyVGhyZWFkQWN0aXZpdHlSZXBvcnRUYXNrOjpjcmVhdGUodGhpcywgZmFsc2UsIGhhc1BlbmRp
bmdBY3Rpdml0eSkpOwotICAgIC8vIFdpbGwgZXhlY3V0ZSByZXBvcnRXb3JrZXJUaHJlYWRBY3Rp
dml0eUludGVybmFsKCkgb24gY29udGV4dCdzIHRocmVhZC4KKyAgICAvLyBXaWxsIGV4ZWN1dGUg
cmVwb3J0UGVuZGluZ0FjdGl2aXR5SW50ZXJuYWwoKSBvbiBjb250ZXh0J3MgdGhyZWFkLgogfQog
Ci12b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpyZXBvcnRXb3JrZXJUaHJlYWRBY3Rpdml0eUlu
dGVybmFsKGJvb2wgY29uZmlybWluZ01lc3NhZ2UsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KQor
dm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cmVwb3J0UGVuZGluZ0FjdGl2aXR5SW50ZXJuYWwo
Ym9vbCBjb25maXJtaW5nTWVzc2FnZSwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkpCiB7CiAgICAg
aWYgKGNvbmZpcm1pbmdNZXNzYWdlICYmICFtX2Fza2VkVG9UZXJtaW5hdGUpIHsKICAgICAgICAg
QVNTRVJUKG1fdW5jb25maXJtZWRNZXNzYWdlQ291bnQpOwpAQCAtMzE1LDcgKzMxNSw3IEBAIHZv
aWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnJlcG9ydFdvcmtlclQKICAgICBtX3dvcmtlclRocmVh
ZEhhZFBlbmRpbmdBY3Rpdml0eSA9IGhhc1BlbmRpbmdBY3Rpdml0eTsKIH0KIAotYm9vbCBXb3Jr
ZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyVGhyZWFkSGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QK
K2Jvb2wgV29ya2VyTWVzc2FnaW5nUHJveHk6Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIChtX3VuY29uZmlybWVkTWVzc2FnZUNvdW50IHx8IG1fd29ya2VyVGhyZWFk
SGFkUGVuZGluZ0FjdGl2aXR5KSAmJiAhbV9hc2tlZFRvVGVybWluYXRlOwogfQpJbmRleDogZG9t
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZG9tL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmgJKHJldmlzaW9uIDQwNjcyKQorKysgZG9tL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDggQEAKICNpZiBFTkFCTEUoV09SS0VSUykKIAog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJXb3JrZXJDb250
ZXh0UHJveHlCYXNlLmgiCisjaW5jbHVkZSAiV29ya2VyT2JqZWN0UHJveHlCYXNlLmgiCiAjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC00MiwyOCArNDQsMzIgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIFdvcmtlcjsKICAgICBjbGFzcyBXb3JrZXJUaHJlYWQ7CiAKLSAgICBj
bGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3Jr
ZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHlCYXNlLCBwdWJsaWMg
V29ya2VyT2JqZWN0UHJveHlCYXNlLCBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAg
ICBXb3JrZXJNZXNzYWdpbmdQcm94eShQYXNzUmVmUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+
LCBXb3JrZXIqKTsKIAotICAgICAgICB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJPYmplY3QoY29u
c3QgU3RyaW5nJiBtZXNzYWdlKTsKLSAgICAgICAgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyQ29u
dGV4dChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOworICAgICAgICAvLyBJbXBsZW1lbnRhdGlvbnMg
b2YgV29ya2VyQ29udGV4dFByb3h5QmFzZS4KKyAgICAgICAgLy8gKE9ubHkgdXNlIHRoZXNlIG1l
dGhvZHMgaW4gdGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKKyAgICAgICAgdmlydHVhbCB2b2lk
IHRlcm1pbmF0ZVdvcmtlckNvbnRleHQoKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNz
YWdlVG9Xb3JrZXJDb250ZXh0KGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CisgICAgICAgIHZpcnR1
YWwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdDsKKworICAgICAgICAvLyBJbXBsZW1l
bnRhdGlvbnMgb2YgV29ya2VyT2JqZWN0UHJveHlCYXNlLgorICAgICAgICAvLyAoT25seSB1c2Ug
dGhlc2UgbWV0aG9kcyBpbiB0aGUgd29ya2VyIGNvbnRleHQgdGhyZWFkLikKKyAgICAgICAgdmly
dHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBtZXNzYWdl
KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHJlcG9ydFBlbmRpbmdBY3Rpdml0eShib29s
IGhhc1BlbmRpbmdBY3Rpdml0eSk7CisgICAgICAgIHZpcnR1YWwgdm9pZCB3b3JrZXJDb250ZXh0
RGVzdHJveWVkKCk7CiAKICAgICAgICAgdm9pZCBwb3N0VGFza1RvV29ya2VyT2JqZWN0KFBhc3NS
ZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4pOwogICAgICAgICB2b2lkIHBvc3RU
YXNrVG9Xb3JrZXJDb250ZXh0KFBhc3NSZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFz
az4pOwogCi0gICAgICAgIHZvaWQgcG9zdFdvcmtlckV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVy
cm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKLQog
ICAgICAgICB2b2lkIHdvcmtlclRocmVhZENyZWF0ZWQoUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWQ+
KTsKICAgICAgICAgdm9pZCB3b3JrZXJPYmplY3REZXN0cm95ZWQoKTsKLSAgICAgICAgdm9pZCB3
b3JrZXJDb250ZXh0RGVzdHJveWVkKCk7CiAKICAgICAgICAgdm9pZCBjb25maXJtV29ya2VyVGhy
ZWFkTWVzc2FnZShib29sIGhhc1BlbmRpbmdBY3Rpdml0eSk7Ci0gICAgICAgIHZvaWQgcmVwb3J0
V29ya2VyVGhyZWFkQWN0aXZpdHkoYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkpOwotICAgICAgICBi
b29sIHdvcmtlclRocmVhZEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0OwogCiAgICAgICAgIC8v
IE9ubHkgdXNlIHRoZXNlIG1ldGhvZHMgb24gdGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLgotICAg
ICAgICB2b2lkIHRlcm1pbmF0ZSgpOwogICAgICAgICBib29sIGFza2VkVG9UZXJtaW5hdGUoKSBj
b25zdCB7IHJldHVybiBtX2Fza2VkVG9UZXJtaW5hdGU7IH0KIAogICAgIHByaXZhdGU6CkBAIC03
MSwxMCArNzcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBmcmllbmQgY2xhc3Mg
V29ya2VyQ29udGV4dERlc3Ryb3llZFRhc2s7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBXb3JrZXJU
aHJlYWRBY3Rpdml0eVJlcG9ydFRhc2s7CiAKLSAgICAgICAgfldvcmtlck1lc3NhZ2luZ1Byb3h5
KCk7CisgICAgICAgIHZpcnR1YWwgfldvcmtlck1lc3NhZ2luZ1Byb3h5KCk7CiAKICAgICAgICAg
dm9pZCB3b3JrZXJDb250ZXh0RGVzdHJveWVkSW50ZXJuYWwoKTsKLSAgICAgICAgdm9pZCByZXBv
cnRXb3JrZXJUaHJlYWRBY3Rpdml0eUludGVybmFsKGJvb2wgY29uZmlybWluZ01lc3NhZ2UsIGJv
b2wgaGFzUGVuZGluZ0FjdGl2aXR5KTsKKyAgICAgICAgdm9pZCByZXBvcnRQZW5kaW5nQWN0aXZp
dHlJbnRlcm5hbChib29sIGNvbmZpcm1pbmdNZXNzYWdlLCBib29sIGhhc1BlbmRpbmdBY3Rpdml0
eSk7CiAgICAgICAgIFdvcmtlciogd29ya2VyT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV93b3Jr
ZXJPYmplY3Q7IH0KIAogICAgICAgICBSZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27415</attachid>
            <date>2009-02-06 13:24:20 -0800</date>
            <delta_ts>2009-02-07 23:03:25 -0800</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>ChangeWorkerMessagingProxy2</filename>
            <type>text/plain</type>
            <size>9681</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQwNzI3
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMDktMDIt
MDYgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgV29ya2VyTWVzc2FpbmdQcm94eSBkZXJp
dmUgZnJvbSB0d28gYmFzZSBwcm94eSBjbGFzc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NzcKKworICAgICAgICAqIGJpbmRpbmdzL2pzL1dv
cmtlclNjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0
Q29udHJvbGxlcjo6ZXZhbHVhdGUpOgorICAgICAgICAqIGRvbS9Xb3JrZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyOjp0ZXJtaW5hdGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
OjpoYXNQZW5kaW5nQWN0aXZpdHkpOgorICAgICAgICAqIGRvbS9Xb3JrZXJDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6OnJlcG9ydEV4Y2VwdGlvbik6CisgICAg
ICAgICogZG9tL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlclRocmVhZEFjdGl2aXR5UmVwb3J0VGFzazo6cGVyZm9ybVRhc2spOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdCk6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyT2JqZWN0RGVz
dHJveWVkKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojp0ZXJtaW5h
dGVXb3JrZXJDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5
Ojpjb25maXJtV29ya2VyVGhyZWFkTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6cmVwb3J0UGVuZGluZ0FjdGl2aXR5KToKKyAgICAgICAgKFdlYkNvcmU6
Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpyZXBvcnRQZW5kaW5nQWN0aXZpdHlJbnRlcm5hbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6aGFzUGVuZGluZ0FjdGl2aXR5
KToKKyAgICAgICAgKiBkb20vV29ya2VyTWVzc2FnaW5nUHJveHkuaDoKKwogMjAwOS0wMi0wNiAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIGZp
eC4KSW5kZXg6IGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA0
MDcyNikKKysrIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC04OSw3ICs4OSw3IEBAIFNjcmlwdFZhbHVlIFdvcmtlclNjcmlwdENvbnRyb2xs
ZXI6OmV2YWwKICAgICBDb21wbGV0aW9uIGNvbXAgPSBKU0M6OmV2YWx1YXRlKGV4ZWMsIGV4ZWMt
PmR5bmFtaWNHbG9iYWxPYmplY3QoKS0+Z2xvYmFsU2NvcGVDaGFpbigpLCBzb3VyY2VDb2RlLmpz
U291cmNlQ29kZSgpLCBtX3dvcmtlckNvbnRleHRXcmFwcGVyKTsKICAgICBtX3dvcmtlckNvbnRl
eHRXcmFwcGVyLT5zdG9wVGltZW91dENoZWNrKCk7CiAKLSAgICBtX3dvcmtlckNvbnRleHQtPnRo
cmVhZCgpLT5tZXNzYWdpbmdQcm94eSgpLT5yZXBvcnRXb3JrZXJUaHJlYWRBY3Rpdml0eShtX3dv
cmtlckNvbnRleHQtPmhhc1BlbmRpbmdBY3Rpdml0eSgpKTsKKyAgICBtX3dvcmtlckNvbnRleHQt
PnRocmVhZCgpLT5tZXNzYWdpbmdQcm94eSgpLT5yZXBvcnRQZW5kaW5nQWN0aXZpdHkobV93b3Jr
ZXJDb250ZXh0LT5oYXNQZW5kaW5nQWN0aXZpdHkoKSk7CiAKICAgICBpZiAoY29tcC5jb21wbFR5
cGUoKSA9PSBOb3JtYWwgfHwgY29tcC5jb21wbFR5cGUoKSA9PSBSZXR1cm5WYWx1ZSkKICAgICAg
ICAgcmV0dXJuIGNvbXAudmFsdWUoKTsKSW5kZXg6IGRvbS9Xb3JrZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIGRvbS9Xb3JrZXIuY3BwCShyZXZpc2lvbiA0MDcyNikKKysrIGRvbS9Xb3JrZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgV29ya2VyOjpwb3N0TWVzc2FnZShj
b25zdCBTdHJpbmcmIG0KIAogdm9pZCBXb3JrZXI6OnRlcm1pbmF0ZSgpCiB7Ci0gICAgbV9tZXNz
YWdpbmdQcm94eS0+dGVybWluYXRlKCk7CisgICAgbV9tZXNzYWdpbmdQcm94eS0+dGVybWluYXRl
V29ya2VyQ29udGV4dCgpOwogfQogCiBib29sIFdvcmtlcjo6Y2FuU3VzcGVuZCgpIGNvbnN0CkBA
IC0xMTAsNyArMTEwLDcgQEAgdm9pZCBXb3JrZXI6OnN0b3AoKQogCiBib29sIFdvcmtlcjo6aGFz
UGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9tZXNzYWdpbmdQcm94eS0+
d29ya2VyVGhyZWFkSGFzUGVuZGluZ0FjdGl2aXR5KCkgfHwgQWN0aXZlRE9NT2JqZWN0OjpoYXNQ
ZW5kaW5nQWN0aXZpdHkoKTsKKyAgICByZXR1cm4gbV9tZXNzYWdpbmdQcm94eS0+aGFzUGVuZGlu
Z0FjdGl2aXR5KCkgfHwgQWN0aXZlRE9NT2JqZWN0OjpoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIH0K
IAogdm9pZCBXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiB1bnVzZWRSZXNv
dXJjZSkKSW5kZXg6IGRvbS9Xb3JrZXJDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBkb20vV29y
a2VyQ29udGV4dC5jcHAJKHJldmlzaW9uIDQwNzI2KQorKysgZG9tL1dvcmtlckNvbnRleHQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcgQEAgYm9vbCBXb3JrZXJDb250ZXh0Ojpo
YXNQZW5kaW5nQWN0aXZpdHkoKQogCiB2b2lkIFdvcmtlckNvbnRleHQ6OnJlcG9ydEV4Y2VwdGlv
bihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMKQogewotICAgIG1fdGhyZWFkLT5tZXNzYWdpbmdQcm94eSgpLT5wb3N0V29y
a2VyRXhjZXB0aW9uKGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKKyAgICBt
X3RocmVhZC0+bWVzc2FnaW5nUHJveHkoKS0+cG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGVy
cm9yTWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAogc3RhdGljIHZvaWQgYWRk
TWVzc2FnZVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV29ya2VyTWVzc2Fn
aW5nUHJveHkqIG1lc3NhZ2luZ1Byb3h5LCBNZXNzYWdlRGVzdGluYXRpb24gZGVzdGluYXRpb24s
IE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCklu
ZGV4OiBkb20vV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGRvbS9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5jcHAJKHJldmlzaW9uIDQwNzI2KQorKysgZG9tL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgxLDcgKzE4MSw3IEBAIHByaXZhdGU6
CiAKICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
CiAgICAgewotICAgICAgICBtX21lc3NhZ2luZ1Byb3h5LT5yZXBvcnRXb3JrZXJUaHJlYWRBY3Rp
dml0eUludGVybmFsKG1fY29uZmlybWluZ01lc3NhZ2UsIG1faGFzUGVuZGluZ0FjdGl2aXR5KTsK
KyAgICAgICAgbV9tZXNzYWdpbmdQcm94eS0+cmVwb3J0UGVuZGluZ0FjdGl2aXR5SW50ZXJuYWwo
bV9jb25maXJtaW5nTWVzc2FnZSwgbV9oYXNQZW5kaW5nQWN0aXZpdHkpOwogICAgIH0KIAogICAg
IFdvcmtlck1lc3NhZ2luZ1Byb3h5KiBtX21lc3NhZ2luZ1Byb3h5OwpAQCAtMjM2LDcgKzIzNiw3
IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnBvc3RUYXNrVG9Xb3IKICAgICBtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNrKHRhc2spOwogfQogCi12b2lkIFdvcmtlck1lc3Nh
Z2luZ1Byb3h5Ojpwb3N0V29ya2VyRXhjZXB0aW9uKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdl
LCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpCit2b2lkIFdvcmtlck1l
c3NhZ2luZ1Byb3h5Ojpwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBl
cnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsK
ICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNrKFdvcmtlckV4Y2VwdGlvblRh
c2s6OmNyZWF0ZShlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCwgdGhpcykpOwog
fQpAQCAtMjYzLDcgKzI2Myw3IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6Ondvcmtlck9i
amVjdEQKIHsKICAgICBtX3dvcmtlck9iamVjdCA9IDA7CiAgICAgaWYgKG1fd29ya2VyVGhyZWFk
KQotICAgICAgICB0ZXJtaW5hdGUoKTsKKyAgICAgICAgdGVybWluYXRlV29ya2VyQ29udGV4dCgp
OwogICAgIGVsc2UKICAgICAgICAgd29ya2VyQ29udGV4dERlc3Ryb3llZEludGVybmFsKCk7CiB9
CkBAIC0yODMsNyArMjgzLDcgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyQ29u
dGV4dAogICAgICAgICBkZWxldGUgdGhpczsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94
eTo6dGVybWluYXRlKCkKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnRlcm1pbmF0ZVdvcmtl
ckNvbnRleHQoKQogewogICAgIGlmIChtX2Fza2VkVG9UZXJtaW5hdGUpCiAgICAgICAgIHJldHVy
bjsKQEAgLTI5NiwxNiArMjk2LDE2IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnRlcm1p
bmF0ZSgpCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpjb25maXJtV29ya2VyVGhyZWFkTWVz
c2FnZShib29sIGhhc1BlbmRpbmdBY3Rpdml0eSkKIHsKICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQtPnBvc3RUYXNrKFdvcmtlclRocmVhZEFjdGl2aXR5UmVwb3J0VGFzazo6Y3JlYXRlKHRo
aXMsIHRydWUsIGhhc1BlbmRpbmdBY3Rpdml0eSkpOwotICAgIC8vIFdpbGwgZXhlY3V0ZSByZXBv
cnRXb3JrZXJUaHJlYWRBY3Rpdml0eUludGVybmFsKCkgb24gY29udGV4dCdzIHRocmVhZC4KKyAg
ICAvLyBXaWxsIGV4ZWN1dGUgcmVwb3J0UGVuZGluZ0FjdGl2aXR5SW50ZXJuYWwoKSBvbiBjb250
ZXh0J3MgdGhyZWFkLgogfQogCi12b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpyZXBvcnRXb3Jr
ZXJUaHJlYWRBY3Rpdml0eShib29sIGhhc1BlbmRpbmdBY3Rpdml0eSkKK3ZvaWQgV29ya2VyTWVz
c2FnaW5nUHJveHk6OnJlcG9ydFBlbmRpbmdBY3Rpdml0eShib29sIGhhc1BlbmRpbmdBY3Rpdml0
eSkKIHsKICAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNrKFdvcmtlclRocmVh
ZEFjdGl2aXR5UmVwb3J0VGFzazo6Y3JlYXRlKHRoaXMsIGZhbHNlLCBoYXNQZW5kaW5nQWN0aXZp
dHkpKTsKLSAgICAvLyBXaWxsIGV4ZWN1dGUgcmVwb3J0V29ya2VyVGhyZWFkQWN0aXZpdHlJbnRl
cm5hbCgpIG9uIGNvbnRleHQncyB0aHJlYWQuCisgICAgLy8gV2lsbCBleGVjdXRlIHJlcG9ydFBl
bmRpbmdBY3Rpdml0eUludGVybmFsKCkgb24gY29udGV4dCdzIHRocmVhZC4KIH0KIAotdm9pZCBX
b3JrZXJNZXNzYWdpbmdQcm94eTo6cmVwb3J0V29ya2VyVGhyZWFkQWN0aXZpdHlJbnRlcm5hbChi
b29sIGNvbmZpcm1pbmdNZXNzYWdlLCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSkKK3ZvaWQgV29y
a2VyTWVzc2FnaW5nUHJveHk6OnJlcG9ydFBlbmRpbmdBY3Rpdml0eUludGVybmFsKGJvb2wgY29u
ZmlybWluZ01lc3NhZ2UsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KQogewogICAgIGlmIChjb25m
aXJtaW5nTWVzc2FnZSAmJiAhbV9hc2tlZFRvVGVybWluYXRlKSB7CiAgICAgICAgIEFTU0VSVCht
X3VuY29uZmlybWVkTWVzc2FnZUNvdW50KTsKQEAgLTMxNSw3ICszMTUsNyBAQCB2b2lkIFdvcmtl
ck1lc3NhZ2luZ1Byb3h5OjpyZXBvcnRXb3JrZXJUCiAgICAgbV93b3JrZXJUaHJlYWRIYWRQZW5k
aW5nQWN0aXZpdHkgPSBoYXNQZW5kaW5nQWN0aXZpdHk7CiB9CiAKLWJvb2wgV29ya2VyTWVzc2Fn
aW5nUHJveHk6OndvcmtlclRocmVhZEhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0Citib29sIFdv
cmtlck1lc3NhZ2luZ1Byb3h5OjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAogewogICAgIHJl
dHVybiAobV91bmNvbmZpcm1lZE1lc3NhZ2VDb3VudCB8fCBtX3dvcmtlclRocmVhZEhhZFBlbmRp
bmdBY3Rpdml0eSkgJiYgIW1fYXNrZWRUb1Rlcm1pbmF0ZTsKIH0KSW5kZXg6IGRvbS9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGRvbS9Xb3JrZXJNZXNzYWdpbmdQcm94eS5o
CShyZXZpc2lvbiA0MDcyNikKKysrIGRvbS9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw2ICszMCw4IEBACiAjaWYgRU5BQkxFKFdPUktFUlMpCiAKICNpbmNsdWRl
ICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiV29ya2VyQ29udGV4dFByb3h5
LmgiCisjaW5jbHVkZSAiV29ya2VyT2JqZWN0UHJveHkuaCIKICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KQEAgLTQyLDI4ICs0NCwzMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
V29ya2VyOwogICAgIGNsYXNzIFdvcmtlclRocmVhZDsKIAotICAgIGNsYXNzIFdvcmtlck1lc3Nh
Z2luZ1Byb3h5IDogTm9uY29weWFibGUgeworICAgIGNsYXNzIFdvcmtlck1lc3NhZ2luZ1Byb3h5
IDogcHVibGljIFdvcmtlckNvbnRleHRQcm94eSwgcHVibGljIFdvcmtlck9iamVjdFByb3h5LCBO
b25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBXb3JrZXJNZXNzYWdpbmdQcm94eShQ
YXNzUmVmUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+LCBXb3JrZXIqKTsKIAotICAgICAgICB2
b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKLSAg
ICAgICAgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyQ29udGV4dChjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpOworICAgICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgV29ya2VyQ29udGV4dFByb3h5Lgor
ICAgICAgICAvLyAoT25seSB1c2UgdGhlc2UgbWV0aG9kcyBpbiB0aGUgd29ya2VyIG9iamVjdCB0
aHJlYWQuKQorICAgICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29ya2VyQ29udGV4dCgpOwor
ICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckNvbnRleHQoY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKTsKKyAgICAgICAgdmlydHVhbCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgp
IGNvbnN0OworCisgICAgICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBXb3JrZXJPYmplY3RQcm94
eS4KKyAgICAgICAgLy8gKE9ubHkgdXNlIHRoZXNlIG1ldGhvZHMgaW4gdGhlIHdvcmtlciBjb250
ZXh0IHRocmVhZC4pCisgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyT2Jq
ZWN0KGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0RXhj
ZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5l
TnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBy
ZXBvcnRQZW5kaW5nQWN0aXZpdHkoYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkpOworICAgICAgICB2
aXJ0dWFsIHZvaWQgd29ya2VyQ29udGV4dERlc3Ryb3llZCgpOwogCiAgICAgICAgIHZvaWQgcG9z
dFRhc2tUb1dvcmtlck9iamVjdChQYXNzUmVmUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRh
c2s+KTsKICAgICAgICAgdm9pZCBwb3N0VGFza1RvV29ya2VyQ29udGV4dChQYXNzUmVmUHRyPFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+KTsKIAotICAgICAgICB2b2lkIHBvc3RXb3JrZXJF
eGNlcHRpb24oY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCk7Ci0KICAgICAgICAgdm9pZCB3b3JrZXJUaHJlYWRDcmVhdGVk
KFBhc3NSZWZQdHI8V29ya2VyVGhyZWFkPik7CiAgICAgICAgIHZvaWQgd29ya2VyT2JqZWN0RGVz
dHJveWVkKCk7Ci0gICAgICAgIHZvaWQgd29ya2VyQ29udGV4dERlc3Ryb3llZCgpOwogCiAgICAg
ICAgIHZvaWQgY29uZmlybVdvcmtlclRocmVhZE1lc3NhZ2UoYm9vbCBoYXNQZW5kaW5nQWN0aXZp
dHkpOwotICAgICAgICB2b2lkIHJlcG9ydFdvcmtlclRocmVhZEFjdGl2aXR5KGJvb2wgaGFzUGVu
ZGluZ0FjdGl2aXR5KTsKLSAgICAgICAgYm9vbCB3b3JrZXJUaHJlYWRIYXNQZW5kaW5nQWN0aXZp
dHkoKSBjb25zdDsKIAogICAgICAgICAvLyBPbmx5IHVzZSB0aGVzZSBtZXRob2RzIG9uIHRoZSB3
b3JrZXIgb2JqZWN0IHRocmVhZC4KLSAgICAgICAgdm9pZCB0ZXJtaW5hdGUoKTsKICAgICAgICAg
Ym9vbCBhc2tlZFRvVGVybWluYXRlKCkgY29uc3QgeyByZXR1cm4gbV9hc2tlZFRvVGVybWluYXRl
OyB9CiAKICAgICBwcml2YXRlOgpAQCAtNzEsMTAgKzc3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgZnJpZW5kIGNsYXNzIFdvcmtlckNvbnRleHREZXN0cm95ZWRUYXNrOwogICAg
ICAgICBmcmllbmQgY2xhc3MgV29ya2VyVGhyZWFkQWN0aXZpdHlSZXBvcnRUYXNrOwogCi0gICAg
ICAgIH5Xb3JrZXJNZXNzYWdpbmdQcm94eSgpOworICAgICAgICB2aXJ0dWFsIH5Xb3JrZXJNZXNz
YWdpbmdQcm94eSgpOwogCiAgICAgICAgIHZvaWQgd29ya2VyQ29udGV4dERlc3Ryb3llZEludGVy
bmFsKCk7Ci0gICAgICAgIHZvaWQgcmVwb3J0V29ya2VyVGhyZWFkQWN0aXZpdHlJbnRlcm5hbChi
b29sIGNvbmZpcm1pbmdNZXNzYWdlLCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSk7CisgICAgICAg
IHZvaWQgcmVwb3J0UGVuZGluZ0FjdGl2aXR5SW50ZXJuYWwoYm9vbCBjb25maXJtaW5nTWVzc2Fn
ZSwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkpOwogICAgICAgICBXb3JrZXIqIHdvcmtlck9iamVj
dCgpIGNvbnN0IHsgcmV0dXJuIG1fd29ya2VyT2JqZWN0OyB9CiAKICAgICAgICAgUmVmUHRyPFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ+IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27442</attachid>
            <date>2009-02-06 17:46:05 -0800</date>
            <delta_ts>2009-02-09 02:09:37 -0800</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>ChangeWorkerMessagingProxy3</filename>
            <type>text/plain</type>
            <size>9691</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQwNzQ2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMDktMDIt
MDYgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgV29ya2VyTWVzc2FnaW5nUHJveHkgZGVy
aXZlIGZyb20gdHdvIGJhc2UgcHJveHkgY2xhc3Nlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzc3CisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9X
b3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlw
dENvbnRyb2xsZXI6OmV2YWx1YXRlKToKKyAgICAgICAgKiBkb20vV29ya2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Oldvcmtlcjo6dGVybWluYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
cjo6aGFzUGVuZGluZ0FjdGl2aXR5KToKKyAgICAgICAgKiBkb20vV29ya2VyQ29udGV4dC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0OjpyZXBvcnRFeGNlcHRpb24pOgorICAg
ICAgICAqIGRvbS9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJUaHJlYWRBY3Rpdml0eVJlcG9ydFRhc2s6OnBlcmZvcm1UYXNrKToKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3Qp
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6Ondvcmtlck9iamVjdERl
c3Ryb3llZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6dGVybWlu
YXRlV29ya2VyQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94
eTo6Y29uZmlybVdvcmtlclRocmVhZE1lc3NhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
TWVzc2FnaW5nUHJveHk6OnJlcG9ydFBlbmRpbmdBY3Rpdml0eSk6CisgICAgICAgIChXZWJDb3Jl
OjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6cmVwb3J0UGVuZGluZ0FjdGl2aXR5SW50ZXJuYWwpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6Omhhc1BlbmRpbmdBY3Rpdml0
eSk6CisgICAgICAgICogZG9tL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisKIDIwMDktMDItMDYg
IEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEp1
c3RpbiBHYXJjaWEuCkluZGV4OiBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAko
cmV2aXNpb24gNDA3MjYpCisrKyBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtODksNyArODksNyBAQCBTY3JpcHRWYWx1ZSBXb3JrZXJTY3Jp
cHRDb250cm9sbGVyOjpldmFsCiAgICAgQ29tcGxldGlvbiBjb21wID0gSlNDOjpldmFsdWF0ZShl
eGVjLCBleGVjLT5keW5hbWljR2xvYmFsT2JqZWN0KCktPmdsb2JhbFNjb3BlQ2hhaW4oKSwgc291
cmNlQ29kZS5qc1NvdXJjZUNvZGUoKSwgbV93b3JrZXJDb250ZXh0V3JhcHBlcik7CiAgICAgbV93
b3JrZXJDb250ZXh0V3JhcHBlci0+c3RvcFRpbWVvdXRDaGVjaygpOwogCi0gICAgbV93b3JrZXJD
b250ZXh0LT50aHJlYWQoKS0+bWVzc2FnaW5nUHJveHkoKS0+cmVwb3J0V29ya2VyVGhyZWFkQWN0
aXZpdHkobV93b3JrZXJDb250ZXh0LT5oYXNQZW5kaW5nQWN0aXZpdHkoKSk7CisgICAgbV93b3Jr
ZXJDb250ZXh0LT50aHJlYWQoKS0+bWVzc2FnaW5nUHJveHkoKS0+cmVwb3J0UGVuZGluZ0FjdGl2
aXR5KG1fd29ya2VyQ29udGV4dC0+aGFzUGVuZGluZ0FjdGl2aXR5KCkpOwogCiAgICAgaWYgKGNv
bXAuY29tcGxUeXBlKCkgPT0gTm9ybWFsIHx8IGNvbXAuY29tcGxUeXBlKCkgPT0gUmV0dXJuVmFs
dWUpCiAgICAgICAgIHJldHVybiBjb21wLnZhbHVlKCk7CkluZGV4OiBkb20vV29ya2VyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBkb20vV29ya2VyLmNwcAkocmV2aXNpb24gNDA3MjYpCisrKyBkb20vV29y
a2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTQsNyArOTQsNyBAQCB2b2lkIFdvcmtlcjo6cG9z
dE1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtCiAKIHZvaWQgV29ya2VyOjp0ZXJtaW5hdGUoKQogewot
ICAgIG1fbWVzc2FnaW5nUHJveHktPnRlcm1pbmF0ZSgpOworICAgIG1fbWVzc2FnaW5nUHJveHkt
PnRlcm1pbmF0ZVdvcmtlckNvbnRleHQoKTsKIH0KIAogYm9vbCBXb3JrZXI6OmNhblN1c3BlbmQo
KSBjb25zdApAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgV29ya2VyOjpzdG9wKCkKIAogYm9vbCBX
b3JrZXI6Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbWVzc2Fn
aW5nUHJveHktPndvcmtlclRocmVhZEhhc1BlbmRpbmdBY3Rpdml0eSgpIHx8IEFjdGl2ZURPTU9i
amVjdDo6aGFzUGVuZGluZ0FjdGl2aXR5KCk7CisgICAgcmV0dXJuIG1fbWVzc2FnaW5nUHJveHkt
Pmhhc1BlbmRpbmdBY3Rpdml0eSgpIHx8IEFjdGl2ZURPTU9iamVjdDo6aGFzUGVuZGluZ0FjdGl2
aXR5KCk7CiB9CiAKIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSog
dW51c2VkUmVzb3VyY2UpCkluZGV4OiBkb20vV29ya2VyQ29udGV4dC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gZG9tL1dvcmtlckNvbnRleHQuY3BwCShyZXZpc2lvbiA0MDcyNikKKysrIGRvbS9Xb3JrZXJD
b250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3IEBAIGJvb2wgV29ya2Vy
Q29udGV4dDo6aGFzUGVuZGluZ0FjdGl2aXR5KCkKIAogdm9pZCBXb3JrZXJDb250ZXh0OjpyZXBv
cnRFeGNlcHRpb24oY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTCkKIHsKLSAgICBtX3RocmVhZC0+bWVzc2FnaW5nUHJveHko
KS0+cG9zdFdvcmtlckV4Y2VwdGlvbihlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVS
TCk7CisgICAgbV90aHJlYWQtPm1lc3NhZ2luZ1Byb3h5KCktPnBvc3RFeGNlcHRpb25Ub1dvcmtl
ck9iamVjdChlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9CiAKIHN0YXRp
YyB2b2lkIGFkZE1lc3NhZ2VUYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdv
cmtlck1lc3NhZ2luZ1Byb3h5KiBtZXNzYWdpbmdQcm94eSwgTWVzc2FnZURlc3RpbmF0aW9uIGRl
c3RpbmF0aW9uLCBNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMKQpJbmRleDogZG9tL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBkb20vV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCShyZXZpc2lvbiA0MDcyNikKKysrIGRvbS9X
b3JrZXJNZXNzYWdpbmdQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4MSw3ICsxODEsNyBA
QCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqKQogICAgIHsKLSAgICAgICAgbV9tZXNzYWdpbmdQcm94eS0+cmVwb3J0V29ya2Vy
VGhyZWFkQWN0aXZpdHlJbnRlcm5hbChtX2NvbmZpcm1pbmdNZXNzYWdlLCBtX2hhc1BlbmRpbmdB
Y3Rpdml0eSk7CisgICAgICAgIG1fbWVzc2FnaW5nUHJveHktPnJlcG9ydFBlbmRpbmdBY3Rpdml0
eUludGVybmFsKG1fY29uZmlybWluZ01lc3NhZ2UsIG1faGFzUGVuZGluZ0FjdGl2aXR5KTsKICAg
ICB9CiAKICAgICBXb3JrZXJNZXNzYWdpbmdQcm94eSogbV9tZXNzYWdpbmdQcm94eTsKQEAgLTIz
Niw3ICsyMzYsNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojpwb3N0VGFza1RvV29yCiAg
ICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayh0YXNrKTsKIH0KIAotdm9pZCBX
b3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdFdvcmtlckV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVy
cm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9p
ZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0
IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpCiB7CiAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhXb3JrZXJF
eGNlcHRpb25UYXNrOjpjcmVhdGUoZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkws
IHRoaXMpKTsKIH0KQEAgLTI2Myw3ICsyNjMsNyBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5
Ojp3b3JrZXJPYmplY3RECiB7CiAgICAgbV93b3JrZXJPYmplY3QgPSAwOwogICAgIGlmIChtX3dv
cmtlclRocmVhZCkKLSAgICAgICAgdGVybWluYXRlKCk7CisgICAgICAgIHRlcm1pbmF0ZVdvcmtl
ckNvbnRleHQoKTsKICAgICBlbHNlCiAgICAgICAgIHdvcmtlckNvbnRleHREZXN0cm95ZWRJbnRl
cm5hbCgpOwogfQpAQCAtMjgzLDcgKzI4Myw3IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6
OndvcmtlckNvbnRleHQKICAgICAgICAgZGVsZXRlIHRoaXM7CiB9CiAKLXZvaWQgV29ya2VyTWVz
c2FnaW5nUHJveHk6OnRlcm1pbmF0ZSgpCit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp0ZXJt
aW5hdGVXb3JrZXJDb250ZXh0KCkKIHsKICAgICBpZiAobV9hc2tlZFRvVGVybWluYXRlKQogICAg
ICAgICByZXR1cm47CkBAIC0yOTYsMTYgKzI5NiwxNiBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1By
b3h5Ojp0ZXJtaW5hdGUoKQogdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6Y29uZmlybVdvcmtl
clRocmVhZE1lc3NhZ2UoYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkpCiB7CiAgICAgbV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhXb3JrZXJUaHJlYWRBY3Rpdml0eVJlcG9ydFRhc2s6
OmNyZWF0ZSh0aGlzLCB0cnVlLCBoYXNQZW5kaW5nQWN0aXZpdHkpKTsKLSAgICAvLyBXaWxsIGV4
ZWN1dGUgcmVwb3J0V29ya2VyVGhyZWFkQWN0aXZpdHlJbnRlcm5hbCgpIG9uIGNvbnRleHQncyB0
aHJlYWQuCisgICAgLy8gV2lsbCBleGVjdXRlIHJlcG9ydFBlbmRpbmdBY3Rpdml0eUludGVybmFs
KCkgb24gY29udGV4dCdzIHRocmVhZC4KIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6
cmVwb3J0V29ya2VyVGhyZWFkQWN0aXZpdHkoYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkpCit2b2lk
IFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpyZXBvcnRQZW5kaW5nQWN0aXZpdHkoYm9vbCBoYXNQZW5k
aW5nQWN0aXZpdHkpCiB7CiAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhX
b3JrZXJUaHJlYWRBY3Rpdml0eVJlcG9ydFRhc2s6OmNyZWF0ZSh0aGlzLCBmYWxzZSwgaGFzUGVu
ZGluZ0FjdGl2aXR5KSk7Ci0gICAgLy8gV2lsbCBleGVjdXRlIHJlcG9ydFdvcmtlclRocmVhZEFj
dGl2aXR5SW50ZXJuYWwoKSBvbiBjb250ZXh0J3MgdGhyZWFkLgorICAgIC8vIFdpbGwgZXhlY3V0
ZSByZXBvcnRQZW5kaW5nQWN0aXZpdHlJbnRlcm5hbCgpIG9uIGNvbnRleHQncyB0aHJlYWQuCiB9
CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnJlcG9ydFdvcmtlclRocmVhZEFjdGl2aXR5
SW50ZXJuYWwoYm9vbCBjb25maXJtaW5nTWVzc2FnZSwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkp
Cit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpyZXBvcnRQZW5kaW5nQWN0aXZpdHlJbnRlcm5h
bChib29sIGNvbmZpcm1pbmdNZXNzYWdlLCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSkKIHsKICAg
ICBpZiAoY29uZmlybWluZ01lc3NhZ2UgJiYgIW1fYXNrZWRUb1Rlcm1pbmF0ZSkgewogICAgICAg
ICBBU1NFUlQobV91bmNvbmZpcm1lZE1lc3NhZ2VDb3VudCk7CkBAIC0zMTUsNyArMzE1LDcgQEAg
dm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6cmVwb3J0V29ya2VyVAogICAgIG1fd29ya2VyVGhy
ZWFkSGFkUGVuZGluZ0FjdGl2aXR5ID0gaGFzUGVuZGluZ0FjdGl2aXR5OwogfQogCi1ib29sIFdv
cmtlck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJUaHJlYWRIYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25z
dAorYm9vbCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QK
IHsKICAgICByZXR1cm4gKG1fdW5jb25maXJtZWRNZXNzYWdlQ291bnQgfHwgbV93b3JrZXJUaHJl
YWRIYWRQZW5kaW5nQWN0aXZpdHkpICYmICFtX2Fza2VkVG9UZXJtaW5hdGU7CiB9CkluZGV4OiBk
b20vV29ya2VyTWVzc2FnaW5nUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBkb20vV29ya2VyTWVzc2Fn
aW5nUHJveHkuaAkocmV2aXNpb24gNDA3MjYpCisrKyBkb20vV29ya2VyTWVzc2FnaW5nUHJveHku
aAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsOCBAQAogI2lmIEVOQUJMRShXT1JLRVJTKQog
CiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIldvcmtlckNv
bnRleHRQcm94eS5oIgorI2luY2x1ZGUgIldvcmtlck9iamVjdFByb3h5LmgiCiAjaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CkBAIC00MiwyOCArNDQsMzIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIFdvcmtlcjsKICAgICBjbGFzcyBXb3JrZXJUaHJlYWQ7CiAKLSAgICBjbGFzcyBX
b3JrZXJNZXNzYWdpbmdQcm94eSA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJNZXNz
YWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmpl
Y3RQcm94eSwgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyTWVzc2Fn
aW5nUHJveHkoUGFzc1JlZlB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiwgV29ya2VyKik7CiAK
LSAgICAgICAgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgbWVz
c2FnZSk7Ci0gICAgICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckNvbnRleHQoY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKTsKKyAgICAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckNvbnRl
eHRQcm94eS4KKyAgICAgICAgLy8gKE9ubHkgdXNlIHRoZXNlIG1ldGhvZHMgaW4gdGhlIHdvcmtl
ciBvYmplY3QgdGhyZWFkLikKKyAgICAgICAgdmlydHVhbCB2b2lkIHRlcm1pbmF0ZVdvcmtlckNv
bnRleHQoKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJDb250ZXh0
KGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBoYXNQZW5kaW5n
QWN0aXZpdHkoKSBjb25zdDsKKworICAgICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgV29ya2Vy
T2JqZWN0UHJveHkuCisgICAgICAgIC8vIChPbmx5IHVzZSB0aGVzZSBtZXRob2RzIGluIHRoZSB3
b3JrZXIgY29udGV4dCB0aHJlYWQuKQorICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VU
b1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOworICAgICAgICB2aXJ0dWFsIHZv
aWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdl
LCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOworICAgICAgICB2aXJ0
dWFsIHZvaWQgcmVwb3J0UGVuZGluZ0FjdGl2aXR5KGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KTsK
KyAgICAgICAgdmlydHVhbCB2b2lkIHdvcmtlckNvbnRleHREZXN0cm95ZWQoKTsKIAogICAgICAg
ICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJPYmplY3QoUGFzc1JlZlB0cjxTY3JpcHRFeGVjdXRpb25D
b250ZXh0OjpUYXNrPik7CiAgICAgICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckNvbnRleHQoUGFz
c1JlZlB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPik7CiAKLSAgICAgICAgdm9pZCBw
b3N0V29ya2VyRXhjZXB0aW9uKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51
bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwotCiAgICAgICAgIHZvaWQgd29ya2VyVGhy
ZWFkQ3JlYXRlZChQYXNzUmVmUHRyPFdvcmtlclRocmVhZD4pOwogICAgICAgICB2b2lkIHdvcmtl
ck9iamVjdERlc3Ryb3llZCgpOwotICAgICAgICB2b2lkIHdvcmtlckNvbnRleHREZXN0cm95ZWQo
KTsKIAogICAgICAgICB2b2lkIGNvbmZpcm1Xb3JrZXJUaHJlYWRNZXNzYWdlKGJvb2wgaGFzUGVu
ZGluZ0FjdGl2aXR5KTsKLSAgICAgICAgdm9pZCByZXBvcnRXb3JrZXJUaHJlYWRBY3Rpdml0eShi
b29sIGhhc1BlbmRpbmdBY3Rpdml0eSk7Ci0gICAgICAgIGJvb2wgd29ya2VyVGhyZWFkSGFzUGVu
ZGluZ0FjdGl2aXR5KCkgY29uc3Q7CiAKICAgICAgICAgLy8gT25seSB1c2UgdGhlc2UgbWV0aG9k
cyBvbiB0aGUgd29ya2VyIG9iamVjdCB0aHJlYWQuCi0gICAgICAgIHZvaWQgdGVybWluYXRlKCk7
CiAgICAgICAgIGJvb2wgYXNrZWRUb1Rlcm1pbmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXNrZWRU
b1Rlcm1pbmF0ZTsgfQogCiAgICAgcHJpdmF0ZToKQEAgLTcxLDEwICs3NywxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBXb3JrZXJDb250ZXh0RGVzdHJveWVk
VGFzazsKICAgICAgICAgZnJpZW5kIGNsYXNzIFdvcmtlclRocmVhZEFjdGl2aXR5UmVwb3J0VGFz
azsKIAotICAgICAgICB+V29ya2VyTWVzc2FnaW5nUHJveHkoKTsKKyAgICAgICAgdmlydHVhbCB+
V29ya2VyTWVzc2FnaW5nUHJveHkoKTsKIAogICAgICAgICB2b2lkIHdvcmtlckNvbnRleHREZXN0
cm95ZWRJbnRlcm5hbCgpOwotICAgICAgICB2b2lkIHJlcG9ydFdvcmtlclRocmVhZEFjdGl2aXR5
SW50ZXJuYWwoYm9vbCBjb25maXJtaW5nTWVzc2FnZSwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkp
OworICAgICAgICB2b2lkIHJlcG9ydFBlbmRpbmdBY3Rpdml0eUludGVybmFsKGJvb2wgY29uZmly
bWluZ01lc3NhZ2UsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KTsKICAgICAgICAgV29ya2VyKiB3
b3JrZXJPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX3dvcmtlck9iamVjdDsgfQogCiAgICAgICAg
IFJlZlB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
Cg==
</data>
<flag name="review"
          id="13276"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>