<?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>125972</bug_id>
          
          <creation_ts>2013-12-18 19:15:36 -0800</creation_ts>
          <short_desc>Add an utility class to simplify generating function calls</short_desc>
          <delta_ts>2013-12-19 17:36:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>961239</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-18 19:15:36 -0800</bug_when>
    <thetext>Add an utility class to simplify generating function calls</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961240</commentid>
    <comment_count>1</comment_count>
      <attachid>219604</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-18 19:20:29 -0800</bug_when>
    <thetext>Created attachment 219604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961271</commentid>
    <comment_count>2</comment_count>
      <attachid>219604</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-12-18 21:54:27 -0800</bug_when>
    <thetext>Comment on attachment 219604
Patch

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

r=me

&gt; Source/WebCore/ChangeLog:13
&gt; +        the stack, do the call, restores the stack, and restore the registers.

Should be &quot;does the call&quot;.

&gt; Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:1148
&gt; +    void test32AndSetFlags(RegisterID reg, TrustedImm32 mask = TrustedImm32(-1))

Is there going to be a version of test32 that doesn&apos;t set flags? If not, then I would just call this &quot;test32&quot;.

&gt; Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:1158
&gt; +    Jump branchOnFlags(ResultCondition cond)

I would just call this &quot;branch&quot;.

&gt; Source/WebCore/cssjit/FunctionCall.h:41
&gt; +    static const JSC::MacroAssembler::RegisterID firstArgument = JSC::X86Registers::edi;
&gt; +    static const JSC::MacroAssembler::RegisterID returnRegister = JSC::X86Registers::eax;

Please use the values defined in GPRInfo (argumentGPR0, returnValueGPR) instead of redefining them here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961656</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-12-19 17:36:01 -0800</bug_when>
    <thetext>Committed r160881: &lt;http://trac.webkit.org/changeset/160881&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219604</attachid>
            <date>2013-12-18 19:20:29 -0800</date>
            <delta_ts>2013-12-18 21:54:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125972-20131218192029.patch</filename>
            <type>text/plain</type>
            <size>14408</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwODE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZWMyMjBhMjQ5N2M0YmRhZWQwMTEzMjA1ODAxMGI2OTliNjNhOGIxLi45ODhiNGQwYTg3NWM2Nzgy
MGVlZTRhMDZlZTU5MDA5NWIyYzU2NzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMy0xMi0xOCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgQWRkIGFuIHV0aWxpdHkgY2xhc3MgdG8gc2ltcGxpZnkgZ2VuZXJh
dGluZyBmdW5jdGlvbiBjYWxscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI1OTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU3BsaXQgYnJhbmNoVGVzdDMyIGluIHR3byBmdW5jdGlvbnM6IHRlc3QzMkFu
ZFNldEZsYWdzIGFuZCBicmFuY2hPbkZsYWdzLgorICAgICAgICBUaGlzIGlzIGRvbmUgdG8gYWxs
b3cgY29kZSB3aGVyZSB0aGUgZmxhZ3MgYXJlIHNldCwgbXVsdGlwbGUgb3BlcmF0aW9uIHRoYXQK
KyAgICAgICAgZG8gbm90IG1vZGlmeSB0aGUgZmxhZ3Mgb2NjdXIsIHRoZW4gdGhlIGZsYWdzIGFy
ZSB1c2VkLgorCisgICAgICAgIFRoaXMgaXMgdXNlZCBmb3IgZnVuY3Rpb24gY2FsbHMgdG8gdGVz
dCB0aGUgcmV0dXJuIHZhbHVlIHdoaWxlIGRpc2NhcmRpbmcgdGhlCisgICAgICAgIHJldHVybiBy
ZWdpc3Rlci4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5o
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6dGVzdDMyQW5kU2V0Rmxh
Z3MpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6YnJhbmNoT25GbGFn
cyk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpicmFuY2hUZXN0MzIp
OgorCiAyMDEzLTEyLTE4ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgog
CiAgICAgICAgIFtHVEtdW0NNYWtlXSBtYWtlIGxpYmphdmFzY3JpcHRjb3JlZ3RrIGEgcHVibGlj
IHNoYXJlZCBsaWJyYXJ5IGFnYWluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWM2MTY3ZjlhYzZkNGMyZmMzMTQ3
ODJiNmUyZTIyODFkNzM4ZjliZC4uMTY1YTkxNTAwM2FmMzkxZDNkYmQ3NmMxN2FmZmM0YjI3YTM0
OWQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTEyLTE4ICBCZW5qYW1pbiBQ
b3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgYW4gdXRpbGl0eSBj
bGFzcyB0byBzaW1wbGlmeSBnZW5lcmF0aW5nIGZ1bmN0aW9uIGNhbGxzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU5NzIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGdW5jdGlvbkNhbGwgaXMgYSBsaXR0
bGUgaGVscGVyIGNsYXNzIHRvIG1ha2UgZnVuY3Rpb24gY2FsbHMgZnJvbSB0aGUgSklUCisgICAg
ICAgIGluIDMgb3IgNCBsaW5lcy4KKworICAgICAgICBGdW5jdGlvbkNhbGwgdGFrZXMgYSBTdGFj
a0FsbG9jYXRvciwgYSBSZWdpc3RlckFsbG9jYXRvciBhbmQgYSBmdW5jdGlvbiBwb2ludGVyLgor
ICAgICAgICBXaGVuIHRoZSBjYWxsIGlzIGdlbmVyYXRlZCwgdGhlIGhlbHBlciBzYXZlcyB0aGUg
cmVnaXN0ZXJzIGFzIG5lY2Vzc2FyeSwgYWxpZ25zCisgICAgICAgIHRoZSBzdGFjaywgZG8gdGhl
IGNhbGwsIHJlc3RvcmVzIHRoZSBzdGFjaywgYW5kIHJlc3RvcmUgdGhlIHJlZ2lzdGVycy4KKwor
ICAgICAgICAqIGNzc2ppdC9GdW5jdGlvbkNhbGwuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpGdW5jdGlvbkNhbGw6OkZ1bmN0aW9uQ2FsbCk6CisgICAgICAgIChXZWJDb3JlOjpGdW5jdGlv
bkNhbGw6OnNldEZ1bmN0aW9uQWRkcmVzcyk6CisgICAgICAgIChXZWJDb3JlOjpGdW5jdGlvbkNh
bGw6OnNldEZpcnN0QXJndW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RnVuY3Rpb25DYWxsOjpj
YWxsKToKKworICAgICAgICAoV2ViQ29yZTo6RnVuY3Rpb25DYWxsOjpjYWxsQW5kQnJhbmNoT25D
b25kaXRpb24pOiBNb3N0IHRlc3QgZnVuY3Rpb25zIHVzZWQKKyAgICAgICAgd2l0aCBGdW5jdGlv
bkNhbGwgcmV0dXJuIGEgYm9vbGVhbi4gV2hlbiB0aGUgYm9vbGVhbiBpcyB0aGUgc29sZSBwdXJw
b3NlIG9mIHRoZSBmdW5jdGlvbgorICAgICAgICBjYWxsLCB0aGlzIHByb3ZpZGVzIGFuIGVhc3kg
d2F5IHRvIGJyYW5jaCBvbiB0aGUgYm9vbGVhbiB3aXRob3V0IHdvcnJ5aW5nIGFib3V0IHJlZ2lz
dGVycy4KKworICAgICAgICBUaGUgcmV0dXJuIHJlZ2lzdGVyIGlzIHRlc3RlZCBmaXJzdCwgdGhl
biBhbGwgdGhlIHNhdmVkIHJlZ2lzdGVycyBhcmUgcmVzdG9yZWQgZnJvbSB0aGUgc3RhY2sKKyAg
ICAgICAgKHdoaWNoIGNhbiBpbmNsdWRlIHRoZSByZXR1cm4gcmVnaXN0ZXIpLCBmaW5hbGx5IHRo
ZSBmbGFncyBhcmUgdXNlZCBmb3IgYSBqdW1wLgorCisgICAgICAgIChXZWJDb3JlOjpGdW5jdGlv
bkNhbGw6OnByZXBhcmVBbmRDYWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkZ1bmN0aW9uQ2FsbDo6
Y2xlYW51cFBvc3RDYWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkZ1bmN0aW9uQ2FsbDo6c2F2ZUFs
bG9jYXRlZFJlZ2lzdGVycyk6CisgICAgICAgIChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OnJlc3Rv
cmVBbGxvY2F0ZWRSZWdpc3RlcnMpOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3NqaXQvRnVuY3Rpb25DYWxsLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6RnVuY3Rpb25DYWxsOjpGdW5jdGlvbkNhbGwpOgorICAgICAgICAoV2Vi
Q29yZTo6RnVuY3Rpb25DYWxsOjpzZXRGdW5jdGlvbkFkZHJlc3MpOgorICAgICAgICAoV2ViQ29y
ZTo6RnVuY3Rpb25DYWxsOjpzZXRGaXJzdEFyZ3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZ1
bmN0aW9uQ2FsbDo6Y2FsbCk6CisgICAgICAgIChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OmNhbGxB
bmRCcmFuY2hPbkNvbmRpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OnBy
ZXBhcmVBbmRDYWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkZ1bmN0aW9uQ2FsbDo6Y2xlYW51cFBv
c3RDYWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkZ1bmN0aW9uQ2FsbDo6c2F2ZUFsbG9jYXRlZFJl
Z2lzdGVycyk6CisgICAgICAgIChXZWJDb3JlOjpGdW5jdGlvbkNhbGw6OnJlc3RvcmVBbGxvY2F0
ZWRSZWdpc3RlcnMpOgorCiAyMDEzLTEyLTE4ICBIYW5zIE11bGxlciAgPGhtdWxsZXJAYWRvYmUu
Y29tPgogCiAgICAgICAgIFtDU1MgU2hhcGVzXSBTaW1wbGlmeSB0aGUgQm94U2hhcGUgaW1wbGVt
ZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJYODZDb21tb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAppbmRleCA4MzgxMDU3NDRlZTQ3MTkzMDhiNzZiMjA1
OTY1ZTU0MGJjN2QzZmZhLi5lYmMxZTQ4NmUzMTRhNjUzMjg5YTZlNDdkYWY1MTliZjVhZTZiZWJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbi5oCkBAIC0xMTQ1LDcgKzExNDUsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBKdW1wKG1fYXNzZW1ibGVyLmpDQyh4ODZDb25kaXRpb24oY29uZCkpKTsKICAg
ICB9CiAKLSAgICBKdW1wIGJyYW5jaFRlc3QzMihSZXN1bHRDb25kaXRpb24gY29uZCwgUmVnaXN0
ZXJJRCByZWcsIFRydXN0ZWRJbW0zMiBtYXNrID0gVHJ1c3RlZEltbTMyKC0xKSkKKyAgICB2b2lk
IHRlc3QzMkFuZFNldEZsYWdzKFJlZ2lzdGVySUQgcmVnLCBUcnVzdGVkSW1tMzIgbWFzayA9IFRy
dXN0ZWRJbW0zMigtMSkpCiAgICAgewogICAgICAgICBpZiAobWFzay5tX3ZhbHVlID09IC0xKQog
ICAgICAgICAgICAgbV9hc3NlbWJsZXIudGVzdGxfcnIocmVnLCByZWcpOwpAQCAtMTE1Myw5ICsx
MTUzLDE5IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnRlc3RiX2k4cihtYXNr
Lm1fdmFsdWUsIHJlZyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnRl
c3RsX2kzMnIobWFzay5tX3ZhbHVlLCByZWcpOworICAgIH0KKworICAgIEp1bXAgYnJhbmNoT25G
bGFncyhSZXN1bHRDb25kaXRpb24gY29uZCkKKyAgICB7CiAgICAgICAgIHJldHVybiBKdW1wKG1f
YXNzZW1ibGVyLmpDQyh4ODZDb25kaXRpb24oY29uZCkpKTsKICAgICB9CiAKKyAgICBKdW1wIGJy
YW5jaFRlc3QzMihSZXN1bHRDb25kaXRpb24gY29uZCwgUmVnaXN0ZXJJRCByZWcsIFRydXN0ZWRJ
bW0zMiBtYXNrID0gVHJ1c3RlZEltbTMyKC0xKSkKKyAgICB7CisgICAgICAgIHRlc3QzMkFuZFNl
dEZsYWdzKHJlZywgbWFzayk7CisgICAgICAgIHJldHVybiBicmFuY2hPbkZsYWdzKGNvbmQpOwor
ICAgIH0KKwogICAgIEp1bXAgYnJhbmNoVGVzdDMyKFJlc3VsdENvbmRpdGlvbiBjb25kLCBBZGRy
ZXNzIGFkZHJlc3MsIFRydXN0ZWRJbW0zMiBtYXNrID0gVHJ1c3RlZEltbTMyKC0xKSkKICAgICB7
CiAgICAgICAgIGdlbmVyYXRlVGVzdDMyKGFkZHJlc3MsIG1hc2spOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDMxY2IwNjQ2YTNm
OTZlYjMwNWE4YzcxNmY0ODVkMjVmZTI2MjQ5NzAuLmMxMDczNjNmNTg3YWFkZGZiODRhNTQ1N2Q5
YjcxMzVlNTRkNGRiYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTkxMSw2ICs5MTEsNyBAQAogCQkyNjkyMzk5NjE1MDVFMUFB
MDA5RTU3RkMgLyogSlNJREJWZXJzaW9uQ2hhbmdlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2OTIzOTkyMTUwNUUxQUEwMDlFNTdGQyAvKiBK
U0lEQlZlcnNpb25DaGFuZ2VFdmVudC5oICovOyB9OwogCQkyNkI5OTk4RjE4MDNBRTcyMDBEMDEx
MjEgLyogUmVnaXN0ZXJBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDI2Qjk5OThFMTgwM0FFNzIwMEQwMTEyMSAvKiBSZWdpc3RlckFsbG9j
YXRvci5oICovOyB9OwogCQkyNkI5OTk5MTE4MDNCM0M5MDBEMDExMjEgLyogU3RhY2tBbGxvY2F0
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2Qjk5
OTkwMTgwM0IzQzkwMEQwMTEyMSAvKiBTdGFja0FsbG9jYXRvci5oICovOyB9OworCQkyNkI5OTk5
MzE4MDNCOUQ5MDBEMDExMjEgLyogRnVuY3Rpb25DYWxsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkI5OTk5MjE4MDNCOUQ5MDBEMDExMjEgLyogRnVu
Y3Rpb25DYWxsLmggKi87IH07CiAJCTI2QzE1Q0Y2MTg1N0UxNUQwMEYxNUMwMyAvKiBSZXNvdXJj
ZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2QzE1Q0Y0MTg1N0Ux
NUQwMEYxNUMwMyAvKiBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9w
ZXJhdGlvblF1ZXVlLmNwcCAqLzsgfTsKIAkJMjZDMTVDRjcxODU3RTE1RTAwRjE1QzAzIC8qIFJl
c291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2QzE1Q0Y1MTg1
N0UxNUQwMEYxNUMwMyAvKiBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0
aE9wZXJhdGlvblF1ZXVlLmggKi87IH07CiAJCTI2QzE3QTNFMTQ5MUQyRDQwMEQxMkJBMiAvKiBG
aWxlU3lzdGVtSU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyNkMxN0EzQzE0OTFEMkQ0MDBEMTJCQTIgLyogRmlsZVN5c3RlbUlPUy5oICovOyB9OwpA
QCAtNzU2NSw2ICs3NTY2LDcgQEAKIAkJMjY5MjM5OTIxNTA1RTFBQTAwOUU1N0ZDIC8qIEpTSURC
VmVyc2lvbkNoYW5nZUV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
SURCVmVyc2lvbkNoYW5nZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2
Qjk5OThFMTgwM0FFNzIwMEQwMTEyMSAvKiBSZWdpc3RlckFsbG9jYXRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBSZWdpc3RlckFsbG9jYXRvci5oOyBwYXRoID0gY3Nzaml0
L1JlZ2lzdGVyQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2Qjk5
OTkwMTgwM0IzQzkwMEQwMTEyMSAvKiBTdGFja0FsbG9jYXRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBTdGFja0FsbG9jYXRvci5oOyBwYXRoID0gY3Nzaml0L1N0YWNrQWxs
b2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTI2Qjk5OTkyMTgwM0I5RDkw
MEQwMTEyMSAvKiBGdW5jdGlvbkNhbGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gRnVuY3Rpb25DYWxsLmg7IHBhdGggPSBjc3NqaXQvRnVuY3Rpb25DYWxsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2QzE1Q0Y0MTg1N0UxNUQwMEYxNUMwMyAvKiBSZXNvdXJj
ZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0aE9wZXJhdGlvblF1ZXVlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlSGFuZGxlQ0ZVUkxDb25u
ZWN0aW9uRGVsZWdhdGVXaXRoT3BlcmF0aW9uUXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyNkMxNUNGNTE4NTdFMTVEMDBGMTVDMDMgLyogUmVzb3VyY2VIYW5kbGVDRlVS
TENvbm5lY3Rpb25EZWxlZ2F0ZVdpdGhPcGVyYXRpb25RdWV1ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUhhbmRsZUNGVVJMQ29ubmVjdGlvbkRlbGVnYXRlV2l0
aE9wZXJhdGlvblF1ZXVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI2QzE3QTND
MTQ5MUQyRDQwMEQxMkJBMiAvKiBGaWxlU3lzdGVtSU9TLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEZpbGVTeXN0ZW1JT1MuaDsgcGF0aCA9IGlvcy9GaWxlU3lzdGVtSU9TLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDY0OSw2ICsxNDY1MSw3IEBACiAJCTI2
Qjk5OThEMTgwM0FERkEwMEQwMTEyMSAvKiBjc3NqaXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTI2Qjk5OTkyMTgwM0I5RDkwMEQwMTEyMSAvKiBGdW5j
dGlvbkNhbGwuaCAqLywKIAkJCQkyNkI5OTk4RTE4MDNBRTcyMDBEMDExMjEgLyogUmVnaXN0ZXJB
bGxvY2F0b3IuaCAqLywKIAkJCQkyNkI5OTk5MDE4MDNCM0M5MDBEMDExMjEgLyogU3RhY2tBbGxv
Y2F0b3IuaCAqLywKIAkJCSk7CkBAIC0yMzE2MSw2ICsyMzE2NCw3IEBACiAJCQkJNjVDQkZFRkEw
OTc0RjYwNzAwMURBQzI1IC8qIEZyYW1lVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcyMDVB
QjAxMjM5MjhDQTAwQjE3MzgwIC8qIEZUUERpcmVjdG9yeURvY3VtZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MUM4MUI4QTBDNDQyMkY3MDAxOUVDRTMgLyogRlRQRGlyZWN0b3J5UGFyc2VyLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkyNkI5OTk5MzE4MDNCOUQ5MDBEMDExMjEgLyogRnVuY3Rpb25D
YWxsLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAwRDEyQjAyNjc2MDBDMUEzNTkgLyogR2Fp
bk5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzNUM0Nzc1MDlBQzREOEUwMEE2QUFCNCAvKiBH
YXBSZWN0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3NzFDOEYxODJEQjRCNzAwOEU3ODFFIC8q
IElEQkRhdGFiYXNlQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3NqaXQvRnVuY3Rpb25DYWxsLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3NqaXQvRnVu
Y3Rpb25DYWxsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWZhODc4OGFlZmNlZmM3ZmRhYzAwZWFlZDllOTZlNjEy
ZDlhMTIxYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9GdW5jdGlv
bkNhbGwuaApAQCAtMCwwICsxLDEzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRnVuY3Rpb25D
YWxsX2gKKyNkZWZpbmUgRnVuY3Rpb25DYWxsX2gKKworI2lmIEVOQUJMRShDU1NfU0VMRUNUT1Jf
SklUKQorCisjaW5jbHVkZSAiUmVnaXN0ZXJBbGxvY2F0b3IuaCIKKyNpbmNsdWRlICJTdGFja0Fs
bG9jYXRvci5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL01hY3JvQXNzZW1ibGVyLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRnVuY3Rpb25DYWxsIHsKK3B1YmxpYzoKKyNp
ZiBDUFUoWDg2XzY0KQorICAgIHN0YXRpYyBjb25zdCBKU0M6Ok1hY3JvQXNzZW1ibGVyOjpSZWdp
c3RlcklEIGZpcnN0QXJndW1lbnQgPSBKU0M6Olg4NlJlZ2lzdGVyczo6ZWRpOworICAgIHN0YXRp
YyBjb25zdCBKU0M6Ok1hY3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIHJldHVyblJlZ2lzdGVyID0g
SlNDOjpYODZSZWdpc3RlcnM6OmVheDsKKyNlbmRpZiAvLyBDUFUoWDg2XzY0KQorCisgICAgRnVu
Y3Rpb25DYWxsKEpTQzo6TWFjcm9Bc3NlbWJsZXImIGFzc2VtYmxlciwgY29uc3QgUmVnaXN0ZXJB
bGxvY2F0b3ImIHJlZ2lzdGVyQWxsb2NhdG9yLCBTdGFja0FsbG9jYXRvciYgc3RhY2tBbGxvY2F0
b3IsIFZlY3RvcjxzdGQ6OnBhaXI8SlNDOjpNYWNyb0Fzc2VtYmxlcjo6Q2FsbCwgSlNDOjpGdW5j
dGlvblB0cj4+JiBjYWxsUmVnaXN0cnkpCisgICAgICAgIDogbV9hc3NlbWJsZXIoYXNzZW1ibGVy
KQorICAgICAgICAsIG1fcmVnaXN0ZXJBbGxvY2F0b3IocmVnaXN0ZXJBbGxvY2F0b3IpCisgICAg
ICAgICwgbV9zdGFja0FsbG9jYXRvcihzdGFja0FsbG9jYXRvcikKKyAgICAgICAgLCBtX2NhbGxS
ZWdpc3RyeShjYWxsUmVnaXN0cnkpCisgICAgICAgICwgbV9zYXZlZFJlZ2lzdGVyc0luY2x1ZGVz
UmV0dXJuUmVnaXN0ZXIoZmFsc2UpCisgICAgICAgICwgbV9maXJzdEFyZ3VtZW50KDApCisgICAg
eworICAgIH0KKworICAgIHZvaWQgc2V0RnVuY3Rpb25BZGRyZXNzKEpTQzo6RnVuY3Rpb25QdHIg
ZnVuY3Rpb25BZGRyZXNzKQorICAgIHsKKyAgICAgICAgbV9mdW5jdGlvbkFkZHJlc3MgPSBmdW5j
dGlvbkFkZHJlc3M7CisgICAgfQorCisgICAgdm9pZCBzZXRGaXJzdEFyZ3VtZW50KGNvbnN0IEpT
Qzo6TWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdGVySUQmIHJlZ2lzdGVySUQpCisgICAgeworICAgICAg
ICBtX2ZpcnN0QXJndW1lbnQgPSAmcmVnaXN0ZXJJRDsKKyAgICB9CisKKyAgICB2b2lkIGNhbGwo
KQorICAgIHsKKyAgICAgICAgcHJlcGFyZUFuZENhbGwoKTsKKyAgICAgICAgY2xlYW51cFBvc3RD
YWxsKCk7CisgICAgfQorCisgICAgSlNDOjpNYWNyb0Fzc2VtYmxlcjo6SnVtcCBjYWxsQW5kQnJh
bmNoT25Db25kaXRpb24oSlNDOjpNYWNyb0Fzc2VtYmxlcjo6UmVzdWx0Q29uZGl0aW9uIGNvbmRp
dGlvbikKKyAgICB7CisgICAgICAgIHByZXBhcmVBbmRDYWxsKCk7CisgICAgICAgIG1fYXNzZW1i
bGVyLnRlc3QzMkFuZFNldEZsYWdzKHJldHVyblJlZ2lzdGVyLCBKU0M6Ok1hY3JvQXNzZW1ibGVy
OjpUcnVzdGVkSW1tMzIoMHhmZikpOworICAgICAgICBjbGVhbnVwUG9zdENhbGwoKTsKKyAgICAg
ICAgcmV0dXJuIG1fYXNzZW1ibGVyLmJyYW5jaE9uRmxhZ3MoY29uZGl0aW9uKTsKKyAgICB9CisK
K3ByaXZhdGU6CisgICAgdm9pZCBwcmVwYXJlQW5kQ2FsbCgpCisgICAgeworICAgICAgICBBU1NF
UlQobV9mdW5jdGlvbkFkZHJlc3MuZXhlY3V0YWJsZUFkZHJlc3MoKSk7CisKKyAgICAgICAgc2F2
ZUFsbG9jYXRlZFJlZ2lzdGVycygpOworICAgICAgICBtX3N0YWNrQWxsb2NhdG9yLmFsaWduU3Rh
Y2tQcmVGdW5jdGlvbkNhbGwobV9zYXZlZFJlZ2lzdGVyc0luY2x1ZGVzUmV0dXJuUmVnaXN0ZXIp
OworCisgICAgICAgIGlmIChtX2ZpcnN0QXJndW1lbnQgJiYgKm1fZmlyc3RBcmd1bWVudCAhPSBm
aXJzdEFyZ3VtZW50KQorICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92ZSgqbV9maXJzdEFyZ3Vt
ZW50LCBmaXJzdEFyZ3VtZW50KTsKKworICAgICAgICBKU0M6Ok1hY3JvQXNzZW1ibGVyOjpDYWxs
IGNhbGwgPSBtX2Fzc2VtYmxlci5jYWxsKCk7CisgICAgICAgIG1fY2FsbFJlZ2lzdHJ5LmFwcGVu
ZChzdGQ6Om1ha2VfcGFpcihjYWxsLCBtX2Z1bmN0aW9uQWRkcmVzcykpOworICAgIH0KKworICAg
IHZvaWQgY2xlYW51cFBvc3RDYWxsKCkKKyAgICB7CisgICAgICAgIG1fc3RhY2tBbGxvY2F0b3Iu
dW5hbGlnblN0YWNrUG9zdEZ1bmN0aW9uQ2FsbChtX3NhdmVkUmVnaXN0ZXJzSW5jbHVkZXNSZXR1
cm5SZWdpc3Rlcik7CisgICAgICAgIHJlc3RvcmVBbGxvY2F0ZWRSZWdpc3RlcnMoKTsKKyAgICB9
CisKKyAgICB2b2lkIHNhdmVBbGxvY2F0ZWRSZWdpc3RlcnMoKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKG1fc2F2ZWRSZWdpc3RlclN0YWNrUmVmZXJlbmNlcy5pc0VtcHR5KCkpOworCisgICAgICAg
IHVuc2lnbmVkIGFsbG9jYXRlZFJlZ2lzdGVyc0NvdW50ID0gbV9yZWdpc3RlckFsbG9jYXRvci5h
bGxvY2F0ZWRSZWdpc3RlcnMoKS5zaXplKCk7CisgICAgICAgIG1fc2F2ZWRSZWdpc3RlclN0YWNr
UmVmZXJlbmNlcy5yZXNlcnZlQ2FwYWNpdHkoYWxsb2NhdGVkUmVnaXN0ZXJzQ291bnQpOworCisg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhbGxvY2F0ZWRSZWdpc3RlcnNDb3VudDsg
KytpKSB7CisgICAgICAgICAgICBKU0M6Ok1hY3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIHJlZ2lz
dGVySUQgPSBtX3JlZ2lzdGVyQWxsb2NhdG9yLmFsbG9jYXRlZFJlZ2lzdGVycygpW2ldOworICAg
ICAgICAgICAgbV9zYXZlZFJlZ2lzdGVyU3RhY2tSZWZlcmVuY2VzLmFwcGVuZChtX3N0YWNrQWxs
b2NhdG9yLnB1c2gocmVnaXN0ZXJJRCkpOworICAgICAgICAgICAgaWYgKHJlZ2lzdGVySUQgPT0g
cmV0dXJuUmVnaXN0ZXIpCisgICAgICAgICAgICAgICAgbV9zYXZlZFJlZ2lzdGVyc0luY2x1ZGVz
UmV0dXJuUmVnaXN0ZXIgPSB0cnVlOworICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCByZXN0
b3JlQWxsb2NhdGVkUmVnaXN0ZXJzKCkKKyAgICB7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IG1fcmVnaXN0ZXJBbGxvY2F0b3IuYWxsb2NhdGVkUmVnaXN0ZXJzKCkuc2l6ZSgpOyBpID4gMDsg
LS1pKQorICAgICAgICAgICAgbV9zdGFja0FsbG9jYXRvci5wb3AobV9zYXZlZFJlZ2lzdGVyU3Rh
Y2tSZWZlcmVuY2VzW2kgLSAxXSwgbV9yZWdpc3RlckFsbG9jYXRvci5hbGxvY2F0ZWRSZWdpc3Rl
cnMoKVtpIC0gMV0pOworICAgICAgICBtX3NhdmVkUmVnaXN0ZXJTdGFja1JlZmVyZW5jZXMuY2xl
YXIoKTsKKyAgICB9CisKKyAgICBKU0M6Ok1hY3JvQXNzZW1ibGVyJiBtX2Fzc2VtYmxlcjsKKyAg
ICBjb25zdCBSZWdpc3RlckFsbG9jYXRvciYgbV9yZWdpc3RlckFsbG9jYXRvcjsKKyAgICBTdGFj
a0FsbG9jYXRvciYgbV9zdGFja0FsbG9jYXRvcjsKKyAgICBWZWN0b3I8c3RkOjpwYWlyPEpTQzo6
TWFjcm9Bc3NlbWJsZXI6OkNhbGwsIEpTQzo6RnVuY3Rpb25QdHI+PiYgbV9jYWxsUmVnaXN0cnk7
CisKKyAgICBWZWN0b3I8U3RhY2tBbGxvY2F0b3I6OlN0YWNrUmVmZXJlbmNlPiBtX3NhdmVkUmVn
aXN0ZXJTdGFja1JlZmVyZW5jZXM7CisgICAgYm9vbCBtX3NhdmVkUmVnaXN0ZXJzSW5jbHVkZXNS
ZXR1cm5SZWdpc3RlcjsKKworICAgIEpTQzo6RnVuY3Rpb25QdHIgbV9mdW5jdGlvbkFkZHJlc3M7
CisgICAgY29uc3QgSlNDOjpNYWNyb0Fzc2VtYmxlcjo6UmVnaXN0ZXJJRCogbV9maXJzdEFyZ3Vt
ZW50OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKENT
U19TRUxFQ1RPUl9KSVQpCisKKyNlbmRpZiAvLyBGdW5jdGlvbkNhbGxfaAo=
</data>
<flag name="review"
          id="243258"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>