<?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>43603</bug_id>
          
          <creation_ts>2010-08-05 19:37:51 -0700</creation_ts>
          <short_desc>Add form client for injected bundle code</short_desc>
          <delta_ts>2010-08-06 11:54:31 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>261046</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-05 19:37:51 -0700</bug_when>
    <thetext>Add form client for injected bundle code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261053</commentid>
    <comment_count>1</comment_count>
      <attachid>63682</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-05 20:06:35 -0700</bug_when>
    <thetext>Created attachment 63682
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261054</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-05 20:10:13 -0700</bug_when>
    <thetext>Attachment 63682 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h:131:  Extra space between int and version  [whitespace/declaration] [3]
WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h:133:  Extra space between WKBundlePageTextFieldDidBeginEditingCallback and textFieldDidBeginEditing  [whitespace/declaration] [3]
WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h:134:  Extra space between WKBundlePageTextFieldDidEndEditingCallback and textFieldDidEndEditing  [whitespace/declaration] [3]
WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h:135:  Extra space between WKBundlePageTextDidChangeInTextFieldCallback and textDidChangeInTextField  [whitespace/declaration] [3]
WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h:136:  Extra space between WKBundlePageTextDidChangeInTextAreaCallback and textDidChangeInTextArea  [whitespace/declaration] [3]
WebKit2/WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:32:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
WebKit2/WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 7 in 3 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>261065</commentid>
    <comment_count>3</comment_count>
      <attachid>63685</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-05 20:53:57 -0700</bug_when>
    <thetext>Created attachment 63685
Updated patch

Oops, wrong patch uploaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261067</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-05 20:57:56 -0700</bug_when>
    <thetext>Attachment 63685 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h:131:  Extra space between int and version  [whitespace/declaration] [3]
WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h:133:  Extra space between WKBundlePageTextFieldDidBeginEditingCallback and textFieldDidBeginEditing  [whitespace/declaration] [3]
WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h:134:  Extra space between WKBundlePageTextFieldDidEndEditingCallback and textFieldDidEndEditing  [whitespace/declaration] [3]
WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h:135:  Extra space between WKBundlePageTextDidChangeInTextFieldCallback and textDidChangeInTextField  [whitespace/declaration] [3]
WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h:136:  Extra space between WKBundlePageTextDidChangeInTextAreaCallback and textDidChangeInTextArea  [whitespace/declaration] [3]
WebKit2/WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:32:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
WebKit2/WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 7 in 10 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>261380</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-08-06 11:54:31 -0700</bug_when>
    <thetext>Landed in r64862.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63682</attachid>
            <date>2010-08-05 20:06:35 -0700</date>
            <delta_ts>2010-08-05 20:53:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>formclient.diff</filename>
            <type>text/plain</type>
            <size>8491</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBh
Z2VGb3JtQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5jcHAJKHJldmlzaW9uIDApCisr
KyBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRm9y
bUNsaWVudC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oIgorCisjaW5jbHVkZSAiV0tB
UElDYXN0LmgiCisjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCisKK3VzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworSW5qZWN0ZWRCdW5kbGVQYWdlRm9y
bUNsaWVudDo6SW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudCgpCit7CisgICAgaW5pdGlhbGl6
ZSgwKTsKK30KKwordm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50Ojppbml0aWFsaXpl
KFdLQnVuZGxlUGFnZUZvcm1DbGllbnQqIGNsaWVudCkKK3sKKyAgICBpZiAoY2xpZW50ICYmICFj
bGllbnQtPnZlcnNpb24pCisgICAgICAgIG1fY2xpZW50ID0gKmNsaWVudDsKKyAgICBlbHNlIAor
ICAgICAgICBtZW1zZXQoJm1fY2xpZW50LCAwLCBzaXplb2YobV9jbGllbnQpKTsKK30KKwordm9p
ZCBJbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50Ojp0ZXh0RmllbGREaWRCZWdpbkVkaXRpbmco
V2ViUGFnZSogcGFnZSwgV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudCosIFdlYkZyYW1lKiBmcmFt
ZSkKK3sKKyAgICBpZiAobV9jbGllbnQudGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nKQorICAgICAg
ICBtX2NsaWVudC50ZXh0RmllbGREaWRCZWdpbkVkaXRpbmcodG9SZWYocGFnZSksIDAsIHRvUmVm
KGZyYW1lKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVQ
YWdlRm9ybUNsaWVudDo6dGV4dEZpZWxkRGlkRW5kRWRpdGluZyhXZWJQYWdlKiBwYWdlLCBXZWJD
b3JlOjpIVE1MSW5wdXRFbGVtZW50KiwgV2ViRnJhbWUqIGZyYW1lKQoreworICAgIGlmIChtX2Ns
aWVudC50ZXh0RmllbGREaWRCZWdpbkVkaXRpbmcpCisgICAgICAgIG1fY2xpZW50LnRleHRGaWVs
ZERpZEJlZ2luRWRpdGluZyh0b1JlZihwYWdlKSwgMCwgdG9SZWYoZnJhbWUpLCBtX2NsaWVudC5j
bGllbnRJbmZvKTsKK30KKwordm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50Ojp0ZXh0
RGlkQ2hhbmdlSW5UZXh0RmllbGQoV2ViUGFnZSogcGFnZSwgV2ViQ29yZTo6SFRNTElucHV0RWxl
bWVudCosIFdlYkZyYW1lKiBmcmFtZSkKK3sKKyAgICBpZiAobV9jbGllbnQudGV4dEZpZWxkRGlk
QmVnaW5FZGl0aW5nKQorICAgICAgICBtX2NsaWVudC50ZXh0RmllbGREaWRCZWdpbkVkaXRpbmco
dG9SZWYocGFnZSksIDAsIHRvUmVmKGZyYW1lKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisK
K3ZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudDo6dGV4dERpZENoYW5nZUluVGV4dEFy
ZWEoV2ViUGFnZSogcGFnZSwgV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudCosIFdlYkZyYW1l
KiBmcmFtZSkKK3sKKyAgICBpZiAobV9jbGllbnQudGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nKQor
ICAgICAgICBtX2NsaWVudC50ZXh0RmllbGREaWRCZWdpbkVkaXRpbmcodG9SZWYocGFnZSksIDAs
IHRvUmVmKGZyYW1lKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdApJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlUGFnZUZvcm1DbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oCShyZXZpc2lvbiAw
KQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFn
ZUZvcm1DbGllbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudF9oCisjZGVmaW5lIEluamVjdGVk
QnVuZGxlUGFnZUZvcm1DbGllbnRfaAorCisjaW5jbHVkZSAiV0tCdW5kbGVQYWdlLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKyAgICBjbGFzcyBIVE1MSW5wdXRFbGVtZW50OworICAgIGNsYXNz
IEhUTUxUZXh0QXJlYUVsZW1lbnQ7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBX
ZWJGcmFtZTsKK2NsYXNzIFdlYlBhZ2U7CisKK2NsYXNzIEluamVjdGVkQnVuZGxlUGFnZUZvcm1D
bGllbnQgeworcHVibGljOgorICAgIEluamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQoKTsKKyAg
ICB2b2lkIGluaXRpYWxpemUoV0tCdW5kbGVQYWdlRm9ybUNsaWVudCopOworCisgICAgdm9pZCB0
ZXh0RmllbGREaWRCZWdpbkVkaXRpbmcoV2ViUGFnZSosIFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1l
bnQqLCBXZWJGcmFtZSopOworICAgIHZvaWQgdGV4dEZpZWxkRGlkRW5kRWRpdGluZyhXZWJQYWdl
KiwgV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudCosIFdlYkZyYW1lKik7CisgICAgdm9pZCB0ZXh0
RGlkQ2hhbmdlSW5UZXh0RmllbGQoV2ViUGFnZSosIFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQq
LCBXZWJGcmFtZSopOworICAgIHZvaWQgdGV4dERpZENoYW5nZUluVGV4dEFyZWEoV2ViUGFnZSos
IFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQqLCBXZWJGcmFtZSopOworCitwcml2YXRlOgor
ICAgIFdLQnVuZGxlUGFnZUZvcm1DbGllbnQgbV9jbGllbnQ7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIEluamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnRfaApJbmRl
eDogV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZVBhZ2UuaAkocmV2aXNpb24gNjQ2NTMpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTkxLDcg
KzkxLDYgQEAgc3RydWN0IFdLQnVuZGxlUGFnZVVJQ2xpZW50IHsKIHR5cGVkZWYgc3RydWN0IFdL
QnVuZGxlUGFnZVVJQ2xpZW50IFdLQnVuZGxlUGFnZVVJQ2xpZW50OwogCiAvLyBFZGl0b3IgY2xp
ZW50Ci0vLyBGSVhNRTogT2JqZWN0aXZlLUMgQVBJIHByb3ZpZGVzIGEgV2ViVmlldyBwb2ludGVy
IGluIGNhbGxiYWNrcywgd2hhdCBzaG91bGQgdGhlIGluamVjdGVkIGJ1bmRsZSBBUEkgZG8/CiB0
eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91bGRCZWdpbkVkaXRpbmdDYWxsYmFjaykoV0tC
dW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlUmFuZ2VSZWYgcmFuZ2UsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pOwogdHlwZWRlZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxkRW5kRWRpdGluZ0Nh
bGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVSYW5nZVJlZiByYW5nZSwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIGJvb2wgKCpXS0J1bmRsZVBhZ2VTaG91bGRJ
bnNlcnROb2RlQ2FsbGJhY2spKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vZGVSZWYg
bm9kZSwgV0tCdW5kbGVSYW5nZVJlZiByYW5nZVRvUmVwbGFjZSwgV0tJbnNlcnRBY3Rpb25UeXBl
IGFjdGlvbiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CkBAIC0xMTgsNiArMTE3LDI2IEBAIHN0
cnVjdCBXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQgewogfTsKIHR5cGVkZWYgc3RydWN0IFdLQnVu
ZGxlUGFnZUVkaXRvckNsaWVudCBXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQ7CiAKKy8vIEZvcm0g
Y2xpZW50CisKK3R5cGVkZWYgdm9pZCogV0tCdW5kbGVIVE1MSW5wdXRFbGVtZW50UmVmOwordHlw
ZWRlZiB2b2lkKiBXS0J1bmRsZUhUTUxUZXh0QXJlYUVsZW1lbnRSZWY7CisKK3R5cGVkZWYgdm9p
ZCAoKldLQnVuZGxlUGFnZVRleHRGaWVsZERpZEJlZ2luRWRpdGluZ0NhbGxiYWNrKShXS0J1bmRs
ZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVIVE1MSW5wdXRFbGVtZW50UmVmIGVsZW1lbnQsIFdLQnVu
ZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lk
ICgqV0tCdW5kbGVQYWdlVGV4dEZpZWxkRGlkRW5kRWRpdGluZ0NhbGxiYWNrKShXS0J1bmRsZVBh
Z2VSZWYgcGFnZSwgV0tCdW5kbGVIVE1MSW5wdXRFbGVtZW50UmVmIGVsZW1lbnQsIFdLQnVuZGxl
RnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgq
V0tCdW5kbGVQYWdlVGV4dERpZENoYW5nZUluVGV4dEZpZWxkQ2FsbGJhY2spKFdLQnVuZGxlUGFn
ZVJlZiBwYWdlLCBXS0J1bmRsZUhUTUxJbnB1dEVsZW1lbnRSZWYgZWxlbWVudCwgV0tCdW5kbGVG
cmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpX
S0J1bmRsZVBhZ2VUZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgV0tCdW5kbGVIVE1MVGV4dEFyZWFFbGVtZW50UmVmIGVsZW1lbnQsIFdLQnVuZGxl
RnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOworCitzdHJ1Y3QgV0tCdW5k
bGVQYWdlRm9ybUNsaWVudCB7CisgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOworICAgIGNvbnN0IHZv
aWQgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2xpZW50SW5mbzsKKyAgICBXS0J1bmRsZVBhZ2VUZXh0RmllbGREaWRCZWdpbkVkaXRpbmdD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgIHRleHRGaWVsZERpZEJlZ2luRWRpdGluZzsK
KyAgICBXS0J1bmRsZVBhZ2VUZXh0RmllbGREaWRFbmRFZGl0aW5nQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRleHRGaWVsZERpZEVuZEVkaXRpbmc7CisgICAgV0tCdW5kbGVQYWdl
VGV4dERpZENoYW5nZUluVGV4dEZpZWxkQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICB0
ZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGQ7CisgICAgV0tCdW5kbGVQYWdlVGV4dERpZENoYW5nZUlu
VGV4dEFyZWFDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0RGlkQ2hhbmdlSW5U
ZXh0QXJlYTsKK307Cit0eXBlZGVmIHN0cnVjdCBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50IFdLQnVu
ZGxlUGFnZUZvcm1DbGllbnQ7CisKIFdLX0VYUE9SVCBXS1R5cGVJRCBXS0J1bmRsZVBhZ2VHZXRU
eXBlSUQoKTsKIAogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlU2V0RWRpdG9yQ2xpZW50KFdL
QnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQqIGNsaWVudCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63685</attachid>
            <date>2010-08-05 20:53:57 -0700</date>
            <delta_ts>2010-08-06 11:47:30 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>22439</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDgxMikKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDgtMDUgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgZm9y
bSBjbGllbnQgZm9yIGluamVjdGVkIGJ1bmRsZSBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzYwMworCisgICAgICAgICogV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlUGFnZVNldEZvcm1D
bGllbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZVBhZ2VGb3JtQ2xpZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkluamVjdGVk
QnVuZGxlUGFnZUZvcm1DbGllbnQ6OkluamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQpOgorICAg
ICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50Ojppbml0aWFsaXplKToK
KyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudDo6dGV4dEZpZWxk
RGlkQmVnaW5FZGl0aW5nKToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVQYWdlRm9y
bUNsaWVudDo6dGV4dEZpZWxkRGlkRW5kRWRpdGluZyk6CisgICAgICAgIChXZWJLaXQ6OkluamVj
dGVkQnVuZGxlUGFnZUZvcm1DbGllbnQ6OnRleHREaWRDaGFuZ2VJblRleHRGaWVsZCk6CisgICAg
ICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQ6OnRleHREaWRDaGFuZ2VJ
blRleHRBcmVhKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlUGFnZUZvcm1DbGllbnQuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJFZGl0
b3JDbGllbnQ6OnRleHRGaWVsZERpZEJlZ2luRWRpdGluZyk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkVkaXRvckNsaWVudDo6dGV4dEZpZWxkRGlkRW5kRWRpdGluZyk6CisgICAgICAgIChXZWJLaXQ6
OldlYkVkaXRvckNsaWVudDo6dGV4dERpZENoYW5nZUluVGV4dEZpZWxkKToKKyAgICAgICAgKFdl
YktpdDo6V2ViRWRpdG9yQ2xpZW50Ojp0ZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjppbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVGb3JtQ2xpZW50KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjppbmpl
Y3RlZEJ1bmRsZUZvcm1DbGllbnQpOgorICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKwog
MjAxMC0wOC0wNSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KSW5kZXg6IFdlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA2NDgwMykKKysrIFdlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNTUsNiArMTU1LDggQEAK
IAkJQkMxNERGNzgxMjBCNUI3OTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxNERG
NzYxMjBCNUI3OTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuY3BwICovOyB9
OwogCQlCQzE0REY5RTEyMEI2MzVGMDA4MjZDMEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzE0REY5QzEy
MEI2MzVGMDA4MjZDMEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5jcHAgKi87IH07CiAJCUJDMTRE
RjlGMTIwQjYzNUYwMDgyNkMwQyAvKiBXS0J1bmRsZVNjcmlwdFdvcmxkLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzE0REY5RDEyMEI2MzVGMDA4MjZD
MEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5oICovOyB9OworCQlCQzE0RTEwOTEyMEI5MDVFMDA4
MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzE0RTEwNzEyMEI5MDVFMDA4MjZDMEMg
LyogSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5jcHAgKi87IH07CisJCUJDMTRFMTBBMTIw
QjkwNUUwMDgyNkMwQyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzE0RTEwODEyMEI5MDVFMDA4
MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oICovOyB9OwogCQlCQzE3NzQ2
NTExOEI5RkY0MDA3RDlFOUEgLyogV0tQYWdlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMxNzc0NjQxMThCOUZGNDAwN0Q5RTlBIC8qIFdL
UGFnZVByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlCQzE3NzUzRjExOEJBQkYwMDA3RDlFOUEgLyogR2VuZXJpY0NhbGxiYWNrLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzE3NzUzRTExOEJB
QkYwMDA3RDlFOUEgLyogR2VuZXJpY0NhbGxiYWNrLmggKi87IH07CiAJCUJDMUE3QzU4MTEzNkUx
OUMwMEZCNzE2NyAvKiBQcm9jZXNzTGF1bmNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMUE3QzU3MTEzNkUxOUMwMEZCNzE2NyAvKiBQcm9jZXNz
TGF1bmNoZXIuaCAqLzsgfTsKQEAgLTQ4MCw2ICs0ODIsOCBAQAogCQlCQzE0REY3NjEyMEI1Qjc5
MDA4MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMxNERGOUMxMjBCNjM1RjAwODI2QzBDIC8qIFdL
QnVuZGxlU2NyaXB0V29ybGQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV0tCdW5kbGVTY3JpcHRXb3JsZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDMTRERjlEMTIwQjYzNUYwMDgyNkMwQyAvKiBXS0J1bmRsZVNjcmlwdFdvcmxkLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlU2NyaXB0V29ybGQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMxNEUxMDcxMjBCOTA1RTAwODI2QzBDIC8qIEluamVj
dGVkQnVuZGxlUGFnZUZvcm1DbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUJDMTRFMTA4MTIwQjkwNUUwMDgyNkMwQyAvKiBJbmplY3RlZEJ1bmRs
ZVBhZ2VGb3JtQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVj
dGVkQnVuZGxlUGFnZUZvcm1DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkMxNzc0NjQxMThCOUZGNDAwN0Q5RTlBIC8qIFdLUGFnZVByaXZhdGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQYWdlUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCQzE3NzUzRTExOEJBQkYwMDA3RDlFOUEgLyogR2VuZXJpY0NhbGxiYWNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlbmVyaWNDYWxsYmFjay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzFBN0M1NzExMzZFMTlDMDBGQjcxNjcgLyogUHJv
Y2Vzc0xhdW5jaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb2Nlc3NM
YXVuY2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTEzNyw2ICsxMTQxLDgg
QEAKIAkJCQlCQzIwNEVFMTExQzgzRTk4MDA4RjMzNzUgLyogSW5qZWN0ZWRCdW5kbGUuaCAqLywK
IAkJCQlFMUVFNTNFNjExRjhDRkZCMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9y
Q2xpZW50LmNwcCAqLywKIAkJCQlFMUVFNTNEQzExRjhDRjlGMDBDQ0JFRTQgLyogSW5qZWN0ZWRC
dW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggKi8sCisJCQkJQkMxNEUxMDcxMjBCOTA1RTAwODI2QzBD
IC8qIEluamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQuY3BwICovLAorCQkJCUJDMTRFMTA4MTIw
QjkwNUUwMDgyNkMwQyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50LmggKi8sCiAJCQkJ
QkNBOEM2QTYxMUUzQkE1RjAwODEyRkI3IC8qIEluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVu
dC5jcHAgKi8sCiAJCQkJQkNBOEM2QTcxMUUzQkE1RjAwODEyRkI3IC8qIEluamVjdGVkQnVuZGxl
UGFnZUxvYWRlckNsaWVudC5oICovLAogCQkJCUJDQThDNkFEMTFFM0MwODcwMDgxMkZCNyAvKiBJ
bmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5jcHAgKi8sCkBAIC0xNDMyLDYgKzE0MzgsNyBAQAog
CQkJCUJDNEJFRkUxMTIwQTFBNEMwMEZCQTBDNyAvKiBXS0J1bmRsZU5vZGVIYW5kbGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDMTRERjc3MTIwQjVCNzkwMDgyNkMwQyAvKiBJbmplY3RlZEJ1bmRs
ZVNjcmlwdFdvcmxkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE0REY5RjEyMEI2MzVGMDA4MjZD
MEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMxNEUxMEEx
MjBCOTA1RTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpAQCAtMTY0Niw2ICsxNjUzLDcgQEAKIAkJCQlCQzRCRUZFMjEyMEExQTRDMDBGQkEw
QzcgLyogV0tCdW5kbGVOb2RlSGFuZGxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTRERjc4
MTIwQjVCNzkwMDgyNkMwQyAvKiBJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDMTRERjlFMTIwQjYzNUYwMDgyNkMwQyAvKiBXS0J1bmRsZVNjcmlwdFdv
cmxkLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJDMTRFMTA5MTIwQjkwNUUwMDgyNkMwQyAvKiBJ
bmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZvcm1DbGll
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50LmNw
cAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJJ
bmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50LmgiCisKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRs
ZU5vZGVIYW5kbGUuaCIKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJXS0J1bmRs
ZUFQSUNhc3QuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0hUTUxJbnB1dEVsZW1lbnQuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL0hUTUxUZXh0QXJlYUVsZW1lbnQuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitJbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xp
ZW50OjpJbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50KCkKK3sKKyAgICBpbml0aWFsaXplKDAp
OworfQorCit2b2lkIEluamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQ6OmluaXRpYWxpemUoV0tC
dW5kbGVQYWdlRm9ybUNsaWVudCogY2xpZW50KQoreworICAgIGlmIChjbGllbnQgJiYgIWNsaWVu
dC0+dmVyc2lvbikKKyAgICAgICAgbV9jbGllbnQgPSAqY2xpZW50OworICAgIGVsc2UgCisgICAg
ICAgIG1lbXNldCgmbV9jbGllbnQsIDAsIHNpemVvZihtX2NsaWVudCkpOworfQorCit2b2lkIElu
amVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQ6OnRleHRGaWVsZERpZEJlZ2luRWRpdGluZyhXZWJQ
YWdlKiBwYWdlLCBXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQsIFdlYkZy
YW1lKiBmcmFtZSkKK3sKKyAgICBpZiAoIW1fY2xpZW50LnRleHRGaWVsZERpZEJlZ2luRWRpdGlu
ZykKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPEluamVjdGVkQnVuZGxlTm9kZUhhbmRs
ZT4gbm9kZUhhbmRsZSA9IEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6Z2V0T3JDcmVhdGUoaW5w
dXRFbGVtZW50KTsKKyAgICBtX2NsaWVudC50ZXh0RmllbGREaWRCZWdpbkVkaXRpbmcodG9SZWYo
cGFnZSksIDAsIHRvUmVmKGZyYW1lKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKK3ZvaWQg
SW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudDo6dGV4dEZpZWxkRGlkRW5kRWRpdGluZyhXZWJQ
YWdlKiBwYWdlLCBXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQsIFdlYkZy
YW1lKiBmcmFtZSkKK3sKKyAgICBpZiAoIW1fY2xpZW50LnRleHRGaWVsZERpZEJlZ2luRWRpdGlu
ZykKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPEluamVjdGVkQnVuZGxlTm9kZUhhbmRs
ZT4gbm9kZUhhbmRsZSA9IEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6Z2V0T3JDcmVhdGUoaW5w
dXRFbGVtZW50KTsKKyAgICBtX2NsaWVudC50ZXh0RmllbGREaWRFbmRFZGl0aW5nKHRvUmVmKHBh
Z2UpLCB0b1JlZihub2RlSGFuZGxlLmdldCgpKSwgdG9SZWYoZnJhbWUpLCBtX2NsaWVudC5jbGll
bnRJbmZvKTsKK30KKwordm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50Ojp0ZXh0RGlk
Q2hhbmdlSW5UZXh0RmllbGQoV2ViUGFnZSogcGFnZSwgV2ViQ29yZTo6SFRNTElucHV0RWxlbWVu
dCogaW5wdXRFbGVtZW50LCBXZWJGcmFtZSogZnJhbWUpCit7CisgICAgaWYgKCFtX2NsaWVudC50
ZXh0RmllbGREaWRCZWdpbkVkaXRpbmcpCisgICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxJ
bmplY3RlZEJ1bmRsZU5vZGVIYW5kbGU+IG5vZGVIYW5kbGUgPSBJbmplY3RlZEJ1bmRsZU5vZGVI
YW5kbGU6OmdldE9yQ3JlYXRlKGlucHV0RWxlbWVudCk7CisgICAgbV9jbGllbnQudGV4dERpZENo
YW5nZUluVGV4dEZpZWxkKHRvUmVmKHBhZ2UpLCB0b1JlZihub2RlSGFuZGxlLmdldCgpKSwgdG9S
ZWYoZnJhbWUpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKK30KKwordm9pZCBJbmplY3RlZEJ1bmRs
ZVBhZ2VGb3JtQ2xpZW50Ojp0ZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYShXZWJQYWdlKiBwYWdlLCBX
ZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50KiB0ZXh0QXJlYUVsZW1lbnQsIFdlYkZyYW1lKiBm
cmFtZSkKK3sKKyAgICBpZiAoIW1fY2xpZW50LnRleHRGaWVsZERpZEJlZ2luRWRpdGluZykKKyAg
ICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZT4gbm9k
ZUhhbmRsZSA9IEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZTo6Z2V0T3JDcmVhdGUodGV4dEFyZWFF
bGVtZW50KTsKKyAgICBtX2NsaWVudC50ZXh0RGlkQ2hhbmdlSW5UZXh0QXJlYSh0b1JlZihwYWdl
KSwgdG9SZWYobm9kZUhhbmRsZS5nZXQoKSksIHRvUmVmKGZyYW1lKSwgbV9jbGllbnQuY2xpZW50
SW5mbyk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlRm9ybUNsaWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQuaAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5qZWN0ZWRCdW5kbGVQYWdlRm9y
bUNsaWVudF9oCisjZGVmaW5lIEluamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnRfaAorCisjaW5j
bHVkZSAiV0tCdW5kbGVQYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICBjbGFzcyBI
VE1MSW5wdXRFbGVtZW50OworICAgIGNsYXNzIEhUTUxUZXh0QXJlYUVsZW1lbnQ7Cit9CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJGcmFtZTsKK2NsYXNzIFdlYlBhZ2U7CisKK2Ns
YXNzIEluamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQgeworcHVibGljOgorICAgIEluamVjdGVk
QnVuZGxlUGFnZUZvcm1DbGllbnQoKTsKKyAgICB2b2lkIGluaXRpYWxpemUoV0tCdW5kbGVQYWdl
Rm9ybUNsaWVudCopOworCisgICAgdm9pZCB0ZXh0RmllbGREaWRCZWdpbkVkaXRpbmcoV2ViUGFn
ZSosIFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQqLCBXZWJGcmFtZSopOworICAgIHZvaWQgdGV4
dEZpZWxkRGlkRW5kRWRpdGluZyhXZWJQYWdlKiwgV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudCos
IFdlYkZyYW1lKik7CisgICAgdm9pZCB0ZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGQoV2ViUGFnZSos
IFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQqLCBXZWJGcmFtZSopOworICAgIHZvaWQgdGV4dERp
ZENoYW5nZUluVGV4dEFyZWEoV2ViUGFnZSosIFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQq
LCBXZWJGcmFtZSopOworCitwcml2YXRlOgorICAgIFdLQnVuZGxlUGFnZUZvcm1DbGllbnQgbV9j
bGllbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEluamVjdGVk
QnVuZGxlUGFnZUZvcm1DbGllbnRfaApJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAJKHJldmlzaW9uIDY0
ODAzKQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDEyIEBAIHZvaWQgV0tCdW5kbGVQ
YWdlU2V0RWRpdG9yQ2xpZW50KFdLQnVuZGwKICAgICAgICAgdG9XSyhwYWdlUmVmKS0+aW5pdGlh
bGl6ZUluamVjdGVkQnVuZGxlRWRpdG9yQ2xpZW50KHdrQ2xpZW50KTsKIH0KIAordm9pZCBXS0J1
bmRsZVBhZ2VTZXRGb3JtQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBXS0J1bmRsZVBh
Z2VGb3JtQ2xpZW50KiB3a0NsaWVudCkKK3sKKyAgICBpZiAod2tDbGllbnQgJiYgIXdrQ2xpZW50
LT52ZXJzaW9uKQorICAgICAgICB0b1dLKHBhZ2VSZWYpLT5pbml0aWFsaXplSW5qZWN0ZWRCdW5k
bGVGb3JtQ2xpZW50KHdrQ2xpZW50KTsKK30KKwogdm9pZCBXS0J1bmRsZVBhZ2VTZXRMb2FkZXJD
bGllbnQoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudCog
d2tDbGllbnQpCiB7CiAgICAgaWYgKHdrQ2xpZW50ICYmICF3a0NsaWVudC0+dmVyc2lvbikKSW5k
ZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlLmgJKHJldmlzaW9uIDY0ODAzKQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05MSw3
ICs5MSw2IEBAIHN0cnVjdCBXS0J1bmRsZVBhZ2VVSUNsaWVudCB7CiB0eXBlZGVmIHN0cnVjdCBX
S0J1bmRsZVBhZ2VVSUNsaWVudCBXS0J1bmRsZVBhZ2VVSUNsaWVudDsKIAogLy8gRWRpdG9yIGNs
aWVudAotLy8gRklYTUU6IE9iamVjdGl2ZS1DIEFQSSBwcm92aWRlcyBhIFdlYlZpZXcgcG9pbnRl
ciBpbiBjYWxsYmFja3MsIHdoYXQgc2hvdWxkIHRoZSBpbmplY3RlZCBidW5kbGUgQVBJIGRvPwog
dHlwZWRlZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxkQmVnaW5FZGl0aW5nQ2FsbGJhY2spKFdL
QnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVJhbmdlUmVmIHJhbmdlLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKIHR5cGVkZWYgYm9vbCAoKldLQnVuZGxlUGFnZVNob3VsZEVuZEVkaXRpbmdD
YWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlUmFuZ2VSZWYgcmFuZ2UsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiBib29sICgqV0tCdW5kbGVQYWdlU2hvdWxk
SW5zZXJ0Tm9kZUNhbGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVOb2RlUmVm
IG5vZGUsIFdLQnVuZGxlUmFuZ2VSZWYgcmFuZ2VUb1JlcGxhY2UsIFdLSW5zZXJ0QWN0aW9uVHlw
ZSBhY3Rpb24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwpAQCAtMTE4LDkgKzExNywzMCBAQCBz
dHJ1Y3QgV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50IHsKIH07CiB0eXBlZGVmIHN0cnVjdCBXS0J1
bmRsZVBhZ2VFZGl0b3JDbGllbnQgV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50OwogCisvLyBGb3Jt
IGNsaWVudAorCit0eXBlZGVmIHZvaWQqIFdLQnVuZGxlSFRNTElucHV0RWxlbWVudFJlZjsKK3R5
cGVkZWYgdm9pZCogV0tCdW5kbGVIVE1MVGV4dEFyZWFFbGVtZW50UmVmOworCit0eXBlZGVmIHZv
aWQgKCpXS0J1bmRsZVBhZ2VUZXh0RmllbGREaWRCZWdpbkVkaXRpbmdDYWxsYmFjaykoV0tCdW5k
bGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5wdXRFbGVtZW50SGFu
ZGxlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5
cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVRleHRGaWVsZERpZEVuZEVkaXRpbmdDYWxsYmFjayko
V0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBodG1sSW5wdXRFbGVt
ZW50SGFuZGxlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKK3R5cGVkZWYgdm9pZCAoKldLQnVuZGxlUGFnZVRleHREaWRDaGFuZ2VJblRleHRGaWVsZENh
bGxiYWNrKShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVOb2RlSGFuZGxlUmVmIGh0bWxJ
bnB1dEVsZW1lbnRIYW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pOwordHlwZWRlZiB2b2lkICgqV0tCdW5kbGVQYWdlVGV4dERpZENoYW5nZUluVGV4
dEFyZWFDYWxsYmFjaykoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm9kZUhhbmRsZVJl
ZiBodG1sVGV4dEFyZWFFbGVtZW50SGFuZGxlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKKworc3RydWN0IFdLQnVuZGxlUGFnZUZvcm1DbGllbnQgewor
ICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVyc2lvbjsKKyAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CisgICAg
V0tCdW5kbGVQYWdlVGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXh0RmllbGREaWRCZWdpbkVkaXRpbmc7CisgICAgV0tCdW5kbGVQYWdlVGV4
dEZpZWxkRGlkRW5kRWRpdGluZ0NhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0
RmllbGREaWRFbmRFZGl0aW5nOworICAgIFdLQnVuZGxlUGFnZVRleHREaWRDaGFuZ2VJblRleHRG
aWVsZENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgdGV4dERpZENoYW5nZUluVGV4dEZp
ZWxkOworICAgIFdLQnVuZGxlUGFnZVRleHREaWRDaGFuZ2VJblRleHRBcmVhQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgdGV4dERpZENoYW5nZUluVGV4dEFyZWE7Cit9OwordHlwZWRl
ZiBzdHJ1Y3QgV0tCdW5kbGVQYWdlRm9ybUNsaWVudCBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50Owor
CiBXS19FWFBPUlQgV0tUeXBlSUQgV0tCdW5kbGVQYWdlR2V0VHlwZUlEKCk7CiAKIFdLX0VYUE9S
VCB2b2lkIFdLQnVuZGxlUGFnZVNldEVkaXRvckNsaWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZSwg
V0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50KiBjbGllbnQpOworV0tfRVhQT1JUIHZvaWQgV0tCdW5k
bGVQYWdlU2V0Rm9ybUNsaWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVQYWdlRm9y
bUNsaWVudCogY2xpZW50KTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFnZVNldExvYWRlckNs
aWVudChXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50KiBjbGll
bnQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlU2V0VUlDbGllbnQoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UsIFdLQnVuZGxlUGFnZVVJQ2xpZW50KiBjbGllbnQpOwogCkluZGV4OiBXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNw
cAkocmV2aXNpb24gNjQ4MDMpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTIgKzI4LDE4IEBACiAj
ZGVmaW5lIERJU0FCTEVfTk9UX0lNUExFTUVOVEVEX1dBUk5JTkdTIDEKICNpbmNsdWRlICJOb3RJ
bXBsZW1lbnRlZC5oIgogCisjaW5jbHVkZSAiV2ViRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNs
dWRlICJXZWJQYWdlLmgiCi0KICNpbmNsdWRlIDxXZWJDb3JlL0VkaXRDb21tYW5kLmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9GcmFtZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSFRNTElucHV0RWxlbWVu
dC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSFRNTE5hbWVzLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9I
VE1MVGV4dEFyZWFFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oPgogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCkBAIC0yMzgsMTkgKzI0NCw0MyBAQCB2b2lkIFdlYkVkaXRvckNsaWVu
dDo6aGFuZGxlSW5wdXRNZXRob2RLCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBX
ZWJFZGl0b3JDbGllbnQ6OnRleHRGaWVsZERpZEJlZ2luRWRpdGluZyhFbGVtZW50KikKK3ZvaWQg
V2ViRWRpdG9yQ2xpZW50Ojp0ZXh0RmllbGREaWRCZWdpbkVkaXRpbmcoRWxlbWVudCogZWxlbWVu
dCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGlmICghZWxlbWVudC0+aGFzVGFnTmFt
ZShpbnB1dFRhZykpCisgICAgICAgIHJldHVybjsKKworICAgIFdlYkZyYW1lKiB3ZWJGcmFtZSA9
ICBzdGF0aWNfY2FzdDxXZWJGcmFtZUxvYWRlckNsaWVudCo+KGVsZW1lbnQtPmRvY3VtZW50KCkt
PmZyYW1lKCktPmxvYWRlcigpLT5jbGllbnQoKSktPndlYkZyYW1lKCk7CisgICAgbV9wYWdlLT5p
bmplY3RlZEJ1bmRsZUZvcm1DbGllbnQoKS50ZXh0RmllbGREaWRCZWdpbkVkaXRpbmcobV9wYWdl
LCBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZWxlbWVudCksIHdlYkZyYW1lKTsKIH0K
IAotdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnRleHRGaWVsZERpZEVuZEVkaXRpbmcoRWxlbWVudCop
Cit2b2lkIFdlYkVkaXRvckNsaWVudDo6dGV4dEZpZWxkRGlkRW5kRWRpdGluZyhFbGVtZW50KiBl
bGVtZW50KQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgaWYgKCFlbGVtZW50LT5oYXNU
YWdOYW1lKGlucHV0VGFnKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgV2ViRnJhbWUqIHdlYkZy
YW1lID0gIHN0YXRpY19jYXN0PFdlYkZyYW1lTG9hZGVyQ2xpZW50Kj4oZWxlbWVudC0+ZG9jdW1l
bnQoKS0+ZnJhbWUoKS0+bG9hZGVyKCktPmNsaWVudCgpKS0+d2ViRnJhbWUoKTsKKyAgICBtX3Bh
Z2UtPmluamVjdGVkQnVuZGxlRm9ybUNsaWVudCgpLnRleHRGaWVsZERpZEVuZEVkaXRpbmcobV9w
YWdlLCBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oZWxlbWVudCksIHdlYkZyYW1lKTsK
IH0KIAotdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnRleHREaWRDaGFuZ2VJblRleHRGaWVsZChFbGVt
ZW50KikKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50Ojp0ZXh0RGlkQ2hhbmdlSW5UZXh0RmllbGQoRWxl
bWVudCogZWxlbWVudCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGlmICghZWxlbWVu
dC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghVXNl
clR5cGluZ0dlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpIHx8
IFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yOjpmb2N1c2VkRWxlbWVudEF0R2VzdHVyZVN0YXJ0
KCkgIT0gZWxlbWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgV2ViRnJhbWUqIHdlYkZyYW1l
ID0gIHN0YXRpY19jYXN0PFdlYkZyYW1lTG9hZGVyQ2xpZW50Kj4oZWxlbWVudC0+ZG9jdW1lbnQo
KS0+ZnJhbWUoKS0+bG9hZGVyKCktPmNsaWVudCgpKS0+d2ViRnJhbWUoKTsKKyAgICBtX3BhZ2Ut
PmluamVjdGVkQnVuZGxlRm9ybUNsaWVudCgpLnRleHREaWRDaGFuZ2VJblRleHRGaWVsZChtX3Bh
Z2UsIHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihlbGVtZW50KSwgd2ViRnJhbWUpOwor
fQorCit2b2lkIFdlYkVkaXRvckNsaWVudDo6dGV4dERpZENoYW5nZUluVGV4dEFyZWEoRWxlbWVu
dCogZWxlbWVudCkKK3sKKyAgICBpZiAoIWVsZW1lbnQtPmhhc1RhZ05hbWUodGV4dGFyZWFUYWcp
KQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJGcmFtZSogd2ViRnJhbWUgPSAgc3RhdGljX2Nh
c3Q8V2ViRnJhbWVMb2FkZXJDbGllbnQqPihlbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpLT5s
b2FkZXIoKS0+Y2xpZW50KCkpLT53ZWJGcmFtZSgpOworICAgIG1fcGFnZS0+aW5qZWN0ZWRCdW5k
bGVGb3JtQ2xpZW50KCkudGV4dERpZENoYW5nZUluVGV4dEFyZWEobV9wYWdlLCBzdGF0aWNfY2Fz
dDxIVE1MVGV4dEFyZWFFbGVtZW50Kj4oZWxlbWVudCksIHdlYkZyYW1lKTsKIH0KIAogYm9vbCBX
ZWJFZGl0b3JDbGllbnQ6OmRvVGV4dEZpZWxkQ29tbWFuZEZyb21FdmVudChFbGVtZW50KiwgS2V5
Ym9hcmRFdmVudCopCkBAIC0yNjQsMTAgKzI5NCw2IEBAIHZvaWQgV2ViRWRpdG9yQ2xpZW50Ojp0
ZXh0V2lsbEJlRGVsZXRlZEkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkVk
aXRvckNsaWVudDo6dGV4dERpZENoYW5nZUluVGV4dEFyZWEoRWxlbWVudCopCi17Ci0gICAgbm90
SW1wbGVtZW50ZWQoKTsKLX0KIAogI2lmIFBMQVRGT1JNKE1BQykKIE5TU3RyaW5nKiBXZWJFZGl0
b3JDbGllbnQ6OnVzZXJWaXNpYmxlU3RyaW5nKE5TVVJMKikKSW5kZXg6IFdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA2NDgwMykKKysrIFdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDEsNiArMTQxLDEy
IEBAIHZvaWQgV2ViUGFnZTo6aW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlRWQKICAgICBtX2VkaXRv
ckNsaWVudC5pbml0aWFsaXplKGNsaWVudCk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6aW5pdGlhbGl6
ZUluamVjdGVkQnVuZGxlRm9ybUNsaWVudChXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50KiBjbGllbnQp
Cit7CisgICAgbV9mb3JtQ2xpZW50LmluaXRpYWxpemUoY2xpZW50KTsKK30KKworCiB2b2lkIFdl
YlBhZ2U6OmluaXRpYWxpemVJbmplY3RlZEJ1bmRsZUxvYWRlckNsaWVudChXS0J1bmRsZVBhZ2VM
b2FkZXJDbGllbnQqIGNsaWVudCkKIHsKICAgICBtX2xvYWRlckNsaWVudC5pbml0aWFsaXplKGNs
aWVudCk7CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCShyZXZpc2lvbiA2
NDgwMykKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBj
b3B5KQpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUg
IkRyYXdpbmdBcmVhLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50
LmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oIgogI2luY2x1ZGUg
IkluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVu
ZGxlUGFnZVVJQ2xpZW50LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRlclR5cGVzLmg+
CkBAIC05NiwxMCArOTcsMTIgQEAgcHVibGljOgogCiAgICAgLy8gLS0gSW5qZWN0ZWRCdW5kbGUg
bWV0aG9kcwogICAgIHZvaWQgaW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlRWRpdG9yQ2xpZW50KFdL
QnVuZGxlUGFnZUVkaXRvckNsaWVudCopOworICAgIHZvaWQgaW5pdGlhbGl6ZUluamVjdGVkQnVu
ZGxlRm9ybUNsaWVudChXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50Kik7CiAgICAgdm9pZCBpbml0aWFs
aXplSW5qZWN0ZWRCdW5kbGVMb2FkZXJDbGllbnQoV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50Kik7
CiAgICAgdm9pZCBpbml0aWFsaXplSW5qZWN0ZWRCdW5kbGVVSUNsaWVudChXS0J1bmRsZVBhZ2VV
SUNsaWVudCopOwogCiAgICAgSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50JiBpbmplY3Rl
ZEJ1bmRsZUVkaXRvckNsaWVudCgpIHsgcmV0dXJuIG1fZWRpdG9yQ2xpZW50OyB9CisgICAgSW5q
ZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudCYgaW5qZWN0ZWRCdW5kbGVGb3JtQ2xpZW50KCkgeyBy
ZXR1cm4gbV9mb3JtQ2xpZW50OyB9CiAgICAgSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50
JiBpbmplY3RlZEJ1bmRsZUxvYWRlckNsaWVudCgpIHsgcmV0dXJuIG1fbG9hZGVyQ2xpZW50OyB9
CiAgICAgSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQmIGluamVjdGVkQnVuZGxlVUlDbGllbnQo
KSB7IHJldHVybiBtX3VpQ2xpZW50OyB9CiAKQEAgLTE1NSw2ICsxNTgsNyBAQCBwcml2YXRlOgog
ICAgIFJlZlB0cjxEcmF3aW5nQXJlYT4gbV9kcmF3aW5nQXJlYTsKIAogICAgIEluamVjdGVkQnVu
ZGxlUGFnZUVkaXRvckNsaWVudCBtX2VkaXRvckNsaWVudDsKKyAgICBJbmplY3RlZEJ1bmRsZVBh
Z2VGb3JtQ2xpZW50IG1fZm9ybUNsaWVudDsKICAgICBJbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJD
bGllbnQgbV9sb2FkZXJDbGllbnQ7CiAgICAgSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQgbV91
aUNsaWVudDsKIApJbmRleDogV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oJKHJldmlzaW9uIDY0ODAzKQorKysgV2ViS2l0
Mi93aW4vV2ViS2l0Mi52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTcxNiw2ICs3MTYsMTQgQEAK
IAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5j
cHAiDQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxJbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xp
ZW50LmgiDQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZl
UGF0aD0iLi5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxJbmplY3RlZEJ1bmRsZVBhZ2VMb2Fk
ZXJDbGllbnQuY3BwIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQo=
</data>
<flag name="review"
          id="52084"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>