<?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>143414</bug_id>
          
          <creation_ts>2015-04-05 01:59:37 -0700</creation_ts>
          <short_desc>[Content Filtering] Tell the filter about requests and redirects</short_desc>
          <delta_ts>2015-04-06 17:31:17 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>128858</blocked>
    
    <blocked>143460</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
    
    <cc>mitz</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1082876</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-04-05 01:59:37 -0700</bug_when>
    <thetext>[Content Filtering] Tell the filter about requests and redirects</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082877</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-04-05 02:01:08 -0700</bug_when>
    <thetext>rdar://problem/19239549</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082878</commentid>
    <comment_count>2</comment_count>
      <attachid>250153</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-04-05 02:15:13 -0700</bug_when>
    <thetext>Created attachment 250153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082879</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-05 02:17:45 -0700</bug_when>
    <thetext>Attachment 250153 did not pass style-queue:


ERROR: Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.mm:85:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 30 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082926</commentid>
    <comment_count>4</comment_count>
      <attachid>250153</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-05 13:15:19 -0700</bug_when>
    <thetext>Comment on attachment 250153
Patch

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

&gt; Source/WebCore/loader/DocumentLoader.cpp:541
&gt; +        ASSERT(!newRequest.isNull());

Why do we assert this rather than handling this and having it cause cancellation/failure?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082933</commentid>
    <comment_count>5</comment_count>
      <attachid>250153</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-04-05 13:38:39 -0700</bug_when>
    <thetext>Comment on attachment 250153
Patch

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

&gt;&gt; Source/WebCore/loader/DocumentLoader.cpp:541
&gt;&gt; +        ASSERT(!newRequest.isNull());
&gt; 
&gt; Why do we assert this rather than handling this and having it cause cancellation/failure?

ContentFilter::willSendRequest() blocks by scheduling a substitute data load which cancels the in-progress load, but now that you mention it, it would make more sense to actually null out newRequest and cancel immediately. I&apos;ll do that instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082978</commentid>
    <comment_count>6</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-04-05 17:24:39 -0700</bug_when>
    <thetext>Committed r182369: &lt;http://trac.webkit.org/changeset/182369&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083099</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-06 09:40:27 -0700</bug_when>
    <thetext>This made one test fail consistently on Win. https://build.webkit.org/builders/Apple%20Win%207%20Release%20(Tests)?numbuilds=50</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083225</commentid>
    <comment_count>8</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-04-06 17:31:17 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=143460 tracks the Windows failure.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250153</attachid>
            <date>2015-04-05 02:15:13 -0700</date>
            <delta_ts>2015-04-05 13:15:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143414-20150405021426.patch</filename>
            <type>text/plain</type>
            <size>28006</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWI1YTEwYTMwZDJkZTUz
NjQ5OTBjZTRjMWZlOGEzZDlmODEwYzdlMi4uZTg3YWMxNDVmMTRlNTc3OWI5ODU0NGJhN2FiNDAy
NjM3OTJkNjdhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE1LTA0LTA1ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29udGVudCBGaWx0ZXJpbmdd
IFRlbGwgdGhlIGZpbHRlciBhYm91dCByZXF1ZXN0cyBhbmQgcmVkaXJlY3RzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDM0MTQKKyAgICAgICAgcmRh
cjovL3Byb2JsZW0vMTkyMzk1NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0czogY29udGVudGZpbHRlcmluZy9hbGxvdy1hZnRlci13aWxsLXNl
bmQtcmVxdWVzdC5odG1sCisgICAgICAgICAgICAgICBjb250ZW50ZmlsdGVyaW5nL2Jsb2NrLWFm
dGVyLXdpbGwtc2VuZC1yZXF1ZXN0Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvY29u
dGVudGZpbHRlcmluZy9hbGxvdy1hZnRlci1yZWRpcmVjdC5odG1sCisgICAgICAgICAgICAgICBo
dHRwL3Rlc3RzL2NvbnRlbnRmaWx0ZXJpbmcvYmxvY2stYWZ0ZXItcmVkaXJlY3QuaHRtbAorCisg
ICAgICAgIE5FRmlsdGVyU291cmNlIHN1cHBvcnRzIG1ha2luZyBmaWx0ZXIgZGVjaXNpb25zIGJh
c2VkIG9uIE5TVVJMUmVxdWVzdHMsIHNvIHRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciB0ZWxs
aW5nCisgICAgICAgIENvbnRlbnRGaWx0ZXIgYWJvdXQgdGhlIG9yaWdpbmFsIG1haW4gcmVzb3Vy
Y2UgcmVxdWVzdCBhcyB3ZWxsIGFzIHJlZGlyZWN0IHJlcXVlc3RzLgorCisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNNb2NrQ29udGVudEZpbHRlclNldHRpbmdzQ3VzdG9tLmNwcDogVXBkYXRlZCBk
ZWNpc2lvblBvaW50IHZhbHVlcyB0byBpbmNsdWRlIEFmdGVyV2lsbFNlbmRSZXF1ZXN0IGFuZCBB
ZnRlclJlZGlyZWN0LgorICAgICAgICAoV2ViQ29yZTo6SlNNb2NrQ29udGVudEZpbHRlclNldHRp
bmdzOjpkZWNpc2lvblBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkpTTW9ja0NvbnRlbnRGaWx0
ZXJTZXR0aW5nczo6c2V0RGVjaXNpb25Qb2ludCk6CisgICAgICAgICogbG9hZGVyL0NvbnRlbnRG
aWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudEZpbHRlcjo6d2lsbFNlbmRSZXF1
ZXN0KTogQ2FsbGVkIHdpbGxTZW5kUmVxdWVzdCgpIG9uIGVhY2ggZmlsdGVyIHVzaW5nIGZvckVh
Y2hDb250ZW50RmlsdGVyVW50aWxCbG9ja2VkKCkuCisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
RmlsdGVyOjpyZWRpcmVjdFJlY2VpdmVkKTogQ2FsbGVkIHdpbGxTZW5kUmVxdWVzdCgpLgorICAg
ICAgICAqIGxvYWRlci9Db250ZW50RmlsdGVyLmg6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjp3aWxsU2VuZFJl
cXVlc3QpOiBDYWxsZWQgQ29udGVudEZpbHRlcjo6d2lsbFNlbmRSZXF1ZXN0KCkgaWYgdGhlcmUg
aXMgYSBjb250ZW50IGZpbHRlci4KKyAgICAgICAgQXNzZXJ0ZWQgdGhhdCB0aGlzIGlzIG5vdCBh
IHJlZGlyZWN0LCBhbmQgdGhhdCBDb250ZW50RmlsdGVyIGRvZXMgbm90IHNldCB0aGUgcmVxdWVz
dCB0byBudWxsLgorICAgICAgICAqIGxvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KTogQ2FsbGVk
IHJlZGlyZWN0UmVjZWl2ZWQoKSBpbnN0ZWFkIG9mIHdpbGxTZW5kUmVxdWVzdCgpLgorICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRSYXdSZXNvdXJjZTo6cmVkaXJlY3RSZWNlaXZlZCk6IFJlbmFtZWQgZnJvbSB3aWxs
U2VuZFJlcXVlc3QoKSwgc2luY2UgdGhpcyBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBkdXJpbmcg
cmVkaXJlY3RzLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmF3UmVzb3VyY2U6OndpbGxTZW5k
UmVxdWVzdCk6IERlbGV0ZWQuCisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291
cmNlLmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpyZWRpcmVjdFJlY2VpdmVkKTogUmVuYW1lZCBm
cm9tIHdpbGxTZW5kUmVxdWVzdCgpLCBzaW5jZSB0aGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVk
IGR1cmluZyByZWRpcmVjdHMuCisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6d2ls
bFNlbmRSZXF1ZXN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybUNvbnRlbnRGaWx0ZXIuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyLm1t
OgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6OndpbGxT
ZW5kUmVxdWVzdCk6IENhbGxlZCByZXNwb25zZVJlY2VpdmVkKCkgaWYgdGhlcmUgd2FzIGEgcmVk
aXJlY3RSZXNwb25zZS4KKyAgICAgICAgVGhlbiBjYWxsZWQgLVtORUZpbHRlclNvdXJjZSB3aWxs
U2VuZFJlcXVlc3Q6ZGVjaXNpb25IYW5kbGVyOl0uCisgICAgICAgICogcGxhdGZvcm0vY29jb2Ev
UGFyZW50YWxDb250cm9sc0NvbnRlbnRGaWx0ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkv
Y29jb2EvTkVGaWx0ZXJTb3VyY2VTUEkuaDogQWRkZWQgYSAjZGVmaW5lIGZvciBORUZpbHRlclNv
dXJjZU9wdGlvbnNQYWdlRGF0YS4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tDb250ZW50RmlsdGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tDb250ZW50RmlsdGVyOjp3aWxsU2VuZFJlcXVl
c3QpOiBBZGRlZCBzdXBwb3J0IGZvciB3aWxsU2VuZFJlcXVlc3QuCisgICAgICAgICogdGVzdGlu
Zy9Nb2NrQ29udGVudEZpbHRlci5oOiBBZGRlZCBkZWNpc2lvbiBwb2ludHMgZm9yIEFmdGVyV2ls
bFNlbmRSZXF1ZXN0IGFuZCBBZnRlclJlZGlyZWN0LgorICAgICAgICAqIHRlc3RpbmcvTW9ja0Nv
bnRlbnRGaWx0ZXJTZXR0aW5ncy5oOgorICAgICAgICAqIHRlc3RpbmcvTW9ja0NvbnRlbnRGaWx0
ZXJTZXR0aW5ncy5pZGw6CisKIDIwMTUtMDQtMDQgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtDb250ZW50IEZpbHRlcmluZ10gQmxvY2tlZCBwYWdlIGlzIG5vdCBh
bHdheXMgZGlzcGxheWVkIHdoZW4gaXQgc2hvdWxkIGJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3NDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNb2NrQ29udGVudEZpbHRlclNldHRpbmdzQ3Vz
dG9tLmNwcAppbmRleCA3MDNlNGI3YWMzZTJlNmQ3ODA1MWE5OWYwNjNlYzU0MWExYmYzZDk4Li44
MzMxODc1MTkwZWVhOTgzNzFiZmI2ZWVlYzAwNzU1YjkyZmY5YTgyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3NDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTW9ja0NvbnRlbnRGaWx0ZXJT
ZXR0aW5nc0N1c3RvbS5jcHAKQEAgLTM5LDE1ICszOSwyMSBAQCB1c2luZyBEZWNpc2lvbiA9IE1v
Y2tDb250ZW50RmlsdGVyU2V0dGluZ3M6OkRlY2lzaW9uOwogdXNpbmcgRGVjaXNpb25Qb2ludCA9
IE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3M6OkRlY2lzaW9uUG9pbnQ7CiAKIC8vIE11c3QgYmUg
a2VwdCBpbiBzeW5jIHdpdGggdmFsdWVzIGluIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaWRs
LgotY29uc3QgdWludDhfdCBkZWNpc2lvblBvaW50QWZ0ZXJSZXNwb25zZSA9IDA7Ci1jb25zdCB1
aW50OF90IGRlY2lzaW9uUG9pbnRBZnRlckFkZERhdGEgPSAxOwotY29uc3QgdWludDhfdCBkZWNp
c2lvblBvaW50QWZ0ZXJGaW5pc2hlZEFkZGluZ0RhdGEgPSAyOworY29uc3QgdWludDhfdCBkZWNp
c2lvblBvaW50QWZ0ZXJXaWxsU2VuZFJlcXVlc3QgPSAwOworY29uc3QgdWludDhfdCBkZWNpc2lv
blBvaW50QWZ0ZXJSZWRpcmVjdCA9IDE7Citjb25zdCB1aW50OF90IGRlY2lzaW9uUG9pbnRBZnRl
clJlc3BvbnNlID0gMjsKK2NvbnN0IHVpbnQ4X3QgZGVjaXNpb25Qb2ludEFmdGVyQWRkRGF0YSA9
IDM7Citjb25zdCB1aW50OF90IGRlY2lzaW9uUG9pbnRBZnRlckZpbmlzaGVkQWRkaW5nRGF0YSA9
IDQ7CiBjb25zdCB1aW50OF90IGRlY2lzaW9uQWxsb3cgPSAwOwogY29uc3QgdWludDhfdCBkZWNp
c2lvbkJsb2NrID0gMTsKIAogSlNWYWx1ZSBKU01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3M6OmRl
Y2lzaW9uUG9pbnQoRXhlY1N0YXRlKikgY29uc3QKIHsKICAgICBzd2l0Y2ggKGltcGwoKS5kZWNp
c2lvblBvaW50KCkpIHsKKyAgICBjYXNlIERlY2lzaW9uUG9pbnQ6OkFmdGVyV2lsbFNlbmRSZXF1
ZXN0OgorICAgICAgICByZXR1cm4ganNOdW1iZXIoZGVjaXNpb25Qb2ludEFmdGVyV2lsbFNlbmRS
ZXF1ZXN0KTsKKyAgICBjYXNlIERlY2lzaW9uUG9pbnQ6OkFmdGVyUmVkaXJlY3Q6CisgICAgICAg
IHJldHVybiBqc051bWJlcihkZWNpc2lvblBvaW50QWZ0ZXJSZWRpcmVjdCk7CiAgICAgY2FzZSBE
ZWNpc2lvblBvaW50OjpBZnRlclJlc3BvbnNlOgogICAgICAgICByZXR1cm4ganNOdW1iZXIoZGVj
aXNpb25Qb2ludEFmdGVyUmVzcG9uc2UpOwogICAgIGNhc2UgRGVjaXNpb25Qb2ludDo6QWZ0ZXJB
ZGREYXRhOgpAQCAtNjcsNiArNzMsMTIgQEAgdm9pZCBKU01vY2tDb250ZW50RmlsdGVyU2V0dGlu
Z3M6OnNldERlY2lzaW9uUG9pbnQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHUKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgc3dpdGNoIChuYXRpdmVWYWx1ZSkgeworICAgIGNhc2UgZGVjaXNp
b25Qb2ludEFmdGVyV2lsbFNlbmRSZXF1ZXN0OgorICAgICAgICBpbXBsKCkuc2V0RGVjaXNpb25Q
b2ludChEZWNpc2lvblBvaW50OjpBZnRlcldpbGxTZW5kUmVxdWVzdCk7CisgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIGRlY2lzaW9uUG9pbnRBZnRlclJlZGlyZWN0OgorICAgICAgICBpbXBsKCku
c2V0RGVjaXNpb25Qb2ludChEZWNpc2lvblBvaW50OjpBZnRlclJlZGlyZWN0KTsKKyAgICAgICAg
cmV0dXJuOwogICAgIGNhc2UgZGVjaXNpb25Qb2ludEFmdGVyUmVzcG9uc2U6CiAgICAgICAgIGlt
cGwoKS5zZXREZWNpc2lvblBvaW50KERlY2lzaW9uUG9pbnQ6OkFmdGVyUmVzcG9uc2UpOwogICAg
ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ29udGVudEZp
bHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ29udGVudEZpbHRlci5jcHAKaW5kZXgg
ZGUwMjhmZTRiMWFhZWEyYzBlNmUyODY4OTJhMTkxYzZmZWJjNDk1MC4uZmFjZGMyMzY3ZjBiYmVk
NDVjZWQyZTI4ZWNhMWFkM2ZiNTVlMWFmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0NvbnRlbnRGaWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db250ZW50
RmlsdGVyLmNwcApAQCAtODQsNiArODQsMTQgQEAgQ29udGVudEZpbHRlcjo6fkNvbnRlbnRGaWx0
ZXIoKQogICAgIG1fbWFpblJlc291cmNlLT5yZW1vdmVDbGllbnQodGhpcyk7CiB9CiAKK3ZvaWQg
Q29udGVudEZpbHRlcjo6d2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkKK3sKKyAgICBBU1NFUlQo
bV9zdGF0ZSA9PSBTdGF0ZTo6SW5pdGlhbGl6ZWQgfHwgbV9zdGF0ZSA9PSBTdGF0ZTo6RmlsdGVy
aW5nKTsKKyAgICBmb3JFYWNoQ29udGVudEZpbHRlclVudGlsQmxvY2tlZChbJnJlcXVlc3QsICZy
ZWRpcmVjdFJlc3BvbnNlXShQbGF0Zm9ybUNvbnRlbnRGaWx0ZXImIGNvbnRlbnRGaWx0ZXIpIHsK
KyAgICAgICAgY29udGVudEZpbHRlci53aWxsU2VuZFJlcXVlc3QocmVxdWVzdCwgcmVkaXJlY3RS
ZXNwb25zZSk7CisgICAgfSk7Cit9CisKIHZvaWQgQ29udGVudEZpbHRlcjo6c3RhcnRGaWx0ZXJp
bmdNYWluUmVzb3VyY2UoQ2FjaGVkUmF3UmVzb3VyY2UmIHJlc291cmNlKQogewogICAgIEFTU0VS
VChtX3N0YXRlID09IFN0YXRlOjpJbml0aWFsaXplZCk7CkBAIC0xMzYsNiArMTQ0LDEzIEBAIHZv
aWQgQ29udGVudEZpbHRlcjo6ZGF0YVJlY2VpdmVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwg
Y29uc3QgY2hhciogZGF0YSwgaW50CiAgICAgfSk7CiB9CiAKK3ZvaWQgQ29udGVudEZpbHRlcjo6
cmVkaXJlY3RSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkKK3sK
KyAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6RmlsdGVyaW5nKTsKKyAgICBBU1NFUlRfVU5V
U0VEKHJlc291cmNlLCByZXNvdXJjZSA9PSBtX21haW5SZXNvdXJjZS5nZXQoKSk7CisgICAgd2ls
bFNlbmRSZXF1ZXN0KHJlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UpOworfQorCiB2b2lkIENvbnRl
bnRGaWx0ZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICAg
ICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6RmlsdGVyaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Db250ZW50RmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Q29udGVudEZpbHRlci5oCmluZGV4IDA3MjkyNWJmYTM2MmJkZDIyMDcxMzVkNDZiY2NlZDNjMmRi
OGQ2MjAuLmI0ZTlkZDljMGZkNmQ5YmQ2YzkzYjgxY2FhZTk5MGJjMDQyMTZiNzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Db250ZW50RmlsdGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0NvbnRlbnRGaWx0ZXIuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgY29uc3QgY2hhciogdXJsU2NoZW1lKCkgeyByZXR1cm4gIngtYXBwbGUtY29u
dGVudC1maWx0ZXIiOyB9CiAKKyAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVl
c3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgdm9pZCBzdGFydEZpbHRlcmluZ01h
aW5SZXNvdXJjZShDYWNoZWRSYXdSZXNvdXJjZSYpOwogCiAgICAgZW51bSBjbGFzcyBTdGF0ZSB7
CkBAIC04MSw2ICs4Miw3IEBAIHByaXZhdGU6CiAgICAgLy8gQ2FjaGVkUmF3UmVzb3VyY2VDbGll
bnQKICAgICB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkYXRhUmVjZWl2ZWQoQ2FjaGVkUmVz
b3VyY2UqLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKSBvdmVycmlkZTsKKyAgICB2b2lk
IHJlZGlyZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CiAKICAgICAvLyBDYWNoZWRSZXNvdXJjZUNs
aWVudAogICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqKSBvdmVycmlkZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDNmNWUxMmRhOGQ4
OTNhNjA0NzM1YTkzNTA1MTVkYzliMzc5YTgzNWYuLjE5NTdhNGI3YWVlOWRmZGEwOGM3YTBkMWVl
NWQ5YTFjNzk0YjY3OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNw
cApAQCAtNTM0LDYgKzUzNCwxNCBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjp3aWxsU2VuZFJlcXVl
c3QoUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZQogICAgICAgICB9
CiAgICAgfQogCisjaWYgRU5BQkxFKENPTlRFTlRfRklMVEVSSU5HKQorICAgIGlmIChtX2NvbnRl
bnRGaWx0ZXIpIHsKKyAgICAgICAgQVNTRVJUKHJlZGlyZWN0UmVzcG9uc2UuaXNOdWxsKCkpOwor
ICAgICAgICBtX2NvbnRlbnRGaWx0ZXItPndpbGxTZW5kUmVxdWVzdChuZXdSZXF1ZXN0LCByZWRp
cmVjdFJlc3BvbnNlKTsKKyAgICAgICAgQVNTRVJUKCFuZXdSZXF1ZXN0LmlzTnVsbCgpKTsKKyAg
ICB9CisjZW5kaWYKKwogICAgIHNldFJlcXVlc3QobmV3UmVxdWVzdCk7CiAKICAgICBpZiAoIXJl
ZGlyZWN0UmVzcG9uc2UuaXNOdWxsKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IGI3MjZjOTQyZjZjODcwOTlkNGNkMjhiODQwYjRmNWI3NmEy
OGQ4MzkuLmJiZjE1OTNiODgyZTQ3MTk5NjRkYjNhN2E5MjgyNmFkZDU0ZGVhMmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAtMTc5LDcgKzE3OSw3
IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVl
c3QmIG5ld1JlcXVlc3QsIGNvbnN0IFJlc291CiAgICAgICAgICAgICBjYW5jZWwoKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICBtX3Jlc291cmNlLT53aWxsU2VuZFJl
cXVlc3QobmV3UmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7CisgICAgICAgIG1fcmVzb3VyY2Ut
PnJlZGlyZWN0UmVjZWl2ZWQobmV3UmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgfQog
CiAgICAgaWYgKG5ld1JlcXVlc3QuaXNOdWxsKCkgfHwgcmVhY2hlZFRlcm1pbmFsU3RhdGUoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJj
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuY3Bw
CmluZGV4IDgzM2RhNjYyYTcwZmYwZmM0ZGY3ZTU5YjE3MDdiOTVhNmY3ZWQ0YWIuLjMxNjEyN2Ix
NDEwYjQzYzE4ZWM1YzFlOTBiZGYxNmM5ZjRhOTEzMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmNwcApAQCAtMTU2LDcgKzE1Niw3IEBA
IHZvaWQgQ2FjaGVkUmF3UmVzb3VyY2U6OmFsbENsaWVudHNSZW1vdmVkKCkKICAgICAgICAgbV9s
b2FkZXItPmNhbmNlbElmTm90RmluaXNoaW5nKCk7CiB9CiAKLXZvaWQgQ2FjaGVkUmF3UmVzb3Vy
Y2U6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQordm9pZCBDYWNoZWRSYXdSZXNvdXJjZTo6cmVkaXJlY3RS
ZWNlaXZlZChSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlKQogewogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJhd1Jlc291cmNl
PiBwcm90ZWN0KHRoaXMpOwogICAgIGlmICghcmVzcG9uc2UuaXNOdWxsKCkpIHsKQEAgLTE2NSw3
ICsxNjUsNyBAQCB2b2lkIENhY2hlZFJhd1Jlc291cmNlOjp3aWxsU2VuZFJlcXVlc3QoUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZQogICAgICAgICAgICAgYy0+cmVkaXJl
Y3RSZWNlaXZlZCh0aGlzLCByZXF1ZXN0LCByZXNwb25zZSk7CiAgICAgICAgIG1fcmVkaXJlY3RD
aGFpbi5hcHBlbmQoUmVkaXJlY3RQYWlyKHJlcXVlc3QsIHJlc3BvbnNlKSk7CiAgICAgfQotICAg
IENhY2hlZFJlc291cmNlOjp3aWxsU2VuZFJlcXVlc3QocmVxdWVzdCwgcmVzcG9uc2UpOworICAg
IENhY2hlZFJlc291cmNlOjpyZWRpcmVjdFJlY2VpdmVkKHJlcXVlc3QsIHJlc3BvbnNlKTsKIH0K
IAogdm9pZCBDYWNoZWRSYXdSZXNvdXJjZTo6cmVzcG9uc2VSZWNlaXZlZChjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSYXdSZXNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJhd1Jlc291cmNlLmgKaW5kZXggMmNkNDU1YWNiMjUxZDA4MWZjMzRlYzBjYzA2YmI5OWUz
NTFhMTFjNC4uMWQ0MzJjYjVhYzJkMzY4YWUyZjMwZjMxM2FlODM3OWY3ODUxMGU3ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJhd1Jlc291cmNlLmgKQEAgLTU1
LDcgKzU1LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSWdub3JlSFRUUFN0
YXR1c0NvZGVFcnJvcnMoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmly
dHVhbCB2b2lkIGFsbENsaWVudHNSZW1vdmVkKCkgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgd2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVkaXJlY3RSZWNlaXZlZChSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXNT
ZW50LCB1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxCeXRlc1RvQmVTZW50KSBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXgg
OTMzMTY2MDM5ZWZiMzhiY2E2NzM0NTkyZWU5ZTg5YjZmMTQ3ZDRmZC4uM2U4NjM4Njg0NTZlOTU0
NjI4N2I0YWMyYTEwYjg1ZDIzNjc0M2U0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC0zNjIsNyArMzYyLDcgQEAgc3RkOjpjaHJvbm86
Om1pY3Jvc2Vjb25kcyBDYWNoZWRSZXNvdXJjZTo6ZnJlc2huZXNzTGlmZXRpbWUoY29uc3QgUmVz
b3VyY2VSZXNwb24KICAgICByZXR1cm4gY29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZh
bWlseShyZXNwb25zZSwgbV9yZXNwb25zZVRpbWVzdGFtcCk7CiB9CiAKLXZvaWQgQ2FjaGVkUmVz
b3VyY2U6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSkKK3ZvaWQgQ2FjaGVkUmVzb3VyY2U6OnJlZGlyZWN0UmVjZWl2ZWQo
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAg
ICAgbV9yZXF1ZXN0ZWRGcm9tTmV0d29ya2luZ0xheWVyID0gdHJ1ZTsKICAgICBpZiAocmVzcG9u
c2UuaXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5oCmluZGV4IDc5MmY0ZTA4N2ZjN2Y4OGRkMTJkMWRlNThmZDg0NjAxNmQ1NWMyNmMuLjdlZTZh
NjgyZjIzMjhjNjdmYWNkODFmYjVhMDFkNTE1YjRkNjNhZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC0xOTMsNyArMTkzLDcgQEAgcHVibGlj
OgogCiAgICAgU2hhcmVkQnVmZmVyKiByZXNvdXJjZUJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJuIG1f
ZGF0YS5nZXQoKTsgfQogCi0gICAgdmlydHVhbCB2b2lkIHdpbGxTZW5kUmVxdWVzdChSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgdmlydHVhbCB2b2lkIHJl
ZGlyZWN0UmVjZWl2ZWQoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYp
OwogICAgIHZpcnR1YWwgdm9pZCByZXNwb25zZVJlY2VpdmVkKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKTsKICAgICB2b2lkIHNldFJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlKSB7IG1fcmVzcG9uc2UgPSByZXNwb25zZTsgfQogICAgIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Db250ZW50RmlsdGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUNvbnRlbnRGaWx0ZXIuaAppbmRleCBmMWQzOWNkMzIy
ZjFmNGEyNzYwODExZDE0NTQ5ZjVkMjFjMmEzYjNlLi5kMWUzY2MzZGUwMTU0ZTZjYzMxZTg1OWNk
NjQ0MzA2NGIzNTQxMGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybUNvbnRlbnRGaWx0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9y
bUNvbnRlbnRGaWx0ZXIuaApAQCAtMzIsNiArMzIsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDb250ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXI7CitjbGFzcyBSZXNvdXJjZVJlcXVl
c3Q7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCkBAIC00
NCw2ICs0NSw3IEBAIHByb3RlY3RlZDoKIAogcHVibGljOgogICAgIHZpcnR1YWwgflBsYXRmb3Jt
Q29udGVudEZpbHRlcigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCB3aWxsU2VuZFJlcXVlc3QoUmVz
b3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgcmVzcG9uc2VSZWNlaXZlZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBhZGREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgZmluaXNoZWRBZGRpbmdEYXRhKCkgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL05ldHdvcmtFeHRlbnNpb25Db250
ZW50RmlsdGVyLmgKaW5kZXggNTJlZmNiYzYzOGQyNWE4NDUzODVhZGFhZjhiYTYzNzZiMDk2NzVl
ZS4uYmExNDE3MzhjMjI5NDc1MDNiNzE5Y2E5YzY5MmM2ZmUxYzExMjM2MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9u
Q29udGVudEZpbHRlci5oCkBAIC0zOCw5ICszOCw2IEBAIGVudW0gTkVGaWx0ZXJTb3VyY2VTdGF0
dXMgOiBOU0ludGVnZXI7CiAKIE9CSkNfQ0xBU1MgTkVGaWx0ZXJTb3VyY2U7CiBPQkpDX0NMQVNT
IE5TRGF0YTsKLU9CSkNfQ0xBU1MgTlNEaWN0aW9uYXJ5OwotT0JKQ19DTEFTUyBOU011dGFibGVE
YXRhOwotT0JKQ19DTEFTUyBOU1N0cmluZzsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
TmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIgZmluYWwgOiBwdWJsaWMgUGxhdGZvcm1Db250
ZW50RmlsdGVyIHsKQEAgLTUwLDYgKzQ3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGVu
YWJsZWQoKTsKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtFeHRlbnNpb25Db250
ZW50RmlsdGVyPiBjcmVhdGUoKTsKIAorICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KFJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKICAgICB2b2lkIHJl
c3BvbnNlUmVjZWl2ZWQoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRlOwogICAgIHZv
aWQgYWRkRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKSBvdmVycmlkZTsKICAgICB2
b2lkIGZpbmlzaGVkQWRkaW5nRGF0YSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRl
ci5tbQppbmRleCA5ZDdlNjZmNDRjZjBjMmY4NGU2ZDAxMjcxYmMyNWNiOGRkYmQ2NWIyLi45MWUz
ZDViZDE3YTY0YzVjM2I4YjJkMjc4Mzk1MDZkYWMyYjc5ZGZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlci5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVu
dEZpbHRlci5tbQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW1wb3J0ICJDb250ZW50RmlsdGVyVW5i
bG9ja0hhbmRsZXIuaCIKICNpbXBvcnQgIk5FRmlsdGVyU291cmNlU1BJLmgiCisjaW1wb3J0ICJS
ZXNvdXJjZVJlcXVlc3QuaCIKICNpbXBvcnQgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbXBvcnQg
IlNoYXJlZEJ1ZmZlci5oIgogI2ltcG9ydCAiU29mdExpbmtpbmcuaCIKQEAgLTcxLDYgKzcyLDMw
IEBAIE5ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjpOZXR3b3JrRXh0ZW5zaW9uQ29udGVu
dEZpbHRlcigpCiAgICAgQVNTRVJUKFtnZXRORUZpbHRlclNvdXJjZUNsYXNzKCkgZmlsdGVyUmVx
dWlyZWRdKTsKIH0KIAordm9pZCBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlcjo6d2lsbFNl
bmRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVkaXJlY3RSZXNwb25zZSkKK3sKKyNpZiBIQVZFKE1PREVSTl9ORV9GSUxURVJfU09VUkNF
KQorICAgIEFTU0VSVCghcmVxdWVzdC5pc051bGwoKSk7CisgICAgaWYgKCFyZWRpcmVjdFJlc3Bv
bnNlLmlzTnVsbCgpKSB7CisgICAgICAgIHJlc3BvbnNlUmVjZWl2ZWQocmVkaXJlY3RSZXNwb25z
ZSk7CisgICAgICAgIGlmICghbmVlZHNNb3JlRGF0YSgpKQorICAgICAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIFttX25lRmlsdGVyU291cmNlIHdpbGxTZW5kUmVxdWVzdDpyZXF1ZXN0Lm5z
VVJMUmVxdWVzdChEb05vdFVwZGF0ZUhUVFBCb2R5KSBkZWNpc2lvbkhhbmRsZXI6W3RoaXNdKE5F
RmlsdGVyU291cmNlU3RhdHVzIHN0YXR1cywgTlNEaWN0aW9uYXJ5ICpkZWNpc2lvbkluZm8pIHsK
KyAgICAgICAgaGFuZGxlRGVjaXNpb24oc3RhdHVzLCByZXBsYWNlbWVudERhdGFGcm9tRGVjaXNp
b25JbmZvKGRlY2lzaW9uSW5mbykpOworICAgIH1dOworCisgICAgLy8gRklYTUU6IFdlIGhhdmUg
dG8gYmxvY2sgaGVyZSBzaW5jZSBEb2N1bWVudExvYWRlciBleHBlY3RzIHRvIGhhdmUgYQorICAg
IC8vIGJsb2NrZWQvbm90IGJsb2NrZWQgYW5zd2VyIGZyb20gdGhlIGZpbHRlciBpbW1lZGlhdGVs
eSBhZnRlciBjYWxsaW5nCisgICAgLy8gYWRkRGF0YSgpLiBXZSBzaG91bGQgZmluZCBhIHdheSB0
byBtYWtlIHRoaXMgYXN5bmNocm9ub3VzLgorICAgIGRpc3BhdGNoX3NlbWFwaG9yZV93YWl0KG1f
c2VtYXBob3JlLmdldCgpLCBESVNQQVRDSF9USU1FX0ZPUkVWRVIpOworI2Vsc2UKKyAgICBVTlVT
RURfUEFSQU0ocmVxdWVzdCk7CisgICAgVU5VU0VEX1BBUkFNKHJlZGlyZWN0UmVzcG9uc2UpOwor
I2VuZGlmCit9CisKIHZvaWQgTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6OnJlc3BvbnNl
UmVjZWl2ZWQoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAgaWYgKCFy
ZXNwb25zZS51cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BhcmVudGFsQ29udHJvbHNDb250ZW50RmlsdGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QYXJlbnRhbENvbnRyb2xzQ29udGVu
dEZpbHRlci5oCmluZGV4IDc5OTBhZDIyZTQ2OGIyYjE1NTIyZmVkZGRhMGI0OGM4ZWU4ZGFjNGMu
LjUzZDc5YWQ4NjE3ODNmNDdlZmI4Mjc4ODExMWM0NjFiNjIwNjhiNWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BhcmVudGFsQ29udHJvbHNDb250ZW50RmlsdGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGFyZW50YWxDb250cm9sc0Nv
bnRlbnRGaWx0ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wg
ZW5hYmxlZCgpOwogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UGFyZW50YWxDb250cm9sc0Nv
bnRlbnRGaWx0ZXI+IGNyZWF0ZSgpOwogCisgICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoUmVzb3Vy
Y2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIG92ZXJyaWRlIHsgfQogICAgIHZv
aWQgcmVzcG9uc2VSZWNlaXZlZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBhZGREYXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpIG92ZXJyaWRlOwog
ICAgIHZvaWQgZmluaXNoZWRBZGRpbmdEYXRhKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvTkVGaWx0ZXJTb3VyY2VTUEkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9ORUZpbHRlclNvdXJjZVNQSS5oCmluZGV4IDJl
YjMxYTE1YTNiYmZmZDg0NzM4MWQxYmY0ZjY5ZTFkMjU2YWJkNGEuLjVlNzY0MGEzYjAzOTUzOTJi
NWI2ZjIzNWRiNmZmY2QzYjNkYmZiMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NwaS9jb2NvYS9ORUZpbHRlclNvdXJjZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NwaS9jb2NvYS9ORUZpbHRlclNvdXJjZVNQSS5oCkBAIC01OCw2ICs1OCw5IEBAIHR5
cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIE5FRmlsdGVyU291cmNlRGlyZWN0aW9uKSB7CiBAZW5k
CiAKICNpZiBIQVZFKE1PREVSTl9ORV9GSUxURVJfU09VUkNFKQorCisjZGVmaW5lIE5FRmlsdGVy
U291cmNlT3B0aW9uc1BhZ2VEYXRhIEAiUGFnZURhdGEiCisKIHR5cGVkZWYgdm9pZCAoXk5FRmls
dGVyU291cmNlRGVjaXNpb25IYW5kbGVyKShORUZpbHRlclNvdXJjZVN0YXR1cywgTlNEaWN0aW9u
YXJ5ICopOwogCiBAaW50ZXJmYWNlIE5FRmlsdGVyU291cmNlIChXS01vZGVybkRldGFpbHMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tDb250ZW50RmlsdGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NvbnRlbnRGaWx0ZXIuY3BwCmluZGV4IDdkZTUw
ZjlkY2Y2MTIxYWZhZjFlYTk4Y2ZkYTY4OTljMTM3NzczMjkuLmYyN2VlN2RhZjNmY2E4NDU3ODc3
Y2JmNGUxZjZiMWYxMDgyY2NlYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja0NvbnRlbnRGaWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0Nv
bnRlbnRGaWx0ZXIuY3BwCkBAIC0zMCw2ICszMCw4IEBACiAKICNpbmNsdWRlICJDb250ZW50Rmls
dGVyLmgiCiAjaW5jbHVkZSAiQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmgiCisjaW5jbHVk
ZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2lu
Y2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0NTdHJpbmcuaD4KQEAgLTYzLDYgKzY1LDE0IEBAIHN0ZDo6dW5pcXVlX3B0cjxNb2NrQ29u
dGVudEZpbHRlcj4gTW9ja0NvbnRlbnRGaWx0ZXI6OmNyZWF0ZSgpCiAgICAgcmV0dXJuIHN0ZDo6
bWFrZV91bmlxdWU8TW9ja0NvbnRlbnRGaWx0ZXI+KCk7CiB9CiAKK3ZvaWQgTW9ja0NvbnRlbnRG
aWx0ZXI6OndpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKQoreworICAgIGlmIChyZWRpcmVjdFJlc3BvbnNlLmlz
TnVsbCgpKQorICAgICAgICBtYXliZURldGVybWluZVN0YXR1cyhEZWNpc2lvblBvaW50OjpBZnRl
cldpbGxTZW5kUmVxdWVzdCk7CisgICAgZWxzZQorICAgICAgICBtYXliZURldGVybWluZVN0YXR1
cyhEZWNpc2lvblBvaW50OjpBZnRlclJlZGlyZWN0KTsKK30KKwogdm9pZCBNb2NrQ29udGVudEZp
bHRlcjo6cmVzcG9uc2VSZWNlaXZlZChjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikKIHsKICAgICBt
YXliZURldGVybWluZVN0YXR1cyhEZWNpc2lvblBvaW50OjpBZnRlclJlc3BvbnNlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NvbnRlbnRGaWx0ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NvbnRlbnRGaWx0ZXIuaAppbmRleCBkOTA1M2IwZDgwZTJi
NDQ5N2U0ZWRlODEwOWRhMjRmYThmNDI1MDg3Li40YWNiZTQ5ZDk2ODY0MzljNGI2N2I0YzM4ODE1
NzZmOWY3ZjM5NGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tDb250
ZW50RmlsdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ29udGVudEZpbHRl
ci5oCkBAIC0zOSw2ICszOSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBlbmFibGVkKCk7
CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxNb2NrQ29udGVudEZpbHRlcj4gY3JlYXRlKCk7
CiAKKyAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJikgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXNwb25zZVJlY2VpdmVkKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmKSBvdmVycmlkZTsKICAgICB2b2lkIGFkZERhdGEoY29uc3QgY2hh
ciogZGF0YSwgaW50IGxlbmd0aCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBmaW5pc2hlZEFkZGluZ0Rh
dGEoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0Nv
bnRlbnRGaWx0ZXJTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ29udGVu
dEZpbHRlclNldHRpbmdzLmgKaW5kZXggODY2M2QxMjIyNDRhNWIyNTg5YmU1NDViNTEwZjIyZDc5
ODhiYmI3YS4uMzZhMTBiMGUwZmFkYjE3MzcxYjk0NTA0Nzc2NzQ0NTE1MGUyNGI0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmgK
QEAgLTM2LDYgKzM2LDggQEAgY2xhc3MgTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncyB7CiAKIHB1
YmxpYzoKICAgICBlbnVtIGNsYXNzIERlY2lzaW9uUG9pbnQgeworICAgICAgICBBZnRlcldpbGxT
ZW5kUmVxdWVzdCwKKyAgICAgICAgQWZ0ZXJSZWRpcmVjdCwKICAgICAgICAgQWZ0ZXJSZXNwb25z
ZSwKICAgICAgICAgQWZ0ZXJBZGREYXRhLAogICAgICAgICBBZnRlckZpbmlzaGVkQWRkaW5nRGF0
YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ29udGVudEZpbHRlclNl
dHRpbmdzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0NvbnRlbnRGaWx0ZXJTZXR0
aW5ncy5pZGwKaW5kZXggZTg2YjMxMjdjNTkzMDFhMzA4NWMxMTRmZDJjNTIzZTBmOWRjMzAxMy4u
ODMwMjFiYWNlY2Y1MmFjNDRiMDUxNmQ3N2Y0ZmQxNGFmOGNjMjRiYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaWRsCkBAIC0z
MSw5ICszMSwxMSBAQAogICAgIGF0dHJpYnV0ZSBib29sZWFuIGVuYWJsZWQ7CiAgICAgYXR0cmli
dXRlIERPTVN0cmluZyBibG9ja2VkU3RyaW5nOwogCi0gICAgY29uc3Qgb2N0ZXQgREVDSVNJT05f
UE9JTlRfQUZURVJfUkVTUE9OU0UgPSAwOwotICAgIGNvbnN0IG9jdGV0IERFQ0lTSU9OX1BPSU5U
X0FGVEVSX0FERF9EQVRBID0gMTsKLSAgICBjb25zdCBvY3RldCBERUNJU0lPTl9QT0lOVF9BRlRF
Ul9GSU5JU0hFRF9BRERJTkdfREFUQSA9IDI7CisgICAgY29uc3Qgb2N0ZXQgREVDSVNJT05fUE9J
TlRfQUZURVJfV0lMTF9TRU5EX1JFUVVFU1QgPSAwOworICAgIGNvbnN0IG9jdGV0IERFQ0lTSU9O
X1BPSU5UX0FGVEVSX1JFRElSRUNUID0gMTsKKyAgICBjb25zdCBvY3RldCBERUNJU0lPTl9QT0lO
VF9BRlRFUl9SRVNQT05TRSA9IDI7CisgICAgY29uc3Qgb2N0ZXQgREVDSVNJT05fUE9JTlRfQUZU
RVJfQUREX0RBVEEgPSAzOworICAgIGNvbnN0IG9jdGV0IERFQ0lTSU9OX1BPSU5UX0FGVEVSX0ZJ
TklTSEVEX0FERElOR19EQVRBID0gNDsKICAgICBbQ3VzdG9tXSBhdHRyaWJ1dGUgb2N0ZXQgZGVj
aXNpb25Qb2ludDsKIAogICAgIGNvbnN0IG9jdGV0IERFQ0lTSU9OX0FMTE9XID0gMDsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBlY2FhOTZmYzVlNjUyNmNhOTcyZjA1YTc2NGU5MTBlZmYwZTRiMzk3Li4zZmM0ZTZjMThjMjU5
ZTQ3YjNiMmFlNzZkNjU4NGEzMzE2ZjRkNDBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTUt
MDQtMDUgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtDb250ZW50
IEZpbHRlcmluZ10gVGVsbCB0aGUgZmlsdGVyIGFib3V0IHJlcXVlc3RzIGFuZCByZWRpcmVjdHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzQxNAor
ICAgICAgICByZGFyOi8vcHJvYmxlbS8xOTIzOTU0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogY29udGVudGZpbHRlcmluZy9hbGxvdy1hZnRlci13
aWxsLXNlbmQtcmVxdWVzdC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb250ZW50
ZmlsdGVyaW5nL2FsbG93LWFmdGVyLXdpbGwtc2VuZC1yZXF1ZXN0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNvbnRlbnRmaWx0ZXJpbmcvYmxvY2stYWZ0ZXItd2lsbC1zZW5kLXJlcXVlc3QtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY29udGVudGZpbHRlcmluZy9ibG9jay1hZnRl
ci13aWxsLXNlbmQtcmVxdWVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nv
bnRlbnRmaWx0ZXJpbmcvYWxsb3ctYWZ0ZXItcmVkaXJlY3QtZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9jb250ZW50ZmlsdGVyaW5nL2FsbG93LWFmdGVyLXJlZGly
ZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29udGVudGZpbHRlcmluZy9i
bG9jay1hZnRlci1yZWRpcmVjdC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL2NvbnRlbnRmaWx0ZXJpbmcvYmxvY2stYWZ0ZXItcmVkaXJlY3QuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9jb250ZW50ZmlsdGVyaW5nL3Jlc291cmNlcy9mYWlsLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29udGVudGZpbHRlcmluZy9yZXNvdXJj
ZXMvcGFzcy5odG1sOiBBZGRlZC4KKwogMjAxNS0wNC0wNCAgQW5keSBFc3RlcyAgPGFlc3Rlc0Bh
cHBsZS5jb20+CiAKICAgICAgICAgW0NvbnRlbnQgRmlsdGVyaW5nXSBCbG9ja2VkIHBhZ2UgaXMg
bm90IGFsd2F5cyBkaXNwbGF5ZWQgd2hlbiBpdCBzaG91bGQgYmUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbnRlbnRmaWx0ZXJpbmcvYWxsb3ctYWZ0ZXItd2lsbC1zZW5kLXJlcXVlc3QtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NvbnRlbnRmaWx0ZXJpbmcvYWxsb3ctYWZ0ZXItd2ls
bC1zZW5kLXJlcXVlc3QtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYmQ5MmFkYWZmZGZkZDBk
YmU1YmRjNWY1YWIxMzFhZWE1ODIzNjI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y29udGVudGZpbHRlcmluZy9hbGxvdy1hZnRlci13aWxsLXNlbmQtcmVxdWVzdC1leHBlY3RlZC5o
dG1sCkBAIC0wLDAgKzEsMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aWZyYW1lIHNyYz0iZGF0YTp0
ZXh0L2h0bWwsPCFET0NUWVBFIGh0bWw+PGJvZHk+UEFTUyI+PC9pZnJhbWU+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jb250ZW50ZmlsdGVyaW5nL2FsbG93LWFmdGVyLXdpbGwtc2VuZC1yZXF1
ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb250ZW50ZmlsdGVyaW5nL2FsbG93LWFmdGVyLXdpbGwt
c2VuZC1yZXF1ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTE1YWU1OWY3OWI2YTYwMTY5NjhiODc4ZmFm
N2IxODI3ODM1MmJmZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbnRlbnRmaWx0
ZXJpbmcvYWxsb3ctYWZ0ZXItd2lsbC1zZW5kLXJlcXVlc3QuaHRtbApAQCAtMCwwICsxLDggQEAK
KzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jb250ZW50ZmlsdGVyaW5n
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHZh
ciBzZXR0aW5ncyA9IHdpbmRvdy5pbnRlcm5hbHMubW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5nczsK
KyAgICB0ZXN0Q29udGVudEZpbHRlcmluZygvKiBkZWNpc2lvblBvaW50ICovc2V0dGluZ3MuREVD
SVNJT05fUE9JTlRfQUZURVJfV0lMTF9TRU5EX1JFUVVFU1QsIC8qIGRlY2lzaW9uICovc2V0dGlu
Z3MuREVDSVNJT05fQUxMT1cpOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jb250ZW50ZmlsdGVyaW5nL2Jsb2NrLWFmdGVyLXdpbGwtc2VuZC1yZXF1ZXN0LWV4cGVjdGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb250ZW50ZmlsdGVyaW5nL2Jsb2NrLWFmdGVyLXdpbGwtc2Vu
ZC1yZXF1ZXN0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmJkOTJhZGFmZmRmZGQwZGJlNWJk
YzVmNWFiMTMxYWVhNTgyMzYyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbnRl
bnRmaWx0ZXJpbmcvYmxvY2stYWZ0ZXItd2lsbC1zZW5kLXJlcXVlc3QtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGlmcmFtZSBzcmM9ImRhdGE6dGV4dC9o
dG1sLDwhRE9DVFlQRSBodG1sPjxib2R5PlBBU1MiPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY29udGVudGZpbHRlcmluZy9ibG9jay1hZnRlci13aWxsLXNlbmQtcmVxdWVzdC5o
dG1sIGIvTGF5b3V0VGVzdHMvY29udGVudGZpbHRlcmluZy9ibG9jay1hZnRlci13aWxsLXNlbmQt
cmVxdWVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjOWY2NmVlYmMxMWFiMzdjYTk1MDEzZjAwYTkyNjMz
Y2MzMzc5ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb250ZW50ZmlsdGVyaW5n
L2Jsb2NrLWFmdGVyLXdpbGwtc2VuZC1yZXF1ZXN0Lmh0bWwKQEAgLTAsMCArMSw4IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY29udGVudGZpbHRlcmluZy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB2YXIgc2V0
dGluZ3MgPSB3aW5kb3cuaW50ZXJuYWxzLm1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3M7CisgICAg
dGVzdENvbnRlbnRGaWx0ZXJpbmcoLyogZGVjaXNpb25Qb2ludCAqL3NldHRpbmdzLkRFQ0lTSU9O
X1BPSU5UX0FGVEVSX1dJTExfU0VORF9SRVFVRVNULCAvKiBkZWNpc2lvbiAqL3NldHRpbmdzLkRF
Q0lTSU9OX0JMT0NLKTsKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb250ZW50ZmlsdGVyaW5nL2FsbG93LWFmdGVyLXJlZGlyZWN0LWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRmaWx0ZXJpbmcvYWxsb3ctYWZ0ZXIt
cmVkaXJlY3QtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTJjYzk1MGJlOGNmMDc2NmIzZmEz
YzQ3NjY3NGE2OWVlMTc2YTgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb250ZW50ZmlsdGVyaW5nL2FsbG93LWFmdGVyLXJlZGlyZWN0LWV4cGVjdGVkLmh0bWwK
QEAgLTAsMCArMSwzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPGlmcmFtZSBzcmM9InJl
c291cmNlcy9wYXNzLmh0bWwiPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb250ZW50ZmlsdGVyaW5nL2FsbG93LWFmdGVyLXJlZGlyZWN0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRmaWx0ZXJpbmcvYWxsb3ctYWZ0ZXItcmVkaXJlY3Qu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wOGJjMjA4YzVjMTQ2NWQ5MGZiZjdiZTFiMjBhZGRmM2JhNWJkYzVi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZmlsdGVy
aW5nL2FsbG93LWFmdGVyLXJlZGlyZWN0Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB2YXIgc2V0dGlu
Z3MgPSB3aW5kb3cuaW50ZXJuYWxzLm1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3M7CisgICAgc2V0
dGluZ3MuZW5hYmxlZCA9IHRydWU7CisgICAgc2V0dGluZ3MuZGVjaXNpb25Qb2ludCA9IHNldHRp
bmdzLkRFQ0lTSU9OX1BPSU5UX0FGVEVSX1JFRElSRUNUOworICAgIHNldHRpbmdzLmRlY2lzaW9u
ID0gc2V0dGluZ3MuREVDSVNJT05fQUxMT1c7CisgICAgc2V0dGluZ3MuYmxvY2tlZFN0cmluZyA9
ICI8IURPQ1RZUEUgaHRtbD48Ym9keT5GQUlMIjsKK30KKzwvc2NyaXB0PgorPGJvZHk+Cis8aWZy
YW1lIHNyYz0iL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9jb250ZW50ZmlsdGVyaW5nL3Jl
c291cmNlcy9wYXNzLmh0bWwiPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb250ZW50ZmlsdGVyaW5nL2Jsb2NrLWFmdGVyLXJlZGlyZWN0LWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRmaWx0ZXJpbmcvYmxvY2stYWZ0ZXIt
cmVkaXJlY3QtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTJjYzk1MGJlOGNmMDc2NmIzZmEz
YzQ3NjY3NGE2OWVlMTc2YTgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb250ZW50ZmlsdGVyaW5nL2Jsb2NrLWFmdGVyLXJlZGlyZWN0LWV4cGVjdGVkLmh0bWwK
QEAgLTAsMCArMSwzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxib2R5PgorPGlmcmFtZSBzcmM9InJl
c291cmNlcy9wYXNzLmh0bWwiPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb250ZW50ZmlsdGVyaW5nL2Jsb2NrLWFmdGVyLXJlZGlyZWN0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRmaWx0ZXJpbmcvYmxvY2stYWZ0ZXItcmVkaXJlY3Qu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kNTVhYTg4Y2UxZjRmNzE2OTdhZTNmYWNjMDZjZjc1Njg0NjUxNjBm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZmlsdGVy
aW5nL2Jsb2NrLWFmdGVyLXJlZGlyZWN0Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB2YXIgc2V0dGlu
Z3MgPSB3aW5kb3cuaW50ZXJuYWxzLm1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3M7CisgICAgc2V0
dGluZ3MuZW5hYmxlZCA9IHRydWU7CisgICAgc2V0dGluZ3MuZGVjaXNpb25Qb2ludCA9IHNldHRp
bmdzLkRFQ0lTSU9OX1BPSU5UX0FGVEVSX1JFRElSRUNUOworICAgIHNldHRpbmdzLmRlY2lzaW9u
ID0gc2V0dGluZ3MuREVDSVNJT05fQkxPQ0s7CisgICAgc2V0dGluZ3MuYmxvY2tlZFN0cmluZyA9
ICI8IURPQ1RZUEUgaHRtbD48Ym9keT5QQVNTIjsKK30KKzwvc2NyaXB0PgorPGJvZHk+Cis8aWZy
YW1lIHNyYz0iL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9jb250ZW50ZmlsdGVyaW5nL3Jl
c291cmNlcy9mYWlsLmh0bWwiPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb250ZW50ZmlsdGVyaW5nL3Jlc291cmNlcy9mYWlsLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NvbnRlbnRmaWx0ZXJpbmcvcmVzb3VyY2VzL2ZhaWwuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xY2Q2MDVjYmM3YWRjOGI4MDkyMDQwNGFkNDY5ZDZiN2Y0MjVhMDlmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZmlsdGVyaW5nL3Jlc291cmNl
cy9mYWlsLmh0bWwKQEAgLTAsMCArMSBAQAorPCFET0NUWVBFIGh0bWw+PGJvZHk+RkFJTApcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29udGVudGZpbHRlcmluZy9yZXNvdXJjZXMvcGFzcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb250ZW50ZmlsdGVyaW5nL3Jlc291cmNlcy9wYXNzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTI5YzE2NDE1MmJmMjcyNjYyMGI0MzBhZGViZGNkMTdjMmMzNjA4MQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGZpbHRlcmluZy9yZXNvdXJjZXMvcGFz
cy5odG1sCkBAIC0wLDAgKzEgQEAKKzwhRE9DVFlQRSBodG1sPjxib2R5PlBBU1MKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>
<flag name="review"
          id="274969"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>