From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9DF12E75457 for ; Tue, 3 Oct 2023 12:54:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=0IvZo+mC5CQISXETLBblHih9KNSz/wjWscd1rGm6Snc=; b=z6GDAi/UeIIeFX 4ftyZ0m8DbdUz1HukpPA1fgnkywGfxMz0XH2UWyxcI204f8ssQkPgdTDdB/hUqsOYRJ8wqLoeMm+W Z7xSZx9hLlTn9/Z3uJS1av2t5pGSgywF2qAKuNzGiL413QbLOELL473+vAKOiI/lJrHFhTeMZm07j 6ckwEHdKwDSNOBJQ/d7XQ8uwJ5a9m9KNjI5sRmypvGDjAK9IPTlqHcMGwtYzyqCR//fJEPVMqgPHr hMsSN65+Yy3vG3MKUo2FH/3cjbo4x3ZPm8c7Qmg/ZGBiwmOZUEqyASLRiFxYlKv2RTF6056bG3OdB kRhXKGrzm2fGBqkR3yfA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qneua-00EelC-0C; Tue, 03 Oct 2023 12:54:04 +0000 Received: from mgamail.intel.com ([192.198.163.7]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qneuW-00Eek5-04 for linux-arm-kernel@lists.infradead.org; Tue, 03 Oct 2023 12:54:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1696337640; x=1727873640; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Ryxdjm0ZCM7o3zV6z+GS2CN8GCrxx+hkrapCtQTAFYE=; b=mhmyJt0WS3bY67h0A/twi0TDWi0zAX0TXEfHqR7+mD18328A7AE0ed9j voBwGDrv8R/t4uENDoe8NVq4vVpQOdPYbQ/1OlWP4s+MU3rVjh0IRrdcd NATYJ7N9ylRHZ+/INgS0xdDQb1tmRpafyyHxQOTdqWUZKiiY/zBocS9rm +XPYhWFJas2wUVltJkd0pMaIy/7LrbvsKs/7HviR5FeE/AR6C0oaWaPwR lq8QDoo0SVfyOaq06rYt2uqOSz8x3l/JiwcnL6j8W2iwcyL/uaBvAlNOz pIzluCts8DZNdEBFQA9GDG1qE3AuorW6Pro7MrRwLTOn36OmRrLfdS9Ij g==; X-IronPort-AV: E=McAfee;i="6600,9927,10851"; a="4432456" X-IronPort-AV: E=Sophos;i="6.03,197,1694761200"; d="scan'208";a="4432456" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Oct 2023 05:53:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10851"; a="816665815" X-IronPort-AV: E=Sophos;i="6.03,197,1694761200"; d="scan'208";a="816665815" Received: from bmihaile-mobl1.ger.corp.intel.com (HELO localhost) ([10.251.222.64]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Oct 2023 05:53:51 -0700 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= To: linux-pci@vger.kernel.org, Bjorn Helgaas , bcm-kernel-feedback-list@broadcom.com, jonathan.derrick@linux.dev, kw@linux.com, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, linux-renesas-soc@vger.kernel.org, lpieralisi@kernel.org, marek.vasut+renesas@gmail.com, minghuan.Lian@nxp.com, mingkai.hu@nxp.com, m.karthikeyan@mobiveil.co.in, nirmal.patel@linux.intel.com, rjui@broadcom.com, robh@kernel.org, roy.zang@nxp.com, sbranden@broadcom.com, yoshihiro.shimoda.uh@renesas.com, Zhiqiang.Hou@nxp.com, linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= Subject: [PATCH 3/3] PCI: Use PCI_HEADER_TYPE_* instead of literals Date: Tue, 3 Oct 2023 15:53:00 +0300 Message-Id: <20231003125300.5541-4-ilpo.jarvinen@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20231003125300.5541-1-ilpo.jarvinen@linux.intel.com> References: <20231003125300.5541-1-ilpo.jarvinen@linux.intel.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231003_055400_078972_82E2D551 X-CRM114-Status: GOOD ( 20.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org UmVwbGFjZSBsaXRlcmFscyB1bmRlciBkcml2ZXJzL3BjaS8gd2l0aCBQQ0lfSEVBREVSX1RZUEVf TUFTSywKUENJX0hFQURFUl9UWVBFX05PUk1BTCwgYW5kIFBDSV9IRUFERVJfVFlQRV9NRkQuCgpX aGlsZSBhdCBpdCwgcmVwbGFjZSAhISBib29sZWFuIGNvbnZlcnNpb24gd2l0aCBGSUVMRF9HRVQo KS4KClNpZ25lZC1vZmYtYnk6IElscG8gSsOkcnZpbmVuIDxpbHBvLmphcnZpbmVuQGxpbnV4Lmlu dGVsLmNvbT4KLS0tCiBkcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2ktbGF5ZXJzY2FwZS5j ICAgfCAgMiArLQogLi4uL2NvbnRyb2xsZXIvbW9iaXZlaWwvcGNpZS1tb2JpdmVpbC1ob3N0LmMg IHwgIDIgKy0KIGRyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS1pcHJvYy5jICAgICAgICAgICB8 ICAyICstCiBkcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaWUtcmNhci1lcC5jICAgICAgICAgfCAg MiArLQogZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2llLXJjYXItaG9zdC5jICAgICAgIHwgIDIg Ky0KIGRyaXZlcnMvcGNpL2NvbnRyb2xsZXIvdm1kLmMgICAgICAgICAgICAgICAgICB8ICAyICst CiBkcml2ZXJzL3BjaS9ob3RwbHVnL2NwcXBocF9jdHJsLmMgICAgICAgICAgICAgfCAgNiArKy0t LQogZHJpdmVycy9wY2kvaG90cGx1Zy9jcHFwaHBfcGNpLmMgICAgICAgICAgICAgIHwgMjIgKysr KysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9wY2kvaG90cGx1Zy9pYm1waHAuaCAgICAgICAgICAg ICAgICAgIHwgIDUgKysrLS0KIGRyaXZlcnMvcGNpL2hvdHBsdWcvaWJtcGhwX3BjaS5jICAgICAg ICAgICAgICB8ICAyICstCiBkcml2ZXJzL3BjaS9wY2kuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogZHJpdmVycy9wY2kvcXVpcmtzLmMgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDYgKystLS0KIDEyIGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDI3IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaS1s YXllcnNjYXBlLmMgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2ktbGF5ZXJzY2FwZS5j CmluZGV4IGVkNWZiNDkyZmUwOC4uNjlhNGFhNWNmYzIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Bj aS9jb250cm9sbGVyL2R3Yy9wY2ktbGF5ZXJzY2FwZS5jCisrKyBiL2RyaXZlcnMvcGNpL2NvbnRy b2xsZXIvZHdjL3BjaS1sYXllcnNjYXBlLmMKQEAgLTQxLDcgKzQxLDcgQEAgc3RhdGljIGJvb2wg bHNfcGNpZV9pc19icmlkZ2Uoc3RydWN0IGxzX3BjaWUgKnBjaWUpCiAJdTMyIGhlYWRlcl90eXBl OwogCiAJaGVhZGVyX3R5cGUgPSBpb3JlYWQ4KHBjaS0+ZGJpX2Jhc2UgKyBQQ0lfSEVBREVSX1RZ UEUpOwotCWhlYWRlcl90eXBlICY9IDB4N2Y7CisJaGVhZGVyX3R5cGUgJj0gUENJX0hFQURFUl9U WVBFX01BU0s7CiAKIAlyZXR1cm4gaGVhZGVyX3R5cGUgPT0gUENJX0hFQURFUl9UWVBFX0JSSURH RTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvbW9iaXZlaWwvcGNpZS1t b2JpdmVpbC1ob3N0LmMgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL21vYml2ZWlsL3BjaWUtbW9i aXZlaWwtaG9zdC5jCmluZGV4IDQ1Yjk3YTRiMTRkYi4uMzI5NTFmN2Q2ZDZkIDEwMDY0NAotLS0g YS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL21vYml2ZWlsL3BjaWUtbW9iaXZlaWwtaG9zdC5jCisr KyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvbW9iaXZlaWwvcGNpZS1tb2JpdmVpbC1ob3N0LmMK QEAgLTUzOSw3ICs1MzksNyBAQCBzdGF0aWMgYm9vbCBtb2JpdmVpbF9wY2llX2lzX2JyaWRnZShz dHJ1Y3QgbW9iaXZlaWxfcGNpZSAqcGNpZSkKIAl1MzIgaGVhZGVyX3R5cGU7CiAKIAloZWFkZXJf dHlwZSA9IG1vYml2ZWlsX2Nzcl9yZWFkYihwY2llLCBQQ0lfSEVBREVSX1RZUEUpOwotCWhlYWRl cl90eXBlICY9IDB4N2Y7CisJaGVhZGVyX3R5cGUgJj0gUENJX0hFQURFUl9UWVBFX01BU0s7CiAK IAlyZXR1cm4gaGVhZGVyX3R5cGUgPT0gUENJX0hFQURFUl9UWVBFX0JSSURHRTsKIH0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS1pcHJvYy5jIGIvZHJpdmVycy9wY2kv Y29udHJvbGxlci9wY2llLWlwcm9jLmMKaW5kZXggYmQxYzk4YjY4ODUxLi45N2Y3MzlhMmM5Zjgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS1pcHJvYy5jCisrKyBiL2Ry aXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpZS1pcHJvYy5jCkBAIC03ODMsNyArNzgzLDcgQEAgc3Rh dGljIGludCBpcHJvY19wY2llX2NoZWNrX2xpbmsoc3RydWN0IGlwcm9jX3BjaWUgKnBjaWUpCiAK IAkvKiBtYWtlIHN1cmUgd2UgYXJlIG5vdCBpbiBFUCBtb2RlICovCiAJaXByb2NfcGNpX3Jhd19j b25maWdfcmVhZDMyKHBjaWUsIDAsIFBDSV9IRUFERVJfVFlQRSwgMSwgJmhkcl90eXBlKTsKLQlp ZiAoKGhkcl90eXBlICYgMHg3ZikgIT0gUENJX0hFQURFUl9UWVBFX0JSSURHRSkgeworCWlmICgo aGRyX3R5cGUgJiBQQ0lfSEVBREVSX1RZUEVfTUFTSykgIT0gUENJX0hFQURFUl9UWVBFX0JSSURH RSkgewogCQlkZXZfZXJyKGRldiwgImluIEVQIG1vZGUsIGhkcj0lIzAyeFxuIiwgaGRyX3R5cGUp OwogCQlyZXR1cm4gLUVGQVVMVDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9jb250cm9s bGVyL3BjaWUtcmNhci1lcC5jIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2llLXJjYXItZXAu YwppbmRleCBmOTY4MmRmMWRhNjEuLjcwMzRjMGZmMjNkMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9w Y2kvY29udHJvbGxlci9wY2llLXJjYXItZXAuYworKysgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVy L3BjaWUtcmNhci1lcC5jCkBAIC00Myw3ICs0Myw3IEBAIHN0YXRpYyB2b2lkIHJjYXJfcGNpZV9l cF9od19pbml0KHN0cnVjdCByY2FyX3BjaWUgKnBjaWUpCiAJcmNhcl9ybXczMihwY2llLCBSRVhQ Q0FQKDApLCAweGZmLCBQQ0lfQ0FQX0lEX0VYUCk7CiAJcmNhcl9ybXczMihwY2llLCBSRVhQQ0FQ KFBDSV9FWFBfRkxBR1MpLAogCQkgICBQQ0lfRVhQX0ZMQUdTX1RZUEUsIFBDSV9FWFBfVFlQRV9F TkRQT0lOVCA8PCA0KTsKLQlyY2FyX3JtdzMyKHBjaWUsIFJDT05GKFBDSV9IRUFERVJfVFlQRSks IDB4N2YsCisJcmNhcl9ybXczMihwY2llLCBSQ09ORihQQ0lfSEVBREVSX1RZUEUpLCBQQ0lfSEVB REVSX1RZUEVfTUFTSywKIAkJICAgUENJX0hFQURFUl9UWVBFX05PUk1BTCk7CiAKIAkvKiBXcml0 ZSBvdXQgdGhlIHBoeXNpY2FsIHNsb3QgbnVtYmVyID0gMCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9wY2kvY29udHJvbGxlci9wY2llLXJjYXItaG9zdC5jIGIvZHJpdmVycy9wY2kvY29udHJvbGxl ci9wY2llLXJjYXItaG9zdC5jCmluZGV4IDg4OTc1ZTQwZWUyZi4uYmY3Y2MwYjZhNjk1IDEwMDY0 NAotLS0gYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaWUtcmNhci1ob3N0LmMKKysrIGIvZHJp dmVycy9wY2kvY29udHJvbGxlci9wY2llLXJjYXItaG9zdC5jCkBAIC00NjAsNyArNDYwLDcgQEAg c3RhdGljIGludCByY2FyX3BjaWVfaHdfaW5pdChzdHJ1Y3QgcmNhcl9wY2llICpwY2llKQogCXJj YXJfcm13MzIocGNpZSwgUkVYUENBUCgwKSwgMHhmZiwgUENJX0NBUF9JRF9FWFApOwogCXJjYXJf cm13MzIocGNpZSwgUkVYUENBUChQQ0lfRVhQX0ZMQUdTKSwKIAkJUENJX0VYUF9GTEFHU19UWVBF LCBQQ0lfRVhQX1RZUEVfUk9PVF9QT1JUIDw8IDQpOwotCXJjYXJfcm13MzIocGNpZSwgUkNPTkYo UENJX0hFQURFUl9UWVBFKSwgMHg3ZiwKKwlyY2FyX3JtdzMyKHBjaWUsIFJDT05GKFBDSV9IRUFE RVJfVFlQRSksIFBDSV9IRUFERVJfVFlQRV9NQVNLLAogCQlQQ0lfSEVBREVSX1RZUEVfQlJJREdF KTsKIAogCS8qIEVuYWJsZSBkYXRhIGxpbmsgbGF5ZXIgYWN0aXZlIHN0YXRlIHJlcG9ydGluZyAq LwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci92bWQuYyBiL2RyaXZlcnMvcGNp L2NvbnRyb2xsZXIvdm1kLmMKaW5kZXggZDViOTdhNmFhZTU2Li5jYzI0MjI5NjNhMzQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvdm1kLmMKKysrIGIvZHJpdmVycy9wY2kvY29u dHJvbGxlci92bWQuYwpAQCAtNTI3LDcgKzUyNyw3IEBAIHN0YXRpYyB2b2lkIHZtZF9kb21haW5f cmVzZXQoc3RydWN0IHZtZF9kZXYgKnZtZCkKIAogCQkJaGRyX3R5cGUgPSByZWFkYihiYXNlICsg UENJX0hFQURFUl9UWVBFKTsKIAotCQkJZnVuY3Rpb25zID0gKGhkcl90eXBlICYgMHg4MCkgPyA4 IDogMTsKKwkJCWZ1bmN0aW9ucyA9IChoZHJfdHlwZSAmIFBDSV9IRUFERVJfVFlQRV9NRkQpID8g OCA6IDE7CiAJCQlmb3IgKGZuID0gMDsgZm4gPCBmdW5jdGlvbnM7IGZuKyspIHsKIAkJCQliYXNl ID0gdm1kLT5jZmdiYXIgKyBQQ0lFX0VDQU1fT0ZGU0VUKGJ1cywKIAkJCQkJCVBDSV9ERVZGTihk ZXYsIGZuKSwgMCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9ob3RwbHVnL2NwcXBocF9jdHJs LmMgYi9kcml2ZXJzL3BjaS9ob3RwbHVnL2NwcXBocF9jdHJsLmMKaW5kZXggZTQyOWVjZGRjOGZl Li5jMDE5NjhlZjBiZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNpL2hvdHBsdWcvY3BxcGhwX2N0 cmwuYworKysgYi9kcml2ZXJzL3BjaS9ob3RwbHVnL2NwcXBocF9jdHJsLmMKQEAgLTIwNTksNyAr MjA1OSw3IEBAIGludCBjcHFocF9wcm9jZXNzX1NTKHN0cnVjdCBjb250cm9sbGVyICpjdHJsLCBz dHJ1Y3QgcGNpX2Z1bmMgKmZ1bmMpCiAJCQkJcmV0dXJuIHJjOwogCiAJCQkvKiBJZiBpdCdzIGEg YnJpZGdlLCBjaGVjayB0aGUgVkdBIEVuYWJsZSBiaXQgKi8KLQkJCWlmICgoaGVhZGVyX3R5cGUg JiAweDdGKSA9PSBQQ0lfSEVBREVSX1RZUEVfQlJJREdFKSB7CisJCQlpZiAoKGhlYWRlcl90eXBl ICYgUENJX0hFQURFUl9UWVBFX01BU0spID09IFBDSV9IRUFERVJfVFlQRV9CUklER0UpIHsKIAkJ CQlyYyA9IHBjaV9idXNfcmVhZF9jb25maWdfYnl0ZShwY2lfYnVzLCBkZXZmbiwgUENJX0JSSURH RV9DT05UUk9MLCAmQkNSKTsKIAkJCQlpZiAocmMpCiAJCQkJCXJldHVybiByYzsKQEAgLTIzNDIs NyArMjM0Miw3IEBAIHN0YXRpYyBpbnQgY29uZmlndXJlX25ld19mdW5jdGlvbihzdHJ1Y3QgY29u dHJvbGxlciAqY3RybCwgc3RydWN0IHBjaV9mdW5jICpmdW5jCiAJaWYgKHJjKQogCQlyZXR1cm4g cmM7CiAKLQlpZiAoKHRlbXBfYnl0ZSAmIDB4N0YpID09IFBDSV9IRUFERVJfVFlQRV9CUklER0Up IHsKKwlpZiAoKHRlbXBfYnl0ZSAmIFBDSV9IRUFERVJfVFlQRV9NQVNLKSA9PSBQQ0lfSEVBREVS X1RZUEVfQlJJREdFKSB7CiAJCS8qIHNldCBQcmltYXJ5IGJ1cyAqLwogCQlkYmcoInNldCBQcmlt YXJ5IGJ1cyA9ICVkXG4iLCBmdW5jLT5idXMpOwogCQlyYyA9IHBjaV9idXNfd3JpdGVfY29uZmln X2J5dGUocGNpX2J1cywgZGV2Zm4sIFBDSV9QUklNQVJZX0JVUywgZnVuYy0+YnVzKTsKQEAgLTI3 MzksNyArMjczOSw3IEBAIHN0YXRpYyBpbnQgY29uZmlndXJlX25ld19mdW5jdGlvbihzdHJ1Y3Qg Y29udHJvbGxlciAqY3RybCwgc3RydWN0IHBjaV9mdW5jICpmdW5jCiAJCQkJCSAqICAgUENJX0JS SURHRV9DVExfU0VSUiB8CiAJCQkJCSAqICAgUENJX0JSSURHRV9DVExfTk9fSVNBICovCiAJCXJj ID0gcGNpX2J1c193cml0ZV9jb25maWdfd29yZChwY2lfYnVzLCBkZXZmbiwgUENJX0JSSURHRV9D T05UUk9MLCBjb21tYW5kKTsKLQl9IGVsc2UgaWYgKCh0ZW1wX2J5dGUgJiAweDdGKSA9PSBQQ0lf SEVBREVSX1RZUEVfTk9STUFMKSB7CisJfSBlbHNlIGlmICgodGVtcF9ieXRlICYgUENJX0hFQURF Ul9UWVBFX01BU0spID09IFBDSV9IRUFERVJfVFlQRV9OT1JNQUwpIHsKIAkJLyogU3RhbmRhcmQg ZGV2aWNlICovCiAJCXJjID0gcGNpX2J1c19yZWFkX2NvbmZpZ19ieXRlKHBjaV9idXMsIGRldmZu LCAweDBCLCAmY2xhc3NfY29kZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2hvdHBsdWcv Y3BxcGhwX3BjaS5jIGIvZHJpdmVycy9wY2kvaG90cGx1Zy9jcHFwaHBfcGNpLmMKaW5kZXggM2Iy NDg0MjZhOWY0Li5lOWYxZmIzMzNhNzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNpL2hvdHBsdWcv Y3BxcGhwX3BjaS5jCisrKyBiL2RyaXZlcnMvcGNpL2hvdHBsdWcvY3BxcGhwX3BjaS5jCkBAIC0z NjMsNyArMzYzLDcgQEAgaW50IGNwcWhwX3NhdmVfY29uZmlnKHN0cnVjdCBjb250cm9sbGVyICpj dHJsLCBpbnQgYnVzbnVtYmVyLCBpbnQgaXNfaG90X3BsdWcpCiAJCQlyZXR1cm4gcmM7CiAKIAkJ LyogSWYgbXVsdGktZnVuY3Rpb24gZGV2aWNlLCBzZXQgbWF4X2Z1bmN0aW9ucyB0byA4ICovCi0J CWlmIChoZWFkZXJfdHlwZSAmIDB4ODApCisJCWlmIChoZWFkZXJfdHlwZSAmIFBDSV9IRUFERVJf VFlQRV9NRkQpCiAJCQltYXhfZnVuY3Rpb25zID0gODsKIAkJZWxzZQogCQkJbWF4X2Z1bmN0aW9u cyA9IDE7CkBAIC0zNzIsNyArMzcyLDcgQEAgaW50IGNwcWhwX3NhdmVfY29uZmlnKHN0cnVjdCBj b250cm9sbGVyICpjdHJsLCBpbnQgYnVzbnVtYmVyLCBpbnQgaXNfaG90X3BsdWcpCiAKIAkJZG8g ewogCQkJRGV2RXJyb3IgPSAwOwotCQkJaWYgKChoZWFkZXJfdHlwZSAmIDB4N0YpID09IFBDSV9I RUFERVJfVFlQRV9CUklER0UpIHsKKwkJCWlmICgoaGVhZGVyX3R5cGUgJiBQQ0lfSEVBREVSX1RZ UEVfTUFTSykgPT0gUENJX0hFQURFUl9UWVBFX0JSSURHRSkgewogCQkJCS8qIFJlY3Vyc2UgdGhl IHN1Ym9yZGluYXRlIGJ1cwogCQkJCSAqIGdldCB0aGUgc3Vib3JkaW5hdGUgYnVzIG51bWJlcgog CQkJCSAqLwpAQCAtNDg3LDEzICs0ODcsMTMgQEAgaW50IGNwcWhwX3NhdmVfc2xvdF9jb25maWco c3RydWN0IGNvbnRyb2xsZXIgKmN0cmwsIHN0cnVjdCBwY2lfZnVuYyAqbmV3X3Nsb3QpCiAJcGNp X2J1c19yZWFkX2NvbmZpZ19ieXRlKGN0cmwtPnBjaV9idXMsIFBDSV9ERVZGTihuZXdfc2xvdC0+ ZGV2aWNlLCAwKSwgMHgwQiwgJmNsYXNzX2NvZGUpOwogCXBjaV9idXNfcmVhZF9jb25maWdfYnl0 ZShjdHJsLT5wY2lfYnVzLCBQQ0lfREVWRk4obmV3X3Nsb3QtPmRldmljZSwgMCksIFBDSV9IRUFE RVJfVFlQRSwgJmhlYWRlcl90eXBlKTsKIAotCWlmIChoZWFkZXJfdHlwZSAmIDB4ODApCS8qIE11 bHRpLWZ1bmN0aW9uIGRldmljZSAqLworCWlmIChoZWFkZXJfdHlwZSAmIFBDSV9IRUFERVJfVFlQ RV9NRkQpCiAJCW1heF9mdW5jdGlvbnMgPSA4OwogCWVsc2UKIAkJbWF4X2Z1bmN0aW9ucyA9IDE7 CiAKIAl3aGlsZSAoZnVuY3Rpb24gPCBtYXhfZnVuY3Rpb25zKSB7Ci0JCWlmICgoaGVhZGVyX3R5 cGUgJiAweDdGKSA9PSBQQ0lfSEVBREVSX1RZUEVfQlJJREdFKSB7CisJCWlmICgoaGVhZGVyX3R5 cGUgJiBQQ0lfSEVBREVSX1RZUEVfTUFTSykgPT0gUENJX0hFQURFUl9UWVBFX0JSSURHRSkgewog CQkJLyogIFJlY3Vyc2UgdGhlIHN1Ym9yZGluYXRlIGJ1cyAqLwogCQkJcGNpX2J1c19yZWFkX2Nv bmZpZ19ieXRlKGN0cmwtPnBjaV9idXMsIFBDSV9ERVZGTihuZXdfc2xvdC0+ZGV2aWNlLCBmdW5j dGlvbiksIFBDSV9TRUNPTkRBUllfQlVTLCAmc2Vjb25kYXJ5X2J1cyk7CiAKQEAgLTU3MSw3ICs1 NzEsNyBAQCBpbnQgY3BxaHBfc2F2ZV9iYXNlX2FkZHJfbGVuZ3RoKHN0cnVjdCBjb250cm9sbGVy ICpjdHJsLCBzdHJ1Y3QgcGNpX2Z1bmMgKmZ1bmMpCiAJCS8qIENoZWNrIGZvciBCcmlkZ2UgKi8K IAkJcGNpX2J1c19yZWFkX2NvbmZpZ19ieXRlKHBjaV9idXMsIGRldmZuLCBQQ0lfSEVBREVSX1RZ UEUsICZoZWFkZXJfdHlwZSk7CiAKLQkJaWYgKChoZWFkZXJfdHlwZSAmIDB4N0YpID09IFBDSV9I RUFERVJfVFlQRV9CUklER0UpIHsKKwkJaWYgKChoZWFkZXJfdHlwZSAmIFBDSV9IRUFERVJfVFlQ RV9NQVNLKSA9PSBQQ0lfSEVBREVSX1RZUEVfQlJJREdFKSB7CiAJCQlwY2lfYnVzX3JlYWRfY29u ZmlnX2J5dGUocGNpX2J1cywgZGV2Zm4sIFBDSV9TRUNPTkRBUllfQlVTLCAmc2Vjb25kYXJ5X2J1 cyk7CiAKIAkJCXN1Yl9idXMgPSAoaW50KSBzZWNvbmRhcnlfYnVzOwpAQCAtNjI1LDcgKzYyNSw3 IEBAIGludCBjcHFocF9zYXZlX2Jhc2VfYWRkcl9sZW5ndGgoc3RydWN0IGNvbnRyb2xsZXIgKmN0 cmwsIHN0cnVjdCBwY2lfZnVuYyAqZnVuYykKIAogCQkJfQkvKiBFbmQgb2YgYmFzZSByZWdpc3Rl ciBsb29wICovCiAKLQkJfSBlbHNlIGlmICgoaGVhZGVyX3R5cGUgJiAweDdGKSA9PSAweDAwKSB7 CisJCX0gZWxzZSBpZiAoKGhlYWRlcl90eXBlICYgUENJX0hFQURFUl9UWVBFX01BU0spID09IFBD SV9IRUFERVJfVFlQRV9OT1JNQUwpIHsKIAkJCS8qIEZpZ3VyZSBvdXQgSU8gYW5kIG1lbW9yeSBi YXNlIGxlbmd0aHMgKi8KIAkJCWZvciAoY2xvb3AgPSAweDEwOyBjbG9vcCA8PSAweDI0OyBjbG9v cCArPSA0KSB7CiAJCQkJdGVtcF9yZWdpc3RlciA9IDB4RkZGRkZGRkY7CkBAIC03MjMsNyArNzIz LDcgQEAgaW50IGNwcWhwX3NhdmVfdXNlZF9yZXNvdXJjZXMoc3RydWN0IGNvbnRyb2xsZXIgKmN0 cmwsIHN0cnVjdCBwY2lfZnVuYyAqZnVuYykKIAkJLyogQ2hlY2sgZm9yIEJyaWRnZSAqLwogCQlw Y2lfYnVzX3JlYWRfY29uZmlnX2J5dGUocGNpX2J1cywgZGV2Zm4sIFBDSV9IRUFERVJfVFlQRSwg JmhlYWRlcl90eXBlKTsKIAotCQlpZiAoKGhlYWRlcl90eXBlICYgMHg3RikgPT0gUENJX0hFQURF Ul9UWVBFX0JSSURHRSkgeworCQlpZiAoKGhlYWRlcl90eXBlICYgUENJX0hFQURFUl9UWVBFX01B U0spID09IFBDSV9IRUFERVJfVFlQRV9CUklER0UpIHsKIAkJCS8qIENsZWFyIEJyaWRnZSBDb250 cm9sIFJlZ2lzdGVyICovCiAJCQljb21tYW5kID0gMHgwMDsKIAkJCXBjaV9idXNfd3JpdGVfY29u ZmlnX3dvcmQocGNpX2J1cywgZGV2Zm4sIFBDSV9CUklER0VfQ09OVFJPTCwgY29tbWFuZCk7CkBA IC04NTgsNyArODU4LDcgQEAgaW50IGNwcWhwX3NhdmVfdXNlZF9yZXNvdXJjZXMoc3RydWN0IGNv bnRyb2xsZXIgKmN0cmwsIHN0cnVjdCBwY2lfZnVuYyAqZnVuYykKIAkJCQl9CiAJCQl9CS8qIEVu ZCBvZiBiYXNlIHJlZ2lzdGVyIGxvb3AgKi8KIAkJLyogU3RhbmRhcmQgaGVhZGVyICovCi0JCX0g ZWxzZSBpZiAoKGhlYWRlcl90eXBlICYgMHg3RikgPT0gMHgwMCkgeworCQl9IGVsc2UgaWYgKCho ZWFkZXJfdHlwZSAmIFBDSV9IRUFERVJfVFlQRV9NQVNLKSA9PSBQQ0lfSEVBREVSX1RZUEVfTk9S TUFMKSB7CiAJCQkvKiBGaWd1cmUgb3V0IElPIGFuZCBtZW1vcnkgYmFzZSBsZW5ndGhzICovCiAJ CQlmb3IgKGNsb29wID0gMHgxMDsgY2xvb3AgPD0gMHgyNDsgY2xvb3AgKz0gNCkgewogCQkJCXBj aV9idXNfcmVhZF9jb25maWdfZHdvcmQocGNpX2J1cywgZGV2Zm4sIGNsb29wLCAmc2F2ZV9iYXNl KTsKQEAgLTk3NSw3ICs5NzUsNyBAQCBpbnQgY3BxaHBfY29uZmlndXJlX2JvYXJkKHN0cnVjdCBj b250cm9sbGVyICpjdHJsLCBzdHJ1Y3QgcGNpX2Z1bmMgKmZ1bmMpCiAJCXBjaV9idXNfcmVhZF9j b25maWdfYnl0ZShwY2lfYnVzLCBkZXZmbiwgUENJX0hFQURFUl9UWVBFLCAmaGVhZGVyX3R5cGUp OwogCiAJCS8qIElmIHRoaXMgaXMgYSBicmlkZ2UgZGV2aWNlLCByZXN0b3JlIHN1Ym9yZGluYXRl IGRldmljZXMgKi8KLQkJaWYgKChoZWFkZXJfdHlwZSAmIDB4N0YpID09IFBDSV9IRUFERVJfVFlQ RV9CUklER0UpIHsKKwkJaWYgKChoZWFkZXJfdHlwZSAmIFBDSV9IRUFERVJfVFlQRV9NQVNLKSA9 PSBQQ0lfSEVBREVSX1RZUEVfQlJJREdFKSB7CiAJCQlwY2lfYnVzX3JlYWRfY29uZmlnX2J5dGUo cGNpX2J1cywgZGV2Zm4sIFBDSV9TRUNPTkRBUllfQlVTLCAmc2Vjb25kYXJ5X2J1cyk7CiAKIAkJ CXN1Yl9idXMgPSAoaW50KSBzZWNvbmRhcnlfYnVzOwpAQCAtMTA2Nyw3ICsxMDY3LDcgQEAgaW50 IGNwcWhwX3ZhbGlkX3JlcGxhY2Uoc3RydWN0IGNvbnRyb2xsZXIgKmN0cmwsIHN0cnVjdCBwY2lf ZnVuYyAqZnVuYykKIAkJLyogQ2hlY2sgZm9yIEJyaWRnZSAqLwogCQlwY2lfYnVzX3JlYWRfY29u ZmlnX2J5dGUocGNpX2J1cywgZGV2Zm4sIFBDSV9IRUFERVJfVFlQRSwgJmhlYWRlcl90eXBlKTsK IAotCQlpZiAoKGhlYWRlcl90eXBlICYgMHg3RikgPT0gUENJX0hFQURFUl9UWVBFX0JSSURHRSkg eworCQlpZiAoKGhlYWRlcl90eXBlICYgUENJX0hFQURFUl9UWVBFX01BU0spID09IFBDSV9IRUFE RVJfVFlQRV9CUklER0UpIHsKIAkJCS8qIEluIG9yZGVyIHRvIGNvbnRpbnVlIGNoZWNraW5nLCB3 ZSBtdXN0IHByb2dyYW0gdGhlCiAJCQkgKiBidXMgcmVnaXN0ZXJzIGluIHRoZSBicmlkZ2UgdG8g cmVzcG9uZCB0byBhY2Nlc3NlcwogCQkJICogZm9yIGl0cyBzdWJvcmRpbmF0ZSBidXMoZXMpCkBA IC0xMDkwLDcgKzEwOTAsNyBAQCBpbnQgY3BxaHBfdmFsaWRfcmVwbGFjZShzdHJ1Y3QgY29udHJv bGxlciAqY3RybCwgc3RydWN0IHBjaV9mdW5jICpmdW5jKQogCiAJCX0KIAkJLyogQ2hlY2sgdG8g c2VlIGlmIGl0IGlzIGEgc3RhbmRhcmQgY29uZmlnIGhlYWRlciAqLwotCQllbHNlIGlmICgoaGVh ZGVyX3R5cGUgJiAweDdGKSA9PSBQQ0lfSEVBREVSX1RZUEVfTk9STUFMKSB7CisJCWVsc2UgaWYg KChoZWFkZXJfdHlwZSAmIFBDSV9IRUFERVJfVFlQRV9NQVNLKSA9PSBQQ0lfSEVBREVSX1RZUEVf Tk9STUFMKSB7CiAJCQkvKiBDaGVjayBzdWJzeXN0ZW0gdmVuZG9yIGFuZCBJRCAqLwogCQkJcGNp X2J1c19yZWFkX2NvbmZpZ19kd29yZChwY2lfYnVzLCBkZXZmbiwgUENJX1NVQlNZU1RFTV9WRU5E T1JfSUQsICZ0ZW1wX3JlZ2lzdGVyKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvaG90cGx1 Zy9pYm1waHAuaCBiL2RyaXZlcnMvcGNpL2hvdHBsdWcvaWJtcGhwLmgKaW5kZXggMDM5OWM2MGQy ZWMxLi41YzQzZWRkODgzMWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNpL2hvdHBsdWcvaWJtcGhw LmgKKysrIGIvZHJpdmVycy9wY2kvaG90cGx1Zy9pYm1waHAuaApAQCAtMTcsNiArMTcsNyBAQAog ICovCiAKICNpbmNsdWRlIDxsaW51eC9wY2lfaG90cGx1Zy5oPgorI2luY2x1ZGUgPGxpbnV4L3Bj aV9yZWdzLmg+CiAKIGV4dGVybiBpbnQgaWJtcGhwX2RlYnVnOwogCkBAIC0yODgsOCArMjg5LDgg QEAgaW50IGlibXBocF9yZWdpc3Rlcl9wY2kodm9pZCk7CiAKIC8qIHBjaSBzcGVjaWZpYyBkZWZp bmVzICovCiAjZGVmaW5lIFBDSV9WRU5ET1JfSURfTk9UVkFMSUQJCTB4RkZGRgotI2RlZmluZSBQ Q0lfSEVBREVSX1RZUEVfTVVMVElERVZJQ0UJMHg4MAotI2RlZmluZSBQQ0lfSEVBREVSX1RZUEVf TVVMVElCUklER0UJMHg4MQorI2RlZmluZSBQQ0lfSEVBREVSX1RZUEVfTVVMVElERVZJQ0UJKFBD SV9IRUFERVJfVFlQRV9NRkR8UENJX0hFQURFUl9UWVBFX05PUk1BTCkKKyNkZWZpbmUgUENJX0hF QURFUl9UWVBFX01VTFRJQlJJREdFCShQQ0lfSEVBREVSX1RZUEVfTUZEfFBDSV9IRUFERVJfVFlQ RV9CUklER0UpCiAKICNkZWZpbmUgTEFURU5DWQkJMHg2NAogI2RlZmluZSBDQUNIRQkJNjQKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2hvdHBsdWcvaWJtcGhwX3BjaS5jIGIvZHJpdmVycy9wY2kv aG90cGx1Zy9pYm1waHBfcGNpLmMKaW5kZXggNTAwMzhlNWY5Y2E0Li5lZWI0MTJjYmQ5ZmUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvcGNpL2hvdHBsdWcvaWJtcGhwX3BjaS5jCisrKyBiL2RyaXZlcnMv cGNpL2hvdHBsdWcvaWJtcGhwX3BjaS5jCkBAIC0xMDg3LDcgKzEwODcsNyBAQCBzdGF0aWMgc3Ry dWN0IHJlc19uZWVkZWQgKnNjYW5fYmVoaW5kX2JyaWRnZShzdHJ1Y3QgcGNpX2Z1bmMgKmZ1bmMs IHU4IGJ1c25vKQogCQkJCXBjaV9idXNfcmVhZF9jb25maWdfZHdvcmQoaWJtcGhwX3BjaV9idXMs IGRldmZuLCBQQ0lfQ0xBU1NfUkVWSVNJT04sICZjbGFzcyk7CiAKIAkJCQlkZWJ1ZygiaGRyX3R5 cGUgYmVoaW5kIHRoZSBicmlkZ2UgaXMgJXhcbiIsIGhkcl90eXBlKTsKLQkJCQlpZiAoKGhkcl90 eXBlICYgMHg3ZikgPT0gUENJX0hFQURFUl9UWVBFX0JSSURHRSkgeworCQkJCWlmICgoaGRyX3R5 cGUgJiBQQ0lfSEVBREVSX1RZUEVfTUFTSykgPT0gUENJX0hFQURFUl9UWVBFX0JSSURHRSkgewog CQkJCQllcnIoImVtYmVkZGVkIGJyaWRnZXMgbm90IHN1cHBvcnRlZCBmb3IgaG90LXBsdWdnaW5n LlxuIik7CiAJCQkJCWFtb3VudC0+bm90X2NvcnJlY3QgPSAxOwogCQkJCQlyZXR1cm4gYW1vdW50 OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvcGNpLmMgYi9kcml2ZXJzL3BjaS9wY2kuYwppbmRl eCA2MDIzMGRhOTU3ZTAuLjdmNmZkNWU2MmFhYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvcGNp LmMKKysrIGIvZHJpdmVycy9wY2kvcGNpLmMKQEAgLTUzNCw3ICs1MzQsNyBAQCB1OCBwY2lfYnVz X2ZpbmRfY2FwYWJpbGl0eShzdHJ1Y3QgcGNpX2J1cyAqYnVzLCB1bnNpZ25lZCBpbnQgZGV2Zm4s IGludCBjYXApCiAKIAlwY2lfYnVzX3JlYWRfY29uZmlnX2J5dGUoYnVzLCBkZXZmbiwgUENJX0hF QURFUl9UWVBFLCAmaGRyX3R5cGUpOwogCi0JcG9zID0gX19wY2lfYnVzX2ZpbmRfY2FwX3N0YXJ0 KGJ1cywgZGV2Zm4sIGhkcl90eXBlICYgMHg3Zik7CisJcG9zID0gX19wY2lfYnVzX2ZpbmRfY2Fw X3N0YXJ0KGJ1cywgZGV2Zm4sIGhkcl90eXBlICYgUENJX0hFQURFUl9UWVBFX01BU0spOwogCWlm IChwb3MpCiAJCXBvcyA9IF9fcGNpX2ZpbmRfbmV4dF9jYXAoYnVzLCBkZXZmbiwgcG9zLCBjYXAp OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9xdWlya3MuYyBiL2RyaXZlcnMvcGNpL3F1aXJr cy5jCmluZGV4IGVmMTkzNjYxYzNkMS4uM2EwYWRmYjkwYzM0IDEwMDY0NAotLS0gYS9kcml2ZXJz L3BjaS9xdWlya3MuYworKysgYi9kcml2ZXJzL3BjaS9xdWlya3MuYwpAQCAtMTg0NCw4ICsxODQ0 LDggQEAgc3RhdGljIHZvaWQgcXVpcmtfam1pY3Jvbl9hdGEoc3RydWN0IHBjaV9kZXYgKnBkZXYp CiAKIAkvKiBVcGRhdGUgcGRldiBhY2NvcmRpbmdseSAqLwogCXBjaV9yZWFkX2NvbmZpZ19ieXRl KHBkZXYsIFBDSV9IRUFERVJfVFlQRSwgJmhkcik7Ci0JcGRldi0+aGRyX3R5cGUgPSBoZHIgJiAw eDdmOwotCXBkZXYtPm11bHRpZnVuY3Rpb24gPSAhIShoZHIgJiAweDgwKTsKKwlwZGV2LT5oZHJf dHlwZSA9IGhkciAmIFBDSV9IRUFERVJfVFlQRV9NQVNLOworCXBkZXYtPm11bHRpZnVuY3Rpb24g PSBGSUVMRF9HRVQoUENJX0hFQURFUl9UWVBFX01GRCwgaGRyKTsKIAogCXBjaV9yZWFkX2NvbmZp Z19kd29yZChwZGV2LCBQQ0lfQ0xBU1NfUkVWSVNJT04sICZjbGFzcyk7CiAJcGRldi0+Y2xhc3Mg PSBjbGFzcyA+PiA4OwpAQCAtNTY2Niw3ICs1NjY2LDcgQEAgc3RhdGljIHZvaWQgcXVpcmtfbnZp ZGlhX2hkYShzdHJ1Y3QgcGNpX2RldiAqZ3B1KQogCiAJLyogVGhlIEdQVSBiZWNvbWVzIGEgbXVs dGktZnVuY3Rpb24gZGV2aWNlIHdoZW4gdGhlIEhEQSBpcyBlbmFibGVkICovCiAJcGNpX3JlYWRf Y29uZmlnX2J5dGUoZ3B1LCBQQ0lfSEVBREVSX1RZUEUsICZoZHJfdHlwZSk7Ci0JZ3B1LT5tdWx0 aWZ1bmN0aW9uID0gISEoaGRyX3R5cGUgJiAweDgwKTsKKwlncHUtPm11bHRpZnVuY3Rpb24gPSBG SUVMRF9HRVQoUENJX0hFQURFUl9UWVBFX01GRCwgaGRyX3R5cGUpOwogfQogREVDTEFSRV9QQ0lf RklYVVBfQ0xBU1NfSEVBREVSKFBDSV9WRU5ET1JfSURfTlZJRElBLCBQQ0lfQU5ZX0lELAogCQkJ ICAgICAgIFBDSV9CQVNFX0NMQVNTX0RJU1BMQVksIDE2LCBxdWlya19udmlkaWFfaGRhKTsKLS0g CjIuMzAuMgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LWFybS1rZXJuZWwK