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 X-Spam-Level: X-Spam-Status: No, score=-5.5 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B028DC4338F for ; Sat, 24 Jul 2021 22:06:54 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4481F608FE for ; Sat, 24 Jul 2021 22:06:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 4481F608FE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.linuxfoundation.org Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id E09F040229; Sat, 24 Jul 2021 22:06:53 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dbvL8-CexKQ1; Sat, 24 Jul 2021 22:06:51 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp2.osuosl.org (Postfix) with ESMTPS id 91A81400EA; Sat, 24 Jul 2021 22:06:51 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 5282EC001A; Sat, 24 Jul 2021 22:06:51 +0000 (UTC) Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists.linuxfoundation.org (Postfix) with ESMTP id 12BDDC000E for ; Sat, 24 Jul 2021 22:06:50 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id E56AC60611 for ; Sat, 24 Jul 2021 22:06:49 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp3.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qB3d2uE6rR5V for ; Sat, 24 Jul 2021 22:06:47 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com [IPv6:2607:f8b0:4864:20::634]) by smtp3.osuosl.org (Postfix) with ESMTPS id 817386060A for ; Sat, 24 Jul 2021 22:06:47 +0000 (UTC) Received: by mail-pl1-x634.google.com with SMTP id n10so7360544plf.4 for ; Sat, 24 Jul 2021 15:06:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=AL0gk6DC3dP8DpL5CqvAOlN42ZPY4X8Ip70+hAnk5Tw=; b=frCTCuUSKLyILGb7VjjJpgI/1tTtkFl23T1ToRBtf+gcshlLgtsBTRi4hFMqnQIhq6 5J+/mbJMh3/tgnc6LqAbEfecGrNiQi7HTSpOFXL8kNtIB/X9W+APuDPcVlvMix95fCMW Wfu8ZkWZXXNKv9ZT3N8Qrr7N0OAMO0zyKLFBzjkekzPWZDpV4aOZqJSHrqf73Qh6KzUS G8d2PGZrEcVvcbedl39Ra3z0vnJ3UFO6K3Asd1U20jNg4FtmYytTHdaDujFQ7XnlP9lO pBFuZZu8yzxrcQ/aK/nprtXH/tJKEU8aabarVdkTSHZgIpu2NbBtE65XFz2QenP7jJ3D 0uPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=AL0gk6DC3dP8DpL5CqvAOlN42ZPY4X8Ip70+hAnk5Tw=; b=t0j9vcmz67KX27rS23AyilKqSsIhOhA4wYBV5KqiWK8tpznP52jE7oQO7k8YFQbfcc E3bvpjrCCaRmrPf0EteEsnUa/i6pORVi4kZOH9514z/xj611ZnFJDs+XqECjNyGESZeh JKSfBb3bQf6JOMq3rHOHcLcawZxRJiMaeuK7QesboybIld/mV3bMDu8pLo1qIVJ2Bhe+ 3/dhMtATlRKRHE5xKIPYS6+ggmVMW+h0+D04sIlKGSBOqtCNKgqtenjvaTYiiCvejB4V HgIgtqri2IMFhgRwRL3CPPcBjm57WJV3v4d2AOBX+sVCzzujd+vCGg66SOFTwKYJIt+v Bo7g== X-Gm-Message-State: AOAM533MRyg8NVxB/MiotjJfEoWvbzogS6WBj4c3V4mQzTBAK7ewv4xz y5gfM+xbu1S9qLY5kWs6xZM= X-Google-Smtp-Source: ABdhPJz2GFAw5+5NZLktvn8aVXbIemsvKNPECwvKsHe6sm3wp3Ds1fIuEzUjk4y4MX9SP9KzAubkWw== X-Received: by 2002:a17:90a:5886:: with SMTP id j6mr2266627pji.34.1627164406382; Sat, 24 Jul 2021 15:06:46 -0700 (PDT) Received: from uver-laptop ([47.9.153.189]) by smtp.gmail.com with ESMTPSA id j3sm39363906pfe.98.2021.07.24.15.06.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Jul 2021 15:06:46 -0700 (PDT) Date: Sun, 25 Jul 2021 03:36:30 +0530 From: Utkarsh Verma To: Lukas Bulwahn Subject: Re: Linux Kernel: Checkpatch Documentation Mentorship Tasks Message-ID: <20210724220630.GA11748@uver-laptop> References: <20210717064653.GA4873@uver-laptop> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Cc: dwaipayanray1@gmail.com, linux-kernel-mentees@lists.linuxfoundation.org X-BeenThere: linux-kernel-mentees@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 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 Errors-To: linux-kernel-mentees-bounces@lists.linuxfoundation.org Sender: "Linux-kernel-mentees" T24gU2F0LCBKdWwgMTcsIDIwMjEgYXQgMDk6MjM6MTlBTSArMDIwMCwgTHVrYXMgQnVsd2FobiB3 cm90ZToKPiBHZXQgYSBjbG9uZSBvZiB0aGUgTGludXgga2VybmVsIHJlcG9zaXRvcnkuIFRoZSBz Y3JpcHQgY2hlY2twYXRjaC5wbAo+IGlzIHVuZGVyIHRoZSBzY3JpcHRzIGRpcmVjdG9yeS4KPiAK PiBUaGVuLCB0aGUgZmlyc3QgdGFzayBpcyB0byBydW4gY2hlY2twYXRjaC5wbCBvbiBhIGZldyBm aWxlcyBiZWxvdyBhbmQKPiBzaGFyZSB0aGUgcmVzdWx0czoKPiAKPiBkcml2ZXJzL2FjcGkvYWNw aWNhL2FjYXBwcy5oCj4gZHJpdmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmMgCgokIC4vc2Ny aXB0cy9jaGVja3BhdGNoLnBsIC0tZmlsZSAtLXRlcnNlIGRyaXZlcnMvYWNwaS9hY3BpY2EvYWNh cHBzLmgKZHJpdmVycy9hY3BpL2FjcGljYS9hY2FwcHMuaDo1MDogRVJST1I6IFVzZSBvZiB0aGUg J19fREFURV9fJyBtYWNybyBtYWtlcyB0aGUgYnVpbGQgbm9uLWRldGVybWluaXN0aWMKZHJpdmVy cy9hY3BpL2FjcGljYS9hY2FwcHMuaDo1MDogRVJST1I6IFVzZSBvZiB0aGUgJ19fVElNRV9fJyBt YWNybyBtYWtlcyB0aGUgYnVpbGQgbm9uLWRldGVybWluaXN0aWMKZHJpdmVycy9hY3BpL2FjcGlj YS9hY2FwcHMuaDo1NDogRVJST1I6IE1hY3JvcyB3aXRoIG11bHRpcGxlIHN0YXRlbWVudHMgc2hv dWxkIGJlIGVuY2xvc2VkIGluIGEgZG8gLSB3aGlsZSBsb29wCmRyaXZlcnMvYWNwaS9hY3BpY2Ev YWNhcHBzLmg6NTQ6IFdBUk5JTkc6IG1hY3JvcyBzaG91bGQgbm90IHVzZSBhIHRyYWlsaW5nIHNl bWljb2xvbgpkcml2ZXJzL2FjcGkvYWNwaWNhL2FjYXBwcy5oOjU1OiBXQVJOSU5HOiBzcGFjZSBw cm9oaWJpdGVkIGJldHdlZW4gZnVuY3Rpb24gbmFtZSBhbmQgb3BlbiBwYXJlbnRoZXNpcyAnKCcK ZHJpdmVycy9hY3BpL2FjcGljYS9hY2FwcHMuaDo1NzogRVJST1I6IE1hY3JvcyB3aXRoIG11bHRp cGxlIHN0YXRlbWVudHMgc2hvdWxkIGJlIGVuY2xvc2VkIGluIGEgZG8gLSB3aGlsZSBsb29wCmRy aXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmg6NTc6IFdBUk5JTkc6IG1hY3JvcyBzaG91bGQgbm90 IHVzZSBhIHRyYWlsaW5nIHNlbWljb2xvbgpkcml2ZXJzL2FjcGkvYWNwaWNhL2FjYXBwcy5oOjU4 OiBXQVJOSU5HOiBzcGFjZSBwcm9oaWJpdGVkIGJldHdlZW4gZnVuY3Rpb24gbmFtZSBhbmQgb3Bl biBwYXJlbnRoZXNpcyAnKCcKZHJpdmVycy9hY3BpL2FjcGljYS9hY2FwcHMuaDo2MDogRVJST1I6 IE1hY3JvcyB3aXRoIG11bHRpcGxlIHN0YXRlbWVudHMgc2hvdWxkIGJlIGVuY2xvc2VkIGluIGEg ZG8gLSB3aGlsZSBsb29wCmRyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmg6NjA6IFdBUk5JTkc6 IG1hY3JvcyBzaG91bGQgbm90IHVzZSBhIHRyYWlsaW5nIHNlbWljb2xvbgpkcml2ZXJzL2FjcGkv YWNwaWNhL2FjYXBwcy5oOjYxOiBXQVJOSU5HOiBzcGFjZSBwcm9oaWJpdGVkIGJldHdlZW4gZnVu Y3Rpb24gbmFtZSBhbmQgb3BlbiBwYXJlbnRoZXNpcyAnKCcKZHJpdmVycy9hY3BpL2FjcGljYS9h Y2FwcHMuaDo2NTogRVJST1I6IE1hY3JvcyBzdGFydGluZyB3aXRoIGlmIHNob3VsZCBiZSBlbmNs b3NlZCBieSBhIGRvIC0gd2hpbGUgbG9vcCB0byBhdm9pZCBwb3NzaWJsZSBpZi9lbHNlIGxvZ2lj IGRlZmVjdHMKZHJpdmVycy9hY3BpL2FjcGljYS9hY2FwcHMuaDo2NjogRVJST1I6IHRoYXQgb3Bl biBicmFjZSB7IHNob3VsZCBiZSBvbiB0aGUgcHJldmlvdXMgbGluZQpkcml2ZXJzL2FjcGkvYWNw aWNhL2FjYXBwcy5oOjY4OiBXQVJOSU5HOiBzcGFjZSBwcm9oaWJpdGVkIGJldHdlZW4gZnVuY3Rp b24gbmFtZSBhbmQgb3BlbiBwYXJlbnRoZXNpcyAnKCcKZHJpdmVycy9hY3BpL2FjcGljYS9hY2Fw cHMuaDo2OTogV0FSTklORzogc3BhY2UgcHJvaGliaXRlZCBiZXR3ZWVuIGZ1bmN0aW9uIG5hbWUg YW5kIG9wZW4gcGFyZW50aGVzaXMgJygnCmRyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmg6NzQ6 IFdBUk5JTkc6IHNwYWNlIHByb2hpYml0ZWQgYmV0d2VlbiBmdW5jdGlvbiBuYW1lIGFuZCBvcGVu IHBhcmVudGhlc2lzICcoJwpkcml2ZXJzL2FjcGkvYWNwaWNhL2FjYXBwcy5oOjc0OiBFUlJPUjog TWFjcm9zIHdpdGggbXVsdGlwbGUgc3RhdGVtZW50cyBzaG91bGQgYmUgZW5jbG9zZWQgaW4gYSBk byAtIHdoaWxlIGxvb3AKZHJpdmVycy9hY3BpL2FjcGljYS9hY2FwcHMuaDo3NDogV0FSTklORzog bWFjcm9zIHNob3VsZCBub3QgdXNlIGEgdHJhaWxpbmcgc2VtaWNvbG9uCmRyaXZlcnMvYWNwaS9h Y3BpY2EvYWNhcHBzLmg6ODg6IEVSUk9SOiAiZm9vICogYmFyIiBzaG91bGQgYmUgImZvbyAqYmFy Igpkcml2ZXJzL2FjcGkvYWNwaWNhL2FjYXBwcy5oOjkwOiBFUlJPUjogImZvbyAqIGJhciIgc2hv dWxkIGJlICJmb28gKmJhciIKdG90YWw6IDEwIGVycm9ycywgMTAgd2FybmluZ3MsIDE1NCBsaW5l cyBjaGVja2VkCgoKJCAuL3NjcmlwdHMvY2hlY2twYXRjaC5wbCAtLWZpbGUgLS10ZXJzZSBkcml2 ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXguYwpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2Vu aXguYzoyNTY6IFdBUk5JTkc6IHNpbmdsZSBieXRlIG1lbXNldCBpcyBzdXNwaWNpb3VzLiBTd2Fw cGVkIDJuZC8zcmQgYXJndW1lbnQ/CmRyaXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jOjMx MzogV0FSTklORzogTWlzc2luZyBhIGJsYW5rIGxpbmUgYWZ0ZXIgZGVjbGFyYXRpb25zCmRyaXZl cnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jOjM2MzogRVJST1I6IHNwYWNlIHByb2hpYml0ZWQg YmVmb3JlIHRoYXQgJywnIChjdHg6V3hFKQpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXgu YzozODM6IEVSUk9SOiBzcGFjZSBwcm9oaWJpdGVkIGJlZm9yZSB0aGF0ICcsJyAoY3R4Old4RSkK ZHJpdmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmM6NDUxOiBXQVJOSU5HOiBUb28gbWFueSBs ZWFkaW5nIHRhYnMgLSBjb25zaWRlciBjb2RlIHJlZmFjdG9yaW5nCmRyaXZlcnMvdXNiL3Nlcmlh bC9pdXVfcGhvZW5peC5jOjQ1NDogV0FSTklORzogVG9vIG1hbnkgbGVhZGluZyB0YWJzIC0gY29u c2lkZXIgY29kZSByZWZhY3RvcmluZwpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXguYzo0 NTY6IFdBUk5JTkc6IFRvbyBtYW55IGxlYWRpbmcgdGFicyAtIGNvbnNpZGVyIGNvZGUgcmVmYWN0 b3JpbmcKZHJpdmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmM6NDU4OiBXQVJOSU5HOiBUb28g bWFueSBsZWFkaW5nIHRhYnMgLSBjb25zaWRlciBjb2RlIHJlZmFjdG9yaW5nCmRyaXZlcnMvdXNi L3NlcmlhbC9pdXVfcGhvZW5peC5jOjQ2NDogV0FSTklORzogVG9vIG1hbnkgbGVhZGluZyB0YWJz IC0gY29uc2lkZXIgY29kZSByZWZhY3RvcmluZwpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2Vu aXguYzo1ODM6IFdBUk5JTkc6IGJyYWNlcyB7fSBhcmUgbm90IG5lY2Vzc2FyeSBmb3Igc2luZ2xl IHN0YXRlbWVudCBibG9ja3MKZHJpdmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmM6NjQ4OiBX QVJOSU5HOiBNaXNzaW5nIGEgYmxhbmsgbGluZSBhZnRlciBkZWNsYXJhdGlvbnMKZHJpdmVycy91 c2Ivc2VyaWFsL2l1dV9waG9lbml4LmM6NzczOiBXQVJOSU5HOiBNaXNzaW5nIGEgYmxhbmsgbGlu ZSBhZnRlciBkZWNsYXJhdGlvbnMKZHJpdmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmM6OTc4 OiBFUlJPUjogdHJhaWxpbmcgc3RhdGVtZW50cyBzaG91bGQgYmUgb24gbmV4dCBsaW5lCmRyaXZl cnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jOjEwNTk6IFdBUk5JTkc6IHNpbmdsZSBieXRlIG1l bXNldCBpcyBzdXNwaWNpb3VzLiBTd2FwcGVkIDJuZC8zcmQgYXJndW1lbnQ/CmRyaXZlcnMvdXNi L3NlcmlhbC9pdXVfcGhvZW5peC5jOjExOTE6IFdBUk5JTkc6IFN5bWJvbGljIHBlcm1pc3Npb25z ICdTX0lSVUdPIHwgU19JV1VTUicgYXJlIG5vdCBwcmVmZXJyZWQuIENvbnNpZGVyIHVzaW5nIG9j dGFsIHBlcm1pc3Npb25zICcwNjQ0Jy4KZHJpdmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmM6 MTE5NDogV0FSTklORzogU3ltYm9saWMgcGVybWlzc2lvbnMgJ1NfSVJVR08gfCBTX0lXVVNSJyBh cmUgbm90IHByZWZlcnJlZC4gQ29uc2lkZXIgdXNpbmcgb2N0YWwgcGVybWlzc2lvbnMgJzA2NDQn Lgpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXguYzoxMTk3OiBXQVJOSU5HOiBTeW1ib2xp YyBwZXJtaXNzaW9ucyAnU19JUlVHTyB8IFNfSVdVU1InIGFyZSBub3QgcHJlZmVycmVkLiBDb25z aWRlciB1c2luZyBvY3RhbCBwZXJtaXNzaW9ucyAnMDY0NCcuCmRyaXZlcnMvdXNiL3NlcmlhbC9p dXVfcGhvZW5peC5jOjExOTk6IFdBUk5JTkc6IHF1b3RlZCBzdHJpbmcgc3BsaXQgYWNyb3NzIGxp bmVzCmRyaXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jOjEyMDE6IFdBUk5JTkc6IFN5bWJv bGljIHBlcm1pc3Npb25zICdTX0lSVUdPIHwgU19JV1VTUicgYXJlIG5vdCBwcmVmZXJyZWQuIENv bnNpZGVyIHVzaW5nIG9jdGFsIHBlcm1pc3Npb25zICcwNjQ0Jy4KZHJpdmVycy91c2Ivc2VyaWFs L2l1dV9waG9lbml4LmM6MTIwMzogV0FSTklORzogcXVvdGVkIHN0cmluZyBzcGxpdCBhY3Jvc3Mg bGluZXMKZHJpdmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmM6MTIwNTogV0FSTklORzogU3lt Ym9saWMgcGVybWlzc2lvbnMgJ1NfSVJVR08gfCBTX0lXVVNSJyBhcmUgbm90IHByZWZlcnJlZC4g Q29uc2lkZXIgdXNpbmcgb2N0YWwgcGVybWlzc2lvbnMgJzA2NDQnLgpkcml2ZXJzL3VzYi9zZXJp YWwvaXV1X3Bob2VuaXguYzoxMjA3OiBXQVJOSU5HOiBxdW90ZWQgc3RyaW5nIHNwbGl0IGFjcm9z cyBsaW5lcwp0b3RhbDogMyBlcnJvcnMsIDE5IHdhcm5pbmdzLCAxMjA3IGxpbmVzIGNoZWNrZWQK CgoKPiBXaGljaCBpbmZvcm1hdGlvbiBvbiB0aGVzZSBydWxlcyB0aGF0IGNoZWNrcGF0Y2ggd2Fy bnMgYWJvdXQgaXMKPiBhdmFpbGFibGUgaW4gdGhlIENoZWNrcGF0Y2ggRG9jdW1lbnRhdGlvbj8K PiAKPiBJZiBkb2N1bWVudGF0aW9uIG9mIHRoZXNlIHJ1bGVzIGlzIGF2YWlsYWJsZSwgZXhwbGFp biB5b3VyCj4gdW5kZXJzdGFuZGluZyBvZiB0aGUgcnVsZXMgaW4geW91ciBvd24gd29yZHMuCj4g SWYgbm8gaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGluIHRoZSBkb2N1bWVudGF0aW9uLCBleHBs YWluIHlvdXIKPiB1bmRlcnN0YW5kaW5nIG9mIHRoZSBydWxlLgo+IAo+IEluIGFueSBjYXNlLCBl eHBsYWluIHRoZSB2aW9sYXRpb24gdGhhdCBpcyBjaGVja2VkIGFuZCByYWlzZWQgaW4gdGhlCj4g Y2hlY2twYXRjaCBzY3JpcHQsIGkuZS4sIHdoYXQgaXMgaW1wbGVtZW50ZWQgaW4gY2hlY2twYXRj aCB0byBjaGVjawo+IHRoZSBydWxlIGFuZCBwb3NzaWJsZSB2aW9sYXRpb25zLiBXaGljaCBjb2Rl IGluIHRoZSBjaGVja3BhdGNoIHNjcmlwdAo+IGlzIHJhaXNpbmcgdGhlIHdhcm5pbmc/IFdoYXQg ZG9lcyBpdCBjaGVjayBhbmQgaG93IGlzIHRoYXQKPiBpbXBsZW1lbnRlZD8KPiAKPiBFeHBsYWlu IGhvdyB0byBwb3NzaWJseSBmaXggdGhpcyBjb2RlIGluIHRoZSBmaWxlcyBhYm92ZSB3aXRoIHJl Z2FyZHMKPiB0byB0aGF0IHZpb2xhdGlvbi4KCgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PQpkcml2ZXJzL2FjcGkvYWNwaWNhL2FjYXBwcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KCgoKZHJpdmVycy9hY3BpL2FjcGljYS9hY2FwcHMuaDo1MDogRVJST1I6IFVzZSBvZiB0aGUg J19fREFURV9fJyBtYWNybyBtYWtlcyB0aGUgYnVpbGQgbm9uLWRldGVybWluaXN0aWMKZHJpdmVy cy9hY3BpL2FjcGljYS9hY2FwcHMuaDo1MDogRVJST1I6IFVzZSBvZiB0aGUgJ19fVElNRV9fJyBt YWNybyBtYWtlcyB0aGUgYnVpbGQgbm9uLWRldGVybWluaXN0aWMKClRoZSBfX0RBVEVfXyBhbmQg X19USU1FX18gbWFjcm9zIGdpdmUgdGhlIGRhdGUgYW5kIHRoZSB0aW1lIGF0IHdoaWNoIHRoZQpm aWxlIHdhcyBjb21waWxlZC4gVGhlIExpbnV4IEtlcm5lbCBzaG91bGQgYmUgcmVwcm9kdWNpYmxl LCBzbyB0aGF0IG5vCnZ1bG5lcmFiaWxpdGllcyBvciBiYWNrZG9vcnMgYXJlIGludHJvZHVjZWQu IEl0IHNob3VsZCBhbHdheXMgZ2VuZXJhdGUKc2FtZSBiaW5hcmllcyB3aGVuIGEgcGFydGljdWxh ciB2ZXJzaW9uIG9mIGl0IGlzIGNvbXBpbGVkIHVzaW5nIHNhbWUgc2V0Cm9mIHRvb2xzLiBUaGUg X19EQVRFX18gYW5kIF9fVElNRV9fIG1hY3JvIGRvZXMgbm90IHJlc3VsdCBpbiByZXByb2R1Y2li bGUKYnVpbGRzLCBzaW5jZSBpdHMgdmFsdWUgd2lsbCBjaGFuZ2Ugb3ZlciB0aW1lLiBCdWlsZGlu ZyB0aGUga2VybmVsIGF0CmRpZmZlcmVudCB0aW1lIHdpbGwgcmVzdWx0IGluIGRpZmZlcmVudCBt YWNybyB2YWx1ZSBhbmQgdGh1cyB3aWxsIGdpdmUKZGlmZmVyZW50IGJpbmFyaWVzIGVhY2ggdGlt ZS4gQWxzbyB0aGUgR0NDIHZlcnNpb24gNC45IGFuZCBuZXdlciBnaXZlcyBhbgplcnJvciBvbiB1 c2luZyB0aGVzZSBtYWNyb3MuIFNvIHRoZSBjaGVja3BhdGNoLnBsIHByb2R1Y2VzIGFuIEVSUk9S Cm1lc3NhZ2Ugd2hlbiBpdCBlbmNvdW50ZXJzIHRoZSB1c2FnZSBvZiBfX0RBVEVfXyBhbmQgX19U SU1FX18gbWFjcm9zLgoKUHJvcGVyIGV4cGxhbmF0aW9uIGZvciB0aGlzIG1lc3NhZ2UgaXMgYXZh aWxhYmxlIGluIHRoZSBjaGVja3BhdGNoLnJzdApkb2N1bWVudGF0aW9uIGZpbGUuCgpUaGlzIGxp bmUgaW4gdGhlIGNoZWNrcGF0Y2gucGwgZmlsZSBjaGVja3MgZm9yIHRoZSB0aGUgdXNhZ2Ugb2Yg X19EQVRFX18Kb3IgX19USU1FX18gb3IgX19USU1FU1RBTVBfXyBpbiB0aGUgaW5wdXQgZmlsZS4K CnNjcmlwdHMvY2hlY2twYXRjaC5wbDo3MDk4OgoJCXdoaWxlICgkbGluZSA9fiAvXGIoX18oPzpE QVRFfFRJTUV8VElNRVNUQU1QKV9fKVxiL2cpIHsKCklmIGl0IGZpbmRzIHRoZSB1c2FnZSBvZiBh bnkgc3VjaCBtYWNybywgdGhlbiB0aGVzZSBsaW5lcyBwcmludCB0aGUKYXBwcm9wcmlhdGUgRVJS T1IgbWVzc2FnZS4KCnNjcmlwdHMvY2hlY2twYXRjaC5wbDo3MDk5OgoJCQlFUlJPUigiREFURV9U SU1FIiwKCQkJICAgICAgIlVzZSBvZiB0aGUgJyQxJyBtYWNybyBtYWtlcyB0aGUgYnVpbGQgbm9u LWRldGVybWluaXN0aWNcbiIgLiAkaGVyZWN1cnIpOwoKVGhlIGZpeCBpcyB0byBub3QgdG8gdXNl IHRoZXNlIG1hY3JvcyBhbmQgcmVtb3ZlIGl0cyB1c2FnZSBpbiB0aGUga2VybmVsLgoKCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCgoKZHJpdmVycy9hY3BpL2FjcGljYS9hY2FwcHMuaDo1NDogRVJST1I6IE1h Y3JvcyB3aXRoIG11bHRpcGxlIHN0YXRlbWVudHMgc2hvdWxkIGJlIGVuY2xvc2VkIGluIGEgZG8g LSB3aGlsZSBsb29wCmRyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmg6NTc6IEVSUk9SOiBNYWNy b3Mgd2l0aCBtdWx0aXBsZSBzdGF0ZW1lbnRzIHNob3VsZCBiZSBlbmNsb3NlZCBpbiBhIGRvIC0g d2hpbGUgbG9vcApkcml2ZXJzL2FjcGkvYWNwaWNhL2FjYXBwcy5oOjYwOiBFUlJPUjogTWFjcm9z IHdpdGggbXVsdGlwbGUgc3RhdGVtZW50cyBzaG91bGQgYmUgZW5jbG9zZWQgaW4gYSBkbyAtIHdo aWxlIGxvb3AKZHJpdmVycy9hY3BpL2FjcGljYS9hY2FwcHMuaDo3NDogRVJST1I6IE1hY3JvcyB3 aXRoIG11bHRpcGxlIHN0YXRlbWVudHMgc2hvdWxkIGJlIGVuY2xvc2VkIGluIGEgZG8gLSB3aGls ZSBsb29wCgpNYWNyb3MgdGhhdCBjb25zaXN0IG9mIG11bHRpbHBsZSBzdGF0ZW1lbnRzIHNob3Vs ZCBiZSBlbmNsb3NlZCBpbiBhCmRvIC0gd2hpbGUgbG9vcCwgYmVjYXVzZSBpZiBtYWNyb3MgYXJl IGludm9rZWQgZnJvbSBpbnNpZGUgb2YgYSBpZi1lbHNlCnN0YXRlbWVudCB3aXRob3V0IHVzaW5n IHRoZSBicmFjZXMsIHRoZW4gaXQgbWF5IGNhdXNlIHNvbWUgdW5wcmVkaWN0YWJsZQpiZWhhdmlv dXIuIEZvciBleGFtcGxlIGlmIHdlIGhhdmUgYSBtYWNybyBQUlQsCgojZGVmaW5lIFBSVCBcCglw cmludGYoIkZpcnN0IExpbmVcbiIpOyBcCglwcmludGYoIlNlY29uZCBMaW5lXG4iKQoKaWYgdGhp cyBtYWNybyBpcyBpbnZva2VkIGZyb20gaW5zaWRlIG9mIGEgaWYgc3RhdGVtZW50IGxpa2UsCgpp ZiAoPGNvbmRpdGlvbj4pCglQUlQ7Cgp0aGVuIGlmIHRoZSBjb25kaXRpb24gaXMgdHJ1ZSB0aGVu IHRoZSBmaXJzdCBwcmludGYgaW5zaWRlIFBSVCB3aWxsIGJlCmNhbGxlZCwgd2hpbGUgdGhlIHNl Y29uZCBwcmludGYgaXMgYWx3YXlzIGNhbGxlZCBpcnJlc3BlY3RpdmUgb2YgdGhlCmNvbmRpdGlv bi4gSXQgaXMgYmVjYXVzZSB0aGUgc3RhdGVtZW50cyBhcmUgbm90IGluc2lkZSB0aGUgY3VybHkg YnJhY2VzLgpPbmUgY2FuIHB1dCB0aGUgY3VybHkgYnJhY2VzIGF0IHRoZSBwbGFjZSBvZiBtYWNy byBpbnZvY2F0aW9uIGJ1dCBpdCBpcwphdm9pZGVkLCBiZWNhdXNlIGZ1bmN0aW9uLXN0eWxlLW1h Y3JvcyBzaG91bGQgYmUgdW5pZm9ybSB3aXRoIHRoZSB1c2Ugb2YKb3JkaW5hcnkgZnVuY3Rpb25z IGluIGFsbCBjb250ZXh0cy4gSXQgbWFrZXMgdGhlIHN3aXRjaCBiZXR3ZWVuIGZ1bmN0aW9uCmNh bGwgYW5kIG1hY3JvIGludm9jYXRpb24gY29udmVuaWVudC4KCk1vc3Qgb2YgdGhlIHRpbWUgdGhp cyBlcnJvciBwb3BzIHVwLCB3aGVuIHdoZW4gdGhlIGN1cmx5IGJyYWNlcyBhcmUKdXNlZCBpbnN0 ZWFkIG9mIGRvIC0gd2hpbGUgbG9vcCBpbiBtYWNybyBkZWZpbml0aW9uLiBDdXJseSBicmFjZXMg c2hvdWxkCm5vdCBiZSB1c2VkIGJlY2F1c2UgbWFjcm9zIHNob3VsZCBleHBhbmQgaW50byBhIHJl Z3VsYXIgc3RhdGVtZW50IGFuZCBub3QKaW4gYSBjb21wb3VuZCBvbmUuIEZvciBleGFtcGxlIGlm IHdlIGhhdmUgYSBtYWNybyBQUlQsCgojZGVmaW5lIFBSVCBcCnsgXAoJcHJpbnRmKCJGaXJzdCBM aW5lXG4iKTsgXAoJcHJpbnRmKCJTZWNvbmQgTGluZVxuIik7IFwKfQoKaWYgdGhpcyBtYWNybyBp cyBpbnZva2VkIGZyb20gaW5zaWRlIG9mIGEgaWYgc3RhdGVtZW50IGxpa2UsCgppZig8Y29uZGl0 aW9uPikKCVBSVDsKZWxzZQoJc29tZV9mdW5jdGlvbigpOwoKdGhlbiB0aGVyZSB3b3VsZCBiZSBh IGNvbXBpbGF0aW9uIGVycm9yIG9mOiDigJhlbHNl4oCZIHdpdGhvdXQgYSBwcmV2aW91cyDigJhp ZuKAmQpXaGVuIHRoZSBtYWNybyBmcm9tIHRoZSBpZiBzdGF0ZW1lbnQgaXMgaW52b2tlZCB0aGVu IGl0IGlzIHJlcGxhY2VkIGJ5IGEKY29tcG91bmQgc3RhdGVtZW50IGFmdGVyIHdoaWNoIGEgc2Vt aWNvbG9uIGlzIHByZXNlbnQsIHNvIHRoZSBlbHNlIGJyYW5jaAp3b3VsZCBnZXQgb3JwaGFuZWQg KHRodXMgYSBjb21waWxhdGlvbiBlcnJvcikuCk9uZSBjYW4gb21pdCB0aGUgc2VtaWNvbG9uIGFm dGVyIHRoZSBtYWNybyBpbnZvY2F0aW9uIGJ1dCB0aGF0IGlzIG5vdAplbGVnYW50IGFuZCBkZWZp ZXMgdGhlIHVuaWZvcm1pdHkgYmV0d2VlbiB0aGUgZnVuY3Rpb24gY2FsbCBhbmQgdGhlIG1hY3Jv Cmludm9jYXRpb24uIEJ5IHVzaW5nIHRoZSBkbyAtIHdoaWxlIGxvb3AgaW5zdGVhZCBvZiB0aGUg Y3VybHkgYnJhY2VzLAp0aGUgY29tcG91bmQgc3RhdGVtZW50IGNvbnZlcnRzIHRvIGEgcmVndWxh ciBvbmUgYW5kIHNvIG9uZSBtYXkgdXNlIHRoZQpmdW5jdGlvbiBjYWxsIGFuZCBtYWNybyBpbnZv Y2F0aW9uIGludGVyY2hhbmdlYWJseS4KClByb3BlciBleHBsYW5hdGlvbiBmb3IgdGhpcyBtZXNz YWdlIGlzIGF2YWlsYWJsZSBpbiB0aGUgY2hlY2twYXRjaC5yc3QKZG9jdW1lbnRhdGlvbiBmaWxl LgoKSW4gdGhlIGNoZWNrcGF0Y2gucGwgZmlsZSwgdGhlc2UgbGluZXMgY2hlY2sgZm9yIHRoZSB1 c2FnZSBvZiAiI2RlZmluZSIKa2V5d29yZCwgc28gYXMgdG8gc2VhcmNoIGZvciBtYWNyb3MuCgpz Y3JpcHRzL2NoZWNrcGF0Y2gucGw6NTcxNgoJCWlmICgkcmVhbGZpbGUgIX4gbUAvdm1saW51eC5s ZHMuaCRAICYmCgkJICAgICRsaW5lID1+IC9eLlxzKlwjXHMqZGVmaW5lXHMqJElkZW50KFwoKT8v KSB7CgpUaGUgbGluZXMgb2YgY29kZSBmcm9tIHNjcmlwdHMvY2hlY2twYXRjaC5wbDo1Nzg1IGNo ZWNrIGlmIHRoZSBzdGF0ZW1lbnRzCmluc2lkZSB0aGUgZGVmaW5lIGZvbGxvdyBwcm9wZXIgc3R5 bGUsIGFuZCBhbHNvIGlmIHRoZXkgYXJlIGVuY2xvc2VkCndpdGhpbiB0aGUgZG8gd2hpbGUgbG9v cCBvciBub3QuIElmIHRoZSBzdGF0ZW1lbnRzIGFyZSBub3QgZm9sbG93aW5nIHRoZQpwcm9wZXIg Y29kaW5nIHN0eWxlIHRoZW4gaXQgZnVydGhlciBjaGVja3MsIGlmIHRoZSBzdGF0ZW1lbnRzIGlz IHVzaW5nIGEKc2VtaWNvbG9uIG9yIG5vdC4gSWYgYSBzZW1pY29sb24gaXMgdXNlZCwgaXQgbWVh bnMgdGhhdCB0aGUgbWFjcm8gaGFzCm11bHRpcGxlIHN0YXRlbWVudHMgaW5zaWRlIGl0IGFuZCBu b3QgZW5jbG9zZWQgaW4gdGhlIGRvIHdoaWxlIGxvb3AuIFRoZW4KaXQgYWxzbyBwcmludHMgdGhl IGVycm9yIG1lc3NhZ2UsCgpzY3JpcHRzL2NoZWNrcGF0Y2gucGw6NTgwNAoJCQkJfSBlbHNpZiAo JGRzdGF0ID1+IC87LykgewoJCQkJCUVSUk9SKCJNVUxUSVNUQVRFTUVOVF9NQUNST19VU0VfRE9f V0hJTEUiLAoJCQkJCSAgICAgICJNYWNyb3Mgd2l0aCBtdWx0aXBsZSBzdGF0ZW1lbnRzIHNob3Vs ZCBiZSBlbmNsb3NlZCBpbiBhIGRvIC0gd2hpbGUgbG9vcFxuIiAuICIkaGVyZWN0eCIpOwoKQnV0 IGluIGRyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmggZmlsZSBjYXNlIGFsbCB0aGUgNCBlcnJv ciBtZXNzYWdlcwpwcm9kdWNlZCBieSBjaGVja3BhdGNoLnBsIGFyZSB3cm9uZywgYmVhY2F1c2Ug aW4gYWxsIHRoZSBlcnJvciBjYXNlcyB0aGVyZQppcyBvbmx5IG9uZSBzdGF0ZW1lbnQgZGVmaW5l ZCBpbiB0aGUgbWFjcm8uIFNvIGl0IGlzIG5vdCBuZWNlc3NhcnkgdG8KZW5jbG9zZSB0aGF0IHN0 YXRlbWVudCBpbnNpZGUgdGhlIGRvIHdoaWxlIGxvb3AuIEFsdGhvdWdoIHRoZXJlIHNob3VsZCBu b3QKYmUgYW55IHNlbWljb2xvbiBhdCB0aGUgZW5kIG9mIHRoZSBtYWNybyBkZWZpbnRpb24sIHdo b3NlIFdBUk5JTkcgbWVzc2FnZXMKZm9sbG93IG5leHQuCgpTaW5jZSB0aGUgZXJyb3IgbWVzc2Fn ZXMgYXJlIHdyb25nIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gZml4IHRoZSBmaWxlLgpBbHRob3Vn aCBvbmUgY2FuIGVuY2xvc2UgdGhlIHN0YXRlbWVudCBpbnNpZGUgbWFjcm8gaW4gYSBkbyB7fSB3 aGlsZSgwKQpsb29wLCB0byBwcmV2ZW50IHRoZSBlcnJvciBtZXNzYWdlLCBidXQgaXQgaXMgbm90 IG5lY2Vzc2FyeS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmRyaXZlcnMvYWNwaS9hY3BpY2EvYWNh cHBzLmg6NTQ6IFdBUk5JTkc6IG1hY3JvcyBzaG91bGQgbm90IHVzZSBhIHRyYWlsaW5nIHNlbWlj b2xvbgpkcml2ZXJzL2FjcGkvYWNwaWNhL2FjYXBwcy5oOjU3OiBXQVJOSU5HOiBtYWNyb3Mgc2hv dWxkIG5vdCB1c2UgYSB0cmFpbGluZyBzZW1pY29sb24KZHJpdmVycy9hY3BpL2FjcGljYS9hY2Fw cHMuaDo2MDogV0FSTklORzogbWFjcm9zIHNob3VsZCBub3QgdXNlIGEgdHJhaWxpbmcgc2VtaWNv bG9uCmRyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmg6NzQ6IFdBUk5JTkc6IG1hY3JvcyBzaG91 bGQgbm90IHVzZSBhIHRyYWlsaW5nIHNlbWljb2xvbgoKTWFjcm8gZGVmaW50aW9ucyBzaG91bGQg bmV2ZXIgY29uY2x1ZGUgd2l0aCBhIHNlbWljb2xvbi4gSXQgaXMgYmVjYXVzZQp3aGVuIHRoZSBt YWNybyBpcyBpbnZva2VkIGFuZCBleHBhbmRlZCB0aGUgc2VtaWNvbG9uIGNhbiB1bmV4cGVjdGVk bHkKY2hhbmdlIHRoZSBjb250cm9sIGZsb3cgb2YgdGhlIHByb2dyYW0uIEFsc28gdG8gYmUgY29u c2lzdGVudCB3aXRoIHRoZQpvcmRpbmFyeSBmdW5jdGlvbiBjYWxscywgbWFjcm9zIGRlZmludGlv biBzaG91bGQgbm90IGNvbmNsdWRlIHdpdGggYQpzZW1pY29sb24uCgpFeHBsYW5hdGlvbiBmb3Ig dGhpcyB3YXJuaW5nIG1lc3NhZ2UgaXMgbm90IGluIHRoZSBDaGVja3BhdGNoCmRvY3VtZW50YXRp b24uIEJ1dCB0aGUgbWVzc2FnZSBpcyBzZWxmIGV4cGxhbmF0b3J5LgoKSW4gdGhlIGNoZWNrcGF0 Y2gucGwgZmlsZSwgdGhlc2UgbGluZXMgY2hlY2sgZm9yIHRoZSB1c2FnZSBvZiBkZWZpbmUKa2V5 d29yZAoKc2NyaXB0cy9jaGVja3BhdGNoLnBsOjU4NzgKCQlpZiAoJHBlcmxfdmVyc2lvbl9vayAm JgoJCSAgICAkcmVhbGZpbGUgIX4gbUAvdm1saW51eC5sZHMuaCRAICYmCgkJICAgICRsaW5lID1+ IC9eLlxzKlwjXHMqZGVmaW5lXHMrJElkZW50KFwoKT8vKSB7CgpJZiBpdCBldmFsdWF0ZXMgdG8g dHJ1ZSwgdGhlbiBpdCBmdXJ0aGVyIGNoZWNrcyBpZiB0aGUgbGluZXMgc3RhcnQgd2l0aAphIGRl ZmluZSBrZXl3b3JkIGFuZCBlbmQgd2l0aCBhIHNlbWljb2xvbi4KCnNjcmlwdHMvY2hlY2twYXRj aC5wbDo1OTA5CgkJCX0gZWxzaWYgKCRkc3RhdCA9fiAvXlwrXHMqI1xzKmRlZmluZVxzKyRJZGVu dC4qO1xzKiQvKSB7CgpJZiB0aGlzIGFsc28gZXZhbHVhdGVzIHRvIHRydWUsIHRoZW4gYSB0cmFp bGluZyBzZW1pY29sb24gaXMgdXNlZCBieSB0aGUKbWFjcm8sIHNvIGl0IHByaW50cyB0aGUgYXBw cm9wcmlhdGUgd2FybmluZyBtZXNzYWdlLgoKc2NyaXB0cy9jaGVja3BhdGNoLnBsOjU5MTQKCQkJ CVdBUk4oIlRSQUlMSU5HX1NFTUlDT0xPTiIsCgkJCQkgICAgICJtYWNyb3Mgc2hvdWxkIG5vdCB1 c2UgYSB0cmFpbGluZyBzZW1pY29sb25cbiIgLiAiJGhlcmVjdHgiKTsKClRvIGZpeCB0aGUgd2Fy bmluZyBtZXNzYWdlLCBzaW1wbHkgcmVtb3ZlIHRoZSBzZW1pY29sb24gcHJlc2VudCBhdCB0aGUg ZW5kCm9mIHRoZSBtYWNybyBkZWZpbnRpb24uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgpkcml2ZXJz L2FjcGkvYWNwaWNhL2FjYXBwcy5oOjU1OiBXQVJOSU5HOiBzcGFjZSBwcm9oaWJpdGVkIGJldHdl ZW4gZnVuY3Rpb24gbmFtZSBhbmQgb3BlbiBwYXJlbnRoZXNpcyAnKCcKZHJpdmVycy9hY3BpL2Fj cGljYS9hY2FwcHMuaDo1ODogV0FSTklORzogc3BhY2UgcHJvaGliaXRlZCBiZXR3ZWVuIGZ1bmN0 aW9uIG5hbWUgYW5kIG9wZW4gcGFyZW50aGVzaXMgJygnCmRyaXZlcnMvYWNwaS9hY3BpY2EvYWNh cHBzLmg6NjE6IFdBUk5JTkc6IHNwYWNlIHByb2hpYml0ZWQgYmV0d2VlbiBmdW5jdGlvbiBuYW1l IGFuZCBvcGVuIHBhcmVudGhlc2lzICcoJwpkcml2ZXJzL2FjcGkvYWNwaWNhL2FjYXBwcy5oOjY4 OiBXQVJOSU5HOiBzcGFjZSBwcm9oaWJpdGVkIGJldHdlZW4gZnVuY3Rpb24gbmFtZSBhbmQgb3Bl biBwYXJlbnRoZXNpcyAnKCcKZHJpdmVycy9hY3BpL2FjcGljYS9hY2FwcHMuaDo2OTogV0FSTklO Rzogc3BhY2UgcHJvaGliaXRlZCBiZXR3ZWVuIGZ1bmN0aW9uIG5hbWUgYW5kIG9wZW4gcGFyZW50 aGVzaXMgJygnCmRyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmg6NzQ6IFdBUk5JTkc6IHNwYWNl IHByb2hpYml0ZWQgYmV0d2VlbiBmdW5jdGlvbiBuYW1lIGFuZCBvcGVuIHBhcmVudGhlc2lzICco JwoKQWNjb3JkaW5nIHRvIHRoZSBMaW51eCBLZXJuZWwgY29kaW5nIHN0eWxlIHRoZXJlIHNob3Vs ZCBub3QgYmUgYSBzcGFjZQpiZXR3ZWVuIHRoZSBmdW5jdGlvbiBuYW1lIGFuZCB0aGUgb3Blbmlu ZyBwYXJlbnRoZXNpcyBlaXRoZXIgaW4KZGVjbGFyYXRpb24sIGRlZmludGlvbiwgb3IgZnVuY3Rp b24gY2FsbGluZy4gQWx0aG91Z2ggbG9naWNhbGx5IGl0IGlzIG5vdAp3cm9uZy4KCkZvciB0aGlz IHdhcm5pbmcgbWVzc2FnZSB0aGUgY2hlY2twYXRjaCBkb2N1bWVudGF0aW9uIGdpdmVzIHRoZSBs aW5rIHRvCnRoZSBjb2Rpbmcgc3R5bGUgZG9jdW1lbnRhdGlvbiwgd2hpY2ggY2xlYXJseSBleHBs YWlucyB0aGlzIHdhcm5pbmcuCgpUaGUgY2hlY2twYXRjaC5wbCBmaWxlIHNjYW5zIGZvciBhbGwg dGhlIGZ1bmN0aW9uIGxpa2UgZXhwcmVzc2lvbnMgYW5kCmNoZWNrcyBpZiB0aGV5IGFyZSBvbiBv ZiB0aG9zZSBkaXJlY3RpdmVzIHdoaWNoIGNhbiBiZSBpZ25vcmVkLAoKc2NyaXB0cy9jaGVja3Bh dGNoLnBsOjQ4NzMKCQlpZiAoJG5hbWUgPX4gL14oPzoKCQkJCWlmfGZvcnx3aGlsZXxzd2l0Y2h8 cmV0dXJufGNhc2V8CgkJCQl2b2xhdGlsZXxfX3ZvbGF0aWxlX198CgkJCQlfX2F0dHJpYnV0ZV9f fGZvcm1hdHxfX2V4dGVuc2lvbl9ffAoJCQkJYXNtfF9fYXNtX18pJC94KQoKaXQgYWxzbyBjaGVj a3MgYW5kIGlnbm9yZXMgc3BhY2VzIGZvciB0aGUgI2RlZmluZSBzdGF0ZW1lbnRzLCBlbGlmCnN0 YXRlbWVudHMgYW5kIGZvciB0eXBlZGVmcwoKc2NyaXB0cy9jaGVja3BhdGNoLnBsOjQ4ODIKCQkJ fSBlbHNpZiAoJGN0eF9iZWZvcmUgPX4gL14uXHMqXCNccypkZWZpbmVccyokLykgewoKc2NyaXB0 cy9jaGVja3BhdGNoLnBsOjQ4ODUKCQkJfSBlbHNpZiAoJGN0eCA9fiAvXi5ccypcI1xzKmVsaWZc cyokLykgewoKc2NyaXB0cy9jaGVja3BhdGNoLnBsOjQ4ODkKCQkJfSBlbHNpZiAoJGN0eCA9fiAv JFR5cGUkLykgewoKZmluYWxseSBpZiBhbGwgdGhlIGFib3ZlIGNvbmRpdGlvbnMgYXJlIGZhbHNl LCB0aGVuIGl0cyBsaWtlbHkgYSBmdW5jdGlvbgpvbmx5LCBzbyBpdCBwcmludHMgdGhlIHdhcm5p bmcgbWVzc2FnZSwKCnNjcmlwdHMvY2hlY2twYXRjaC5wbDo0ODkyCgkJCQlpZiAoV0FSTigiU1BB Q0lORyIsCgkJCQkJICJzcGFjZSBwcm9oaWJpdGVkIGJldHdlZW4gZnVuY3Rpb24gbmFtZSBhbmQg b3BlbiBwYXJlbnRoZXNpcyAnKCdcbiIgLiAkaGVyZWN1cnIpICYmCgpUbyBmaXggdGhlIFdBUk5J TkcgbWVzc2FnZSwgc2ltcGx5IHJlbW92ZSB0aGUgc3BhY2luZyBiZXR3ZWVuIHRoZSBmdW5jdGlv bgpuYW1lIHRoZSBvcGVuaW5nIHBhcmVudGhlc2lzIGF0IHRoZSBwbGFjZXMgc3BlY2lmaWVkIGJ5 IHRoZSBjaGVja3BhdGNoCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL2FjcGljYS9hY2FwcHMu aCBiL2RyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmgKaW5kZXggNzI1ZTJmNjVjLi5kODdkZDVi YWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmgKKysrIGIvZHJpdmVy cy9hY3BpL2FjcGljYS9hY2FwcHMuaApAQCAtNTIsMjYgKzUyLDI2IEBACiAvKiBNYWNyb3MgZm9y IHVzYWdlIG1lc3NhZ2VzICovCiAKICNkZWZpbmUgQUNQSV9VU0FHRV9IRUFERVIodXNhZ2UpIFwK LSAgICAgICBwcmludGYgKCJVc2FnZTogJXNcbk9wdGlvbnM6XG4iLCB1c2FnZSk7CisgICAgICAg cHJpbnRmKCJVc2FnZTogJXNcbk9wdGlvbnM6XG4iLCB1c2FnZSk7CiAKICNkZWZpbmUgQUNQSV9V U0FHRV9URVhUKGRlc2NyaXB0aW9uKSBcCi0gICAgICAgcHJpbnRmIChkZXNjcmlwdGlvbik7Cisg ICAgICAgcHJpbnRmKGRlc2NyaXB0aW9uKTsKIAogI2RlZmluZSBBQ1BJX09QVElPTihuYW1lLCBk ZXNjcmlwdGlvbikgXAotICAgICAgIHByaW50ZiAoIiAgJS0yMHMlc1xuIiwgbmFtZSwgZGVzY3Jp cHRpb24pOworICAgICAgIHByaW50ZigiICAlLTIwcyVzXG4iLCBuYW1lLCBkZXNjcmlwdGlvbik7 CiAKIC8qIENoZWNrIGZvciB1bmV4cGVjdGVkIGV4Y2VwdGlvbnMgKi8KIAogI2RlZmluZSBBQ1BJ X0NIRUNLX1NUQVRVUyhuYW1lLCBzdGF0dXMsIGV4cGVjdGVkKSBcCiAgICAgICAgaWYgKHN0YXR1 cyAhPSBleHBlY3RlZCkgXAogICAgICAgIHsgXAotICAgICAgICAgICAgICAgYWNwaV9vc19wcmlu dGYgKCJVbmV4cGVjdGVkICVzIGZyb20gJXMgKCVzLSVkKVxuIiwgXAotICAgICAgICAgICAgICAg ICAgICAgICBhY3BpX2Zvcm1hdF9leGNlcHRpb24gKHN0YXR1cyksICNuYW1lLCBfYWNwaV9tb2R1 bGVfbmFtZSwgX19MSU5FX18pOyBcCisgICAgICAgICAgICAgICBhY3BpX29zX3ByaW50ZigiVW5l eHBlY3RlZCAlcyBmcm9tICVzICglcy0lZClcbiIsIFwKKyAgICAgICAgICAgICAgICAgICAgICAg YWNwaV9mb3JtYXRfZXhjZXB0aW9uKHN0YXR1cyksICNuYW1lLCBfYWNwaV9tb2R1bGVfbmFtZSwg X19MSU5FX18pOyBcCiAgICAgICAgfQogCiAvKiBDaGVjayBmb3IgdW5leHBlY3RlZCBub24tQUVf T0sgZXJyb3JzICovCiAKLSNkZWZpbmUgQUNQSV9DSEVDS19PSyhuYW1lLCBzdGF0dXMpICAgQUNQ SV9DSEVDS19TVEFUVVMgKG5hbWUsIHN0YXR1cywgQUVfT0spOworI2RlZmluZSBBQ1BJX0NIRUNL X09LKG5hbWUsIHN0YXR1cykgICBBQ1BJX0NIRUNLX1NUQVRVUyhuYW1lLCBzdGF0dXMsIEFFX09L KTsKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmRyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmg6NjU6 IEVSUk9SOiBNYWNyb3Mgc3RhcnRpbmcgd2l0aCBpZiBzaG91bGQgYmUgZW5jbG9zZWQgYnkgYSBk byAtIHdoaWxlIGxvb3AgdG8gYXZvaWQgcG9zc2libGUgaWYvZWxzZSBsb2dpYyBkZWZlY3RzCgpB cyBwcmV2aW91c2x5IG1lbnRpb25lZCwgYWxsIHRoZSBzdGF0ZW1lbnRzIGluc2lkZSB0aGUgbWFj cm8gZGVmaW50aW9uCnNob3VsZCBiZSBlbmNsb3NlZCB3aXRoaW4gYSBkbyB7fSB3aGlsZSgwKQpJ bmNhc2Ugb2YgbWFjcm9zIGhhdmluZyBpZi9lbHNlIHN0YXRlbWVudCwgbmVzdGluZyB0aGUgbWFj cm8gaW5zaWRlCmlmL2Vsc2Ugc3RhdGVtZW50IGFuZCB1c2luZyBhIHNlbWljb2xvbiBhZnRlciBp dCBjYW4gY2F1c2UgZGFuZ2xpbmcgZWxzZQpwcm9ibGVtLiBNYWNyb3MgaW52b2NhdGlvbiBzaG91 bGQgYmUgbGlrZSBmdW5jdGlvbiBjYWxscyBhbmQgYnkgdXNpbmcgdGhlCmRvIC0gd2hpbGUgbG9v cCBpbiBtYWNybyBkZWZpbnRpb24sIGl0IGVuc3VyZXMgdGhhdCB0aGV5IGFsd2F5cyB3b3JrIHRo ZQpzYW1lIHdheSwgYW5kIHRoZSBzZW1pY29sb24gYWZ0ZXIgYSBtYWNybyBoYXMgdGhlIHNhbWUg ZWZmZWN0LCByZWdhcmRsZXNzCm9mIGhvdyB0aGUgbWFjcm8gaXMgdXNlZCAocGFydGljdWxhcmx5 IG9uIHRoZSBpc3N1ZSBvZiBuZXN0aW5nIHRoZSBtYWNybwppbiBhbiBpZi9lbHNlIHN0YXRlbWVu dCB3aXRob3V0IGN1cmx5IGJyYWNrZXRzKS4KClRoZSBleHBsYW5hdGlvbiBvZiB0aGlzIGVycm9y IGlzIGdpdmVuIGluIHRoZSBjaGVja3BhdGNoIGRvY3VtZW50YXRpb24uCgpUaGUgY2hlY2twYXRj aC5wbCBmaXJzdCBzZWFyY2hlcyBmb3IgdGhlIG1hY3JvcywgYnkgc2Nhbm5pbmcgZm9yIHRoZQoi I2RlZmluZSIga2V5d29yZC4KCnNjcmlwdHMvY2hlY2twYXRjaC5wbDo1NzE2CgkJaWYgKCRyZWFs ZmlsZSAhfiBtQC92bWxpbnV4Lmxkcy5oJEAgJiYKCQkgICAgJGxpbmUgPX4gL14uXHMqXCNccypk ZWZpbmVccyokSWRlbnQoXCgpPy8pIHsKClRoZW4gdGhlIGxpbmVzIG9mIGNvZGUgZnJvbSBzY3Jp cHRzL2NoZWNrcGF0Y2gucGw6NTc4NSBjaGVjayBpZiB0aGUKc3RhdGVtZW50cyBpbnNpZGUgdGhl IG1hY3JvIGZvbGxvdyBwcm9wZXIgY29kaW5nIHN0eWxlIG9yIG5vdCBhbmQgaWYgdGhleQphcmUg ZW5jbG9zZWQgd2l0aGluZyB0aGUgZG8gd2hpbGUgbG9vcCwgaWYgbm90IHRoZW4gaXQgY2hlY2tz IHdoZXRoZXIKdGhlcmUgaXMgYW4gaWYgc3RhdGVtZW50IHVzZWQgb3Igbm90LCBieSBzZWFyY2hp bmcgZm9yIHRoZSAiaWYiIGtleXdvcmQuCklmIHRoZSAiaWYiIHN0YXRlbWVudCBpcyB1c2VkLCB0 aGVuIGl0IGZpbmFsbHkgcHJpbnRzIHRoZSBlcnJvciBtZXNzYWdlLgoKc2NyaXB0cy9jaGVja3Bh dGNoLnBsOjU4MDEKCQkJCWlmICgkZHN0YXQgPX4gL15ccyppZlxiLykgewoJCQkJCUVSUk9SKCJN VUxUSVNUQVRFTUVOVF9NQUNST19VU0VfRE9fV0hJTEUiLAoJCQkJCSAgICAgICJNYWNyb3Mgc3Rh cnRpbmcgd2l0aCBpZiBzaG91bGQgYmUgZW5jbG9zZWQgYnkgYSBkbyAtIHdoaWxlIGxvb3AgdG8g YXZvaWQgcG9zc2libGUgaWYvZWxzZSBsb2dpYyBkZWZlY3RzXG4iIC4gIiRoZXJlY3R4Iik7CgpU byBmaXggdGhlIGVycm9yIG1lc3NhZ2UsIHNpbXBseSBwdXQgYWxsIHRoZSBzdGF0ZW1lbnRzIGlu c2lkZSBtYWNybwpkZWZpbnRpb24gaW4gYSBkbyB7fSBwYXJ0IG9mIGEgZG8gLSB3aGlsZSBsb29w LiBUaGUgZG8gcGFydCBlbnN1cmVzIHRoYXQKdGhlIGxvZ2ljIGluc2lkZSB0aGUgY3VybHkgYnJh Y2VzIGV4ZWN1dGVzLCBhbmQgdGhlIHdoaWxlKDApIHBhcnQgZW5zdXJlcwp0aGF0IHRoZSBleGVj dXRpb24gaGFwcGVucyBvbmx5IG9uY2UuCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL2FjcGlj YS9hY2FwcHMuaCBiL2RyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmgKaW5kZXggNzI1ZTJmNjVj Li4zZjI4ZGVlMDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmgKKysr IGIvZHJpdmVycy9hY3BpL2FjcGljYS9hY2FwcHMuaApAQCAtNjMsMTEgKzYzLDEzIEBACiAvKiBD aGVjayBmb3IgdW5leHBlY3RlZCBleGNlcHRpb25zICovCiAKICNkZWZpbmUgQUNQSV9DSEVDS19T VEFUVVMobmFtZSwgc3RhdHVzLCBleHBlY3RlZCkgXAotICAgICAgIGlmIChzdGF0dXMgIT0gZXhw ZWN0ZWQpIFwKLSAgICAgICB7IFwKLSAgICAgICAgICAgICAgIGFjcGlfb3NfcHJpbnRmICgiVW5l eHBlY3RlZCAlcyBmcm9tICVzICglcy0lZClcbiIsIFwKLSAgICAgICAgICAgICAgICAgICAgICAg YWNwaV9mb3JtYXRfZXhjZXB0aW9uIChzdGF0dXMpLCAjbmFtZSwgX2FjcGlfbW9kdWxlX25hbWUs IF9fTElORV9fKTsgXAotICAgICAgIH0KKyAgICAgICBkbyB7IFwKKyAgICAgICAgICAgICAgIGlm IChzdGF0dXMgIT0gZXhwZWN0ZWQpIFwKKyAgICAgICAgICAgICAgIHsgXAorICAgICAgICAgICAg ICAgICAgICAgICBhY3BpX29zX3ByaW50ZiAoIlVuZXhwZWN0ZWQgJXMgZnJvbSAlcyAoJXMtJWQp XG4iLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNwaV9mb3JtYXRfZXhjZXB0 aW9uIChzdGF0dXMpLCAjbmFtZSwgX2FjcGlfbW9kdWxlX25hbWUsIF9fTElORV9fKTsgXAorICAg ICAgICAgICAgICAgfSBcCisgICAgICAgfSB3aGlsZSAoMCkKIAogLyogQ2hlY2sgZm9yIHVuZXhw ZWN0ZWQgbm9uLUFFX09LIGVycm9ycyAqLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKZHJpdmVycy9h Y3BpL2FjcGljYS9hY2FwcHMuaDo2NjogRVJST1I6IHRoYXQgb3BlbiBicmFjZSB7IHNob3VsZCBi ZSBvbiB0aGUgcHJldmlvdXMgbGluZQoKVGhpcyBpcyBhIHdyb25nIGVycm9yIG1lc3NhZ2UuCkFj Y29yZGluZyB0byBLZXJuaWdoYW4gYW5kIFJpdGNoaWUsIHRoZSBvcGVuaW5nIGJyYWNlIHNob3Vs ZCBiZSBvbiB0aGUKc2FtZSBsaW5lIGFuZCBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLCB3aGlsZSB0 aGUgY2xvc2luZyBicmFjZSBzaG91bGQgYmUKb24gYSBuZXcgbGluZSBhbmQgYXQgdGhlIGJlZ2lu bmluZy4KCmlmICg8Y29uZGl0aW9uPikgewoJZnVuMSgpOwoJZnVuMigpOwp9CgpUaGlzIGFwcGxp ZXMgdG8gYWxsIG5vbi1mdW5jdGlvbiBzdGF0ZW1lbnQgYmxvY2tzIChpZiwgc3dpdGNoLCBmb3Is IHdoaWxlLApkbykuCkhvd2V2ZXIgZm9yIGEgc2luZ2xlIHN0YXRlbWVudCB0aGUgYnJhY2VzIHNo b3VsZCBub3QgYmUgdXNlZC4gVGh1cywgdGhlCmFib3ZlIGVycm9yIG1lc3NhZ2UgaXMgd3Jvbmcg YW5kIGluc3RlYWQgaXQgc2hvdWxkIGdpdmUgYSB3YXJuaW5nIG9mIG5vdAp1c2luZyBicmFjZXMg YXQgYWxsLgoKUHJvcGVyIGV4cGxhbmF0aW9uIGZvciB0aGlzIGVycm9yIG1lc3NhZ2UgaXMgZ2l2 ZW4gaW4gdGhlIGNoZWNrcGF0Y2gKZG9jdW1lbnRhdGlvbi4KClRoZSBjaGVja3BhdGNoLnBsIGZp cnN0IGNoZWNrcyBmb3IgdGhlIHVzYWdlIG9mIGlmL3doaWxlL2V0YyBrZXl3b3JkcywKYmVjYXVz ZSBmb3IgdGhlc2Ugc3RhdGVtZW50cyB0aGUgb3BlbmluZyBjdXJseSBicmFjZSBzaG91bGQgYmUg b24gdGhlIHNhbWUKbGluZS4KCnNjcmlwdHMvY2hlY2twYXRjaC5wbDo0MTM3CgkJaWYgKCRsaW5l ID1+IC8oLiopXGIoKD86aWZ8d2hpbGV8Zm9yfHN3aXRjaHwoPzpbYS16X10rfClmb3JfZWFjaFth LXpfXSspXHMqXCh8ZG9cYnxlbHNlXGIpLyAmJiAkbGluZSAhfiAvXi5ccypcIy8pIHsKCklmIGl0 IGZpbmRzIG9uZSwgdGhlbiBpZiBjaGVja3MgZm9yIGZvciB0aGUgcGxhY2VtZW50IG9mIHRoZSBj dXJseSBicmFjZS4KSWYgdGhlIG9wZW5pbmcgY3VybHkgYnJhY2UgaXMgbm90IG9uIHRoZSBzYW1l IGxpbmUgYXMgdGhlIHN0YXRlbWVudCBhbmQKaXMgb24gdGhlIG5leHQgbGluZSwgdGhlbiBpdCBw cmludHMgdGhlIGVycm9yIG1lc3NhZ2UuCgpzY3JpcHRzL2NoZWNrcGF0Y2gucGw6NDE2NAoJCQlp ZiAoJGN0eCAhfiAve1xzKi8gJiYgZGVmaW5lZCgkbGluZXNbJGN0eF9sbiAtIDFdKSAmJiAkbGlu ZXNbJGN0eF9sbiAtIDFdID1+IC9eXCtccyp7LykgewoJCQkJRVJST1IoIk9QRU5fQlJBQ0UiLAoJ CQkJICAgICAgInRoYXQgb3BlbiBicmFjZSB7IHNob3VsZCBiZSBvbiB0aGUgcHJldmlvdXMgbGlu ZVxuIiAuCgpBbHRob3VnaCB0aGVyZSBpcyBjb2Rpbmcgc3R5bGUgZXJyb3IgaW4gdXNpbmcgdGhl IGJyYWNlcywgYnV0IG5vdCB0aGUgb25lCmdpdmVuIGJ5IHRoZSBjaGVja3BhdGNoLnBsLiBUbyBy ZW1vdmUgdGhlIGVycm9yIHNpbXBseSBkZWxldGUgdGhlIG9wZW5pbmcKYW5kIGNsb3NpbmcgY3Vy bHkgYnJhY2VzIGZyb20gdGhlIGlmIGJsb2NrIHN0YXRlbWVudC4KCgotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQoKCmRyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmg6ODg6IEVSUk9SOiAiZm9vICogYmFyIiBz aG91bGQgYmUgImZvbyAqYmFyIgpkcml2ZXJzL2FjcGkvYWNwaWNhL2FjYXBwcy5oOjkwOiBFUlJP UjogImZvbyAqIGJhciIgc2hvdWxkIGJlICJmb28gKmJhciIKCkFjY29yZGluZyB0byB0aGUgTGlu dXggS2VybmVsIGNvZGluZyBzdHlsZSwgdGhlIGFzdGVyaXNrICIqIiB1c2VkIGluCnBvaW50ZXJz IHNob3VsZCBiZSBhZGphY2VudCB0byB0aGUgcG9pbnRlciBuYW1lIG5hbWUgYW5kIG5vdCB0aGUg cG9pbnRlcgp0eXBlIG5hbWUuIENvcnJlY3QgdXNhZ2UgaXM6CgpjaGFyICpsaW51eF9iYW5uZXI7 CnVuc2lnbmVkIGxvbmcgbG9uZyBtZW1wYXJzZShjaGFyICpwdHIsIGNoYXIgKipyZXRwdHIpOwpj aGFyICptYXRjaF9zdHJkdXAoc3Vic3RyaW5nX3QgKnMpOwoKUHJvcGVyIGV4cGxhbmF0aW9uIGFi b3V0IHRoaXMgbWVzc2FnZSBpcyBnaXZlbiBpbiB0aGUgY2hlY2twYXRjaApkb2N1bWVudGF0aW9u LgoKVGhlIGNoZWNrcGF0Y2gucGwgY2hlY2tzIGZvciB0aGUgdXNhZ2Ugb2YgcG9pbnRlcnMgYnkg c2VhcmNoaW5nIGZvciB0aGUKYXN0ZXJpc2sgc3ltYm9sIGFsb25nIHd0aCBvdGhlciBjaGVja3Mu CgpzY3JpcHRzL2NoZWNrcGF0Y2gucGw6NDYyMgoJCXdoaWxlICgkbGluZSA9fiBteyhcYiROb25w dHJUeXBlKFxzKig/OiRNb2RpZmllclxiXHMqfFwqXHMqKSspKCRJZGVudCkpfWcpIHsKCklmIGl0 IGZpbmRzIG9uZSB0aGVuIGl0IGNoZWNrcyB0aGUgcG9pbnRlciBkZWNsYXJhdGlvbiBzdHlsZSB3 aXRoIHRoZSAKY29ycmVjdCBjb2Rpbmcgc3R5bGUuIElmIGJvdGggb2YgdGhlbSBkbyBub3QgbWF0 Y2gsIHRoZW4gaXQgcHJpbnRzIHRoZQplcnJvciBtZXNzYWdlLgoKc2NyaXB0cy9jaGVja3BhdGNo LnBsOjQ2MzcKCQkJaWYgKCRmcm9tIG5lICR0byAmJiAkaWRlbnQgIX4gL14kTW9kaWZpZXIkLykg ewoJCQkJaWYgKEVSUk9SKCJQT0lOVEVSX0xPQ0FUSU9OIiwKCQkJCQkgICJcImZvbyR7ZnJvbX1i YXJcIiBzaG91bGQgYmUgXCJmb28ke3RvfWJhclwiXG4iIC4gICRoZXJlY3VycikgJiYKClRvIGZp eCB0aGUgZXJyb3IgbWVzc2FnZSBzaW1wbHkgcmVtb3ZlIHRoZSBzcGFjZSBiZXR3ZWVuIHRoZSAi KiIgYW5kIHRoZQpwb2ludGVyIG5hbWUuCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL2FjcGlj YS9hY2FwcHMuaCBiL2RyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmgKaW5kZXggNzI1ZTJmNjVj Li4yNWM1ZTc3ZTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYWNwaS9hY3BpY2EvYWNhcHBzLmgKKysr IGIvZHJpdmVycy9hY3BpL2FjcGljYS9hY2FwcHMuaApAQCAtODUsOSArODUsOSBAQCBhY19nZXRf YWxsX3RhYmxlc19mcm9tX2ZpbGUoY2hhciAqZmlsZW5hbWUsCiAKIHZvaWQgYWNfZGVsZXRlX3Rh YmxlX2xpc3Qoc3RydWN0IGFjcGlfbmV3X3RhYmxlX2Rlc2MgKmxpc3RfaGVhZCk7CiAKLXU4IGFj X2lzX2ZpbGVfYmluYXJ5KEZJTEUgKiBmaWxlKTsKK3U4IGFjX2lzX2ZpbGVfYmluYXJ5KEZJTEUg KmZpbGUpOwogCi1hY3BpX3N0YXR1cyBhY192YWxpZGF0ZV90YWJsZV9oZWFkZXIoRklMRSAqIGZp bGUsIGxvbmcgdGFibGVfb2Zmc2V0KTsKK2FjcGlfc3RhdHVzIGFjX3ZhbGlkYXRlX3RhYmxlX2hl YWRlcihGSUxFICpmaWxlLCBsb25nIHRhYmxlX29mZnNldCk7CiAKIC8qIFZhbHVlcyBmb3IgZ2V0 X29ubHlfYW1sX3RhYmxlcyAqLwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXguYwo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQoKCgpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2Vu aXguYzoyNTY6IFdBUk5JTkc6IHNpbmdsZSBieXRlIG1lbXNldCBpcyBzdXNwaWNpb3VzLiBTd2Fw cGVkIDJuZC8zcmQgYXJndW1lbnQ/CmRyaXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jOjEw NTk6IFdBUk5JTkc6IHNpbmdsZSBieXRlIG1lbXNldCBpcyBzdXNwaWNpb3VzLiBTd2FwcGVkIDJu ZC8zcmQgYXJndW1lbnQ/CgptZW1zZXQgaXMgYSBmdW5jdGlvbiBkZWZpbmVkIGluIGluY2x1ZGUv bGludXgvc3RyaW5nLmggZmlsZS4KCnZvaWQgKm1lbXNldCh2b2lkICpzLCBpbnQgYywgc2l6ZV90 IG4pOwoKVGhlIG1lbXNldCgpIGZ1bmN0aW9uIGZpbGxzIHRoZSBmaXJzdCBuIGJ5dGVzIG9mIHRo ZSBtZW1vcnkgYXJlYSBwb2ludGVkCnRvIGJ5IHMgd2l0aCB0aGUgY29uc3RhbnQgYnl0ZSBjLiBJ dCByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgbWVtb3J5IGFyZWEKcy4KQ2FsbGluZyB0aGUgbWVt c2V0IHdpdGggbiB2YWx1ZSBvZiAxLCBpcyBsaWtlbHkgdG8gYmUgdW5pbnRlbmRlZCBhbmQgbWF5 YmUKYnkgbWlzdGFrZSAoc3dhcHBlZCB3aXRoIHRoZSBpbnQgYyB2YWx1ZSkuIEl0IGlzIG1vcmUg bGlrZWx5IHRvIGZpbGwgYQptZW1vcnkgcmVnaW9uIHdpdGggYWxsIG9uZXMsIHRoYW4gdG8gb25s eSBmaWxsIGEgc2luZ2xlIGJ5dGUgaW4gYQptZW1vcnkgcmVnaW9uLgpTbyB0aGlzIG1lc3NhZ2Ug d2FybnMgYWJvdXQgdGhlIGNhbGxpbmcgb2YgbWVtc2V0IHdpdGggbiB2YWx1ZSBlcXVhbCB0byAx CmFuZCBhbHNvIGhpbnRzIGFib3V0IHRoZSBzd2FwcGluZyBvZiBjIGFuZCBuIHZhbHVlcy4KClRo ZSBjaGVja3BhdGNoIGRvY3VtZW50YXRpb24gZXhwbGFpbnMgYWJvdXQgdGhpcyB3YXJuaW5nLgoK VGhlIGNoZWNrcGF0Y2gucGwgZmlyc3Qgc2NhbnMgZm9yIHRoZSB1c2FnZSBvZiBtZW1zZXQsIGJ5 IHNlYXJjaGluZyBmb3IKdGhlICJtZW1zZXQiIGtleXdvcmQuCgpzY3JpcHRzL2NoZWNrcGF0Y2gu cGw6NjczOAoJCWlmICgkcGVybF92ZXJzaW9uX29rICYmCgkJICAgIGRlZmluZWQgJHN0YXQgJiYK CQkgICAgJHN0YXQgPX4gL15cKyg/Oi4qPylcYm1lbXNldFxzKlwoXHMqJEZ1bmNBcmdccyosXHMq JEZ1bmNBcmdccypcLFxzKiRGdW5jQXJnXHMqXCkvKSB7CgpUaGVuIGl0IGV4dHJhY3RzIHRoZSBh cmd1bWVudHMgcGFzc2VkIGluc2lkZSB0aGUgbWVtc2V0IGZ1bmN0aW9uIGNhbGwuCgpzY3JpcHRz L2NoZWNrcGF0Y2gucGw6Njc0MgoJCQlteSAkbXNfYWRkciA9ICQyOwoJCQlteSAkbXNfdmFsID0g JDc7CgkJCW15ICRtc19zaXplID0gJDEyOwoKVGhlbiBpdCBmaW5hbGx5IGNoZWNrcyB0aGUgdGhp cmQgYXJndW1lbnQsIGlmIGl0IGlzIGVpdGhlciAwIG9yIDEuCklmIHRoYXQgaGFwcGVucyB0byBi ZSB0cnVlIHRoZW4gaXQgZmluYWxseSBwcmludHMgdGhlIHdhcm5pbmcgbWVzc2FnZS4KCnNjcmlw dHMvY2hlY2twYXRjaC5wbDo2NzQ5CgkJCX0gZWxzaWYgKCRtc19zaXplID1+IC9eKDB4fCkxJC9p KSB7CgkJCQlXQVJOKCJNRU1TRVQiLAoJCQkJICAgICAic2luZ2xlIGJ5dGUgbWVtc2V0IGlzIHN1 c3BpY2lvdXMuIFN3YXBwZWQgMm5kLzNyZCBhcmd1bWVudD9cbiIgLiAiJGhlcmVcbiRzdGF0XG4i KTsKCkF0IGJvdGggdGhlIHBsYWNlcyBpbiBkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXgu YyBmaWxlLCB3aGVuIHRoaXMKd2FybmluZyBhcHBlYXJzLCB0aGUgbW9kdWxlIGF1dGhvciBpbnRl bnRpb25hbGx5IGNhbGxlZCB0aGUgbWVtc2V0IHdpdGgKM3JkIGFyZ3VtZW50IGVxdWFsIHRvIDEu IFNvIHRoaXMgd2FybmluZyBjYW4gYmUgc2FmZWx5IGlnbm9yZWQuCgoKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KCgpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXguYzozMTM6IFdBUk5JTkc6IE1pc3Np bmcgYSBibGFuayBsaW5lIGFmdGVyIGRlY2xhcmF0aW9ucwpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1 X3Bob2VuaXguYzo2NDg6IFdBUk5JTkc6IE1pc3NpbmcgYSBibGFuayBsaW5lIGFmdGVyIGRlY2xh cmF0aW9ucwpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXguYzo3NzM6IFdBUk5JTkc6IE1p c3NpbmcgYSBibGFuayBsaW5lIGFmdGVyIGRlY2xhcmF0aW9ucwoKTGludXggS2VybmVsIGNvZGlu ZyBzdHlsZSBwcmVmZXJzIHRvIGhhdmUgYSBibGFuayBsaW5lIGFmdGVyIHRoZSB2YXJpYWJsZQpk ZWNsYXJhdGlvbnMgaW4gYSBmdW5jdGlvbi4gRXhhbXBsZToKCnZvaWQgZm9vKGludCBiYXIpCnsK CWludCBiYXo7CgoJY29kZSAuLi4KfQoKYW5kIG5vdCB0aGlzOgoKdm9pZCBmb28oaW50IGJhcikK ewoJaW50IGJhejsKCWNvZGUgLi4uCn0KCkluIHRoZSBjaGVja3BhdGNoIGRvY3VtZW50YXRpb24s IGxpbmsgdG8gdGhlIEtlcm5lbCBjb2Rpbmcgc3R5bGUgaXMKbWVudGlvbmVkLiBCdXQgdW5mb3J0 dW5hdGVseSBub3RoaW5nIHNwZWNmaWMgdG8gaGF2aW5nIGEgYmxhbmsgbGluZSBhZnRlcgp0aGUg dmFyaWFibGUgZGVjbGFyYXRpb25zIGluIGEgZnVuY3Rpb24gaXMgZ2l2ZW4gaW4gdGhlIGRvY3Vt ZW50YXRpb24uCkJ1dCB0aGUgd2FybmluZyBtZXNzYWdlIGlzIHN1ZmZpY2llbnQgZW5vdWdoIGFu ZCBzZWxmIGV4cGxhbmF0b3J5LgoKVGhlIGNoZWNrcGF0Y2gucGwgcGVyZm9ybXMgdmFyaW91cyBj aGVja3MgdG8gdGVzdCB3aGV0aGVyIHRoZXJlIGFyZSBibGFuawpsaW5lcyBhZnRlciBkZWNsYXJh dGlvbiBvciBub3QuIEJ1dCB0aGUgY29uZGl0aW9uIGR1ZSB0byB3aGljaCB0aGUgYWJvdmUKd2Fy bmluZyBhcHBlYXJzIGlzLAoKc2NyaXB0cy9jaGVja3BhdGNoLnBsOjM5MjEKCQkJaWYgKCgkcGwg PX4gL15cK1xzKyREZWNsYXJlXHMqJElkZW50XHMqWz0sOzpcW10vIHx8CgppdCBzZWFyY2hlcyBm b3IgdGhlIGRlY2xhcmF0aW9ucyBvbiBwcmV2aW91cyBsaW5lcyBhbmQgaXQgYWxzbyBwZXJmb3Jt cwpvdGhlciBjaGVja3MgbGlrZSBpZiB0aGUgY3VycmVudCBsaW5lIGFsc28gaGFzIHNvbWUgZGVj bGFyYXRpb24gb3Igbm90LCBvcgp0aGUgcHJldmlvdXMgbGluZXMgaGFzIHNvbWUgImZvciIsICJp ZiIsICJlbHNlIiBrZXl3b3JkIGFuZCBldGMuCgpBZnRlciBwZXJmb3JtaW5nIHRoZSB2YXJpb3Vz IGNoZWNrcywgaWYgdGhlIHByZXZpb3VzIGxpbmUgaXMgYWN0dWFsbHkgc29tZQp0eXBlIG9mIGRl Y2xhcmF0aW9uIGFuZCB0aGUgY3VycmVudCBsaW5lIGlzIG5vdCBhIGRlY2xhcmF0aW9uLCB0aGVu IGl0CmZpbmFsbHkgcHJpbnRzIHRoZSB3YXJuaW5nIG1lc3NhZ2UsCgpzY3JpcHRzL2NoZWNrcGF0 Y2gucGw6Mzk1MAoJCQkJaWYgKFdBUk4oIkxJTkVfU1BBQ0lORyIsCgkJCQkJICJNaXNzaW5nIGEg YmxhbmsgbGluZSBhZnRlciBkZWNsYXJhdGlvbnNcbiIgLiAkaGVyZXByZXYpICYmCgpUbyBmaXgg dGhlIHdhcm5pbmcgbWVzc2FnZXMsIHNpbXBseSBwdXQgYSBibGFuayBsaW5lIGFmdGVyIHRoZSBk ZWNsYXJhdGlvbgphdCB0aGUgcGxhY2VzIG1lbnRpb25lZCBpbiB0aGUgbWVzc2FnZS4KCmRpZmYg LS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXguYyBiL2RyaXZlcnMvdXNiL3Nl cmlhbC9pdXVfcGhvZW5peC5jCmluZGV4IDE5NzUzNjExZS4uMmQyMGFjNGFkIDEwMDY0NAotLS0g YS9kcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXguYworKysgYi9kcml2ZXJzL3VzYi9zZXJp YWwvaXV1X3Bob2VuaXguYwpAQCAtMzEwLDYgKzMxMCw3IEBAIHN0YXRpYyBpbnQgaXV1X2xlZChz dHJ1Y3QgdXNiX3NlcmlhbF9wb3J0ICpwb3J0LCB1bnNpZ25lZCBpbnQgUiwKIHsKICAgICAgICBp bnQgc3RhdHVzOwogICAgICAgIHU4ICpidWY7CisKICAgICAgICBidWYgPSBrbWFsbG9jKDgsIEdG UF9LRVJORUwpOwogICAgICAgIGlmICghYnVmKQogICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9N RU07CkBAIC02NDUsNiArNjQ2LDcgQEAgc3RhdGljIHZvaWQgaXV1X3VhcnRfcmVhZF9jYWxsYmFj ayhzdHJ1Y3QgdXJiICp1cmIpCiAgICAgICAgaW50IHN0YXR1cyA9IHVyYi0+c3RhdHVzOwogICAg ICAgIGludCBsZW4gPSAwOwogICAgICAgIHVuc2lnbmVkIGNoYXIgKmRhdGEgPSB1cmItPnRyYW5z ZmVyX2J1ZmZlcjsKKwogICAgICAgIHByaXYtPnBvbGwrKzsKIAogICAgICAgIGlmIChzdGF0dXMp IHsKQEAgLTc3MCw2ICs3NzIsNyBAQCBzdGF0aWMgaW50IGl1dV91YXJ0X29mZihzdHJ1Y3QgdXNi X3NlcmlhbF9wb3J0ICpwb3J0KQogewogICAgICAgIGludCBzdGF0dXM7CiAgICAgICAgdTggKmJ1 ZjsKKwogICAgICAgIGJ1ZiA9IGttYWxsb2MoMSwgR0ZQX0tFUk5FTCk7CiAgICAgICAgaWYgKCFi dWYpCiAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKCgotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK CmRyaXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jOjM2MzogRVJST1I6IHNwYWNlIHByb2hp Yml0ZWQgYmVmb3JlIHRoYXQgJywnIChjdHg6V3hFKQpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bo b2VuaXguYzozODM6IEVSUk9SOiBzcGFjZSBwcm9oaWJpdGVkIGJlZm9yZSB0aGF0ICcsJyAoY3R4 Old4RSkKCkFjY29yZGluZyB0byB0aGUgTGludXggS2VybmVsIGNvZGluZyBzdHlsZSwgdGhlcmUg c2hvdWxkIG5vdCBiZSBhIHNwYWNlCmJlZm9yZSB0aGUgY29tbWEsIGJ1dCBhIHNwYWNlIGFmdGVy IHRoZSBjb21tYSBzaG91bGQgYmUgcHJlc2VudC4gRXhhbXBsZToKZm9vLCBiYXIKCmFuZCBub3QK Zm9vICwgYmFyCgpJbiB0aGUgY2hlY2twYXRjaCBkb2N1bWVudGF0aW9uLCBsaW5rIHRvIHRoZSBL ZXJuZWwgY29kaW5nIHN0eWxlCmRvY3VtZW50YXRpb24gaXMgbWVudGlvbmVkLiBCdXQgdGhlcmUg aXMgbm8gc3R5bGUgbWVudGlvbmVkIGZvciB0aGUgY29tbWEKdXNlLiBCdXQgdGhlIGVycm9yIGZy b20gdGhlIGNoZWNrcGF0Y2gucGwgaXMgc2VsZiBleHBsYW5hdG9yeS4KClRoZSBjaGVja3BhdGNo LnBsIHNlYXJjaGVzIGZvciB0aGUgY29tbWEgdXNhZ2UKCnNjcmlwdHMvY2hlY2twYXRjaC5wbDo1 MDI0CgkJCQl9IGVsc2lmICgkb3AgZXEgJywnKSB7CgppZiBpdCBmaW5kcyBvbmUgdGhlbiBpdCBz ZWFyY2hlcyB3aGV0aGVyIHRoZSBjb21tYSBoYXMgYSBzcGFjZSBiZWZvcmUgaXQKb3Igbm90LiBJ ZiB0aGF0IGFsc28gZXZhbHVhdGVzIHRvIHRydWUsIHRoZW4gaXQgZmluYWxseSBwcmludHMgdGhl IGVycm9yCm1lc3NhZ2UuCgpzY3JpcHRzL2NoZWNrcGF0Y2gucGw6NTAyNwoJCQkJCWlmICgkY3R4 ID1+IC9XeC4vKSB7CgkJCQkJCWlmIChFUlJPUigiU1BBQ0lORyIsCgkJCQkJCQkgICJzcGFjZSBw cm9oaWJpdGVkIGJlZm9yZSB0aGF0ICckb3AnICRhdFxuIiAuICRoZXJlcHRyKSkgewoKVG8gZml4 IHRoZSBlcnJvciBtZXNzYWdlLCBzaW1wbHkgcmVtb3ZlIHRoZSBzcGFjZSBiZWZvcmUgdGhlIGNv bW1hIGF0CnRoZSBwbGFjZXMgbWVudGlvbmVkIGJ5IHRoZSBjaGVja3BhdGNoLgoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jIGIvZHJpdmVycy91c2Ivc2VyaWFs L2l1dV9waG9lbml4LmMKaW5kZXggMTk3NTM2MTFlLi42ODYzNDI3NmEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9p dXVfcGhvZW5peC5jCkBAIC0zNjAsNyArMzYwLDcgQEAgc3RhdGljIHZvaWQgaXV1X2xlZF9hY3Rp dml0eV9vbihzdHJ1Y3QgdXJiICp1cmIpCiAgICAgICAgdXNiX2ZpbGxfYnVsa191cmIocG9ydC0+ d3JpdGVfdXJiLCBwb3J0LT5zZXJpYWwtPmRldiwKICAgICAgICAgICAgICAgICAgICAgICAgICB1 c2Jfc25kYnVsa3BpcGUocG9ydC0+c2VyaWFsLT5kZXYsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBvcnQtPmJ1bGtfb3V0X2VuZHBvaW50QWRkcmVzcyksCi0gICAg ICAgICAgICAgICAgICAgICAgICAgcG9ydC0+d3JpdGVfdXJiLT50cmFuc2Zlcl9idWZmZXIsIDgg LAorICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQtPndyaXRlX3VyYi0+dHJhbnNmZXJfYnVm ZmVyLCA4LAogICAgICAgICAgICAgICAgICAgICAgICAgIGl1dV9yeGNtZCwgcG9ydCk7CiAgICAg ICAgdXNiX3N1Ym1pdF91cmIocG9ydC0+d3JpdGVfdXJiLCBHRlBfQVRPTUlDKTsKIH0KQEAgLTM4 MCw3ICszODAsNyBAQCBzdGF0aWMgdm9pZCBpdXVfbGVkX2FjdGl2aXR5X29mZihzdHJ1Y3QgdXJi ICp1cmIpCiAgICAgICAgdXNiX2ZpbGxfYnVsa191cmIocG9ydC0+d3JpdGVfdXJiLCBwb3J0LT5z ZXJpYWwtPmRldiwKICAgICAgICAgICAgICAgICAgICAgICAgICB1c2Jfc25kYnVsa3BpcGUocG9y dC0+c2VyaWFsLT5kZXYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBvcnQtPmJ1bGtfb3V0X2VuZHBvaW50QWRkcmVzcyksCi0gICAgICAgICAgICAgICAgICAgICAg ICAgcG9ydC0+d3JpdGVfdXJiLT50cmFuc2Zlcl9idWZmZXIsIDggLAorICAgICAgICAgICAgICAg ICAgICAgICAgIHBvcnQtPndyaXRlX3VyYi0+dHJhbnNmZXJfYnVmZmVyLCA4LAogICAgICAgICAg ICAgICAgICAgICAgICAgIGl1dV9yeGNtZCwgcG9ydCk7CiAgICAgICAgdXNiX3N1Ym1pdF91cmIo cG9ydC0+d3JpdGVfdXJiLCBHRlBfQVRPTUlDKTsKIH0KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmRy aXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jOjQ1MTogV0FSTklORzogVG9vIG1hbnkgbGVh ZGluZyB0YWJzIC0gY29uc2lkZXIgY29kZSByZWZhY3RvcmluZwpkcml2ZXJzL3VzYi9zZXJpYWwv aXV1X3Bob2VuaXguYzo0NTQ6IFdBUk5JTkc6IFRvbyBtYW55IGxlYWRpbmcgdGFicyAtIGNvbnNp ZGVyIGNvZGUgcmVmYWN0b3JpbmcKZHJpdmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmM6NDU2 OiBXQVJOSU5HOiBUb28gbWFueSBsZWFkaW5nIHRhYnMgLSBjb25zaWRlciBjb2RlIHJlZmFjdG9y aW5nCmRyaXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jOjQ1ODogV0FSTklORzogVG9vIG1h bnkgbGVhZGluZyB0YWJzIC0gY29uc2lkZXIgY29kZSByZWZhY3RvcmluZwpkcml2ZXJzL3VzYi9z ZXJpYWwvaXV1X3Bob2VuaXguYzo0NjQ6IFdBUk5JTkc6IFRvbyBtYW55IGxlYWRpbmcgdGFicyAt IGNvbnNpZGVyIGNvZGUgcmVmYWN0b3JpbmcKCkFjY29yZGluZyB0byB0aGUgY2hlY2twYXRjaCBk b2N1bWVudGF0aW9uLCBpZiA2IG9yIG1vcmUgdGFicyBhcmUgdXNlZCBpbgp0aGUgYmxvY2sgb2Yg c3RhdGVtZW50cywgdGhlbiB0aGUgY29kZSBpcyBvdmVybHkgaW5kZW50ZWQgYW5kIGl0IHNob3Vs ZCBiZQpyZWZhY3RvcmVkLgoKSW5mb3JtYXRpb24gYWJvdXQgdGhpcyB3YXJuaW5nIGlzIGF2YWls YWJsZSBpbiB0aGUgY2hlY2twYXRjaApkb2N1bWVudGF0aW9uLgoKVGhlIGNoZWNrcGF0Y2gucGwg Y2hlY2tzIGZvciB0aGUgdXNhZ2Ugb2YgImlmIiwgImVsc2UiLCAiZm9yIiwgImRvIiwKIndoaWxl IiwgImZvcl9lYWNoIiwgb3IgInN3aXRjaCIga2V5d29yZHMuCgpzY3JpcHRzL2NoZWNrcGF0Y2gu cGw6NDEzNwoJCWlmICgkbGluZSA9fiAvKC4qKVxiKCg/OmlmfHdoaWxlfGZvcnxzd2l0Y2h8KD86 W2Etel9dK3wpZm9yX2VhY2hbYS16X10rKVxzKlwofGRvXGJ8ZWxzZVxiKS8gJiYgJGxpbmUgIX4g L14uXHMqXCMvKSB7CgpJZiBpdCBmaW5kcyBvbmUsIHRoZW4gaXQgY2hlY2tzIGlmIHRoZXJlIGFy ZSBhIG1pbmltdW0gb2YgNiB0YWIgc3BhY2VzIG9yCm5vdC4gSWYgdGhlcmUgaXMgNiBvciBtb3Jl IHRoYW4gNiB0YWIgc3BhY2VzLCB0aGVuIGl0IHByaW50cyB0aGUKYXBwcm9wcmlhdGUgd2Fybmlu ZyBtZXNzYWdlLgoKc2NyaXB0cy5jaGVja3BhdGNoLnBsOjQxNDIKCQkJaWYgKCRsaW5lID1+IC9e XCtcdHs2LH0vKSB7CgkJCQlXQVJOKCJERUVQX0lOREVOVEFUSU9OIiwKCQkJCSAgICAgIlRvbyBt YW55IGxlYWRpbmcgdGFicyAtIGNvbnNpZGVyIGNvZGUgcmVmYWN0b3JpbmdcbiIgLiAkaGVyZWN1 cnIpOwoKVG8gZml4IHRoZSB3YXJuaW5nIG1lc3NhZ2UsIHRoZSBmbG93IG9mIHRoZSBjb2RlIHNo b3VsZCBiZSBjaGFuZ2VkIGFuZAppdCBzaG91bGQgYmUgd3JpdHRlbiBpbiBhIG1vcmUgc2ltcGxl ciBtYW5uZXIsIHNvIHRoYXQsIHNvICBtYW55IGZvciBsb29wcwphbmQgaWYgc3RhdGVtZW50cyBh cmUgbm90IHJlcXVpcmVkLgpBbHRob3VnaCBpZiB0aGUgY29kZSBpcyBzaW1wbGVyIHRvIHVuZGVy c3RhbmQsIHRoZSB3YXJuaW5nIGNhbiBiZSBpZ25vcmVkLgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoK ZHJpdmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmM6NTgzOiBXQVJOSU5HOiBicmFjZXMge30g YXJlIG5vdCBuZWNlc3NhcnkgZm9yIHNpbmdsZSBzdGF0ZW1lbnQgYmxvY2tzCgpBY2NvcmRpbmcg dG8gdGhlIExpbnV4IEtlcm5lbCBjb2Rpbmcgc3R5bGUsIGl0IGlzIG5vdCBuZWNlc3NhcnkgdG8g cHV0IHRoZQpjdXJseSBicmFjZXMgZm9yIHNpbmdsZSBzdGF0ZW1lbnRzIGluc2lkZSB0aGUgbm9u LWZ1bmN0aW9uYWwgYmxvY2tzIGxpa2UKaWYsIGVsc2UsIGZvciwgZXRjLiBFeGFtcGxlOgoKaWYg KGNvbmRpdGlvbikKICAgICAgICBkb190aGlzKCk7CmVsc2UKICAgICAgICBkb190aGF0KCk7CgpJ biB0aGUgY2hlY2twYXRjaCBkZW9jdW1lbnRhdGlvbiwgbGluayB0byB0aGUgS2VybmVsIGNvZGlu ZyBzdHlsZQpkb2N1bWVudGF0aW9uIGlzIG1lbnRpb25lZCwgd2hpY2ggY2xlYXJseSBzcGVjaWZp ZXMgdGhpcyBydWxlLiAKClRoZSBjaGVja3BhdGNoLnBsIGZpbGUgY2hlY2tzIGZvciBpZiB0aGUg dXNhZ2Ugb2YgImlmIiwgIndoaWxlIiwgImZvciIsCm9yICJlbHNlIiBrZXl3b3JkcywgYmVjYXVz ZSBmb3IgdGhlc2Ugc3RhdGVtZW50cyB0aGVyZSBpcyBubyBuZWVkIHRvIHB1dAp0aGUgYnJhY2Vz IGZvciBzaW5nbGUgc3RhdGVtZW50cyBpbnNpZGUgdGhlbS4KCnNjcmlwdHMvY2hlY2twYXRjaC5w bDo1OTgyCgkJaWYgKCFkZWZpbmVkICRzdXBwcmVzc19pZmJyYWNlc3skbGluZW5yIC0gMX0gJiYK CQkJCQkkbGluZSA9fiAvXGIoaWZ8d2hpbGV8Zm9yfGVsc2UpXGIvKSB7CgpJZiBpdCBmaW5kcyB0 aGUgdXNhZ2Ugb2YgYWJvdmUga2V5d29yZHMsIHRoZW4gaXQgY2hlY2tzIHRoZSBudW1iZXIgb2YK bGluZXMgYXJlIDEgb3Igbm90IChzaW5nbGUgc3RhdGVtZW50KSBhbmQgYWxzbyBjaGVja3MgZm9y IHRoZSB1c2FnZSBvZgpvcGVuaW5nIGN1cmx5IGJyYWNlLgoKc2NyaXB0cy9jaGVja3BhdGNoLnBs OjYwMjQKCQkJaWYgKCRsZXZlbCA9PSAwICYmICRibG9jayA9fiAvXlxzKlx7LyAmJiAhJGFsbG93 ZWQpIHsKCklmIGl0IGZpbmRzIG9uZSwgdGhlbiBpdCBpcyBvYnZpb3VzbHkgYSBzaW5nbGUgc3Rh dGVtZW50IHdpdGggdGhlIGN1cmx5CmJyYWNlcywgc28gaXQgcHJpbnRzIHRoZSBhcHByb3ByaWF0 ZSB3YXJuaW5nIG1lc3NhZ2UuCgpzY3JpcHRzL2NoZWNrcGF0Y2gucGw6NjAyOAoJCQkJV0FSTigi QlJBQ0VTIiwKCQkJCSAgICAgImJyYWNlcyB7fSBhcmUgbm90IG5lY2Vzc2FyeSBmb3Igc2luZ2xl IHN0YXRlbWVudCBibG9ja3NcbiIgLiAkaGVyZWN0eCk7CgpUbyBmaXggdGhlIHdhcm5pbmcgbWVz c2FnZSwgc2ltcGx5IHJlbW92ZSB0aGUgdGhlIGN1cmx5IGJyYWNlcyBmcm9tIHRoZSBpZgpzdGF0 ZW1lbnQuIEluIHRoZSBkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXguYzo1ODMgdGhlcmUg aXMgb25seSBhCmNvbW1lbnQgaW5zaWRlIHRoZSBpZiBibG9jaywgc28gdGhlIGF1dGhvciBtYXkg YmUgc3BlY2lmeWluZyBzb21lIGZ1dHVyZQp3b3JrIHRoYXQgbmVlZHMgdG8gYmUgZG9uZS4KCgot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQoKCmRyaXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jOjk3ODog RVJST1I6IHRyYWlsaW5nIHN0YXRlbWVudHMgc2hvdWxkIGJlIG9uIG5leHQgbGluZQoKQWNjb3Jk aW5nIHRvIHRoZSBjaGVja3BhdGNoIGRvY3VtZW50YXRpb24sIGFmdGVyIHRoZSB1c2Ugb2YgYW55 Cm5vbi1mdW5jdGlvbmFsIGJsb2NrcyBsaWtlIGlmL2Vsc2Ugb3Igd2hpbGUgbG9vcCwgdGhlIHRy YWlsaW5nIHN0YXRlbWVudApzaG91bGQgYmUgb24gdGhlIG5leHQgbGluZS4KClRSQUlMSU5HX1NU QVRFTUVOVFMgZXJyb3IgaXMgZG9jdW1lbnRlZCBpbiB0aGUgY2hlY2twYXRjaCBkb2N1bWVudGF0 aW9uLgoKVGhlIGNoZWNrcGF0Y2gucGwgZmlsZSBjaGVja3MgYnkgaWYgYSB0cmFpbGluZyBzdGF0 ZW1lbnQgaXMgcHJlc2VudCBvcgpub3QsIGJ5IHRoZSBmb2xsb3dpbmcgY29kZSwKCnNjcmlwdHMv Y2hlY2twYXRjaC5wbDo1NTQxCgkJCWlmIChsZW5ndGgoJGMpICYmICRzICF+IC9eXHMqez9ccypc XCpccyokLyAmJgoJCQkgICAgJGMgIX4gL31ccyp3aGlsZVxzKi8pCgpJZiBpdCBmaW5kcyBvbmUs IHRoZW4gaXQgcHJpbnRzIHRoZSBhcHByb3ByaWF0ZSBtZXNzYWdlIAoKc2NyaXB0cy9jaGVja3Bh dGNoLnBsOjU1NTUKCQkJCUVSUk9SKCJUUkFJTElOR19TVEFURU1FTlRTIiwKCQkJCSAgICAgICJ0 cmFpbGluZyBzdGF0ZW1lbnRzIHNob3VsZCBiZSBvbiBuZXh0IGxpbmVcbiIgLiAkaGVyZWN1cnIg LiAkc3RhdF9yZWFsKTsKCkhvd2V2ZXIgZm9yIHRoZSBpdXVfcGhvZW5peC5jIGZpbGUgdGhlIGVy cm9yIGlzIHJhaXNlZCB3aGVuIHRoZSBkbyB3aGlsZQpsb29wIGlzIGluc2lkZSBhIG1hY3JvLiBT byBpdCBjYW4gYmUgaWdub3JlZCwgYnV0IHRvIHJlbW92ZSB0aGUgd2FybmluZwptZXNzYWdlLCBz aW1wbHkgcHV0IHRoZSBjbG9zaW5nIGN1cmx5IGJyYWNlIGFuZCB0aGUgd2hpbGUgc3RhdGVtZW50 IG9uIGEKbmV3IGxpbmUsIGFsdGhvdWdoIGl0IGlzIG5vdCBuZWNlc3NhcnkuCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwv aXV1X3Bob2VuaXguYwppbmRleCAxOTc1MzYxMWUuLjA4NzFmZmVjYSAxMDA2NDQKLS0tIGEvZHJp dmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmMKKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL2l1 dV9waG9lbml4LmMKQEAgLTk3NSw3ICs5NzUsOCBAQCBzdGF0aWMgaW50IGl1dV9vcGVuKHN0cnVj dCB0dHlfc3RydWN0ICp0dHksIHN0cnVjdCB1c2Jfc2VyaWFsX3BvcnQgKnBvcnQpCiAgICAgICAg cmVzdWx0ID0gdXNiX2NvbnRyb2xfbXNnKHBvcnQtPnNlcmlhbC0+ZGV2LCAgICAgXAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVzYl9zbmRjdHJscGlwZShwb3J0LT5zZXJpYWwtPmRl diwgMCksICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYiwgYSwgYywgZCwgTlVM TCwgMCwgMTAwMCk7IFwKLSAgICAgICBkZXZfZGJnKGRldiwgIjB4JXg6MHgleDoweCV4OjB4JXgg ICVkXG4iLCBhLCBiLCBjLCBkLCByZXN1bHQpOyB9IHdoaWxlICgwKQorICAgICAgIGRldl9kYmco ZGV2LCAiMHgleDoweCV4OjB4JXg6MHgleCAgJWRcbiIsIGEsIGIsIGMsIGQsIHJlc3VsdCk7IFwK KyAgICAgICB9IHdoaWxlICgwKQogCiAgICAgICAgLyogIFRoaXMgaXMgbm90IFVBUlQgcmVsYXRl ZCBidXQgSVVVIFVTQiBkcml2ZXIgcmVsYXRlZCBvciBzb21ldGhpbmcgKi8KICAgICAgICAvKiAg bGlrZSB0aGF0LiBCYXNpY2FsbHkgbm8gSVVVIHdpbGwgYWNjZXB0IGFueSBjb21tYW5kcyBmcm9t IHRoZSBVU0IgKi8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCmRyaXZlcnMvdXNiL3NlcmlhbC9pdXVf cGhvZW5peC5jOjExOTE6IFdBUk5JTkc6IFN5bWJvbGljIHBlcm1pc3Npb25zICdTX0lSVUdPIHwg U19JV1VTUicgYXJlIG5vdCBwcmVmZXJyZWQuIENvbnNpZGVyIHVzaW5nIG9jdGFsIHBlcm1pc3Np b25zICcwNjQ0Jy4KZHJpdmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmM6MTE5NDogV0FSTklO RzogU3ltYm9saWMgcGVybWlzc2lvbnMgJ1NfSVJVR08gfCBTX0lXVVNSJyBhcmUgbm90IHByZWZl cnJlZC4gQ29uc2lkZXIgdXNpbmcgb2N0YWwgcGVybWlzc2lvbnMgJzA2NDQnLgpkcml2ZXJzL3Vz Yi9zZXJpYWwvaXV1X3Bob2VuaXguYzoxMTk3OiBXQVJOSU5HOiBTeW1ib2xpYyBwZXJtaXNzaW9u cyAnU19JUlVHTyB8IFNfSVdVU1InIGFyZSBub3QgcHJlZmVycmVkLiBDb25zaWRlciB1c2luZyBv Y3RhbCBwZXJtaXNzaW9ucyAnMDY0NCcuCmRyaXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5j OjEyMDE6IFdBUk5JTkc6IFN5bWJvbGljIHBlcm1pc3Npb25zICdTX0lSVUdPIHwgU19JV1VTUicg YXJlIG5vdCBwcmVmZXJyZWQuIENvbnNpZGVyIHVzaW5nIG9jdGFsIHBlcm1pc3Npb25zICcwNjQ0 Jy4KZHJpdmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmM6MTIwNTogV0FSTklORzogU3ltYm9s aWMgcGVybWlzc2lvbnMgJ1NfSVJVR08gfCBTX0lXVVNSJyBhcmUgbm90IHByZWZlcnJlZC4gQ29u c2lkZXIgdXNpbmcgb2N0YWwgcGVybWlzc2lvbnMgJzA2NDQnLgoKVGhlIGZpbGUgcGVybWlzc2lv biBtYWNyb3MgdXNlZCBpbiB0aGUga2VybmVsIGNvZGUgYXJlIGRlZmluZWQgaW4KPGxpbnV4L3N0 YXQuaD4gbGlrZSBTX0lSVUdPIGFuZCBmcmllbmRzLiBCdXQgaXQgaXMgYmV0dGVyIHRvIHVzZSB0 aGVpcgpvY3RhbCBlcXVpdmFsZW50IGluc3RlYWQsIGJlY2F1c2UgaXQgZWFzaWVyIGZvciBMaW51 eCB1c2VycyB0bwp1bmRlcnN0YW5kIDA0NDQgaW5zdGVhZCBvZiBTX0lSVUdPLgoKVGhlcmUgaXMg bm8gY2hlY2twYXRjaCBkb2N1bWVudGF0aW9uIGZvciB0aGlzIHdhcm5pbmcgbWVzc2FnZSwgYnV0 IHRoZQptZXNzYWdlIGlzIHNlbGYgZXhwbGFuYXRvcnkuCgpUaGUgY2hlY2twYXRjaC5wbCBmaWxl IGNoZWNrcyBmb3IgdGhlIHVzYWdlIG9mICJTXzxmaWxlX3Blcm1pc3Npb25zPiIgbGlrZQpTX0lS VUdPIGFuZCBmcmllbmRzLgoKc2NyaXB0cy9jaGVja3BhdGNoLnBsOjczNDgKCQl3aGlsZSAoJGxp bmUgPX4gbXtcYigkbXVsdGlfbW9kZV9wZXJtc19zdHJpbmdfc2VhcmNoKVxifWcpIHsKCmlmIGl0 IGZpbmRzIG9uZSwgdGhlbiBpdCBwcmludHMgdGhlIGFwcHJvcHJpYXRlIG1lc3NhZ2UsCgpzY3Jp cHRzLmNoZWNrcGF0Y2gucGw6NzM1MQoJCQlpZiAoV0FSTigiU1lNQk9MSUNfUEVSTVMiLAoJCQkJ ICJTeW1ib2xpYyBwZXJtaXNzaW9ucyAnJG92YWwnIGFyZSBub3QgcHJlZmVycmVkLiBDb25zaWRl ciB1c2luZyBvY3RhbCBwZXJtaXNzaW9ucyAnJG9jdGFsJy5cbiIgLiAkaGVyZWN1cnIpICYmCgpU byBmaXggdGhlIHdhcm5pbmcgbWVzc2FnZSwgc2ltcGx5IHVzZSB0aGUgb2N0YWwgZXF1aXZhbGVu dCBpbnN0ZWFkIG9mCnRoZSBtYWNyb3MsIGFzIG1lbnRpb25lZCBpbiB0aGUgd2FybmluZyBtZXNz YWdlLgoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jIGIvZHJp dmVycy91c2Ivc2VyaWFsL2l1dV9waG9lbml4LmMKaW5kZXggMTk3NTM2MTFlLi4wYmUzYjVlMWUg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jCisrKyBiL2RyaXZl cnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jCkBAIC0xMTg4LDIwICsxMTg4LDIwIEBAIE1PRFVM RV9BVVRIT1IoIkFsYWluIERlZ3JlZmZlIGVjemVtYUBlY3plLmNvbSIpOwogTU9EVUxFX0RFU0NS SVBUSU9OKERSSVZFUl9ERVNDKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIAotbW9kdWxlX3Bh cmFtKHhtYXMsIGJvb2wsIFNfSVJVR08gfCBTX0lXVVNSKTsKK21vZHVsZV9wYXJhbSh4bWFzLCBi b29sLCAwNjQ0KTsKIE1PRFVMRV9QQVJNX0RFU0MoeG1hcywgIlhtYXMgY29sb3JzIGVuYWJsZWQg b3Igbm90Iik7CiAKLW1vZHVsZV9wYXJhbShib29zdCwgaW50LCBTX0lSVUdPIHwgU19JV1VTUik7 Cittb2R1bGVfcGFyYW0oYm9vc3QsIGludCwgMDY0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGJvb3N0 LCAiQ2FyZCBvdmVyY2xvY2sgYm9vc3QgKGluIHBlcmNlbnQgMTAwLTUwMCkiKTsKIAotbW9kdWxl X3BhcmFtKGNsb2NrbW9kZSwgaW50LCBTX0lSVUdPIHwgU19JV1VTUik7Cittb2R1bGVfcGFyYW0o Y2xvY2ttb2RlLCBpbnQsIDA2NDQpOwogTU9EVUxFX1BBUk1fREVTQyhjbG9ja21vZGUsICJDYXJk IGNsb2NrIG1vZGUgKDE9My41NzkgTUh6LCAyPTMuNjgwIE1IeiwgIgogICAgICAgICAgICAgICAg IjM9NiBNaHopIik7CiAKLW1vZHVsZV9wYXJhbShjZG1vZGUsIGludCwgU19JUlVHTyB8IFNfSVdV U1IpOworbW9kdWxlX3BhcmFtKGNkbW9kZSwgaW50LCAwNjQ0KTsKIE1PRFVMRV9QQVJNX0RFU0Mo Y2Rtb2RlLCAiQ2FyZCBkZXRlY3QgbW9kZSAoMD1ub25lLCAxPUNELCAyPSFDRCwgMz1EU1IsICIK ICAgICAgICAgICAgICAgICAiND0hRFNSLCA1PUNUUywgNj0hQ1RTLCA3PVJJTkcsIDg9IVJJTkcp Iik7CiAKLW1vZHVsZV9wYXJhbSh2Y2NfZGVmYXVsdCwgaW50LCBTX0lSVUdPIHwgU19JV1VTUik7 Cittb2R1bGVfcGFyYW0odmNjX2RlZmF1bHQsIGludCwgMDY0NCk7CiBNT0RVTEVfUEFSTV9ERVND KHZjY19kZWZhdWx0LCAiU2V0IGRlZmF1bHQgVkNDIChlaXRoZXIgMyBmb3IgMy4zViBvciA1ICIK ICAgICAgICAgICAgICAgICJmb3IgNVYpLiBEZWZhdWx0IHRvIDUuIik7CgoKLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KCgpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXguYzoxMTk5OiBXQVJOSU5HOiBx dW90ZWQgc3RyaW5nIHNwbGl0IGFjcm9zcyBsaW5lcwpkcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bo b2VuaXguYzoxMjAzOiBXQVJOSU5HOiBxdW90ZWQgc3RyaW5nIHNwbGl0IGFjcm9zcyBsaW5lcwpk cml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXguYzoxMjA3OiBXQVJOSU5HOiBxdW90ZWQgc3Ry aW5nIHNwbGl0IGFjcm9zcyBsaW5lcwoKUXVvdGVkIHN0cmluZ3Mgc2hvdWxkIG5vdCBiZSBzcGxp dHRlZCBhY3Jvc3MgbXVsdGlwbGUgbGluZXMsIHRoaXMgaXMgZG9uZQpzbyB0aGF0IHRoZSBzdHJp bmdzIHRoYXQgYXBwZWFyIGFzIG1lc3NhZ2VzIGluIHRoZSB1c2Vyc3BhY2UgY2FuIGJlCmdyZXBw ZWQuCgpUaGUgY2hlY2twYXRjaCBkb2N1bWVudGF0aW9uIGhhcyBubyBpbmZvcm1hdGlvbiBhYm91 dCB0aGlzIHdhcm5pbmcuCgpUaGUgY2hlY2twYXRjaC5wbCBjaGVja3MgZm9yIHRoZSB1c2FnZSBv ZiBzdHJpbmdzLCBpZiB0aGUgcHJldmlvdXMgbGluZQp1c2VkIGEgZG91YmxlIHF1b3RlcywgYW5k IHRoaXMgbGluZSBpcyBhbHNvIGluc2lkZSB0aGUgcXVvdGVzLCB0aGVuIHRoZQpzdHJpbmcgaXMg c3BsaXQgYWNyb3NzIG11bHRpcGxlIGxpbmVzLiBCdXQgaXQgbWFrZXMgZXhjZXB0aW9ucyB3aGVu IHRoZQpwcmV2aW91cyBzdHJpbmcgZW5kcyBpbiBhIG5ld2xpbmUgb3IgJ1x0JywgJ1xyJywgJzsn LCBvciAneycgb3IgaXMgYSBvY3RhbApvciBoZXhhZGVjaW1hbCB2YWx1ZS4KCnNjcmlwdHMvY2hl Y2twYXRjaC5wbDo2MDY2CgkJaWYgKCRsaW5lID1+IC9eXCtccyokU3RyaW5nLyAmJgoJCSAgICAk cHJldmxpbmUgPX4gLyJccyokLyAmJgoJCSAgICAkcHJldnJhd2xpbmUgIX4gLyg/OlxcKD86W250 cl18WzAtN117MSwzfXx4WzAtOWEtZkEtRl17MSwyfSl8O1xzKnxce1xzKikiXHMqJC8pIHsKCklm IHRoZSBjb25kaXRpb24gaXMgdHJ1ZSBpdCBwcmludHMgdGhlIGFwcHJvcHJpYXRlIG1lc3NhZ2Us CgpzY3JpcHRzL2NoZWNrcGF0Y2gucGw6NjA2OQoJCQlpZiAoV0FSTigiU1BMSVRfU1RSSU5HIiwK CQkJCSAicXVvdGVkIHN0cmluZyBzcGxpdCBhY3Jvc3MgbGluZXNcbiIgLiAkaGVyZXByZXYpICYm CgpUbyByZXNvbHZlIHRoZSB3YXJuaW5nLCBtYWtlIHRoZSB3aG9sZSBzdHJpbmcgZml0IGluIGEg c2luZ2xlIGxpbmUgb25seS4KCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bo b2VuaXguYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pdXVfcGhvZW5peC5jCmluZGV4IDE5NzUzNjEx ZS4uZjJjMGRhZDkxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXgu YworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvaXV1X3Bob2VuaXguYwpAQCAtMTE5NSwxMyArMTE5 NSwxMCBAQCBtb2R1bGVfcGFyYW0oYm9vc3QsIGludCwgU19JUlVHTyB8IFNfSVdVU1IpOwogTU9E VUxFX1BBUk1fREVTQyhib29zdCwgIkNhcmQgb3ZlcmNsb2NrIGJvb3N0IChpbiBwZXJjZW50IDEw MC01MDApIik7CiAKIG1vZHVsZV9wYXJhbShjbG9ja21vZGUsIGludCwgU19JUlVHTyB8IFNfSVdV U1IpOwotTU9EVUxFX1BBUk1fREVTQyhjbG9ja21vZGUsICJDYXJkIGNsb2NrIG1vZGUgKDE9My41 NzkgTUh6LCAyPTMuNjgwIE1IeiwgIgotICAgICAgICAgICAgICAgIjM9NiBNaHopIik7CitNT0RV TEVfUEFSTV9ERVNDKGNsb2NrbW9kZSwgIkNhcmQgY2xvY2sgbW9kZSAoMT0zLjU3OSBNSHosIDI9 My42ODAgTUh6LCAzPTYgTWh6KSIpOwogCiBtb2R1bGVfcGFyYW0oY2Rtb2RlLCBpbnQsIFNfSVJV R08gfCBTX0lXVVNSKTsKLU1PRFVMRV9QQVJNX0RFU0MoY2Rtb2RlLCAiQ2FyZCBkZXRlY3QgbW9k ZSAoMD1ub25lLCAxPUNELCAyPSFDRCwgMz1EU1IsICIKLSAgICAgICAgICAgICAgICAiND0hRFNS LCA1PUNUUywgNj0hQ1RTLCA3PVJJTkcsIDg9IVJJTkcpIik7CitNT0RVTEVfUEFSTV9ERVNDKGNk bW9kZSwgIkNhcmQgZGV0ZWN0IG1vZGUgKDA9bm9uZSwgMT1DRCwgMj0hQ0QsIDM9RFNSLCA0PSFE U1IsIDU9Q1RTLCA2PSFDVFMsIDc9UklORywgOD0hUklORykiKTsKIAogbW9kdWxlX3BhcmFtKHZj Y19kZWZhdWx0LCBpbnQsIFNfSVJVR08gfCBTX0lXVVNSKTsKLU1PRFVMRV9QQVJNX0RFU0ModmNj X2RlZmF1bHQsICJTZXQgZGVmYXVsdCBWQ0MgKGVpdGhlciAzIGZvciAzLjNWIG9yIDUgIgotICAg ICAgICAgICAgICAgImZvciA1VikuIERlZmF1bHQgdG8gNS4iKTsKK01PRFVMRV9QQVJNX0RFU0Mo dmNjX2RlZmF1bHQsICJTZXQgZGVmYXVsdCBWQ0MgKGVpdGhlciAzIGZvciAzLjNWIG9yIDUgZm9y IDVWKS4gRGVmYXVsdCB0byA1LiIpOwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKPiBPbmNlIHlvdSBz dWNjZWVkIG9uIHRoaXMgZmlyc3QgdGFzaywgd2UgaW5mb3JtIHlvdSBhYm91dCB0aGUgZnVydGhl cgo+IHNlY29uZCBhbmQgdGhpcmQgdGFzay4gSWYgeW91IGZhaWwgb24gYW55IG9mIHRob3NlIHRh c2tzLCB5b3UgYXJlIG91dAo+IG9mIHRoZSBzZWxlY3Rpb24gcHJvY2Vzcy4KPiAKPiBUaGUgc2Vs ZWN0aW9uIG9mIHRoZSBtZW50ZWUgd2lsbCBoYXBwZW4gYWNjb3JkaW5nIHRvIHNjaGVkdWxlLCBh dAo+IGVhcmxpZXN0IG9uIEF1Z3VzdCAxMnRoIGFuZCBhdCBsYXRlc3QgYXQgdGhlIGVuZCBvZiBB dWd1c3QuIE1vcmUKPiBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgYXQKPiBodHRwczovL2RvY3Mu bGludXhmb3VuZGF0aW9uLm9yZy9sZngvbWVudG9yc2hpcC9tZW50b3JzaGlwLXByb2dyYW0tdGlt ZWxpbmVzLgo+IAo+IAo+IEx1a2FzCgoKUmVnYXJkcywKVXRrYXJzaCBWZXJtYQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgta2VybmVsLW1lbnRl ZXMgbWFpbGluZyBsaXN0CkxpbnV4LWtlcm5lbC1tZW50ZWVzQGxpc3RzLmxpbnV4Zm91bmRhdGlv bi5vcmcKaHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8v bGludXgta2VybmVsLW1lbnRlZXMK