<?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>128466</bug_id>
          
          <creation_ts>2014-02-08 12:28:45 -0800</creation_ts>
          <short_desc>Manage ShadowData through std::unique_ptr</short_desc>
          <delta_ts>2014-02-09 04:06:13 -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>
          
          <blocked>128007</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>978406</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-08 12:28:45 -0800</bug_when>
    <thetext>Manage ShadowData through std::unique_ptr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978407</commentid>
    <comment_count>1</comment_count>
      <attachid>223576</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-08 12:29:55 -0800</bug_when>
    <thetext>Created attachment 223576
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978574</commentid>
    <comment_count>2</comment_count>
      <attachid>223576</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-09 02:28:56 -0800</bug_when>
    <thetext>Comment on attachment 223576
Patch

r=me, though it might be good to let EWS chew on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978581</commentid>
    <comment_count>3</comment_count>
      <attachid>223624</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-09 02:58:33 -0800</bug_when>
    <thetext>Created attachment 223624
Patch for landing

Running it through EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978590</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-09 04:01:46 -0800</bug_when>
    <thetext>The EWSs are happy, so I&apos;ll land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978591</commentid>
    <comment_count>5</comment_count>
      <attachid>223624</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-09 04:06:05 -0800</bug_when>
    <thetext>Comment on attachment 223624
Patch for landing

Clearing flags on attachment: 223624

Committed r163751: &lt;http://trac.webkit.org/changeset/163751&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978592</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-09 04:06:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223576</attachid>
            <date>2014-02-08 12:29:55 -0800</date>
            <delta_ts>2014-02-09 02:58:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128466-20140208212949.patch</filename>
            <type>text/plain</type>
            <size>23038</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNzEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI2NjU5NWVlOWM2ZmZl
MDkyYmNkMThiNmNmNmU1M2VjMmJjMjkzZS4uYTM4N2QwMmI5ZWFhNDY5OTFkNjBiYjdiM2Y0NTZk
ZjJkNTJjZjMyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE0LTAyLTA4ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBNYW5hZ2UgU2hhZG93
RGF0YSB0aHJvdWdoIHN0ZDo6dW5pcXVlX3B0cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXNlIHN0ZDo6dW5pcXVlX3B0ciBpbnN0ZWFkIG9mIE93blB0
ciB0byBtYW5hZ2UgU2hhZG93RGF0YSBvYmplY3RzLgorCisgICAgICAgICogY3NzL1NWR0NTU1N0
eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlT
VkdQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogcGFnZS9h
bmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Ymxl
bmRGdW5jKToKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5V3JhcHBlclNoYWRvdzo6UHJvcGVy
dHlXcmFwcGVyU2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5V3JhcHBlclNoYWRv
dzo6YmxlbmRTaW1wbGVPck1hdGNoZWRTaGFkb3dMaXN0cyk6CisgICAgICAgIChXZWJDb3JlOjpQ
cm9wZXJ0eVdyYXBwZXJTaGFkb3c6OmJsZW5kTWlzbWF0Y2hlZFNoYWRvd0xpc3RzKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OnNldFRleHRTaGFkb3cpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5
bGU6OnNldEJveFNoYWRvdyk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmg6CisgICAgICAg
IChXZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6c2V0U2hhZG93KToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
U2hhZG93U1ZHRGF0YTo6U3R5bGVTaGFkb3dTVkdEYXRhKToKKyAgICAgICAgKiByZW5kZXJpbmcv
c3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1No
YWRvd0RhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93RGF0YTo6U2hhZG93RGF0YSk6
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNoYWRvd0RhdGE6OnNldE5leHQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVJbmhlcml0ZWREYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVy
aXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaDoKKwogMjAxNC0w
Mi0wOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIFRl
eHRJdGVyYXRvciB0byB1c2UgU3RyaW5nVmlldywgcHJlcGFyaW5nIHRvIHdlYW4gaXQgZnJvbSBk
ZXByZWNhdGVkQ2hhcmFjdGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NT
U1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1N0eWxlU2VsZWN0
b3IuY3BwCmluZGV4IGM0YzJjMjQ5ZjhiMTVkYTVlOGU4MTYyZWNjZjhiZThhOWQ0ZmVjYTAuLmI2
MmM5YmI3N2I3ZGEyNWUxMmIxNjhmYjI2NmI2MjA4YjE3ZDMzZTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TVkdDU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTU0OCw3ICs1NDgsNyBAQCB2b2lkIFN0
eWxlUmVzb2x2ZXI6OmFwcGx5U1ZHUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NTVmFsdWUq
IHZhbHVlKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRTdmdTaGFkb3c6IHsKICAgICAgICAgICAgIGlmIChpc0luaGVyaXQpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuIHN2Z1N0eWxlLnNldFNoYWRvdyhhZG9wdFB0cihzdGF0ZS5wYXJlbnRTdHlsZSgp
LT5zdmdTdHlsZSgpLnNoYWRvdygpID8gbmV3IFNoYWRvd0RhdGEoKnN0YXRlLnBhcmVudFN0eWxl
KCktPnN2Z1N0eWxlKCkuc2hhZG93KCkpIDogMCkpOworICAgICAgICAgICAgICAgIHJldHVybiBz
dmdTdHlsZS5zZXRTaGFkb3coc3RhdGUucGFyZW50U3R5bGUoKS0+c3ZnU3R5bGUoKS5zaGFkb3co
KSA/IHN0ZDo6bWFrZV91bmlxdWU8U2hhZG93RGF0YT4oKnN0YXRlLnBhcmVudFN0eWxlKCktPnN2
Z1N0eWxlKCkuc2hhZG93KCkpIDogbnVsbHB0cik7CiAgICAgICAgICAgICBpZiAoaXNJbml0aWFs
IHx8IHByaW1pdGl2ZVZhbHVlKSAvLyBpbml0aWFsIHwgbm9uZQogICAgICAgICAgICAgICAgIHJl
dHVybiBzdmdTdHlsZS5zZXRTaGFkb3cobnVsbHB0cik7CiAKQEAgLTU3NCw4ICs1NzQsOCBAQCB2
b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5U1ZHUHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwgQ1NT
VmFsdWUqIHZhbHVlKQogICAgICAgICAgICAgQVNTRVJUKCFpdGVtLT5zcHJlYWQpOwogICAgICAg
ICAgICAgQVNTRVJUKCFpdGVtLT5zdHlsZSk7CiAKLSAgICAgICAgICAgIE93blB0cjxTaGFkb3dE
YXRhPiBzaGFkb3dEYXRhID0gYWRvcHRQdHIobmV3IFNoYWRvd0RhdGEobG9jYXRpb24sIGJsdXIs
IDAsIE5vcm1hbCwgZmFsc2UsIGNvbG9yLmlzVmFsaWQoKSA/IGNvbG9yIDogQ29sb3I6OnRyYW5z
cGFyZW50KSk7Ci0gICAgICAgICAgICBzdmdTdHlsZS5zZXRTaGFkb3coc2hhZG93RGF0YS5yZWxl
YXNlKCkpOworICAgICAgICAgICAgYXV0byBzaGFkb3dEYXRhID0gc3RkOjptYWtlX3VuaXF1ZTxT
aGFkb3dEYXRhPihsb2NhdGlvbiwgYmx1ciwgMCwgTm9ybWFsLCBmYWxzZSwgY29sb3IuaXNWYWxp
ZCgpID8gY29sb3IgOiBDb2xvcjo6dHJhbnNwYXJlbnQpOworICAgICAgICAgICAgc3ZnU3R5bGUu
c2V0U2hhZG93KHN0ZDo6bW92ZShzaGFkb3dEYXRhKSk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVZlY3RvckVmZmVjdDogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IGJiOWYwODNhNDdiZGIxZTE3NWQyZWMyMzJi
N2ExNmE0YmY1NDc1NmEuLmQyNTU2NDU3MGJmM2UyZmMzZGEyYWZjYWRmMzk5MWU5ZWRhYjNlM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTIzMDcsOCArMjMwNyw4IEBA
IHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NW
YWx1ZSogdmFsdWUpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJveFNoYWRvdzogewogICAg
ICAgICBpZiAoaXNJbmhlcml0KSB7CiAgICAgICAgICAgICBpZiAoaWQgPT0gQ1NTUHJvcGVydHlU
ZXh0U2hhZG93KQotICAgICAgICAgICAgICAgIHJldHVybiBzdGF0ZS5zdHlsZSgpLT5zZXRUZXh0
U2hhZG93KHN0YXRlLnBhcmVudFN0eWxlKCktPnRleHRTaGFkb3coKSA/IGFkb3B0UHRyKG5ldyBT
aGFkb3dEYXRhKCpzdGF0ZS5wYXJlbnRTdHlsZSgpLT50ZXh0U2hhZG93KCkpKSA6IG51bGxwdHIp
OwotICAgICAgICAgICAgcmV0dXJuIHN0YXRlLnN0eWxlKCktPnNldEJveFNoYWRvdyhzdGF0ZS5w
YXJlbnRTdHlsZSgpLT5ib3hTaGFkb3coKSA/IGFkb3B0UHRyKG5ldyBTaGFkb3dEYXRhKCpzdGF0
ZS5wYXJlbnRTdHlsZSgpLT5ib3hTaGFkb3coKSkpIDogbnVsbHB0cik7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIHN0YXRlLnN0eWxlKCktPnNldFRleHRTaGFkb3coc3RhdGUucGFyZW50U3R5bGUo
KS0+dGV4dFNoYWRvdygpID8gc3RkOjptYWtlX3VuaXF1ZTxTaGFkb3dEYXRhPigqc3RhdGUucGFy
ZW50U3R5bGUoKS0+dGV4dFNoYWRvdygpKSA6IG51bGxwdHIpOworICAgICAgICAgICAgcmV0dXJu
IHN0YXRlLnN0eWxlKCktPnNldEJveFNoYWRvdyhzdGF0ZS5wYXJlbnRTdHlsZSgpLT5ib3hTaGFk
b3coKSA/IHN0ZDo6bWFrZV91bmlxdWU8U2hhZG93RGF0YT4oKnN0YXRlLnBhcmVudFN0eWxlKCkt
PmJveFNoYWRvdygpKSA6IG51bGxwdHIpOwogICAgICAgICB9CiAgICAgICAgIGlmIChpc0luaXRp
YWwgfHwgcHJpbWl0aXZlVmFsdWUpIC8vIGluaXRpYWwgfCBub25lCiAgICAgICAgICAgICByZXR1
cm4gaWQgPT0gQ1NTUHJvcGVydHlUZXh0U2hhZG93ID8gc3RhdGUuc3R5bGUoKS0+c2V0VGV4dFNo
YWRvdyhudWxscHRyKSA6IHN0YXRlLnN0eWxlKCktPnNldEJveFNoYWRvdyhudWxscHRyKTsKQEAg
LTIzNDAsMTEgKzIzNDAsMTEgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KENT
U1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1ZSkKICAgICAgICAgICAgIGVsc2UgaWYgKHN0
YXRlLnN0eWxlKCkpCiAgICAgICAgICAgICAgICAgY29sb3IgPSBzdGF0ZS5zdHlsZSgpLT5jb2xv
cigpOwogCi0gICAgICAgICAgICBPd25QdHI8U2hhZG93RGF0YT4gc2hhZG93RGF0YSA9IGFkb3B0
UHRyKG5ldyBTaGFkb3dEYXRhKEludFBvaW50KHgsIHkpLCBibHVyLCBzcHJlYWQsIHNoYWRvd1N0
eWxlLCBpZCA9PSBDU1NQcm9wZXJ0eVdlYmtpdEJveFNoYWRvdywgY29sb3IuaXNWYWxpZCgpID8g
Y29sb3IgOiBDb2xvcjo6dHJhbnNwYXJlbnQpKTsKKyAgICAgICAgICAgIGF1dG8gc2hhZG93RGF0
YSA9IHN0ZDo6bWFrZV91bmlxdWU8U2hhZG93RGF0YT4oSW50UG9pbnQoeCwgeSksIGJsdXIsIHNw
cmVhZCwgc2hhZG93U3R5bGUsIGlkID09IENTU1Byb3BlcnR5V2Via2l0Qm94U2hhZG93LCBjb2xv
ci5pc1ZhbGlkKCkgPyBjb2xvciA6IENvbG9yOjp0cmFuc3BhcmVudCk7CiAgICAgICAgICAgICBp
ZiAoaWQgPT0gQ1NTUHJvcGVydHlUZXh0U2hhZG93KQotICAgICAgICAgICAgICAgIHN0YXRlLnN0
eWxlKCktPnNldFRleHRTaGFkb3coc2hhZG93RGF0YS5yZWxlYXNlKCksIGkuaW5kZXgoKSk7IC8v
IGFkZCB0byB0aGUgbGlzdCBpZiB0aGlzIGlzIG5vdCB0aGUgZmlyc3QgZW50cnkKKyAgICAgICAg
ICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRUZXh0U2hhZG93KHN0ZDo6bW92ZShzaGFkb3dEYXRh
KSwgaS5pbmRleCgpKTsgLy8gYWRkIHRvIHRoZSBsaXN0IGlmIHRoaXMgaXMgbm90IHRoZSBmaXJz
dCBlbnRyeQogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHN0YXRlLnN0eWxlKCkt
PnNldEJveFNoYWRvdyhzaGFkb3dEYXRhLnJlbGVhc2UoKSwgaS5pbmRleCgpKTsgLy8gYWRkIHRv
IHRoZSBsaXN0IGlmIHRoaXMgaXMgbm90IHRoZSBmaXJzdCBlbnRyeQorICAgICAgICAgICAgICAg
IHN0YXRlLnN0eWxlKCktPnNldEJveFNoYWRvdyhzdGQ6Om1vdmUoc2hhZG93RGF0YSksIGkuaW5k
ZXgoKSk7IC8vIGFkZCB0byB0aGUgbGlzdCBpZiB0aGlzIGlzIG5vdCB0aGUgZmlyc3QgZW50cnkK
ICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwCmluZGV4IGNkNGRk
NWZkNDc1MDZjYzc0N2YwOWI2OWM0Y2ZiZTdjNTU0Y2EwOTQuLjdlMTE5YzQ1ZDNhMGFmM2VjZGI4
NTQ1YTJiNmRiYTk4NDRjNDZmMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKQEAgLTk5LDE4ICs5OSwxOCBAQCBz
dGF0aWMgaW5saW5lIFNoYWRvd1N0eWxlIGJsZW5kRnVuYyhjb25zdCBBbmltYXRpb25CYXNlKiBh
bmltLCBTaGFkb3dTdHlsZSBmcm9tLAogICAgIHJldHVybiByZXN1bHQgPiAwID8gTm9ybWFsIDog
SW5zZXQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgUGFzc093blB0cjxTaGFkb3dEYXRhPiBibGVuZEZ1
bmMoY29uc3QgQW5pbWF0aW9uQmFzZSogYW5pbSwgY29uc3QgU2hhZG93RGF0YSogZnJvbSwgY29u
c3QgU2hhZG93RGF0YSogdG8sIGRvdWJsZSBwcm9ncmVzcykKK3N0YXRpYyBpbmxpbmUgc3RkOjp1
bmlxdWVfcHRyPFNoYWRvd0RhdGE+IGJsZW5kRnVuYyhjb25zdCBBbmltYXRpb25CYXNlKiBhbmlt
LCBjb25zdCBTaGFkb3dEYXRhKiBmcm9tLCBjb25zdCBTaGFkb3dEYXRhKiB0bywgZG91YmxlIHBy
b2dyZXNzKQogewogICAgIEFTU0VSVChmcm9tICYmIHRvKTsKICAgICBpZiAoZnJvbS0+c3R5bGUo
KSAhPSB0by0+c3R5bGUoKSkKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTaGFkb3dEYXRh
KCp0bykpOwotCi0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTaGFkb3dEYXRhKGJsZW5kKGZyb20t
PmxvY2F0aW9uKCksIHRvLT5sb2NhdGlvbigpLCBwcm9ncmVzcyksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJsZW5kKGZyb20tPnJhZGl1cygpLCB0by0+cmFkaXVzKCksIHBy
b2dyZXNzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxlbmQoZnJvbS0+
c3ByZWFkKCksIHRvLT5zcHJlYWQoKSwgcHJvZ3Jlc3MpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBibGVuZEZ1bmMoYW5pbSwgZnJvbS0+c3R5bGUoKSwgdG8tPnN0eWxlKCks
IHByb2dyZXNzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbS0+aXNX
ZWJraXRCb3hTaGFkb3coKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxl
bmQoZnJvbS0+Y29sb3IoKSwgdG8tPmNvbG9yKCksIHByb2dyZXNzKSkpOworICAgICAgICByZXR1
cm4gc3RkOjptYWtlX3VuaXF1ZTxTaGFkb3dEYXRhPigqdG8pOworCisgICAgcmV0dXJuIHN0ZDo6
bWFrZV91bmlxdWU8U2hhZG93RGF0YT4oYmxlbmQoZnJvbS0+bG9jYXRpb24oKSwgdG8tPmxvY2F0
aW9uKCksIHByb2dyZXNzKSwKKyAgICAgICAgYmxlbmQoZnJvbS0+cmFkaXVzKCksIHRvLT5yYWRp
dXMoKSwgcHJvZ3Jlc3MpLAorICAgICAgICBibGVuZChmcm9tLT5zcHJlYWQoKSwgdG8tPnNwcmVh
ZCgpLCBwcm9ncmVzcyksCisgICAgICAgIGJsZW5kRnVuYyhhbmltLCBmcm9tLT5zdHlsZSgpLCB0
by0+c3R5bGUoKSwgcHJvZ3Jlc3MpLAorICAgICAgICBmcm9tLT5pc1dlYmtpdEJveFNoYWRvdygp
LAorICAgICAgICBibGVuZChmcm9tLT5jb2xvcigpLCB0by0+Y29sb3IoKSwgcHJvZ3Jlc3MpKTsK
IH0KIAogc3RhdGljIGlubGluZSBUcmFuc2Zvcm1PcGVyYXRpb25zIGJsZW5kRnVuYyhjb25zdCBB
bmltYXRpb25CYXNlKiBhbmltLCBjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb25zJiBmcm9tLCBjb25z
dCBUcmFuc2Zvcm1PcGVyYXRpb25zJiB0bywgZG91YmxlIHByb2dyZXNzKQpAQCAtNjAxLDcgKzYw
MSw3IEBAIHN0YXRpYyBpbmxpbmUgY29uc3QgU2hhZG93RGF0YSogc2hhZG93Rm9yQmxlbmRpbmco
Y29uc3QgU2hhZG93RGF0YSogc3JjU2hhZG93LCBjCiAKIGNsYXNzIFByb3BlcnR5V3JhcHBlclNo
YWRvdyA6IHB1YmxpYyBBbmltYXRpb25Qcm9wZXJ0eVdyYXBwZXJCYXNlIHsKIHB1YmxpYzoKLSAg
ICBQcm9wZXJ0eVdyYXBwZXJTaGFkb3coQ1NTUHJvcGVydHlJRCBwcm9wLCBjb25zdCBTaGFkb3dE
YXRhKiAoUmVuZGVyU3R5bGU6OipnZXR0ZXIpKCkgY29uc3QsIHZvaWQgKFJlbmRlclN0eWxlOjoq
c2V0dGVyKShQYXNzT3duUHRyPFNoYWRvd0RhdGE+LCBib29sKSkKKyAgICBQcm9wZXJ0eVdyYXBw
ZXJTaGFkb3coQ1NTUHJvcGVydHlJRCBwcm9wLCBjb25zdCBTaGFkb3dEYXRhKiAoUmVuZGVyU3R5
bGU6OipnZXR0ZXIpKCkgY29uc3QsIHZvaWQgKFJlbmRlclN0eWxlOjoqc2V0dGVyKShzdGQ6OnVu
aXF1ZV9wdHI8U2hhZG93RGF0YT4sIGJvb2wpKQogICAgICAgICA6IEFuaW1hdGlvblByb3BlcnR5
V3JhcHBlckJhc2UocHJvcCkKICAgICAgICAgLCBtX2dldHRlcihnZXR0ZXIpCiAgICAgICAgICwg
bV9zZXR0ZXIoc2V0dGVyKQpAQCAtNjQ5LDIyICs2NDksMjIgQEAgcHVibGljOgogICAgIH0KIAog
cHJpdmF0ZToKLSAgICBQYXNzT3duUHRyPFNoYWRvd0RhdGE+IGJsZW5kU2ltcGxlT3JNYXRjaGVk
U2hhZG93TGlzdHMoY29uc3QgQW5pbWF0aW9uQmFzZSogYW5pbSwgZG91YmxlIHByb2dyZXNzLCBj
b25zdCBTaGFkb3dEYXRhKiBzaGFkb3dBLCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3dCKSBjb25z
dAorICAgIHN0ZDo6dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiBibGVuZFNpbXBsZU9yTWF0Y2hlZFNo
YWRvd0xpc3RzKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIGRvdWJsZSBwcm9ncmVzcywgY29u
c3QgU2hhZG93RGF0YSogc2hhZG93QSwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93QikgY29uc3QK
ICAgICB7Ci0gICAgICAgIE93blB0cjxTaGFkb3dEYXRhPiBuZXdTaGFkb3dEYXRhOworICAgICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8U2hhZG93RGF0YT4gbmV3U2hhZG93RGF0YTsKICAgICAgICAgU2hh
ZG93RGF0YSogbGFzdFNoYWRvdyA9IDA7CiAKICAgICAgICAgd2hpbGUgKHNoYWRvd0EgfHwgc2hh
ZG93QikgewogICAgICAgICAgICAgY29uc3QgU2hhZG93RGF0YSogc3JjU2hhZG93ID0gc2hhZG93
Rm9yQmxlbmRpbmcoc2hhZG93QSwgc2hhZG93Qik7CiAgICAgICAgICAgICBjb25zdCBTaGFkb3dE
YXRhKiBkc3RTaGFkb3cgPSBzaGFkb3dGb3JCbGVuZGluZyhzaGFkb3dCLCBzaGFkb3dBKTsKIAot
ICAgICAgICAgICAgT3duUHRyPFNoYWRvd0RhdGE+IGJsZW5kZWRTaGFkb3cgPSBibGVuZEZ1bmMo
YW5pbSwgc3JjU2hhZG93LCBkc3RTaGFkb3csIHByb2dyZXNzKTsKKyAgICAgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiBibGVuZGVkU2hhZG93ID0gYmxlbmRGdW5jKGFuaW0sIHNy
Y1NoYWRvdywgZHN0U2hhZG93LCBwcm9ncmVzcyk7CiAgICAgICAgICAgICBTaGFkb3dEYXRhKiBi
bGVuZGVkU2hhZG93UHRyID0gYmxlbmRlZFNoYWRvdy5nZXQoKTsKIAogICAgICAgICAgICAgaWYg
KCFsYXN0U2hhZG93KQotICAgICAgICAgICAgICAgIG5ld1NoYWRvd0RhdGEgPSBibGVuZGVkU2hh
ZG93LnJlbGVhc2UoKTsKKyAgICAgICAgICAgICAgICBuZXdTaGFkb3dEYXRhID0gc3RkOjptb3Zl
KGJsZW5kZWRTaGFkb3cpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGxhc3RT
aGFkb3ctPnNldE5leHQoYmxlbmRlZFNoYWRvdy5yZWxlYXNlKCkpOworICAgICAgICAgICAgICAg
IGxhc3RTaGFkb3ctPnNldE5leHQoc3RkOjptb3ZlKGJsZW5kZWRTaGFkb3cpKTsKIAogICAgICAg
ICAgICAgbGFzdFNoYWRvdyA9IGJsZW5kZWRTaGFkb3dQdHI7CiAKQEAgLTY3MiwxMCArNjcyLDEw
IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBzaGFkb3dCID0gc2hhZG93QiA/IHNoYWRvd0ItPm5l
eHQoKSA6IDA7CiAgICAgICAgIH0KIAotICAgICAgICByZXR1cm4gbmV3U2hhZG93RGF0YS5yZWxl
YXNlKCk7CisgICAgICAgIHJldHVybiBuZXdTaGFkb3dEYXRhOwogICAgIH0KIAotICAgIFBhc3NP
d25QdHI8U2hhZG93RGF0YT4gYmxlbmRNaXNtYXRjaGVkU2hhZG93TGlzdHMoY29uc3QgQW5pbWF0
aW9uQmFzZSogYW5pbSwgZG91YmxlIHByb2dyZXNzLCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3dB
LCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3dCLCBpbnQgZnJvbUxlbmd0aCwgaW50IHRvTGVuZ3Ro
KSBjb25zdAorICAgIHN0ZDo6dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiBibGVuZE1pc21hdGNoZWRT
aGFkb3dMaXN0cyhjb25zdCBBbmltYXRpb25CYXNlKiBhbmltLCBkb3VibGUgcHJvZ3Jlc3MsIGNv
bnN0IFNoYWRvd0RhdGEqIHNoYWRvd0EsIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvd0IsIGludCBm
cm9tTGVuZ3RoLCBpbnQgdG9MZW5ndGgpIGNvbnN0CiAgICAgewogICAgICAgICAvLyBUaGUgc2hh
ZG93cyBpbiBTaGFkb3dEYXRhIGFyZSBzdG9yZWQgaW4gcmV2ZXJzZSBvcmRlciwgc28gd2hlbiBh
bmltYXRpbmcgbWlzbWF0Y2hlZCBsaXN0cywKICAgICAgICAgLy8gcmV2ZXJzZSB0aGVtIGFuZCBt
YXRjaCBmcm9tIHRoZSBlbmQuCkBAIC02OTEsNyArNjkxLDcgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIHNoYWRvd0IgPSBzaGFkb3dCLT5uZXh0KCk7CiAgICAgICAgIH0KIAotICAgICAgICBPd25Q
dHI8U2hhZG93RGF0YT4gbmV3U2hhZG93RGF0YTsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFNo
YWRvd0RhdGE+IG5ld1NoYWRvd0RhdGE7CiAKICAgICAgICAgaW50IG1heExlbmd0aCA9IHN0ZDo6
bWF4KGZyb21MZW5ndGgsIHRvTGVuZ3RoKTsKICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBt
YXhMZW5ndGg7ICsraSkgewpAQCAtNzAxLDE3ICs3MDEsMTcgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIGNvbnN0IFNoYWRvd0RhdGEqIHNyY1NoYWRvdyA9IHNoYWRvd0ZvckJsZW5kaW5nKGZyb21T
aGFkb3csIHRvU2hhZG93KTsKICAgICAgICAgICAgIGNvbnN0IFNoYWRvd0RhdGEqIGRzdFNoYWRv
dyA9IHNoYWRvd0ZvckJsZW5kaW5nKHRvU2hhZG93LCBmcm9tU2hhZG93KTsKIAotICAgICAgICAg
ICAgT3duUHRyPFNoYWRvd0RhdGE+IGJsZW5kZWRTaGFkb3cgPSBibGVuZEZ1bmMoYW5pbSwgc3Jj
U2hhZG93LCBkc3RTaGFkb3csIHByb2dyZXNzKTsKKyAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxTaGFkb3dEYXRhPiBibGVuZGVkU2hhZG93ID0gYmxlbmRGdW5jKGFuaW0sIHNyY1NoYWRvdywg
ZHN0U2hhZG93LCBwcm9ncmVzcyk7CiAgICAgICAgICAgICAvLyBJbnNlcnQgYXQgdGhlIHN0YXJ0
IG9mIHRoZSBsaXN0IHRvIHByZXNlcnZlIHRoZSBvcmRlci4KLSAgICAgICAgICAgIGJsZW5kZWRT
aGFkb3ctPnNldE5leHQobmV3U2hhZG93RGF0YS5yZWxlYXNlKCkpOwotICAgICAgICAgICAgbmV3
U2hhZG93RGF0YSA9IGJsZW5kZWRTaGFkb3cucmVsZWFzZSgpOworICAgICAgICAgICAgYmxlbmRl
ZFNoYWRvdy0+c2V0TmV4dChzdGQ6Om1vdmUobmV3U2hhZG93RGF0YSkpOworICAgICAgICAgICAg
bmV3U2hhZG93RGF0YSA9IHN0ZDo6bW92ZShibGVuZGVkU2hhZG93KTsKICAgICAgICAgfQogCi0g
ICAgICAgIHJldHVybiBuZXdTaGFkb3dEYXRhLnJlbGVhc2UoKTsKKyAgICAgICAgcmV0dXJuIG5l
d1NoYWRvd0RhdGE7CiAgICAgfQogCiAgICAgY29uc3QgU2hhZG93RGF0YSogKFJlbmRlclN0eWxl
OjoqbV9nZXR0ZXIpKCkgY29uc3Q7Ci0gICAgdm9pZCAoUmVuZGVyU3R5bGU6OiptX3NldHRlciko
UGFzc093blB0cjxTaGFkb3dEYXRhPiwgYm9vbCk7CisgICAgdm9pZCAoUmVuZGVyU3R5bGU6Oipt
X3NldHRlcikoc3RkOjp1bmlxdWVfcHRyPFNoYWRvd0RhdGE+LCBib29sKTsKIH07CiAKIGNsYXNz
IFByb3BlcnR5V3JhcHBlck1heWJlSW52YWxpZENvbG9yIDogcHVibGljIEFuaW1hdGlvblByb3Bl
cnR5V3JhcHBlckJhc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5jcHAKaW5kZXggMTg5ZDE4NTk5NzFmMTUyZWQ1NGMwZTMyYjIzMzM0YzE3NDJiN2Jm
Yy4uZTA0Mzg3YTZjNzIwNzk5MzA0NGYzOThlYTkwM2Y3ZTBhZjcxZTUxNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCkBAIC0xMDIzLDMwICsx
MDIzLDMwIEBAIHZvaWQgUmVuZGVyU3R5bGU6OnNldFBhZ2VTY2FsZVRyYW5zZm9ybShmbG9hdCBz
Y2FsZSkKICAgICBzZXRUcmFuc2Zvcm1PcmlnaW5ZKExlbmd0aCgwLCBGaXhlZCkpOwogfQogCi12
b2lkIFJlbmRlclN0eWxlOjpzZXRUZXh0U2hhZG93KFBhc3NPd25QdHI8U2hhZG93RGF0YT4gc2hh
ZG93RGF0YSwgYm9vbCBhZGQpCit2b2lkIFJlbmRlclN0eWxlOjpzZXRUZXh0U2hhZG93KHN0ZDo6
dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiBzaGFkb3dEYXRhLCBib29sIGFkZCkKIHsKICAgICBBU1NF
UlQoIXNoYWRvd0RhdGEgfHwgKCFzaGFkb3dEYXRhLT5zcHJlYWQoKSAmJiBzaGFkb3dEYXRhLT5z
dHlsZSgpID09IE5vcm1hbCkpOwogCiAgICAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSogcmFyZURh
dGEgPSByYXJlSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKTsKICAgICBpZiAoIWFkZCkgewotICAgICAg
ICByYXJlRGF0YS0+dGV4dFNoYWRvdyA9IHNoYWRvd0RhdGE7CisgICAgICAgIHJhcmVEYXRhLT50
ZXh0U2hhZG93ID0gc3RkOjptb3ZlKHNoYWRvd0RhdGEpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgc2hhZG93RGF0YS0+c2V0TmV4dChyYXJlRGF0YS0+dGV4dFNoYWRvdy5yZWxlYXNl
KCkpOwotICAgIHJhcmVEYXRhLT50ZXh0U2hhZG93ID0gc2hhZG93RGF0YTsKKyAgICBzaGFkb3dE
YXRhLT5zZXROZXh0KHN0ZDo6bW92ZShyYXJlRGF0YS0+dGV4dFNoYWRvdykpOworICAgIHJhcmVE
YXRhLT50ZXh0U2hhZG93ID0gc3RkOjptb3ZlKHNoYWRvd0RhdGEpOwogfQogCi12b2lkIFJlbmRl
clN0eWxlOjpzZXRCb3hTaGFkb3coUGFzc093blB0cjxTaGFkb3dEYXRhPiBzaGFkb3dEYXRhLCBi
b29sIGFkZCkKK3ZvaWQgUmVuZGVyU3R5bGU6OnNldEJveFNoYWRvdyhzdGQ6OnVuaXF1ZV9wdHI8
U2hhZG93RGF0YT4gc2hhZG93RGF0YSwgYm9vbCBhZGQpCiB7CiAgICAgU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YSogcmFyZURhdGEgPSByYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKTsKICAg
ICBpZiAoIWFkZCkgewotICAgICAgICByYXJlRGF0YS0+bV9ib3hTaGFkb3cgPSBzaGFkb3dEYXRh
OworICAgICAgICByYXJlRGF0YS0+bV9ib3hTaGFkb3cgPSBzdGQ6Om1vdmUoc2hhZG93RGF0YSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBzaGFkb3dEYXRhLT5zZXROZXh0KHJhcmVE
YXRhLT5tX2JveFNoYWRvdy5yZWxlYXNlKCkpOwotICAgIHJhcmVEYXRhLT5tX2JveFNoYWRvdyA9
IHNoYWRvd0RhdGE7CisgICAgc2hhZG93RGF0YS0+c2V0TmV4dChzdGQ6Om1vdmUocmFyZURhdGEt
Pm1fYm94U2hhZG93KSk7CisgICAgcmFyZURhdGEtPm1fYm94U2hhZG93ID0gc3RkOjptb3ZlKHNo
YWRvd0RhdGEpOwogfQogCiBzdGF0aWMgUm91bmRlZFJlY3Q6OlJhZGlpIGNhbGNSYWRpaUZvcihj
b25zdCBCb3JkZXJEYXRhJiBib3JkZXIsIGNvbnN0IExheW91dFNpemUmIHNpemUsIFJlbmRlclZp
ZXcqIHJlbmRlclZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oCmluZGV4IDRhODkyYjc0OGI1MDhiNzUwY2I0YzU0MzVlYjE4NzQ2NDc1Mjg4ZTUuLmZk
YTFlYTJjNmU2YTE3ZGViMzNjOGFiODQ0Y2I1MTFlYzZiODgwNDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xMjcxLDcgKzEyNzEsNyBAQCBw
dWJsaWM6CiAKICAgICAvLyBDU1MzIFNldHRlcnMKICAgICB2b2lkIHNldE91dGxpbmVPZmZzZXQo
aW50IHYpIHsgU0VUX1ZBUihtX2JhY2tncm91bmQsIG1fb3V0bGluZS5tX29mZnNldCwgdik7IH0K
LSAgICB2b2lkIHNldFRleHRTaGFkb3coUGFzc093blB0cjxTaGFkb3dEYXRhPiwgYm9vbCBhZGQg
PSBmYWxzZSk7CisgICAgdm9pZCBzZXRUZXh0U2hhZG93KHN0ZDo6dW5pcXVlX3B0cjxTaGFkb3dE
YXRhPiwgYm9vbCBhZGQgPSBmYWxzZSk7CiAgICAgdm9pZCBzZXRUZXh0U3Ryb2tlQ29sb3IoY29u
c3QgQ29sb3ImIGMpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgdGV4dFN0cm9rZUNvbG9y
LCBjKTsgfQogICAgIHZvaWQgc2V0VGV4dFN0cm9rZVdpZHRoKGZsb2F0IHcpIHsgU0VUX1ZBUihy
YXJlSW5oZXJpdGVkRGF0YSwgdGV4dFN0cm9rZVdpZHRoLCB3KTsgfQogICAgIHZvaWQgc2V0VGV4
dEZpbGxDb2xvcihjb25zdCBDb2xvciYgYykgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB0
ZXh0RmlsbENvbG9yLCBjKTsgfQpAQCAtMTI5MCw3ICsxMjkwLDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0Qm94T3JkaW5hbEdyb3VwKHVuc2lnbmVkIGludCBvZykgeyBTRVRfVkFSKHJhcmVOb25J
bmhlcml0ZWREYXRhLmFjY2VzcygpLT5tX2RlcHJlY2F0ZWRGbGV4aWJsZUJveCwgb3JkaW5hbF9n
cm91cCwgb2cpOyB9CiAgICAgdm9pZCBzZXRCb3hPcmllbnQoRUJveE9yaWVudCBvKSB7IFNFVF9W
QVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNjZXNzKCktPm1fZGVwcmVjYXRlZEZsZXhpYmxlQm94
LCBvcmllbnQsIG8pOyB9CiAgICAgdm9pZCBzZXRCb3hQYWNrKEVCb3hQYWNrIHApIHsgU0VUX1ZB
UihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9kZXByZWNhdGVkRmxleGlibGVCb3gs
IHBhY2ssIHApOyB9Ci0gICAgdm9pZCBzZXRCb3hTaGFkb3coUGFzc093blB0cjxTaGFkb3dEYXRh
PiwgYm9vbCBhZGQgPSBmYWxzZSk7CisgICAgdm9pZCBzZXRCb3hTaGFkb3coc3RkOjp1bmlxdWVf
cHRyPFNoYWRvd0RhdGE+LCBib29sIGFkZCA9IGZhbHNlKTsKICAgICB2b2lkIHNldEJveFJlZmxl
Y3QoUGFzc1JlZlB0cjxTdHlsZVJlZmxlY3Rpb24+IHJlZmxlY3QpIHsgaWYgKHJhcmVOb25Jbmhl
cml0ZWREYXRhLT5tX2JveFJlZmxlY3QgIT0gcmVmbGVjdCkgcmFyZU5vbkluaGVyaXRlZERhdGEu
YWNjZXNzKCktPm1fYm94UmVmbGVjdCA9IHJlZmxlY3Q7IH0KICAgICB2b2lkIHNldEJveFNpemlu
ZyhFQm94U2l6aW5nIHMpIHsgU0VUX1ZBUihtX2JveCwgbV9ib3hTaXppbmcsIHMpOyB9CiAgICAg
dm9pZCBzZXRGbGV4R3JvdyhmbG9hdCBmKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEu
YWNjZXNzKCktPm1fZmxleGlibGVCb3gsIG1fZmxleEdyb3csIGYpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oCmluZGV4IDI2YjdkNGFmMmMw
ZmQwMzRlYTE4Y2NkZWUyMDM3MmZkMDAzNjk4Y2IuLmRjMjViNjlkOGUxM2FjNjI0ZDJiMDVlNTI3
ZDJmYzM3YzM5OGYxODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TVkdSZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
VkdSZW5kZXJTdHlsZS5oCkBAIC0yNjIsNyArMjYyLDcgQEAgcHVibGljOgogICAgICAgICAgICAg
bWlzYy5hY2Nlc3MoKS0+YmFzZWxpbmVTaGlmdFZhbHVlID0gb2JqOwogICAgIH0KIAotICAgIHZv
aWQgc2V0U2hhZG93KFBhc3NPd25QdHI8U2hhZG93RGF0YT4gb2JqKSB7IHNoYWRvd1NWRy5hY2Nl
c3MoKS0+c2hhZG93ID0gb2JqOyB9CisgICAgdm9pZCBzZXRTaGFkb3coc3RkOjp1bmlxdWVfcHRy
PFNoYWRvd0RhdGE+IG9iaikgeyBzaGFkb3dTVkcuYWNjZXNzKCktPnNoYWRvdyA9IHN0ZDo6bW92
ZShvYmopOyB9CiAKICAgICAvLyBTZXR0ZXJzIGZvciBub24taW5oZXJpdGVkIHJlc291cmNlcwog
ICAgIHZvaWQgc2V0Q2xpcHBlclJlc291cmNlKGNvbnN0IFN0cmluZyYgb2JqKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmNwcApp
bmRleCA1ZDVjNTMxNzlkZjcwOWJhMmU4OGYwZDExMjY1Zjc4MmU0NWY1MGMzLi45YTI3ZmY0MzU1
NjJjMGU4Yzc5M2U5NDZmY2E2Nzk5ZTdhNTQ3ZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmNwcApAQCAtMjA0LDcgKzIw
NCw3IEBAIFN0eWxlU2hhZG93U1ZHRGF0YTo6U3R5bGVTaGFkb3dTVkdEYXRhKCkKIAogaW5saW5l
IFN0eWxlU2hhZG93U1ZHRGF0YTo6U3R5bGVTaGFkb3dTVkdEYXRhKGNvbnN0IFN0eWxlU2hhZG93
U1ZHRGF0YSYgb3RoZXIpCiAgICAgOiBSZWZDb3VudGVkPFN0eWxlU2hhZG93U1ZHRGF0YT4oKQot
ICAgICwgc2hhZG93KG90aGVyLnNoYWRvdyA/IGFkb3B0UHRyKG5ldyBTaGFkb3dEYXRhKCpvdGhl
ci5zaGFkb3cpKSA6IG51bGxwdHIpCisgICAgLCBzaGFkb3cob3RoZXIuc2hhZG93ID8gc3RkOjpt
YWtlX3VuaXF1ZTxTaGFkb3dEYXRhPigqb3RoZXIuc2hhZG93KSA6IG51bGxwdHIpCiB7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHls
ZURlZnMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURl
ZnMuaAppbmRleCBhYTc4MjM4MzBkNjczMWZkYWFhZjg5YjhlOGViMGJkOGRlMmJiYjE5Li41MWIy
ODQ5NjVkZmJmNzk2YmIyM2FjZWQ1MmY2NmRkNzdiODMzNzc1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5oCkBAIC0zMSw4ICsz
MSw2IEBACiAjaW5jbHVkZSAiU1ZHTGVuZ3RoLmgiCiAjaW5jbHVkZSAiU1ZHUGFpbnQuaCIKICNp
bmNsdWRlICJTaGFkb3dEYXRhLmgiCi0jaW5jbHVkZSA8d3RmL093blB0ci5oPgotI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKQEAgLTIyNCw3ICsyMjIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7CiAgICAgICAgIH0KIAotICAg
ICAgICBPd25QdHI8U2hhZG93RGF0YT4gc2hhZG93OworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8
U2hhZG93RGF0YT4gc2hhZG93OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgU3R5bGVTaGFkb3dT
VkdEYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hh
ZG93RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5j
cHAKaW5kZXggZDkxMDczYmQ0YTNhYmU0YTIyZWU5NmVhMzhiYzVlMjBjMGM4NGE4Ny4uMGYzMWM2
MWFjZDcwY2Q3NGY1NGM0YzE1ODk1YWQ0ZmE1OGVhMTZhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmNwcApAQCAtMzMsNyArMzMsNyBAQCBTaGFkb3dE
YXRhOjpTaGFkb3dEYXRhKGNvbnN0IFNoYWRvd0RhdGEmIG8pCiAgICAgLCBtX2NvbG9yKG8ubV9j
b2xvcikKICAgICAsIG1fc3R5bGUoby5tX3N0eWxlKQogICAgICwgbV9pc1dlYmtpdEJveFNoYWRv
dyhvLm1faXNXZWJraXRCb3hTaGFkb3cpCi0gICAgLCBtX25leHQoby5tX25leHQgPyBhZG9wdFB0
cihuZXcgU2hhZG93RGF0YSgqby5tX25leHQpKSA6IG51bGxwdHIpCisgICAgLCBtX25leHQoby5t
X25leHQgPyBzdGQ6Om1ha2VfdW5pcXVlPFNoYWRvd0RhdGE+KCpvLm1fbmV4dCkgOiBudWxscHRy
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hh
ZG93RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaApp
bmRleCAxOWJlNDhkNmM1MDhhMWViMTRlZDA4YmIxOTAxMzYwOWJiNTAzNTliLi5mODJjNzY2MjYy
NTJmZTMxMjFjNjVhNjE4M2YzMTMxMjVmZjdlNjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKQEAgLTI4LDggKzI4LDYgQEAKICNpbmNsdWRlICJDb2xv
ci5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkxheW91dFJlY3QuaCIKLSNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC04NCw3ICs4Miw3IEBAIHB1YmxpYzoKICAgICBib29sIGlz
V2Via2l0Qm94U2hhZG93KCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYmtpdEJveFNoYWRvdzsgfQog
CiAgICAgY29uc3QgU2hhZG93RGF0YSogbmV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fbmV4dC5nZXQo
KTsgfQotICAgIHZvaWQgc2V0TmV4dChQYXNzT3duUHRyPFNoYWRvd0RhdGE+IHNoYWRvdykgeyBt
X25leHQgPSBzaGFkb3c7IH0KKyAgICB2b2lkIHNldE5leHQoc3RkOjp1bmlxdWVfcHRyPFNoYWRv
d0RhdGE+IHNoYWRvdykgeyBtX25leHQgPSBzdGQ6Om1vdmUoc2hhZG93KTsgfQogCiAgICAgdm9p
ZCBhZGp1c3RSZWN0Rm9yU2hhZG93KExheW91dFJlY3QmLCBpbnQgYWRkaXRpb25hbE91dGxpbmVT
aXplID0gMCkgY29uc3Q7CiAgICAgdm9pZCBhZGp1c3RSZWN0Rm9yU2hhZG93KEZsb2F0UmVjdCYs
IGludCBhZGRpdGlvbmFsT3V0bGluZVNpemUgPSAwKSBjb25zdDsKQEAgLTk2LDcgKzk0LDcgQEAg
cHJpdmF0ZToKICAgICBDb2xvciBtX2NvbG9yOwogICAgIFNoYWRvd1N0eWxlIG1fc3R5bGU7CiAg
ICAgYm9vbCBtX2lzV2Via2l0Qm94U2hhZG93OwotICAgIE93blB0cjxTaGFkb3dEYXRhPiBtX25l
eHQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNoYWRvd0RhdGE+IG1fbmV4dDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRleCBkY2NhMjAyMWRiZjAwYmVl
MjkzYTdjNDhjYzlhZDE1YTllNTM1ZWU1Li5mZmE1MDQ5Nzk3NWIxMjQ3YmQ4M2YyZGY5OWQzZWM1
NGE2ZjAzN2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC0xNDYsNyArMTQ2LDcgQEAgaW5saW5l
IFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5
bGVSYXJlSW5oZXJpdGVkRGEKICAgICAsIHZpc2l0ZWRMaW5rVGV4dFN0cm9rZUNvbG9yKG8udmlz
aXRlZExpbmtUZXh0U3Ryb2tlQ29sb3IpCiAgICAgLCB2aXNpdGVkTGlua1RleHRGaWxsQ29sb3Io
by52aXNpdGVkTGlua1RleHRGaWxsQ29sb3IpCiAgICAgLCB2aXNpdGVkTGlua1RleHRFbXBoYXNp
c0NvbG9yKG8udmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xvcikKLSAgICAsIHRleHRTaGFkb3co
by50ZXh0U2hhZG93ID8gYWRvcHRQdHIobmV3IFNoYWRvd0RhdGEoKm8udGV4dFNoYWRvdykpIDog
bnVsbHB0cikKKyAgICAsIHRleHRTaGFkb3coby50ZXh0U2hhZG93ID8gc3RkOjptYWtlX3VuaXF1
ZTxTaGFkb3dEYXRhPigqby50ZXh0U2hhZG93KSA6IG51bGxwdHIpCiAgICAgLCBoaWdobGlnaHQo
by5oaWdobGlnaHQpCiAgICAgLCBjdXJzb3JEYXRhKG8uY3Vyc29yRGF0YSkKICAgICAsIGluZGVu
dChvLmluZGVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVJbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCmluZGV4IGVjMDE4MzU0NGYwM2RjOWFiNTNlYjdjODI1
MjM2NzAxZjNlNWY2MTguLjA3ZDc5MDI5NmJmYjA0YzgxMTkzMzhhZDBlZDVkMDZlNWNlODVjMmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhl
cml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFy
ZUluaGVyaXRlZERhdGEuaApAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAgICAgQ29sb3Igdmlz
aXRlZExpbmtUZXh0RmlsbENvbG9yOwogICAgIENvbG9yIHZpc2l0ZWRMaW5rVGV4dEVtcGhhc2lz
Q29sb3I7ICAgIAogCi0gICAgT3duUHRyPFNoYWRvd0RhdGE+IHRleHRTaGFkb3c7IC8vIE91ciB0
ZXh0IHNoYWRvdyBpbmZvcm1hdGlvbiBmb3Igc2hhZG93ZWQgdGV4dCBkcmF3aW5nLgorICAgIHN0
ZDo6dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiB0ZXh0U2hhZG93OyAvLyBPdXIgdGV4dCBzaGFkb3cg
aW5mb3JtYXRpb24gZm9yIHNoYWRvd2VkIHRleHQgZHJhd2luZy4KICAgICBBdG9taWNTdHJpbmcg
aGlnaGxpZ2h0OyAvLyBBcHBsZS1zcGVjaWZpYyBleHRlbnNpb24gZm9yIGN1c3RvbSBoaWdobGln
aHQgcmVuZGVyaW5nLgogICAgIAogICAgIFJlZlB0cjxDdXJzb3JMaXN0PiBjdXJzb3JEYXRhOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbklu
aGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFy
ZU5vbkluaGVyaXRlZERhdGEuY3BwCmluZGV4IDM2OWY2YjFjNzFlZGI3MjRiZDViN2FhNGZkZDVi
YzZkOGNmZWJjOTQuLjRkMGQxMzkwZmZlYTQzYmQ1MDhkNTkxYzJhNzA1NTljNTZhN2VmNTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCBpbmxpbmUgU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YShjb25zdCBTdHls
ZVJhcmVOb25JbgogICAgICwgbV9ncmlkSXRlbShvLm1fZ3JpZEl0ZW0pCiAgICAgLCBtX2NvbnRl
bnQoby5tX2NvbnRlbnQgPyBvLm1fY29udGVudC0+Y2xvbmUoKSA6IG51bGxwdHIpCiAgICAgLCBt
X2NvdW50ZXJEaXJlY3RpdmVzKG8ubV9jb3VudGVyRGlyZWN0aXZlcyA/IGNsb25lKCpvLm1fY291
bnRlckRpcmVjdGl2ZXMpIDogbnVsbHB0cikKLSAgICAsIG1fYm94U2hhZG93KG8ubV9ib3hTaGFk
b3cgPyBhZG9wdFB0cihuZXcgU2hhZG93RGF0YSgqby5tX2JveFNoYWRvdykpIDogbnVsbHB0cikK
KyAgICAsIG1fYm94U2hhZG93KG8ubV9ib3hTaGFkb3cgPyBzdGQ6Om1ha2VfdW5pcXVlPFNoYWRv
d0RhdGE+KCpvLm1fYm94U2hhZG93KSA6IG51bGxwdHIpCiAgICAgLCBtX2JveFJlZmxlY3Qoby5t
X2JveFJlZmxlY3QpCiAgICAgLCBtX2FuaW1hdGlvbnMoby5tX2FuaW1hdGlvbnMgPyBhZG9wdFB0
cihuZXcgQW5pbWF0aW9uTGlzdCgqby5tX2FuaW1hdGlvbnMpKSA6IG51bGxwdHIpCiAgICAgLCBt
X3RyYW5zaXRpb25zKG8ubV90cmFuc2l0aW9ucyA/IGFkb3B0UHRyKG5ldyBBbmltYXRpb25MaXN0
KCpvLm1fdHJhbnNpdGlvbnMpKSA6IG51bGxwdHIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAppbmRleCA3
ZDBlNTRhOTNjZWRjMDc0Yzg4ODNjYWVjYjYzNjEzZGM3ZjY5MTE5Li5mMzM4NzBlNGVmYTczMDZh
NDg1MDlhOTZkMzI2MmQ3YzQ4OWFhOTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKQEAgLTEyNCw3
ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgT3duUHRyPENvdW50ZXJEaXJlY3RpdmVNYXA+IG1fY291
bnRlckRpcmVjdGl2ZXM7CiAgICAgU3RyaW5nIG1fYWx0VGV4dDsKIAotICAgIE93blB0cjxTaGFk
b3dEYXRhPiBtX2JveFNoYWRvdzsgIC8vIEZvciBib3gtc2hhZG93IGRlY29yYXRpb25zLgorICAg
IHN0ZDo6dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiBtX2JveFNoYWRvdzsgLy8gRm9yIGJveC1zaGFk
b3cgZGVjb3JhdGlvbnMuCiAgICAgCiAgICAgUmVmUHRyPFN0eWxlUmVmbGVjdGlvbj4gbV9ib3hS
ZWZsZWN0OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223624</attachid>
            <date>2014-02-09 02:58:33 -0800</date>
            <delta_ts>2014-02-09 04:06:04 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-128466-20140209115831.patch</filename>
            <type>text/plain</type>
            <size>23022</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzcxMGRmYmUyYzVhOTg4
M2JhMjIzMTViNzYyMzA2YzA2NDc0OWYxNC4uY2ZmZjNhODhjMGMxZTUzOTBlZmVjMDk1Y2JhNWUy
NTQ5YTU1ZTE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDE0LTAyLTA5ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBNYW5hZ2UgU2hhZG93
RGF0YSB0aHJvdWdoIHN0ZDo6dW5pcXVlX3B0cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVh
cyBLbGluZy4KKworICAgICAgICBVc2Ugc3RkOjp1bmlxdWVfcHRyIGluc3RlYWQgb2YgT3duUHRy
IHRvIG1hbmFnZSBTaGFkb3dEYXRhIG9iamVjdHMuCisKKyAgICAgICAgKiBjc3MvU1ZHQ1NTU3R5
bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVNW
R1Byb3BlcnR5KToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJlc29sdmVyOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgKiBwYWdlL2Fu
aW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpibGVu
ZEZ1bmMpOgorICAgICAgICAoV2ViQ29yZTo6UHJvcGVydHlXcmFwcGVyU2hhZG93OjpQcm9wZXJ0
eVdyYXBwZXJTaGFkb3cpOgorICAgICAgICAoV2ViQ29yZTo6UHJvcGVydHlXcmFwcGVyU2hhZG93
OjpibGVuZFNpbXBsZU9yTWF0Y2hlZFNoYWRvd0xpc3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlBy
b3BlcnR5V3JhcHBlclNoYWRvdzo6YmxlbmRNaXNtYXRjaGVkU2hhZG93TGlzdHMpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTdHlsZTo6c2V0VGV4dFNoYWRvdyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6c2V0Qm94U2hhZG93KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1JlbmRlclN0eWxlOjpzZXRTaGFkb3cpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVT
aGFkb3dTVkdEYXRhOjpTdHlsZVNoYWRvd1NWR0RhdGEpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU2hh
ZG93RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dEYXRhOjpTaGFkb3dEYXRhKToK
KyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oOgorICAgICAgICAoV2ViQ29y
ZTo6U2hhZG93RGF0YTo6c2V0TmV4dCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZUluaGVyaXRlZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJp
dGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oOgorCisyMDE0LTAy
LTA5ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKwogICAgICAgICBTd2l0
Y2ggdGhlIHJlc3Qgb2YgQ1NTIGNvZGUgZnJvbSBPd25QdHIgb3ZlciB0byBzdGQ6OnVuaXF1ZV9w
dHIKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODQ3
MQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggYzRj
MmMyNDlmOGIxNWRhNWU4ZTgxNjJlY2NmOGJlOGE5ZDRmZWNhMC4uYjYyYzliYjc3YjdkYTI1ZTEy
YjE2OGZiMjY2YjYyMDhiMTdkMzNlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NW
R0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NTdHls
ZVNlbGVjdG9yLmNwcApAQCAtNTQ4LDcgKzU0OCw3IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBw
bHlTVkdQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFN2Z1NoYWRvdzogewog
ICAgICAgICAgICAgaWYgKGlzSW5oZXJpdCkKLSAgICAgICAgICAgICAgICByZXR1cm4gc3ZnU3R5
bGUuc2V0U2hhZG93KGFkb3B0UHRyKHN0YXRlLnBhcmVudFN0eWxlKCktPnN2Z1N0eWxlKCkuc2hh
ZG93KCkgPyBuZXcgU2hhZG93RGF0YSgqc3RhdGUucGFyZW50U3R5bGUoKS0+c3ZnU3R5bGUoKS5z
aGFkb3coKSkgOiAwKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHN2Z1N0eWxlLnNldFNoYWRv
dyhzdGF0ZS5wYXJlbnRTdHlsZSgpLT5zdmdTdHlsZSgpLnNoYWRvdygpID8gc3RkOjptYWtlX3Vu
aXF1ZTxTaGFkb3dEYXRhPigqc3RhdGUucGFyZW50U3R5bGUoKS0+c3ZnU3R5bGUoKS5zaGFkb3co
KSkgOiBudWxscHRyKTsKICAgICAgICAgICAgIGlmIChpc0luaXRpYWwgfHwgcHJpbWl0aXZlVmFs
dWUpIC8vIGluaXRpYWwgfCBub25lCiAgICAgICAgICAgICAgICAgcmV0dXJuIHN2Z1N0eWxlLnNl
dFNoYWRvdyhudWxscHRyKTsKIApAQCAtNTc0LDggKzU3NCw4IEBAIHZvaWQgU3R5bGVSZXNvbHZl
cjo6YXBwbHlTVkdQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIGlkLCBDU1NWYWx1ZSogdmFsdWUpCiAg
ICAgICAgICAgICBBU1NFUlQoIWl0ZW0tPnNwcmVhZCk7CiAgICAgICAgICAgICBBU1NFUlQoIWl0
ZW0tPnN0eWxlKTsKIAotICAgICAgICAgICAgT3duUHRyPFNoYWRvd0RhdGE+IHNoYWRvd0RhdGEg
PSBhZG9wdFB0cihuZXcgU2hhZG93RGF0YShsb2NhdGlvbiwgYmx1ciwgMCwgTm9ybWFsLCBmYWxz
ZSwgY29sb3IuaXNWYWxpZCgpID8gY29sb3IgOiBDb2xvcjo6dHJhbnNwYXJlbnQpKTsKLSAgICAg
ICAgICAgIHN2Z1N0eWxlLnNldFNoYWRvdyhzaGFkb3dEYXRhLnJlbGVhc2UoKSk7CisgICAgICAg
ICAgICBhdXRvIHNoYWRvd0RhdGEgPSBzdGQ6Om1ha2VfdW5pcXVlPFNoYWRvd0RhdGE+KGxvY2F0
aW9uLCBibHVyLCAwLCBOb3JtYWwsIGZhbHNlLCBjb2xvci5pc1ZhbGlkKCkgPyBjb2xvciA6IENv
bG9yOjp0cmFuc3BhcmVudCk7CisgICAgICAgICAgICBzdmdTdHlsZS5zZXRTaGFkb3coc3RkOjpt
b3ZlKHNoYWRvd0RhdGEpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5VmVjdG9yRWZmZWN0OiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5jcHAKaW5kZXggNWM3NGM0NjE2NGM5ODM3ZDZjNTU3ZDBiNzFiNzMwMWM1MTJlMDg1Ny4u
MGZiMTk5Yjg3ODNjMDk0MmIxMDNhYWYyYWY1MjBkNDg2MGNlNWQ0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMjMwNyw4ICsyMzA3LDggQEAgdm9pZCBTdHlsZVJlc29s
dmVyOjphcHBseVByb3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1ZSkKICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm94U2hhZG93OiB7CiAgICAgICAgIGlmIChpc0luaGVy
aXQpIHsKICAgICAgICAgICAgIGlmIChpZCA9PSBDU1NQcm9wZXJ0eVRleHRTaGFkb3cpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIHN0YXRlLnN0eWxlKCktPnNldFRleHRTaGFkb3coc3RhdGUucGFy
ZW50U3R5bGUoKS0+dGV4dFNoYWRvdygpID8gYWRvcHRQdHIobmV3IFNoYWRvd0RhdGEoKnN0YXRl
LnBhcmVudFN0eWxlKCktPnRleHRTaGFkb3coKSkpIDogbnVsbHB0cik7Ci0gICAgICAgICAgICBy
ZXR1cm4gc3RhdGUuc3R5bGUoKS0+c2V0Qm94U2hhZG93KHN0YXRlLnBhcmVudFN0eWxlKCktPmJv
eFNoYWRvdygpID8gYWRvcHRQdHIobmV3IFNoYWRvd0RhdGEoKnN0YXRlLnBhcmVudFN0eWxlKCkt
PmJveFNoYWRvdygpKSkgOiBudWxscHRyKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGUu
c3R5bGUoKS0+c2V0VGV4dFNoYWRvdyhzdGF0ZS5wYXJlbnRTdHlsZSgpLT50ZXh0U2hhZG93KCkg
PyBzdGQ6Om1ha2VfdW5pcXVlPFNoYWRvd0RhdGE+KCpzdGF0ZS5wYXJlbnRTdHlsZSgpLT50ZXh0
U2hhZG93KCkpIDogbnVsbHB0cik7CisgICAgICAgICAgICByZXR1cm4gc3RhdGUuc3R5bGUoKS0+
c2V0Qm94U2hhZG93KHN0YXRlLnBhcmVudFN0eWxlKCktPmJveFNoYWRvdygpID8gc3RkOjptYWtl
X3VuaXF1ZTxTaGFkb3dEYXRhPigqc3RhdGUucGFyZW50U3R5bGUoKS0+Ym94U2hhZG93KCkpIDog
bnVsbHB0cik7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlzSW5pdGlhbCB8fCBwcmltaXRpdmVW
YWx1ZSkgLy8gaW5pdGlhbCB8IG5vbmUKICAgICAgICAgICAgIHJldHVybiBpZCA9PSBDU1NQcm9w
ZXJ0eVRleHRTaGFkb3cgPyBzdGF0ZS5zdHlsZSgpLT5zZXRUZXh0U2hhZG93KG51bGxwdHIpIDog
c3RhdGUuc3R5bGUoKS0+c2V0Qm94U2hhZG93KG51bGxwdHIpOwpAQCAtMjM0MCwxMSArMjM0MCwx
MSBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCBpZCwg
Q1NTVmFsdWUqIHZhbHVlKQogICAgICAgICAgICAgZWxzZSBpZiAoc3RhdGUuc3R5bGUoKSkKICAg
ICAgICAgICAgICAgICBjb2xvciA9IHN0YXRlLnN0eWxlKCktPmNvbG9yKCk7CiAKLSAgICAgICAg
ICAgIE93blB0cjxTaGFkb3dEYXRhPiBzaGFkb3dEYXRhID0gYWRvcHRQdHIobmV3IFNoYWRvd0Rh
dGEoSW50UG9pbnQoeCwgeSksIGJsdXIsIHNwcmVhZCwgc2hhZG93U3R5bGUsIGlkID09IENTU1By
b3BlcnR5V2Via2l0Qm94U2hhZG93LCBjb2xvci5pc1ZhbGlkKCkgPyBjb2xvciA6IENvbG9yOjp0
cmFuc3BhcmVudCkpOworICAgICAgICAgICAgYXV0byBzaGFkb3dEYXRhID0gc3RkOjptYWtlX3Vu
aXF1ZTxTaGFkb3dEYXRhPihJbnRQb2ludCh4LCB5KSwgYmx1ciwgc3ByZWFkLCBzaGFkb3dTdHls
ZSwgaWQgPT0gQ1NTUHJvcGVydHlXZWJraXRCb3hTaGFkb3csIGNvbG9yLmlzVmFsaWQoKSA/IGNv
bG9yIDogQ29sb3I6OnRyYW5zcGFyZW50KTsKICAgICAgICAgICAgIGlmIChpZCA9PSBDU1NQcm9w
ZXJ0eVRleHRTaGFkb3cpCi0gICAgICAgICAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0VGV4dFNo
YWRvdyhzaGFkb3dEYXRhLnJlbGVhc2UoKSwgaS5pbmRleCgpKTsgLy8gYWRkIHRvIHRoZSBsaXN0
IGlmIHRoaXMgaXMgbm90IHRoZSBmaXJzdCBlbnRyeQorICAgICAgICAgICAgICAgIHN0YXRlLnN0
eWxlKCktPnNldFRleHRTaGFkb3coc3RkOjptb3ZlKHNoYWRvd0RhdGEpLCBpLmluZGV4KCkpOyAv
LyBhZGQgdG8gdGhlIGxpc3QgaWYgdGhpcyBpcyBub3QgdGhlIGZpcnN0IGVudHJ5CiAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgc3RhdGUuc3R5bGUoKS0+c2V0Qm94U2hhZG93KHNo
YWRvd0RhdGEucmVsZWFzZSgpLCBpLmluZGV4KCkpOyAvLyBhZGQgdG8gdGhlIGxpc3QgaWYgdGhp
cyBpcyBub3QgdGhlIGZpcnN0IGVudHJ5CisgICAgICAgICAgICAgICAgc3RhdGUuc3R5bGUoKS0+
c2V0Qm94U2hhZG93KHN0ZDo6bW92ZShzaGFkb3dEYXRhKSwgaS5pbmRleCgpKTsgLy8gYWRkIHRv
IHRoZSBsaXN0IGlmIHRoaXMgaXMgbm90IHRoZSBmaXJzdCBlbnRyeQogICAgICAgICB9CiAgICAg
ICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKaW5kZXggY2Q0ZGQ1ZmQ0NzUwNmNjNzQ3ZjA5
YjY5YzRjZmJlN2M1NTRjYTA5NC4uN2UxMTljNDVkM2EwYWYzZWNkYjg1NDVhMmI2ZGJhOTg0NGM0
NmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVy
dHlBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1By
b3BlcnR5QW5pbWF0aW9uLmNwcApAQCAtOTksMTggKzk5LDE4IEBAIHN0YXRpYyBpbmxpbmUgU2hh
ZG93U3R5bGUgYmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIFNoYWRvd1N0eWxl
IGZyb20sCiAgICAgcmV0dXJuIHJlc3VsdCA+IDAgPyBOb3JtYWwgOiBJbnNldDsKIH0KIAotc3Rh
dGljIGlubGluZSBQYXNzT3duUHRyPFNoYWRvd0RhdGE+IGJsZW5kRnVuYyhjb25zdCBBbmltYXRp
b25CYXNlKiBhbmltLCBjb25zdCBTaGFkb3dEYXRhKiBmcm9tLCBjb25zdCBTaGFkb3dEYXRhKiB0
bywgZG91YmxlIHByb2dyZXNzKQorc3RhdGljIGlubGluZSBzdGQ6OnVuaXF1ZV9wdHI8U2hhZG93
RGF0YT4gYmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIGNvbnN0IFNoYWRvd0Rh
dGEqIGZyb20sIGNvbnN0IFNoYWRvd0RhdGEqIHRvLCBkb3VibGUgcHJvZ3Jlc3MpCiB7CiAgICAg
QVNTRVJUKGZyb20gJiYgdG8pOwogICAgIGlmIChmcm9tLT5zdHlsZSgpICE9IHRvLT5zdHlsZSgp
KQotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNoYWRvd0RhdGEoKnRvKSk7Ci0KLSAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IFNoYWRvd0RhdGEoYmxlbmQoZnJvbS0+bG9jYXRpb24oKSwgdG8t
PmxvY2F0aW9uKCksIHByb2dyZXNzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYmxlbmQoZnJvbS0+cmFkaXVzKCksIHRvLT5yYWRpdXMoKSwgcHJvZ3Jlc3MpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGVuZChmcm9tLT5zcHJlYWQoKSwgdG8tPnNw
cmVhZCgpLCBwcm9ncmVzcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJs
ZW5kRnVuYyhhbmltLCBmcm9tLT5zdHlsZSgpLCB0by0+c3R5bGUoKSwgcHJvZ3Jlc3MpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tLT5pc1dlYmtpdEJveFNoYWRvdygp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibGVuZChmcm9tLT5jb2xvcigp
LCB0by0+Y29sb3IoKSwgcHJvZ3Jlc3MpKSk7CisgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5p
cXVlPFNoYWRvd0RhdGE+KCp0byk7CisKKyAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxTaGFk
b3dEYXRhPihibGVuZChmcm9tLT5sb2NhdGlvbigpLCB0by0+bG9jYXRpb24oKSwgcHJvZ3Jlc3Mp
LAorICAgICAgICBibGVuZChmcm9tLT5yYWRpdXMoKSwgdG8tPnJhZGl1cygpLCBwcm9ncmVzcyks
CisgICAgICAgIGJsZW5kKGZyb20tPnNwcmVhZCgpLCB0by0+c3ByZWFkKCksIHByb2dyZXNzKSwK
KyAgICAgICAgYmxlbmRGdW5jKGFuaW0sIGZyb20tPnN0eWxlKCksIHRvLT5zdHlsZSgpLCBwcm9n
cmVzcyksCisgICAgICAgIGZyb20tPmlzV2Via2l0Qm94U2hhZG93KCksCisgICAgICAgIGJsZW5k
KGZyb20tPmNvbG9yKCksIHRvLT5jb2xvcigpLCBwcm9ncmVzcykpOwogfQogCiBzdGF0aWMgaW5s
aW5lIFRyYW5zZm9ybU9wZXJhdGlvbnMgYmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFu
aW0sIGNvbnN0IFRyYW5zZm9ybU9wZXJhdGlvbnMmIGZyb20sIGNvbnN0IFRyYW5zZm9ybU9wZXJh
dGlvbnMmIHRvLCBkb3VibGUgcHJvZ3Jlc3MpCkBAIC02MDEsNyArNjAxLDcgQEAgc3RhdGljIGlu
bGluZSBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3dGb3JCbGVuZGluZyhjb25zdCBTaGFkb3dEYXRh
KiBzcmNTaGFkb3csIGMKIAogY2xhc3MgUHJvcGVydHlXcmFwcGVyU2hhZG93IDogcHVibGljIEFu
aW1hdGlvblByb3BlcnR5V3JhcHBlckJhc2UgewogcHVibGljOgotICAgIFByb3BlcnR5V3JhcHBl
clNoYWRvdyhDU1NQcm9wZXJ0eUlEIHByb3AsIGNvbnN0IFNoYWRvd0RhdGEqIChSZW5kZXJTdHls
ZTo6KmdldHRlcikoKSBjb25zdCwgdm9pZCAoUmVuZGVyU3R5bGU6OipzZXR0ZXIpKFBhc3NPd25Q
dHI8U2hhZG93RGF0YT4sIGJvb2wpKQorICAgIFByb3BlcnR5V3JhcHBlclNoYWRvdyhDU1NQcm9w
ZXJ0eUlEIHByb3AsIGNvbnN0IFNoYWRvd0RhdGEqIChSZW5kZXJTdHlsZTo6KmdldHRlcikoKSBj
b25zdCwgdm9pZCAoUmVuZGVyU3R5bGU6OipzZXR0ZXIpKHN0ZDo6dW5pcXVlX3B0cjxTaGFkb3dE
YXRhPiwgYm9vbCkpCiAgICAgICAgIDogQW5pbWF0aW9uUHJvcGVydHlXcmFwcGVyQmFzZShwcm9w
KQogICAgICAgICAsIG1fZ2V0dGVyKGdldHRlcikKICAgICAgICAgLCBtX3NldHRlcihzZXR0ZXIp
CkBAIC02NDksMjIgKzY0OSwyMiBAQCBwdWJsaWM6CiAgICAgfQogCiBwcml2YXRlOgotICAgIFBh
c3NPd25QdHI8U2hhZG93RGF0YT4gYmxlbmRTaW1wbGVPck1hdGNoZWRTaGFkb3dMaXN0cyhjb25z
dCBBbmltYXRpb25CYXNlKiBhbmltLCBkb3VibGUgcHJvZ3Jlc3MsIGNvbnN0IFNoYWRvd0RhdGEq
IHNoYWRvd0EsIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvd0IpIGNvbnN0CisgICAgc3RkOjp1bmlx
dWVfcHRyPFNoYWRvd0RhdGE+IGJsZW5kU2ltcGxlT3JNYXRjaGVkU2hhZG93TGlzdHMoY29uc3Qg
QW5pbWF0aW9uQmFzZSogYW5pbSwgZG91YmxlIHByb2dyZXNzLCBjb25zdCBTaGFkb3dEYXRhKiBz
aGFkb3dBLCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3dCKSBjb25zdAogICAgIHsKLSAgICAgICAg
T3duUHRyPFNoYWRvd0RhdGE+IG5ld1NoYWRvd0RhdGE7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0
cjxTaGFkb3dEYXRhPiBuZXdTaGFkb3dEYXRhOwogICAgICAgICBTaGFkb3dEYXRhKiBsYXN0U2hh
ZG93ID0gMDsKIAogICAgICAgICB3aGlsZSAoc2hhZG93QSB8fCBzaGFkb3dCKSB7CiAgICAgICAg
ICAgICBjb25zdCBTaGFkb3dEYXRhKiBzcmNTaGFkb3cgPSBzaGFkb3dGb3JCbGVuZGluZyhzaGFk
b3dBLCBzaGFkb3dCKTsKICAgICAgICAgICAgIGNvbnN0IFNoYWRvd0RhdGEqIGRzdFNoYWRvdyA9
IHNoYWRvd0ZvckJsZW5kaW5nKHNoYWRvd0IsIHNoYWRvd0EpOwogCi0gICAgICAgICAgICBPd25Q
dHI8U2hhZG93RGF0YT4gYmxlbmRlZFNoYWRvdyA9IGJsZW5kRnVuYyhhbmltLCBzcmNTaGFkb3cs
IGRzdFNoYWRvdywgcHJvZ3Jlc3MpOworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFNoYWRv
d0RhdGE+IGJsZW5kZWRTaGFkb3cgPSBibGVuZEZ1bmMoYW5pbSwgc3JjU2hhZG93LCBkc3RTaGFk
b3csIHByb2dyZXNzKTsKICAgICAgICAgICAgIFNoYWRvd0RhdGEqIGJsZW5kZWRTaGFkb3dQdHIg
PSBibGVuZGVkU2hhZG93LmdldCgpOwogCiAgICAgICAgICAgICBpZiAoIWxhc3RTaGFkb3cpCi0g
ICAgICAgICAgICAgICAgbmV3U2hhZG93RGF0YSA9IGJsZW5kZWRTaGFkb3cucmVsZWFzZSgpOwor
ICAgICAgICAgICAgICAgIG5ld1NoYWRvd0RhdGEgPSBzdGQ6Om1vdmUoYmxlbmRlZFNoYWRvdyk7
CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgbGFzdFNoYWRvdy0+c2V0TmV4dChi
bGVuZGVkU2hhZG93LnJlbGVhc2UoKSk7CisgICAgICAgICAgICAgICAgbGFzdFNoYWRvdy0+c2V0
TmV4dChzdGQ6Om1vdmUoYmxlbmRlZFNoYWRvdykpOwogCiAgICAgICAgICAgICBsYXN0U2hhZG93
ID0gYmxlbmRlZFNoYWRvd1B0cjsKIApAQCAtNjcyLDEwICs2NzIsMTAgQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgIHNoYWRvd0IgPSBzaGFkb3dCID8gc2hhZG93Qi0+bmV4dCgpIDogMDsKICAgICAg
ICAgfQogCi0gICAgICAgIHJldHVybiBuZXdTaGFkb3dEYXRhLnJlbGVhc2UoKTsKKyAgICAgICAg
cmV0dXJuIG5ld1NoYWRvd0RhdGE7CiAgICAgfQogCi0gICAgUGFzc093blB0cjxTaGFkb3dEYXRh
PiBibGVuZE1pc21hdGNoZWRTaGFkb3dMaXN0cyhjb25zdCBBbmltYXRpb25CYXNlKiBhbmltLCBk
b3VibGUgcHJvZ3Jlc3MsIGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvd0EsIGNvbnN0IFNoYWRvd0Rh
dGEqIHNoYWRvd0IsIGludCBmcm9tTGVuZ3RoLCBpbnQgdG9MZW5ndGgpIGNvbnN0CisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFNoYWRvd0RhdGE+IGJsZW5kTWlzbWF0Y2hlZFNoYWRvd0xpc3RzKGNvbnN0
IEFuaW1hdGlvbkJhc2UqIGFuaW0sIGRvdWJsZSBwcm9ncmVzcywgY29uc3QgU2hhZG93RGF0YSog
c2hhZG93QSwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93QiwgaW50IGZyb21MZW5ndGgsIGludCB0
b0xlbmd0aCkgY29uc3QKICAgICB7CiAgICAgICAgIC8vIFRoZSBzaGFkb3dzIGluIFNoYWRvd0Rh
dGEgYXJlIHN0b3JlZCBpbiByZXZlcnNlIG9yZGVyLCBzbyB3aGVuIGFuaW1hdGluZyBtaXNtYXRj
aGVkIGxpc3RzLAogICAgICAgICAvLyByZXZlcnNlIHRoZW0gYW5kIG1hdGNoIGZyb20gdGhlIGVu
ZC4KQEAgLTY5MSw3ICs2OTEsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgc2hhZG93QiA9IHNo
YWRvd0ItPm5leHQoKTsKICAgICAgICAgfQogCi0gICAgICAgIE93blB0cjxTaGFkb3dEYXRhPiBu
ZXdTaGFkb3dEYXRhOworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2hhZG93RGF0YT4gbmV3U2hh
ZG93RGF0YTsKIAogICAgICAgICBpbnQgbWF4TGVuZ3RoID0gc3RkOjptYXgoZnJvbUxlbmd0aCwg
dG9MZW5ndGgpOwogICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1heExlbmd0aDsgKytpKSB7
CkBAIC03MDEsMTcgKzcwMSwxNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgY29uc3QgU2hhZG93
RGF0YSogc3JjU2hhZG93ID0gc2hhZG93Rm9yQmxlbmRpbmcoZnJvbVNoYWRvdywgdG9TaGFkb3cp
OwogICAgICAgICAgICAgY29uc3QgU2hhZG93RGF0YSogZHN0U2hhZG93ID0gc2hhZG93Rm9yQmxl
bmRpbmcodG9TaGFkb3csIGZyb21TaGFkb3cpOwogCi0gICAgICAgICAgICBPd25QdHI8U2hhZG93
RGF0YT4gYmxlbmRlZFNoYWRvdyA9IGJsZW5kRnVuYyhhbmltLCBzcmNTaGFkb3csIGRzdFNoYWRv
dywgcHJvZ3Jlc3MpOworICAgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPFNoYWRvd0RhdGE+IGJs
ZW5kZWRTaGFkb3cgPSBibGVuZEZ1bmMoYW5pbSwgc3JjU2hhZG93LCBkc3RTaGFkb3csIHByb2dy
ZXNzKTsKICAgICAgICAgICAgIC8vIEluc2VydCBhdCB0aGUgc3RhcnQgb2YgdGhlIGxpc3QgdG8g
cHJlc2VydmUgdGhlIG9yZGVyLgotICAgICAgICAgICAgYmxlbmRlZFNoYWRvdy0+c2V0TmV4dChu
ZXdTaGFkb3dEYXRhLnJlbGVhc2UoKSk7Ci0gICAgICAgICAgICBuZXdTaGFkb3dEYXRhID0gYmxl
bmRlZFNoYWRvdy5yZWxlYXNlKCk7CisgICAgICAgICAgICBibGVuZGVkU2hhZG93LT5zZXROZXh0
KHN0ZDo6bW92ZShuZXdTaGFkb3dEYXRhKSk7CisgICAgICAgICAgICBuZXdTaGFkb3dEYXRhID0g
c3RkOjptb3ZlKGJsZW5kZWRTaGFkb3cpOwogICAgICAgICB9CiAKLSAgICAgICAgcmV0dXJuIG5l
d1NoYWRvd0RhdGEucmVsZWFzZSgpOworICAgICAgICByZXR1cm4gbmV3U2hhZG93RGF0YTsKICAg
ICB9CiAKICAgICBjb25zdCBTaGFkb3dEYXRhKiAoUmVuZGVyU3R5bGU6OiptX2dldHRlcikoKSBj
b25zdDsKLSAgICB2b2lkIChSZW5kZXJTdHlsZTo6Km1fc2V0dGVyKShQYXNzT3duUHRyPFNoYWRv
d0RhdGE+LCBib29sKTsKKyAgICB2b2lkIChSZW5kZXJTdHlsZTo6Km1fc2V0dGVyKShzdGQ6OnVu
aXF1ZV9wdHI8U2hhZG93RGF0YT4sIGJvb2wpOwogfTsKIAogY2xhc3MgUHJvcGVydHlXcmFwcGVy
TWF5YmVJbnZhbGlkQ29sb3IgOiBwdWJsaWMgQW5pbWF0aW9uUHJvcGVydHlXcmFwcGVyQmFzZSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRl
eCBhMWYxZGZkZDZiMTMzYjhmYzkyZTk4ZmMzM2VhNzVlNTI1YzE3NjRjLi4xNzA4OThjYzNhNWEw
MzZmMTQwNGM5NDViODRlNDM0MDU2YzQ4ZDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTEwMjIsMzAgKzEwMjIsMzAgQEAgdm9pZCBS
ZW5kZXJTdHlsZTo6c2V0UGFnZVNjYWxlVHJhbnNmb3JtKGZsb2F0IHNjYWxlKQogICAgIHNldFRy
YW5zZm9ybU9yaWdpblkoTGVuZ3RoKDAsIEZpeGVkKSk7CiB9CiAKLXZvaWQgUmVuZGVyU3R5bGU6
OnNldFRleHRTaGFkb3coUGFzc093blB0cjxTaGFkb3dEYXRhPiBzaGFkb3dEYXRhLCBib29sIGFk
ZCkKK3ZvaWQgUmVuZGVyU3R5bGU6OnNldFRleHRTaGFkb3coc3RkOjp1bmlxdWVfcHRyPFNoYWRv
d0RhdGE+IHNoYWRvd0RhdGEsIGJvb2wgYWRkKQogewogICAgIEFTU0VSVCghc2hhZG93RGF0YSB8
fCAoIXNoYWRvd0RhdGEtPnNwcmVhZCgpICYmIHNoYWRvd0RhdGEtPnN0eWxlKCkgPT0gTm9ybWFs
KSk7CiAKICAgICBTdHlsZVJhcmVJbmhlcml0ZWREYXRhKiByYXJlRGF0YSA9IHJhcmVJbmhlcml0
ZWREYXRhLmFjY2VzcygpOwogICAgIGlmICghYWRkKSB7Ci0gICAgICAgIHJhcmVEYXRhLT50ZXh0
U2hhZG93ID0gc2hhZG93RGF0YTsKKyAgICAgICAgcmFyZURhdGEtPnRleHRTaGFkb3cgPSBzdGQ6
Om1vdmUoc2hhZG93RGF0YSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBzaGFkb3dE
YXRhLT5zZXROZXh0KHJhcmVEYXRhLT50ZXh0U2hhZG93LnJlbGVhc2UoKSk7Ci0gICAgcmFyZURh
dGEtPnRleHRTaGFkb3cgPSBzaGFkb3dEYXRhOworICAgIHNoYWRvd0RhdGEtPnNldE5leHQoc3Rk
Ojptb3ZlKHJhcmVEYXRhLT50ZXh0U2hhZG93KSk7CisgICAgcmFyZURhdGEtPnRleHRTaGFkb3cg
PSBzdGQ6Om1vdmUoc2hhZG93RGF0YSk7CiB9CiAKLXZvaWQgUmVuZGVyU3R5bGU6OnNldEJveFNo
YWRvdyhQYXNzT3duUHRyPFNoYWRvd0RhdGE+IHNoYWRvd0RhdGEsIGJvb2wgYWRkKQordm9pZCBS
ZW5kZXJTdHlsZTo6c2V0Qm94U2hhZG93KHN0ZDo6dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiBzaGFk
b3dEYXRhLCBib29sIGFkZCkKIHsKICAgICBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKiByYXJl
RGF0YSA9IHJhcmVOb25Jbmhlcml0ZWREYXRhLmFjY2VzcygpOwogICAgIGlmICghYWRkKSB7Ci0g
ICAgICAgIHJhcmVEYXRhLT5tX2JveFNoYWRvdyA9IHNoYWRvd0RhdGE7CisgICAgICAgIHJhcmVE
YXRhLT5tX2JveFNoYWRvdyA9IHN0ZDo6bW92ZShzaGFkb3dEYXRhKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIHNoYWRvd0RhdGEtPnNldE5leHQocmFyZURhdGEtPm1fYm94U2hhZG93
LnJlbGVhc2UoKSk7Ci0gICAgcmFyZURhdGEtPm1fYm94U2hhZG93ID0gc2hhZG93RGF0YTsKKyAg
ICBzaGFkb3dEYXRhLT5zZXROZXh0KHN0ZDo6bW92ZShyYXJlRGF0YS0+bV9ib3hTaGFkb3cpKTsK
KyAgICByYXJlRGF0YS0+bV9ib3hTaGFkb3cgPSBzdGQ6Om1vdmUoc2hhZG93RGF0YSk7CiB9CiAK
IHN0YXRpYyBSb3VuZGVkUmVjdDo6UmFkaWkgY2FsY1JhZGlpRm9yKGNvbnN0IEJvcmRlckRhdGEm
IGJvcmRlciwgY29uc3QgTGF5b3V0U2l6ZSYgc2l6ZSwgUmVuZGVyVmlldyogcmVuZGVyVmlldykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggNTAy
YzNkMTc4ODNmOGU0NjY2YmU5YmI3YWEzMmVhZjU4NDFmNDY3NC4uMjdiYjExMTZiZTY1MDBlYmMw
MWQ1OGI5NmY1YTY1OWQ3NzdiZmQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKQEAgLTEyNzAsNyArMTI3MCw3IEBAIHB1YmxpYzoKIAogICAgIC8v
IENTUzMgU2V0dGVycwogICAgIHZvaWQgc2V0T3V0bGluZU9mZnNldChpbnQgdikgeyBTRVRfVkFS
KG1fYmFja2dyb3VuZCwgbV9vdXRsaW5lLm1fb2Zmc2V0LCB2KTsgfQotICAgIHZvaWQgc2V0VGV4
dFNoYWRvdyhQYXNzT3duUHRyPFNoYWRvd0RhdGE+LCBib29sIGFkZCA9IGZhbHNlKTsKKyAgICB2
b2lkIHNldFRleHRTaGFkb3coc3RkOjp1bmlxdWVfcHRyPFNoYWRvd0RhdGE+LCBib29sIGFkZCA9
IGZhbHNlKTsKICAgICB2b2lkIHNldFRleHRTdHJva2VDb2xvcihjb25zdCBDb2xvciYgYykgeyBT
RVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB0ZXh0U3Ryb2tlQ29sb3IsIGMpOyB9CiAgICAgdm9p
ZCBzZXRUZXh0U3Ryb2tlV2lkdGgoZmxvYXQgdykgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRh
LCB0ZXh0U3Ryb2tlV2lkdGgsIHcpOyB9CiAgICAgdm9pZCBzZXRUZXh0RmlsbENvbG9yKGNvbnN0
IENvbG9yJiBjKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHRleHRGaWxsQ29sb3IsIGMp
OyB9CkBAIC0xMjg5LDcgKzEyODksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRCb3hPcmRpbmFs
R3JvdXAodW5zaWduZWQgaW50IG9nKSB7IFNFVF9WQVIocmFyZU5vbkluaGVyaXRlZERhdGEuYWNj
ZXNzKCktPm1fZGVwcmVjYXRlZEZsZXhpYmxlQm94LCBvcmRpbmFsX2dyb3VwLCBvZyk7IH0KICAg
ICB2b2lkIHNldEJveE9yaWVudChFQm94T3JpZW50IG8pIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJp
dGVkRGF0YS5hY2Nlc3MoKS0+bV9kZXByZWNhdGVkRmxleGlibGVCb3gsIG9yaWVudCwgbyk7IH0K
ICAgICB2b2lkIHNldEJveFBhY2soRUJveFBhY2sgcCkgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0
ZWREYXRhLmFjY2VzcygpLT5tX2RlcHJlY2F0ZWRGbGV4aWJsZUJveCwgcGFjaywgcCk7IH0KLSAg
ICB2b2lkIHNldEJveFNoYWRvdyhQYXNzT3duUHRyPFNoYWRvd0RhdGE+LCBib29sIGFkZCA9IGZh
bHNlKTsKKyAgICB2b2lkIHNldEJveFNoYWRvdyhzdGQ6OnVuaXF1ZV9wdHI8U2hhZG93RGF0YT4s
IGJvb2wgYWRkID0gZmFsc2UpOwogICAgIHZvaWQgc2V0Qm94UmVmbGVjdChQYXNzUmVmUHRyPFN0
eWxlUmVmbGVjdGlvbj4gcmVmbGVjdCkgeyBpZiAocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fYm94
UmVmbGVjdCAhPSByZWZsZWN0KSByYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9ib3hS
ZWZsZWN0ID0gcmVmbGVjdDsgfQogICAgIHZvaWQgc2V0Qm94U2l6aW5nKEVCb3hTaXppbmcgcykg
eyBTRVRfVkFSKG1fYm94LCBtX2JveFNpemluZywgcyk7IH0KICAgICB2b2lkIHNldEZsZXhHcm93
KGZsb2F0IGYpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YS5hY2Nlc3MoKS0+bV9mbGV4
aWJsZUJveCwgbV9mbGV4R3JvdywgZik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1NWR1JlbmRlclN0eWxlLmgKaW5kZXggMjZiN2Q0YWYyYzBmZDAzNGVhMThjY2RlZTIw
MzcyZmQwMDM2OThjYi4uZGMyNWI2OWQ4ZTEzYWM2MjRkMmIwNWU1MjdkMmZjMzdjMzk4ZjE4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmgK
QEAgLTI2Miw3ICsyNjIsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtaXNjLmFjY2VzcygpLT5i
YXNlbGluZVNoaWZ0VmFsdWUgPSBvYmo7CiAgICAgfQogCi0gICAgdm9pZCBzZXRTaGFkb3coUGFz
c093blB0cjxTaGFkb3dEYXRhPiBvYmopIHsgc2hhZG93U1ZHLmFjY2VzcygpLT5zaGFkb3cgPSBv
Ymo7IH0KKyAgICB2b2lkIHNldFNoYWRvdyhzdGQ6OnVuaXF1ZV9wdHI8U2hhZG93RGF0YT4gb2Jq
KSB7IHNoYWRvd1NWRy5hY2Nlc3MoKS0+c2hhZG93ID0gc3RkOjptb3ZlKG9iaik7IH0KIAogICAg
IC8vIFNldHRlcnMgZm9yIG5vbi1pbmhlcml0ZWQgcmVzb3VyY2VzCiAgICAgdm9pZCBzZXRDbGlw
cGVyUmVzb3VyY2UoY29uc3QgU3RyaW5nJiBvYmopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwCmluZGV4IDVkNWM1MzE3OWRm
NzA5YmEyZTg4ZjBkMTEyNjVmNzgyZTQ1ZjUwYzMuLjlhMjdmZjQzNTU2MmMwZThjNzkzZTk0NmZj
YTY3OTllN2E1NDdlNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwCkBAIC0yMDQsNyArMjA0LDcgQEAgU3R5bGVTaGFk
b3dTVkdEYXRhOjpTdHlsZVNoYWRvd1NWR0RhdGEoKQogCiBpbmxpbmUgU3R5bGVTaGFkb3dTVkdE
YXRhOjpTdHlsZVNoYWRvd1NWR0RhdGEoY29uc3QgU3R5bGVTaGFkb3dTVkdEYXRhJiBvdGhlcikK
ICAgICA6IFJlZkNvdW50ZWQ8U3R5bGVTaGFkb3dTVkdEYXRhPigpCi0gICAgLCBzaGFkb3cob3Ro
ZXIuc2hhZG93ID8gYWRvcHRQdHIobmV3IFNoYWRvd0RhdGEoKm90aGVyLnNoYWRvdykpIDogbnVs
bHB0cikKKyAgICAsIHNoYWRvdyhvdGhlci5zaGFkb3cgPyBzdGQ6Om1ha2VfdW5pcXVlPFNoYWRv
d0RhdGE+KCpvdGhlci5zaGFkb3cpIDogbnVsbHB0cikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5oCmluZGV4IGFhNzgy
MzgzMGQ2NzMxZmRhYWFmODliOGU4ZWIwYmQ4ZGUyYmJiMTkuLjUxYjI4NDk2NWRmYmY3OTZiYjIz
YWNlZDUyZjY2ZGQ3N2I4MzM3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmgKQEAgLTMxLDggKzMxLDYgQEAKICNpbmNsdWRl
ICJTVkdMZW5ndGguaCIKICNpbmNsdWRlICJTVkdQYWludC5oIgogI2luY2x1ZGUgIlNoYWRvd0Rh
dGEuaCIKLSNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IApAQCAtMjI0LDcgKzIyMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHJl
dHVybiAhKCp0aGlzID09IG90aGVyKTsKICAgICAgICAgfQogCi0gICAgICAgIE93blB0cjxTaGFk
b3dEYXRhPiBzaGFkb3c7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxTaGFkb3dEYXRhPiBzaGFk
b3c7CiAKICAgICBwcml2YXRlOgogICAgICAgICBTdHlsZVNoYWRvd1NWR0RhdGEoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmNwcAppbmRleCBkOTEwNzNi
ZDRhM2FiZTRhMjJlZTk2ZWEzOGJjNWUyMGMwYzg0YTg3Li4wZjMxYzYxYWNkNzBjZDc0ZjU0YzRj
MTU4OTVhZDRmYTU4ZWExNmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU2hhZG93RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1NoYWRvd0RhdGEuY3BwCkBAIC0zMyw3ICszMyw3IEBAIFNoYWRvd0RhdGE6OlNoYWRvd0RhdGEo
Y29uc3QgU2hhZG93RGF0YSYgbykKICAgICAsIG1fY29sb3Ioby5tX2NvbG9yKQogICAgICwgbV9z
dHlsZShvLm1fc3R5bGUpCiAgICAgLCBtX2lzV2Via2l0Qm94U2hhZG93KG8ubV9pc1dlYmtpdEJv
eFNoYWRvdykKLSAgICAsIG1fbmV4dChvLm1fbmV4dCA/IGFkb3B0UHRyKG5ldyBTaGFkb3dEYXRh
KCpvLm1fbmV4dCkpIDogbnVsbHB0cikKKyAgICAsIG1fbmV4dChvLm1fbmV4dCA/IHN0ZDo6bWFr
ZV91bmlxdWU8U2hhZG93RGF0YT4oKm8ubV9uZXh0KSA6IG51bGxwdHIpCiB7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCmluZGV4IDE5YmU0OGQ2YzUw
OGExZWIxNGVkMDhiYjE5MDEzNjA5YmI1MDM1OWIuLmY4MmM3NjYyNjI1MmZlMzEyMWM2NWE2MTgz
ZjMxMzEyNWZmN2U2NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TaGFkb3dEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRv
d0RhdGEuaApAQCAtMjgsOCArMjgsNiBAQAogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAi
RmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgotI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTg0LDcgKzgyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNXZWJraXRCb3hTaGFkb3co
KSBjb25zdCB7IHJldHVybiBtX2lzV2Via2l0Qm94U2hhZG93OyB9CiAKICAgICBjb25zdCBTaGFk
b3dEYXRhKiBuZXh0KCkgY29uc3QgeyByZXR1cm4gbV9uZXh0LmdldCgpOyB9Ci0gICAgdm9pZCBz
ZXROZXh0KFBhc3NPd25QdHI8U2hhZG93RGF0YT4gc2hhZG93KSB7IG1fbmV4dCA9IHNoYWRvdzsg
fQorICAgIHZvaWQgc2V0TmV4dChzdGQ6OnVuaXF1ZV9wdHI8U2hhZG93RGF0YT4gc2hhZG93KSB7
IG1fbmV4dCA9IHN0ZDo6bW92ZShzaGFkb3cpOyB9CiAKICAgICB2b2lkIGFkanVzdFJlY3RGb3JT
aGFkb3coTGF5b3V0UmVjdCYsIGludCBhZGRpdGlvbmFsT3V0bGluZVNpemUgPSAwKSBjb25zdDsK
ICAgICB2b2lkIGFkanVzdFJlY3RGb3JTaGFkb3coRmxvYXRSZWN0JiwgaW50IGFkZGl0aW9uYWxP
dXRsaW5lU2l6ZSA9IDApIGNvbnN0OwpAQCAtOTYsNyArOTQsNyBAQCBwcml2YXRlOgogICAgIENv
bG9yIG1fY29sb3I7CiAgICAgU2hhZG93U3R5bGUgbV9zdHlsZTsKICAgICBib29sIG1faXNXZWJr
aXRCb3hTaGFkb3c7Ci0gICAgT3duUHRyPFNoYWRvd0RhdGE+IG1fbmV4dDsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8U2hhZG93RGF0YT4gbV9uZXh0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUlu
aGVyaXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFy
ZUluaGVyaXRlZERhdGEuY3BwCmluZGV4IDdhZWZiNjM1YWYxZmFkM2FkNjQ3ZWUwMDU3MjViNGQ4
MDM5NzBmZTguLjgyYTNhOTFkNzhlOGQ0M2FlOWEyODRhOGQ4ZGM3NDMyMTQwYjAxNzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWRE
YXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5jcHAKQEAgLTE0Niw3ICsxNDYsNyBAQCBpbmxpbmUgU3R5bGVSYXJlSW5oZXJp
dGVkRGF0YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YShjb25zdCBTdHlsZVJhcmVJbmhlcml0ZWRE
YQogICAgICwgdmlzaXRlZExpbmtUZXh0U3Ryb2tlQ29sb3Ioby52aXNpdGVkTGlua1RleHRTdHJv
a2VDb2xvcikKICAgICAsIHZpc2l0ZWRMaW5rVGV4dEZpbGxDb2xvcihvLnZpc2l0ZWRMaW5rVGV4
dEZpbGxDb2xvcikKICAgICAsIHZpc2l0ZWRMaW5rVGV4dEVtcGhhc2lzQ29sb3Ioby52aXNpdGVk
TGlua1RleHRFbXBoYXNpc0NvbG9yKQotICAgICwgdGV4dFNoYWRvdyhvLnRleHRTaGFkb3cgPyBh
ZG9wdFB0cihuZXcgU2hhZG93RGF0YSgqby50ZXh0U2hhZG93KSkgOiBudWxscHRyKQorICAgICwg
dGV4dFNoYWRvdyhvLnRleHRTaGFkb3cgPyBzdGQ6Om1ha2VfdW5pcXVlPFNoYWRvd0RhdGE+KCpv
LnRleHRTaGFkb3cpIDogbnVsbHB0cikKICAgICAsIGN1cnNvckRhdGEoby5jdXJzb3JEYXRhKQog
ICAgICwgaW5kZW50KG8uaW5kZW50KQogICAgICwgbV9lZmZlY3RpdmVab29tKG8ubV9lZmZlY3Rp
dmVab29tKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZUluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVJbmhlcml0ZWREYXRhLmgKaW5kZXggYzA3MmZmNDkwMDYzNzhiYmY3OGE0NjNmODA0OGIw
ZTg5OWQxNzMzYS4uN2U5YzYwZTg4OTYzYzA5NTU1MDA4MmJhNWVkMjFiYjRmMTZkYTgyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRl
ZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5oCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKICAgICBDb2xvciB2aXNpdGVk
TGlua1RleHRGaWxsQ29sb3I7CiAgICAgQ29sb3IgdmlzaXRlZExpbmtUZXh0RW1waGFzaXNDb2xv
cjsgICAgCiAKLSAgICBPd25QdHI8U2hhZG93RGF0YT4gdGV4dFNoYWRvdzsgLy8gT3VyIHRleHQg
c2hhZG93IGluZm9ybWF0aW9uIGZvciBzaGFkb3dlZCB0ZXh0IGRyYXdpbmcuCisgICAgc3RkOjp1
bmlxdWVfcHRyPFNoYWRvd0RhdGE+IHRleHRTaGFkb3c7IC8vIE91ciB0ZXh0IHNoYWRvdyBpbmZv
cm1hdGlvbiBmb3Igc2hhZG93ZWQgdGV4dCBkcmF3aW5nLgogICAgIAogICAgIFJlZlB0cjxDdXJz
b3JMaXN0PiBjdXJzb3JEYXRhOwogICAgIExlbmd0aCBpbmRlbnQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YS5jcHAKaW5kZXggMzY5ZjZiMWM3MWVkYjcyNGJkNWI3YWE0ZmRkNWJjNmQ4Y2ZlYmM5NC4uNGQw
ZDEzOTBmZmVhNDNiZDUwOGQ1OTFjMmE3MDU1OWM1NmE3ZWY1OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhLmNwcApAQCAtMTE5LDcgKzExOSw3IEBAIGlubGluZSBTdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZU5vbkluCiAgICAg
LCBtX2dyaWRJdGVtKG8ubV9ncmlkSXRlbSkKICAgICAsIG1fY29udGVudChvLm1fY29udGVudCA/
IG8ubV9jb250ZW50LT5jbG9uZSgpIDogbnVsbHB0cikKICAgICAsIG1fY291bnRlckRpcmVjdGl2
ZXMoby5tX2NvdW50ZXJEaXJlY3RpdmVzID8gY2xvbmUoKm8ubV9jb3VudGVyRGlyZWN0aXZlcykg
OiBudWxscHRyKQotICAgICwgbV9ib3hTaGFkb3coby5tX2JveFNoYWRvdyA/IGFkb3B0UHRyKG5l
dyBTaGFkb3dEYXRhKCpvLm1fYm94U2hhZG93KSkgOiBudWxscHRyKQorICAgICwgbV9ib3hTaGFk
b3coby5tX2JveFNoYWRvdyA/IHN0ZDo6bWFrZV91bmlxdWU8U2hhZG93RGF0YT4oKm8ubV9ib3hT
aGFkb3cpIDogbnVsbHB0cikKICAgICAsIG1fYm94UmVmbGVjdChvLm1fYm94UmVmbGVjdCkKICAg
ICAsIG1fYW5pbWF0aW9ucyhvLm1fYW5pbWF0aW9ucyA/IGFkb3B0UHRyKG5ldyBBbmltYXRpb25M
aXN0KCpvLm1fYW5pbWF0aW9ucykpIDogbnVsbHB0cikKICAgICAsIG1fdHJhbnNpdGlvbnMoby5t
X3RyYW5zaXRpb25zID8gYWRvcHRQdHIobmV3IEFuaW1hdGlvbkxpc3QoKm8ubV90cmFuc2l0aW9u
cykpIDogbnVsbHB0cikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCmluZGV4IDdkMGU1NGE5M2NlZGMwNzRj
ODg4M2NhZWNiNjM2MTNkYzdmNjkxMTkuLmYzMzg3MGU0ZWZhNzMwNmE0ODUwOWE5NmQzMjYyZDdj
NDg5YWE5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApAQCAtMTI0LDcgKzEyNCw3IEBAIHB1Ymxp
YzoKICAgICBPd25QdHI8Q291bnRlckRpcmVjdGl2ZU1hcD4gbV9jb3VudGVyRGlyZWN0aXZlczsK
ICAgICBTdHJpbmcgbV9hbHRUZXh0OwogCi0gICAgT3duUHRyPFNoYWRvd0RhdGE+IG1fYm94U2hh
ZG93OyAgLy8gRm9yIGJveC1zaGFkb3cgZGVjb3JhdGlvbnMuCisgICAgc3RkOjp1bmlxdWVfcHRy
PFNoYWRvd0RhdGE+IG1fYm94U2hhZG93OyAvLyBGb3IgYm94LXNoYWRvdyBkZWNvcmF0aW9ucy4K
ICAgICAKICAgICBSZWZQdHI8U3R5bGVSZWZsZWN0aW9uPiBtX2JveFJlZmxlY3Q7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>