<?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>130575</bug_id>
          
          <creation_ts>2014-03-21 03:24:20 -0700</creation_ts>
          <short_desc>[ATK] Utilize new AtkValue interface coming in ATK 2.11.92</short_desc>
          <delta_ts>2014-03-26 03:17:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Krzysztof Czech">k.czech</reporter>
          <assigned_to name="Krzysztof Czech">k.czech</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>993000</commentid>
    <comment_count>0</comment_count>
    <who name="Krzysztof Czech">k.czech</who>
    <bug_when>2014-03-21 03:24:20 -0700</bug_when>
    <thetext>ATK 2.11.92 introduces some new API and deprecates an old one. It adds AtkRange data type which I guess it could be used to squeeze some properties of a range controls into one. New API coming to get range value with its alternative description so I guess one may be used to get aria-valuenow and aria-valuetext and there are couple of more cool features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993001</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-03-21 03:24:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/16389406&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993855</commentid>
    <comment_count>2</comment_count>
      <attachid>227663</attachid>
    <who name="Krzysztof Czech">k.czech</who>
    <bug_when>2014-03-24 10:05:39 -0700</bug_when>
    <thetext>Created attachment 227663
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994159</commentid>
    <comment_count>3</comment_count>
      <attachid>227663</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-03-25 06:39:38 -0700</bug_when>
    <thetext>Comment on attachment 227663
patch

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

Thanks for helping reduce the gap with latest ATK in WebKit! This patch looks good to me, I would just ask you to change a couple of things before landing (see them below)

&gt; Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceValue.cpp:48
&gt; +    gdouble value;

This is an internal variable so it can be a double

&gt; Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceValue.cpp:78
&gt; +    if (AccessibilityObject* coreObject = core(value)) {
&gt; +        if (currentValue)
&gt; +            *currentValue = coreObject-&gt;valueForRange();
&gt; +        if (alternativeText)
&gt; +            *alternativeText = g_strdup_printf(&quot;%s&quot;, coreObject-&gt;valueDescription().utf8().data());
&gt; +    }

Could you switch this to an early return on !coreObject?

&gt; Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceValue.cpp:88
&gt; +    if (AccessibilityObject* coreObject = core(value))
&gt; +        return webkitAccessibleGetIncrementValue(coreObject);
&gt; +    return 0;

Ditto

&gt; Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceValue.cpp:110
&gt; +    if (AccessibilityObject* coreObject = core(value)) {
&gt; +        gdouble minValue = coreObject-&gt;minValueForRange();
&gt; +        gdouble maxValue = coreObject-&gt;maxValueForRange();
&gt; +        gchar* valueDescription = g_strdup_printf(&quot;%s&quot;, coreObject-&gt;valueDescription().utf8().data());
&gt; +        return atk_range_new(minValue, maxValue, valueDescription);
&gt; +    }
&gt; +    return nullptr;

Ditto

&gt; Tools/DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:561
&gt; +    if (AtkRange* range = atk_value_get_range(value)) {
&gt; +        double value = isMinValue ? atk_range_get_lower_limit(range) : atk_range_get_upper_limit(range);
&gt; +        atk_range_free(range);
&gt; +        return value;
&gt; +    }
&gt; +    return 0;

Ditto

&gt; Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:606
&gt; +static double rangeMinMaxValue(AtkValue* value, bool isMinValue)

I don&apos;t like much bool parameters for these kind of uses. Would you mind defining a enum type instead and use that insteadl? Perhaps something such as enum RangeLimit { RangeLimitMinimum, RangeLimitMaximum } or the like.

&gt; Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:613
&gt; +    if (AtkRange* range = atk_value_get_range(value)) {
&gt; +        double value = isMinValue ? atk_range_get_lower_limit(range) : atk_range_get_upper_limit(range);
&gt; +        atk_range_free(range);
&gt; +        return value;
&gt; +    }
&gt; +    return 0;

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994179</commentid>
    <comment_count>4</comment_count>
      <attachid>227751</attachid>
    <who name="Krzysztof Czech">k.czech</who>
    <bug_when>2014-03-25 08:15:53 -0700</bug_when>
    <thetext>Created attachment 227751
attempt to check bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994180</commentid>
    <comment_count>5</comment_count>
    <who name="Krzysztof Czech">k.czech</who>
    <bug_when>2014-03-25 08:17:32 -0700</bug_when>
    <thetext>Applied all Mario&apos;s suggestions.
Waiting whether bots are green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994227</commentid>
    <comment_count>6</comment_count>
      <attachid>227764</attachid>
    <who name="Krzysztof Czech">k.czech</who>
    <bug_when>2014-03-25 09:59:45 -0700</bug_when>
    <thetext>Created attachment 227764
attempt to check bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994523</commentid>
    <comment_count>7</comment_count>
      <attachid>227836</attachid>
    <who name="Krzysztof Czech">k.czech</who>
    <bug_when>2014-03-26 01:53:08 -0700</bug_when>
    <thetext>Created attachment 227836
attempt to check efl bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994540</commentid>
    <comment_count>8</comment_count>
      <attachid>227836</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-26 03:17:13 -0700</bug_when>
    <thetext>Comment on attachment 227836
attempt to check efl bots.

Clearing flags on attachment: 227836

Committed r166288: &lt;http://trac.webkit.org/changeset/166288&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>994541</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-26 03:17:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227663</attachid>
            <date>2014-03-24 10:05:39 -0700</date>
            <delta_ts>2014-03-25 08:15:53 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a11y-atkvalue.patch</filename>
            <type>text/plain</type>
            <size>16889</size>
            <attacher name="Krzysztof Czech">k.czech</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZjcxMjlkLi4xY2YyMDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTQtMDMtMjQgIEtyenlzenRvZiBDemVjaCAgPGsuY3plY2hAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0FUS10gVXRpbGl6ZSBuZXcgQXRrVmFsdWUgaW50ZXJmYWNlIGNvbWluZyBpbiBB
VEsgMi4xMS45MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwNTc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQVRLIDIuMTEuOTIgaW50cm9kdWNlcyBzb21lIG5ldyBBUEkgYW5kIGRlcHJlY2F0ZXMgYW4g
b2xkIG9uZS4KKyAgICAgICAgQWRqdXN0IGN1cnJlbnQgaW1wbGVtZW50YXRpb24gdG8gbWVldCBy
ZXF1aXJlbWVudHMgb2YgdGhlIG5ldyBBUEkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBDb3Zl
cmVkIGJ5IGV4aXN0aW5nIG9uZXMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9BWE9i
amVjdENhY2hlQXRrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBvc3RQ
bGF0Zm9ybU5vdGlmaWNhdGlvbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmNwcDoKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVT
ZXROZXdWYWx1ZSk6CisgICAgICAgICh3ZWJraXRBY2Nlc3NpYmxlR2V0SW5jcmVtZW50VmFsdWUp
OgorICAgICAgICAod2Via2l0QWNjZXNzaWJsZUdldFZhbHVlQW5kVGV4dCk6CisgICAgICAgICh3
ZWJraXRBY2Nlc3NpYmxlR2V0SW5jcmVtZW50KToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVT
ZXRWYWx1ZSk6CisgICAgICAgICh3ZWJraXRBY2Nlc3NpYmxlR2V0UmFuZ2UpOgorICAgICAgICAo
d2Via2l0QWNjZXNzaWJsZVZhbHVlU2V0Q3VycmVudFZhbHVlKToKKyAgICAgICAgKHdlYmtpdEFj
Y2Vzc2libGVWYWx1ZUdldE1pbmltdW1JbmNyZW1lbnQpOgorICAgICAgICAod2Via2l0QWNjZXNz
aWJsZVZhbHVlSW50ZXJmYWNlSW5pdCk6CisKIDIwMTQtMDMtMjQgIEphdmllciBGZXJuYW5kZXog
IDxqZmVybmFuZGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBHcmlkIExheW91dF0gVXBk
YXRlIG5hbWVkIDxncmlkLWxpbmU+IHN5bnRheCB0byB0aGUgbGFzdCB2ZXJzaW9uIG9mIHRoZSBz
cGVjcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmpl
Y3RDYWNoZUF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVj
dENhY2hlQXRrLmNwcAppbmRleCA1ZDYyYTk4Li41OTE3MTA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcApAQCAtMjA4
LDcgKzIwOCwxMyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhdGlv
bihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0LCBBWAogICAgICAgICAgICAgcHJvcGVy
dHlWYWx1ZXMucHJvcGVydHlfbmFtZSA9ICJhY2Nlc3NpYmxlLXZhbHVlIjsKIAogICAgICAgICAg
ICAgbWVtc2V0KCZwcm9wZXJ0eVZhbHVlcy5uZXdfdmFsdWUsICAwLCBzaXplb2YoR1ZhbHVlKSk7
CisjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwxMSw5MikKKyAgICAgICAgICAgIGRvdWJsZSB2YWx1
ZTsKKyAgICAgICAgICAgIGF0a192YWx1ZV9nZXRfdmFsdWVfYW5kX3RleHQoQVRLX1ZBTFVFKGF4
T2JqZWN0KSwgJnZhbHVlLCBudWxscHRyKTsKKyAgICAgICAgICAgIGdfdmFsdWVfc2V0X2RvdWJs
ZShnX3ZhbHVlX2luaXQoJnByb3BlcnR5VmFsdWVzLm5ld192YWx1ZSwgR19UWVBFX0RPVUJMRSks
IHZhbHVlKTsKKyNlbHNlCiAgICAgICAgICAgICBhdGtfdmFsdWVfZ2V0X2N1cnJlbnRfdmFsdWUo
QVRLX1ZBTFVFKGF4T2JqZWN0KSwgJnByb3BlcnR5VmFsdWVzLm5ld192YWx1ZSk7CisjZW5kaWYK
IAogICAgICAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKEFUS19PQkpFQ1QoYXhPYmplY3Qp
LCAicHJvcGVydHktY2hhbmdlOjphY2Nlc3NpYmxlLXZhbHVlIiwgJnByb3BlcnR5VmFsdWVzLCBO
VUxMKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKaW5k
ZXggMTljNmNmMC4uZmIxOGFmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUu
Y3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAi
V2ViS2l0QWNjZXNzaWJsZVV0aWwuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlV3JhcHBl
ckF0ay5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKQEAgLTM3LDYgKzM4LDc4IEBAIHN0YXRpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBjb3JlKEF0a1ZhbHVlKiB2YWx1ZSkKICAgICByZXR1cm4gd2Via2l0QWNjZXNzaWJsZUdldEFj
Y2Vzc2liaWxpdHlPYmplY3QoV0VCS0lUX0FDQ0VTU0lCTEUodmFsdWUpKTsKIH0KIAorc3RhdGlj
IGJvb2wgd2Via2l0QWNjZXNzaWJsZVNldE5ld1ZhbHVlKEF0a1ZhbHVlKiBjb3JlVmFsdWUsIGNv
bnN0IGdkb3VibGUgbmV3VmFsdWUpCit7CisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9i
amVjdCA9IGNvcmUoY29yZVZhbHVlKTsKKyAgICBpZiAoIWNvcmVPYmplY3QtPmNhblNldFZhbHVl
QXR0cmlidXRlKCkpCisgICAgICAgIHJldHVybiBGQUxTRTsKKworICAgIC8vIENoZWNrIHZhbHVl
IGFnYWluc3QgcmFuZ2UgbGltaXRzCisgICAgZ2RvdWJsZSB2YWx1ZTsKKyAgICB2YWx1ZSA9IHN0
ZDo6bWF4KHN0YXRpY19jYXN0PGRvdWJsZT4oY29yZU9iamVjdC0+bWluVmFsdWVGb3JSYW5nZSgp
KSwgbmV3VmFsdWUpOworICAgIHZhbHVlID0gc3RkOjptaW4oc3RhdGljX2Nhc3Q8ZG91YmxlPihj
b3JlT2JqZWN0LT5tYXhWYWx1ZUZvclJhbmdlKCkpLCBuZXdWYWx1ZSk7CisKKyAgICBjb3JlT2Jq
ZWN0LT5zZXRWYWx1ZShTdHJpbmc6Om51bWJlcih2YWx1ZSkpOworICAgIHJldHVybiBUUlVFOwor
fQorCitzdGF0aWMgZmxvYXQgd2Via2l0QWNjZXNzaWJsZUdldEluY3JlbWVudFZhbHVlKEFjY2Vz
c2liaWxpdHlPYmplY3QqIGNvcmVPYmplY3QpCit7CisgICAgaWYgKCFjb3JlT2JqZWN0LT5nZXRB
dHRyaWJ1dGUoSFRNTE5hbWVzOjpzdGVwQXR0cikuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4g
Y29yZU9iamVjdC0+c3RlcFZhbHVlRm9yUmFuZ2UoKTsKKworICAgIC8vIElmICdzdGVwJyBhdHRy
aWJ1dGUgaXMgbm90IGRlZmluZWQsIFdlYkNvcmUgYXNzdW1lcyBhIDUlIG9mIHRoZQorICAgIC8v
IHJhbmdlIGJldHdlZW4gbWluaW11bSBhbmQgbWF4aW11bSB2YWx1ZXMuIEltcGxpY2l0IHZhbHVl
IG9mIHN0ZXAgc2hvdWxkIGJlIG9uZSBvciBsYXJnZXIuCisgICAgZmxvYXQgc3RlcCA9IChjb3Jl
T2JqZWN0LT5tYXhWYWx1ZUZvclJhbmdlKCkgLSBjb3JlT2JqZWN0LT5taW5WYWx1ZUZvclJhbmdl
KCkpICogMC4wNTsKKyAgICByZXR1cm4gc3RlcCA8IDEgPyAxIDogc3RlcDsKK30KKworI2lmIEFU
S19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCitzdGF0aWMgdm9pZCB3ZWJraXRBY2Nlc3NpYmxlR2V0
VmFsdWVBbmRUZXh0KEF0a1ZhbHVlKiB2YWx1ZSwgZ2RvdWJsZSogY3VycmVudFZhbHVlLCBnY2hh
cioqIGFsdGVybmF0aXZlVGV4dCkKK3sKKyAgICBnX3JldHVybl9pZl9mYWlsKEFUS19WQUxVRSh2
YWx1ZSkpOworICAgIHJldHVybklmV2ViS2l0QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRfQUND
RVNTSUJMRSh2YWx1ZSkpOworCisgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcmVPYmpl
Y3QgPSBjb3JlKHZhbHVlKSkgeworICAgICAgICBpZiAoY3VycmVudFZhbHVlKQorICAgICAgICAg
ICAgKmN1cnJlbnRWYWx1ZSA9IGNvcmVPYmplY3QtPnZhbHVlRm9yUmFuZ2UoKTsKKyAgICAgICAg
aWYgKGFsdGVybmF0aXZlVGV4dCkKKyAgICAgICAgICAgICphbHRlcm5hdGl2ZVRleHQgPSBnX3N0
cmR1cF9wcmludGYoIiVzIiwgY29yZU9iamVjdC0+dmFsdWVEZXNjcmlwdGlvbigpLnV0ZjgoKS5k
YXRhKCkpOworICAgIH0KK30KKworc3RhdGljIGRvdWJsZSB3ZWJraXRBY2Nlc3NpYmxlR2V0SW5j
cmVtZW50KEF0a1ZhbHVlKiB2YWx1ZSkKK3sKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChBVEtf
VkFMVUUodmFsdWUpLCAwKTsKKyAgICByZXR1cm5WYWxJZldlYktpdEFjY2Vzc2libGVJc0ludmFs
aWQoV0VCS0lUX0FDQ0VTU0lCTEUodmFsdWUpLCAwKTsKKworICAgIGlmIChBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBjb3JlT2JqZWN0ID0gY29yZSh2YWx1ZSkpCisgICAgICAgIHJldHVybiB3ZWJraXRB
Y2Nlc3NpYmxlR2V0SW5jcmVtZW50VmFsdWUoY29yZU9iamVjdCk7CisgICAgcmV0dXJuIDA7Cit9
CisKK3N0YXRpYyB2b2lkIHdlYmtpdEFjY2Vzc2libGVTZXRWYWx1ZShBdGtWYWx1ZSogdmFsdWUs
IGNvbnN0IGdkb3VibGUgbmV3VmFsdWUpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChBVEtfVkFM
VUUodmFsdWUpKTsKKyAgICByZXR1cm5JZldlYktpdEFjY2Vzc2libGVJc0ludmFsaWQoV0VCS0lU
X0FDQ0VTU0lCTEUodmFsdWUpKTsKKworICAgIHdlYmtpdEFjY2Vzc2libGVTZXROZXdWYWx1ZSh2
YWx1ZSwgbmV3VmFsdWUpOworfQorCitzdGF0aWMgQXRrUmFuZ2UqIHdlYmtpdEFjY2Vzc2libGVH
ZXRSYW5nZShBdGtWYWx1ZSogdmFsdWUpCit7CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoQVRL
X1ZBTFVFKHZhbHVlKSwgbnVsbHB0cik7CisgICAgcmV0dXJuVmFsSWZXZWJLaXRBY2Nlc3NpYmxl
SXNJbnZhbGlkKFdFQktJVF9BQ0NFU1NJQkxFKHZhbHVlKSwgbnVsbHB0cik7CisKKyAgICBpZiAo
QWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUodmFsdWUpKSB7CisgICAgICAg
IGdkb3VibGUgbWluVmFsdWUgPSBjb3JlT2JqZWN0LT5taW5WYWx1ZUZvclJhbmdlKCk7CisgICAg
ICAgIGdkb3VibGUgbWF4VmFsdWUgPSBjb3JlT2JqZWN0LT5tYXhWYWx1ZUZvclJhbmdlKCk7Cisg
ICAgICAgIGdjaGFyKiB2YWx1ZURlc2NyaXB0aW9uID0gZ19zdHJkdXBfcHJpbnRmKCIlcyIsIGNv
cmVPYmplY3QtPnZhbHVlRGVzY3JpcHRpb24oKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgcmV0
dXJuIGF0a19yYW5nZV9uZXcobWluVmFsdWUsIG1heFZhbHVlLCB2YWx1ZURlc2NyaXB0aW9uKTsK
KyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisjZWxzZQogc3RhdGljIHZvaWQgd2Via2l0
QWNjZXNzaWJsZVZhbHVlR2V0Q3VycmVudFZhbHVlKEF0a1ZhbHVlKiB2YWx1ZSwgR1ZhbHVlKiBn
VmFsdWUpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChBVEtfVkFMVUUodmFsdWUpKTsKQEAgLTky
LDE2ICsxNjUsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0QWNjZXNzaWJsZVZhbHVlU2V0Q3Vy
cmVudFZhbHVlKEF0a1ZhbHVlKiB2YWx1ZSwgY29uc3QgR1ZhbAogICAgIGVsc2UKICAgICAgICAg
cmV0dXJuIEZBTFNFOwogCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNv
cmUodmFsdWUpOwotICAgIGlmICghY29yZU9iamVjdC0+Y2FuU2V0VmFsdWVBdHRyaWJ1dGUoKSkK
LSAgICAgICAgcmV0dXJuIEZBTFNFOwotCi0gICAgLy8gQ2hlY2sgdmFsdWUgYWdhaW5zdCByYW5n
ZSBsaW1pdHMKLSAgICBuZXdWYWx1ZSA9IHN0ZDo6bWF4KHN0YXRpY19jYXN0PGRvdWJsZT4oY29y
ZU9iamVjdC0+bWluVmFsdWVGb3JSYW5nZSgpKSwgbmV3VmFsdWUpOwotICAgIG5ld1ZhbHVlID0g
c3RkOjptaW4oc3RhdGljX2Nhc3Q8ZG91YmxlPihjb3JlT2JqZWN0LT5tYXhWYWx1ZUZvclJhbmdl
KCkpLCBuZXdWYWx1ZSk7Ci0KLSAgICBjb3JlT2JqZWN0LT5zZXRWYWx1ZShTdHJpbmc6Om51bWJl
cihuZXdWYWx1ZSkpOwotICAgIHJldHVybiBUUlVFOworICAgIHJldHVybiB3ZWJraXRBY2Nlc3Np
YmxlU2V0TmV3VmFsdWUodmFsdWUsIG5ld1ZhbHVlKTsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0
QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudChBdGtWYWx1ZSogdmFsdWUsIEdWYWx1
ZSogZ1ZhbHVlKQpAQCAtMTEzLDI0ICsxNzcsMjQgQEAgc3RhdGljIHZvaWQgd2Via2l0QWNjZXNz
aWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudChBdGtWYWx1ZSogdmFsdWUsIEdWYWx1ZSogZ1YK
ICAgICBnX3ZhbHVlX2luaXQoZ1ZhbHVlLCBHX1RZUEVfRkxPQVQpOwogCiAgICAgQWNjZXNzaWJp
bGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUodmFsdWUpOwotICAgIGlmICghY29yZU9iamVj
dC0+Z2V0QXR0cmlidXRlKEhUTUxOYW1lczo6c3RlcEF0dHIpLmlzRW1wdHkoKSkgewotICAgICAg
ICBnX3ZhbHVlX3NldF9mbG9hdChnVmFsdWUsIGNvcmVPYmplY3QtPnN0ZXBWYWx1ZUZvclJhbmdl
KCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gSWYgJ3N0ZXAnIGF0dHJpYnV0
ZSBpcyBub3QgZGVmaW5lZCwgV2ViQ29yZSBhc3N1bWVzIGEgNSUgb2YgdGhlCi0gICAgLy8gcmFu
Z2UgYmV0d2VlbiBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlcy4gSW1wbGljaXQgdmFsdWUgb2Yg
c3RlcCBzaG91bGQgYmUgb25lIG9yIGxhcmdlci4KLSAgICBmbG9hdCBzdGVwID0gKGNvcmVPYmpl
Y3QtPm1heFZhbHVlRm9yUmFuZ2UoKSAtIGNvcmVPYmplY3QtPm1pblZhbHVlRm9yUmFuZ2UoKSkg
KiAwLjA1OwotICAgIGdfdmFsdWVfc2V0X2Zsb2F0KGdWYWx1ZSwgc3RlcCA8IDEgPyAxIDogc3Rl
cCk7CisgICAgZ192YWx1ZV9zZXRfZmxvYXQoZ1ZhbHVlLCB3ZWJraXRBY2Nlc3NpYmxlR2V0SW5j
cmVtZW50VmFsdWUoY29yZU9iamVjdCkpOwogfQorI2VuZGlmCiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZVZhbHVlSW50ZXJmYWNlSW5pdChBdGtWYWx1ZUlmYWNlKiBpZmFjZSkKIHsKKyNpZiBBVEtf
Q0hFQ0tfVkVSU0lPTigyLDExLDkyKQorICAgIGlmYWNlLT5nZXRfdmFsdWVfYW5kX3RleHQgPSB3
ZWJraXRBY2Nlc3NpYmxlR2V0VmFsdWVBbmRUZXh0OworICAgIGlmYWNlLT5nZXRfaW5jcmVtZW50
ID0gd2Via2l0QWNjZXNzaWJsZUdldEluY3JlbWVudDsKKyAgICBpZmFjZS0+c2V0X3ZhbHVlID0g
d2Via2l0QWNjZXNzaWJsZVNldFZhbHVlOworICAgIGlmYWNlLT5nZXRfcmFuZ2UgPSB3ZWJraXRB
Y2Nlc3NpYmxlR2V0UmFuZ2U7CisjZWxzZQogICAgIGlmYWNlLT5nZXRfY3VycmVudF92YWx1ZSA9
IHdlYmtpdEFjY2Vzc2libGVWYWx1ZUdldEN1cnJlbnRWYWx1ZTsKICAgICBpZmFjZS0+Z2V0X21h
eGltdW1fdmFsdWUgPSB3ZWJraXRBY2Nlc3NpYmxlVmFsdWVHZXRNYXhpbXVtVmFsdWU7CiAgICAg
aWZhY2UtPmdldF9taW5pbXVtX3ZhbHVlID0gd2Via2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11
bVZhbHVlOwogICAgIGlmYWNlLT5zZXRfY3VycmVudF92YWx1ZSA9IHdlYmtpdEFjY2Vzc2libGVW
YWx1ZVNldEN1cnJlbnRWYWx1ZTsKICAgICBpZmFjZS0+Z2V0X21pbmltdW1faW5jcmVtZW50ID0g
d2Via2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudDsKKyNlbmRpZgogfQogCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCBiMjAzODk1Li5iNjU3ODg4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTQtMDMtMjQgIEtyenlzenRvZiBDemVj
aCAgPGsuY3plY2hAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0FUS10gVXRpbGl6ZSBuZXcgQXRr
VmFsdWUgaW50ZXJmYWNlIGNvbWluZyBpbiBBVEsgMi4xMS45MgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNTc1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIEFUSyB2ZXJzaW9uIHRvIDIuMTEu
OTIuIEFkanVzdCBjdXJyZW50IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwOgorICAgICAgICAoQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aW50VmFsdWUpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6bWluVmFsdWUpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF4VmFs
dWUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjppbnRWYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Om1pblZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF4VmFs
dWUpOgorICAgICAgICAqIGVmbC9qaGJ1aWxkLm1vZHVsZXM6CisgICAgICAgICogZ3RrL2poYnVp
bGQubW9kdWxlczoKKwogMjAxNC0wMy0yNCAgTMOhc3psw7MgTGFuZ8OzICA8bGxhbmdvLnUtc3pl
Z2VkQHBhcnRuZXIuc2Ftc3VuZy5jb20+CiAKICAgICAgICAgcHJlcGFyZS1DaGFuZ2VMb2cgc2hv
dWxkIGxpc3QgZnVuY3Rpb25zIHRoYXQgaGF2ZSBiZWVuIHJlbW92ZWQgdG9vLgpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3Bw
CmluZGV4IDhjYzQ2ZjYuLjBiYjcyYTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAgLTU1MCwxMSArNTUwLDMw
IEBAIEpTU3RyaW5nUmVmIGluZGV4UmFuZ2VJblRhYmxlKFBsYXRmb3JtVUlFbGVtZW50IGVsZW1l
bnQsIGJvb2wgaXNSb3dSYW5nZSkKICAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcocmFuZ2VTdHJpbmcuZ2V0KCkpOwogfQogCisjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwx
MSw5MikKK3N0YXRpYyBkb3VibGUgcmFuZ2VNaW5NYXhWYWx1ZShBdGtWYWx1ZSogdmFsdWUsIGJv
b2wgaXNNaW5WYWx1ZSkKK3sKKyAgICBpZiAoQXRrUmFuZ2UqIHJhbmdlID0gYXRrX3ZhbHVlX2dl
dF9yYW5nZSh2YWx1ZSkpIHsKKyAgICAgICAgZG91YmxlIHZhbHVlID0gaXNNaW5WYWx1ZSA/IGF0
a19yYW5nZV9nZXRfbG93ZXJfbGltaXQocmFuZ2UpIDogYXRrX3JhbmdlX2dldF91cHBlcl9saW1p
dChyYW5nZSk7CisgICAgICAgIGF0a19yYW5nZV9mcmVlKHJhbmdlKTsKKyAgICAgICAgcmV0dXJu
IHZhbHVlOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKyNlbmRpZgorCiB2b2lkIGFsdGVyQ3Vy
cmVudFZhbHVlKFBsYXRmb3JtVUlFbGVtZW50IGVsZW1lbnQsIGludCBmYWN0b3IpCiB7CiAgICAg
aWYgKCFBVEtfSVNfVkFMVUUoZWxlbWVudCkpCiAgICAgICAgIHJldHVybjsKIAorI2lmIEFUS19D
SEVDS19WRVJTSU9OKDIsMTEsOTIpCisgICAgZG91YmxlIGN1cnJlbnRWYWx1ZTsKKyAgICBhdGtf
dmFsdWVfZ2V0X3ZhbHVlX2FuZF90ZXh0KEFUS19WQUxVRShlbGVtZW50KSwgJmN1cnJlbnRWYWx1
ZSwgbnVsbHB0cik7CisKKyAgICBkb3VibGUgaW5jcmVtZW50ID0gYXRrX3ZhbHVlX2dldF9pbmNy
ZW1lbnQoQVRLX1ZBTFVFKGVsZW1lbnQpKTsKKyAgICBhdGtfdmFsdWVfc2V0X3ZhbHVlKEFUS19W
QUxVRShlbGVtZW50KSwgY3VycmVudFZhbHVlICsgZmFjdG9yICogaW5jcmVtZW50KTsKKyNlbHNl
CiAgICAgR1ZhbHVlIGN1cnJlbnRWYWx1ZSA9IEdfVkFMVUVfSU5JVDsKICAgICBhdGtfdmFsdWVf
Z2V0X2N1cnJlbnRfdmFsdWUoQVRLX1ZBTFVFKGVsZW1lbnQpLCAmY3VycmVudFZhbHVlKTsKIApA
QCAtNTcwLDYgKzU4OSw3IEBAIHZvaWQgYWx0ZXJDdXJyZW50VmFsdWUoUGxhdGZvcm1VSUVsZW1l
bnQgZWxlbWVudCwgaW50IGZhY3RvcikKICAgICBnX3ZhbHVlX3Vuc2V0KCZuZXdWYWx1ZSk7CiAg
ICAgZ192YWx1ZV91bnNldCgmaW5jcmVtZW50KTsKICAgICBnX3ZhbHVlX3Vuc2V0KCZjdXJyZW50
VmFsdWUpOworI2VuZGlmCiB9CiAKIH0gLy8gbmFtZXNwYWNlCkBAIC05ODQsMTEgKzEwMDQsMTcg
QEAgZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmludFZhbHVlKCkgY29uc3QKICAgICAg
ICAgcmV0dXJuIDA7CiAKICAgICBpZiAoQVRLX0lTX1ZBTFVFKG1fZWxlbWVudCkpIHsKKyNpZiBB
VEtfQ0hFQ0tfVkVSU0lPTigyLDExLDkyKQorICAgICAgICBkb3VibGUgdmFsdWU7CisgICAgICAg
IGF0a192YWx1ZV9nZXRfdmFsdWVfYW5kX3RleHQoQVRLX1ZBTFVFKG1fZWxlbWVudCksICZ2YWx1
ZSwgbnVsbHB0cik7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyNlbHNlCiAgICAgICAgIEdWYWx1
ZSB2YWx1ZSA9IEdfVkFMVUVfSU5JVDsKICAgICAgICAgYXRrX3ZhbHVlX2dldF9jdXJyZW50X3Zh
bHVlKEFUS19WQUxVRShtX2VsZW1lbnQpLCAmdmFsdWUpOwogICAgICAgICBpZiAoIUdfVkFMVUVf
SE9MRFNfRkxPQVQoJnZhbHVlKSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICByZXR1
cm4gZ192YWx1ZV9nZXRfZmxvYXQoJnZhbHVlKTsKKyNlbmRpZgogICAgIH0KIAogICAgIC8vIENv
bnNpZGVyIGhlYWRpbmdzIGFzIGFuIHNwZWNpYWwgY2FzZSB3aGVuIHJldHVybmluZyB0aGUgImlu
dCB2YWx1ZSIgb2YKQEAgLTEwMDksMjQgKzEwMzUsMzAgQEAgZG91YmxlIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6Om1pblZhbHVlKCkKIHsKICAgICBpZiAoIUFUS19JU19WQUxVRShtX2VsZW1lbnQp
KQogICAgICAgICByZXR1cm4gMDsKLQorI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCisg
ICAgcmV0dXJuIHJhbmdlTWluTWF4VmFsdWUoQVRLX1ZBTFVFKG1fZWxlbWVudCksIHRydWUpOwor
I2Vsc2UKICAgICBHVmFsdWUgdmFsdWUgPSBHX1ZBTFVFX0lOSVQ7CiAgICAgYXRrX3ZhbHVlX2dl
dF9taW5pbXVtX3ZhbHVlKEFUS19WQUxVRShtX2VsZW1lbnQpLCAmdmFsdWUpOwogICAgIGlmICgh
R19WQUxVRV9IT0xEU19GTE9BVCgmdmFsdWUpKQogICAgICAgICByZXR1cm4gMDsKICAgICByZXR1
cm4gZ192YWx1ZV9nZXRfZmxvYXQoJnZhbHVlKTsKKyNlbmRpZgogfQogCiBkb3VibGUgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6bWF4VmFsdWUoKQogewogICAgIGlmICghQVRLX0lTX1ZBTFVFKG1f
ZWxlbWVudCkpCiAgICAgICAgIHJldHVybiAwOwotCisjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwx
MSw5MikKKyAgICByZXR1cm4gcmFuZ2VNaW5NYXhWYWx1ZShBVEtfVkFMVUUobV9lbGVtZW50KSwg
ZmFsc2UpOworI2Vsc2UKICAgICBHVmFsdWUgdmFsdWUgPSBHX1ZBTFVFX0lOSVQ7CiAgICAgYXRr
X3ZhbHVlX2dldF9tYXhpbXVtX3ZhbHVlKEFUS19WQUxVRShtX2VsZW1lbnQpLCAmdmFsdWUpOwog
ICAgIGlmICghR19WQUxVRV9IT0xEU19GTE9BVCgmdmFsdWUpKQogICAgICAgICByZXR1cm4gMDsK
ICAgICByZXR1cm4gZ192YWx1ZV9nZXRfZmxvYXQoJnZhbHVlKTsKKyNlbmRpZgogfQogCiBKU1N0
cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp2YWx1ZURlc2NyaXB0aW9uKCkKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKaW5kZXggMWI3NzZkOC4uY2Zk
M2Y2MiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9h
dGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAg
LTI2Miw2ICsyNjIsMTMgQEAgdm9pZCBhbHRlckN1cnJlbnRWYWx1ZShQbGF0Zm9ybVVJRWxlbWVu
dCBlbGVtZW50LCBpbnQgZmFjdG9yKQogICAgIGlmICghQVRLX0lTX1ZBTFVFKGVsZW1lbnQuZ2V0
KCkpKQogICAgICAgICByZXR1cm47CiAKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLDExLDkyKQor
ICAgIGRvdWJsZSBjdXJyZW50VmFsdWU7CisgICAgYXRrX3ZhbHVlX2dldF92YWx1ZV9hbmRfdGV4
dChBVEtfVkFMVUUoZWxlbWVudC5nZXQoKSksICZjdXJyZW50VmFsdWUsIG51bGxwdHIpOworCisg
ICAgZG91YmxlIGluY3JlbWVudCA9IGF0a192YWx1ZV9nZXRfaW5jcmVtZW50KEFUS19WQUxVRShl
bGVtZW50LmdldCgpKSk7CisgICAgYXRrX3ZhbHVlX3NldF92YWx1ZShBVEtfVkFMVUUoZWxlbWVu
dC5nZXQoKSksIGN1cnJlbnRWYWx1ZSArIGZhY3RvciAqIGluY3JlbWVudCk7CisjZWxzZQogICAg
IEdWYWx1ZSBjdXJyZW50VmFsdWUgPSBHX1ZBTFVFX0lOSVQ7CiAgICAgYXRrX3ZhbHVlX2dldF9j
dXJyZW50X3ZhbHVlKEFUS19WQUxVRShlbGVtZW50LmdldCgpKSwgJmN1cnJlbnRWYWx1ZSk7CiAK
QEAgLTI3Nyw2ICsyODQsNyBAQCB2b2lkIGFsdGVyQ3VycmVudFZhbHVlKFBsYXRmb3JtVUlFbGVt
ZW50IGVsZW1lbnQsIGludCBmYWN0b3IpCiAgICAgZ192YWx1ZV91bnNldCgmbmV3VmFsdWUpOwog
ICAgIGdfdmFsdWVfdW5zZXQoJmluY3JlbWVudCk7CiAgICAgZ192YWx1ZV91bnNldCgmY3VycmVu
dFZhbHVlKTsKKyNlbmRpZgogfQogCiBnY2hhciogcmVwbGFjZUNoYXJhY3RlcnNGb3JSZXN1bHRz
KGdjaGFyKiBzdHIpCkBAIC01OTQsNiArNjAyLDE4IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIGNvbnZl
cnRUb0pTT2JqZWN0QXJyYXkoY29uc3QgVmVjdG9yPFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVt
CiB9CiAjZW5kaWYKIAorI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCitzdGF0aWMgZG91
YmxlIHJhbmdlTWluTWF4VmFsdWUoQXRrVmFsdWUqIHZhbHVlLCBib29sIGlzTWluVmFsdWUpCit7
CisgICAgaWYgKEF0a1JhbmdlKiByYW5nZSA9IGF0a192YWx1ZV9nZXRfcmFuZ2UodmFsdWUpKSB7
CisgICAgICAgIGRvdWJsZSB2YWx1ZSA9IGlzTWluVmFsdWUgPyBhdGtfcmFuZ2VfZ2V0X2xvd2Vy
X2xpbWl0KHJhbmdlKSA6IGF0a19yYW5nZV9nZXRfdXBwZXJfbGltaXQocmFuZ2UpOworICAgICAg
ICBhdGtfcmFuZ2VfZnJlZShyYW5nZSk7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICB9Cisg
ICAgcmV0dXJuIDA7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UKIAogQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudChQbGF0Zm9ybVVJRWxlbWVudCBlbGVt
ZW50KQpAQCAtMTE5NiwxMSArMTIxNiwxNyBAQCBkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aW50VmFsdWUoKSBjb25zdAogICAgICAgICByZXR1cm4gMDsKIAogICAgIGlmIChBVEtfSVNf
VkFMVUUobV9lbGVtZW50LmdldCgpKSkgeworI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIp
CisgICAgICAgIGRvdWJsZSB2YWx1ZTsKKyAgICAgICAgYXRrX3ZhbHVlX2dldF92YWx1ZV9hbmRf
dGV4dChBVEtfVkFMVUUobV9lbGVtZW50LmdldCgpKSwgJnZhbHVlLCBudWxscHRyKTsKKyAgICAg
ICAgcmV0dXJuIHZhbHVlOworI2Vsc2UKICAgICAgICAgR1ZhbHVlIHZhbHVlID0gR19WQUxVRV9J
TklUOwogICAgICAgICBhdGtfdmFsdWVfZ2V0X2N1cnJlbnRfdmFsdWUoQVRLX1ZBTFVFKG1fZWxl
bWVudC5nZXQoKSksICZ2YWx1ZSk7CiAgICAgICAgIGlmICghR19WQUxVRV9IT0xEU19GTE9BVCgm
dmFsdWUpKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIHJldHVybiBnX3ZhbHVlX2dl
dF9mbG9hdCgmdmFsdWUpOworI2VuZGlmCiAgICAgfQogCiAgICAgLy8gQ29uc2lkZXIgaGVhZGlu
Z3MgYXMgYW4gc3BlY2lhbCBjYXNlIHdoZW4gcmV0dXJuaW5nIHRoZSAiaW50IHZhbHVlIiBvZgpA
QCAtMTIyMSwxMyArMTI0NywxNiBAQCBkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWlu
VmFsdWUoKQogewogICAgIGlmICghQVRLX0lTX1ZBTFVFKG1fZWxlbWVudC5nZXQoKSkpCiAgICAg
ICAgIHJldHVybiAwOwotCisjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwxMSw5MikKKyAgICByZXR1
cm4gcmFuZ2VNaW5NYXhWYWx1ZShBVEtfVkFMVUUobV9lbGVtZW50LmdldCgpKSwgdHJ1ZSk7Cisj
ZWxzZQogICAgIEdWYWx1ZSB2YWx1ZSA9IEdfVkFMVUVfSU5JVDsKICAgICBhdGtfdmFsdWVfZ2V0
X21pbmltdW1fdmFsdWUoQVRLX1ZBTFVFKG1fZWxlbWVudC5nZXQoKSksICZ2YWx1ZSk7CiAgICAg
aWYgKCFHX1ZBTFVFX0hPTERTX0ZMT0FUKCZ2YWx1ZSkpCiAgICAgICAgIHJldHVybiAwOwogCiAg
ICAgcmV0dXJuIGdfdmFsdWVfZ2V0X2Zsb2F0KCZ2YWx1ZSk7CisjZW5kaWYKIH0KIAogZG91Ymxl
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVlKCkKQEAgLTEyMzUsMTIgKzEyNjQsMTYg
QEAgZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVlKCkKICAgICBpZiAoIUFU
S19JU19WQUxVRShtX2VsZW1lbnQuZ2V0KCkpKQogICAgICAgICByZXR1cm4gMDsKIAorI2lmIEFU
S19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCisgICAgcmV0dXJuIHJhbmdlTWluTWF4VmFsdWUoQVRL
X1ZBTFVFKG1fZWxlbWVudC5nZXQoKSksIGZhbHNlKTsKKyNlbHNlCiAgICAgR1ZhbHVlIHZhbHVl
ID0gR19WQUxVRV9JTklUOwogICAgIGF0a192YWx1ZV9nZXRfbWF4aW11bV92YWx1ZShBVEtfVkFM
VUUobV9lbGVtZW50LmdldCgpKSwgJnZhbHVlKTsKICAgICBpZiAoIUdfVkFMVUVfSE9MRFNfRkxP
QVQoJnZhbHVlKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICByZXR1cm4gZ192YWx1ZV9nZXRf
ZmxvYXQoJnZhbHVlKTsKKyNlbmRpZgogfQogCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6dmFsdWVEZXNjcmlwdGlvbigpCmRpZmYgLS1naXQgYS9Ub29s
cy9lZmwvamhidWlsZC5tb2R1bGVzIGIvVG9vbHMvZWZsL2poYnVpbGQubW9kdWxlcwppbmRleCBj
OTQyNThkLi45OGVkNjlkIDEwMDY0NAotLS0gYS9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVzCisr
KyBiL1Rvb2xzL2VmbC9qaGJ1aWxkLm1vZHVsZXMKQEAgLTM0Miw5ICszNDIsOSBAQAogICA8YXV0
b3Rvb2xzIGlkPSJhdGsiCiAgICAgICAgICAgICAgYXV0b2dlbi1zaD0iY29uZmlndXJlIgogICAg
ICAgICAgICAgIGF1dG9nZW5hcmdzPSItLWRpc2FibGUtaW50cm9zcGVjdGlvbiI+Ci0gICAgPGJy
YW5jaCBtb2R1bGU9InB1Yi9HTk9NRS9zb3VyY2VzL2F0ay8yLjExL2F0ay0yLjExLjkwLnRhci54
eiIgdmVyc2lvbj0iMi4xMS45MCIKKyAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dOT01FL3NvdXJj
ZXMvYXRrLzIuMTEvYXRrLTIuMTEuOTIudGFyLnh6IiB2ZXJzaW9uPSIyLjExLjkyIgogICAgICAg
ICAgICAgcmVwbz0iZnRwLmdub21lLm9yZyIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1Njo0NGUz
M2FiYWQ2NDQxOWI5MmZkMmFlNDVmYjBkMzdiOWZhYWI2YjUzNjQwYTFhNTRlMDY4YWY2ZmNjYWQ0
NDE3Ii8+CisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6NzFlOTg4MGYxYjcwNGRmZDk4ODA2NjQz
YjhkYzY2YTVkZjRmY2VmMTU1Y2Y1OTQ0MTg0ZDhlOGY2NmRhYzY4OSIvPgogICA8L2F1dG90b29s
cz4KIAogPC9tb2R1bGVzZXQ+CmRpZmYgLS1naXQgYS9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVz
IGIvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcwppbmRleCA4MGZiZmE3Li5lZDNiOTRkIDEwMDY0
NAotLS0gYS9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVzCisrKyBiL1Rvb2xzL2d0ay9qaGJ1aWxk
Lm1vZHVsZXMKQEAgLTIzNCw5ICsyMzQsOSBAQAogICA8YXV0b3Rvb2xzIGlkPSJhdGsiCiAgICAg
ICAgICAgICAgYXV0b2dlbi1zaD0iY29uZmlndXJlIgogICAgICAgICAgICAgIGF1dG9nZW5hcmdz
PSItLWRpc2FibGUtaW50cm9zcGVjdGlvbiI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9N
RS9zb3VyY2VzL2F0ay8yLjExL2F0ay0yLjExLjkwLnRhci54eiIgdmVyc2lvbj0iMi4xMS45MCIK
KyAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dOT01FL3NvdXJjZXMvYXRrLzIuMTEvYXRrLTIuMTEu
OTIudGFyLnh6IiB2ZXJzaW9uPSIyLjExLjkyIgogICAgICAgICAgICAgcmVwbz0iZnRwLmdub21l
Lm9yZyIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1Njo0NGUzM2FiYWQ2NDQxOWI5MmZkMmFlNDVm
YjBkMzdiOWZhYWI2YjUzNjQwYTFhNTRlMDY4YWY2ZmNjYWQ0NDE3Ii8+CisgICAgICAgICAgICBo
YXNoPSJzaGEyNTY6NzFlOTg4MGYxYjcwNGRmZDk4ODA2NjQzYjhkYzY2YTVkZjRmY2VmMTU1Y2Y1
OTQ0MTg0ZDhlOGY2NmRhYzY4OSIvPgogICA8L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlk
PSJhdC1zcGkyLWNvcmUiIAo=
</data>
<flag name="review"
          id="251910"
          type_id="1"
          status="+"
          setter="mario"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227751</attachid>
            <date>2014-03-25 08:15:53 -0700</date>
            <delta_ts>2014-03-25 09:59:45 -0700</delta_ts>
            <desc>attempt to check bots</desc>
            <filename>a11y-atkvalue.patch</filename>
            <type>text/plain</type>
            <size>17604</size>
            <attacher name="Krzysztof Czech">k.czech</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NDg4Mjk5Li4yYjc2YThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTQtMDMtMjUgIEtyenlzenRvZiBDemVjaCAgPGsuY3plY2hAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0FUS10gVXRpbGl6ZSBuZXcgQXRrVmFsdWUgaW50ZXJmYWNlIGNvbWluZyBpbiBB
VEsgMi4xMS45MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwNTc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyaW8gU2FuY2hleiBQcmFkYS4KKwor
ICAgICAgICBBVEsgMi4xMS45MiBpbnRyb2R1Y2VzIHNvbWUgbmV3IEFQSSBhbmQgZGVwcmVjYXRl
cyBhbiBvbGQgb25lLgorICAgICAgICBBZGp1c3QgY3VycmVudCBpbXBsZW1lbnRhdGlvbiB0byBt
ZWV0IHJlcXVpcmVtZW50cyBvZiB0aGUgbmV3IEFQSS4KKworICAgICAgICBObyBuZXcgdGVzdHMu
IENvdmVyZWQgYnkgZXhpc3Rpbmcgb25lcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L0FYT2JqZWN0Q2FjaGVBdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwOgorICAgICAgICAod2Via2l0QWNjZXNz
aWJsZVNldE5ld1ZhbHVlKToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVHZXRJbmNyZW1lbnRW
YWx1ZSk6CisgICAgICAgICh3ZWJraXRBY2Nlc3NpYmxlR2V0VmFsdWVBbmRUZXh0KToKKyAgICAg
ICAgKHdlYmtpdEFjY2Vzc2libGVHZXRJbmNyZW1lbnQpOgorICAgICAgICAod2Via2l0QWNjZXNz
aWJsZVNldFZhbHVlKToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVHZXRSYW5nZSk6CisgICAg
ICAgICh3ZWJraXRBY2Nlc3NpYmxlVmFsdWVTZXRDdXJyZW50VmFsdWUpOgorICAgICAgICAod2Vi
a2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudCk6CisgICAgICAgICh3ZWJraXRB
Y2Nlc3NpYmxlVmFsdWVJbnRlcmZhY2VJbml0KToKKwogMjAxNC0wMy0yNSAgR2Fib3IgUmFwY3Nh
bnlpICA8cmdhYm9yQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0FSTTY0XSBHTlUgYXNzZW1ibGVy
IGZhaWxzIGluIFRyYW5zZm9ybWF0aW9uTWF0cml4OjptdWx0aXBseQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAppbmRleCA1
ZDYyYTk4Li41OTE3MTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcApAQCAtMjA4LDcgKzIwOCwxMyBAQCB2b2lkIEFY
T2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBjb3JlT2JqZWN0LCBBWAogICAgICAgICAgICAgcHJvcGVydHlWYWx1ZXMucHJvcGVydHlfbmFt
ZSA9ICJhY2Nlc3NpYmxlLXZhbHVlIjsKIAogICAgICAgICAgICAgbWVtc2V0KCZwcm9wZXJ0eVZh
bHVlcy5uZXdfdmFsdWUsICAwLCBzaXplb2YoR1ZhbHVlKSk7CisjaWYgQVRLX0NIRUNLX1ZFUlNJ
T04oMiwxMSw5MikKKyAgICAgICAgICAgIGRvdWJsZSB2YWx1ZTsKKyAgICAgICAgICAgIGF0a192
YWx1ZV9nZXRfdmFsdWVfYW5kX3RleHQoQVRLX1ZBTFVFKGF4T2JqZWN0KSwgJnZhbHVlLCBudWxs
cHRyKTsKKyAgICAgICAgICAgIGdfdmFsdWVfc2V0X2RvdWJsZShnX3ZhbHVlX2luaXQoJnByb3Bl
cnR5VmFsdWVzLm5ld192YWx1ZSwgR19UWVBFX0RPVUJMRSksIHZhbHVlKTsKKyNlbHNlCiAgICAg
ICAgICAgICBhdGtfdmFsdWVfZ2V0X2N1cnJlbnRfdmFsdWUoQVRLX1ZBTFVFKGF4T2JqZWN0KSwg
JnByb3BlcnR5VmFsdWVzLm5ld192YWx1ZSk7CisjZW5kaWYKIAogICAgICAgICAgICAgZ19zaWdu
YWxfZW1pdF9ieV9uYW1lKEFUS19PQkpFQ1QoYXhPYmplY3QpLCAicHJvcGVydHktY2hhbmdlOjph
Y2Nlc3NpYmxlLXZhbHVlIiwgJnByb3BlcnR5VmFsdWVzLCBOVUxMKTsKICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKaW5kZXggMTljNmNmMC4uMTg0ZWQ0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwCkBAIC0yNiw2ICsyNiw3IEBA
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZVV0aWwu
aCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5oIgorI2luY2x1ZGUgPHd0
Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTM3LDYg
KzM4LDgzIEBAIHN0YXRpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlKEF0a1ZhbHVlKiB2YWx1
ZSkKICAgICByZXR1cm4gd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxpdHlPYmplY3QoV0VC
S0lUX0FDQ0VTU0lCTEUodmFsdWUpKTsKIH0KIAorc3RhdGljIGJvb2wgd2Via2l0QWNjZXNzaWJs
ZVNldE5ld1ZhbHVlKEF0a1ZhbHVlKiBjb3JlVmFsdWUsIGNvbnN0IGdkb3VibGUgbmV3VmFsdWUp
Cit7CisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUoY29yZVZhbHVl
KTsKKyAgICBpZiAoIWNvcmVPYmplY3QtPmNhblNldFZhbHVlQXR0cmlidXRlKCkpCisgICAgICAg
IHJldHVybiBGQUxTRTsKKworICAgIC8vIENoZWNrIHZhbHVlIGFnYWluc3QgcmFuZ2UgbGltaXRz
CisgICAgZG91YmxlIHZhbHVlOworICAgIHZhbHVlID0gc3RkOjptYXgoc3RhdGljX2Nhc3Q8ZG91
YmxlPihjb3JlT2JqZWN0LT5taW5WYWx1ZUZvclJhbmdlKCkpLCBuZXdWYWx1ZSk7CisgICAgdmFs
dWUgPSBzdGQ6Om1pbihzdGF0aWNfY2FzdDxkb3VibGU+KGNvcmVPYmplY3QtPm1heFZhbHVlRm9y
UmFuZ2UoKSksIG5ld1ZhbHVlKTsKKworICAgIGNvcmVPYmplY3QtPnNldFZhbHVlKFN0cmluZzo6
bnVtYmVyKHZhbHVlKSk7CisgICAgcmV0dXJuIFRSVUU7Cit9CisKK3N0YXRpYyBmbG9hdCB3ZWJr
aXRBY2Nlc3NpYmxlR2V0SW5jcmVtZW50VmFsdWUoQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9i
amVjdCkKK3sKKyAgICBpZiAoIWNvcmVPYmplY3QtPmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnN0
ZXBBdHRyKS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBjb3JlT2JqZWN0LT5zdGVwVmFsdWVG
b3JSYW5nZSgpOworCisgICAgLy8gSWYgJ3N0ZXAnIGF0dHJpYnV0ZSBpcyBub3QgZGVmaW5lZCwg
V2ViQ29yZSBhc3N1bWVzIGEgNSUgb2YgdGhlCisgICAgLy8gcmFuZ2UgYmV0d2VlbiBtaW5pbXVt
IGFuZCBtYXhpbXVtIHZhbHVlcy4gSW1wbGljaXQgdmFsdWUgb2Ygc3RlcCBzaG91bGQgYmUgb25l
IG9yIGxhcmdlci4KKyAgICBmbG9hdCBzdGVwID0gKGNvcmVPYmplY3QtPm1heFZhbHVlRm9yUmFu
Z2UoKSAtIGNvcmVPYmplY3QtPm1pblZhbHVlRm9yUmFuZ2UoKSkgKiAwLjA1OworICAgIHJldHVy
biBzdGVwIDwgMSA/IDEgOiBzdGVwOworfQorCisjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwxMSw5
MikKK3N0YXRpYyB2b2lkIHdlYmtpdEFjY2Vzc2libGVHZXRWYWx1ZUFuZFRleHQoQXRrVmFsdWUq
IHZhbHVlLCBnZG91YmxlKiBjdXJyZW50VmFsdWUsIGdjaGFyKiogYWx0ZXJuYXRpdmVUZXh0KQor
eworICAgIGdfcmV0dXJuX2lmX2ZhaWwoQVRLX1ZBTFVFKHZhbHVlKSk7CisgICAgcmV0dXJuSWZX
ZWJLaXRBY2Nlc3NpYmxlSXNJbnZhbGlkKFdFQktJVF9BQ0NFU1NJQkxFKHZhbHVlKSk7CisKKyAg
ICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0ID0gY29yZSh2YWx1ZSk7CisgICAgaWYg
KCFjb3JlT2JqZWN0KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoY3VycmVudFZhbHVlKQor
ICAgICAgICAqY3VycmVudFZhbHVlID0gY29yZU9iamVjdC0+dmFsdWVGb3JSYW5nZSgpOworICAg
IGlmIChhbHRlcm5hdGl2ZVRleHQpCisgICAgICAgICphbHRlcm5hdGl2ZVRleHQgPSBnX3N0cmR1
cF9wcmludGYoIiVzIiwgY29yZU9iamVjdC0+dmFsdWVEZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRh
KCkpOworfQorCitzdGF0aWMgZG91YmxlIHdlYmtpdEFjY2Vzc2libGVHZXRJbmNyZW1lbnQoQXRr
VmFsdWUqIHZhbHVlKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKEFUS19WQUxVRSh2YWx1
ZSksIDApOworICAgIHJldHVyblZhbElmV2ViS2l0QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRf
QUNDRVNTSUJMRSh2YWx1ZSksIDApOworCisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9i
amVjdCA9IGNvcmUodmFsdWUpOworICAgIGlmICghY29yZU9iamVjdCkKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICByZXR1cm4gd2Via2l0QWNjZXNzaWJsZUdldEluY3JlbWVudFZhbHVlKGNvcmVP
YmplY3QpOworfQorCitzdGF0aWMgdm9pZCB3ZWJraXRBY2Nlc3NpYmxlU2V0VmFsdWUoQXRrVmFs
dWUqIHZhbHVlLCBjb25zdCBnZG91YmxlIG5ld1ZhbHVlKQoreworICAgIGdfcmV0dXJuX2lmX2Zh
aWwoQVRLX1ZBTFVFKHZhbHVlKSk7CisgICAgcmV0dXJuSWZXZWJLaXRBY2Nlc3NpYmxlSXNJbnZh
bGlkKFdFQktJVF9BQ0NFU1NJQkxFKHZhbHVlKSk7CisKKyAgICB3ZWJraXRBY2Nlc3NpYmxlU2V0
TmV3VmFsdWUodmFsdWUsIG5ld1ZhbHVlKTsKK30KKworc3RhdGljIEF0a1JhbmdlKiB3ZWJraXRB
Y2Nlc3NpYmxlR2V0UmFuZ2UoQXRrVmFsdWUqIHZhbHVlKQoreworICAgIGdfcmV0dXJuX3ZhbF9p
Zl9mYWlsKEFUS19WQUxVRSh2YWx1ZSksIG51bGxwdHIpOworICAgIHJldHVyblZhbElmV2ViS2l0
QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRfQUNDRVNTSUJMRSh2YWx1ZSksIG51bGxwdHIpOwor
CisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUodmFsdWUpOworICAg
IGlmICghY29yZU9iamVjdCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBnZG91Ymxl
IG1pblZhbHVlID0gY29yZU9iamVjdC0+bWluVmFsdWVGb3JSYW5nZSgpOworICAgIGdkb3VibGUg
bWF4VmFsdWUgPSBjb3JlT2JqZWN0LT5tYXhWYWx1ZUZvclJhbmdlKCk7CisgICAgZ2NoYXIqIHZh
bHVlRGVzY3JpcHRpb24gPSBnX3N0cmR1cF9wcmludGYoIiVzIiwgY29yZU9iamVjdC0+dmFsdWVE
ZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRhKCkpOworICAgIHJldHVybiBhdGtfcmFuZ2VfbmV3KG1p
blZhbHVlLCBtYXhWYWx1ZSwgdmFsdWVEZXNjcmlwdGlvbik7Cit9CisjZWxzZQogc3RhdGljIHZv
aWQgd2Via2l0QWNjZXNzaWJsZVZhbHVlR2V0Q3VycmVudFZhbHVlKEF0a1ZhbHVlKiB2YWx1ZSwg
R1ZhbHVlKiBnVmFsdWUpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChBVEtfVkFMVUUodmFsdWUp
KTsKQEAgLTkyLDE2ICsxNzAsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0QWNjZXNzaWJsZVZh
bHVlU2V0Q3VycmVudFZhbHVlKEF0a1ZhbHVlKiB2YWx1ZSwgY29uc3QgR1ZhbAogICAgIGVsc2UK
ICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9i
amVjdCA9IGNvcmUodmFsdWUpOwotICAgIGlmICghY29yZU9iamVjdC0+Y2FuU2V0VmFsdWVBdHRy
aWJ1dGUoKSkKLSAgICAgICAgcmV0dXJuIEZBTFNFOwotCi0gICAgLy8gQ2hlY2sgdmFsdWUgYWdh
aW5zdCByYW5nZSBsaW1pdHMKLSAgICBuZXdWYWx1ZSA9IHN0ZDo6bWF4KHN0YXRpY19jYXN0PGRv
dWJsZT4oY29yZU9iamVjdC0+bWluVmFsdWVGb3JSYW5nZSgpKSwgbmV3VmFsdWUpOwotICAgIG5l
d1ZhbHVlID0gc3RkOjptaW4oc3RhdGljX2Nhc3Q8ZG91YmxlPihjb3JlT2JqZWN0LT5tYXhWYWx1
ZUZvclJhbmdlKCkpLCBuZXdWYWx1ZSk7Ci0KLSAgICBjb3JlT2JqZWN0LT5zZXRWYWx1ZShTdHJp
bmc6Om51bWJlcihuZXdWYWx1ZSkpOwotICAgIHJldHVybiBUUlVFOworICAgIHJldHVybiB3ZWJr
aXRBY2Nlc3NpYmxlU2V0TmV3VmFsdWUodmFsdWUsIG5ld1ZhbHVlKTsKIH0KIAogc3RhdGljIHZv
aWQgd2Via2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudChBdGtWYWx1ZSogdmFs
dWUsIEdWYWx1ZSogZ1ZhbHVlKQpAQCAtMTEzLDI0ICsxODIsMjQgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudChBdGtWYWx1ZSogdmFsdWUsIEdW
YWx1ZSogZ1YKICAgICBnX3ZhbHVlX2luaXQoZ1ZhbHVlLCBHX1RZUEVfRkxPQVQpOwogCiAgICAg
QWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUodmFsdWUpOwotICAgIGlmICgh
Y29yZU9iamVjdC0+Z2V0QXR0cmlidXRlKEhUTUxOYW1lczo6c3RlcEF0dHIpLmlzRW1wdHkoKSkg
ewotICAgICAgICBnX3ZhbHVlX3NldF9mbG9hdChnVmFsdWUsIGNvcmVPYmplY3QtPnN0ZXBWYWx1
ZUZvclJhbmdlKCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gSWYgJ3N0ZXAn
IGF0dHJpYnV0ZSBpcyBub3QgZGVmaW5lZCwgV2ViQ29yZSBhc3N1bWVzIGEgNSUgb2YgdGhlCi0g
ICAgLy8gcmFuZ2UgYmV0d2VlbiBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlcy4gSW1wbGljaXQg
dmFsdWUgb2Ygc3RlcCBzaG91bGQgYmUgb25lIG9yIGxhcmdlci4KLSAgICBmbG9hdCBzdGVwID0g
KGNvcmVPYmplY3QtPm1heFZhbHVlRm9yUmFuZ2UoKSAtIGNvcmVPYmplY3QtPm1pblZhbHVlRm9y
UmFuZ2UoKSkgKiAwLjA1OwotICAgIGdfdmFsdWVfc2V0X2Zsb2F0KGdWYWx1ZSwgc3RlcCA8IDEg
PyAxIDogc3RlcCk7CisgICAgZ192YWx1ZV9zZXRfZmxvYXQoZ1ZhbHVlLCB3ZWJraXRBY2Nlc3Np
YmxlR2V0SW5jcmVtZW50VmFsdWUoY29yZU9iamVjdCkpOwogfQorI2VuZGlmCiAKIHZvaWQgd2Vi
a2l0QWNjZXNzaWJsZVZhbHVlSW50ZXJmYWNlSW5pdChBdGtWYWx1ZUlmYWNlKiBpZmFjZSkKIHsK
KyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLDExLDkyKQorICAgIGlmYWNlLT5nZXRfdmFsdWVfYW5k
X3RleHQgPSB3ZWJraXRBY2Nlc3NpYmxlR2V0VmFsdWVBbmRUZXh0OworICAgIGlmYWNlLT5nZXRf
aW5jcmVtZW50ID0gd2Via2l0QWNjZXNzaWJsZUdldEluY3JlbWVudDsKKyAgICBpZmFjZS0+c2V0
X3ZhbHVlID0gd2Via2l0QWNjZXNzaWJsZVNldFZhbHVlOworICAgIGlmYWNlLT5nZXRfcmFuZ2Ug
PSB3ZWJraXRBY2Nlc3NpYmxlR2V0UmFuZ2U7CisjZWxzZQogICAgIGlmYWNlLT5nZXRfY3VycmVu
dF92YWx1ZSA9IHdlYmtpdEFjY2Vzc2libGVWYWx1ZUdldEN1cnJlbnRWYWx1ZTsKICAgICBpZmFj
ZS0+Z2V0X21heGltdW1fdmFsdWUgPSB3ZWJraXRBY2Nlc3NpYmxlVmFsdWVHZXRNYXhpbXVtVmFs
dWU7CiAgICAgaWZhY2UtPmdldF9taW5pbXVtX3ZhbHVlID0gd2Via2l0QWNjZXNzaWJsZVZhbHVl
R2V0TWluaW11bVZhbHVlOwogICAgIGlmYWNlLT5zZXRfY3VycmVudF92YWx1ZSA9IHdlYmtpdEFj
Y2Vzc2libGVWYWx1ZVNldEN1cnJlbnRWYWx1ZTsKICAgICBpZmFjZS0+Z2V0X21pbmltdW1faW5j
cmVtZW50ID0gd2Via2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudDsKKyNlbmRp
ZgogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA1N2IzM2ZkLi4xYWQ2ZmFhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTQtMDMtMjUgIEtyenlz
enRvZiBDemVjaCAgPGsuY3plY2hAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0FUS10gVXRpbGl6
ZSBuZXcgQXRrVmFsdWUgaW50ZXJmYWNlIGNvbWluZyBpbiBBVEsgMi4xMS45MgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNTc1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTWFyaW8gU2FuY2hleiBQcmFkYS4KKworICAgICAgICBDaGFuZ2UgQVRLIHZl
cnNpb24gdG8gMi4xMS45Mi4gQWRqdXN0IGN1cnJlbnQgaW1wbGVtZW50YXRpb24uCisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6Cisg
ICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnRWYWx1ZSk6CisgICAgICAgIChBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjptaW5WYWx1ZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjptYXhWYWx1ZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmludFZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6bWluVmFsdWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjptYXhWYWx1ZSk6CisgICAgICAgICogZWZsL2poYnVpbGQubW9kdWxlczoKKyAgICAg
ICAgKiBndGsvamhidWlsZC5tb2R1bGVzOgorCiAyMDE0LTAzLTI1ICBHYWJvciBSYXBjc2FueWkg
IDxyZ2Fib3JAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXSBBZGQgQVJNNjQgYnVpbGQgc3Vw
cG9ydApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRBdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRBdGsuY3BwCmluZGV4IDhjYzQ2ZjYuLmIxZjA2YTMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAg
LTQ0LDYgKzQ0LDExIEBACiAKIG5hbWVzcGFjZSB7CiAKK2VudW0gUmFuZ2VMbWl0IHsKKyAgICBS
YW5nZUxpbWl0TWluaW11bSwKKyAgICBSYW5nZUxpbWl0TWF4aW11bQorfTsKKwogZW51bSBBdGtB
dHRyaWJ1dGVUeXBlIHsKICAgICBPYmplY3RBdHRyaWJ1dGVUeXBlLAogICAgIFRleHRBdHRyaWJ1
dGVUeXBlCkBAIC01NTAsMTEgKzU1NSw0MCBAQCBKU1N0cmluZ1JlZiBpbmRleFJhbmdlSW5UYWJs
ZShQbGF0Zm9ybVVJRWxlbWVudCBlbGVtZW50LCBib29sIGlzUm93UmFuZ2UpCiAgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHJhbmdlU3RyaW5nLmdldCgpKTsKIH0KIAor
I2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCitzdGF0aWMgZG91YmxlIHJhbmdlTWluTWF4
VmFsdWUoQXRrVmFsdWUqIHZhbHVlLCBSYW5nZUxpbWl0IHJhbmdlTGltaXQpCit7CisgICAgQXRr
UmFuZ2UqIHJhbmdlID0gYXRrX3ZhbHVlX2dldF9yYW5nZSh2YWx1ZSk7CisgICAgaWYgKCFyYW5n
ZSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBkb3VibGUgdmFsdWUgPSAwOworICAgIHN3aXRj
aCAocmFuZ2VMaW1pdCkgeworICAgIGNhc2UgUmFuZ2VMaW1pdE1pbmltdW06CisgICAgICAgIHZh
bHVlID0gYXRrX3JhbmdlX2dldF9sb3dlcl9saW1pdChyYW5nZUxpbWl0KTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBSYW5nZUxpbWl0TWF4aW11bToKKyAgICAgICAgdmFsdWUgPSBhdGtfcmFu
Z2VfZ2V0X3VwcGVyX2xpbWl0KHJhbmdlTGltaXQpOworICAgICAgICBicmVhazsKKyAgICB9Owor
CisgICAgYXRrX3JhbmdlX2ZyZWUocmFuZ2UpOworICAgIHJldHVybiB2YWx1ZTsKK30KKyNlbmRp
ZgorCiB2b2lkIGFsdGVyQ3VycmVudFZhbHVlKFBsYXRmb3JtVUlFbGVtZW50IGVsZW1lbnQsIGlu
dCBmYWN0b3IpCiB7CiAgICAgaWYgKCFBVEtfSVNfVkFMVUUoZWxlbWVudCkpCiAgICAgICAgIHJl
dHVybjsKIAorI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCisgICAgZG91YmxlIGN1cnJl
bnRWYWx1ZTsKKyAgICBhdGtfdmFsdWVfZ2V0X3ZhbHVlX2FuZF90ZXh0KEFUS19WQUxVRShlbGVt
ZW50KSwgJmN1cnJlbnRWYWx1ZSwgbnVsbHB0cik7CisKKyAgICBkb3VibGUgaW5jcmVtZW50ID0g
YXRrX3ZhbHVlX2dldF9pbmNyZW1lbnQoQVRLX1ZBTFVFKGVsZW1lbnQpKTsKKyAgICBhdGtfdmFs
dWVfc2V0X3ZhbHVlKEFUS19WQUxVRShlbGVtZW50KSwgY3VycmVudFZhbHVlICsgZmFjdG9yICog
aW5jcmVtZW50KTsKKyNlbHNlCiAgICAgR1ZhbHVlIGN1cnJlbnRWYWx1ZSA9IEdfVkFMVUVfSU5J
VDsKICAgICBhdGtfdmFsdWVfZ2V0X2N1cnJlbnRfdmFsdWUoQVRLX1ZBTFVFKGVsZW1lbnQpLCAm
Y3VycmVudFZhbHVlKTsKIApAQCAtNTcwLDYgKzYwNCw3IEBAIHZvaWQgYWx0ZXJDdXJyZW50VmFs
dWUoUGxhdGZvcm1VSUVsZW1lbnQgZWxlbWVudCwgaW50IGZhY3RvcikKICAgICBnX3ZhbHVlX3Vu
c2V0KCZuZXdWYWx1ZSk7CiAgICAgZ192YWx1ZV91bnNldCgmaW5jcmVtZW50KTsKICAgICBnX3Zh
bHVlX3Vuc2V0KCZjdXJyZW50VmFsdWUpOworI2VuZGlmCiB9CiAKIH0gLy8gbmFtZXNwYWNlCkBA
IC05ODQsMTEgKzEwMTksMTcgQEAgZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmludFZh
bHVlKCkgY29uc3QKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBpZiAoQVRLX0lTX1ZBTFVFKG1f
ZWxlbWVudCkpIHsKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLDExLDkyKQorICAgICAgICBkb3Vi
bGUgdmFsdWU7CisgICAgICAgIGF0a192YWx1ZV9nZXRfdmFsdWVfYW5kX3RleHQoQVRLX1ZBTFVF
KG1fZWxlbWVudCksICZ2YWx1ZSwgbnVsbHB0cik7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyNl
bHNlCiAgICAgICAgIEdWYWx1ZSB2YWx1ZSA9IEdfVkFMVUVfSU5JVDsKICAgICAgICAgYXRrX3Zh
bHVlX2dldF9jdXJyZW50X3ZhbHVlKEFUS19WQUxVRShtX2VsZW1lbnQpLCAmdmFsdWUpOwogICAg
ICAgICBpZiAoIUdfVkFMVUVfSE9MRFNfRkxPQVQoJnZhbHVlKSkKICAgICAgICAgICAgIHJldHVy
biAwOwogICAgICAgICByZXR1cm4gZ192YWx1ZV9nZXRfZmxvYXQoJnZhbHVlKTsKKyNlbmRpZgog
ICAgIH0KIAogICAgIC8vIENvbnNpZGVyIGhlYWRpbmdzIGFzIGFuIHNwZWNpYWwgY2FzZSB3aGVu
IHJldHVybmluZyB0aGUgImludCB2YWx1ZSIgb2YKQEAgLTEwMDksMjQgKzEwNTAsMzAgQEAgZG91
YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1pblZhbHVlKCkKIHsKICAgICBpZiAoIUFUS19J
U19WQUxVRShtX2VsZW1lbnQpKQogICAgICAgICByZXR1cm4gMDsKLQorI2lmIEFUS19DSEVDS19W
RVJTSU9OKDIsMTEsOTIpCisgICAgcmV0dXJuIHJhbmdlTWluTWF4VmFsdWUoQVRLX1ZBTFVFKG1f
ZWxlbWVudCksIFJhbmdlTGltaXRNaW5pbXVtKTsKKyNlbHNlCiAgICAgR1ZhbHVlIHZhbHVlID0g
R19WQUxVRV9JTklUOwogICAgIGF0a192YWx1ZV9nZXRfbWluaW11bV92YWx1ZShBVEtfVkFMVUUo
bV9lbGVtZW50KSwgJnZhbHVlKTsKICAgICBpZiAoIUdfVkFMVUVfSE9MRFNfRkxPQVQoJnZhbHVl
KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIGdfdmFsdWVfZ2V0X2Zsb2F0KCZ2YWx1
ZSk7CisjZW5kaWYKIH0KIAogZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVl
KCkKIHsKICAgICBpZiAoIUFUS19JU19WQUxVRShtX2VsZW1lbnQpKQogICAgICAgICByZXR1cm4g
MDsKLQorI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCisgICAgcmV0dXJuIHJhbmdlTWlu
TWF4VmFsdWUoQVRLX1ZBTFVFKG1fZWxlbWVudCksIFJhbmdlTGltaXRNYXhpbXVtKTsKKyNlbHNl
CiAgICAgR1ZhbHVlIHZhbHVlID0gR19WQUxVRV9JTklUOwogICAgIGF0a192YWx1ZV9nZXRfbWF4
aW11bV92YWx1ZShBVEtfVkFMVUUobV9lbGVtZW50KSwgJnZhbHVlKTsKICAgICBpZiAoIUdfVkFM
VUVfSE9MRFNfRkxPQVQoJnZhbHVlKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIGdf
dmFsdWVfZ2V0X2Zsb2F0KCZ2YWx1ZSk7CisjZW5kaWYKIH0KIAogSlNTdHJpbmdSZWYgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6dmFsdWVEZXNjcmlwdGlvbigpCmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCmluZGV4IDFiNzc2ZDguLjY1NDc5MGMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnRBdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCkBAIC01MSw2ICs1MSwxMSBA
QCBuYW1lc3BhY2UgV1RSIHsKIAogbmFtZXNwYWNlIHsKIAorZW51bSBSYW5nZUxpbWl0IHsKKyAg
ICBSYW5nZUxpbWl0TWluaW11bSwKKyAgICBSYW5nZUxpbWl0TWF4aW11bQorfTsKKwogZW51bSBB
dGtBdHRyaWJ1dGVUeXBlIHsKICAgICBPYmplY3RBdHRyaWJ1dGVUeXBlLAogICAgIFRleHRBdHRy
aWJ1dGVUeXBlCkBAIC0yNjIsNiArMjY3LDEzIEBAIHZvaWQgYWx0ZXJDdXJyZW50VmFsdWUoUGxh
dGZvcm1VSUVsZW1lbnQgZWxlbWVudCwgaW50IGZhY3RvcikKICAgICBpZiAoIUFUS19JU19WQUxV
RShlbGVtZW50LmdldCgpKSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgQVRLX0NIRUNLX1ZFUlNJ
T04oMiwxMSw5MikKKyAgICBkb3VibGUgY3VycmVudFZhbHVlOworICAgIGF0a192YWx1ZV9nZXRf
dmFsdWVfYW5kX3RleHQoQVRLX1ZBTFVFKGVsZW1lbnQuZ2V0KCkpLCAmY3VycmVudFZhbHVlLCBu
dWxscHRyKTsKKworICAgIGRvdWJsZSBpbmNyZW1lbnQgPSBhdGtfdmFsdWVfZ2V0X2luY3JlbWVu
dChBVEtfVkFMVUUoZWxlbWVudC5nZXQoKSkpOworICAgIGF0a192YWx1ZV9zZXRfdmFsdWUoQVRL
X1ZBTFVFKGVsZW1lbnQuZ2V0KCkpLCBjdXJyZW50VmFsdWUgKyBmYWN0b3IgKiBpbmNyZW1lbnQp
OworI2Vsc2UKICAgICBHVmFsdWUgY3VycmVudFZhbHVlID0gR19WQUxVRV9JTklUOwogICAgIGF0
a192YWx1ZV9nZXRfY3VycmVudF92YWx1ZShBVEtfVkFMVUUoZWxlbWVudC5nZXQoKSksICZjdXJy
ZW50VmFsdWUpOwogCkBAIC0yNzcsNiArMjg5LDcgQEAgdm9pZCBhbHRlckN1cnJlbnRWYWx1ZShQ
bGF0Zm9ybVVJRWxlbWVudCBlbGVtZW50LCBpbnQgZmFjdG9yKQogICAgIGdfdmFsdWVfdW5zZXQo
Jm5ld1ZhbHVlKTsKICAgICBnX3ZhbHVlX3Vuc2V0KCZpbmNyZW1lbnQpOwogICAgIGdfdmFsdWVf
dW5zZXQoJmN1cnJlbnRWYWx1ZSk7CisjZW5kaWYKIH0KIAogZ2NoYXIqIHJlcGxhY2VDaGFyYWN0
ZXJzRm9yUmVzdWx0cyhnY2hhciogc3RyKQpAQCAtNTk0LDYgKzYwNywyOCBAQCBzdGF0aWMgSlNW
YWx1ZVJlZiBjb252ZXJ0VG9KU09iamVjdEFycmF5KGNvbnN0IFZlY3RvcjxSZWZQdHI8QWNjZXNz
aWJpbGl0eVVJRWxlbQogfQogI2VuZGlmCiAKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLDExLDky
KQorc3RhdGljIGRvdWJsZSByYW5nZU1pbk1heFZhbHVlKEF0a1ZhbHVlKiB2YWx1ZSwgUmFuZ2VM
aW1pdCByYW5nZUxpbWl0KQoreworICAgIEF0a1JhbmdlKiByYW5nZSA9IGF0a192YWx1ZV9nZXRf
cmFuZ2UodmFsdWUpOworICAgIGlmICghcmFuZ2UpCisgICAgICAgIHJldHVybiAwOworCisgICAg
ZG91YmxlIHZhbHVlID0gMDsKKyAgICBzd2l0Y2ggKHJhbmdlTGltaXQpIHsKKyAgICBjYXNlIFJh
bmdlTGltaXRNaW5pbXVtOgorICAgICAgICB2YWx1ZSA9IGF0a19yYW5nZV9nZXRfbG93ZXJfbGlt
aXQocmFuZ2VMaW1pdCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUmFuZ2VMaW1pdE1heGlt
dW06CisgICAgICAgIHZhbHVlID0gYXRrX3JhbmdlX2dldF91cHBlcl9saW1pdChyYW5nZUxpbWl0
KTsKKyAgICAgICAgYnJlYWs7CisgICAgfTsKKworICAgIGF0a19yYW5nZV9mcmVlKHJhbmdlKTsK
KyAgICByZXR1cm4gdmFsdWU7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UKIAogQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudChQbGF0Zm9ybVVJRWxlbWVu
dCBlbGVtZW50KQpAQCAtMTE5NiwxMSArMTIzMSwxNyBAQCBkb3VibGUgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aW50VmFsdWUoKSBjb25zdAogICAgICAgICByZXR1cm4gMDsKIAogICAgIGlmIChB
VEtfSVNfVkFMVUUobV9lbGVtZW50LmdldCgpKSkgeworI2lmIEFUS19DSEVDS19WRVJTSU9OKDIs
MTEsOTIpCisgICAgICAgIGRvdWJsZSB2YWx1ZTsKKyAgICAgICAgYXRrX3ZhbHVlX2dldF92YWx1
ZV9hbmRfdGV4dChBVEtfVkFMVUUobV9lbGVtZW50LmdldCgpKSwgJnZhbHVlLCBudWxscHRyKTsK
KyAgICAgICAgcmV0dXJuIHZhbHVlOworI2Vsc2UKICAgICAgICAgR1ZhbHVlIHZhbHVlID0gR19W
QUxVRV9JTklUOwogICAgICAgICBhdGtfdmFsdWVfZ2V0X2N1cnJlbnRfdmFsdWUoQVRLX1ZBTFVF
KG1fZWxlbWVudC5nZXQoKSksICZ2YWx1ZSk7CiAgICAgICAgIGlmICghR19WQUxVRV9IT0xEU19G
TE9BVCgmdmFsdWUpKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIHJldHVybiBnX3Zh
bHVlX2dldF9mbG9hdCgmdmFsdWUpOworI2VuZGlmCiAgICAgfQogCiAgICAgLy8gQ29uc2lkZXIg
aGVhZGluZ3MgYXMgYW4gc3BlY2lhbCBjYXNlIHdoZW4gcmV0dXJuaW5nIHRoZSAiaW50IHZhbHVl
IiBvZgpAQCAtMTIyMSwxMyArMTI2MiwxNiBAQCBkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6bWluVmFsdWUoKQogewogICAgIGlmICghQVRLX0lTX1ZBTFVFKG1fZWxlbWVudC5nZXQoKSkp
CiAgICAgICAgIHJldHVybiAwOwotCisjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwxMSw5MikKKyAg
ICByZXR1cm4gcmFuZ2VNaW5NYXhWYWx1ZShBVEtfVkFMVUUobV9lbGVtZW50LmdldCgpKSwgUmFu
Z2VMaW1pdE1pbmltdW0pOworI2Vsc2UKICAgICBHVmFsdWUgdmFsdWUgPSBHX1ZBTFVFX0lOSVQ7
CiAgICAgYXRrX3ZhbHVlX2dldF9taW5pbXVtX3ZhbHVlKEFUS19WQUxVRShtX2VsZW1lbnQuZ2V0
KCkpLCAmdmFsdWUpOwogICAgIGlmICghR19WQUxVRV9IT0xEU19GTE9BVCgmdmFsdWUpKQogICAg
ICAgICByZXR1cm4gMDsKIAogICAgIHJldHVybiBnX3ZhbHVlX2dldF9mbG9hdCgmdmFsdWUpOwor
I2VuZGlmCiB9CiAKIGRvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXhWYWx1ZSgpCkBA
IC0xMjM1LDEyICsxMjc5LDE2IEBAIGRvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXhW
YWx1ZSgpCiAgICAgaWYgKCFBVEtfSVNfVkFMVUUobV9lbGVtZW50LmdldCgpKSkKICAgICAgICAg
cmV0dXJuIDA7CiAKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLDExLDkyKQorICAgIHJldHVybiBy
YW5nZU1pbk1heFZhbHVlKEFUS19WQUxVRShtX2VsZW1lbnQuZ2V0KCkpLCBSYW5nZUxpbWl0TWF4
aW11bSk7CisjZWxzZQogICAgIEdWYWx1ZSB2YWx1ZSA9IEdfVkFMVUVfSU5JVDsKICAgICBhdGtf
dmFsdWVfZ2V0X21heGltdW1fdmFsdWUoQVRLX1ZBTFVFKG1fZWxlbWVudC5nZXQoKSksICZ2YWx1
ZSk7CiAgICAgaWYgKCFHX1ZBTFVFX0hPTERTX0ZMT0FUKCZ2YWx1ZSkpCiAgICAgICAgIHJldHVy
biAwOwogCiAgICAgcmV0dXJuIGdfdmFsdWVfZ2V0X2Zsb2F0KCZ2YWx1ZSk7CisjZW5kaWYKIH0K
IAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnZhbHVl
RGVzY3JpcHRpb24oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvZWZsL2poYnVpbGQubW9kdWxlcyBiL1Rv
b2xzL2VmbC9qaGJ1aWxkLm1vZHVsZXMKaW5kZXggYzk0MjU4ZC4uOThlZDY5ZCAxMDA2NDQKLS0t
IGEvVG9vbHMvZWZsL2poYnVpbGQubW9kdWxlcworKysgYi9Ub29scy9lZmwvamhidWlsZC5tb2R1
bGVzCkBAIC0zNDIsOSArMzQyLDkgQEAKICAgPGF1dG90b29scyBpZD0iYXRrIgogICAgICAgICAg
ICAgIGF1dG9nZW4tc2g9ImNvbmZpZ3VyZSIKICAgICAgICAgICAgICBhdXRvZ2VuYXJncz0iLS1k
aXNhYmxlLWludHJvc3BlY3Rpb24iPgotICAgIDxicmFuY2ggbW9kdWxlPSJwdWIvR05PTUUvc291
cmNlcy9hdGsvMi4xMS9hdGstMi4xMS45MC50YXIueHoiIHZlcnNpb249IjIuMTEuOTAiCisgICAg
PGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9NRS9zb3VyY2VzL2F0ay8yLjExL2F0ay0yLjExLjkyLnRh
ci54eiIgdmVyc2lvbj0iMi4xMS45MiIKICAgICAgICAgICAgIHJlcG89ImZ0cC5nbm9tZS5vcmci
Ci0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6NDRlMzNhYmFkNjQ0MTliOTJmZDJhZTQ1ZmIwZDM3
YjlmYWFiNmI1MzY0MGExYTU0ZTA2OGFmNmZjY2FkNDQxNyIvPgorICAgICAgICAgICAgaGFzaD0i
c2hhMjU2OjcxZTk4ODBmMWI3MDRkZmQ5ODgwNjY0M2I4ZGM2NmE1ZGY0ZmNlZjE1NWNmNTk0NDE4
NGQ4ZThmNjZkYWM2ODkiLz4KICAgPC9hdXRvdG9vbHM+CiAKIDwvbW9kdWxlc2V0PgpkaWZmIC0t
Z2l0IGEvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVs
ZXMKaW5kZXggODBmYmZhNy4uZWQzYjk0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvZ3RrL2poYnVpbGQu
bW9kdWxlcworKysgYi9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVzCkBAIC0yMzQsOSArMjM0LDkg
QEAKICAgPGF1dG90b29scyBpZD0iYXRrIgogICAgICAgICAgICAgIGF1dG9nZW4tc2g9ImNvbmZp
Z3VyZSIKICAgICAgICAgICAgICBhdXRvZ2VuYXJncz0iLS1kaXNhYmxlLWludHJvc3BlY3Rpb24i
PgotICAgIDxicmFuY2ggbW9kdWxlPSJwdWIvR05PTUUvc291cmNlcy9hdGsvMi4xMS9hdGstMi4x
MS45MC50YXIueHoiIHZlcnNpb249IjIuMTEuOTAiCisgICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9H
Tk9NRS9zb3VyY2VzL2F0ay8yLjExL2F0ay0yLjExLjkyLnRhci54eiIgdmVyc2lvbj0iMi4xMS45
MiIKICAgICAgICAgICAgIHJlcG89ImZ0cC5nbm9tZS5vcmciCi0gICAgICAgICAgICBoYXNoPSJz
aGEyNTY6NDRlMzNhYmFkNjQ0MTliOTJmZDJhZTQ1ZmIwZDM3YjlmYWFiNmI1MzY0MGExYTU0ZTA2
OGFmNmZjY2FkNDQxNyIvPgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjcxZTk4ODBmMWI3MDRk
ZmQ5ODgwNjY0M2I4ZGM2NmE1ZGY0ZmNlZjE1NWNmNTk0NDE4NGQ4ZThmNjZkYWM2ODkiLz4KICAg
PC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iYXQtc3BpMi1jb3JlIiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227764</attachid>
            <date>2014-03-25 09:59:45 -0700</date>
            <delta_ts>2014-03-26 01:53:08 -0700</delta_ts>
            <desc>attempt to check bots</desc>
            <filename>a11y-atkvalue.patch</filename>
            <type>text/plain</type>
            <size>17717</size>
            <attacher name="Krzysztof Czech">k.czech</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NDg4Mjk5Li4yYjc2YThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTQtMDMtMjUgIEtyenlzenRvZiBDemVjaCAgPGsuY3plY2hAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0FUS10gVXRpbGl6ZSBuZXcgQXRrVmFsdWUgaW50ZXJmYWNlIGNvbWluZyBpbiBB
VEsgMi4xMS45MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwNTc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyaW8gU2FuY2hleiBQcmFkYS4KKwor
ICAgICAgICBBVEsgMi4xMS45MiBpbnRyb2R1Y2VzIHNvbWUgbmV3IEFQSSBhbmQgZGVwcmVjYXRl
cyBhbiBvbGQgb25lLgorICAgICAgICBBZGp1c3QgY3VycmVudCBpbXBsZW1lbnRhdGlvbiB0byBt
ZWV0IHJlcXVpcmVtZW50cyBvZiB0aGUgbmV3IEFQSS4KKworICAgICAgICBObyBuZXcgdGVzdHMu
IENvdmVyZWQgYnkgZXhpc3Rpbmcgb25lcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L0FYT2JqZWN0Q2FjaGVBdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwOgorICAgICAgICAod2Via2l0QWNjZXNz
aWJsZVNldE5ld1ZhbHVlKToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVHZXRJbmNyZW1lbnRW
YWx1ZSk6CisgICAgICAgICh3ZWJraXRBY2Nlc3NpYmxlR2V0VmFsdWVBbmRUZXh0KToKKyAgICAg
ICAgKHdlYmtpdEFjY2Vzc2libGVHZXRJbmNyZW1lbnQpOgorICAgICAgICAod2Via2l0QWNjZXNz
aWJsZVNldFZhbHVlKToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVHZXRSYW5nZSk6CisgICAg
ICAgICh3ZWJraXRBY2Nlc3NpYmxlVmFsdWVTZXRDdXJyZW50VmFsdWUpOgorICAgICAgICAod2Vi
a2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudCk6CisgICAgICAgICh3ZWJraXRB
Y2Nlc3NpYmxlVmFsdWVJbnRlcmZhY2VJbml0KToKKwogMjAxNC0wMy0yNSAgR2Fib3IgUmFwY3Nh
bnlpICA8cmdhYm9yQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0FSTTY0XSBHTlUgYXNzZW1ibGVy
IGZhaWxzIGluIFRyYW5zZm9ybWF0aW9uTWF0cml4OjptdWx0aXBseQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAppbmRleCA1
ZDYyYTk4Li41OTE3MTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcApAQCAtMjA4LDcgKzIwOCwxMyBAQCB2b2lkIEFY
T2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBjb3JlT2JqZWN0LCBBWAogICAgICAgICAgICAgcHJvcGVydHlWYWx1ZXMucHJvcGVydHlfbmFt
ZSA9ICJhY2Nlc3NpYmxlLXZhbHVlIjsKIAogICAgICAgICAgICAgbWVtc2V0KCZwcm9wZXJ0eVZh
bHVlcy5uZXdfdmFsdWUsICAwLCBzaXplb2YoR1ZhbHVlKSk7CisjaWYgQVRLX0NIRUNLX1ZFUlNJ
T04oMiwxMSw5MikKKyAgICAgICAgICAgIGRvdWJsZSB2YWx1ZTsKKyAgICAgICAgICAgIGF0a192
YWx1ZV9nZXRfdmFsdWVfYW5kX3RleHQoQVRLX1ZBTFVFKGF4T2JqZWN0KSwgJnZhbHVlLCBudWxs
cHRyKTsKKyAgICAgICAgICAgIGdfdmFsdWVfc2V0X2RvdWJsZShnX3ZhbHVlX2luaXQoJnByb3Bl
cnR5VmFsdWVzLm5ld192YWx1ZSwgR19UWVBFX0RPVUJMRSksIHZhbHVlKTsKKyNlbHNlCiAgICAg
ICAgICAgICBhdGtfdmFsdWVfZ2V0X2N1cnJlbnRfdmFsdWUoQVRLX1ZBTFVFKGF4T2JqZWN0KSwg
JnByb3BlcnR5VmFsdWVzLm5ld192YWx1ZSk7CisjZW5kaWYKIAogICAgICAgICAgICAgZ19zaWdu
YWxfZW1pdF9ieV9uYW1lKEFUS19PQkpFQ1QoYXhPYmplY3QpLCAicHJvcGVydHktY2hhbmdlOjph
Y2Nlc3NpYmxlLXZhbHVlIiwgJnByb3BlcnR5VmFsdWVzLCBOVUxMKTsKICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKaW5kZXggMTljNmNmMC4uMTg0ZWQ0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwCkBAIC0yNiw2ICsyNiw3IEBA
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZVV0aWwu
aCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5oIgorI2luY2x1ZGUgPHd0
Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTM3LDYg
KzM4LDgzIEBAIHN0YXRpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlKEF0a1ZhbHVlKiB2YWx1
ZSkKICAgICByZXR1cm4gd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxpdHlPYmplY3QoV0VC
S0lUX0FDQ0VTU0lCTEUodmFsdWUpKTsKIH0KIAorc3RhdGljIGJvb2wgd2Via2l0QWNjZXNzaWJs
ZVNldE5ld1ZhbHVlKEF0a1ZhbHVlKiBjb3JlVmFsdWUsIGNvbnN0IGdkb3VibGUgbmV3VmFsdWUp
Cit7CisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUoY29yZVZhbHVl
KTsKKyAgICBpZiAoIWNvcmVPYmplY3QtPmNhblNldFZhbHVlQXR0cmlidXRlKCkpCisgICAgICAg
IHJldHVybiBGQUxTRTsKKworICAgIC8vIENoZWNrIHZhbHVlIGFnYWluc3QgcmFuZ2UgbGltaXRz
CisgICAgZG91YmxlIHZhbHVlOworICAgIHZhbHVlID0gc3RkOjptYXgoc3RhdGljX2Nhc3Q8ZG91
YmxlPihjb3JlT2JqZWN0LT5taW5WYWx1ZUZvclJhbmdlKCkpLCBuZXdWYWx1ZSk7CisgICAgdmFs
dWUgPSBzdGQ6Om1pbihzdGF0aWNfY2FzdDxkb3VibGU+KGNvcmVPYmplY3QtPm1heFZhbHVlRm9y
UmFuZ2UoKSksIG5ld1ZhbHVlKTsKKworICAgIGNvcmVPYmplY3QtPnNldFZhbHVlKFN0cmluZzo6
bnVtYmVyKHZhbHVlKSk7CisgICAgcmV0dXJuIFRSVUU7Cit9CisKK3N0YXRpYyBmbG9hdCB3ZWJr
aXRBY2Nlc3NpYmxlR2V0SW5jcmVtZW50VmFsdWUoQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9i
amVjdCkKK3sKKyAgICBpZiAoIWNvcmVPYmplY3QtPmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnN0
ZXBBdHRyKS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBjb3JlT2JqZWN0LT5zdGVwVmFsdWVG
b3JSYW5nZSgpOworCisgICAgLy8gSWYgJ3N0ZXAnIGF0dHJpYnV0ZSBpcyBub3QgZGVmaW5lZCwg
V2ViQ29yZSBhc3N1bWVzIGEgNSUgb2YgdGhlCisgICAgLy8gcmFuZ2UgYmV0d2VlbiBtaW5pbXVt
IGFuZCBtYXhpbXVtIHZhbHVlcy4gSW1wbGljaXQgdmFsdWUgb2Ygc3RlcCBzaG91bGQgYmUgb25l
IG9yIGxhcmdlci4KKyAgICBmbG9hdCBzdGVwID0gKGNvcmVPYmplY3QtPm1heFZhbHVlRm9yUmFu
Z2UoKSAtIGNvcmVPYmplY3QtPm1pblZhbHVlRm9yUmFuZ2UoKSkgKiAwLjA1OworICAgIHJldHVy
biBzdGVwIDwgMSA/IDEgOiBzdGVwOworfQorCisjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwxMSw5
MikKK3N0YXRpYyB2b2lkIHdlYmtpdEFjY2Vzc2libGVHZXRWYWx1ZUFuZFRleHQoQXRrVmFsdWUq
IHZhbHVlLCBnZG91YmxlKiBjdXJyZW50VmFsdWUsIGdjaGFyKiogYWx0ZXJuYXRpdmVUZXh0KQor
eworICAgIGdfcmV0dXJuX2lmX2ZhaWwoQVRLX1ZBTFVFKHZhbHVlKSk7CisgICAgcmV0dXJuSWZX
ZWJLaXRBY2Nlc3NpYmxlSXNJbnZhbGlkKFdFQktJVF9BQ0NFU1NJQkxFKHZhbHVlKSk7CisKKyAg
ICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0ID0gY29yZSh2YWx1ZSk7CisgICAgaWYg
KCFjb3JlT2JqZWN0KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoY3VycmVudFZhbHVlKQor
ICAgICAgICAqY3VycmVudFZhbHVlID0gY29yZU9iamVjdC0+dmFsdWVGb3JSYW5nZSgpOworICAg
IGlmIChhbHRlcm5hdGl2ZVRleHQpCisgICAgICAgICphbHRlcm5hdGl2ZVRleHQgPSBnX3N0cmR1
cF9wcmludGYoIiVzIiwgY29yZU9iamVjdC0+dmFsdWVEZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRh
KCkpOworfQorCitzdGF0aWMgZG91YmxlIHdlYmtpdEFjY2Vzc2libGVHZXRJbmNyZW1lbnQoQXRr
VmFsdWUqIHZhbHVlKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKEFUS19WQUxVRSh2YWx1
ZSksIDApOworICAgIHJldHVyblZhbElmV2ViS2l0QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRf
QUNDRVNTSUJMRSh2YWx1ZSksIDApOworCisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9i
amVjdCA9IGNvcmUodmFsdWUpOworICAgIGlmICghY29yZU9iamVjdCkKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICByZXR1cm4gd2Via2l0QWNjZXNzaWJsZUdldEluY3JlbWVudFZhbHVlKGNvcmVP
YmplY3QpOworfQorCitzdGF0aWMgdm9pZCB3ZWJraXRBY2Nlc3NpYmxlU2V0VmFsdWUoQXRrVmFs
dWUqIHZhbHVlLCBjb25zdCBnZG91YmxlIG5ld1ZhbHVlKQoreworICAgIGdfcmV0dXJuX2lmX2Zh
aWwoQVRLX1ZBTFVFKHZhbHVlKSk7CisgICAgcmV0dXJuSWZXZWJLaXRBY2Nlc3NpYmxlSXNJbnZh
bGlkKFdFQktJVF9BQ0NFU1NJQkxFKHZhbHVlKSk7CisKKyAgICB3ZWJraXRBY2Nlc3NpYmxlU2V0
TmV3VmFsdWUodmFsdWUsIG5ld1ZhbHVlKTsKK30KKworc3RhdGljIEF0a1JhbmdlKiB3ZWJraXRB
Y2Nlc3NpYmxlR2V0UmFuZ2UoQXRrVmFsdWUqIHZhbHVlKQoreworICAgIGdfcmV0dXJuX3ZhbF9p
Zl9mYWlsKEFUS19WQUxVRSh2YWx1ZSksIG51bGxwdHIpOworICAgIHJldHVyblZhbElmV2ViS2l0
QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRfQUNDRVNTSUJMRSh2YWx1ZSksIG51bGxwdHIpOwor
CisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUodmFsdWUpOworICAg
IGlmICghY29yZU9iamVjdCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBnZG91Ymxl
IG1pblZhbHVlID0gY29yZU9iamVjdC0+bWluVmFsdWVGb3JSYW5nZSgpOworICAgIGdkb3VibGUg
bWF4VmFsdWUgPSBjb3JlT2JqZWN0LT5tYXhWYWx1ZUZvclJhbmdlKCk7CisgICAgZ2NoYXIqIHZh
bHVlRGVzY3JpcHRpb24gPSBnX3N0cmR1cF9wcmludGYoIiVzIiwgY29yZU9iamVjdC0+dmFsdWVE
ZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRhKCkpOworICAgIHJldHVybiBhdGtfcmFuZ2VfbmV3KG1p
blZhbHVlLCBtYXhWYWx1ZSwgdmFsdWVEZXNjcmlwdGlvbik7Cit9CisjZWxzZQogc3RhdGljIHZv
aWQgd2Via2l0QWNjZXNzaWJsZVZhbHVlR2V0Q3VycmVudFZhbHVlKEF0a1ZhbHVlKiB2YWx1ZSwg
R1ZhbHVlKiBnVmFsdWUpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChBVEtfVkFMVUUodmFsdWUp
KTsKQEAgLTkyLDE2ICsxNzAsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0QWNjZXNzaWJsZVZh
bHVlU2V0Q3VycmVudFZhbHVlKEF0a1ZhbHVlKiB2YWx1ZSwgY29uc3QgR1ZhbAogICAgIGVsc2UK
ICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9i
amVjdCA9IGNvcmUodmFsdWUpOwotICAgIGlmICghY29yZU9iamVjdC0+Y2FuU2V0VmFsdWVBdHRy
aWJ1dGUoKSkKLSAgICAgICAgcmV0dXJuIEZBTFNFOwotCi0gICAgLy8gQ2hlY2sgdmFsdWUgYWdh
aW5zdCByYW5nZSBsaW1pdHMKLSAgICBuZXdWYWx1ZSA9IHN0ZDo6bWF4KHN0YXRpY19jYXN0PGRv
dWJsZT4oY29yZU9iamVjdC0+bWluVmFsdWVGb3JSYW5nZSgpKSwgbmV3VmFsdWUpOwotICAgIG5l
d1ZhbHVlID0gc3RkOjptaW4oc3RhdGljX2Nhc3Q8ZG91YmxlPihjb3JlT2JqZWN0LT5tYXhWYWx1
ZUZvclJhbmdlKCkpLCBuZXdWYWx1ZSk7Ci0KLSAgICBjb3JlT2JqZWN0LT5zZXRWYWx1ZShTdHJp
bmc6Om51bWJlcihuZXdWYWx1ZSkpOwotICAgIHJldHVybiBUUlVFOworICAgIHJldHVybiB3ZWJr
aXRBY2Nlc3NpYmxlU2V0TmV3VmFsdWUodmFsdWUsIG5ld1ZhbHVlKTsKIH0KIAogc3RhdGljIHZv
aWQgd2Via2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudChBdGtWYWx1ZSogdmFs
dWUsIEdWYWx1ZSogZ1ZhbHVlKQpAQCAtMTEzLDI0ICsxODIsMjQgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudChBdGtWYWx1ZSogdmFsdWUsIEdW
YWx1ZSogZ1YKICAgICBnX3ZhbHVlX2luaXQoZ1ZhbHVlLCBHX1RZUEVfRkxPQVQpOwogCiAgICAg
QWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUodmFsdWUpOwotICAgIGlmICgh
Y29yZU9iamVjdC0+Z2V0QXR0cmlidXRlKEhUTUxOYW1lczo6c3RlcEF0dHIpLmlzRW1wdHkoKSkg
ewotICAgICAgICBnX3ZhbHVlX3NldF9mbG9hdChnVmFsdWUsIGNvcmVPYmplY3QtPnN0ZXBWYWx1
ZUZvclJhbmdlKCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gSWYgJ3N0ZXAn
IGF0dHJpYnV0ZSBpcyBub3QgZGVmaW5lZCwgV2ViQ29yZSBhc3N1bWVzIGEgNSUgb2YgdGhlCi0g
ICAgLy8gcmFuZ2UgYmV0d2VlbiBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlcy4gSW1wbGljaXQg
dmFsdWUgb2Ygc3RlcCBzaG91bGQgYmUgb25lIG9yIGxhcmdlci4KLSAgICBmbG9hdCBzdGVwID0g
KGNvcmVPYmplY3QtPm1heFZhbHVlRm9yUmFuZ2UoKSAtIGNvcmVPYmplY3QtPm1pblZhbHVlRm9y
UmFuZ2UoKSkgKiAwLjA1OwotICAgIGdfdmFsdWVfc2V0X2Zsb2F0KGdWYWx1ZSwgc3RlcCA8IDEg
PyAxIDogc3RlcCk7CisgICAgZ192YWx1ZV9zZXRfZmxvYXQoZ1ZhbHVlLCB3ZWJraXRBY2Nlc3Np
YmxlR2V0SW5jcmVtZW50VmFsdWUoY29yZU9iamVjdCkpOwogfQorI2VuZGlmCiAKIHZvaWQgd2Vi
a2l0QWNjZXNzaWJsZVZhbHVlSW50ZXJmYWNlSW5pdChBdGtWYWx1ZUlmYWNlKiBpZmFjZSkKIHsK
KyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLDExLDkyKQorICAgIGlmYWNlLT5nZXRfdmFsdWVfYW5k
X3RleHQgPSB3ZWJraXRBY2Nlc3NpYmxlR2V0VmFsdWVBbmRUZXh0OworICAgIGlmYWNlLT5nZXRf
aW5jcmVtZW50ID0gd2Via2l0QWNjZXNzaWJsZUdldEluY3JlbWVudDsKKyAgICBpZmFjZS0+c2V0
X3ZhbHVlID0gd2Via2l0QWNjZXNzaWJsZVNldFZhbHVlOworICAgIGlmYWNlLT5nZXRfcmFuZ2Ug
PSB3ZWJraXRBY2Nlc3NpYmxlR2V0UmFuZ2U7CisjZWxzZQogICAgIGlmYWNlLT5nZXRfY3VycmVu
dF92YWx1ZSA9IHdlYmtpdEFjY2Vzc2libGVWYWx1ZUdldEN1cnJlbnRWYWx1ZTsKICAgICBpZmFj
ZS0+Z2V0X21heGltdW1fdmFsdWUgPSB3ZWJraXRBY2Nlc3NpYmxlVmFsdWVHZXRNYXhpbXVtVmFs
dWU7CiAgICAgaWZhY2UtPmdldF9taW5pbXVtX3ZhbHVlID0gd2Via2l0QWNjZXNzaWJsZVZhbHVl
R2V0TWluaW11bVZhbHVlOwogICAgIGlmYWNlLT5zZXRfY3VycmVudF92YWx1ZSA9IHdlYmtpdEFj
Y2Vzc2libGVWYWx1ZVNldEN1cnJlbnRWYWx1ZTsKICAgICBpZmFjZS0+Z2V0X21pbmltdW1faW5j
cmVtZW50ID0gd2Via2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudDsKKyNlbmRp
ZgogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA1N2IzM2ZkLi4xYWQ2ZmFhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTQtMDMtMjUgIEtyenlz
enRvZiBDemVjaCAgPGsuY3plY2hAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0FUS10gVXRpbGl6
ZSBuZXcgQXRrVmFsdWUgaW50ZXJmYWNlIGNvbWluZyBpbiBBVEsgMi4xMS45MgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNTc1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTWFyaW8gU2FuY2hleiBQcmFkYS4KKworICAgICAgICBDaGFuZ2UgQVRLIHZl
cnNpb24gdG8gMi4xMS45Mi4gQWRqdXN0IGN1cnJlbnQgaW1wbGVtZW50YXRpb24uCisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6Cisg
ICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnRWYWx1ZSk6CisgICAgICAgIChBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjptaW5WYWx1ZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjptYXhWYWx1ZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmludFZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6bWluVmFsdWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjptYXhWYWx1ZSk6CisgICAgICAgICogZWZsL2poYnVpbGQubW9kdWxlczoKKyAgICAg
ICAgKiBndGsvamhidWlsZC5tb2R1bGVzOgorCiAyMDE0LTAzLTI1ICBHYWJvciBSYXBjc2FueWkg
IDxyZ2Fib3JAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXSBBZGQgQVJNNjQgYnVpbGQgc3Vw
cG9ydApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRBdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRBdGsuY3BwCmluZGV4IDhjYzQ2ZjYuLjRkMDgzZmUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAg
LTQ0LDYgKzQ0LDEzIEBACiAKIG5hbWVzcGFjZSB7CiAKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigy
LDExLDkyKQorZW51bSBSYW5nZUxpbWl0IHsKKyAgICBSYW5nZUxpbWl0TWluaW11bSwKKyAgICBS
YW5nZUxpbWl0TWF4aW11bQorfTsKKyNlbmRpZgorCiBlbnVtIEF0a0F0dHJpYnV0ZVR5cGUgewog
ICAgIE9iamVjdEF0dHJpYnV0ZVR5cGUsCiAgICAgVGV4dEF0dHJpYnV0ZVR5cGUKQEAgLTU1MCwx
MSArNTU3LDQwIEBAIEpTU3RyaW5nUmVmIGluZGV4UmFuZ2VJblRhYmxlKFBsYXRmb3JtVUlFbGVt
ZW50IGVsZW1lbnQsIGJvb2wgaXNSb3dSYW5nZSkKICAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoVVRGOENTdHJpbmcocmFuZ2VTdHJpbmcuZ2V0KCkpOwogfQogCisjaWYgQVRLX0NIRUNLX1ZF
UlNJT04oMiwxMSw5MikKK3N0YXRpYyBkb3VibGUgcmFuZ2VNaW5NYXhWYWx1ZShBdGtWYWx1ZSog
YXRrVmFsdWUsIFJhbmdlTGltaXQgcmFuZ2VMaW1pdCkKK3sKKyAgICBBdGtSYW5nZSogcmFuZ2Ug
PSBhdGtfdmFsdWVfZ2V0X3JhbmdlKGF0a1ZhbHVlKTsKKyAgICBpZiAoIXJhbmdlKQorICAgICAg
ICByZXR1cm4gMDsKKworICAgIGRvdWJsZSByYW5nZVZhbHVlID0gMDsKKyAgICBzd2l0Y2ggKHJh
bmdlTGltaXQpIHsKKyAgICBjYXNlIFJhbmdlTGltaXRNaW5pbXVtOgorICAgICAgICByYW5nZVZh
bHVlID0gYXRrX3JhbmdlX2dldF9sb3dlcl9saW1pdChyYW5nZSk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgUmFuZ2VMaW1pdE1heGltdW06CisgICAgICAgIHJhbmdlVmFsdWUgPSBhdGtfcmFu
Z2VfZ2V0X3VwcGVyX2xpbWl0KHJhbmdlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfTsKKworICAg
IGF0a19yYW5nZV9mcmVlKHJhbmdlKTsKKyAgICByZXR1cm4gcmFuZ2VWYWx1ZTsKK30KKyNlbmRp
ZgorCiB2b2lkIGFsdGVyQ3VycmVudFZhbHVlKFBsYXRmb3JtVUlFbGVtZW50IGVsZW1lbnQsIGlu
dCBmYWN0b3IpCiB7CiAgICAgaWYgKCFBVEtfSVNfVkFMVUUoZWxlbWVudCkpCiAgICAgICAgIHJl
dHVybjsKIAorI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCisgICAgZG91YmxlIGN1cnJl
bnRWYWx1ZTsKKyAgICBhdGtfdmFsdWVfZ2V0X3ZhbHVlX2FuZF90ZXh0KEFUS19WQUxVRShlbGVt
ZW50KSwgJmN1cnJlbnRWYWx1ZSwgbnVsbHB0cik7CisKKyAgICBkb3VibGUgaW5jcmVtZW50ID0g
YXRrX3ZhbHVlX2dldF9pbmNyZW1lbnQoQVRLX1ZBTFVFKGVsZW1lbnQpKTsKKyAgICBhdGtfdmFs
dWVfc2V0X3ZhbHVlKEFUS19WQUxVRShlbGVtZW50KSwgY3VycmVudFZhbHVlICsgZmFjdG9yICog
aW5jcmVtZW50KTsKKyNlbHNlCiAgICAgR1ZhbHVlIGN1cnJlbnRWYWx1ZSA9IEdfVkFMVUVfSU5J
VDsKICAgICBhdGtfdmFsdWVfZ2V0X2N1cnJlbnRfdmFsdWUoQVRLX1ZBTFVFKGVsZW1lbnQpLCAm
Y3VycmVudFZhbHVlKTsKIApAQCAtNTcwLDYgKzYwNiw3IEBAIHZvaWQgYWx0ZXJDdXJyZW50VmFs
dWUoUGxhdGZvcm1VSUVsZW1lbnQgZWxlbWVudCwgaW50IGZhY3RvcikKICAgICBnX3ZhbHVlX3Vu
c2V0KCZuZXdWYWx1ZSk7CiAgICAgZ192YWx1ZV91bnNldCgmaW5jcmVtZW50KTsKICAgICBnX3Zh
bHVlX3Vuc2V0KCZjdXJyZW50VmFsdWUpOworI2VuZGlmCiB9CiAKIH0gLy8gbmFtZXNwYWNlCkBA
IC05ODQsMTEgKzEwMjEsMTcgQEAgZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmludFZh
bHVlKCkgY29uc3QKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBpZiAoQVRLX0lTX1ZBTFVFKG1f
ZWxlbWVudCkpIHsKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLDExLDkyKQorICAgICAgICBkb3Vi
bGUgdmFsdWU7CisgICAgICAgIGF0a192YWx1ZV9nZXRfdmFsdWVfYW5kX3RleHQoQVRLX1ZBTFVF
KG1fZWxlbWVudCksICZ2YWx1ZSwgbnVsbHB0cik7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyNl
bHNlCiAgICAgICAgIEdWYWx1ZSB2YWx1ZSA9IEdfVkFMVUVfSU5JVDsKICAgICAgICAgYXRrX3Zh
bHVlX2dldF9jdXJyZW50X3ZhbHVlKEFUS19WQUxVRShtX2VsZW1lbnQpLCAmdmFsdWUpOwogICAg
ICAgICBpZiAoIUdfVkFMVUVfSE9MRFNfRkxPQVQoJnZhbHVlKSkKICAgICAgICAgICAgIHJldHVy
biAwOwogICAgICAgICByZXR1cm4gZ192YWx1ZV9nZXRfZmxvYXQoJnZhbHVlKTsKKyNlbmRpZgog
ICAgIH0KIAogICAgIC8vIENvbnNpZGVyIGhlYWRpbmdzIGFzIGFuIHNwZWNpYWwgY2FzZSB3aGVu
IHJldHVybmluZyB0aGUgImludCB2YWx1ZSIgb2YKQEAgLTEwMDksMjQgKzEwNTIsMzAgQEAgZG91
YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1pblZhbHVlKCkKIHsKICAgICBpZiAoIUFUS19J
U19WQUxVRShtX2VsZW1lbnQpKQogICAgICAgICByZXR1cm4gMDsKLQorI2lmIEFUS19DSEVDS19W
RVJTSU9OKDIsMTEsOTIpCisgICAgcmV0dXJuIHJhbmdlTWluTWF4VmFsdWUoQVRLX1ZBTFVFKG1f
ZWxlbWVudCksIFJhbmdlTGltaXRNaW5pbXVtKTsKKyNlbHNlCiAgICAgR1ZhbHVlIHZhbHVlID0g
R19WQUxVRV9JTklUOwogICAgIGF0a192YWx1ZV9nZXRfbWluaW11bV92YWx1ZShBVEtfVkFMVUUo
bV9lbGVtZW50KSwgJnZhbHVlKTsKICAgICBpZiAoIUdfVkFMVUVfSE9MRFNfRkxPQVQoJnZhbHVl
KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIGdfdmFsdWVfZ2V0X2Zsb2F0KCZ2YWx1
ZSk7CisjZW5kaWYKIH0KIAogZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVl
KCkKIHsKICAgICBpZiAoIUFUS19JU19WQUxVRShtX2VsZW1lbnQpKQogICAgICAgICByZXR1cm4g
MDsKLQorI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCisgICAgcmV0dXJuIHJhbmdlTWlu
TWF4VmFsdWUoQVRLX1ZBTFVFKG1fZWxlbWVudCksIFJhbmdlTGltaXRNYXhpbXVtKTsKKyNlbHNl
CiAgICAgR1ZhbHVlIHZhbHVlID0gR19WQUxVRV9JTklUOwogICAgIGF0a192YWx1ZV9nZXRfbWF4
aW11bV92YWx1ZShBVEtfVkFMVUUobV9lbGVtZW50KSwgJnZhbHVlKTsKICAgICBpZiAoIUdfVkFM
VUVfSE9MRFNfRkxPQVQoJnZhbHVlKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIGdf
dmFsdWVfZ2V0X2Zsb2F0KCZ2YWx1ZSk7CisjZW5kaWYKIH0KIAogSlNTdHJpbmdSZWYgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6dmFsdWVEZXNjcmlwdGlvbigpCmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCmluZGV4IDFiNzc2ZDguLjcxOTNkMGYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnRBdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCkBAIC01MSw2ICs1MSwxMyBA
QCBuYW1lc3BhY2UgV1RSIHsKIAogbmFtZXNwYWNlIHsKIAorI2lmIEFUS19DSEVDS19WRVJTSU9O
KDIsMTEsOTIpCitlbnVtIFJhbmdlTGltaXQgeworICAgIFJhbmdlTGltaXRNaW5pbXVtLAorICAg
IFJhbmdlTGltaXRNYXhpbXVtCit9OworI2VuZGlmCisKIGVudW0gQXRrQXR0cmlidXRlVHlwZSB7
CiAgICAgT2JqZWN0QXR0cmlidXRlVHlwZSwKICAgICBUZXh0QXR0cmlidXRlVHlwZQpAQCAtMjYy
LDYgKzI2OSwxMyBAQCB2b2lkIGFsdGVyQ3VycmVudFZhbHVlKFBsYXRmb3JtVUlFbGVtZW50IGVs
ZW1lbnQsIGludCBmYWN0b3IpCiAgICAgaWYgKCFBVEtfSVNfVkFMVUUoZWxlbWVudC5nZXQoKSkp
CiAgICAgICAgIHJldHVybjsKIAorI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCisgICAg
ZG91YmxlIGN1cnJlbnRWYWx1ZTsKKyAgICBhdGtfdmFsdWVfZ2V0X3ZhbHVlX2FuZF90ZXh0KEFU
S19WQUxVRShlbGVtZW50LmdldCgpKSwgJmN1cnJlbnRWYWx1ZSwgbnVsbHB0cik7CisKKyAgICBk
b3VibGUgaW5jcmVtZW50ID0gYXRrX3ZhbHVlX2dldF9pbmNyZW1lbnQoQVRLX1ZBTFVFKGVsZW1l
bnQuZ2V0KCkpKTsKKyAgICBhdGtfdmFsdWVfc2V0X3ZhbHVlKEFUS19WQUxVRShlbGVtZW50Lmdl
dCgpKSwgY3VycmVudFZhbHVlICsgZmFjdG9yICogaW5jcmVtZW50KTsKKyNlbHNlCiAgICAgR1Zh
bHVlIGN1cnJlbnRWYWx1ZSA9IEdfVkFMVUVfSU5JVDsKICAgICBhdGtfdmFsdWVfZ2V0X2N1cnJl
bnRfdmFsdWUoQVRLX1ZBTFVFKGVsZW1lbnQuZ2V0KCkpLCAmY3VycmVudFZhbHVlKTsKIApAQCAt
Mjc3LDYgKzI5MSw3IEBAIHZvaWQgYWx0ZXJDdXJyZW50VmFsdWUoUGxhdGZvcm1VSUVsZW1lbnQg
ZWxlbWVudCwgaW50IGZhY3RvcikKICAgICBnX3ZhbHVlX3Vuc2V0KCZuZXdWYWx1ZSk7CiAgICAg
Z192YWx1ZV91bnNldCgmaW5jcmVtZW50KTsKICAgICBnX3ZhbHVlX3Vuc2V0KCZjdXJyZW50VmFs
dWUpOworI2VuZGlmCiB9CiAKIGdjaGFyKiByZXBsYWNlQ2hhcmFjdGVyc0ZvclJlc3VsdHMoZ2No
YXIqIHN0cikKQEAgLTU5NCw2ICs2MDksMjggQEAgc3RhdGljIEpTVmFsdWVSZWYgY29udmVydFRv
SlNPYmplY3RBcnJheShjb25zdCBWZWN0b3I8UmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW0KIH0K
ICNlbmRpZgogCisjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwxMSw5MikKK3N0YXRpYyBkb3VibGUg
cmFuZ2VNaW5NYXhWYWx1ZShBdGtWYWx1ZSogYXRrVmFsdWUsIFJhbmdlTGltaXQgcmFuZ2VMaW1p
dCkKK3sKKyAgICBBdGtSYW5nZSogcmFuZ2UgPSBhdGtfdmFsdWVfZ2V0X3JhbmdlKGF0a1ZhbHVl
KTsKKyAgICBpZiAoIXJhbmdlKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGRvdWJsZSByYW5n
ZVZhbHVlID0gMDsKKyAgICBzd2l0Y2ggKHJhbmdlTGltaXQpIHsKKyAgICBjYXNlIFJhbmdlTGlt
aXRNaW5pbXVtOgorICAgICAgICByYW5nZVZhbHVlID0gYXRrX3JhbmdlX2dldF9sb3dlcl9saW1p
dChyYW5nZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUmFuZ2VMaW1pdE1heGltdW06Cisg
ICAgICAgIHJhbmdlVmFsdWUgPSBhdGtfcmFuZ2VfZ2V0X3VwcGVyX2xpbWl0KHJhbmdlKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgfTsKKworICAgIGF0a19yYW5nZV9mcmVlKHJhbmdlKTsKKyAgICBy
ZXR1cm4gcmFuZ2VWYWx1ZTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZQogCiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KFBsYXRmb3JtVUlFbGVtZW50
IGVsZW1lbnQpCkBAIC0xMTk2LDExICsxMjMzLDE3IEBAIGRvdWJsZSBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjppbnRWYWx1ZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgaWYgKEFU
S19JU19WQUxVRShtX2VsZW1lbnQuZ2V0KCkpKSB7CisjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwx
MSw5MikKKyAgICAgICAgZG91YmxlIHZhbHVlOworICAgICAgICBhdGtfdmFsdWVfZ2V0X3ZhbHVl
X2FuZF90ZXh0KEFUS19WQUxVRShtX2VsZW1lbnQuZ2V0KCkpLCAmdmFsdWUsIG51bGxwdHIpOwor
ICAgICAgICByZXR1cm4gdmFsdWU7CisjZWxzZQogICAgICAgICBHVmFsdWUgdmFsdWUgPSBHX1ZB
TFVFX0lOSVQ7CiAgICAgICAgIGF0a192YWx1ZV9nZXRfY3VycmVudF92YWx1ZShBVEtfVkFMVUUo
bV9lbGVtZW50LmdldCgpKSwgJnZhbHVlKTsKICAgICAgICAgaWYgKCFHX1ZBTFVFX0hPTERTX0ZM
T0FUKCZ2YWx1ZSkpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgcmV0dXJuIGdfdmFs
dWVfZ2V0X2Zsb2F0KCZ2YWx1ZSk7CisjZW5kaWYKICAgICB9CiAKICAgICAvLyBDb25zaWRlciBo
ZWFkaW5ncyBhcyBhbiBzcGVjaWFsIGNhc2Ugd2hlbiByZXR1cm5pbmcgdGhlICJpbnQgdmFsdWUi
IG9mCkBAIC0xMjIxLDEzICsxMjY0LDE2IEBAIGRvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjptaW5WYWx1ZSgpCiB7CiAgICAgaWYgKCFBVEtfSVNfVkFMVUUobV9lbGVtZW50LmdldCgpKSkK
ICAgICAgICAgcmV0dXJuIDA7Ci0KKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLDExLDkyKQorICAg
IHJldHVybiByYW5nZU1pbk1heFZhbHVlKEFUS19WQUxVRShtX2VsZW1lbnQuZ2V0KCkpLCBSYW5n
ZUxpbWl0TWluaW11bSk7CisjZWxzZQogICAgIEdWYWx1ZSB2YWx1ZSA9IEdfVkFMVUVfSU5JVDsK
ICAgICBhdGtfdmFsdWVfZ2V0X21pbmltdW1fdmFsdWUoQVRLX1ZBTFVFKG1fZWxlbWVudC5nZXQo
KSksICZ2YWx1ZSk7CiAgICAgaWYgKCFHX1ZBTFVFX0hPTERTX0ZMT0FUKCZ2YWx1ZSkpCiAgICAg
ICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIGdfdmFsdWVfZ2V0X2Zsb2F0KCZ2YWx1ZSk7Cisj
ZW5kaWYKIH0KIAogZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVlKCkKQEAg
LTEyMzUsMTIgKzEyODEsMTYgQEAgZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZh
bHVlKCkKICAgICBpZiAoIUFUS19JU19WQUxVRShtX2VsZW1lbnQuZ2V0KCkpKQogICAgICAgICBy
ZXR1cm4gMDsKIAorI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCisgICAgcmV0dXJuIHJh
bmdlTWluTWF4VmFsdWUoQVRLX1ZBTFVFKG1fZWxlbWVudC5nZXQoKSksIFJhbmdlTGltaXRNYXhp
bXVtKTsKKyNlbHNlCiAgICAgR1ZhbHVlIHZhbHVlID0gR19WQUxVRV9JTklUOwogICAgIGF0a192
YWx1ZV9nZXRfbWF4aW11bV92YWx1ZShBVEtfVkFMVUUobV9lbGVtZW50LmdldCgpKSwgJnZhbHVl
KTsKICAgICBpZiAoIUdfVkFMVUVfSE9MRFNfRkxPQVQoJnZhbHVlKSkKICAgICAgICAgcmV0dXJu
IDA7CiAKICAgICByZXR1cm4gZ192YWx1ZV9nZXRfZmxvYXQoJnZhbHVlKTsKKyNlbmRpZgogfQog
CiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dmFsdWVE
ZXNjcmlwdGlvbigpCmRpZmYgLS1naXQgYS9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVzIGIvVG9v
bHMvZWZsL2poYnVpbGQubW9kdWxlcwppbmRleCBjOTQyNThkLi45OGVkNjlkIDEwMDY0NAotLS0g
YS9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVzCisrKyBiL1Rvb2xzL2VmbC9qaGJ1aWxkLm1vZHVs
ZXMKQEAgLTM0Miw5ICszNDIsOSBAQAogICA8YXV0b3Rvb2xzIGlkPSJhdGsiCiAgICAgICAgICAg
ICAgYXV0b2dlbi1zaD0iY29uZmlndXJlIgogICAgICAgICAgICAgIGF1dG9nZW5hcmdzPSItLWRp
c2FibGUtaW50cm9zcGVjdGlvbiI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9NRS9zb3Vy
Y2VzL2F0ay8yLjExL2F0ay0yLjExLjkwLnRhci54eiIgdmVyc2lvbj0iMi4xMS45MCIKKyAgICA8
YnJhbmNoIG1vZHVsZT0icHViL0dOT01FL3NvdXJjZXMvYXRrLzIuMTEvYXRrLTIuMTEuOTIudGFy
Lnh6IiB2ZXJzaW9uPSIyLjExLjkyIgogICAgICAgICAgICAgcmVwbz0iZnRwLmdub21lLm9yZyIK
LSAgICAgICAgICAgIGhhc2g9InNoYTI1Njo0NGUzM2FiYWQ2NDQxOWI5MmZkMmFlNDVmYjBkMzdi
OWZhYWI2YjUzNjQwYTFhNTRlMDY4YWY2ZmNjYWQ0NDE3Ii8+CisgICAgICAgICAgICBoYXNoPSJz
aGEyNTY6NzFlOTg4MGYxYjcwNGRmZDk4ODA2NjQzYjhkYzY2YTVkZjRmY2VmMTU1Y2Y1OTQ0MTg0
ZDhlOGY2NmRhYzY4OSIvPgogICA8L2F1dG90b29scz4KIAogPC9tb2R1bGVzZXQ+CmRpZmYgLS1n
aXQgYS9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVzIGIvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxl
cwppbmRleCA4MGZiZmE3Li5lZDNiOTRkIDEwMDY0NAotLS0gYS9Ub29scy9ndGsvamhidWlsZC5t
b2R1bGVzCisrKyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKQEAgLTIzNCw5ICsyMzQsOSBA
QAogICA8YXV0b3Rvb2xzIGlkPSJhdGsiCiAgICAgICAgICAgICAgYXV0b2dlbi1zaD0iY29uZmln
dXJlIgogICAgICAgICAgICAgIGF1dG9nZW5hcmdzPSItLWRpc2FibGUtaW50cm9zcGVjdGlvbiI+
Ci0gICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9NRS9zb3VyY2VzL2F0ay8yLjExL2F0ay0yLjEx
LjkwLnRhci54eiIgdmVyc2lvbj0iMi4xMS45MCIKKyAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dO
T01FL3NvdXJjZXMvYXRrLzIuMTEvYXRrLTIuMTEuOTIudGFyLnh6IiB2ZXJzaW9uPSIyLjExLjky
IgogICAgICAgICAgICAgcmVwbz0iZnRwLmdub21lLm9yZyIKLSAgICAgICAgICAgIGhhc2g9InNo
YTI1Njo0NGUzM2FiYWQ2NDQxOWI5MmZkMmFlNDVmYjBkMzdiOWZhYWI2YjUzNjQwYTFhNTRlMDY4
YWY2ZmNjYWQ0NDE3Ii8+CisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6NzFlOTg4MGYxYjcwNGRm
ZDk4ODA2NjQzYjhkYzY2YTVkZjRmY2VmMTU1Y2Y1OTQ0MTg0ZDhlOGY2NmRhYzY4OSIvPgogICA8
L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJhdC1zcGkyLWNvcmUiIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227836</attachid>
            <date>2014-03-26 01:53:08 -0700</date>
            <delta_ts>2014-03-26 03:17:12 -0700</delta_ts>
            <desc>attempt to check efl bots.</desc>
            <filename>a11y-atkvalue.patch</filename>
            <type>text/plain</type>
            <size>17717</size>
            <attacher name="Krzysztof Czech">k.czech</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NDg4Mjk5Li4yYjc2YThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTQtMDMtMjUgIEtyenlzenRvZiBDemVjaCAgPGsuY3plY2hAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0FUS10gVXRpbGl6ZSBuZXcgQXRrVmFsdWUgaW50ZXJmYWNlIGNvbWluZyBpbiBB
VEsgMi4xMS45MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwNTc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyaW8gU2FuY2hleiBQcmFkYS4KKwor
ICAgICAgICBBVEsgMi4xMS45MiBpbnRyb2R1Y2VzIHNvbWUgbmV3IEFQSSBhbmQgZGVwcmVjYXRl
cyBhbiBvbGQgb25lLgorICAgICAgICBBZGp1c3QgY3VycmVudCBpbXBsZW1lbnRhdGlvbiB0byBt
ZWV0IHJlcXVpcmVtZW50cyBvZiB0aGUgbmV3IEFQSS4KKworICAgICAgICBObyBuZXcgdGVzdHMu
IENvdmVyZWQgYnkgZXhpc3Rpbmcgb25lcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L0FYT2JqZWN0Q2FjaGVBdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6
cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwOgorICAgICAgICAod2Via2l0QWNjZXNz
aWJsZVNldE5ld1ZhbHVlKToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVHZXRJbmNyZW1lbnRW
YWx1ZSk6CisgICAgICAgICh3ZWJraXRBY2Nlc3NpYmxlR2V0VmFsdWVBbmRUZXh0KToKKyAgICAg
ICAgKHdlYmtpdEFjY2Vzc2libGVHZXRJbmNyZW1lbnQpOgorICAgICAgICAod2Via2l0QWNjZXNz
aWJsZVNldFZhbHVlKToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVHZXRSYW5nZSk6CisgICAg
ICAgICh3ZWJraXRBY2Nlc3NpYmxlVmFsdWVTZXRDdXJyZW50VmFsdWUpOgorICAgICAgICAod2Vi
a2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudCk6CisgICAgICAgICh3ZWJraXRB
Y2Nlc3NpYmxlVmFsdWVJbnRlcmZhY2VJbml0KToKKwogMjAxNC0wMy0yNSAgR2Fib3IgUmFwY3Nh
bnlpICA8cmdhYm9yQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0FSTTY0XSBHTlUgYXNzZW1ibGVy
IGZhaWxzIGluIFRyYW5zZm9ybWF0aW9uTWF0cml4OjptdWx0aXBseQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAppbmRleCA1
ZDYyYTk4Li41OTE3MTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcApAQCAtMjA4LDcgKzIwOCwxMyBAQCB2b2lkIEFY
T2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0
KiBjb3JlT2JqZWN0LCBBWAogICAgICAgICAgICAgcHJvcGVydHlWYWx1ZXMucHJvcGVydHlfbmFt
ZSA9ICJhY2Nlc3NpYmxlLXZhbHVlIjsKIAogICAgICAgICAgICAgbWVtc2V0KCZwcm9wZXJ0eVZh
bHVlcy5uZXdfdmFsdWUsICAwLCBzaXplb2YoR1ZhbHVlKSk7CisjaWYgQVRLX0NIRUNLX1ZFUlNJ
T04oMiwxMSw5MikKKyAgICAgICAgICAgIGRvdWJsZSB2YWx1ZTsKKyAgICAgICAgICAgIGF0a192
YWx1ZV9nZXRfdmFsdWVfYW5kX3RleHQoQVRLX1ZBTFVFKGF4T2JqZWN0KSwgJnZhbHVlLCBudWxs
cHRyKTsKKyAgICAgICAgICAgIGdfdmFsdWVfc2V0X2RvdWJsZShnX3ZhbHVlX2luaXQoJnByb3Bl
cnR5VmFsdWVzLm5ld192YWx1ZSwgR19UWVBFX0RPVUJMRSksIHZhbHVlKTsKKyNlbHNlCiAgICAg
ICAgICAgICBhdGtfdmFsdWVfZ2V0X2N1cnJlbnRfdmFsdWUoQVRLX1ZBTFVFKGF4T2JqZWN0KSwg
JnByb3BlcnR5VmFsdWVzLm5ld192YWx1ZSk7CisjZW5kaWYKIAogICAgICAgICAgICAgZ19zaWdu
YWxfZW1pdF9ieV9uYW1lKEFUS19PQkpFQ1QoYXhPYmplY3QpLCAicHJvcGVydHktY2hhbmdlOjph
Y2Nlc3NpYmxlLXZhbHVlIiwgJnByb3BlcnR5VmFsdWVzLCBOVUxMKTsKICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKaW5kZXggMTljNmNmMC4uMTg0ZWQ0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwCkBAIC0yNiw2ICsyNiw3IEBA
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZVV0aWwu
aCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5oIgorI2luY2x1ZGUgPHd0
Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTM3LDYg
KzM4LDgzIEBAIHN0YXRpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlKEF0a1ZhbHVlKiB2YWx1
ZSkKICAgICByZXR1cm4gd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxpdHlPYmplY3QoV0VC
S0lUX0FDQ0VTU0lCTEUodmFsdWUpKTsKIH0KIAorc3RhdGljIGJvb2wgd2Via2l0QWNjZXNzaWJs
ZVNldE5ld1ZhbHVlKEF0a1ZhbHVlKiBjb3JlVmFsdWUsIGNvbnN0IGdkb3VibGUgbmV3VmFsdWUp
Cit7CisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUoY29yZVZhbHVl
KTsKKyAgICBpZiAoIWNvcmVPYmplY3QtPmNhblNldFZhbHVlQXR0cmlidXRlKCkpCisgICAgICAg
IHJldHVybiBGQUxTRTsKKworICAgIC8vIENoZWNrIHZhbHVlIGFnYWluc3QgcmFuZ2UgbGltaXRz
CisgICAgZG91YmxlIHZhbHVlOworICAgIHZhbHVlID0gc3RkOjptYXgoc3RhdGljX2Nhc3Q8ZG91
YmxlPihjb3JlT2JqZWN0LT5taW5WYWx1ZUZvclJhbmdlKCkpLCBuZXdWYWx1ZSk7CisgICAgdmFs
dWUgPSBzdGQ6Om1pbihzdGF0aWNfY2FzdDxkb3VibGU+KGNvcmVPYmplY3QtPm1heFZhbHVlRm9y
UmFuZ2UoKSksIG5ld1ZhbHVlKTsKKworICAgIGNvcmVPYmplY3QtPnNldFZhbHVlKFN0cmluZzo6
bnVtYmVyKHZhbHVlKSk7CisgICAgcmV0dXJuIFRSVUU7Cit9CisKK3N0YXRpYyBmbG9hdCB3ZWJr
aXRBY2Nlc3NpYmxlR2V0SW5jcmVtZW50VmFsdWUoQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9i
amVjdCkKK3sKKyAgICBpZiAoIWNvcmVPYmplY3QtPmdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnN0
ZXBBdHRyKS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBjb3JlT2JqZWN0LT5zdGVwVmFsdWVG
b3JSYW5nZSgpOworCisgICAgLy8gSWYgJ3N0ZXAnIGF0dHJpYnV0ZSBpcyBub3QgZGVmaW5lZCwg
V2ViQ29yZSBhc3N1bWVzIGEgNSUgb2YgdGhlCisgICAgLy8gcmFuZ2UgYmV0d2VlbiBtaW5pbXVt
IGFuZCBtYXhpbXVtIHZhbHVlcy4gSW1wbGljaXQgdmFsdWUgb2Ygc3RlcCBzaG91bGQgYmUgb25l
IG9yIGxhcmdlci4KKyAgICBmbG9hdCBzdGVwID0gKGNvcmVPYmplY3QtPm1heFZhbHVlRm9yUmFu
Z2UoKSAtIGNvcmVPYmplY3QtPm1pblZhbHVlRm9yUmFuZ2UoKSkgKiAwLjA1OworICAgIHJldHVy
biBzdGVwIDwgMSA/IDEgOiBzdGVwOworfQorCisjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwxMSw5
MikKK3N0YXRpYyB2b2lkIHdlYmtpdEFjY2Vzc2libGVHZXRWYWx1ZUFuZFRleHQoQXRrVmFsdWUq
IHZhbHVlLCBnZG91YmxlKiBjdXJyZW50VmFsdWUsIGdjaGFyKiogYWx0ZXJuYXRpdmVUZXh0KQor
eworICAgIGdfcmV0dXJuX2lmX2ZhaWwoQVRLX1ZBTFVFKHZhbHVlKSk7CisgICAgcmV0dXJuSWZX
ZWJLaXRBY2Nlc3NpYmxlSXNJbnZhbGlkKFdFQktJVF9BQ0NFU1NJQkxFKHZhbHVlKSk7CisKKyAg
ICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlT2JqZWN0ID0gY29yZSh2YWx1ZSk7CisgICAgaWYg
KCFjb3JlT2JqZWN0KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoY3VycmVudFZhbHVlKQor
ICAgICAgICAqY3VycmVudFZhbHVlID0gY29yZU9iamVjdC0+dmFsdWVGb3JSYW5nZSgpOworICAg
IGlmIChhbHRlcm5hdGl2ZVRleHQpCisgICAgICAgICphbHRlcm5hdGl2ZVRleHQgPSBnX3N0cmR1
cF9wcmludGYoIiVzIiwgY29yZU9iamVjdC0+dmFsdWVEZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRh
KCkpOworfQorCitzdGF0aWMgZG91YmxlIHdlYmtpdEFjY2Vzc2libGVHZXRJbmNyZW1lbnQoQXRr
VmFsdWUqIHZhbHVlKQoreworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKEFUS19WQUxVRSh2YWx1
ZSksIDApOworICAgIHJldHVyblZhbElmV2ViS2l0QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRf
QUNDRVNTSUJMRSh2YWx1ZSksIDApOworCisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9i
amVjdCA9IGNvcmUodmFsdWUpOworICAgIGlmICghY29yZU9iamVjdCkKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICByZXR1cm4gd2Via2l0QWNjZXNzaWJsZUdldEluY3JlbWVudFZhbHVlKGNvcmVP
YmplY3QpOworfQorCitzdGF0aWMgdm9pZCB3ZWJraXRBY2Nlc3NpYmxlU2V0VmFsdWUoQXRrVmFs
dWUqIHZhbHVlLCBjb25zdCBnZG91YmxlIG5ld1ZhbHVlKQoreworICAgIGdfcmV0dXJuX2lmX2Zh
aWwoQVRLX1ZBTFVFKHZhbHVlKSk7CisgICAgcmV0dXJuSWZXZWJLaXRBY2Nlc3NpYmxlSXNJbnZh
bGlkKFdFQktJVF9BQ0NFU1NJQkxFKHZhbHVlKSk7CisKKyAgICB3ZWJraXRBY2Nlc3NpYmxlU2V0
TmV3VmFsdWUodmFsdWUsIG5ld1ZhbHVlKTsKK30KKworc3RhdGljIEF0a1JhbmdlKiB3ZWJraXRB
Y2Nlc3NpYmxlR2V0UmFuZ2UoQXRrVmFsdWUqIHZhbHVlKQoreworICAgIGdfcmV0dXJuX3ZhbF9p
Zl9mYWlsKEFUS19WQUxVRSh2YWx1ZSksIG51bGxwdHIpOworICAgIHJldHVyblZhbElmV2ViS2l0
QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRfQUNDRVNTSUJMRSh2YWx1ZSksIG51bGxwdHIpOwor
CisgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUodmFsdWUpOworICAg
IGlmICghY29yZU9iamVjdCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBnZG91Ymxl
IG1pblZhbHVlID0gY29yZU9iamVjdC0+bWluVmFsdWVGb3JSYW5nZSgpOworICAgIGdkb3VibGUg
bWF4VmFsdWUgPSBjb3JlT2JqZWN0LT5tYXhWYWx1ZUZvclJhbmdlKCk7CisgICAgZ2NoYXIqIHZh
bHVlRGVzY3JpcHRpb24gPSBnX3N0cmR1cF9wcmludGYoIiVzIiwgY29yZU9iamVjdC0+dmFsdWVE
ZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRhKCkpOworICAgIHJldHVybiBhdGtfcmFuZ2VfbmV3KG1p
blZhbHVlLCBtYXhWYWx1ZSwgdmFsdWVEZXNjcmlwdGlvbik7Cit9CisjZWxzZQogc3RhdGljIHZv
aWQgd2Via2l0QWNjZXNzaWJsZVZhbHVlR2V0Q3VycmVudFZhbHVlKEF0a1ZhbHVlKiB2YWx1ZSwg
R1ZhbHVlKiBnVmFsdWUpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChBVEtfVkFMVUUodmFsdWUp
KTsKQEAgLTkyLDE2ICsxNzAsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0QWNjZXNzaWJsZVZh
bHVlU2V0Q3VycmVudFZhbHVlKEF0a1ZhbHVlKiB2YWx1ZSwgY29uc3QgR1ZhbAogICAgIGVsc2UK
ICAgICAgICAgcmV0dXJuIEZBTFNFOwogCi0gICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9i
amVjdCA9IGNvcmUodmFsdWUpOwotICAgIGlmICghY29yZU9iamVjdC0+Y2FuU2V0VmFsdWVBdHRy
aWJ1dGUoKSkKLSAgICAgICAgcmV0dXJuIEZBTFNFOwotCi0gICAgLy8gQ2hlY2sgdmFsdWUgYWdh
aW5zdCByYW5nZSBsaW1pdHMKLSAgICBuZXdWYWx1ZSA9IHN0ZDo6bWF4KHN0YXRpY19jYXN0PGRv
dWJsZT4oY29yZU9iamVjdC0+bWluVmFsdWVGb3JSYW5nZSgpKSwgbmV3VmFsdWUpOwotICAgIG5l
d1ZhbHVlID0gc3RkOjptaW4oc3RhdGljX2Nhc3Q8ZG91YmxlPihjb3JlT2JqZWN0LT5tYXhWYWx1
ZUZvclJhbmdlKCkpLCBuZXdWYWx1ZSk7Ci0KLSAgICBjb3JlT2JqZWN0LT5zZXRWYWx1ZShTdHJp
bmc6Om51bWJlcihuZXdWYWx1ZSkpOwotICAgIHJldHVybiBUUlVFOworICAgIHJldHVybiB3ZWJr
aXRBY2Nlc3NpYmxlU2V0TmV3VmFsdWUodmFsdWUsIG5ld1ZhbHVlKTsKIH0KIAogc3RhdGljIHZv
aWQgd2Via2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudChBdGtWYWx1ZSogdmFs
dWUsIEdWYWx1ZSogZ1ZhbHVlKQpAQCAtMTEzLDI0ICsxODIsMjQgQEAgc3RhdGljIHZvaWQgd2Vi
a2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudChBdGtWYWx1ZSogdmFsdWUsIEdW
YWx1ZSogZ1YKICAgICBnX3ZhbHVlX2luaXQoZ1ZhbHVlLCBHX1RZUEVfRkxPQVQpOwogCiAgICAg
QWNjZXNzaWJpbGl0eU9iamVjdCogY29yZU9iamVjdCA9IGNvcmUodmFsdWUpOwotICAgIGlmICgh
Y29yZU9iamVjdC0+Z2V0QXR0cmlidXRlKEhUTUxOYW1lczo6c3RlcEF0dHIpLmlzRW1wdHkoKSkg
ewotICAgICAgICBnX3ZhbHVlX3NldF9mbG9hdChnVmFsdWUsIGNvcmVPYmplY3QtPnN0ZXBWYWx1
ZUZvclJhbmdlKCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgLy8gSWYgJ3N0ZXAn
IGF0dHJpYnV0ZSBpcyBub3QgZGVmaW5lZCwgV2ViQ29yZSBhc3N1bWVzIGEgNSUgb2YgdGhlCi0g
ICAgLy8gcmFuZ2UgYmV0d2VlbiBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlcy4gSW1wbGljaXQg
dmFsdWUgb2Ygc3RlcCBzaG91bGQgYmUgb25lIG9yIGxhcmdlci4KLSAgICBmbG9hdCBzdGVwID0g
KGNvcmVPYmplY3QtPm1heFZhbHVlRm9yUmFuZ2UoKSAtIGNvcmVPYmplY3QtPm1pblZhbHVlRm9y
UmFuZ2UoKSkgKiAwLjA1OwotICAgIGdfdmFsdWVfc2V0X2Zsb2F0KGdWYWx1ZSwgc3RlcCA8IDEg
PyAxIDogc3RlcCk7CisgICAgZ192YWx1ZV9zZXRfZmxvYXQoZ1ZhbHVlLCB3ZWJraXRBY2Nlc3Np
YmxlR2V0SW5jcmVtZW50VmFsdWUoY29yZU9iamVjdCkpOwogfQorI2VuZGlmCiAKIHZvaWQgd2Vi
a2l0QWNjZXNzaWJsZVZhbHVlSW50ZXJmYWNlSW5pdChBdGtWYWx1ZUlmYWNlKiBpZmFjZSkKIHsK
KyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLDExLDkyKQorICAgIGlmYWNlLT5nZXRfdmFsdWVfYW5k
X3RleHQgPSB3ZWJraXRBY2Nlc3NpYmxlR2V0VmFsdWVBbmRUZXh0OworICAgIGlmYWNlLT5nZXRf
aW5jcmVtZW50ID0gd2Via2l0QWNjZXNzaWJsZUdldEluY3JlbWVudDsKKyAgICBpZmFjZS0+c2V0
X3ZhbHVlID0gd2Via2l0QWNjZXNzaWJsZVNldFZhbHVlOworICAgIGlmYWNlLT5nZXRfcmFuZ2Ug
PSB3ZWJraXRBY2Nlc3NpYmxlR2V0UmFuZ2U7CisjZWxzZQogICAgIGlmYWNlLT5nZXRfY3VycmVu
dF92YWx1ZSA9IHdlYmtpdEFjY2Vzc2libGVWYWx1ZUdldEN1cnJlbnRWYWx1ZTsKICAgICBpZmFj
ZS0+Z2V0X21heGltdW1fdmFsdWUgPSB3ZWJraXRBY2Nlc3NpYmxlVmFsdWVHZXRNYXhpbXVtVmFs
dWU7CiAgICAgaWZhY2UtPmdldF9taW5pbXVtX3ZhbHVlID0gd2Via2l0QWNjZXNzaWJsZVZhbHVl
R2V0TWluaW11bVZhbHVlOwogICAgIGlmYWNlLT5zZXRfY3VycmVudF92YWx1ZSA9IHdlYmtpdEFj
Y2Vzc2libGVWYWx1ZVNldEN1cnJlbnRWYWx1ZTsKICAgICBpZmFjZS0+Z2V0X21pbmltdW1faW5j
cmVtZW50ID0gd2Via2l0QWNjZXNzaWJsZVZhbHVlR2V0TWluaW11bUluY3JlbWVudDsKKyNlbmRp
ZgogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA1N2IzM2ZkLi4xYWQ2ZmFhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTQtMDMtMjUgIEtyenlz
enRvZiBDemVjaCAgPGsuY3plY2hAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0FUS10gVXRpbGl6
ZSBuZXcgQXRrVmFsdWUgaW50ZXJmYWNlIGNvbWluZyBpbiBBVEsgMi4xMS45MgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwNTc1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTWFyaW8gU2FuY2hleiBQcmFkYS4KKworICAgICAgICBDaGFuZ2UgQVRLIHZl
cnNpb24gdG8gMi4xMS45Mi4gQWRqdXN0IGN1cnJlbnQgaW1wbGVtZW50YXRpb24uCisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6Cisg
ICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnRWYWx1ZSk6CisgICAgICAgIChBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjptaW5WYWx1ZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjptYXhWYWx1ZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmludFZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6bWluVmFsdWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjptYXhWYWx1ZSk6CisgICAgICAgICogZWZsL2poYnVpbGQubW9kdWxlczoKKyAgICAg
ICAgKiBndGsvamhidWlsZC5tb2R1bGVzOgorCiAyMDE0LTAzLTI1ICBHYWJvciBSYXBjc2FueWkg
IDxyZ2Fib3JAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXSBBZGQgQVJNNjQgYnVpbGQgc3Vw
cG9ydApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRBdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRBdGsuY3BwCmluZGV4IDhjYzQ2ZjYuLjRkMDgzZmUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAg
LTQ0LDYgKzQ0LDEzIEBACiAKIG5hbWVzcGFjZSB7CiAKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigy
LDExLDkyKQorZW51bSBSYW5nZUxpbWl0IHsKKyAgICBSYW5nZUxpbWl0TWluaW11bSwKKyAgICBS
YW5nZUxpbWl0TWF4aW11bQorfTsKKyNlbmRpZgorCiBlbnVtIEF0a0F0dHJpYnV0ZVR5cGUgewog
ICAgIE9iamVjdEF0dHJpYnV0ZVR5cGUsCiAgICAgVGV4dEF0dHJpYnV0ZVR5cGUKQEAgLTU1MCwx
MSArNTU3LDQwIEBAIEpTU3RyaW5nUmVmIGluZGV4UmFuZ2VJblRhYmxlKFBsYXRmb3JtVUlFbGVt
ZW50IGVsZW1lbnQsIGJvb2wgaXNSb3dSYW5nZSkKICAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoVVRGOENTdHJpbmcocmFuZ2VTdHJpbmcuZ2V0KCkpOwogfQogCisjaWYgQVRLX0NIRUNLX1ZF
UlNJT04oMiwxMSw5MikKK3N0YXRpYyBkb3VibGUgcmFuZ2VNaW5NYXhWYWx1ZShBdGtWYWx1ZSog
YXRrVmFsdWUsIFJhbmdlTGltaXQgcmFuZ2VMaW1pdCkKK3sKKyAgICBBdGtSYW5nZSogcmFuZ2Ug
PSBhdGtfdmFsdWVfZ2V0X3JhbmdlKGF0a1ZhbHVlKTsKKyAgICBpZiAoIXJhbmdlKQorICAgICAg
ICByZXR1cm4gMDsKKworICAgIGRvdWJsZSByYW5nZVZhbHVlID0gMDsKKyAgICBzd2l0Y2ggKHJh
bmdlTGltaXQpIHsKKyAgICBjYXNlIFJhbmdlTGltaXRNaW5pbXVtOgorICAgICAgICByYW5nZVZh
bHVlID0gYXRrX3JhbmdlX2dldF9sb3dlcl9saW1pdChyYW5nZSk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgUmFuZ2VMaW1pdE1heGltdW06CisgICAgICAgIHJhbmdlVmFsdWUgPSBhdGtfcmFu
Z2VfZ2V0X3VwcGVyX2xpbWl0KHJhbmdlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfTsKKworICAg
IGF0a19yYW5nZV9mcmVlKHJhbmdlKTsKKyAgICByZXR1cm4gcmFuZ2VWYWx1ZTsKK30KKyNlbmRp
ZgorCiB2b2lkIGFsdGVyQ3VycmVudFZhbHVlKFBsYXRmb3JtVUlFbGVtZW50IGVsZW1lbnQsIGlu
dCBmYWN0b3IpCiB7CiAgICAgaWYgKCFBVEtfSVNfVkFMVUUoZWxlbWVudCkpCiAgICAgICAgIHJl
dHVybjsKIAorI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCisgICAgZG91YmxlIGN1cnJl
bnRWYWx1ZTsKKyAgICBhdGtfdmFsdWVfZ2V0X3ZhbHVlX2FuZF90ZXh0KEFUS19WQUxVRShlbGVt
ZW50KSwgJmN1cnJlbnRWYWx1ZSwgbnVsbHB0cik7CisKKyAgICBkb3VibGUgaW5jcmVtZW50ID0g
YXRrX3ZhbHVlX2dldF9pbmNyZW1lbnQoQVRLX1ZBTFVFKGVsZW1lbnQpKTsKKyAgICBhdGtfdmFs
dWVfc2V0X3ZhbHVlKEFUS19WQUxVRShlbGVtZW50KSwgY3VycmVudFZhbHVlICsgZmFjdG9yICog
aW5jcmVtZW50KTsKKyNlbHNlCiAgICAgR1ZhbHVlIGN1cnJlbnRWYWx1ZSA9IEdfVkFMVUVfSU5J
VDsKICAgICBhdGtfdmFsdWVfZ2V0X2N1cnJlbnRfdmFsdWUoQVRLX1ZBTFVFKGVsZW1lbnQpLCAm
Y3VycmVudFZhbHVlKTsKIApAQCAtNTcwLDYgKzYwNiw3IEBAIHZvaWQgYWx0ZXJDdXJyZW50VmFs
dWUoUGxhdGZvcm1VSUVsZW1lbnQgZWxlbWVudCwgaW50IGZhY3RvcikKICAgICBnX3ZhbHVlX3Vu
c2V0KCZuZXdWYWx1ZSk7CiAgICAgZ192YWx1ZV91bnNldCgmaW5jcmVtZW50KTsKICAgICBnX3Zh
bHVlX3Vuc2V0KCZjdXJyZW50VmFsdWUpOworI2VuZGlmCiB9CiAKIH0gLy8gbmFtZXNwYWNlCkBA
IC05ODQsMTEgKzEwMjEsMTcgQEAgZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmludFZh
bHVlKCkgY29uc3QKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBpZiAoQVRLX0lTX1ZBTFVFKG1f
ZWxlbWVudCkpIHsKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLDExLDkyKQorICAgICAgICBkb3Vi
bGUgdmFsdWU7CisgICAgICAgIGF0a192YWx1ZV9nZXRfdmFsdWVfYW5kX3RleHQoQVRLX1ZBTFVF
KG1fZWxlbWVudCksICZ2YWx1ZSwgbnVsbHB0cik7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyNl
bHNlCiAgICAgICAgIEdWYWx1ZSB2YWx1ZSA9IEdfVkFMVUVfSU5JVDsKICAgICAgICAgYXRrX3Zh
bHVlX2dldF9jdXJyZW50X3ZhbHVlKEFUS19WQUxVRShtX2VsZW1lbnQpLCAmdmFsdWUpOwogICAg
ICAgICBpZiAoIUdfVkFMVUVfSE9MRFNfRkxPQVQoJnZhbHVlKSkKICAgICAgICAgICAgIHJldHVy
biAwOwogICAgICAgICByZXR1cm4gZ192YWx1ZV9nZXRfZmxvYXQoJnZhbHVlKTsKKyNlbmRpZgog
ICAgIH0KIAogICAgIC8vIENvbnNpZGVyIGhlYWRpbmdzIGFzIGFuIHNwZWNpYWwgY2FzZSB3aGVu
IHJldHVybmluZyB0aGUgImludCB2YWx1ZSIgb2YKQEAgLTEwMDksMjQgKzEwNTIsMzAgQEAgZG91
YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1pblZhbHVlKCkKIHsKICAgICBpZiAoIUFUS19J
U19WQUxVRShtX2VsZW1lbnQpKQogICAgICAgICByZXR1cm4gMDsKLQorI2lmIEFUS19DSEVDS19W
RVJTSU9OKDIsMTEsOTIpCisgICAgcmV0dXJuIHJhbmdlTWluTWF4VmFsdWUoQVRLX1ZBTFVFKG1f
ZWxlbWVudCksIFJhbmdlTGltaXRNaW5pbXVtKTsKKyNlbHNlCiAgICAgR1ZhbHVlIHZhbHVlID0g
R19WQUxVRV9JTklUOwogICAgIGF0a192YWx1ZV9nZXRfbWluaW11bV92YWx1ZShBVEtfVkFMVUUo
bV9lbGVtZW50KSwgJnZhbHVlKTsKICAgICBpZiAoIUdfVkFMVUVfSE9MRFNfRkxPQVQoJnZhbHVl
KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIGdfdmFsdWVfZ2V0X2Zsb2F0KCZ2YWx1
ZSk7CisjZW5kaWYKIH0KIAogZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVl
KCkKIHsKICAgICBpZiAoIUFUS19JU19WQUxVRShtX2VsZW1lbnQpKQogICAgICAgICByZXR1cm4g
MDsKLQorI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCisgICAgcmV0dXJuIHJhbmdlTWlu
TWF4VmFsdWUoQVRLX1ZBTFVFKG1fZWxlbWVudCksIFJhbmdlTGltaXRNYXhpbXVtKTsKKyNlbHNl
CiAgICAgR1ZhbHVlIHZhbHVlID0gR19WQUxVRV9JTklUOwogICAgIGF0a192YWx1ZV9nZXRfbWF4
aW11bV92YWx1ZShBVEtfVkFMVUUobV9lbGVtZW50KSwgJnZhbHVlKTsKICAgICBpZiAoIUdfVkFM
VUVfSE9MRFNfRkxPQVQoJnZhbHVlKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIGdf
dmFsdWVfZ2V0X2Zsb2F0KCZ2YWx1ZSk7CisjZW5kaWYKIH0KIAogSlNTdHJpbmdSZWYgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6dmFsdWVEZXNjcmlwdGlvbigpCmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCmluZGV4IDFiNzc2ZDguLjcxOTNkMGYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnRBdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCkBAIC01MSw2ICs1MSwxMyBA
QCBuYW1lc3BhY2UgV1RSIHsKIAogbmFtZXNwYWNlIHsKIAorI2lmIEFUS19DSEVDS19WRVJTSU9O
KDIsMTEsOTIpCitlbnVtIFJhbmdlTGltaXQgeworICAgIFJhbmdlTGltaXRNaW5pbXVtLAorICAg
IFJhbmdlTGltaXRNYXhpbXVtCit9OworI2VuZGlmCisKIGVudW0gQXRrQXR0cmlidXRlVHlwZSB7
CiAgICAgT2JqZWN0QXR0cmlidXRlVHlwZSwKICAgICBUZXh0QXR0cmlidXRlVHlwZQpAQCAtMjYy
LDYgKzI2OSwxMyBAQCB2b2lkIGFsdGVyQ3VycmVudFZhbHVlKFBsYXRmb3JtVUlFbGVtZW50IGVs
ZW1lbnQsIGludCBmYWN0b3IpCiAgICAgaWYgKCFBVEtfSVNfVkFMVUUoZWxlbWVudC5nZXQoKSkp
CiAgICAgICAgIHJldHVybjsKIAorI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCisgICAg
ZG91YmxlIGN1cnJlbnRWYWx1ZTsKKyAgICBhdGtfdmFsdWVfZ2V0X3ZhbHVlX2FuZF90ZXh0KEFU
S19WQUxVRShlbGVtZW50LmdldCgpKSwgJmN1cnJlbnRWYWx1ZSwgbnVsbHB0cik7CisKKyAgICBk
b3VibGUgaW5jcmVtZW50ID0gYXRrX3ZhbHVlX2dldF9pbmNyZW1lbnQoQVRLX1ZBTFVFKGVsZW1l
bnQuZ2V0KCkpKTsKKyAgICBhdGtfdmFsdWVfc2V0X3ZhbHVlKEFUS19WQUxVRShlbGVtZW50Lmdl
dCgpKSwgY3VycmVudFZhbHVlICsgZmFjdG9yICogaW5jcmVtZW50KTsKKyNlbHNlCiAgICAgR1Zh
bHVlIGN1cnJlbnRWYWx1ZSA9IEdfVkFMVUVfSU5JVDsKICAgICBhdGtfdmFsdWVfZ2V0X2N1cnJl
bnRfdmFsdWUoQVRLX1ZBTFVFKGVsZW1lbnQuZ2V0KCkpLCAmY3VycmVudFZhbHVlKTsKIApAQCAt
Mjc3LDYgKzI5MSw3IEBAIHZvaWQgYWx0ZXJDdXJyZW50VmFsdWUoUGxhdGZvcm1VSUVsZW1lbnQg
ZWxlbWVudCwgaW50IGZhY3RvcikKICAgICBnX3ZhbHVlX3Vuc2V0KCZuZXdWYWx1ZSk7CiAgICAg
Z192YWx1ZV91bnNldCgmaW5jcmVtZW50KTsKICAgICBnX3ZhbHVlX3Vuc2V0KCZjdXJyZW50VmFs
dWUpOworI2VuZGlmCiB9CiAKIGdjaGFyKiByZXBsYWNlQ2hhcmFjdGVyc0ZvclJlc3VsdHMoZ2No
YXIqIHN0cikKQEAgLTU5NCw2ICs2MDksMjggQEAgc3RhdGljIEpTVmFsdWVSZWYgY29udmVydFRv
SlNPYmplY3RBcnJheShjb25zdCBWZWN0b3I8UmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW0KIH0K
ICNlbmRpZgogCisjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwxMSw5MikKK3N0YXRpYyBkb3VibGUg
cmFuZ2VNaW5NYXhWYWx1ZShBdGtWYWx1ZSogYXRrVmFsdWUsIFJhbmdlTGltaXQgcmFuZ2VMaW1p
dCkKK3sKKyAgICBBdGtSYW5nZSogcmFuZ2UgPSBhdGtfdmFsdWVfZ2V0X3JhbmdlKGF0a1ZhbHVl
KTsKKyAgICBpZiAoIXJhbmdlKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGRvdWJsZSByYW5n
ZVZhbHVlID0gMDsKKyAgICBzd2l0Y2ggKHJhbmdlTGltaXQpIHsKKyAgICBjYXNlIFJhbmdlTGlt
aXRNaW5pbXVtOgorICAgICAgICByYW5nZVZhbHVlID0gYXRrX3JhbmdlX2dldF9sb3dlcl9saW1p
dChyYW5nZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUmFuZ2VMaW1pdE1heGltdW06Cisg
ICAgICAgIHJhbmdlVmFsdWUgPSBhdGtfcmFuZ2VfZ2V0X3VwcGVyX2xpbWl0KHJhbmdlKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgfTsKKworICAgIGF0a19yYW5nZV9mcmVlKHJhbmdlKTsKKyAgICBy
ZXR1cm4gcmFuZ2VWYWx1ZTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZQogCiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KFBsYXRmb3JtVUlFbGVtZW50
IGVsZW1lbnQpCkBAIC0xMTk2LDExICsxMjMzLDE3IEBAIGRvdWJsZSBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjppbnRWYWx1ZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgaWYgKEFU
S19JU19WQUxVRShtX2VsZW1lbnQuZ2V0KCkpKSB7CisjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwx
MSw5MikKKyAgICAgICAgZG91YmxlIHZhbHVlOworICAgICAgICBhdGtfdmFsdWVfZ2V0X3ZhbHVl
X2FuZF90ZXh0KEFUS19WQUxVRShtX2VsZW1lbnQuZ2V0KCkpLCAmdmFsdWUsIG51bGxwdHIpOwor
ICAgICAgICByZXR1cm4gdmFsdWU7CisjZWxzZQogICAgICAgICBHVmFsdWUgdmFsdWUgPSBHX1ZB
TFVFX0lOSVQ7CiAgICAgICAgIGF0a192YWx1ZV9nZXRfY3VycmVudF92YWx1ZShBVEtfVkFMVUUo
bV9lbGVtZW50LmdldCgpKSwgJnZhbHVlKTsKICAgICAgICAgaWYgKCFHX1ZBTFVFX0hPTERTX0ZM
T0FUKCZ2YWx1ZSkpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgcmV0dXJuIGdfdmFs
dWVfZ2V0X2Zsb2F0KCZ2YWx1ZSk7CisjZW5kaWYKICAgICB9CiAKICAgICAvLyBDb25zaWRlciBo
ZWFkaW5ncyBhcyBhbiBzcGVjaWFsIGNhc2Ugd2hlbiByZXR1cm5pbmcgdGhlICJpbnQgdmFsdWUi
IG9mCkBAIC0xMjIxLDEzICsxMjY0LDE2IEBAIGRvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjptaW5WYWx1ZSgpCiB7CiAgICAgaWYgKCFBVEtfSVNfVkFMVUUobV9lbGVtZW50LmdldCgpKSkK
ICAgICAgICAgcmV0dXJuIDA7Ci0KKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLDExLDkyKQorICAg
IHJldHVybiByYW5nZU1pbk1heFZhbHVlKEFUS19WQUxVRShtX2VsZW1lbnQuZ2V0KCkpLCBSYW5n
ZUxpbWl0TWluaW11bSk7CisjZWxzZQogICAgIEdWYWx1ZSB2YWx1ZSA9IEdfVkFMVUVfSU5JVDsK
ICAgICBhdGtfdmFsdWVfZ2V0X21pbmltdW1fdmFsdWUoQVRLX1ZBTFVFKG1fZWxlbWVudC5nZXQo
KSksICZ2YWx1ZSk7CiAgICAgaWYgKCFHX1ZBTFVFX0hPTERTX0ZMT0FUKCZ2YWx1ZSkpCiAgICAg
ICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIGdfdmFsdWVfZ2V0X2Zsb2F0KCZ2YWx1ZSk7Cisj
ZW5kaWYKIH0KIAogZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVlKCkKQEAg
LTEyMzUsMTIgKzEyODEsMTYgQEAgZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZh
bHVlKCkKICAgICBpZiAoIUFUS19JU19WQUxVRShtX2VsZW1lbnQuZ2V0KCkpKQogICAgICAgICBy
ZXR1cm4gMDsKIAorI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsMTEsOTIpCisgICAgcmV0dXJuIHJh
bmdlTWluTWF4VmFsdWUoQVRLX1ZBTFVFKG1fZWxlbWVudC5nZXQoKSksIFJhbmdlTGltaXRNYXhp
bXVtKTsKKyNlbHNlCiAgICAgR1ZhbHVlIHZhbHVlID0gR19WQUxVRV9JTklUOwogICAgIGF0a192
YWx1ZV9nZXRfbWF4aW11bV92YWx1ZShBVEtfVkFMVUUobV9lbGVtZW50LmdldCgpKSwgJnZhbHVl
KTsKICAgICBpZiAoIUdfVkFMVUVfSE9MRFNfRkxPQVQoJnZhbHVlKSkKICAgICAgICAgcmV0dXJu
IDA7CiAKICAgICByZXR1cm4gZ192YWx1ZV9nZXRfZmxvYXQoJnZhbHVlKTsKKyNlbmRpZgogfQog
CiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dmFsdWVE
ZXNjcmlwdGlvbigpCmRpZmYgLS1naXQgYS9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVzIGIvVG9v
bHMvZWZsL2poYnVpbGQubW9kdWxlcwppbmRleCBjOTQyNThkLi45OGVkNjlkIDEwMDY0NAotLS0g
YS9Ub29scy9lZmwvamhidWlsZC5tb2R1bGVzCisrKyBiL1Rvb2xzL2VmbC9qaGJ1aWxkLm1vZHVs
ZXMKQEAgLTM0Miw5ICszNDIsOSBAQAogICA8YXV0b3Rvb2xzIGlkPSJhdGsiCiAgICAgICAgICAg
ICAgYXV0b2dlbi1zaD0iY29uZmlndXJlIgogICAgICAgICAgICAgIGF1dG9nZW5hcmdzPSItLWRp
c2FibGUtaW50cm9zcGVjdGlvbiI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9NRS9zb3Vy
Y2VzL2F0ay8yLjExL2F0ay0yLjExLjkwLnRhci54eiIgdmVyc2lvbj0iMi4xMS45MCIKKyAgICA8
YnJhbmNoIG1vZHVsZT0icHViL0dOT01FL3NvdXJjZXMvYXRrLzIuMTEvYXRrLTIuMTEuOTIudGFy
Lnh6IiB2ZXJzaW9uPSIyLjExLjkyIgogICAgICAgICAgICAgcmVwbz0iZnRwLmdub21lLm9yZyIK
LSAgICAgICAgICAgIGhhc2g9InNoYTI1Njo0NGUzM2FiYWQ2NDQxOWI5MmZkMmFlNDVmYjBkMzdi
OWZhYWI2YjUzNjQwYTFhNTRlMDY4YWY2ZmNjYWQ0NDE3Ii8+CisgICAgICAgICAgICBoYXNoPSJz
aGEyNTY6NzFlOTg4MGYxYjcwNGRmZDk4ODA2NjQzYjhkYzY2YTVkZjRmY2VmMTU1Y2Y1OTQ0MTg0
ZDhlOGY2NmRhYzY4OSIvPgogICA8L2F1dG90b29scz4KIAogPC9tb2R1bGVzZXQ+CmRpZmYgLS1n
aXQgYS9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVzIGIvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxl
cwppbmRleCA4MGZiZmE3Li5lZDNiOTRkIDEwMDY0NAotLS0gYS9Ub29scy9ndGsvamhidWlsZC5t
b2R1bGVzCisrKyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKQEAgLTIzNCw5ICsyMzQsOSBA
QAogICA8YXV0b3Rvb2xzIGlkPSJhdGsiCiAgICAgICAgICAgICAgYXV0b2dlbi1zaD0iY29uZmln
dXJlIgogICAgICAgICAgICAgIGF1dG9nZW5hcmdzPSItLWRpc2FibGUtaW50cm9zcGVjdGlvbiI+
Ci0gICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9NRS9zb3VyY2VzL2F0ay8yLjExL2F0ay0yLjEx
LjkwLnRhci54eiIgdmVyc2lvbj0iMi4xMS45MCIKKyAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dO
T01FL3NvdXJjZXMvYXRrLzIuMTEvYXRrLTIuMTEuOTIudGFyLnh6IiB2ZXJzaW9uPSIyLjExLjky
IgogICAgICAgICAgICAgcmVwbz0iZnRwLmdub21lLm9yZyIKLSAgICAgICAgICAgIGhhc2g9InNo
YTI1Njo0NGUzM2FiYWQ2NDQxOWI5MmZkMmFlNDVmYjBkMzdiOWZhYWI2YjUzNjQwYTFhNTRlMDY4
YWY2ZmNjYWQ0NDE3Ii8+CisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6NzFlOTg4MGYxYjcwNGRm
ZDk4ODA2NjQzYjhkYzY2YTVkZjRmY2VmMTU1Y2Y1OTQ0MTg0ZDhlOGY2NmRhYzY4OSIvPgogICA8
L2F1dG90b29scz4KIAogICA8YXV0b3Rvb2xzIGlkPSJhdC1zcGkyLWNvcmUiIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>