From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 1/8] sync_file: add type/flags to sync file object creation. Date: Tue, 4 Apr 2017 14:27:26 +1000 Message-ID: <20170404042733.17203-2-airlied@gmail.com> References: <20170404042733.17203-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2B5DD6E2B4 for ; Tue, 4 Apr 2017 04:27:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 955017E9CA for ; Tue, 4 Apr 2017 04:27:37 +0000 (UTC) Received: from dreadlord-bne-redhat-com.bne.redhat.com (dhcp-40-179.bne.redhat.com [10.64.40.179]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0125F60465 for ; Tue, 4 Apr 2017 04:27:36 +0000 (UTC) In-Reply-To: <20170404042733.17203-1-airlied@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgYWxsb3dzIHVzIHRv IGNyZWF0ZSBzeW5jIGZpbGVzIHdpdGggZGlmZmVyZW50IHNlbWFudGljcywKYW5kIGNsZWFybHkg ZGVmaW5lIHRoZSBpbnRlcm9wZXJhdGlvbiBiZXR3ZWVuIHRoZW0gaXQgYWxzbwpwcm92aWRlcyBm bGFncyB0byBhbGxvdyBmb3IgdHdlYWtzIG9uIHRob3NlIHNlbWFudGljcy4KClRoaXMgcHJvdmlk ZXMgYSB2YWxpZGF0aW9uIGludGVyZmFjZSBmb3IgZHJpdmVycyB0aGF0IGFjY2VwdAp0eXBlcyBm cm9tIHVzZXJzcGFjZSBzbyB0aGV5IGNhbiByZXR1cm4gRUlOVkFMIGluc3RlYWQgb2YgRU5PTUVN LgoKVGhpcyBwcm92aWRlcyBhbiBpb2N0bCBmb3IgdXNlcnNwYWNlIHRvIHJldHJpZXZlIHRoZSB0 eXBlL2ZsYWdzCm9mIGFuIG9iamVjdCBpdCBtYXkgcmVjaWV2ZSBmcm9tIHNvbWV3aGVyZSBlbHNl LgoKU2lnbmVkLW9mZi1ieTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KLS0tCiBk cml2ZXJzL2RtYS1idWYvc3dfc3luYy5jICAgICAgfCAgMiArLQogZHJpdmVycy9kbWEtYnVmL3N5 bmNfZmlsZS5jICAgIHwgNjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgfCAgMiArLQogaW5jbHVkZS9saW51 eC9zeW5jX2ZpbGUuaCAgICAgIHwgIDkgKysrKystCiBpbmNsdWRlL3VhcGkvbGludXgvc3luY19m aWxlLmggfCAyNyArKysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgOTUgaW5zZXJ0 aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvc3df c3luYy5jIGIvZHJpdmVycy9kbWEtYnVmL3N3X3N5bmMuYwppbmRleCA2OWM1ZmYzLi4xYzQ3ZGU2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2RtYS1idWYvc3dfc3luYy5jCisrKyBiL2RyaXZlcnMvZG1h LWJ1Zi9zd19zeW5jLmMKQEAgLTMxNSw3ICszMTUsNyBAQCBzdGF0aWMgbG9uZyBzd19zeW5jX2lv Y3RsX2NyZWF0ZV9mZW5jZShzdHJ1Y3Qgc3luY190aW1lbGluZSAqb2JqLAogCQlnb3RvIGVycjsK IAl9CiAKLQlzeW5jX2ZpbGUgPSBzeW5jX2ZpbGVfY3JlYXRlKCZwdC0+YmFzZSk7CisJc3luY19m aWxlID0gc3luY19maWxlX2NyZWF0ZSgmcHQtPmJhc2UsIFNZTkNfRklMRV9UWVBFX0ZFTkNFLCAw KTsKIAlkbWFfZmVuY2VfcHV0KCZwdC0+YmFzZSk7CiAJaWYgKCFzeW5jX2ZpbGUpIHsKIAkJZXJy ID0gLUVOT01FTTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hLWJ1Zi9zeW5jX2ZpbGUuYyBiL2Ry aXZlcnMvZG1hLWJ1Zi9zeW5jX2ZpbGUuYwppbmRleCAyMzIxMDM1Li5iMzNhZjlkIDEwMDY0NAot LS0gYS9kcml2ZXJzL2RtYS1idWYvc3luY19maWxlLmMKKysrIGIvZHJpdmVycy9kbWEtYnVmL3N5 bmNfZmlsZS5jCkBAIC0yOCw5ICsyOCwzMiBAQAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVf b3BlcmF0aW9ucyBzeW5jX2ZpbGVfZm9wczsKIAotc3RhdGljIHN0cnVjdCBzeW5jX2ZpbGUgKnN5 bmNfZmlsZV9hbGxvYyh2b2lkKQorLyoqCisgKiBzeW5jX2ZpbGVfdmFsaWRhdGVfdHlwZV9mbGFn cyAtIHZhbGlkYXRlIHR5cGUvZmxhZ3MgZm9yIHN1cHBvcnQKKyAqIEB0eXBlOiB0eXBlIG9mIHN5 bmMgZmlsZSBvYmplY3QKKyAqIEBmbGFnczogZmxhZ3MgdG8gc3luYyBvYmplY3QuCisgKgorICog VmFsaWRhdGVzIHRoZSBmbGFncyBhcmUgY29ycmVjdCBzbyB1c2Vyc3BhY2UgY2FuIGdldCBhIG1v cmUKKyAqIGRldGFpbGVkIGVycm9yIHR5cGUuCisgKi8KK2ludCBzeW5jX2ZpbGVfdmFsaWRhdGVf dHlwZV9mbGFncyh1aW50MzJfdCB0eXBlLCB1aW50MzJfdCBmbGFncykKK3sKKwlpZiAoZmxhZ3Mp CisJCXJldHVybiAtRUlOVkFMOworCWlmICh0eXBlICE9IFNZTkNfRklMRV9UWVBFX0ZFTkNFKQor CQlyZXR1cm4gLUVJTlZBTDsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woc3luY19maWxl X3ZhbGlkYXRlX3R5cGVfZmxhZ3MpOworCitzdGF0aWMgc3RydWN0IHN5bmNfZmlsZSAqc3luY19m aWxlX2FsbG9jKHVpbnQzMl90IHR5cGUsIHVpbnQzMl90IGZsYWdzKQogewogCXN0cnVjdCBzeW5j X2ZpbGUgKnN5bmNfZmlsZTsKKwlpbnQgcmV0OworCisJcmV0ID0gc3luY19maWxlX3ZhbGlkYXRl X3R5cGVfZmxhZ3ModHlwZSwgZmxhZ3MpOworCWlmIChyZXQpCisJCXJldHVybiBOVUxMOwogCiAJ c3luY19maWxlID0ga3phbGxvYyhzaXplb2YoKnN5bmNfZmlsZSksIEdGUF9LRVJORUwpOwogCWlm ICghc3luY19maWxlKQpAQCAtNDcsNiArNzAsOCBAQCBzdGF0aWMgc3RydWN0IHN5bmNfZmlsZSAq c3luY19maWxlX2FsbG9jKHZvaWQpCiAKIAlJTklUX0xJU1RfSEVBRCgmc3luY19maWxlLT5jYi5u b2RlKTsKIAorCXN5bmNfZmlsZS0+dHlwZSA9IHR5cGU7CisJc3luY19maWxlLT5mbGFncyA9IGZs YWdzOwogCXJldHVybiBzeW5jX2ZpbGU7CiAKIGVycjoKQEAgLTcyLDExICs5NywxMyBAQCBzdGF0 aWMgdm9pZCBmZW5jZV9jaGVja19jYl9mdW5jKHN0cnVjdCBkbWFfZmVuY2UgKmYsIHN0cnVjdCBk bWFfZmVuY2VfY2IgKmNiKQogICogc3luY19maWxlIGNhbiBiZSByZWxlYXNlZCB3aXRoIGZwdXQo c3luY19maWxlLT5maWxlKS4gUmV0dXJucyB0aGUKICAqIHN5bmNfZmlsZSBvciBOVUxMIGluIGNh c2Ugb2YgZXJyb3IuCiAgKi8KLXN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZV9jcmVhdGUoc3Ry dWN0IGRtYV9mZW5jZSAqZmVuY2UpCitzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGVfY3JlYXRl KHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlLAorCQkJCSAgIHVpbnQzMl90IHR5cGUsCisJCQkJICAg dWludDMyX3QgZmxhZ3MpCiB7CiAJc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlOwogCi0Jc3lu Y19maWxlID0gc3luY19maWxlX2FsbG9jKCk7CisJc3luY19maWxlID0gc3luY19maWxlX2FsbG9j KHR5cGUsIGZsYWdzKTsKIAlpZiAoIXN5bmNfZmlsZSkKIAkJcmV0dXJuIE5VTEw7CiAKQEAgLTIw MCw3ICsyMjcsMTAgQEAgc3RhdGljIHN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZV9tZXJnZShj b25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3luY19maWxlICphLAogCXN0cnVjdCBkbWFfZmVuY2Ug KipmZW5jZXMsICoqbmZlbmNlcywgKiphX2ZlbmNlcywgKipiX2ZlbmNlczsKIAlpbnQgaSwgaV9h LCBpX2IsIG51bV9mZW5jZXMsIGFfbnVtX2ZlbmNlcywgYl9udW1fZmVuY2VzOwogCi0Jc3luY19m aWxlID0gc3luY19maWxlX2FsbG9jKCk7CisJaWYgKGEtPnR5cGUgIT0gYi0+dHlwZSkKKwkJcmV0 dXJuIE5VTEw7CisKKwlzeW5jX2ZpbGUgPSBzeW5jX2ZpbGVfYWxsb2MoYS0+dHlwZSwgYS0+Zmxh Z3MpOwogCWlmICghc3luY19maWxlKQogCQlyZXR1cm4gTlVMTDsKIApAQCAtNDM3LDYgKzQ2Nywy NyBAQCBzdGF0aWMgbG9uZyBzeW5jX2ZpbGVfaW9jdGxfZmVuY2VfaW5mbyhzdHJ1Y3Qgc3luY19m aWxlICpzeW5jX2ZpbGUsCiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIGxvbmcgc3luY19maWxl X2lvY3RsX3R5cGUoc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlLAorCQkJCSB1bnNpZ25lZCBs b25nIGFyZykKK3sKKwlzdHJ1Y3Qgc3luY19maWxlX3R5cGUgdHlwZTsKKwlpbnQgcmV0OworCWlm IChjb3B5X2Zyb21fdXNlcigmdHlwZSwgKHZvaWQgX191c2VyICopYXJnLCBzaXplb2YodHlwZSkp KQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWlmICh0eXBlLmZsYWdzIHx8IHR5cGUudHlwZSkKKwkJ cmV0dXJuIC1FSU5WQUw7CisKKwl0eXBlLnR5cGUgPSBzeW5jX2ZpbGUtPnR5cGU7CisJdHlwZS5m bGFncyA9IHN5bmNfZmlsZS0+ZmxhZ3M7CisKKwlpZiAoY29weV90b191c2VyKCh2b2lkIF9fdXNl ciAqKWFyZywgJnR5cGUsIHNpemVvZih0eXBlKSkpCisJCXJldCA9IC1FRkFVTFQ7CisJZWxzZQor CQlyZXQgPSAwOworCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBsb25nIHN5bmNfZmlsZV9pb2N0 bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKIAkJCSAgICB1bnNpZ25lZCBs b25nIGFyZykKIHsKQEAgLTQ0OSw2ICs1MDAsOSBAQCBzdGF0aWMgbG9uZyBzeW5jX2ZpbGVfaW9j dGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCiAJY2FzZSBTWU5DX0lPQ19G SUxFX0lORk86CiAJCXJldHVybiBzeW5jX2ZpbGVfaW9jdGxfZmVuY2VfaW5mbyhzeW5jX2ZpbGUs IGFyZyk7CiAKKwljYXNlIFNZTkNfSU9DX1RZUEU6CisJCXJldHVybiBzeW5jX2ZpbGVfaW9jdGxf dHlwZShzeW5jX2ZpbGUsIGFyZyk7CisKIAlkZWZhdWx0OgogCQlyZXR1cm4gLUVOT1RUWTsKIAl9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYwppbmRleCBhNTY3MzEwLi5iYjVhNzQwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj LmMKQEAgLTE5MTcsNyArMTkxNyw3IEBAIHN0YXRpYyBpbnQgc2V0dXBfb3V0X2ZlbmNlKHN0cnVj dCBkcm1fb3V0X2ZlbmNlX3N0YXRlICpmZW5jZV9zdGF0ZSwKIAlpZiAocHV0X3VzZXIoZmVuY2Vf c3RhdGUtPmZkLCBmZW5jZV9zdGF0ZS0+b3V0X2ZlbmNlX3B0cikpCiAJCXJldHVybiAtRUZBVUxU OwogCi0JZmVuY2Vfc3RhdGUtPnN5bmNfZmlsZSA9IHN5bmNfZmlsZV9jcmVhdGUoZmVuY2UpOwor CWZlbmNlX3N0YXRlLT5zeW5jX2ZpbGUgPSBzeW5jX2ZpbGVfY3JlYXRlKGZlbmNlLCBTWU5DX0ZJ TEVfVFlQRV9GRU5DRSwgMCk7CiAJaWYgKCFmZW5jZV9zdGF0ZS0+c3luY19maWxlKQogCQlyZXR1 cm4gLUVOT01FTTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zeW5jX2ZpbGUuaCBiL2lu Y2x1ZGUvbGludXgvc3luY19maWxlLmgKaW5kZXggM2UzYWI4NC4uZWRlNDE4MiAxMDA2NDQKLS0t IGEvaW5jbHVkZS9saW51eC9zeW5jX2ZpbGUuaAorKysgYi9pbmNsdWRlL2xpbnV4L3N5bmNfZmls ZS5oCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNs dWRlIDxsaW51eC9kbWEtZmVuY2UuaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtZmVuY2UtYXJyYXku aD4KKyNpbmNsdWRlIDx1YXBpL2xpbnV4L3N5bmNfZmlsZS5oPgorCiAKIC8qKgogICogc3RydWN0 IHN5bmNfZmlsZSAtIHN5bmMgZmlsZSB0byBleHBvcnQgdG8gdGhlIHVzZXJzcGFjZQpAQCAtMzAs NiArMzIsOCBAQAogICogQHdxOgkJCXdhaXQgcXVldWUgZm9yIGZlbmNlIHNpZ25hbGluZwogICog QGZlbmNlOgkJZmVuY2Ugd2l0aCB0aGUgZmVuY2VzIGluIHRoZSBzeW5jX2ZpbGUKICAqIEBjYjoJ CQlmZW5jZSBjYWxsYmFjayBpbmZvcm1hdGlvbgorICogQHR5cGU6ICAgICAgICAgICAgICAgc3lu YyBmaWxlIHR5cGUKKyAqIEBmbGFnczogICAgICAgICAgICAgIGZsYWdzIHVzZWQgdG8gY3JlYXRl IHN5bmMgZmlsZQogICovCiBzdHJ1Y3Qgc3luY19maWxlIHsKIAlzdHJ1Y3QgZmlsZQkJKmZpbGU7 CkBAIC00MywxMSArNDcsMTQgQEAgc3RydWN0IHN5bmNfZmlsZSB7CiAKIAlzdHJ1Y3QgZG1hX2Zl bmNlCSpmZW5jZTsKIAlzdHJ1Y3QgZG1hX2ZlbmNlX2NiIGNiOworCXVpbnQzMl90IHR5cGU7CisJ dWludDMyX3QgZmxhZ3M7CiB9OwogCiAjZGVmaW5lIFBPTExfRU5BQkxFRCBETUFfRkVOQ0VfRkxB R19VU0VSX0JJVFMKIAotc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlX2NyZWF0ZShzdHJ1Y3Qg ZG1hX2ZlbmNlICpmZW5jZSk7CitpbnQgc3luY19maWxlX3ZhbGlkYXRlX3R5cGVfZmxhZ3ModWlu dDMyX3QgdHlwZSwgdWludDMyX3QgZmxhZ3MpOworc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxl X2NyZWF0ZShzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwgdWludDMyX3QgdHlwZSwgdWludDMyX3Qg ZmxhZ3MpOwogc3RydWN0IGRtYV9mZW5jZSAqc3luY19maWxlX2dldF9mZW5jZShpbnQgZmQpOwog CiAjZW5kaWYgLyogX0xJTlVYX1NZTkNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xp bnV4L3N5bmNfZmlsZS5oIGIvaW5jbHVkZS91YXBpL2xpbnV4L3N5bmNfZmlsZS5oCmluZGV4IDVi Mjg3ZDYuLmY0MzljZGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9saW51eC9zeW5jX2ZpbGUu aAorKysgYi9pbmNsdWRlL3VhcGkvbGludXgvc3luY19maWxlLmgKQEAgLTY5LDYgKzY5LDI2IEBA IHN0cnVjdCBzeW5jX2ZpbGVfaW5mbyB7CiAjZGVmaW5lIFNZTkNfSU9DX01BR0lDCQknPicKIAog LyoqCisgKiBET0M6IFNZTkNfRklMRV9UWVBFX0ZFTkNFIC0gZmVuY2Ugc3luYyBmaWxlIG9iamVj dAorICoKKyAqIFRoaXMgc3luYyBmaWxlIGlzIGEgd3JhcHBlciBhcm91bmQgYSBkbWEgZmVuY2Ug b3IgYSBkbWEgZmVuY2UgYXJyYXkuCisgKiBJdCBjYW4gYmUgbWVyZ2VkIHdpdGggYW5vdGhlciBm ZW5jZSBzeW5jIGZpbGUgb2JqZWN0IHRvIGNyZWF0ZSBhIG5ldworICogbWVyZ2VkIG9iamVjdC4K KyAqIFRoZSBmZW5jZSBiYWNraW5nIHRoaXMgb2JqZWN0IGNhbm5vdCBiZSByZXBsYWNlZC4KKyAq IFRoaXMgaXMgdXNlZnVsIGZvciBzaGFyZWQgZmVuY2VzLgorICovCisjZGVmaW5lIFNZTkNfRklM RV9UWVBFX0ZFTkNFIDAKKworLyoqCisgKiBzdHJ1Y3Qgc3luY19maWxlX3R5cGUgLSBkYXRhIHJl dHVybmVkIGZyb20gc3luYyBmaWxlIHR5cGUgaW9jdGwKKyAqIEB0eXBlOglzeW5jX2ZpbGUgdHlw ZQorICogQGZsYWdzOglzeW5jX2ZpbGUgY3JlYXRpb24gZmxhZ3MKKyAqLworc3RydWN0IHN5bmNf ZmlsZV90eXBlIHsKKwlfX3UzMgl0eXBlOworCV9fdTMyCWZsYWdzOworfTsKKy8qKgogICogT3Bj b2RlcyAgMCwgMSBhbmQgMiB3ZXJlIGJ1cm5lZCBkdXJpbmcgYSBBUEkgY2hhbmdlIHRvIGF2b2lk IHVzZXJzIG9mIHRoZQogICogb2xkIEFQSSB0byBnZXQgd2VpcmQgZXJyb3JzIHdoZW4gdHJ5aW5n IHRvIGhhbmRsaW5nIHN5bmNfZmlsZXMuIFRoZSBBUEkKICAqIGNoYW5nZSBoYXBwZW5lZCBkdXJp bmcgdGhlIGRlLXN0YWdlIG9mIHRoZSBTeW5jIEZyYW1ld29yayB3aGVuIHRoZXJlIHdhcwpAQCAt OTQsNCArMTE0LDExIEBAIHN0cnVjdCBzeW5jX2ZpbGVfaW5mbyB7CiAgKi8KICNkZWZpbmUgU1lO Q19JT0NfRklMRV9JTkZPCV9JT1dSKFNZTkNfSU9DX01BR0lDLCA0LCBzdHJ1Y3Qgc3luY19maWxl X2luZm8pCiAKKy8qKgorICogRE9DOiBTWU5DX0lPQ19UWVBFIC0gZ2V0IGNyZWF0aW9uIHR5cGUg YW5kIGZsYWdzIG9mIHN5bmNfZmlsZS4KKyAqCisgKiBUYWtlcyBhIHN0cnVjdCBzeW5jX2ZpbGVf dHlwZS4gUmV0dXJucyB0aGUgY3JlYXRlZCB2YWx1ZXMgb2YgdHlwZSBhbmQgZmxhZ3MuCisgKi8K KyNkZWZpbmUgU1lOQ19JT0NfVFlQRQkJX0lPV1IoU1lOQ19JT0NfTUFHSUMsIDUsIHN0cnVjdCBz eW5jX2ZpbGVfdHlwZSkKKwogI2VuZGlmIC8qIF9VQVBJX0xJTlVYX1NZTkNfSCAqLwotLSAKMi45 LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=