From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 127158 invoked by alias); 13 May 2015 18:00:31 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 127148 invoked by uid 89); 13 May 2015 18:00:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mail-oi0-f43.google.com Received: from mail-oi0-f43.google.com (HELO mail-oi0-f43.google.com) (209.85.218.43) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 13 May 2015 18:00:28 +0000 Received: by oiko83 with SMTP id o83so37593461oik.1 for ; Wed, 13 May 2015 11:00:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=aD5X2zcRDAd7uEHmWEt1aWqHpDo5mokU/hmRZDP2U18=; b=gMB1C+o+Iuwj9/o71ul4LLPvQ8gCImOGxRKa4Q5QSff188Oyr13IWfofB6ostFQID/ I/HiNcigMbySDD2XWLLBTjBwCB7ZNE5+//kOUMjiGzA7Do14lVCszHXemIB+UvN5Sa20 4X797BxoO7A3aqBkIjb2p9hUFNucATTLhwenf0+KHOyyy5YMVsigxC5V9O8HJbTjWwHz BXzo0Wru7LK+f9KMyimb2tyhTWRswMkEPP6wrONDHJkTwEd9sBojDpLxlFyhRqh/aMqx B3eoi6HXGDbPcP1T/PdR2gbxL00RfWn+HW5Vs0nFUu6W68ti1QXzZO4pA+K1c+f7DNy8 NxyA== X-Gm-Message-State: ALoCoQnYzsrBpSW/FZGpbDw1ftaDGUTvYHJzADsljuDhQYN4JzjSZm0VJx5Ai9g4A2EPLfSX764H MIME-Version: 1.0 X-Received: by 10.202.61.70 with SMTP id k67mr110614oia.88.1431540025280; Wed, 13 May 2015 11:00:25 -0700 (PDT) Received: by 10.182.160.65 with HTTP; Wed, 13 May 2015 11:00:25 -0700 (PDT) Date: Wed, 13 May 2015 18:00:00 -0000 Message-ID: Subject: [PATCH, GOOGLE] Backport patch r212222 to google 4.9 branch From: Carrot Wei To: David Li , "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary=001a113cd522b3cd8f0515fa62c8 X-SW-Source: 2015-05/txt/msg01257.txt.bz2 --001a113cd522b3cd8f0515fa62c8 Content-Type: text/plain; charset=UTF-8 Content-length: 169 Hi The more strict devirtualization condition in this patch helps to fix google bug b/19872411. Bootstraped and regression tested on x86-64. OK for google 4.9 branch? --001a113cd522b3cd8f0515fa62c8 Content-Type: application/octet-stream; name=patch Content-Disposition: attachment; filename=patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_i9n1xwgl0 Content-length: 10261 SW5kZXg6IGlwYS1kZXZpcnQuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBpcGEtZGV2aXJ0LmMJKHJldmlzaW9uIDIyMzE2NykKKysrIGlwYS1kZXZp cnQuYwkod29ya2luZyBjb3B5KQpAQCAtNTM3LDcgKzUzNyw3IEBACiAgICBM b29rdXAgdGhpcyBwb2ludGVyIGFuZCBnZXQgaXRzIHR5cGUuICAgICovCiAK IHRyZWUKLW1ldGhvZF9jbGFzc190eXBlICh0cmVlIHQpCittZXRob2RfY2xh c3NfdHlwZSAoY29uc3RfdHJlZSB0KQogewogICB0cmVlIGZpcnN0X3Bhcm1f dHlwZSA9IFRSRUVfVkFMVUUgKFRZUEVfQVJHX1RZUEVTICh0KSk7CiAgIGdj Y19hc3NlcnQgKFRSRUVfQ09ERSAodCkgPT0gTUVUSE9EX1RZUEUpOwpAQCAt ODkwLDYgKzg5MCwzMSBAQAogICAgIGZyZWVfcG9seW1vcnBoaWNfY2FsbF90 YXJnZXRzX2hhc2ggKCk7CiB9CiAKKy8qIFJldHVybiB0cnVlIHdoZW4gVFlQ RSBjb250YWlucyBhbiBwb2x5bW9ycGhpYyB0eXBlIGFuZCB0aHVzIGlzIGlu dGVyZXN0aW5nCisgIGZvciBkZXZpcnR1YWxpemF0aW9uIG1hY2hpbmVyeS4g ICovCisKK2Jvb2wKK2NvbnRhaW5zX3BvbHltb3JwaGljX3R5cGVfcCAoY29u c3RfdHJlZSB0eXBlKQoreworICB0eXBlID0gVFlQRV9NQUlOX1ZBUklBTlQg KHR5cGUpOworCisgIGlmIChSRUNPUkRfT1JfVU5JT05fVFlQRV9QICh0eXBl KSkKKyAgICB7CisgICAgICBpZiAoVFlQRV9CSU5GTyAodHlwZSkKKyAgICAg ICAgICAmJiBwb2x5bW9ycGhpY190eXBlX2JpbmZvX3AgKFRZUEVfQklORk8g KHR5cGUpKSkKKwlyZXR1cm4gdHJ1ZTsKKyAgICAgIGZvciAodHJlZSBmbGQg PSBUWVBFX0ZJRUxEUyAodHlwZSk7IGZsZDsgZmxkID0gREVDTF9DSEFJTiAo ZmxkKSkKKwlpZiAoVFJFRV9DT0RFIChmbGQpID09IEZJRUxEX0RFQ0wKKwkg ICAgJiYgIURFQ0xfQVJUSUZJQ0lBTCAoZmxkKQorCSAgICAmJiBjb250YWlu c19wb2x5bW9ycGhpY190eXBlX3AgKFRSRUVfVFlQRSAoZmxkKSkpCisJICBy ZXR1cm4gdHJ1ZTsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgIGlm IChUUkVFX0NPREUgKHR5cGUpID09IEFSUkFZX1RZUEUpCisgICAgcmV0dXJu IGNvbnRhaW5zX3BvbHltb3JwaGljX3R5cGVfcCAoVFJFRV9UWVBFICh0eXBl KSk7CisgIHJldHVybiBmYWxzZTsKK30KKwogLyogQ09OVEVYVC0+T1VURVJf VFlQRSBpcyBhIHR5cGUgb2YgbWVtb3J5IG9iamVjdCB3aGVyZSBvYmplY3Qg b2YgRVhQRUNURURfVFlQRQogICAgaXMgY29udGFpbmVkIGF0IENPTlRFWFQt Pk9GRlNFVC4gIFdhbGsgdGhlIG1lbW9yeSByZXByZXNlbnRhdGlvbiBvZgog ICAgQ09OVEVYVC0+T1VURVJfVFlQRSBhbmQgZmluZCB0aGUgb3V0ZXJtb3N0 IGNsYXNzIHR5cGUgdGhhdCBtYXRjaApAQCAtMTA1Miw3ICsxMDc3LDggQEAK ICAgIFJldHVybiBmYWxzZSBpZiBUIGRvZXMgbm90IGxvb2sgbGlrZSB2aXJ0 dWFsIHRhYmxlIHJlZmVyZW5jZS4gICovCiAKIGJvb2wKLXZ0YWJsZV9wb2lu dGVyX3ZhbHVlX3RvX3Z0YWJsZSAodHJlZSB0LCB0cmVlICp2LCB1bnNpZ25l ZCBIT1NUX1dJREVfSU5UICpvZmZzZXQpCit2dGFibGVfcG9pbnRlcl92YWx1 ZV90b192dGFibGUgKGNvbnN0X3RyZWUgdCwgdHJlZSAqdiwKKwkJCQl1bnNp Z25lZCBIT1NUX1dJREVfSU5UICpvZmZzZXQpCiB7CiAgIC8qIFdlIGV4cGVj dCAmTUVNWyh2b2lkICopJnZpcnR1YWxfdGFibGUgKyAxNkJdLgogICAgICBX ZSBvYnRhaW4gb2JqZWN0J3MgQklORk8gZnJvbSB0aGUgY29udGV4dCBvZiB0 aGUgdmlydHVhbCB0YWJsZS4gCkBAIC0xMDk4LDcgKzExMjQsNyBAQAogICAg aW5zdGFuY2UgdHlwZS4gICovCiAKIHRyZWUKLXZ0YWJsZV9wb2ludGVyX3Zh bHVlX3RvX2JpbmZvICh0cmVlIHQpCit2dGFibGVfcG9pbnRlcl92YWx1ZV90 b19iaW5mbyAoY29uc3RfdHJlZSB0KQogewogICB0cmVlIHZ0YWJsZTsKICAg dW5zaWduZWQgSE9TVF9XSURFX0lOVCBvZmZzZXQ7CkluZGV4OiBpcGEtcHJv cC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGlwYS1wcm9wLmMJKHJl dmlzaW9uIDIyMzE2NykKKysrIGlwYS1wcm9wLmMJKHdvcmtpbmcgY29weSkK QEAgLTM5NCwxMSArMzk0LDEwIEBACiBpcGFfc2V0X2pmX2tub3duX3R5cGUg KHN0cnVjdCBpcGFfanVtcF9mdW5jICpqZnVuYywgSE9TVF9XSURFX0lOVCBv ZmZzZXQsCiAJCSAgICAgICB0cmVlIGJhc2VfdHlwZSwgdHJlZSBjb21wb25l bnRfdHlwZSkKIHsKLSAgZ2NjX2Fzc2VydCAoVFJFRV9DT0RFIChjb21wb25l bnRfdHlwZSkgPT0gUkVDT1JEX1RZUEUKLQkgICAgICAmJiBUWVBFX0JJTkZP IChjb21wb25lbnRfdHlwZSkpOworICBnY2NfYXNzZXJ0IChjb250YWluc19w b2x5bW9ycGhpY190eXBlX3AgKGJhc2VfdHlwZSkKKwkgICAgICAmJiBjb250 YWluc19wb2x5bW9ycGhpY190eXBlX3AgKGNvbXBvbmVudF90eXBlKSk7CiAg IGlmICghZmxhZ19kZXZpcnR1YWxpemUpCiAgICAgcmV0dXJuOwotICBnY2Nf YXNzZXJ0IChCSU5GT19WVEFCTEUgKFRZUEVfQklORk8gKGNvbXBvbmVudF90 eXBlKSkpOwogICBqZnVuYy0+dHlwZSA9IElQQV9KRl9LTk9XTl9UWVBFOwog ICBqZnVuYy0+dmFsdWUua25vd25fdHlwZS5vZmZzZXQgPSBvZmZzZXQsCiAg IGpmdW5jLT52YWx1ZS5rbm93bl90eXBlLmJhc2VfdHlwZSA9IGJhc2VfdHlw ZTsKQEAgLTQ4NSwxMCArNDg0LDkgQEAKIHsKICAgaWYgKCFmbGFnX2Rldmly dHVhbGl6ZSkKICAgICB0eXBlX3ByZXNlcnZlZCA9IGZhbHNlOwotICBnY2Nf YXNzZXJ0ICghdHlwZV9wcmVzZXJ2ZWQKLQkgICAgICB8fCAoVFJFRV9DT0RF ICh0eXBlKSA9PSBSRUNPUkRfVFlQRQotCQkgICYmIFRZUEVfQklORk8gKHR5 cGUpCi0JCSAgJiYgQklORk9fVlRBQkxFIChUWVBFX0JJTkZPICh0eXBlKSkp KTsKKyAgaWYgKCF0eXBlX3ByZXNlcnZlZCkKKyAgICB0eXBlID0gTlVMTF9U UkVFOworICBnY2NfYXNzZXJ0ICghdHlwZV9wcmVzZXJ2ZWQgfHwgY29udGFp bnNfcG9seW1vcnBoaWNfdHlwZV9wICh0eXBlKSk7CiAgIGpmdW5jLT50eXBl ID0gSVBBX0pGX0FOQ0VTVE9SOwogICBqZnVuYy0+dmFsdWUuYW5jZXN0b3Iu Zm9ybWFsX2lkID0gZm9ybWFsX2lkOwogICBqZnVuYy0+dmFsdWUuYW5jZXN0 b3Iub2Zmc2V0ID0gb2Zmc2V0OwpAQCAtNjg5LDE2ICs2ODcsMTAgQEAKICAg Z2NjX2NoZWNraW5nX2Fzc2VydCAoREVDTF9QIChhcmcpCiAJCSAgICAgICB8 fCBUUkVFX0NPREUgKGFyZykgPT0gTUVNX1JFRgogCQkgICAgICAgfHwgaGFu ZGxlZF9jb21wb25lbnRfcCAoYXJnKSk7Ci0gIC8qIENvbnN0IGNhbGxzIGNh bm5vdCBjYWxsIHZpcnR1YWwgbWV0aG9kcyB0aHJvdWdoIFZNVCBhbmQgc28g dHlwZSBjaGFuZ2VzIGRvCi0gICAgIG5vdCBtYXR0ZXIuICAqLwotICBpZiAo IWZsYWdfZGV2aXJ0dWFsaXplIHx8ICFnaW1wbGVfdnVzZSAoY2FsbCkKLSAg ICAgIC8qIEJlIHN1cmUgZXhwZWN0ZWRfdHlwZSBpcyBwb2x5bW9ycGhpYy4g ICovCi0gICAgICB8fCAhY29tcF90eXBlCi0gICAgICB8fCBUUkVFX0NPREUg KGNvbXBfdHlwZSkgIT0gUkVDT1JEX1RZUEUKLSAgICAgIHx8ICFUWVBFX0JJ TkZPIChjb21wX3R5cGUpCi0gICAgICB8fCAhQklORk9fVlRBQkxFIChUWVBF X0JJTkZPIChjb21wX3R5cGUpKSkKLSAgICByZXR1cm4gdHJ1ZTsKIAorICBp ZiAoIWZsYWdfZGV2aXJ0dWFsaXplKQorICAgIHJldHVybiBmYWxzZTsKKwog ICAvKiBDKysgbWV0aG9kcyBhcmUgbm90IGFsbG93ZWQgdG8gY2hhbmdlIFRI SVMgcG9pbnRlciB1bmxlc3MgdGhleQogICAgICBhcmUgY29uc3RydWN0b3Jz IG9yIGRlc3RydWN0b3JzLiAgKi8KICAgaWYgKFRSRUVfQ09ERQkoYmFzZSkg PT0gTUVNX1JFRgpAQCAtNzEwLDggKzcwMiwyMSBAQAogICAgICAgJiYgIURF Q0xfQ1hYX0RFU1RSVUNUT1JfUCAoY3VycmVudF9mdW5jdGlvbl9kZWNsKQog ICAgICAgJiYgKFNTQV9OQU1FX1ZBUiAoVFJFRV9PUEVSQU5EIChiYXNlLCAw KSkKIAkgID09IERFQ0xfQVJHVU1FTlRTIChjdXJyZW50X2Z1bmN0aW9uX2Rl Y2wpKSkKLSAgICByZXR1cm4gZmFsc2U7CisgICAgeworICAgICAgZ2NjX2Fz c2VydCAoY29tcF90eXBlKTsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9 CiAKKyAgLyogQ29uc3QgY2FsbHMgY2Fubm90IGNhbGwgdmlydHVhbCBtZXRo b2RzIHRocm91Z2ggVk1UIGFuZCBzbyB0eXBlIGNoYW5nZXMgZG8KKyAgICAg bm90IG1hdHRlci4gICovCisgIGlmICghZmxhZ19kZXZpcnR1YWxpemUgfHwg IWdpbXBsZV92dXNlIChjYWxsKQorICAgICAgLyogQmUgc3VyZSBleHBlY3Rl ZF90eXBlIGlzIHBvbHltb3JwaGljLiAgKi8KKyAgICAgIHx8ICFjb21wX3R5 cGUKKyAgICAgIHx8IFRSRUVfQ09ERSAoY29tcF90eXBlKSAhPSBSRUNPUkRf VFlQRQorICAgICAgfHwgIVRZUEVfQklORk8gKFRZUEVfTUFJTl9WQVJJQU5U IChjb21wX3R5cGUpKQorICAgICAgfHwgIUJJTkZPX1ZUQUJMRSAoVFlQRV9C SU5GTyAoVFlQRV9NQUlOX1ZBUklBTlQgKGNvbXBfdHlwZSkpKSkKKyAgICBy ZXR1cm4gdHJ1ZTsKKwogICBhb19yZWZfaW5pdCAoJmFvLCBhcmcpOwogICBh by5iYXNlID0gYmFzZTsKICAgYW8ub2Zmc2V0ID0gb2Zmc2V0OwpAQCAtMTEx MSw4ICsxMTE2LDkgQEAKICAgaW5kZXggPSBpcGFfZ2V0X3BhcmFtX2RlY2xf aW5kZXggKGluZm8sIFNTQV9OQU1FX1ZBUiAoc3NhKSk7CiAgIGlmIChpbmRl eCA+PSAwICYmIHBhcmFtX3R5cGUgJiYgUE9JTlRFUl9UWVBFX1AgKHBhcmFt X3R5cGUpKQogICAgIHsKLSAgICAgIGJvb2wgdHlwZV9wID0gIWRldGVjdF90 eXBlX2NoYW5nZSAob3AxLCBiYXNlLCBUUkVFX1RZUEUgKHBhcmFtX3R5cGUp LAotCQkJCQkgY2FsbCwgamZ1bmMsIG9mZnNldCk7CisgICAgICBib29sIHR5 cGVfcCA9IChjb250YWluc19wb2x5bW9ycGhpY190eXBlX3AgKFRSRUVfVFlQ RSAocGFyYW1fdHlwZSkpCisJCSAgICAgJiYgIWRldGVjdF90eXBlX2NoYW5n ZSAob3AxLCBiYXNlLCBUUkVFX1RZUEUgKHBhcmFtX3R5cGUpLAorCQkJCQkg ICAgIGNhbGwsIGpmdW5jLCBvZmZzZXQpKTsKICAgICAgIGlmICh0eXBlX3Ag fHwgamZ1bmMtPnR5cGUgPT0gSVBBX0pGX1VOS05PV04pCiAJaXBhX3NldF9h bmNlc3Rvcl9qZiAoamZ1bmMsIG9mZnNldCwKIAkJCSAgICAgdHlwZV9wID8g VFJFRV9UWVBFIChwYXJhbV90eXBlKSA6IE5VTEwsIGluZGV4LApAQCAtMTI0 NCw3ICsxMjUwLDggQEAKICAgICB9CiAKICAgYm9vbCB0eXBlX3AgPSBmYWxz ZTsKLSAgaWYgKHBhcmFtX3R5cGUgJiYgUE9JTlRFUl9UWVBFX1AgKHBhcmFt X3R5cGUpKQorICBpZiAocGFyYW1fdHlwZSAmJiBQT0lOVEVSX1RZUEVfUCAo cGFyYW1fdHlwZSkKKyAgICAgICYmIGNvbnRhaW5zX3BvbHltb3JwaGljX3R5 cGVfcCAoVFJFRV9UWVBFIChwYXJhbV90eXBlKSkpCiAgICAgdHlwZV9wID0g IWRldGVjdF90eXBlX2NoYW5nZSAob2JqLCBleHByLCBUUkVFX1RZUEUgKHBh cmFtX3R5cGUpLAogCQkJCSAgY2FsbCwgamZ1bmMsIG9mZnNldCk7CiAgIGlm ICh0eXBlX3AgfHwgamZ1bmMtPnR5cGUgPT0gSVBBX0pGX1VOS05PV04pCkBA IC0xMjY3LDEyICsxMjc0LDEwIEBACiAKICAgaWYgKCFmbGFnX2RldmlydHVh bGl6ZQogICAgICAgfHwgVFJFRV9DT0RFIChvcCkgIT0gQUREUl9FWFBSCi0g ICAgICB8fCBUUkVFX0NPREUgKFRSRUVfVFlQRSAoVFJFRV9UWVBFIChvcCkp KSAhPSBSRUNPUkRfVFlQRQorICAgICAgfHwgIWNvbnRhaW5zX3BvbHltb3Jw aGljX3R5cGVfcCAoVFJFRV9UWVBFIChUUkVFX1RZUEUgKG9wKSkpCiAgICAg ICAvKiBCZSBzdXJlIGV4cGVjdGVkX3R5cGUgaXMgcG9seW1vcnBoaWMuICAq LwogICAgICAgfHwgIWV4cGVjdGVkX3R5cGUKLSAgICAgIHx8IFRSRUVfQ09E RSAoZXhwZWN0ZWRfdHlwZSkgIT0gUkVDT1JEX1RZUEUKLSAgICAgIHx8ICFU WVBFX0JJTkZPIChleHBlY3RlZF90eXBlKQotICAgICAgfHwgIUJJTkZPX1ZU QUJMRSAoVFlQRV9CSU5GTyAoZXhwZWN0ZWRfdHlwZSkpKQorICAgICAgfHwg IWNvbnRhaW5zX3BvbHltb3JwaGljX3R5cGVfcCAoZXhwZWN0ZWRfdHlwZSkp CiAgICAgcmV0dXJuOwogCiAgIG9wID0gVFJFRV9PUEVSQU5EIChvcCwgMCk7 CkBAIC0xMjgwLDcgKzEyODUsNyBAQAogICBpZiAoIURFQ0xfUCAoYmFzZSkK ICAgICAgIHx8IG1heF9zaXplID09IC0xCiAgICAgICB8fCBtYXhfc2l6ZSAh PSBzaXplCi0gICAgICB8fCBUUkVFX0NPREUgKFRSRUVfVFlQRSAoYmFzZSkp ICE9IFJFQ09SRF9UWVBFCisgICAgICB8fCAhY29udGFpbnNfcG9seW1vcnBo aWNfdHlwZV9wIChUUkVFX1RZUEUgKGJhc2UpKQogICAgICAgfHwgaXNfZ2xv YmFsX3ZhciAoYmFzZSkpCiAgICAgcmV0dXJuOwogCkluZGV4OiBpcGEtdXRp bHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBpcGEtdXRpbHMuaAko cmV2aXNpb24gMjIzMTY3KQorKysgaXBhLXV0aWxzLmgJKHdvcmtpbmcgY29w eSkKQEAgLTg3LDE1ICs4NywxNiBAQAogCQkJCQkgICAgIGNvbnN0IGlwYV9w b2x5bW9ycGhpY19jYWxsX2NvbnRleHQgJik7CiBib29sIHBvc3NpYmxlX3Bv bHltb3JwaGljX2NhbGxfdGFyZ2V0X3AgKHRyZWUsIEhPU1RfV0lERV9JTlQs CiAJCQkJICAgICAgICAgY29uc3QgaXBhX3BvbHltb3JwaGljX2NhbGxfY29u dGV4dCAmLAotCQkJCQkgc3RydWN0IGNncmFwaF9ub2RlICpuKTsKLXRyZWUg bWV0aG9kX2NsYXNzX3R5cGUgKHRyZWUpOworCQkJCQkgc3RydWN0IGNncmFw aF9ub2RlICopOwordHJlZSBtZXRob2RfY2xhc3NfdHlwZSAoY29uc3RfdHJl ZSk7CiB0cmVlIGdldF9wb2x5bW9ycGhpY19jYWxsX2luZm8gKHRyZWUsIHRy ZWUsIHRyZWUgKiwKIAkJCQlIT1NUX1dJREVfSU5UICosCiAJCQkJaXBhX3Bv bHltb3JwaGljX2NhbGxfY29udGV4dCAqKTsKIGJvb2wgZ2V0X3BvbHltb3Jw aGljX2NhbGxfaW5mb19mcm9tX2ludmFyaWFudCAoaXBhX3BvbHltb3JwaGlj X2NhbGxfY29udGV4dCAqLAogCQkJCQkgICAgICAgdHJlZSwgdHJlZSwgSE9T VF9XSURFX0lOVCk7Ci10cmVlIHZ0YWJsZV9wb2ludGVyX3ZhbHVlX3RvX2Jp bmZvICh0cmVlIHQpOwotYm9vbCB2dGFibGVfcG9pbnRlcl92YWx1ZV90b192 dGFibGUgKHRyZWUsIHRyZWUgKiwgdW5zaWduZWQgSE9TVF9XSURFX0lOVCAq KTsKK3RyZWUgdnRhYmxlX3BvaW50ZXJfdmFsdWVfdG9fYmluZm8gKGNvbnN0 X3RyZWUpOworYm9vbCB2dGFibGVfcG9pbnRlcl92YWx1ZV90b192dGFibGUg KGNvbnN0X3RyZWUsIHRyZWUgKiwgdW5zaWduZWQgSE9TVF9XSURFX0lOVCAq KTsKK2Jvb2wgY29udGFpbnNfcG9seW1vcnBoaWNfdHlwZV9wIChjb25zdF90 cmVlKTsKIAogLyogUmV0dXJuIHZlY3RvciBjb250YWluaW5nIHBvc3NpYmxl IHRhcmdldHMgb2YgcG9seW1vcnBoaWMgY2FsbCBFLgogICAgSWYgRklOQUxQ IGlzIG5vbi1OVUxMLCBzdG9yZSB0cnVlIGlmIHRoZSBsaXN0IGlzIGNvbXBs ZXR0ZS4gCg== --001a113cd522b3cd8f0515fa62c8--