<?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>106856</bug_id>
          
          <creation_ts>2013-01-14 19:17:37 -0800</creation_ts>
          <short_desc>Support variables inside -webkit-box-reflect CSS property.</short_desc>
          <delta_ts>2013-01-23 20:45:44 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Luke Macpherson">macpherson</reporter>
          <assigned_to name="Luke Macpherson">macpherson</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>806900</commentid>
    <comment_count>0</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2013-01-14 19:17:37 -0800</bug_when>
    <thetext>Support variables inside -webkit-box-reflect CSS property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806904</commentid>
    <comment_count>1</comment_count>
      <attachid>182683</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2013-01-14 19:22:15 -0800</bug_when>
    <thetext>Created attachment 182683
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806970</commentid>
    <comment_count>2</comment_count>
      <attachid>182683</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-14 21:40:46 -0800</bug_when>
    <thetext>Comment on attachment 182683
Patch

Attachment 182683 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15841798</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807814</commentid>
    <comment_count>3</comment_count>
      <attachid>182872</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2013-01-15 16:35:04 -0800</bug_when>
    <thetext>Created attachment 182872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814708</commentid>
    <comment_count>4</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2013-01-23 15:01:47 -0800</bug_when>
    <thetext>Can anyone review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814760</commentid>
    <comment_count>5</comment_count>
      <attachid>182872</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-23 15:48:48 -0800</bug_when>
    <thetext>Comment on attachment 182872
Patch

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

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:612
&gt; +    default:
&gt; +        ASSERT_NOT_REACHED();

Remove the default: case so the compiler will ensure we&apos;re testing all cases.

&gt; Source/WebCore/css/CSSReflectValue.cpp:41
&gt; +    if (m_mask)
&gt; +        return m_direction-&gt;cssText() + &apos; &apos; + m_offset-&gt;cssText() + &apos; &apos; + m_mask-&gt;cssText();
&gt; +    return m_direction-&gt;cssText() + &apos; &apos; + m_offset-&gt;cssText();

I would mention in the ChangeLog that you no longer use StringBuilder but this is just as fast because of StringOperators.h and StringConcatenate.h.

&gt; Source/WebCore/css/CSSReflectValue.cpp:49
&gt; +        return m_direction-&gt;customSerializeResolvingVariables(variables) + &apos; &apos; + m_offset-&gt;customSerializeResolvingVariables(variables) + &apos; &apos; + m_mask-&gt;serializeResolvingVariables(variables);
&gt; +    return m_direction-&gt;customSerializeResolvingVariables(variables) + &apos; &apos; + m_offset-&gt;customSerializeResolvingVariables(variables);

You could mention this in the ChangeLog too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814963</commentid>
    <comment_count>6</comment_count>
      <attachid>184380</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2013-01-23 19:13:48 -0800</bug_when>
    <thetext>Created attachment 184380
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815015</commentid>
    <comment_count>7</comment_count>
      <attachid>184380</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 20:45:39 -0800</bug_when>
    <thetext>Comment on attachment 184380
Patch for landing

Clearing flags on attachment: 184380

Committed r140642: &lt;http://trac.webkit.org/changeset/140642&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815016</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 20:45:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182683</attachid>
            <date>2013-01-14 19:22:15 -0800</date>
            <delta_ts>2013-01-15 16:34:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106856-20130115141915.patch</filename>
            <type>text/plain</type>
            <size>15326</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NjgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTk4MzQwOTQ5ZTNmODFm
ZmEzMjljMmY4NGM2ODJlODNjYjRjZDkwMi4uNGQ2MDI5YzcxZjdiYWRmNjYyZDdjMGM5ZTcyZjc2
MmU3ZDAyNmU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAxLTE0ICBMdWtl
IE1hY3BoZXJzb24gICA8bWFjcGhlcnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU3VwcG9y
dCB2YXJpYWJsZXMgaW5zaWRlIC13ZWJraXQtYm94LXJlZmxlY3QgQ1NTIHByb3BlcnR5LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2ODU2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHByaW1hcnkg
Y2hhbmdlIGlzIHRvIG1ha2UgdGhlIGRpcmVjdGlvbiBwYXJhbWV0ZXIgYSBDU1NQcmltaXRpdmVW
YWx1ZSBzdHlsZSBpZGVudCwKKyAgICAgICAgc28gdGhhdCBpdCBjYW4gYWxzbyBiZSBhIHZhcmlh
YmxlIHJlZmVyZW5jZS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIExheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3JlZmxlY3Rpb25zLyB0ZXN0cy4KKyAgICAgICAgQWRkZWQgVGVzdDogZmFz
dC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxlY3QuaHRtbAorCisgICAgICAgICog
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2
YWx1ZUZvclJlZmxlY3Rpb24pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVJlZmxlY3QpOgorICAgICAgICAqIGNzcy9DU1NQ
cmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgQ1NTUmVmbGVjdGlvbkRpcmVjdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29udmVydFRvTGVuZ3Ro
KToKKyAgICAgICAgKiBjc3MvQ1NTUmVmbGVjdFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1JlZmxlY3RWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1JlZmxlY3RWYWx1ZTo6Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5n
VmFyaWFibGVzKToKKyAgICAgICAgKiBjc3MvQ1NTUmVmbGVjdFZhbHVlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NSZWZsZWN0VmFsdWU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NS
ZWZsZWN0VmFsdWU6OmRpcmVjdGlvbik6CisgICAgICAgIChDU1NSZWZsZWN0VmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUmVmbGVjdFZhbHVlOjpDU1NSZWZsZWN0VmFsdWUpOgorICAgICAg
ICAqIGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6c2VyaWFs
aXplUmVzb2x2aW5nVmFyaWFibGVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpoYXNWYXJpYWJsZVJlZmVyZW5jZSk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KToKKwogMjAxMy0wMS0xMSAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNb3ZlIGZ1bmN0aW9ucyBmcm9t
IE5vZGVSYXJlRGF0YSB0byBFbGVtZW50UmFyZURhdGEgYW5kIG90aGVyIGNsYXNzZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5k
ZXggZDU3Nzc3MjMxM2VhNmJhMTg2Njk4MTAwZDAyOTFhMzQ2MzZmOWE0OS4uMTExMmJmNmNkNDQx
ZWMyNWJlNWI1ZDBmMDQyOWYyMDk3MzZmNTE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTU5NCw3ICs1OTQsMjUgQEAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yUmVmbGVjdGlvbihjb25zdCBTdHls
ZVJlZmxlY3Rpb24qIHJlZmxlY3Rpb24KICAgICBlbHNlCiAgICAgICAgIG9mZnNldCA9IHpvb21B
ZGp1c3RlZFBpeGVsVmFsdWUocmVmbGVjdGlvbi0+b2Zmc2V0KCkudmFsdWUoKSwgc3R5bGUpOwog
Ci0gICAgcmV0dXJuIENTU1JlZmxlY3RWYWx1ZTo6Y3JlYXRlKHJlZmxlY3Rpb24tPmRpcmVjdGlv
bigpLCBvZmZzZXQucmVsZWFzZSgpLCB2YWx1ZUZvck5pbmVQaWVjZUltYWdlKHJlZmxlY3Rpb24t
Pm1hc2soKSkpOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gZGlyZWN0aW9uOworICAg
IHN3aXRjaCAocmVmbGVjdGlvbi0+ZGlyZWN0aW9uKCkpIHsKKyAgICBjYXNlIFJlZmxlY3Rpb25C
ZWxvdzoKKyAgICAgICAgZGlyZWN0aW9uID0gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmll
clZhbHVlKENTU1ZhbHVlQmVsb3cpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFJlZmxlY3Rp
b25BYm92ZToKKyAgICAgICAgZGlyZWN0aW9uID0gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRp
ZmllclZhbHVlKENTU1ZhbHVlQWJvdmUpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFJlZmxl
Y3Rpb25MZWZ0OgorICAgICAgICBkaXJlY3Rpb24gPSBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVu
dGlmaWVyVmFsdWUoQ1NTVmFsdWVMZWZ0KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSZWZs
ZWN0aW9uUmlnaHQ6CisgICAgICAgIGRpcmVjdGlvbiA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlk
ZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVJpZ2h0KTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorCisgICAgcmV0dXJuIENT
U1JlZmxlY3RWYWx1ZTo6Y3JlYXRlKGRpcmVjdGlvbi5yZWxlYXNlKCksIG9mZnNldC5yZWxlYXNl
KCksIHZhbHVlRm9yTmluZVBpZWNlSW1hZ2UocmVmbGVjdGlvbi0+bWFzaygpKSk7CiB9CiAKIHN0
YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gY3JlYXRlUG9zaXRpb25MaXN0Rm9yTGF5ZXIo
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBjb25zdCBGaWxsTGF5ZXIqIGxheWVyLCBjb25zdCBS
ZW5kZXJTdHlsZSogc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGJhMDlmZDAy
NGVlZDIwNzI2ZWU4YTY2NmQ2ODNhMTNhY2QzYTBjZDMuLjdkZmE4MDMwMjQyZTNjNWRjYzMwZWEy
MDQ0MjhhZTRmNDgzZTI0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC02MjA3LDE5
ICs2MjA3LDE4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVJlZmxlY3QoQ1NTUHJvcGVydHlJRCBw
cm9wSWQsIGJvb2wgaW1wb3J0YW50KQogCiAgICAgLy8gRGlyZWN0aW9uIGNvbWVzIGZpcnN0Lgog
ICAgIENTU1BhcnNlclZhbHVlKiB2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOwotICAgIENT
U1JlZmxlY3Rpb25EaXJlY3Rpb24gZGlyZWN0aW9uOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVW
YWx1ZT4gZGlyZWN0aW9uOworI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQorICAgIGlmICh2YWwt
PnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FKQorICAgICAgICBk
aXJlY3Rpb24gPSBjcmVhdGVQcmltaXRpdmVWYXJpYWJsZU5hbWVWYWx1ZSh2YWwpOworICAgIGVs
c2UKKyNlbmRpZgogICAgIHN3aXRjaCAodmFsLT5pZCkgewogICAgICAgICBjYXNlIENTU1ZhbHVl
QWJvdmU6Ci0gICAgICAgICAgICBkaXJlY3Rpb24gPSBSZWZsZWN0aW9uQWJvdmU7Ci0gICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NWYWx1ZUJlbG93OgotICAgICAgICAgICAgZGly
ZWN0aW9uID0gUmVmbGVjdGlvbkJlbG93OwotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgQ1NTVmFsdWVMZWZ0OgotICAgICAgICAgICAgZGlyZWN0aW9uID0gUmVmbGVjdGlvbkxlZnQ7
Ci0gICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NWYWx1ZVJpZ2h0OgotICAgICAg
ICAgICAgZGlyZWN0aW9uID0gUmVmbGVjdGlvblJpZ2h0OworICAgICAgICAgICAgZGlyZWN0aW9u
ID0gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZhbC0+aWQpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CkBAIC02MjQ0LDcgKzYyNDMsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VSZWZsZWN0KENTU1By
b3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICB9CiAKLSAgICBSZWZQdHI8Q1NTUmVmbGVjdFZhbHVlPiByZWZsZWN0VmFsdWUgPSBD
U1NSZWZsZWN0VmFsdWU6OmNyZWF0ZShkaXJlY3Rpb24sIG9mZnNldC5yZWxlYXNlKCksIG1hc2su
cmVsZWFzZSgpKTsKKyAgICBSZWZQdHI8Q1NTUmVmbGVjdFZhbHVlPiByZWZsZWN0VmFsdWUgPSBD
U1NSZWZsZWN0VmFsdWU6OmNyZWF0ZShkaXJlY3Rpb24ucmVsZWFzZSgpLCBvZmZzZXQucmVsZWFz
ZSgpLCBtYXNrLnJlbGVhc2UoKSk7CiAgICAgYWRkUHJvcGVydHkocHJvcElkLCByZWZsZWN0VmFs
dWUucmVsZWFzZSgpLCBpbXBvcnRhbnQpOwogICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAg
cmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFw
cGluZ3MuaAppbmRleCBmZWEzZjZkMTAyNDFkZTNjZjVmZWI5Y2RlOGU0NmE0ZTlmYWI4OTFmLi5i
MjRhNjE2YWM5NDYwYWQ5ZGE0NzVkMjdjMzc3OGNkZWE4ZjhmNjQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTMyLDYgKzMyLDcgQEAK
IAogI2luY2x1ZGUgIkNTU0NhbGN1bGF0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRp
dmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU1JlZmxlY3Rpb25EaXJlY3Rpb24uaCIKICNpbmNsdWRl
ICJDb2xvclNwYWNlLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUg
IkZvbnREZXNjcmlwdGlvbi5oIgpAQCAtMTQxLDYgKzE0Miw0MiBAQCB0ZW1wbGF0ZTw+IGlubGlu
ZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgTGluZUNsYW1wVmFsdWUoKSBjb25zdAogICAg
IHJldHVybiBMaW5lQ2xhbXBWYWx1ZSgpOwogfQogCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ1NTUmVmbGVjdGlvbkRpcmVjdGlvbiBlKQor
ICAgIDogQ1NTVmFsdWUoUHJpbWl0aXZlQ2xhc3MpCit7CisgICAgbV9wcmltaXRpdmVVbml0VHlw
ZSA9IENTU19JREVOVDsKKyAgICBzd2l0Y2ggKGUpIHsKKyAgICBjYXNlIFJlZmxlY3Rpb25BYm92
ZToKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlQWJvdmU7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgUmVmbGVjdGlvbkJlbG93OgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NT
VmFsdWVCZWxvdzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSZWZsZWN0aW9uTGVmdDoKKyAg
ICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlTGVmdDsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBSZWZsZWN0aW9uUmlnaHQ6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVJp
Z2h0OworICAgIH0KK30KKwordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9w
ZXJhdG9yIENTU1JlZmxlY3Rpb25EaXJlY3Rpb24oKSBjb25zdAoreworICAgIHN3aXRjaCAobV92
YWx1ZS5pZGVudCkgeworICAgIGNhc2UgQ1NTVmFsdWVBYm92ZToKKyAgICAgICAgcmV0dXJuIFJl
ZmxlY3Rpb25BYm92ZTsKKyAgICBjYXNlIENTU1ZhbHVlQmVsb3c6CisgICAgICAgIHJldHVybiBS
ZWZsZWN0aW9uQmVsb3c7CisgICAgY2FzZSBDU1NWYWx1ZUxlZnQ6CisgICAgICAgIHJldHVybiBS
ZWZsZWN0aW9uTGVmdDsKKyAgICBjYXNlIENTU1ZhbHVlUmlnaHQ6CisgICAgICAgIHJldHVybiBS
ZWZsZWN0aW9uUmlnaHQ7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
cmV0dXJuIFJlZmxlY3Rpb25CZWxvdzsKK30KKwogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKENvbHVtblNwYW4gY29sdW1uU3BhbikKICAgICA6
IENTU1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQogewpAQCAtNDA3Nyw2ICs0MTE0LDcgQEAgZW51bSBM
ZW5ndGhDb252ZXJzaW9uIHsKIAogdGVtcGxhdGU8aW50IHN1cHBvcnRlZD4gTGVuZ3RoIENTU1By
aW1pdGl2ZVZhbHVlOjpjb252ZXJ0VG9MZW5ndGgoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJT
dHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6
ZSkKIHsKKyAgICBBU1NFUlQoIWhhc1ZhcmlhYmxlUmVmZXJlbmNlKCkpOwogICAgIGlmICgoc3Vw
cG9ydGVkICYgKEZpeGVkSW50ZWdlckNvbnZlcnNpb24gfCBGaXhlZEZsb2F0Q29udmVyc2lvbikp
ICYmIGlzRm9udFJlbGF0aXZlTGVuZ3RoKCkgJiYgKCFzdHlsZSB8fCAhcm9vdFN0eWxlKSkKICAg
ICAgICAgcmV0dXJuIExlbmd0aChVbmRlZmluZWQpOwogICAgIGlmICgoc3VwcG9ydGVkICYgRml4
ZWRJbnRlZ2VyQ29udmVyc2lvbikgJiYgaXNMZW5ndGgoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Jl
ZmxlY3RWYWx1ZS5jcHAKaW5kZXggOTQzOWQ2MDBlYTgxNGEwNDU5Zjk4YjJjYjlhYzVlNmQ0Y2Yy
M2I5Zi4uMDA2MzA5OTdhZmRkMThhNjBjYjNjN2NmZWQ3NWVmMDk4MWE0YzVkZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKQEAgLTM2LDMwICszNiwxOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIFN0cmluZyBDU1NSZWZsZWN0VmFsdWU6OmN1c3RvbUNzc1RleHQoKSBj
b25zdAogewotICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwotICAgIHN3aXRjaCAobV9kaXJlY3Rp
b24pIHsKLSAgICAgICAgY2FzZSBSZWZsZWN0aW9uQmVsb3c6Ci0gICAgICAgICAgICByZXN1bHQu
YXBwZW5kTGl0ZXJhbCgiYmVsb3cgIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBSZWZsZWN0aW9uQWJvdmU6Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiYWJv
dmUgIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBSZWZsZWN0aW9uTGVmdDoK
LSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCJsZWZ0ICIpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGNhc2UgUmVmbGVjdGlvblJpZ2h0OgotICAgICAgICAgICAgcmVzdWx0
LmFwcGVuZExpdGVyYWwoInJpZ2h0ICIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRl
ZmF1bHQ6Ci0gICAgICAgICAgICBicmVhazsKLSAgICB9CisgICAgaWYgKG1fbWFzaykKKyAgICAg
ICAgcmV0dXJuIG1fZGlyZWN0aW9uLT5jc3NUZXh0KCkgKyAnICcgKyBtX29mZnNldC0+Y3NzVGV4
dCgpICsgJyAnICsgbV9tYXNrLT5jc3NUZXh0KCk7CisgICAgcmV0dXJuIG1fZGlyZWN0aW9uLT5j
c3NUZXh0KCkgKyAnICcgKyBtX29mZnNldC0+Y3NzVGV4dCgpOworfQogCi0gICAgcmVzdWx0LmFw
cGVuZChtX29mZnNldC0+Y3NzVGV4dCgpKTsKLSAgICByZXN1bHQuYXBwZW5kKCcgJyk7CisjaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCitTdHJpbmcgQ1NTUmVmbGVjdFZhbHVlOjpjdXN0b21TZXJp
YWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFN0cmlu
Zz4mIHZhcmlhYmxlcykgY29uc3QKK3sKICAgICBpZiAobV9tYXNrKQotICAgICAgICByZXN1bHQu
YXBwZW5kKG1fbWFzay0+Y3NzVGV4dCgpKTsKLSAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7
CisgICAgICAgIHJldHVybiBtX2RpcmVjdGlvbi0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFy
aWFibGVzKHZhcmlhYmxlcykgKyAnICcgKyBtX29mZnNldC0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2
aW5nVmFyaWFibGVzKHZhcmlhYmxlcykgKyAnICcgKyBtX21hc2stPnNlcmlhbGl6ZVJlc29sdmlu
Z1ZhcmlhYmxlcyh2YXJpYWJsZXMpOworICAgIHJldHVybiBtX2RpcmVjdGlvbi0+Y3VzdG9tU2Vy
aWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykgKyAnICcgKyBtX29mZnNldC0+Y3Vz
dG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7CiB9CisjZW5kaWYKIAog
dm9pZCBDU1NSZWZsZWN0VmFsdWU6OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0
PEtVUkw+JiB1cmxzLCBjb25zdCBTdHlsZVNoZWV0Q29udGVudHMqIHN0eWxlU2hlZXQpIGNvbnN0
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmgKaW5kZXggMWJkZmQ1ZmU3NmM3ZWYy
ODFmN2Y3Nzg5YjI5Y2VhYTQ0OGM3M2JkOS4uYmE5MmRmZWQzZDk0Zjg2MTI1MzI5NGFkZGQxYTEy
YWI1MjVlMDljNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuaApAQCAtMzcsMjQg
KzM3LDI3IEBAIGNsYXNzIENTU1ByaW1pdGl2ZVZhbHVlOwogCiBjbGFzcyBDU1NSZWZsZWN0VmFs
dWUgOiBwdWJsaWMgQ1NTVmFsdWUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPENT
U1JlZmxlY3RWYWx1ZT4gY3JlYXRlKENTU1JlZmxlY3Rpb25EaXJlY3Rpb24gZGlyZWN0aW9uLAor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU1JlZmxlY3RWYWx1ZT4gY3JlYXRlKFBhc3NSZWZQdHI8
Q1NTUHJpbWl0aXZlVmFsdWU+IGRpcmVjdGlvbiwKICAgICAgICAgUGFzc1JlZlB0cjxDU1NQcmlt
aXRpdmVWYWx1ZT4gb2Zmc2V0LCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBtYXNrKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NSZWZsZWN0VmFsdWUoZGlyZWN0aW9uLCBvZmZz
ZXQsIG1hc2spKTsKICAgICB9CiAKLSAgICBDU1NSZWZsZWN0aW9uRGlyZWN0aW9uIGRpcmVjdGlv
bigpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0aW9uOyB9CisgICAgQ1NTUHJpbWl0aXZlVmFsdWUq
IGRpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0aW9uLmdldCgpOyB9CiAgICAgQ1NT
UHJpbWl0aXZlVmFsdWUqIG9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0LmdldCgpOyB9
CiAgICAgQ1NTVmFsdWUqIG1hc2soKSBjb25zdCB7IHJldHVybiBtX21hc2suZ2V0KCk7IH0KIAog
ICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CisjaWYgRU5BQkxFKENTU19WQVJJQUJM
RVMpCisgICAgU3RyaW5nIGN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBI
YXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYpIGNvbnN0OworI2VuZGlmCiAKICAgICB2b2lk
IGFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiwgY29uc3QgU3R5bGVT
aGVldENvbnRlbnRzKikgY29uc3Q7CiAKICAgICB2b2lkIHJlcG9ydERlc2NlbmRhbnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgQ1NTUmVmbGVj
dFZhbHVlKENTU1JlZmxlY3Rpb25EaXJlY3Rpb24gZGlyZWN0aW9uLCBQYXNzUmVmUHRyPENTU1By
aW1pdGl2ZVZhbHVlPiBvZmZzZXQsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IG1hc2spCisgICAgQ1NT
UmVmbGVjdFZhbHVlKFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGRpcmVjdGlvbiwgUGFz
c1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gb2Zmc2V0LCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBt
YXNrKQogICAgICAgICA6IENTU1ZhbHVlKFJlZmxlY3RDbGFzcykKICAgICAgICAgLCBtX2RpcmVj
dGlvbihkaXJlY3Rpb24pCiAgICAgICAgICwgbV9vZmZzZXQob2Zmc2V0KQpAQCAtNjIsNyArNjUs
NyBAQCBwcml2YXRlOgogICAgIHsKICAgICB9CiAKLSAgICBDU1NSZWZsZWN0aW9uRGlyZWN0aW9u
IG1fZGlyZWN0aW9uOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9kaXJlY3Rpb247
CiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX29mZnNldDsKICAgICBSZWZQdHI8Q1NT
VmFsdWU+IG1fbWFzazsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCAwYTYxMjlkOTJh
ZTY2NDdkZDM1ZDY4MjMxMjI5OGUzY2QxMmVjYTU3Li5jMTVlNzQ0YjA0NjQ2Nzc4ZTcyNGRmMGIx
OGYxZmRjN2M2Yzg5Y2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTM3NCw2ICszNzQs
OCBAQCBTdHJpbmcgQ1NTVmFsdWU6OnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhjb25zdCBI
YXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPgogICAgIHN3aXRjaCAoY2xhc3NUeXBlKCkpIHsK
ICAgICBjYXNlIFByaW1pdGl2ZUNsYXNzOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29u
c3QgQ1NTUHJpbWl0aXZlVmFsdWUqPih0aGlzKS0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFy
aWFibGVzKHZhcmlhYmxlcyk7CisgICAgY2FzZSBSZWZsZWN0Q2xhc3M6CisgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxjb25zdCBDU1NSZWZsZWN0VmFsdWUqPih0aGlzKS0+Y3VzdG9tU2VyaWFs
aXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7CiAgICAgY2FzZSBWYWx1ZUxpc3RDbGFz
czoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1ZhbHVlTGlzdCo+KHRoaXMp
LT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKICAgICBjYXNl
IFdlYktpdENTU1RyYW5zZm9ybUNsYXNzOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
CmluZGV4IDUwYWQ2MTZmZDhkOTk5NzZkMDg3YjM0MmFkYjg4NDAyYmMzN2VlY2QuLmQwMDQ2YmE5
Yzk0YWE3Njk5YzQwYWJjYTAyMjU4ODBhNWUxNzM0ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKQEAgLTI4NjMsNiArMjg2MywxNCBAQCBzdGF0aWMgYm9vbCBoYXNWYXJpYWJs
ZVJlZmVyZW5jZShDU1NWYWx1ZSogdmFsdWUpCiAgICAgaWYgKHZhbHVlLT5pc0NhbGN1bGF0aW9u
VmFsdWUoKSkKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PENTU0NhbGNWYWx1ZSo+KHZhbHVl
KS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKTsKIAorICAgIGlmICh2YWx1ZS0+aXNSZWZsZWN0VmFs
dWUoKSkgeworICAgICAgICBDU1NSZWZsZWN0VmFsdWUqIHJlZmxlY3RWYWx1ZSA9IHN0YXRpY19j
YXN0PENTU1JlZmxlY3RWYWx1ZSo+KHZhbHVlKTsKKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUq
IGRpcmVjdGlvbiA9IHJlZmxlY3RWYWx1ZS0+ZGlyZWN0aW9uKCk7CisgICAgICAgIENTU1ByaW1p
dGl2ZVZhbHVlKiBvZmZzZXQgPSByZWZsZWN0VmFsdWUtPm9mZnNldCgpOworICAgICAgICBDU1NW
YWx1ZSogbWFzayA9IHJlZmxlY3RWYWx1ZS0+bWFzaygpOworICAgICAgICByZXR1cm4gKGRpcmVj
dGlvbiAmJiBoYXNWYXJpYWJsZVJlZmVyZW5jZShkaXJlY3Rpb24pKSB8fCAob2Zmc2V0ICYmIGhh
c1ZhcmlhYmxlUmVmZXJlbmNlKG9mZnNldCkpIHx8IChtYXNrICYmIGhhc1ZhcmlhYmxlUmVmZXJl
bmNlKG1hc2spKTsKKyAgICB9CisKICAgICBmb3IgKENTU1ZhbHVlTGlzdEl0ZXJhdG9yIGkgPSB2
YWx1ZTsgaS5oYXNNb3JlKCk7IGkuYWR2YW5jZSgpKSB7CiAgICAgICAgIGlmIChoYXNWYXJpYWJs
ZVJlZmVyZW5jZShpLnZhbHVlKCkpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0zMzAw
LDcgKzMzMDgsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVy
dHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogCiAgICAgICAgIENTU1JlZmxlY3RWYWx1ZSogcmVm
bGVjdFZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUmVmbGVjdFZhbHVlKj4odmFsdWUpOwogICAgICAg
ICBSZWZQdHI8U3R5bGVSZWZsZWN0aW9uPiByZWZsZWN0aW9uID0gU3R5bGVSZWZsZWN0aW9uOjpj
cmVhdGUoKTsKLSAgICAgICAgcmVmbGVjdGlvbi0+c2V0RGlyZWN0aW9uKHJlZmxlY3RWYWx1ZS0+
ZGlyZWN0aW9uKCkpOworICAgICAgICByZWZsZWN0aW9uLT5zZXREaXJlY3Rpb24oKnJlZmxlY3RW
YWx1ZS0+ZGlyZWN0aW9uKCkpOwogICAgICAgICBpZiAocmVmbGVjdFZhbHVlLT5vZmZzZXQoKSkK
ICAgICAgICAgICAgIHJlZmxlY3Rpb24tPnNldE9mZnNldChyZWZsZWN0VmFsdWUtPm9mZnNldCgp
LT5jb252ZXJ0VG9MZW5ndGg8Rml4ZWRJbnRlZ2VyQ29udmVyc2lvbiB8IFBlcmNlbnRDb252ZXJz
aW9uIHwgQ2FsY3VsYXRlZENvbnZlcnNpb24+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwg
em9vbUZhY3RvcikpOwogICAgICAgICBOaW5lUGllY2VJbWFnZSBtYXNrOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJmZGE3
NWZhOTJkYTQ2ZDExMWI4NWJmODVkYjUwYmI5ZmQzNDY0OWEuLjdmOTc1Y2MwMDZlM2I0NjJmNTcw
NjBiN2EyNzMwM2JhNDRmZTRkZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMS0xNCAg
THVrZSBNYWNwaGVyc29uICAgPG1hY3BoZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFN1
cHBvcnQgdmFyaWFibGVzIGluc2lkZSAtd2Via2l0LWJveC1yZWZsZWN0IENTUyBwcm9wZXJ0eS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjg1Ngor
CisgICAgICAgIEFkZHMgdGVzdCBmb3IgdmFyaWFibGVzIGFzIC13ZWJraXQtYm94LXJlZmxlY3Qg
cGFyYW1ldGVycy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLWJveC1yZWZsZWN0LWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLWJv
eC1yZWZsZWN0Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAxLTE0ICBMZXZpIFdlaW50cmF1YiAgPGxl
dml3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZy4gTWFya2lu
ZyBmYXN0L2ltYWdlL3pvb21lZC1vZmZzZXQtc2l6ZS5odG1sIGFzIHNsb3cgb24gZGVidWcuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1ib3gt
cmVmbGVjdC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zh
ci1pbnNpZGUtYm94LXJlZmxlY3QtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTEyMjNiN2E5
Zjg2ZGU2OTQ2MzlkNjg5NTUwYzc4ZTRhZjQ4NWE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxlY3QtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8c3R5bGU+Citk
aXYgeworICAtd2Via2l0LWJveC1yZWZsZWN0OiBiZWxvdyA1cHg7Cit9Cis8L3N0eWxlPgorPGRp
dj5UaGlzIHRleHQgc2hvdWxkIGJlIHJlZmxlY3RlZCBvbiB0aGUgcmlnaHQuPC9kaXY+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lk
ZS1ib3gtcmVmbGVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1p
bnNpZGUtYm94LXJlZmxlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYTY2MDU5NjY3ZGQ3ZmVkOWYyOGUz
ZTdiMWY4YzE1OTIzMGVlY2JiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxlY3QuaHRtbApAQCAtMCwwICsxLDE1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOwor
PC9zY3JpcHQ+Cis8c3R5bGU+CitkaXYgeworICAtd2Via2l0LWJveC1yZWZsZWN0OiAtd2Via2l0
LXZhcihhKSAtd2Via2l0LWNhbGMoLXdlYmtpdC12YXIoYikpOworICAtd2Via2l0LXZhci1hOiBi
ZWxvdzsKKyAgLXdlYmtpdC12YXItYjogNXB4OworfQorPC9zdHlsZT4KKzxkaXY+VGhpcyB0ZXh0
IHNob3VsZCBiZSByZWZsZWN0ZWQgb24gdGhlIHJpZ2h0LjwvZGl2PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182872</attachid>
            <date>2013-01-15 16:35:04 -0800</date>
            <delta_ts>2013-01-23 19:13:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106856-20130116113205.patch</filename>
            <type>text/plain</type>
            <size>15311</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NzE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVlMGI1NDNkMjQ4MWNj
ZTc2ZmMwNTE4NDBlMTBmYjhmZjVkMDU3YS4uY2FkNzQxZDg4YzI1ZGZlNDRkNDcxN2NjNGNhMDQz
OGZmZWI0MjM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAxLTE0ICBMdWtl
IE1hY3BoZXJzb24gICA8bWFjcGhlcnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU3VwcG9y
dCB2YXJpYWJsZXMgaW5zaWRlIC13ZWJraXQtYm94LXJlZmxlY3QgQ1NTIHByb3BlcnR5LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2ODU2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHByaW1hcnkg
Y2hhbmdlIGlzIHRvIG1ha2UgdGhlIGRpcmVjdGlvbiBwYXJhbWV0ZXIgYSBDU1NQcmltaXRpdmVW
YWx1ZSBzdHlsZSBpZGVudCwKKyAgICAgICAgc28gdGhhdCBpdCBjYW4gYWxzbyBiZSBhIHZhcmlh
YmxlIHJlZmVyZW5jZS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIExheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3JlZmxlY3Rpb25zLyB0ZXN0cy4KKyAgICAgICAgQWRkZWQgVGVzdDogZmFz
dC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxlY3QuaHRtbAorCisgICAgICAgICog
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2
YWx1ZUZvclJlZmxlY3Rpb24pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVJlZmxlY3QpOgorICAgICAgICAqIGNzcy9DU1NQ
cmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgQ1NTUmVmbGVjdGlvbkRpcmVjdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29udmVydFRvTGVuZ3Ro
KToKKyAgICAgICAgKiBjc3MvQ1NTUmVmbGVjdFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1JlZmxlY3RWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1JlZmxlY3RWYWx1ZTo6Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5n
VmFyaWFibGVzKToKKyAgICAgICAgKiBjc3MvQ1NTUmVmbGVjdFZhbHVlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NSZWZsZWN0VmFsdWU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NS
ZWZsZWN0VmFsdWU6OmRpcmVjdGlvbik6CisgICAgICAgIChDU1NSZWZsZWN0VmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUmVmbGVjdFZhbHVlOjpDU1NSZWZsZWN0VmFsdWUpOgorICAgICAg
ICAqIGNzcy9DU1NWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6c2VyaWFs
aXplUmVzb2x2aW5nVmFyaWFibGVzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpoYXNWYXJpYWJsZVJlZmVyZW5jZSk6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KToKKwogMjAxMy0wMS0xNCAgRGltYSBH
b3JiaWsgIDxkZ29yYmlrQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgSUQgc2VsZWN0
b3IgbWF0Y2hpbmcgZm9yIHRoZSBXZWJWVFQgOjpjdWUgcHNldWRvIGVsZW1lbnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXgg
ZDU3Nzc3MjMxM2VhNmJhMTg2Njk4MTAwZDAyOTFhMzQ2MzZmOWE0OS4uMTExMmJmNmNkNDQxZWMy
NWJlNWI1ZDBmMDQyOWYyMDk3MzZmNTE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTU5NCw3ICs1OTQsMjUgQEAgc3Rh
dGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yUmVmbGVjdGlvbihjb25zdCBTdHlsZVJl
ZmxlY3Rpb24qIHJlZmxlY3Rpb24KICAgICBlbHNlCiAgICAgICAgIG9mZnNldCA9IHpvb21BZGp1
c3RlZFBpeGVsVmFsdWUocmVmbGVjdGlvbi0+b2Zmc2V0KCkudmFsdWUoKSwgc3R5bGUpOwogCi0g
ICAgcmV0dXJuIENTU1JlZmxlY3RWYWx1ZTo6Y3JlYXRlKHJlZmxlY3Rpb24tPmRpcmVjdGlvbigp
LCBvZmZzZXQucmVsZWFzZSgpLCB2YWx1ZUZvck5pbmVQaWVjZUltYWdlKHJlZmxlY3Rpb24tPm1h
c2soKSkpOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gZGlyZWN0aW9uOworICAgIHN3
aXRjaCAocmVmbGVjdGlvbi0+ZGlyZWN0aW9uKCkpIHsKKyAgICBjYXNlIFJlZmxlY3Rpb25CZWxv
dzoKKyAgICAgICAgZGlyZWN0aW9uID0gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZh
bHVlKENTU1ZhbHVlQmVsb3cpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFJlZmxlY3Rpb25B
Ym92ZToKKyAgICAgICAgZGlyZWN0aW9uID0gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmll
clZhbHVlKENTU1ZhbHVlQWJvdmUpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFJlZmxlY3Rp
b25MZWZ0OgorICAgICAgICBkaXJlY3Rpb24gPSBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlm
aWVyVmFsdWUoQ1NTVmFsdWVMZWZ0KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSZWZsZWN0
aW9uUmlnaHQ6CisgICAgICAgIGRpcmVjdGlvbiA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50
aWZpZXJWYWx1ZShDU1NWYWx1ZVJpZ2h0KTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorCisgICAgcmV0dXJuIENTU1Jl
ZmxlY3RWYWx1ZTo6Y3JlYXRlKGRpcmVjdGlvbi5yZWxlYXNlKCksIG9mZnNldC5yZWxlYXNlKCks
IHZhbHVlRm9yTmluZVBpZWNlSW1hZ2UocmVmbGVjdGlvbi0+bWFzaygpKSk7CiB9CiAKIHN0YXRp
YyBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gY3JlYXRlUG9zaXRpb25MaXN0Rm9yTGF5ZXIoQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0eUlELCBjb25zdCBGaWxsTGF5ZXIqIGxheWVyLCBjb25zdCBSZW5k
ZXJTdHlsZSogc3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGJhMDlmZDAyNGVl
ZDIwNzI2ZWU4YTY2NmQ2ODNhMTNhY2QzYTBjZDMuLjdkZmE4MDMwMjQyZTNjNWRjYzMwZWEyMDQ0
MjhhZTRmNDgzZTI0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC02MjA3LDE5ICs2
MjA3LDE4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVJlZmxlY3QoQ1NTUHJvcGVydHlJRCBwcm9w
SWQsIGJvb2wgaW1wb3J0YW50KQogCiAgICAgLy8gRGlyZWN0aW9uIGNvbWVzIGZpcnN0LgogICAg
IENTU1BhcnNlclZhbHVlKiB2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpOwotICAgIENTU1Jl
ZmxlY3Rpb25EaXJlY3Rpb24gZGlyZWN0aW9uOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1
ZT4gZGlyZWN0aW9uOworI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQorICAgIGlmICh2YWwtPnVu
aXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19WQVJJQUJMRV9OQU1FKQorICAgICAgICBkaXJl
Y3Rpb24gPSBjcmVhdGVQcmltaXRpdmVWYXJpYWJsZU5hbWVWYWx1ZSh2YWwpOworICAgIGVsc2UK
KyNlbmRpZgogICAgIHN3aXRjaCAodmFsLT5pZCkgewogICAgICAgICBjYXNlIENTU1ZhbHVlQWJv
dmU6Ci0gICAgICAgICAgICBkaXJlY3Rpb24gPSBSZWZsZWN0aW9uQWJvdmU7Ci0gICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBDU1NWYWx1ZUJlbG93OgotICAgICAgICAgICAgZGlyZWN0
aW9uID0gUmVmbGVjdGlvbkJlbG93OwotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug
Q1NTVmFsdWVMZWZ0OgotICAgICAgICAgICAgZGlyZWN0aW9uID0gUmVmbGVjdGlvbkxlZnQ7Ci0g
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NWYWx1ZVJpZ2h0OgotICAgICAgICAg
ICAgZGlyZWN0aW9uID0gUmVmbGVjdGlvblJpZ2h0OworICAgICAgICAgICAgZGlyZWN0aW9uID0g
Y3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZhbC0+aWQpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBA
IC02MjQ0LDcgKzYyNDMsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VSZWZsZWN0KENTU1Byb3Bl
cnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9CiAKLSAgICBSZWZQdHI8Q1NTUmVmbGVjdFZhbHVlPiByZWZsZWN0VmFsdWUgPSBDU1NS
ZWZsZWN0VmFsdWU6OmNyZWF0ZShkaXJlY3Rpb24sIG9mZnNldC5yZWxlYXNlKCksIG1hc2sucmVs
ZWFzZSgpKTsKKyAgICBSZWZQdHI8Q1NTUmVmbGVjdFZhbHVlPiByZWZsZWN0VmFsdWUgPSBDU1NS
ZWZsZWN0VmFsdWU6OmNyZWF0ZShkaXJlY3Rpb24ucmVsZWFzZSgpLCBvZmZzZXQucmVsZWFzZSgp
LCBtYXNrLnJlbGVhc2UoKSk7CiAgICAgYWRkUHJvcGVydHkocHJvcElkLCByZWZsZWN0VmFsdWUu
cmVsZWFzZSgpLCBpbXBvcnRhbnQpOwogICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAgcmV0
dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaAppbmRleCBmZWEzZjZkMTAyNDFkZTNjZjVmZWI5Y2RlOGU0NmE0ZTlmYWI4OTFmLi43YWFi
NzFlOTVjN2VmYmYyMjlhMDEzYjBmYTFiMjE2MDk5NTUzZjk2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTMyLDYgKzMyLDcgQEAKIAog
I2luY2x1ZGUgIkNTU0NhbGN1bGF0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVW
YWx1ZS5oIgorI2luY2x1ZGUgIkNTU1JlZmxlY3Rpb25EaXJlY3Rpb24uaCIKICNpbmNsdWRlICJD
b2xvclNwYWNlLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkZv
bnREZXNjcmlwdGlvbi5oIgpAQCAtMTQxLDYgKzE0Miw0MiBAQCB0ZW1wbGF0ZTw+IGlubGluZSBD
U1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgTGluZUNsYW1wVmFsdWUoKSBjb25zdAogICAgIHJl
dHVybiBMaW5lQ2xhbXBWYWx1ZSgpOwogfQogCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ1NTUmVmbGVjdGlvbkRpcmVjdGlvbiBlKQorICAg
IDogQ1NTVmFsdWUoUHJpbWl0aXZlQ2xhc3MpCit7CisgICAgbV9wcmltaXRpdmVVbml0VHlwZSA9
IENTU19JREVOVDsKKyAgICBzd2l0Y2ggKGUpIHsKKyAgICBjYXNlIFJlZmxlY3Rpb25BYm92ZToK
KyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlQWJvdmU7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgUmVmbGVjdGlvbkJlbG93OgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFs
dWVCZWxvdzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBSZWZsZWN0aW9uTGVmdDoKKyAgICAg
ICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlTGVmdDsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBSZWZsZWN0aW9uUmlnaHQ6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVJpZ2h0
OworICAgIH0KK30KKwordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJh
dG9yIENTU1JlZmxlY3Rpb25EaXJlY3Rpb24oKSBjb25zdAoreworICAgIHN3aXRjaCAobV92YWx1
ZS5pZGVudCkgeworICAgIGNhc2UgQ1NTVmFsdWVBYm92ZToKKyAgICAgICAgcmV0dXJuIFJlZmxl
Y3Rpb25BYm92ZTsKKyAgICBjYXNlIENTU1ZhbHVlQmVsb3c6CisgICAgICAgIHJldHVybiBSZWZs
ZWN0aW9uQmVsb3c7CisgICAgY2FzZSBDU1NWYWx1ZUxlZnQ6CisgICAgICAgIHJldHVybiBSZWZs
ZWN0aW9uTGVmdDsKKyAgICBjYXNlIENTU1ZhbHVlUmlnaHQ6CisgICAgICAgIHJldHVybiBSZWZs
ZWN0aW9uUmlnaHQ7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0
dXJuIFJlZmxlY3Rpb25CZWxvdzsKK30KKwogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKENvbHVtblNwYW4gY29sdW1uU3BhbikKICAgICA6IENT
U1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQogewpAQCAtNDA3Nyw2ICs0MTE0LDkgQEAgZW51bSBMZW5n
dGhDb252ZXJzaW9uIHsKIAogdGVtcGxhdGU8aW50IHN1cHBvcnRlZD4gTGVuZ3RoIENTU1ByaW1p
dGl2ZVZhbHVlOjpjb252ZXJ0VG9MZW5ndGgoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHls
ZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkK
IHsKKyNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKKyAgICBBU1NFUlQoIWhhc1ZhcmlhYmxlUmVm
ZXJlbmNlKCkpOworI2VuZGlmCiAgICAgaWYgKChzdXBwb3J0ZWQgJiAoRml4ZWRJbnRlZ2VyQ29u
dmVyc2lvbiB8IEZpeGVkRmxvYXRDb252ZXJzaW9uKSkgJiYgaXNGb250UmVsYXRpdmVMZW5ndGgo
KSAmJiAoIXN0eWxlIHx8ICFyb290U3R5bGUpKQogICAgICAgICByZXR1cm4gTGVuZ3RoKFVuZGVm
aW5lZCk7CiAgICAgaWYgKChzdXBwb3J0ZWQgJiBGaXhlZEludGVnZXJDb252ZXJzaW9uKSAmJiBp
c0xlbmd0aCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmNwcAppbmRleCA5NDM5
ZDYwMGVhODE0YTA0NTlmOThiMmNiOWFjNWU2ZDRjZjIzYjlmLi4wMDYzMDk5N2FmZGQxOGE2MGNi
M2M3Y2ZlZDc1ZWYwOTgxYTRjNWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UmVmbGVjdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVl
LmNwcApAQCAtMzYsMzAgKzM2LDE5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU3RyaW5nIENT
U1JlZmxlY3RWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB7Ci0gICAgU3RyaW5nQnVpbGRl
ciByZXN1bHQ7Ci0gICAgc3dpdGNoIChtX2RpcmVjdGlvbikgewotICAgICAgICBjYXNlIFJlZmxl
Y3Rpb25CZWxvdzoKLSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCJiZWxvdyAiKTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFJlZmxlY3Rpb25BYm92ZToKLSAgICAg
ICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCJhYm92ZSAiKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIFJlZmxlY3Rpb25MZWZ0OgotICAgICAgICAgICAgcmVzdWx0LmFwcGVu
ZExpdGVyYWwoImxlZnQgIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBSZWZs
ZWN0aW9uUmlnaHQ6Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgicmlnaHQgIik7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGJyZWFr
OwotICAgIH0KKyAgICBpZiAobV9tYXNrKQorICAgICAgICByZXR1cm4gbV9kaXJlY3Rpb24tPmNz
c1RleHQoKSArICcgJyArIG1fb2Zmc2V0LT5jc3NUZXh0KCkgKyAnICcgKyBtX21hc2stPmNzc1Rl
eHQoKTsKKyAgICByZXR1cm4gbV9kaXJlY3Rpb24tPmNzc1RleHQoKSArICcgJyArIG1fb2Zmc2V0
LT5jc3NUZXh0KCk7Cit9CiAKLSAgICByZXN1bHQuYXBwZW5kKG1fb2Zmc2V0LT5jc3NUZXh0KCkp
OwotICAgIHJlc3VsdC5hcHBlbmQoJyAnKTsKKyNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKK1N0
cmluZyBDU1NSZWZsZWN0VmFsdWU6OmN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyhj
b25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYgdmFyaWFibGVzKSBjb25zdAorewog
ICAgIGlmIChtX21hc2spCi0gICAgICAgIHJlc3VsdC5hcHBlbmQobV9tYXNrLT5jc3NUZXh0KCkp
OwotICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKKyAgICAgICAgcmV0dXJuIG1fZGlyZWN0
aW9uLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSArICcgJyAr
IG1fb2Zmc2V0LT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKSAr
ICcgJyArIG1fbWFzay0+c2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7Cisg
ICAgcmV0dXJuIG1fZGlyZWN0aW9uLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMo
dmFyaWFibGVzKSArICcgJyArIG1fb2Zmc2V0LT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJp
YWJsZXModmFyaWFibGVzKTsKIH0KKyNlbmRpZgogCiB2b2lkIENTU1JlZmxlY3RWYWx1ZTo6YWRk
U3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mIHVybHMsIGNvbnN0IFN0eWxl
U2hlZXRDb250ZW50cyogc3R5bGVTaGVldCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZs
ZWN0VmFsdWUuaAppbmRleCAxYmRmZDVmZTc2YzdlZjI4MWY3Zjc3ODliMjljZWFhNDQ4YzczYmQ5
Li5iYTkyZGZlZDNkOTRmODYxMjUzMjk0YWRkZDFhMTJhYjUyNWUwOWM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1JlZmxlY3RWYWx1ZS5oCkBAIC0zNywyNCArMzcsMjcgQEAgY2xhc3MgQ1NTUHJpbWl0
aXZlVmFsdWU7CiAKIGNsYXNzIENTU1JlZmxlY3RWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTUmVmbGVjdFZhbHVlPiBjcmVhdGUoQ1NT
UmVmbGVjdGlvbkRpcmVjdGlvbiBkaXJlY3Rpb24sCisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NT
UmVmbGVjdFZhbHVlPiBjcmVhdGUoUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gZGlyZWN0
aW9uLAogICAgICAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBvZmZzZXQsIFBhc3NS
ZWZQdHI8Q1NTVmFsdWU+IG1hc2spCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IENTU1JlZmxlY3RWYWx1ZShkaXJlY3Rpb24sIG9mZnNldCwgbWFzaykpOwogICAgIH0KIAotICAg
IENTU1JlZmxlY3Rpb25EaXJlY3Rpb24gZGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kaXJl
Y3Rpb247IH0KKyAgICBDU1NQcmltaXRpdmVWYWx1ZSogZGlyZWN0aW9uKCkgY29uc3QgeyByZXR1
cm4gbV9kaXJlY3Rpb24uZ2V0KCk7IH0KICAgICBDU1NQcmltaXRpdmVWYWx1ZSogb2Zmc2V0KCkg
Y29uc3QgeyByZXR1cm4gbV9vZmZzZXQuZ2V0KCk7IH0KICAgICBDU1NWYWx1ZSogbWFzaygpIGNv
bnN0IHsgcmV0dXJuIG1fbWFzay5nZXQoKTsgfQogCiAgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQo
KSBjb25zdDsKKyNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKKyAgICBTdHJpbmcgY3VzdG9tU2Vy
aWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJp
bmc+JikgY29uc3Q7CisjZW5kaWYKIAogICAgIHZvaWQgYWRkU3VicmVzb3VyY2VTdHlsZVVSTHMo
TGlzdEhhc2hTZXQ8S1VSTD4mLCBjb25zdCBTdHlsZVNoZWV0Q29udGVudHMqKSBjb25zdDsKIAog
ICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBj
b25zdDsKIAogcHJpdmF0ZToKLSAgICBDU1NSZWZsZWN0VmFsdWUoQ1NTUmVmbGVjdGlvbkRpcmVj
dGlvbiBkaXJlY3Rpb24sIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG9mZnNldCwgUGFz
c1JlZlB0cjxDU1NWYWx1ZT4gbWFzaykKKyAgICBDU1NSZWZsZWN0VmFsdWUoUGFzc1JlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4gZGlyZWN0aW9uLCBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVl
PiBvZmZzZXQsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IG1hc2spCiAgICAgICAgIDogQ1NTVmFsdWUo
UmVmbGVjdENsYXNzKQogICAgICAgICAsIG1fZGlyZWN0aW9uKGRpcmVjdGlvbikKICAgICAgICAg
LCBtX29mZnNldChvZmZzZXQpCkBAIC02Miw3ICs2NSw3IEBAIHByaXZhdGU6CiAgICAgewogICAg
IH0KIAotICAgIENTU1JlZmxlY3Rpb25EaXJlY3Rpb24gbV9kaXJlY3Rpb247CisgICAgUmVmUHRy
PENTU1ByaW1pdGl2ZVZhbHVlPiBtX2RpcmVjdGlvbjsKICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZl
VmFsdWU+IG1fb2Zmc2V0OwogICAgIFJlZlB0cjxDU1NWYWx1ZT4gbV9tYXNrOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWUuY3BwCmluZGV4IDBhNjEyOWQ5MmFlNjY0N2RkMzVkNjgyMzEyMjk4ZTNjZDEy
ZWNhNTcuLmMxNWU3NDRiMDQ2NDY3NzhlNzI0ZGYwYjE4ZjFmZGM3YzZjODljYjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmNwcApAQCAtMzc0LDYgKzM3NCw4IEBAIFN0cmluZyBDU1NWYWx1ZTo6c2Vy
aWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKGNvbnN0IEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTdHJp
bmc+CiAgICAgc3dpdGNoIChjbGFzc1R5cGUoKSkgewogICAgIGNhc2UgUHJpbWl0aXZlQ2xhc3M6
CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NQcmltaXRpdmVWYWx1ZSo+KHRo
aXMpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVzKTsKKyAgICBj
YXNlIFJlZmxlY3RDbGFzczoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1Jl
ZmxlY3RWYWx1ZSo+KHRoaXMpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFy
aWFibGVzKTsKICAgICBjYXNlIFZhbHVlTGlzdENsYXNzOgogICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Y29uc3QgQ1NTVmFsdWVMaXN0Kj4odGhpcyktPmN1c3RvbVNlcmlhbGl6ZVJlc29sdmlu
Z1ZhcmlhYmxlcyh2YXJpYWJsZXMpOwogICAgIGNhc2UgV2ViS2l0Q1NTVHJhbnNmb3JtQ2xhc3M6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggNTBhZDYxNmZkOGQ5OTk3NmQw
ODdiMzQyYWRiODg0MDJiYzM3ZWVjZC4uZDAwNDZiYTljOTRhYTc2OTljNDBhYmNhMDIyNTg4MGE1
ZTE3MzRlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMjg2Myw2ICsy
ODYzLDE0IEBAIHN0YXRpYyBib29sIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKENTU1ZhbHVlKiB2YWx1
ZSkKICAgICBpZiAodmFsdWUtPmlzQ2FsY3VsYXRpb25WYWx1ZSgpKQogICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Q1NTQ2FsY1ZhbHVlKj4odmFsdWUpLT5oYXNWYXJpYWJsZVJlZmVyZW5jZSgp
OwogCisgICAgaWYgKHZhbHVlLT5pc1JlZmxlY3RWYWx1ZSgpKSB7CisgICAgICAgIENTU1JlZmxl
Y3RWYWx1ZSogcmVmbGVjdFZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUmVmbGVjdFZhbHVlKj4odmFs
dWUpOworICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogZGlyZWN0aW9uID0gcmVmbGVjdFZhbHVl
LT5kaXJlY3Rpb24oKTsKKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIG9mZnNldCA9IHJlZmxl
Y3RWYWx1ZS0+b2Zmc2V0KCk7CisgICAgICAgIENTU1ZhbHVlKiBtYXNrID0gcmVmbGVjdFZhbHVl
LT5tYXNrKCk7CisgICAgICAgIHJldHVybiAoZGlyZWN0aW9uICYmIGhhc1ZhcmlhYmxlUmVmZXJl
bmNlKGRpcmVjdGlvbikpIHx8IChvZmZzZXQgJiYgaGFzVmFyaWFibGVSZWZlcmVuY2Uob2Zmc2V0
KSkgfHwgKG1hc2sgJiYgaGFzVmFyaWFibGVSZWZlcmVuY2UobWFzaykpOworICAgIH0KKwogICAg
IGZvciAoQ1NTVmFsdWVMaXN0SXRlcmF0b3IgaSA9IHZhbHVlOyBpLmhhc01vcmUoKTsgaS5hZHZh
bmNlKCkpIHsKICAgICAgICAgaWYgKGhhc1ZhcmlhYmxlUmVmZXJlbmNlKGkudmFsdWUoKSkpCiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTMzMDAsNyArMzMwOCw3IEBAIHZvaWQgU3R5bGVS
ZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUp
CiAKICAgICAgICAgQ1NTUmVmbGVjdFZhbHVlKiByZWZsZWN0VmFsdWUgPSBzdGF0aWNfY2FzdDxD
U1NSZWZsZWN0VmFsdWUqPih2YWx1ZSk7CiAgICAgICAgIFJlZlB0cjxTdHlsZVJlZmxlY3Rpb24+
IHJlZmxlY3Rpb24gPSBTdHlsZVJlZmxlY3Rpb246OmNyZWF0ZSgpOwotICAgICAgICByZWZsZWN0
aW9uLT5zZXREaXJlY3Rpb24ocmVmbGVjdFZhbHVlLT5kaXJlY3Rpb24oKSk7CisgICAgICAgIHJl
ZmxlY3Rpb24tPnNldERpcmVjdGlvbigqcmVmbGVjdFZhbHVlLT5kaXJlY3Rpb24oKSk7CiAgICAg
ICAgIGlmIChyZWZsZWN0VmFsdWUtPm9mZnNldCgpKQogICAgICAgICAgICAgcmVmbGVjdGlvbi0+
c2V0T2Zmc2V0KHJlZmxlY3RWYWx1ZS0+b2Zmc2V0KCktPmNvbnZlcnRUb0xlbmd0aDxGaXhlZElu
dGVnZXJDb252ZXJzaW9uIHwgUGVyY2VudENvbnZlcnNpb24gfCBDYWxjdWxhdGVkQ29udmVyc2lv
bj4oc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFjdG9yKSk7CiAgICAgICAgIE5p
bmVQaWVjZUltYWdlIG1hc2s7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGExMjU5OWM5OGZmZTczOTdlYTYxNmFhZWY4MzQw
MmVlMGY0YTRjMC4uNDg5MWYzNzM4OTI0Y2M3NmZjMDAyNjU5OTQ3NGU1NjY5ZTNiYTA3OCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAxLTE0ICBMdWtlIE1hY3BoZXJzb24gICA8bWFjcGhl
cnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU3VwcG9ydCB2YXJpYWJsZXMgaW5zaWRlIC13
ZWJraXQtYm94LXJlZmxlY3QgQ1NTIHByb3BlcnR5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2ODU2CisKKyAgICAgICAgQWRkcyB0ZXN0IGZvciB2
YXJpYWJsZXMgYXMgLXdlYmtpdC1ib3gtcmVmbGVjdCBwYXJhbWV0ZXJzLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVz
L3Zhci1pbnNpZGUtYm94LXJlZmxlY3QtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxlY3QuaHRtbDogQWRkZWQuCisK
IDIwMTMtMDEtMTQgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5pY2NAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1ib3gtcmVmbGVjdC1leHBlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJl
ZmxlY3QtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NTEyMjNiN2E5Zjg2ZGU2OTQ2MzlkNjg5
NTUwYzc4ZTRhZjQ4NWE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxlY3QtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8c3R5bGU+CitkaXYgeworICAtd2Via2l0
LWJveC1yZWZsZWN0OiBiZWxvdyA1cHg7Cit9Cis8L3N0eWxlPgorPGRpdj5UaGlzIHRleHQgc2hv
dWxkIGJlIHJlZmxlY3RlZCBvbiB0aGUgcmlnaHQuPC9kaXY+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdmFyLWluc2lkZS1ib3gtcmVmbGVjdC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxl
Y3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xYTY2MDU5NjY3ZGQ3ZmVkOWYyOGUzZTdiMWY4YzE1OTIzMGVl
Y2JiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zh
ci1pbnNpZGUtYm94LXJlZmxlY3QuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRDU1NWYXJpYWJsZXNFbmFibGVkKHRydWUpOworPC9zY3JpcHQ+Cis8c3R5
bGU+CitkaXYgeworICAtd2Via2l0LWJveC1yZWZsZWN0OiAtd2Via2l0LXZhcihhKSAtd2Via2l0
LWNhbGMoLXdlYmtpdC12YXIoYikpOworICAtd2Via2l0LXZhci1hOiBiZWxvdzsKKyAgLXdlYmtp
dC12YXItYjogNXB4OworfQorPC9zdHlsZT4KKzxkaXY+VGhpcyB0ZXh0IHNob3VsZCBiZSByZWZs
ZWN0ZWQgb24gdGhlIHJpZ2h0LjwvZGl2PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184380</attachid>
            <date>2013-01-23 19:13:48 -0800</date>
            <delta_ts>2013-01-23 20:45:39 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-106856-20130124141040.patch</filename>
            <type>text/plain</type>
            <size>15375</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZmZTVlMzdiZGM3ZjYz
NDRiMWQ5NjM4NmI1ODc2ODM1NmYzNTliNC4uMDYyZjA2MGMxZDQ2MTdkYzFkM2YyMDE3OGZhZDVl
OTkxYzMyOTVmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEzLTAxLTE0ICBMdWtl
IE1hY3BoZXJzb24gICA8bWFjcGhlcnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU3VwcG9y
dCB2YXJpYWJsZXMgaW5zaWRlIC13ZWJraXQtYm94LXJlZmxlY3QgQ1NTIHByb3BlcnR5LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2ODU2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KKworICAgICAgICBUaGUgcHJpbWFyeSBjaGFu
Z2UgaXMgdG8gbWFrZSB0aGUgZGlyZWN0aW9uIHBhcmFtZXRlciBhIENTU1ByaW1pdGl2ZVZhbHVl
IHN0eWxlIGlkZW50LAorICAgICAgICBzbyB0aGF0IGl0IGNhbiBhbHNvIGJlIGEgdmFyaWFibGUg
cmVmZXJlbmNlLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcmVmbGVjdGlvbnMvIHRlc3RzLgorICAgICAgICBBZGRlZCBUZXN0OiBmYXN0L2Nz
cy92YXJpYWJsZXMvdmFyLWluc2lkZS1ib3gtcmVmbGVjdC5odG1sCisKKyAgICAgICAgKiBjc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZhbHVl
Rm9yUmVmbGVjdGlvbik6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlUmVmbGVjdCk6CisgICAgICAgICogY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBDU1NSZWZsZWN0aW9uRGlyZWN0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb252ZXJ0VG9MZW5ndGgpOgor
ICAgICAgICAqIGNzcy9DU1NSZWZsZWN0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UmVmbGVjdFZhbHVlOjpjdXN0b21Dc3NUZXh0KToKKyAgICAgICAgVXNlIFN0cmluZyBhZGRpdGlv
biBvcGVyYXRvciBpbnN0ZWFkIG9mIFN0cmluZ0J1aWxkZXIuCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1JlZmxlY3RWYWx1ZTo6Y3VzdG9tU2VyaWFsaXplUmVzb2x2
aW5nVmFyaWFibGVzKToKKyAgICAgICAgVXNlIFN0cmluZyBhZGRpdGlvbiBvcGVyYXRvciBpbnN0
ZWFkIG9mIFN0cmluZ0J1aWxkZXIuCisgICAgICAgICogY3NzL0NTU1JlZmxlY3RWYWx1ZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUmVmbGVjdFZhbHVlOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUmVmbGVjdFZhbHVlOjpkaXJlY3Rpb24pOgorICAgICAgICAoQ1NTUmVmbGVjdFZh
bHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1JlZmxlY3RWYWx1ZTo6Q1NTUmVmbGVjdFZhbHVl
KToKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFs
dWU6OnNlcmlhbGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyk6CisgICAgICAgICogY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aGFzVmFyaWFibGVSZWZlcmVuY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6CisKIDIwMTMtMDEt
MjMgIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGQ1Nzc3NzIzMTNlYTZiYTE4NjY5ODEwMGQwMjkxYTM0
NjM2ZjlhNDkuLjEwNDMzNjRkMzFkMDM4NjEwMTcwNTE5NDk3OGE4MzI2YjE0MDdkYWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
CkBAIC01OTQsNyArNTk0LDIzIEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZv
clJlZmxlY3Rpb24oY29uc3QgU3R5bGVSZWZsZWN0aW9uKiByZWZsZWN0aW9uCiAgICAgZWxzZQog
ICAgICAgICBvZmZzZXQgPSB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKHJlZmxlY3Rpb24tPm9mZnNl
dCgpLnZhbHVlKCksIHN0eWxlKTsKIAotICAgIHJldHVybiBDU1NSZWZsZWN0VmFsdWU6OmNyZWF0
ZShyZWZsZWN0aW9uLT5kaXJlY3Rpb24oKSwgb2Zmc2V0LnJlbGVhc2UoKSwgdmFsdWVGb3JOaW5l
UGllY2VJbWFnZShyZWZsZWN0aW9uLT5tYXNrKCkpKTsKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZl
VmFsdWU+IGRpcmVjdGlvbjsKKyAgICBzd2l0Y2ggKHJlZmxlY3Rpb24tPmRpcmVjdGlvbigpKSB7
CisgICAgY2FzZSBSZWZsZWN0aW9uQmVsb3c6CisgICAgICAgIGRpcmVjdGlvbiA9IGNzc1ZhbHVl
UG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUJlbG93KTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBSZWZsZWN0aW9uQWJvdmU6CisgICAgICAgIGRpcmVjdGlvbiA9IGNzc1Zh
bHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUFib3ZlKTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBSZWZsZWN0aW9uTGVmdDoKKyAgICAgICAgZGlyZWN0aW9uID0gY3Nz
VmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGVmdCk7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgUmVmbGVjdGlvblJpZ2h0OgorICAgICAgICBkaXJlY3Rpb24gPSBj
c3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVSaWdodCk7CisgICAg
ICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiBDU1NSZWZsZWN0VmFsdWU6OmNyZWF0ZShk
aXJlY3Rpb24ucmVsZWFzZSgpLCBvZmZzZXQucmVsZWFzZSgpLCB2YWx1ZUZvck5pbmVQaWVjZUlt
YWdlKHJlZmxlY3Rpb24tPm1hc2soKSkpOwogfQogCiBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1
ZUxpc3Q+IGNyZWF0ZVBvc2l0aW9uTGlzdEZvckxheWVyKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJ
RCwgY29uc3QgRmlsbExheWVyKiBsYXllciwgY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCBiMTJhZDQ5ZTRhMDExYmJjZjYyYmQ4Mzk4MGJiNzFl
ZThhMmQ5ZDcwLi5hZGExYTM3MjI1NWU3YWFmNDE4ZjNmZjIzNjEyZjFjNDdhMjE4ZWVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNjIxNCwxOSArNjIxNCwxOCBAQCBib29sIENTU1Bh
cnNlcjo6cGFyc2VSZWZsZWN0KENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkK
IAogICAgIC8vIERpcmVjdGlvbiBjb21lcyBmaXJzdC4KICAgICBDU1NQYXJzZXJWYWx1ZSogdmFs
ID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKTsKLSAgICBDU1NSZWZsZWN0aW9uRGlyZWN0aW9uIGRp
cmVjdGlvbjsKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGRpcmVjdGlvbjsKKyNpZiBF
TkFCTEUoQ1NTX1ZBUklBQkxFUykKKyAgICBpZiAodmFsLT51bml0ID09IENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfVkFSSUFCTEVfTkFNRSkKKyAgICAgICAgZGlyZWN0aW9uID0gY3JlYXRlUHJpbWl0
aXZlVmFyaWFibGVOYW1lVmFsdWUodmFsKTsKKyAgICBlbHNlCisjZW5kaWYKICAgICBzd2l0Y2gg
KHZhbC0+aWQpIHsKICAgICAgICAgY2FzZSBDU1NWYWx1ZUFib3ZlOgotICAgICAgICAgICAgZGly
ZWN0aW9uID0gUmVmbGVjdGlvbkFib3ZlOwotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgQ1NTVmFsdWVCZWxvdzoKLSAgICAgICAgICAgIGRpcmVjdGlvbiA9IFJlZmxlY3Rpb25CZWxv
dzsKLSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU1ZhbHVlTGVmdDoKLSAgICAg
ICAgICAgIGRpcmVjdGlvbiA9IFJlZmxlY3Rpb25MZWZ0OwotICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgQ1NTVmFsdWVSaWdodDoKLSAgICAgICAgICAgIGRpcmVjdGlvbiA9IFJlZmxl
Y3Rpb25SaWdodDsKKyAgICAgICAgICAgIGRpcmVjdGlvbiA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0
ZUlkZW50aWZpZXJWYWx1ZSh2YWwtPmlkKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNjI1MSw3ICs2MjUwLDcgQEAg
Ym9vbCBDU1NQYXJzZXI6OnBhcnNlUmVmbGVjdChDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBp
bXBvcnRhbnQpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgUmVmUHRy
PENTU1JlZmxlY3RWYWx1ZT4gcmVmbGVjdFZhbHVlID0gQ1NTUmVmbGVjdFZhbHVlOjpjcmVhdGUo
ZGlyZWN0aW9uLCBvZmZzZXQucmVsZWFzZSgpLCBtYXNrLnJlbGVhc2UoKSk7CisgICAgUmVmUHRy
PENTU1JlZmxlY3RWYWx1ZT4gcmVmbGVjdFZhbHVlID0gQ1NTUmVmbGVjdFZhbHVlOjpjcmVhdGUo
ZGlyZWN0aW9uLnJlbGVhc2UoKSwgb2Zmc2V0LnJlbGVhc2UoKSwgbWFzay5yZWxlYXNlKCkpOwog
ICAgIGFkZFByb3BlcnR5KHByb3BJZCwgcmVmbGVjdFZhbHVlLnJlbGVhc2UoKSwgaW1wb3J0YW50
KTsKICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggMmY2ZjhkOGMz
NWM3OWJkY2I2MDEwYmFmMTE1NmMxODBjNTI0NmQwYy4uM2EzYzYwMTY3OTA2NTBjM2E1MTNjZWRj
M2VjOWI5ZDMyOTFlMzczOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCkBAIC0zMiw2ICszMiw3IEBACiAKICNpbmNsdWRlICJDU1NDYWxjdWxh
dGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlICJD
U1NSZWZsZWN0aW9uRGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiQ29sb3JTcGFjZS5oIgogI2luY2x1
ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKQEAg
LTE0MSw2ICsxNDIsNDIgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9w
ZXJhdG9yIExpbmVDbGFtcFZhbHVlKCkgY29uc3QKICAgICByZXR1cm4gTGluZUNsYW1wVmFsdWUo
KTsKIH0KIAordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2
ZVZhbHVlKENTU1JlZmxlY3Rpb25EaXJlY3Rpb24gZSkKKyAgICA6IENTU1ZhbHVlKFByaW1pdGl2
ZUNsYXNzKQoreworICAgIG1fcHJpbWl0aXZlVW5pdFR5cGUgPSBDU1NfSURFTlQ7CisgICAgc3dp
dGNoIChlKSB7CisgICAgY2FzZSBSZWZsZWN0aW9uQWJvdmU6CisgICAgICAgIG1fdmFsdWUuaWRl
bnQgPSBDU1NWYWx1ZUFib3ZlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFJlZmxlY3Rpb25C
ZWxvdzoKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlQmVsb3c7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgUmVmbGVjdGlvbkxlZnQ6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBD
U1NWYWx1ZUxlZnQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUmVmbGVjdGlvblJpZ2h0Ogor
ICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVSaWdodDsKKyAgICB9Cit9CisKK3RlbXBs
YXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBDU1NSZWZsZWN0aW9uRGly
ZWN0aW9uKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1fdmFsdWUuaWRlbnQpIHsKKyAgICBjYXNl
IENTU1ZhbHVlQWJvdmU6CisgICAgICAgIHJldHVybiBSZWZsZWN0aW9uQWJvdmU7CisgICAgY2Fz
ZSBDU1NWYWx1ZUJlbG93OgorICAgICAgICByZXR1cm4gUmVmbGVjdGlvbkJlbG93OworICAgIGNh
c2UgQ1NTVmFsdWVMZWZ0OgorICAgICAgICByZXR1cm4gUmVmbGVjdGlvbkxlZnQ7CisgICAgY2Fz
ZSBDU1NWYWx1ZVJpZ2h0OgorICAgICAgICByZXR1cm4gUmVmbGVjdGlvblJpZ2h0OworICAgIH0K
KworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBSZWZsZWN0aW9uQmVsb3c7
Cit9CisKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVW
YWx1ZShDb2x1bW5TcGFuIGNvbHVtblNwYW4pCiAgICAgOiBDU1NWYWx1ZShQcmltaXRpdmVDbGFz
cykKIHsKQEAgLTQwNzcsNiArNDExNCw5IEBAIGVudW0gTGVuZ3RoQ29udmVyc2lvbiB7CiAKIHRl
bXBsYXRlPGludCBzdXBwb3J0ZWQ+IExlbmd0aCBDU1NQcmltaXRpdmVWYWx1ZTo6Y29udmVydFRv
TGVuZ3RoKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91Ymxl
IG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpCiB7CisjaWYgRU5BQkxFKENTU19W
QVJJQUJMRVMpCisgICAgQVNTRVJUKCFoYXNWYXJpYWJsZVJlZmVyZW5jZSgpKTsKKyNlbmRpZgog
ICAgIGlmICgoc3VwcG9ydGVkICYgKEZpeGVkSW50ZWdlckNvbnZlcnNpb24gfCBGaXhlZEZsb2F0
Q29udmVyc2lvbikpICYmIGlzRm9udFJlbGF0aXZlTGVuZ3RoKCkgJiYgKCFzdHlsZSB8fCAhcm9v
dFN0eWxlKSkKICAgICAgICAgcmV0dXJuIExlbmd0aChVbmRlZmluZWQpOwogICAgIGlmICgoc3Vw
cG9ydGVkICYgRml4ZWRJbnRlZ2VyQ29udmVyc2lvbikgJiYgaXNMZW5ndGgoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKaW5kZXggOTQzOWQ2MDBlYTgxNGEwNDU5Zjk4YjJj
YjlhYzVlNmQ0Y2YyM2I5Zi4uMDA2MzA5OTdhZmRkMThhNjBjYjNjN2NmZWQ3NWVmMDk4MWE0YzVk
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKQEAgLTM2LDMwICszNiwx
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0cmluZyBDU1NSZWZsZWN0VmFsdWU6OmN1c3Rv
bUNzc1RleHQoKSBjb25zdAogewotICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwotICAgIHN3aXRj
aCAobV9kaXJlY3Rpb24pIHsKLSAgICAgICAgY2FzZSBSZWZsZWN0aW9uQmVsb3c6Ci0gICAgICAg
ICAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiYmVsb3cgIik7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSBSZWZsZWN0aW9uQWJvdmU6Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5k
TGl0ZXJhbCgiYWJvdmUgIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBSZWZs
ZWN0aW9uTGVmdDoKLSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCJsZWZ0ICIpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUmVmbGVjdGlvblJpZ2h0OgotICAgICAg
ICAgICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoInJpZ2h0ICIpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBicmVhazsKLSAgICB9CisgICAgaWYgKG1f
bWFzaykKKyAgICAgICAgcmV0dXJuIG1fZGlyZWN0aW9uLT5jc3NUZXh0KCkgKyAnICcgKyBtX29m
ZnNldC0+Y3NzVGV4dCgpICsgJyAnICsgbV9tYXNrLT5jc3NUZXh0KCk7CisgICAgcmV0dXJuIG1f
ZGlyZWN0aW9uLT5jc3NUZXh0KCkgKyAnICcgKyBtX29mZnNldC0+Y3NzVGV4dCgpOworfQogCi0g
ICAgcmVzdWx0LmFwcGVuZChtX29mZnNldC0+Y3NzVGV4dCgpKTsKLSAgICByZXN1bHQuYXBwZW5k
KCcgJyk7CisjaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCitTdHJpbmcgQ1NTUmVmbGVjdFZhbHVl
OjpjdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXMoY29uc3QgSGFzaE1hcDxBdG9taWNT
dHJpbmcsIFN0cmluZz4mIHZhcmlhYmxlcykgY29uc3QKK3sKICAgICBpZiAobV9tYXNrKQotICAg
ICAgICByZXN1bHQuYXBwZW5kKG1fbWFzay0+Y3NzVGV4dCgpKTsKLSAgICByZXR1cm4gcmVzdWx0
LnRvU3RyaW5nKCk7CisgICAgICAgIHJldHVybiBtX2RpcmVjdGlvbi0+Y3VzdG9tU2VyaWFsaXpl
UmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykgKyAnICcgKyBtX29mZnNldC0+Y3VzdG9tU2Vy
aWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykgKyAnICcgKyBtX21hc2stPnNlcmlh
bGl6ZVJlc29sdmluZ1ZhcmlhYmxlcyh2YXJpYWJsZXMpOworICAgIHJldHVybiBtX2RpcmVjdGlv
bi0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcykgKyAnICcgKyBt
X29mZnNldC0+Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7CiB9
CisjZW5kaWYKIAogdm9pZCBDU1NSZWZsZWN0VmFsdWU6OmFkZFN1YnJlc291cmNlU3R5bGVVUkxz
KExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzLCBjb25zdCBTdHlsZVNoZWV0Q29udGVudHMqIHN0eWxl
U2hlZXQpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVj
dFZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUmVmbGVjdFZhbHVlLmgKaW5kZXggMWJk
ZmQ1ZmU3NmM3ZWYyODFmN2Y3Nzg5YjI5Y2VhYTQ0OGM3M2JkOS4uYmE5MmRmZWQzZDk0Zjg2MTI1
MzI5NGFkZGQxYTEyYWI1MjVlMDljNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1JlZmxlY3RWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0VmFsdWUu
aApAQCAtMzcsMjQgKzM3LDI3IEBAIGNsYXNzIENTU1ByaW1pdGl2ZVZhbHVlOwogCiBjbGFzcyBD
U1NSZWZsZWN0VmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPENTU1JlZmxlY3RWYWx1ZT4gY3JlYXRlKENTU1JlZmxlY3Rpb25EaXJlY3Rpb24g
ZGlyZWN0aW9uLAorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU1JlZmxlY3RWYWx1ZT4gY3JlYXRl
KFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGRpcmVjdGlvbiwKICAgICAgICAgUGFzc1Jl
ZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gb2Zmc2V0LCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBtYXNr
KQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NSZWZsZWN0VmFsdWUoZGly
ZWN0aW9uLCBvZmZzZXQsIG1hc2spKTsKICAgICB9CiAKLSAgICBDU1NSZWZsZWN0aW9uRGlyZWN0
aW9uIGRpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0aW9uOyB9CisgICAgQ1NTUHJp
bWl0aXZlVmFsdWUqIGRpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0aW9uLmdldCgp
OyB9CiAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIG9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fb2Zm
c2V0LmdldCgpOyB9CiAgICAgQ1NTVmFsdWUqIG1hc2soKSBjb25zdCB7IHJldHVybiBtX21hc2su
Z2V0KCk7IH0KIAogICAgIFN0cmluZyBjdXN0b21Dc3NUZXh0KCkgY29uc3Q7CisjaWYgRU5BQkxF
KENTU19WQVJJQUJMRVMpCisgICAgU3RyaW5nIGN1c3RvbVNlcmlhbGl6ZVJlc29sdmluZ1Zhcmlh
Ymxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPiYpIGNvbnN0OworI2VuZGlm
CiAKICAgICB2b2lkIGFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+Jiwg
Y29uc3QgU3R5bGVTaGVldENvbnRlbnRzKikgY29uc3Q7CiAKICAgICB2b2lkIHJlcG9ydERlc2Nl
bmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAKIHByaXZhdGU6Ci0g
ICAgQ1NTUmVmbGVjdFZhbHVlKENTU1JlZmxlY3Rpb25EaXJlY3Rpb24gZGlyZWN0aW9uLCBQYXNz
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBvZmZzZXQsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IG1h
c2spCisgICAgQ1NTUmVmbGVjdFZhbHVlKFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGRp
cmVjdGlvbiwgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gb2Zmc2V0LCBQYXNzUmVmUHRy
PENTU1ZhbHVlPiBtYXNrKQogICAgICAgICA6IENTU1ZhbHVlKFJlZmxlY3RDbGFzcykKICAgICAg
ICAgLCBtX2RpcmVjdGlvbihkaXJlY3Rpb24pCiAgICAgICAgICwgbV9vZmZzZXQob2Zmc2V0KQpA
QCAtNjIsNyArNjUsNyBAQCBwcml2YXRlOgogICAgIHsKICAgICB9CiAKLSAgICBDU1NSZWZsZWN0
aW9uRGlyZWN0aW9uIG1fZGlyZWN0aW9uOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4g
bV9kaXJlY3Rpb247CiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX29mZnNldDsKICAg
ICBSZWZQdHI8Q1NTVmFsdWU+IG1fbWFzazsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRl
eCAwYTYxMjlkOTJhZTY2NDdkZDM1ZDY4MjMxMjI5OGUzY2QxMmVjYTU3Li5jMTVlNzQ0YjA0NjQ2
Nzc4ZTcyNGRmMGIxOGYxZmRjN2M2Yzg5Y2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAg
LTM3NCw2ICszNzQsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OnNlcmlhbGl6ZVJlc29sdmluZ1Zhcmlh
Ymxlcyhjb25zdCBIYXNoTWFwPEF0b21pY1N0cmluZywgU3RyaW5nPgogICAgIHN3aXRjaCAoY2xh
c3NUeXBlKCkpIHsKICAgICBjYXNlIFByaW1pdGl2ZUNsYXNzOgogICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Y29uc3QgQ1NTUHJpbWl0aXZlVmFsdWUqPih0aGlzKS0+Y3VzdG9tU2VyaWFsaXpl
UmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7CisgICAgY2FzZSBSZWZsZWN0Q2xhc3M6Cisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NSZWZsZWN0VmFsdWUqPih0aGlzKS0+
Y3VzdG9tU2VyaWFsaXplUmVzb2x2aW5nVmFyaWFibGVzKHZhcmlhYmxlcyk7CiAgICAgY2FzZSBW
YWx1ZUxpc3RDbGFzczoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU1ZhbHVl
TGlzdCo+KHRoaXMpLT5jdXN0b21TZXJpYWxpemVSZXNvbHZpbmdWYXJpYWJsZXModmFyaWFibGVz
KTsKICAgICBjYXNlIFdlYktpdENTU1RyYW5zZm9ybUNsYXNzOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCmluZGV4IGMzZWU3MjBkMjBlZjA2MTQ1YzFiNjE5YjdkNzA0OTFhODMxNGRi
MGUuLjY1NGQwODkzYmMyODVlYzNhNGYyOGIxYzRhYmQ4ZmIwYWFmOGJhNDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTI5NTcsNiArMjk1NywxNCBAQCBzdGF0aWMgYm9v
bCBoYXNWYXJpYWJsZVJlZmVyZW5jZShDU1NWYWx1ZSogdmFsdWUpCiAgICAgaWYgKHZhbHVlLT5p
c0NhbGN1bGF0aW9uVmFsdWUoKSkKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PENTU0NhbGNW
YWx1ZSo+KHZhbHVlKS0+aGFzVmFyaWFibGVSZWZlcmVuY2UoKTsKIAorICAgIGlmICh2YWx1ZS0+
aXNSZWZsZWN0VmFsdWUoKSkgeworICAgICAgICBDU1NSZWZsZWN0VmFsdWUqIHJlZmxlY3RWYWx1
ZSA9IHN0YXRpY19jYXN0PENTU1JlZmxlY3RWYWx1ZSo+KHZhbHVlKTsKKyAgICAgICAgQ1NTUHJp
bWl0aXZlVmFsdWUqIGRpcmVjdGlvbiA9IHJlZmxlY3RWYWx1ZS0+ZGlyZWN0aW9uKCk7CisgICAg
ICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBvZmZzZXQgPSByZWZsZWN0VmFsdWUtPm9mZnNldCgpOwor
ICAgICAgICBDU1NWYWx1ZSogbWFzayA9IHJlZmxlY3RWYWx1ZS0+bWFzaygpOworICAgICAgICBy
ZXR1cm4gKGRpcmVjdGlvbiAmJiBoYXNWYXJpYWJsZVJlZmVyZW5jZShkaXJlY3Rpb24pKSB8fCAo
b2Zmc2V0ICYmIGhhc1ZhcmlhYmxlUmVmZXJlbmNlKG9mZnNldCkpIHx8IChtYXNrICYmIGhhc1Zh
cmlhYmxlUmVmZXJlbmNlKG1hc2spKTsKKyAgICB9CisKICAgICBmb3IgKENTU1ZhbHVlTGlzdEl0
ZXJhdG9yIGkgPSB2YWx1ZTsgaS5oYXNNb3JlKCk7IGkuYWR2YW5jZSgpKSB7CiAgICAgICAgIGlm
IChoYXNWYXJpYWJsZVJlZmVyZW5jZShpLnZhbHVlKCkpKQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CkBAIC0zMzk0LDcgKzM0MDIsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVy
dHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQogCiAgICAgICAgIENTU1JlZmxl
Y3RWYWx1ZSogcmVmbGVjdFZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUmVmbGVjdFZhbHVlKj4odmFs
dWUpOwogICAgICAgICBSZWZQdHI8U3R5bGVSZWZsZWN0aW9uPiByZWZsZWN0aW9uID0gU3R5bGVS
ZWZsZWN0aW9uOjpjcmVhdGUoKTsKLSAgICAgICAgcmVmbGVjdGlvbi0+c2V0RGlyZWN0aW9uKHJl
ZmxlY3RWYWx1ZS0+ZGlyZWN0aW9uKCkpOworICAgICAgICByZWZsZWN0aW9uLT5zZXREaXJlY3Rp
b24oKnJlZmxlY3RWYWx1ZS0+ZGlyZWN0aW9uKCkpOwogICAgICAgICBpZiAocmVmbGVjdFZhbHVl
LT5vZmZzZXQoKSkKICAgICAgICAgICAgIHJlZmxlY3Rpb24tPnNldE9mZnNldChyZWZsZWN0VmFs
dWUtPm9mZnNldCgpLT5jb252ZXJ0VG9MZW5ndGg8Rml4ZWRJbnRlZ2VyQ29udmVyc2lvbiB8IFBl
cmNlbnRDb252ZXJzaW9uIHwgQ2FsY3VsYXRlZENvbnZlcnNpb24+KHN0eWxlKCksIG1fcm9vdEVs
ZW1lbnRTdHlsZSwgem9vbUZhY3RvcikpOwogICAgICAgICBOaW5lUGllY2VJbWFnZSBtYXNrOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGNlMWI1YzFjYzYxMTc1MmQzOGZlN2Y1OWM4Njk2ZGY1ODA0YzFmNjYuLjk5OWU2M2Q0
MjA2MTVhNzZkNDg4Y2M3YmU4NzU4NGQ2YTdjNDNjZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxMy0wMS0xNCAgTHVrZSBNYWNwaGVyc29uICAgPG1hY3BoZXJzb25AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFN1cHBvcnQgdmFyaWFibGVzIGluc2lkZSAtd2Via2l0LWJveC1yZWZsZWN0IENT
UyBwcm9wZXJ0eS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNjg1NgorCisgICAgICAgIEFkZHMgdGVzdCBmb3IgdmFyaWFibGVzIGFzIC13ZWJraXQt
Ym94LXJlZmxlY3QgcGFyYW1ldGVycy4KKworICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5n
LgorCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxlY3Qt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1p
bnNpZGUtYm94LXJlZmxlY3QuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMjMgIFJhZmFlbCBXZWlu
c3RlaW4gIDxyYWZhZWx3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBUZW1wbGF0ZSBlbGVtZW50
IHNob3VsZCBwYXJzZSBpbiBYSFRNTCBqdXN0IGFzIGl0IGRvZXMgaW4gSFRNTApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJlZmxlY3Qt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRl
LWJveC1yZWZsZWN0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODUxMjIzYjdhOWY4NmRlNjk0
NjM5ZDY4OTU1MGM3OGU0YWY0ODVhNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLWJveC1yZWZsZWN0LWV4cGVjdGVkLmh0bWwKQEAg
LTAsMCArMSw5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPHN0eWxlPgorZGl2IHsKKyAg
LXdlYmtpdC1ib3gtcmVmbGVjdDogYmVsb3cgNXB4OworfQorPC9zdHlsZT4KKzxkaXY+VGhpcyB0
ZXh0IHNob3VsZCBiZSByZWZsZWN0ZWQgb24gdGhlIHJpZ2h0LjwvZGl2PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Zhci1pbnNpZGUtYm94LXJl
ZmxlY3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy92YXItaW5zaWRlLWJv
eC1yZWZsZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWE2NjA1OTY2N2RkN2ZlZDlmMjhlM2U3YjFmOGMx
NTkyMzBlZWNiYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Zhcmlh
Ymxlcy92YXItaW5zaWRlLWJveC1yZWZsZWN0Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0Q1NTVmFyaWFibGVzRW5hYmxlZCh0cnVlKTsKKzwvc2NyaXB0
PgorPHN0eWxlPgorZGl2IHsKKyAgLXdlYmtpdC1ib3gtcmVmbGVjdDogLXdlYmtpdC12YXIoYSkg
LXdlYmtpdC1jYWxjKC13ZWJraXQtdmFyKGIpKTsKKyAgLXdlYmtpdC12YXItYTogYmVsb3c7Cisg
IC13ZWJraXQtdmFyLWI6IDVweDsKK30KKzwvc3R5bGU+Cis8ZGl2PlRoaXMgdGV4dCBzaG91bGQg
YmUgcmVmbGVjdGVkIG9uIHRoZSByaWdodC48L2Rpdj4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>