Received: by 2002:ab2:6a05:0:b0:1f8:1780:a4ed with SMTP id w5csp163832lqo; Thu, 9 May 2024 16:28:17 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWJISXjpu1nzOOfnDJKrWbOeafJZAboTYK2Ppg55lHafx5Keo1qbpLN36Ub9EPzKwomlw0M9qP555gPGUxVAFSvf4AIjyqVnWviIdFaCQ== X-Google-Smtp-Source: AGHT+IGLnNw6mtMw78Qq02RcqCPtMekjYqKKOQJ60m7agN9p5KTBNxgr3S/kK566Qg5E8UBDBEwD X-Received: by 2002:a05:6214:5248:b0:6a0:9497:c946 with SMTP id 6a1803df08f44-6a1683775a0mr9540626d6.48.1715297297068; Thu, 09 May 2024 16:28:17 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715297297; cv=pass; d=google.com; s=arc-20160816; b=wpgP1egdgn37nhN0xzbp/9g49U9TpurE+RrvMjzNgrazFdFRQiFh/GoeA46WfBX9ig fl0BhJZz6is5W1+CzV7tamHYbW3WJv3yvgEjbTvZpq0iILdSJ4b2ky2I4WlBI4x30pa9 FzvhDRPKQLXINiztsVvCdyzH8J0xx8mhn1l0V0Z2SJuyxkJEgC04UfJDbRp3sTtpseWw bBaLjsi3EIsa5bzX3gZWWRVOPpyYnWsc3jNoRPftsnETiy718xIQgkcNfGAa0s0Angcw dUXXLBOokSDr+RCmI7SEzEzaRf0z7rRs/k2xxMa1LtEQa10dfro+bfs2oVuE2bvlZx15 5jPg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=reply-to:references:in-reply-to:subject:to:from:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:date:message-id :dkim-signature; bh=uc2K83MlLdJ+rF7z2Zd/pQnbYdcwDOkOjW3AYZqMrcA=; fh=ZW+214j3OunD6HG9TuvYqsXtO0zRpUGCsehnqGKvGpY=; b=LnWlSFysIY2l4ohN9jHBvOGutGej2YQexbBUv1MULhI826iDYenJsTp2J/+mLAC0Ju GpOiMTZsG56LQG9W2dJ4uAPLa/ywM+cRfuPrMvpfwx3kODu+s3NZOShbNy/h1ZKvHBoa pUAX7k0CisddMEN64Cv9QjRTCm4A99okUHXYv+IS2IbdaOl6yWkM8TVUH6u+Oe5ozuQj h7hZ71pajM1Ch/3xdMo9bYjSYVnFqk1JZbHgHzioHjWPzWKRAkQCjETJQ2mwGE6cjFB3 6bW30ElZDko+4TZPL//G9jmC9K0Z8c2MZlvehMqxfVVDSVds1EqHG1R76m1ECr58XnQ3 2qjA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=XmWdlKvN; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-bluetooth+bounces-4440-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-bluetooth+bounces-4440-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id 6a1803df08f44-6a15f1d754esi24834436d6.44.2024.05.09.16.28.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 May 2024 16:28:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth+bounces-4440-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=XmWdlKvN; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-bluetooth+bounces-4440-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-bluetooth+bounces-4440-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id B878D1C21652 for ; Thu, 9 May 2024 23:28:16 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 68C99130E33; Thu, 9 May 2024 23:28:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XmWdlKvN" X-Original-To: linux-bluetooth@vger.kernel.org Received: from mail-qt1-f174.google.com (mail-qt1-f174.google.com [209.85.160.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7CD7B13048F for ; Thu, 9 May 2024 23:28:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.174 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715297282; cv=none; b=tdkogPCLyIf+oEljI1jiZbxifT9qgqPn6IhN1V/7YqRU9ygFoqm58iUG1+wCZ/BD46gkGbtf9o540nX/rVFy3UB4IzQVnKe8iokWu79l69HWeJmNBkPibbVeHucXX3yMksUot6+UM4ydulouvZ3St3LuV8Lb/i/MBzPnDK1hwVw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715297282; c=relaxed/simple; bh=uc2K83MlLdJ+rF7z2Zd/pQnbYdcwDOkOjW3AYZqMrcA=; h=Message-ID:Date:Content-Type:MIME-Version:From:To:Subject: In-Reply-To:References; b=SZWy96q0pb7w6DWbm7///yu2gCST5XyFJGqQx1m8nZKWbH/8HTEuuH8F3FMFK4+FImBrXIIdjs9sUQ4TvPqxR/TWtNCI6Mh86Tybx3mV2bgoiNILVgxkVMHUlhztN/xwoBwAndos0n20dWl+a590gBBRSBcxZzlOEYE9pySCm/M= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XmWdlKvN; arc=none smtp.client-ip=209.85.160.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qt1-f174.google.com with SMTP id d75a77b69052e-43d4c5f7b1bso8945871cf.1 for ; Thu, 09 May 2024 16:28:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715297279; x=1715902079; darn=vger.kernel.org; h=reply-to:references:in-reply-to:subject:to:from:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=uc2K83MlLdJ+rF7z2Zd/pQnbYdcwDOkOjW3AYZqMrcA=; b=XmWdlKvNj48Jn3C8g5z/uIpZX+lEeA7tQT9iQxaWJHZKztIKQl7C/lqh4Q9I/w45CL jgHs2yVYLpEJGRGm7EdKFTNFI4wwha00wSJj1Rztu77IQ00YuCmjTmsWTHVDvb67DGdI Ye3ErWtcLLSA0wf3PSU1luwBcEODjzOTQPIVbFNsgGjwVx3PKJ7rOhlR55uXDd8gyM0G z8KhOSRdtJ5h2YgL4l5jMmzdeYW88Gemfch08vdyQS1VOSBbInV+SxtnG7YrOp4AnVEP cp2hXOubp7TShD6WvW+YVgyRKM1+RB58qxSOS0F9LXI/EuPAl49TWaxhO2Gl/KA4hVo1 kE3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715297279; x=1715902079; h=reply-to:references:in-reply-to:subject:to:from:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=uc2K83MlLdJ+rF7z2Zd/pQnbYdcwDOkOjW3AYZqMrcA=; b=V3nIkswVZyLlbUjDPj7stWsLjLzJ4IrxV9oMRAV4sTET//gb343E7E5k9NknrozWWo SlDxkl90VZD773Wr5+5IV2n7zALq3KoQYXzlMgIu5VBMd5DHVbkw12ZZ7PxxailuJ3Sc 56GB6kzrS9i5KNCQFUg1upKKKjWpdubOdYGJr28mq8H8CvriTRzDIJLvlx4bLWRUOAyA miLknPjT/LVlc+Bpyv9/GBqSO+0NCvaBNSj2H87fmzDdFVcDjwIc7R+o+CD/BUQygwDi iux1qwlA8IaJLWfB5j5rIZOothKWD1jeJDVZ7UPM0CmJoWv0s88Qsmv4reChZ0iEmdMc ihpQ== X-Gm-Message-State: AOJu0Yx8hu2fJmr9DXG5rgQD2CYWmbKKBWAfRGGEp2tKXfTcdFcG7Syh LqNsIk38EvhuCPp6JPY4v/g2WcpJrQfAHpspsm8VyHc2cueJWn4GI0vKyA== X-Received: by 2002:a05:622a:1a18:b0:43c:7504:32ba with SMTP id d75a77b69052e-43dfdb07059mr9474831cf.10.1715297279057; Thu, 09 May 2024 16:27:59 -0700 (PDT) Received: from [172.17.0.2] ([172.183.84.86]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-43df569bd6esm13710121cf.64.2024.05.09.16.27.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 May 2024 16:27:58 -0700 (PDT) Message-ID: <663d5bfe.050a0220.34245.478e@mx.google.com> Date: Thu, 09 May 2024 16:27:58 -0700 (PDT) Content-Type: multipart/mixed; boundary="===============4342751131792461884==" Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: bluez.test.bot@gmail.com To: linux-bluetooth@vger.kernel.org, luiz.dentz@gmail.com Subject: RE: [RFC,v2] Bluetooth: MGMT: Make MGMT_OP_LOAD_CONN_PARAM update existing connection In-Reply-To: <20240509225043.1357933-1-luiz.dentz@gmail.com> References: <20240509225043.1357933-1-luiz.dentz@gmail.com> Reply-To: linux-bluetooth@vger.kernel.org --===============4342751131792461884== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wcm9qZWN0L2JsdWV0b290aC9saXN0Lz9zZXJpZXM9ODUyMDYxCgotLS1U ZXN0IHJlc3VsdC0tLQoKVGVzdCBTdW1tYXJ5OgpDaGVja1BhdGNoICAgICAgICAgICAgICAgICAg ICBQQVNTICAgICAgMC44NCBzZWNvbmRzCkdpdExpbnQgICAgICAgICAgICAgICAgICAgICAgIEZB SUwgICAgICAwLjY0IHNlY29uZHMKU3ViamVjdFByZWZpeCAgICAgICAgICAgICAgICAgUEFTUyAg ICAgIDAuMTAgc2Vjb25kcwpCdWlsZEtlcm5lbCAgICAgICAgICAgICAgICAgICBGQUlMICAgICAg MjIuOTAgc2Vjb25kcwpDaGVja0FsbFdhcm5pbmcgICAgICAgICAgICAgICBGQUlMICAgICAgMjUu Mjcgc2Vjb25kcwpDaGVja1NwYXJzZSAgICAgICAgICAgICAgICAgICBGQUlMICAgICAgMjguMzUg c2Vjb25kcwpDaGVja1NtYXRjaCAgICAgICAgICAgICAgICAgICBGQUlMICAgICAgMzUuOTMgc2Vj b25kcwpCdWlsZEtlcm5lbDMyICAgICAgICAgICAgICAgICBGQUlMICAgICAgMjEuNjggc2Vjb25k cwpUZXN0UnVubmVyU2V0dXAgICAgICAgICAgICAgICBGQUlMICAgICAgNDkyLjg2IHNlY29uZHMK VGVzdFJ1bm5lcl9sMmNhcC10ZXN0ZXIgICAgICAgRkFJTCAgICAgIDAuMTIgc2Vjb25kcwpUZXN0 UnVubmVyX2lzby10ZXN0ZXIgICAgICAgICBGQUlMICAgICAgMC4xMiBzZWNvbmRzClRlc3RSdW5u ZXJfYm5lcC10ZXN0ZXIgICAgICAgIEZBSUwgICAgICAwLjEyIHNlY29uZHMKVGVzdFJ1bm5lcl9t Z210LXRlc3RlciAgICAgICAgRkFJTCAgICAgIDAuMTIgc2Vjb25kcwpUZXN0UnVubmVyX3JmY29t bS10ZXN0ZXIgICAgICBGQUlMICAgICAgMC40NCBzZWNvbmRzClRlc3RSdW5uZXJfc2NvLXRlc3Rl ciAgICAgICAgIEZBSUwgICAgICAwLjEyIHNlY29uZHMKVGVzdFJ1bm5lcl9pb2N0bC10ZXN0ZXIg ICAgICAgRkFJTCAgICAgIDAuMTIgc2Vjb25kcwpUZXN0UnVubmVyX21lc2gtdGVzdGVyICAgICAg ICBGQUlMICAgICAgMC4xMiBzZWNvbmRzClRlc3RSdW5uZXJfc21wLXRlc3RlciAgICAgICAgIEZB SUwgICAgICAwLjEyIHNlY29uZHMKVGVzdFJ1bm5lcl91c2VyY2hhbi10ZXN0ZXIgICAgRkFJTCAg ICAgIDAuMTIgc2Vjb25kcwpJbmNyZW1lbnRhbEJ1aWxkICAgICAgICAgICAgICBGQUlMICAgICAg MjAuMTMgc2Vjb25kcwoKRGV0YWlscwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVz dDogR2l0TGludCAtIEZBSUwKRGVzYzogUnVuIGdpdGxpbnQKT3V0cHV0OgpbUkZDLHYyXSBCbHVl dG9vdGg6IE1HTVQ6IE1ha2UgTUdNVF9PUF9MT0FEX0NPTk5fUEFSQU0gdXBkYXRlIGV4aXN0aW5n IGNvbm5lY3Rpb24KCldBUk5JTkc6IEkzIC0gaWdub3JlLWJvZHktbGluZXM6IGdpdGxpbnQgd2ls bCBiZSBzd2l0Y2hpbmcgZnJvbSB1c2luZyBQeXRob24gcmVnZXggJ21hdGNoJyAobWF0Y2ggYmVn aW5uaW5nKSB0byAnc2VhcmNoJyAobWF0Y2ggYW55d2hlcmUpIHNlbWFudGljcy4gUGxlYXNlIHJl dmlldyB5b3VyIGlnbm9yZS1ib2R5LWxpbmVzLnJlZ2V4IG9wdGlvbiBhY2NvcmRpbmdseS4gVG8g cmVtb3ZlIHRoaXMgd2FybmluZywgc2V0IGdlbmVyYWwucmVnZXgtc3R5bGUtc2VhcmNoPVRydWUu IE1vcmUgZGV0YWlsczogaHR0cHM6Ly9qb3Jpc3Jvb3ZlcnMuZ2l0aHViLmlvL2dpdGxpbnQvY29u ZmlndXJhdGlvbi8jcmVnZXgtc3R5bGUtc2VhcmNoCjE6IFQxIFRpdGxlIGV4Y2VlZHMgbWF4IGxl bmd0aCAoODE+ODApOiAiW1JGQyx2Ml0gQmx1ZXRvb3RoOiBNR01UOiBNYWtlIE1HTVRfT1BfTE9B RF9DT05OX1BBUkFNIHVwZGF0ZSBleGlzdGluZyBjb25uZWN0aW9uIgojIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKVGVzdDogQnVpbGRLZXJuZWwgLSBGQUlMCkRlc2M6IEJ1aWxkIEtlcm5l bCBmb3IgQmx1ZXRvb3RoCk91dHB1dDoKCm5ldC9ibHVldG9vdGgvbWdtdC5jOiBJbiBmdW5jdGlv biDigJhjb25uX3VwZGF0ZV9zeW5j4oCZOgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo3ODgxOjI6IGVy cm9yOiDigJhjb25u4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog Nzg4MSB8ICBjb25uID0gaGNpX2Nvbm5faGFzaF9sb29rdXBfbGUoaGRldiwgcGFyYW1zLT5hZGRy LmJkYWRkciwKICAgICAgfCAgXn5+fgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo3ODgxOjI6IG5vdGU6 IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFj aCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCm5ldC9ibHVldG9vdGgvbWdtdC5jOjc4ODE6NTE6IGVy cm9yOiDigJhiZGFkZHJfdOKAmSB7YWthIOKAmHN0cnVjdCA8YW5vbnltb3VzPuKAmX0gaGFzIG5v IG1lbWJlciBuYW1lZCDigJhiZGFkZHLigJkKIDc4ODEgfCAgY29ubiA9IGhjaV9jb25uX2hhc2hf bG9va3VwX2xlKGhkZXYsIHBhcmFtcy0+YWRkci5iZGFkZHIsCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCm5ldC9ibHVldG9vdGgvbWdt dC5jOjc4ODY6MjogZXJyb3I6IGV4cGVjdGVkIOKAmDvigJkgYmVmb3JlIOKAmHJldHVybuKAmQog Nzg4NiB8ICByZXR1cm4gaGNpX2xlX2Nvbm5fdXBkYXRlX3N5bmMoaGRldiwgY29ubiwgcGFyYW1z KTsKICAgICAgfCAgXn5+fn5+Cm5ldC9ibHVldG9vdGgvbWdtdC5jOiBJbiBmdW5jdGlvbiDigJhs b2FkX2Nvbm5fcGFyYW3igJk6Cm5ldC9ibHVldG9vdGgvbWdtdC5jOjc5NjA6MTM6IGVycm9yOiDi gJhwYXJhbXPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQg eW91IG1lYW4g4oCYcGFyYW3igJk/CiA3OTYwIHwgICBpZiAoIWkgJiYgcGFyYW1zID09IDEpIHsK ICAgICAgfCAgICAgICAgICAgICBefn5+fn4KICAgICAgfCAgICAgICAgICAgICBwYXJhbQpuZXQv Ymx1ZXRvb3RoL21nbXQuYzo3OTkyOjE1OiBlcnJvcjog4oCYc3RydWN0IGhjaV9jb25u4oCZIGhh cyBubyBtZW1iZXIgbmFtZWQg4oCYbGVfc3VwZXJ2aXNpb25fdGltZW91dOKAmTsgZGlkIHlvdSBt ZWFuIOKAmGxlX3N1cHZfdGltZW91dOKAmT8KIDc5OTIgfCAgICAgICAgIGNvbm4tPmxlX3N1cGVy dmlzaW9uX3RpbWVvdXQgIT0gdGltZW91dCkpCiAgICAgIHwgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICBsZV9zdXB2X3RpbWVvdXQKbmV0 L2JsdWV0b290aC9tZ210LmM6Nzk5NDoxMDogZXJyb3I6IOKAmGhjaV9wYXJhbXPigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYaGNpX3Bh cmFt4oCZPwogNzk5NCB8ICAgICAgICAgIGhjaV9wYXJhbXMsIE5VTEwpOwogICAgICB8ICAgICAg ICAgIF5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICBoY2lfcGFyYW0KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIG5ldC9ibHVldG9vdGgvbWdtdC5jOjMxOgpuZXQvYmx1ZXRvb3RoL21nbXQuYzogQXQg dG9wIGxldmVsOgouL2luY2x1ZGUvbmV0L2JsdWV0b290aC9oY2lfY29yZS5oOjE2MTU6NDA6IGVy cm9yOiBleHBlY3RlZCBkZWNsYXJhdGlvbiBzcGVjaWZpZXJzIG9yIOKAmC4uLuKAmSBiZWZvcmUg 4oCYJuKAmSB0b2tlbgogMTYxNSB8ICNkZWZpbmUgaGNpX2Rldl91bmxvY2soZCkgbXV0ZXhfdW5s b2NrKCZkLT5sb2NrKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KbmV0L2JsdWV0b290aC9tZ210LmM6Nzk5OToyOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYaGNpX2Rldl91bmxvY2vigJkKIDc5OTkgfCAgaGNpX2Rldl91bmxvY2soaGRldik7 CiAgICAgIHwgIF5+fn5+fn5+fn5+fn5+Cm5ldC9ibHVldG9vdGgvbWdtdC5jOjgwMDE6MjogZXJy b3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiA4 MDAxIHwgIHJldHVybiBtZ210X2NtZF9jb21wbGV0ZShzaywgaGRldi0+aWQsIE1HTVRfT1BfTE9B RF9DT05OX1BBUkFNLCAwLAogICAgICB8ICBefn5+fn4KbmV0L2JsdWV0b290aC9tZ210LmM6ODAw MzoxOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9yZSDigJh94oCZ IHRva2VuCiA4MDAzIHwgfQogICAgICB8IF4KbmV0L2JsdWV0b290aC9tZ210LmM6IEluIGZ1bmN0 aW9uIOKAmGxvYWRfY29ubl9wYXJhbeKAmToKbmV0L2JsdWV0b290aC9tZ210LmM6Nzk5NzoyOiBl cnJvcjogY29udHJvbCByZWFjaGVzIGVuZCBvZiBub24tdm9pZCBmdW5jdGlvbiBbLVdlcnJvcj1y ZXR1cm4tdHlwZV0KIDc5OTcgfCAgfQogICAgICB8ICBeCmNjMTogc29tZSB3YXJuaW5ncyBiZWlu ZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzRdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQ6 MjQ0OiBuZXQvYmx1ZXRvb3RoL21nbXQub10gRXJyb3IgMQptYWtlWzNdOiAqKiogW3NjcmlwdHMv TWFrZWZpbGUuYnVpbGQ6NDg1OiBuZXQvYmx1ZXRvb3RoXSBFcnJvciAyCm1ha2VbMl06ICoqKiBb c2NyaXB0cy9NYWtlZmlsZS5idWlsZDo0ODU6IG5ldF0gRXJyb3IgMgptYWtlWzJdOiAqKiogV2Fp dGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgptYWtlWzFdOiAqKiogWy9naXRodWIvd29ya3Nw YWNlL3NyYy9zcmMvTWFrZWZpbGU6MTkxOTogLl0gRXJyb3IgMgptYWtlOiAqKiogW01ha2VmaWxl OjI0MDogX19zdWItbWFrZV0gRXJyb3IgMgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK VGVzdDogQ2hlY2tBbGxXYXJuaW5nIC0gRkFJTApEZXNjOiBSdW4gbGludXgga2VybmVsIHdpdGgg YWxsIHdhcm5pbmcgZW5hYmxlZApPdXRwdXQ6CgpuZXQvYmx1ZXRvb3RoL21nbXQuYzogSW4gZnVu Y3Rpb24g4oCYY29ubl91cGRhdGVfc3luY+KAmToKbmV0L2JsdWV0b290aC9tZ210LmM6Nzg4MToy OiBlcnJvcjog4oCYY29ubuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKIDc4ODEgfCAgY29ubiA9IGhjaV9jb25uX2hhc2hfbG9va3VwX2xlKGhkZXYsIHBhcmFtcy0+ YWRkci5iZGFkZHIsCiAgICAgIHwgIF5+fn4KbmV0L2JsdWV0b290aC9tZ210LmM6Nzg4MToyOiBu b3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9y IGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo3ODgxOjUx OiBlcnJvcjog4oCYYmRhZGRyX3TigJkge2FrYSDigJhzdHJ1Y3QgPGFub255bW91cz7igJl9IGhh cyBubyBtZW1iZXIgbmFtZWQg4oCYYmRhZGRy4oCZCiA3ODgxIHwgIGNvbm4gPSBoY2lfY29ubl9o YXNoX2xvb2t1cF9sZShoZGV2LCBwYXJhbXMtPmFkZHIuYmRhZGRyLAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpuZXQvYmx1ZXRvb3Ro L21nbXQuYzo3ODg2OjI6IGVycm9yOiBleHBlY3RlZCDigJg74oCZIGJlZm9yZSDigJhyZXR1cm7i gJkKIDc4ODYgfCAgcmV0dXJuIGhjaV9sZV9jb25uX3VwZGF0ZV9zeW5jKGhkZXYsIGNvbm4sIHBh cmFtcyk7CiAgICAgIHwgIF5+fn5+fgpuZXQvYmx1ZXRvb3RoL21nbXQuYzogSW4gZnVuY3Rpb24g 4oCYbG9hZF9jb25uX3BhcmFt4oCZOgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo3OTYwOjEzOiBlcnJv cjog4oCYcGFyYW1z4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuIOKAmHBhcmFt4oCZPwogNzk2MCB8ICAgaWYgKCFpICYmIHBhcmFtcyA9PSAx KSB7CiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgcGFyYW0K bmV0L2JsdWV0b290aC9tZ210LmM6Nzk5MjoxNTogZXJyb3I6IOKAmHN0cnVjdCBoY2lfY29ubuKA mSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGxlX3N1cGVydmlzaW9uX3RpbWVvdXTigJk7IGRpZCB5 b3UgbWVhbiDigJhsZV9zdXB2X3RpbWVvdXTigJk/CiA3OTkyIHwgICAgICAgICBjb25uLT5sZV9z dXBlcnZpc2lvbl90aW1lb3V0ICE9IHRpbWVvdXQpKQogICAgICB8ICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgbGVfc3Vwdl90aW1lb3V0 Cm5ldC9ibHVldG9vdGgvbWdtdC5jOjc5OTQ6MTA6IGVycm9yOiDigJhoY2lfcGFyYW1z4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmGhj aV9wYXJhbeKAmT8KIDc5OTQgfCAgICAgICAgICBoY2lfcGFyYW1zLCBOVUxMKTsKICAgICAgfCAg ICAgICAgICBefn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgaGNpX3BhcmFtCkluIGZpbGUgaW5j bHVkZWQgZnJvbSBuZXQvYmx1ZXRvb3RoL21nbXQuYzozMToKbmV0L2JsdWV0b290aC9tZ210LmM6 IEF0IHRvcCBsZXZlbDoKLi9pbmNsdWRlL25ldC9ibHVldG9vdGgvaGNpX2NvcmUuaDoxNjE1OjQw OiBlcnJvcjogZXhwZWN0ZWQgZGVjbGFyYXRpb24gc3BlY2lmaWVycyBvciDigJguLi7igJkgYmVm b3JlIOKAmCbigJkgdG9rZW4KIDE2MTUgfCAjZGVmaW5lIGhjaV9kZXZfdW5sb2NrKGQpIG11dGV4 X3VubG9jaygmZC0+bG9jaykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCm5ldC9ibHVldG9vdGgvbWdtdC5jOjc5OTk6Mjogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmGhjaV9kZXZfdW5sb2Nr4oCZCiA3OTk5IHwgIGhjaV9kZXZfdW5sb2NrKGhk ZXYpOwogICAgICB8ICBefn5+fn5+fn5+fn5+fgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo4MDAxOjI6 IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKAmCjigJkgYmVmb3JlIOKAmHJldHVybuKA mQogODAwMSB8ICByZXR1cm4gbWdtdF9jbWRfY29tcGxldGUoc2ssIGhkZXYtPmlkLCBNR01UX09Q X0xPQURfQ09OTl9QQVJBTSwgMCwKICAgICAgfCAgXn5+fn5+Cm5ldC9ibHVldG9vdGgvbWdtdC5j OjgwMDM6MTogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3Ig4oCYKOKAmSBiZWZvcmUg4oCY feKAmSB0b2tlbgogODAwMyB8IH0KICAgICAgfCBeCm5ldC9ibHVldG9vdGgvbWdtdC5jOiBJbiBm dW5jdGlvbiDigJhsb2FkX2Nvbm5fcGFyYW3igJk6Cm5ldC9ibHVldG9vdGgvbWdtdC5jOjc5OTc6 MjogZXJyb3I6IGNvbnRyb2wgcmVhY2hlcyBlbmQgb2Ygbm9uLXZvaWQgZnVuY3Rpb24gWy1XZXJy b3I9cmV0dXJuLXR5cGVdCiA3OTk3IHwgIH0KICAgICAgfCAgXgpjYzE6IHNvbWUgd2FybmluZ3Mg YmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKbWFrZVs0XTogKioqIFtzY3JpcHRzL01ha2VmaWxlLmJ1 aWxkOjI0NDogbmV0L2JsdWV0b290aC9tZ210Lm9dIEVycm9yIDEKbWFrZVszXTogKioqIFtzY3Jp cHRzL01ha2VmaWxlLmJ1aWxkOjQ4NTogbmV0L2JsdWV0b290aF0gRXJyb3IgMgptYWtlWzJdOiAq KiogW3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQ6NDg1OiBuZXRdIEVycm9yIDIKbWFrZVsyXTogKioq IFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KbWFrZVsxXTogKioqIFsvZ2l0aHViL3dv cmtzcGFjZS9zcmMvc3JjL01ha2VmaWxlOjE5MTk6IC5dIEVycm9yIDIKbWFrZTogKioqIFtNYWtl ZmlsZToyNDA6IF9fc3ViLW1ha2VdIEVycm9yIDIKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjClRlc3Q6IENoZWNrU3BhcnNlIC0gRkFJTApEZXNjOiBSdW4gc3BhcnNlIHRvb2wgd2l0aCBs aW51eCBrZXJuZWwKT3V0cHV0OgoKbmV0L2JsdWV0b290aC9hZl9ibHVldG9vdGguYzoyMjY6MjU6 IHdhcm5pbmc6IGNvbnRleHQgaW1iYWxhbmNlIGluICdidF9hY2NlcHRfZW5xdWV1ZScgLSBkaWZm ZXJlbnQgbG9jayBjb250ZXh0cyBmb3IgYmFzaWMgYmxvY2sKZHJpdmVycy9ibHVldG9vdGgvaGNp X2FnNnh4LmM6MjU3OjI0OiB3YXJuaW5nOiByZXN0cmljdGVkIF9fbGUzMiBkZWdyYWRlcyB0byBp bnRlZ2VyCmRyaXZlcnMvYmx1ZXRvb3RoL2hjaV9tcnZsLmM6MTcwOjIzOiB3YXJuaW5nOiByZXN0 cmljdGVkIF9fbGUxNiBkZWdyYWRlcyB0byBpbnRlZ2VyCmRyaXZlcnMvYmx1ZXRvb3RoL2hjaV9t cnZsLmM6MjAzOjIzOiB3YXJuaW5nOiByZXN0cmljdGVkIF9fbGUxNiBkZWdyYWRlcyB0byBpbnRl Z2VyCm5ldC9ibHVldG9vdGgvaGNpX2V2ZW50LmM6IG5vdGU6IGluIGluY2x1ZGVkIGZpbGUgKHRo cm91Z2ggaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2hjaV9jb3JlLmgpOgouL2luY2x1ZGUvbmV0L2Js dWV0b290aC9oY2kuaDoyNTg1OjQ3OiB3YXJuaW5nOiBhcnJheSBvZiBmbGV4aWJsZSBzdHJ1Y3R1 cmVzCi4vaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2hjaS5oOjI2NzE6NDM6IHdhcm5pbmc6IGFycmF5 IG9mIGZsZXhpYmxlIHN0cnVjdHVyZXMKbmV0L2JsdWV0b290aC9tZ210LmM6IEluIGZ1bmN0aW9u IOKAmGNvbm5fdXBkYXRlX3N5bmPigJk6Cm5ldC9ibHVldG9vdGgvbWdtdC5jOjc4ODE6MjogZXJy b3I6IOKAmGNvbm7igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiA3 ODgxIHwgIGNvbm4gPSBoY2lfY29ubl9oYXNoX2xvb2t1cF9sZShoZGV2LCBwYXJhbXMtPmFkZHIu YmRhZGRyLAogICAgICB8ICBefn5+Cm5ldC9ibHVldG9vdGgvbWdtdC5jOjc4ODE6Mjogbm90ZTog ZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNo IGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KbmV0L2JsdWV0b290aC9tZ210LmM6Nzg4MTo1MTogZXJy b3I6IOKAmGJkYWRkcl904oCZIHtha2Eg4oCYc3RydWN0IDxhbm9ueW1vdXM+4oCZfSBoYXMgbm8g bWVtYmVyIG5hbWVkIOKAmGJkYWRkcuKAmQogNzg4MSB8ICBjb25uID0gaGNpX2Nvbm5faGFzaF9s b29rdXBfbGUoaGRldiwgcGFyYW1zLT5hZGRyLmJkYWRkciwKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KbmV0L2JsdWV0b290aC9tZ210 LmM6Nzg4NjoyOiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiA3 ODg2IHwgIHJldHVybiBoY2lfbGVfY29ubl91cGRhdGVfc3luYyhoZGV2LCBjb25uLCBwYXJhbXMp OwogICAgICB8ICBefn5+fn4KbmV0L2JsdWV0b290aC9tZ210LmM6IEluIGZ1bmN0aW9uIOKAmGxv YWRfY29ubl9wYXJhbeKAmToKbmV0L2JsdWV0b290aC9tZ210LmM6Nzk2MDoxMzogZXJyb3I6IOKA mHBhcmFtc+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhwYXJhbeKAmT8KIDc5NjAgfCAgIGlmICghaSAmJiBwYXJhbXMgPT0gMSkgewog ICAgICB8ICAgICAgICAgICAgIF5+fn5+fgogICAgICB8ICAgICAgICAgICAgIHBhcmFtCm5ldC9i bHVldG9vdGgvbWdtdC5jOjc5OTI6MTU6IGVycm9yOiDigJhzdHJ1Y3QgaGNpX2Nvbm7igJkgaGFz IG5vIG1lbWJlciBuYW1lZCDigJhsZV9zdXBlcnZpc2lvbl90aW1lb3V04oCZOyBkaWQgeW91IG1l YW4g4oCYbGVfc3Vwdl90aW1lb3V04oCZPwogNzk5MiB8ICAgICAgICAgY29ubi0+bGVfc3VwZXJ2 aXNpb25fdGltZW91dCAhPSB0aW1lb3V0KSkKICAgICAgfCAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgIGxlX3N1cHZfdGltZW91dApuZXQv Ymx1ZXRvb3RoL21nbXQuYzo3OTk0OjEwOiBlcnJvcjog4oCYaGNpX3BhcmFtc+KAmSB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhoY2lfcGFy YW3igJk/CiA3OTk0IHwgICAgICAgICAgaGNpX3BhcmFtcywgTlVMTCk7CiAgICAgIHwgICAgICAg ICAgXn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgIGhjaV9wYXJhbQpJbiBmaWxlIGluY2x1ZGVk IGZyb20gbmV0L2JsdWV0b290aC9tZ210LmM6MzE6Cm5ldC9ibHVldG9vdGgvbWdtdC5jOiBBdCB0 b3AgbGV2ZWw6Ci4vaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2hjaV9jb3JlLmg6MTYxNTo0MDogZXJy b3I6IGV4cGVjdGVkIGRlY2xhcmF0aW9uIHNwZWNpZmllcnMgb3Ig4oCYLi4u4oCZIGJlZm9yZSDi gJgm4oCZIHRva2VuCiAxNjE1IHwgI2RlZmluZSBoY2lfZGV2X3VubG9jayhkKSBtdXRleF91bmxv Y2soJmQtPmxvY2spCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo3OTk5OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBt YWNybyDigJhoY2lfZGV2X3VubG9ja+KAmQogNzk5OSB8ICBoY2lfZGV2X3VubG9jayhoZGV2KTsK ICAgICAgfCAgXn5+fn5+fn5+fn5+fn4KbmV0L2JsdWV0b290aC9tZ210LmM6ODAwMToyOiBlcnJv cjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9yZSDigJhyZXR1cm7igJkKIDgw MDEgfCAgcmV0dXJuIG1nbXRfY21kX2NvbXBsZXRlKHNrLCBoZGV2LT5pZCwgTUdNVF9PUF9MT0FE X0NPTk5fUEFSQU0sIDAsCiAgICAgIHwgIF5+fn5+fgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo4MDAz OjE6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKAmCjigJkgYmVmb3JlIOKAmH3igJkg dG9rZW4KIDgwMDMgfCB9CiAgICAgIHwgXgpuZXQvYmx1ZXRvb3RoL21nbXQuYzogSW4gZnVuY3Rp b24g4oCYbG9hZF9jb25uX3BhcmFt4oCZOgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo3OTk3OjI6IGVy cm9yOiBjb250cm9sIHJlYWNoZXMgZW5kIG9mIG5vbi12b2lkIGZ1bmN0aW9uIFstV2Vycm9yPXJl dHVybi10eXBlXQogNzk5NyB8ICB9CiAgICAgIHwgIF4KY2MxOiBzb21lIHdhcm5pbmdzIGJlaW5n IHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2VbNF06ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5idWlsZDoy NDQ6IG5ldC9ibHVldG9vdGgvbWdtdC5vXSBFcnJvciAxCm1ha2VbM106ICoqKiBbc2NyaXB0cy9N YWtlZmlsZS5idWlsZDo0ODU6IG5ldC9ibHVldG9vdGhdIEVycm9yIDIKbWFrZVsyXTogKioqIFtz Y3JpcHRzL01ha2VmaWxlLmJ1aWxkOjQ4NTogbmV0XSBFcnJvciAyCm1ha2VbMl06ICoqKiBXYWl0 aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCmRyaXZlcnMvYmx1ZXRvb3RoL2hjaV9ub2tpYS5j OjI4NDoyMzogd2FybmluZzogaW5jb3JyZWN0IHR5cGUgaW4gYXNzaWdubWVudCAoZGlmZmVyZW50 IGJhc2UgdHlwZXMpCmRyaXZlcnMvYmx1ZXRvb3RoL2hjaV9ub2tpYS5jOjI4NDoyMzogICAgZXhw ZWN0ZWQgdW5zaWduZWQgc2hvcnQgW3VzZXJ0eXBlXSBiYXVkCmRyaXZlcnMvYmx1ZXRvb3RoL2hj aV9ub2tpYS5jOjI4NDoyMzogICAgZ290IHJlc3RyaWN0ZWQgX19sZTE2IFt1c2VydHlwZV0KZHJp dmVycy9ibHVldG9vdGgvaGNpX25va2lhLmM6Mjg3OjI2OiB3YXJuaW5nOiBpbmNvcnJlY3QgdHlw ZSBpbiBhc3NpZ25tZW50IChkaWZmZXJlbnQgYmFzZSB0eXBlcykKZHJpdmVycy9ibHVldG9vdGgv aGNpX25va2lhLmM6Mjg3OjI2OiAgICBleHBlY3RlZCB1bnNpZ25lZCBzaG9ydCBbdXNlcnR5cGVd IHN5c19jbGsKZHJpdmVycy9ibHVldG9vdGgvaGNpX25va2lhLmM6Mjg3OjI2OiAgICBnb3QgcmVz dHJpY3RlZCBfX2xlMTYgW3VzZXJ0eXBlXQptYWtlWzFdOiAqKiogWy9naXRodWIvd29ya3NwYWNl L3NyYy9zcmMvTWFrZWZpbGU6MTkxOTogLl0gRXJyb3IgMgptYWtlOiAqKiogW01ha2VmaWxlOjI0 MDogX19zdWItbWFrZV0gRXJyb3IgMgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVz dDogQ2hlY2tTbWF0Y2ggLSBGQUlMCkRlc2M6IFJ1biBzbWF0Y2ggdG9vbCB3aXRoIHNvdXJjZQpP dXRwdXQ6CgpTZWdtZW50YXRpb24gZmF1bHQgKGNvcmUgZHVtcGVkKQptYWtlWzRdOiAqKiogW3Nj cmlwdHMvTWFrZWZpbGUuYnVpbGQ6MjQ0OiBuZXQvYmx1ZXRvb3RoL2hjaV9jb3JlLm9dIEVycm9y IDEzOQptYWtlWzRdOiAqKiogRGVsZXRpbmcgZmlsZSAnbmV0L2JsdWV0b290aC9oY2lfY29yZS5v JwptYWtlWzNdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQ6NDg1OiBuZXQvYmx1ZXRvb3Ro XSBFcnJvciAyCm1ha2VbMl06ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5idWlsZDo0ODU6IG5ldF0g RXJyb3IgMgptYWtlWzJdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgpTZWdt ZW50YXRpb24gZmF1bHQgKGNvcmUgZHVtcGVkKQptYWtlWzRdOiAqKiogW3NjcmlwdHMvTWFrZWZp bGUuYnVpbGQ6MjQ0OiBkcml2ZXJzL2JsdWV0b290aC9iY20yMDN4Lm9dIEVycm9yIDEzOQptYWtl WzRdOiAqKiogRGVsZXRpbmcgZmlsZSAnZHJpdmVycy9ibHVldG9vdGgvYmNtMjAzeC5vJwptYWtl WzRdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgpTZWdtZW50YXRpb24gZmF1 bHQgKGNvcmUgZHVtcGVkKQptYWtlWzRdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQ6MjQ0 OiBkcml2ZXJzL2JsdWV0b290aC9icGExMHgub10gRXJyb3IgMTM5Cm1ha2VbNF06ICoqKiBEZWxl dGluZyBmaWxlICdkcml2ZXJzL2JsdWV0b290aC9icGExMHgubycKbWFrZVszXTogKioqIFtzY3Jp cHRzL01ha2VmaWxlLmJ1aWxkOjQ4NTogZHJpdmVycy9ibHVldG9vdGhdIEVycm9yIDIKbWFrZVsy XTogKioqIFtzY3JpcHRzL01ha2VmaWxlLmJ1aWxkOjQ4NTogZHJpdmVyc10gRXJyb3IgMgptYWtl WzFdOiAqKiogWy9naXRodWIvd29ya3NwYWNlL3NyYy9zcmMvTWFrZWZpbGU6MTkxOTogLl0gRXJy b3IgMgptYWtlOiAqKiogW01ha2VmaWxlOjI0MDogX19zdWItbWFrZV0gRXJyb3IgMgojIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogQnVpbGRLZXJuZWwzMiAtIEZBSUwKRGVzYzog QnVpbGQgMzJiaXQgS2VybmVsIGZvciBCbHVldG9vdGgKT3V0cHV0OgoKbmV0L2JsdWV0b290aC9t Z210LmM6IEluIGZ1bmN0aW9uIOKAmGNvbm5fdXBkYXRlX3N5bmPigJk6Cm5ldC9ibHVldG9vdGgv bWdtdC5jOjc4ODE6MjogZXJyb3I6IOKAmGNvbm7igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiA3ODgxIHwgIGNvbm4gPSBoY2lfY29ubl9oYXNoX2xvb2t1cF9sZSho ZGV2LCBwYXJhbXMtPmFkZHIuYmRhZGRyLAogICAgICB8ICBefn5+Cm5ldC9ibHVldG9vdGgvbWdt dC5jOjc4ODE6Mjogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQg b25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KbmV0L2JsdWV0b290aC9t Z210LmM6Nzg4MTo1MTogZXJyb3I6IOKAmGJkYWRkcl904oCZIHtha2Eg4oCYc3RydWN0IDxhbm9u eW1vdXM+4oCZfSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGJkYWRkcuKAmQogNzg4MSB8ICBjb25u ID0gaGNpX2Nvbm5faGFzaF9sb29rdXBfbGUoaGRldiwgcGFyYW1zLT5hZGRyLmJkYWRkciwKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K bmV0L2JsdWV0b290aC9tZ210LmM6Nzg4NjoyOiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZv cmUg4oCYcmV0dXJu4oCZCiA3ODg2IHwgIHJldHVybiBoY2lfbGVfY29ubl91cGRhdGVfc3luYyho ZGV2LCBjb25uLCBwYXJhbXMpOwogICAgICB8ICBefn5+fn4KbmV0L2JsdWV0b290aC9tZ210LmM6 IEluIGZ1bmN0aW9uIOKAmGxvYWRfY29ubl9wYXJhbeKAmToKbmV0L2JsdWV0b290aC9tZ210LmM6 Nzk2MDoxMzogZXJyb3I6IOKAmHBhcmFtc+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhwYXJhbeKAmT8KIDc5NjAgfCAgIGlmICghaSAm JiBwYXJhbXMgPT0gMSkgewogICAgICB8ICAgICAgICAgICAgIF5+fn5+fgogICAgICB8ICAgICAg ICAgICAgIHBhcmFtCm5ldC9ibHVldG9vdGgvbWdtdC5jOjc5OTI6MTU6IGVycm9yOiDigJhzdHJ1 Y3QgaGNpX2Nvbm7igJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhsZV9zdXBlcnZpc2lvbl90aW1l b3V04oCZOyBkaWQgeW91IG1lYW4g4oCYbGVfc3Vwdl90aW1lb3V04oCZPwogNzk5MiB8ICAgICAg ICAgY29ubi0+bGVfc3VwZXJ2aXNpb25fdGltZW91dCAhPSB0aW1lb3V0KSkKICAgICAgfCAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgIGxl X3N1cHZfdGltZW91dApuZXQvYmx1ZXRvb3RoL21nbXQuYzo3OTk0OjEwOiBlcnJvcjog4oCYaGNp X3BhcmFtc+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhoY2lfcGFyYW3igJk/CiA3OTk0IHwgICAgICAgICAgaGNpX3BhcmFtcywgTlVM TCk7CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgIGhjaV9wYXJh bQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gbmV0L2JsdWV0b290aC9tZ210LmM6MzE6Cm5ldC9ibHVl dG9vdGgvbWdtdC5jOiBBdCB0b3AgbGV2ZWw6Ci4vaW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2hjaV9j b3JlLmg6MTYxNTo0MDogZXJyb3I6IGV4cGVjdGVkIGRlY2xhcmF0aW9uIHNwZWNpZmllcnMgb3Ig 4oCYLi4u4oCZIGJlZm9yZSDigJgm4oCZIHRva2VuCiAxNjE1IHwgI2RlZmluZSBoY2lfZGV2X3Vu bG9jayhkKSBtdXRleF91bmxvY2soJmQtPmxvY2spCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo3OTk5OjI6IG5vdGU6 IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhoY2lfZGV2X3VubG9ja+KAmQogNzk5OSB8ICBoY2lf ZGV2X3VubG9jayhoZGV2KTsKICAgICAgfCAgXn5+fn5+fn5+fn5+fn4KbmV0L2JsdWV0b290aC9t Z210LmM6ODAwMToyOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9y ZSDigJhyZXR1cm7igJkKIDgwMDEgfCAgcmV0dXJuIG1nbXRfY21kX2NvbXBsZXRlKHNrLCBoZGV2 LT5pZCwgTUdNVF9PUF9MT0FEX0NPTk5fUEFSQU0sIDAsCiAgICAgIHwgIF5+fn5+fgpuZXQvYmx1 ZXRvb3RoL21nbXQuYzo4MDAzOjE6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yIOKAmCji gJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KIDgwMDMgfCB9CiAgICAgIHwgXgpuZXQvYmx1ZXRvb3Ro L21nbXQuYzogSW4gZnVuY3Rpb24g4oCYbG9hZF9jb25uX3BhcmFt4oCZOgpuZXQvYmx1ZXRvb3Ro L21nbXQuYzo3OTk3OjI6IGVycm9yOiBjb250cm9sIHJlYWNoZXMgZW5kIG9mIG5vbi12b2lkIGZ1 bmN0aW9uIFstV2Vycm9yPXJldHVybi10eXBlXQogNzk5NyB8ICB9CiAgICAgIHwgIF4KY2MxOiBz b21lIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2VbNF06ICoqKiBbc2NyaXB0 cy9NYWtlZmlsZS5idWlsZDoyNDQ6IG5ldC9ibHVldG9vdGgvbWdtdC5vXSBFcnJvciAxCm1ha2Vb M106ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5idWlsZDo0ODU6IG5ldC9ibHVldG9vdGhdIEVycm9y IDIKbWFrZVsyXTogKioqIFtzY3JpcHRzL01ha2VmaWxlLmJ1aWxkOjQ4NTogbmV0XSBFcnJvciAy Cm1ha2VbMl06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2VbMV06ICoq KiBbL2dpdGh1Yi93b3Jrc3BhY2Uvc3JjL3NyYy9NYWtlZmlsZToxOTE5OiAuXSBFcnJvciAyCm1h a2U6ICoqKiBbTWFrZWZpbGU6MjQwOiBfX3N1Yi1tYWtlXSBFcnJvciAyCiMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBUZXN0UnVubmVyU2V0dXAgLSBGQUlMCkRlc2M6IFNldHVw IGtlcm5lbCBhbmQgYmx1ZXogZm9yIHRlc3QtcnVubmVyCk91dHB1dDoKS2VybmVsOiAKbmV0L2Js dWV0b290aC9tZ210LmM6IEluIGZ1bmN0aW9uIOKAmGNvbm5fdXBkYXRlX3N5bmPigJk6Cm5ldC9i bHVldG9vdGgvbWdtdC5jOjc4ODE6MjogZXJyb3I6IOKAmGNvbm7igJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiA3ODgxIHwgIGNvbm4gPSBoY2lfY29ubl9oYXNoX2xv b2t1cF9sZShoZGV2LCBwYXJhbXMtPmFkZHIuYmRhZGRyLAogICAgICB8ICBefn5+Cm5ldC9ibHVl dG9vdGgvbWdtdC5jOjc4ODE6Mjogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMg cmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KbmV0L2Js dWV0b290aC9tZ210LmM6Nzg4MTo1MTogZXJyb3I6IOKAmGJkYWRkcl904oCZIHtha2Eg4oCYc3Ry dWN0IDxhbm9ueW1vdXM+4oCZfSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGJkYWRkcuKAmQogNzg4 MSB8ICBjb25uID0gaGNpX2Nvbm5faGFzaF9sb29rdXBfbGUoaGRldiwgcGFyYW1zLT5hZGRyLmJk YWRkciwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KbmV0L2JsdWV0b290aC9tZ210LmM6Nzg4NjoyOiBlcnJvcjogZXhwZWN0ZWQg4oCY O+KAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiA3ODg2IHwgIHJldHVybiBoY2lfbGVfY29ubl91cGRh dGVfc3luYyhoZGV2LCBjb25uLCBwYXJhbXMpOwogICAgICB8ICBefn5+fn4KbmV0L2JsdWV0b290 aC9tZ210LmM6IEluIGZ1bmN0aW9uIOKAmGxvYWRfY29ubl9wYXJhbeKAmToKbmV0L2JsdWV0b290 aC9tZ210LmM6Nzk2MDoxMzogZXJyb3I6IOKAmHBhcmFtc+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhwYXJhbeKAmT8KIDc5NjAgfCAg IGlmICghaSAmJiBwYXJhbXMgPT0gMSkgewogICAgICB8ICAgICAgICAgICAgIF5+fn5+fgogICAg ICB8ICAgICAgICAgICAgIHBhcmFtCm5ldC9ibHVldG9vdGgvbWdtdC5jOjc5OTI6MTU6IGVycm9y OiDigJhzdHJ1Y3QgaGNpX2Nvbm7igJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhsZV9zdXBlcnZp c2lvbl90aW1lb3V04oCZOyBkaWQgeW91IG1lYW4g4oCYbGVfc3Vwdl90aW1lb3V04oCZPwogNzk5 MiB8ICAgICAgICAgY29ubi0+bGVfc3VwZXJ2aXNpb25fdGltZW91dCAhPSB0aW1lb3V0KSkKICAg ICAgfCAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgIGxlX3N1cHZfdGltZW91dApuZXQvYmx1ZXRvb3RoL21nbXQuYzo3OTk0OjEwOiBlcnJv cjog4oCYaGNpX3BhcmFtc+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiDigJhoY2lfcGFyYW3igJk/CiA3OTk0IHwgICAgICAgICAgaGNpX3Bh cmFtcywgTlVMTCk7CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fgogICAgICB8ICAgICAgICAg IGhjaV9wYXJhbQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gbmV0L2JsdWV0b290aC9tZ210LmM6MzE6 Cm5ldC9ibHVldG9vdGgvbWdtdC5jOiBBdCB0b3AgbGV2ZWw6Ci4vaW5jbHVkZS9uZXQvYmx1ZXRv b3RoL2hjaV9jb3JlLmg6MTYxNTo0MDogZXJyb3I6IGV4cGVjdGVkIGRlY2xhcmF0aW9uIHNwZWNp ZmllcnMgb3Ig4oCYLi4u4oCZIGJlZm9yZSDigJgm4oCZIHRva2VuCiAxNjE1IHwgI2RlZmluZSBo Y2lfZGV2X3VubG9jayhkKSBtdXRleF91bmxvY2soJmQtPmxvY2spCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo3OTk5 OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhoY2lfZGV2X3VubG9ja+KAmQogNzk5 OSB8ICBoY2lfZGV2X3VubG9jayhoZGV2KTsKICAgICAgfCAgXn5+fn5+fn5+fn5+fn4KbmV0L2Js dWV0b290aC9tZ210LmM6ODAwMToyOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDigJgo 4oCZIGJlZm9yZSDigJhyZXR1cm7igJkKIDgwMDEgfCAgcmV0dXJuIG1nbXRfY21kX2NvbXBsZXRl KHNrLCBoZGV2LT5pZCwgTUdNVF9PUF9MT0FEX0NPTk5fUEFSQU0sIDAsCiAgICAgIHwgIF5+fn5+ fgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo4MDAzOjE6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVy IG9yIOKAmCjigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KIDgwMDMgfCB9CiAgICAgIHwgXgpuZXQv Ymx1ZXRvb3RoL21nbXQuYzogSW4gZnVuY3Rpb24g4oCYbG9hZF9jb25uX3BhcmFt4oCZOgpuZXQv Ymx1ZXRvb3RoL21nbXQuYzo3OTk3OjI6IGVycm9yOiBjb250cm9sIHJlYWNoZXMgZW5kIG9mIG5v bi12b2lkIGZ1bmN0aW9uIFstV2Vycm9yPXJldHVybi10eXBlXQogNzk5NyB8ICB9CiAgICAgIHwg IF4KY2MxOiBzb21lIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2VbNF06ICoq KiBbc2NyaXB0cy9NYWtlZmlsZS5idWlsZDoyNDQ6IG5ldC9ibHVldG9vdGgvbWdtdC5vXSBFcnJv ciAxCm1ha2VbNF06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2VbM106 ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5idWlsZDo0ODU6IG5ldC9ibHVldG9vdGhdIEVycm9yIDIK bWFrZVszXTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KbWFrZVsyXTogKioq IFtzY3JpcHRzL01ha2VmaWxlLmJ1aWxkOjQ4NTogbmV0XSBFcnJvciAyCm1ha2VbMV06ICoqKiBb L2dpdGh1Yi93b3Jrc3BhY2Uvc3JjL3NyYy9NYWtlZmlsZToxOTE5OiAuXSBFcnJvciAyCm1ha2U6 ICoqKiBbTWFrZWZpbGU6MjQwOiBfX3N1Yi1tYWtlXSBFcnJvciAyCiMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwpUZXN0OiBUZXN0UnVubmVyX2wyY2FwLXRlc3RlciAtIEZBSUwKRGVzYzog UnVuIGwyY2FwLXRlc3RlciB3aXRoIHRlc3QtcnVubmVyCk91dHB1dDoKCkNvdWxkIG5vdCBhY2Nl c3MgS1ZNIGtlcm5lbCBtb2R1bGU6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKcWVtdS1zeXN0 ZW0teDg2XzY0OiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBLVk06IE5vIHN1Y2ggZmlsZSBvciBkaXJl Y3RvcnkKcWVtdS1zeXN0ZW0teDg2XzY0OiBCYWNrIHRvIHRjZyBhY2NlbGVyYXRvcgpxZW11OiBj b3VsZCBub3Qgb3BlbiBrZXJuZWwgZmlsZSAnL2dpdGh1Yi93b3Jrc3BhY2Uvc3JjL3NyYy9hcmNo L3g4Ni9ib290L2J6SW1hZ2UnOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBUZXN0UnVubmVyX2lzby10ZXN0ZXIgLSBGQUlMCkRl c2M6IFJ1biBpc28tdGVzdGVyIHdpdGggdGVzdC1ydW5uZXIKT3V0cHV0OgoKQ291bGQgbm90IGFj Y2VzcyBLVk0ga2VybmVsIG1vZHVsZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpxZW11LXN5 c3RlbS14ODZfNjQ6IGZhaWxlZCB0byBpbml0aWFsaXplIEtWTTogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQpxZW11LXN5c3RlbS14ODZfNjQ6IEJhY2sgdG8gdGNnIGFjY2VsZXJhdG9yCnFlbXU6 IGNvdWxkIG5vdCBvcGVuIGtlcm5lbCBmaWxlICcvZ2l0aHViL3dvcmtzcGFjZS9zcmMvc3JjL2Fy Y2gveDg2L2Jvb3QvYnpJbWFnZSc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IFRlc3RSdW5uZXJfYm5lcC10ZXN0ZXIgLSBGQUlM CkRlc2M6IFJ1biBibmVwLXRlc3RlciB3aXRoIHRlc3QtcnVubmVyCk91dHB1dDoKCkNvdWxkIG5v dCBhY2Nlc3MgS1ZNIGtlcm5lbCBtb2R1bGU6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKcWVt dS1zeXN0ZW0teDg2XzY0OiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBLVk06IE5vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnkKcWVtdS1zeXN0ZW0teDg2XzY0OiBCYWNrIHRvIHRjZyBhY2NlbGVyYXRvcgpx ZW11OiBjb3VsZCBub3Qgb3BlbiBrZXJuZWwgZmlsZSAnL2dpdGh1Yi93b3Jrc3BhY2Uvc3JjL3Ny Yy9hcmNoL3g4Ni9ib290L2J6SW1hZ2UnOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBUZXN0UnVubmVyX21nbXQtdGVzdGVyIC0g RkFJTApEZXNjOiBSdW4gbWdtdC10ZXN0ZXIgd2l0aCB0ZXN0LXJ1bm5lcgpPdXRwdXQ6CgpDb3Vs ZCBub3QgYWNjZXNzIEtWTSBrZXJuZWwgbW9kdWxlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 CnFlbXUtc3lzdGVtLXg4Nl82NDogZmFpbGVkIHRvIGluaXRpYWxpemUgS1ZNOiBObyBzdWNoIGZp bGUgb3IgZGlyZWN0b3J5CnFlbXUtc3lzdGVtLXg4Nl82NDogQmFjayB0byB0Y2cgYWNjZWxlcmF0 b3IKcWVtdTogY291bGQgbm90IG9wZW4ga2VybmVsIGZpbGUgJy9naXRodWIvd29ya3NwYWNlL3Ny Yy9zcmMvYXJjaC94ODYvYm9vdC9iekltYWdlJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogVGVzdFJ1bm5lcl9yZmNvbW0tdGVz dGVyIC0gRkFJTApEZXNjOiBSdW4gcmZjb21tLXRlc3RlciB3aXRoIHRlc3QtcnVubmVyCk91dHB1 dDoKCkNvdWxkIG5vdCBhY2Nlc3MgS1ZNIGtlcm5lbCBtb2R1bGU6IE5vIHN1Y2ggZmlsZSBvciBk aXJlY3RvcnkKcWVtdS1zeXN0ZW0teDg2XzY0OiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBLVk06IE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKcWVtdS1zeXN0ZW0teDg2XzY0OiBCYWNrIHRvIHRjZyBh Y2NlbGVyYXRvcgpxZW11OiBjb3VsZCBub3Qgb3BlbiBrZXJuZWwgZmlsZSAnL2dpdGh1Yi93b3Jr c3BhY2Uvc3JjL3NyYy9hcmNoL3g4Ni9ib290L2J6SW1hZ2UnOiBObyBzdWNoIGZpbGUgb3IgZGly ZWN0b3J5CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBUZXN0UnVubmVyX3Nj by10ZXN0ZXIgLSBGQUlMCkRlc2M6IFJ1biBzY28tdGVzdGVyIHdpdGggdGVzdC1ydW5uZXIKT3V0 cHV0OgoKQ291bGQgbm90IGFjY2VzcyBLVk0ga2VybmVsIG1vZHVsZTogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeQpxZW11LXN5c3RlbS14ODZfNjQ6IGZhaWxlZCB0byBpbml0aWFsaXplIEtWTTog Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpxZW11LXN5c3RlbS14ODZfNjQ6IEJhY2sgdG8gdGNn IGFjY2VsZXJhdG9yCnFlbXU6IGNvdWxkIG5vdCBvcGVuIGtlcm5lbCBmaWxlICcvZ2l0aHViL3dv cmtzcGFjZS9zcmMvc3JjL2FyY2gveDg2L2Jvb3QvYnpJbWFnZSc6IE5vIHN1Y2ggZmlsZSBvciBk aXJlY3RvcnkKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IFRlc3RSdW5uZXJf aW9jdGwtdGVzdGVyIC0gRkFJTApEZXNjOiBSdW4gaW9jdGwtdGVzdGVyIHdpdGggdGVzdC1ydW5u ZXIKT3V0cHV0OgoKQ291bGQgbm90IGFjY2VzcyBLVk0ga2VybmVsIG1vZHVsZTogTm8gc3VjaCBm aWxlIG9yIGRpcmVjdG9yeQpxZW11LXN5c3RlbS14ODZfNjQ6IGZhaWxlZCB0byBpbml0aWFsaXpl IEtWTTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpxZW11LXN5c3RlbS14ODZfNjQ6IEJhY2sg dG8gdGNnIGFjY2VsZXJhdG9yCnFlbXU6IGNvdWxkIG5vdCBvcGVuIGtlcm5lbCBmaWxlICcvZ2l0 aHViL3dvcmtzcGFjZS9zcmMvc3JjL2FyY2gveDg2L2Jvb3QvYnpJbWFnZSc6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IFRlc3RS dW5uZXJfbWVzaC10ZXN0ZXIgLSBGQUlMCkRlc2M6IFJ1biBtZXNoLXRlc3RlciB3aXRoIHRlc3Qt cnVubmVyCk91dHB1dDoKCkNvdWxkIG5vdCBhY2Nlc3MgS1ZNIGtlcm5lbCBtb2R1bGU6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKcWVtdS1zeXN0ZW0teDg2XzY0OiBmYWlsZWQgdG8gaW5pdGlh bGl6ZSBLVk06IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKcWVtdS1zeXN0ZW0teDg2XzY0OiBC YWNrIHRvIHRjZyBhY2NlbGVyYXRvcgpxZW11OiBjb3VsZCBub3Qgb3BlbiBrZXJuZWwgZmlsZSAn L2dpdGh1Yi93b3Jrc3BhY2Uvc3JjL3NyYy9hcmNoL3g4Ni9ib290L2J6SW1hZ2UnOiBObyBzdWNo IGZpbGUgb3IgZGlyZWN0b3J5CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpUZXN0OiBU ZXN0UnVubmVyX3NtcC10ZXN0ZXIgLSBGQUlMCkRlc2M6IFJ1biBzbXAtdGVzdGVyIHdpdGggdGVz dC1ydW5uZXIKT3V0cHV0OgoKQ291bGQgbm90IGFjY2VzcyBLVk0ga2VybmVsIG1vZHVsZTogTm8g c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpxZW11LXN5c3RlbS14ODZfNjQ6IGZhaWxlZCB0byBpbml0 aWFsaXplIEtWTTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpxZW11LXN5c3RlbS14ODZfNjQ6 IEJhY2sgdG8gdGNnIGFjY2VsZXJhdG9yCnFlbXU6IGNvdWxkIG5vdCBvcGVuIGtlcm5lbCBmaWxl ICcvZ2l0aHViL3dvcmtzcGFjZS9zcmMvc3JjL2FyY2gveDg2L2Jvb3QvYnpJbWFnZSc6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6 IFRlc3RSdW5uZXJfdXNlcmNoYW4tdGVzdGVyIC0gRkFJTApEZXNjOiBSdW4gdXNlcmNoYW4tdGVz dGVyIHdpdGggdGVzdC1ydW5uZXIKT3V0cHV0OgoKQ291bGQgbm90IGFjY2VzcyBLVk0ga2VybmVs IG1vZHVsZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpxZW11LXN5c3RlbS14ODZfNjQ6IGZh aWxlZCB0byBpbml0aWFsaXplIEtWTTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpxZW11LXN5 c3RlbS14ODZfNjQ6IEJhY2sgdG8gdGNnIGFjY2VsZXJhdG9yCnFlbXU6IGNvdWxkIG5vdCBvcGVu IGtlcm5lbCBmaWxlICcvZ2l0aHViL3dvcmtzcGFjZS9zcmMvc3JjL2FyY2gveDg2L2Jvb3QvYnpJ bWFnZSc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjClRlc3Q6IEluY3JlbWVudGFsQnVpbGQgLSBGQUlMCkRlc2M6IEluY3JlbWVudGFsIGJ1 aWxkIHdpdGggdGhlIHBhdGNoZXMgaW4gdGhlIHNlcmllcwpPdXRwdXQ6CltSRkMsdjJdIEJsdWV0 b290aDogTUdNVDogTWFrZSBNR01UX09QX0xPQURfQ09OTl9QQVJBTSB1cGRhdGUgZXhpc3Rpbmcg Y29ubmVjdGlvbgoKbmV0L2JsdWV0b290aC9tZ210LmM6IEluIGZ1bmN0aW9uIOKAmGNvbm5fdXBk YXRlX3N5bmPigJk6Cm5ldC9ibHVldG9vdGgvbWdtdC5jOjc4ODE6MjogZXJyb3I6IOKAmGNvbm7i gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiA3ODgxIHwgIGNvbm4g PSBoY2lfY29ubl9oYXNoX2xvb2t1cF9sZShoZGV2LCBwYXJhbXMtPmFkZHIuYmRhZGRyLAogICAg ICB8ICBefn5+Cm5ldC9ibHVldG9vdGgvbWdtdC5jOjc4ODE6Mjogbm90ZTogZWFjaCB1bmRlY2xh cmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0 IGFwcGVhcnMgaW4KbmV0L2JsdWV0b290aC9tZ210LmM6Nzg4MTo1MTogZXJyb3I6IOKAmGJkYWRk cl904oCZIHtha2Eg4oCYc3RydWN0IDxhbm9ueW1vdXM+4oCZfSBoYXMgbm8gbWVtYmVyIG5hbWVk IOKAmGJkYWRkcuKAmQogNzg4MSB8ICBjb25uID0gaGNpX2Nvbm5faGFzaF9sb29rdXBfbGUoaGRl diwgcGFyYW1zLT5hZGRyLmJkYWRkciwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KbmV0L2JsdWV0b290aC9tZ210LmM6Nzg4NjoyOiBl cnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiA3ODg2IHwgIHJldHVy biBoY2lfbGVfY29ubl91cGRhdGVfc3luYyhoZGV2LCBjb25uLCBwYXJhbXMpOwogICAgICB8ICBe fn5+fn4KbmV0L2JsdWV0b290aC9tZ210LmM6IEluIGZ1bmN0aW9uIOKAmGxvYWRfY29ubl9wYXJh beKAmToKbmV0L2JsdWV0b290aC9tZ210LmM6Nzk2MDoxMzogZXJyb3I6IOKAmHBhcmFtc+KAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhw YXJhbeKAmT8KIDc5NjAgfCAgIGlmICghaSAmJiBwYXJhbXMgPT0gMSkgewogICAgICB8ICAgICAg ICAgICAgIF5+fn5+fgogICAgICB8ICAgICAgICAgICAgIHBhcmFtCm5ldC9ibHVldG9vdGgvbWdt dC5jOjc5OTI6MTU6IGVycm9yOiDigJhzdHJ1Y3QgaGNpX2Nvbm7igJkgaGFzIG5vIG1lbWJlciBu YW1lZCDigJhsZV9zdXBlcnZpc2lvbl90aW1lb3V04oCZOyBkaWQgeW91IG1lYW4g4oCYbGVfc3Vw dl90aW1lb3V04oCZPwogNzk5MiB8ICAgICAgICAgY29ubi0+bGVfc3VwZXJ2aXNpb25fdGltZW91 dCAhPSB0aW1lb3V0KSkKICAgICAgfCAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgIGxlX3N1cHZfdGltZW91dApuZXQvYmx1ZXRvb3RoL21n bXQuYzo3OTk0OjEwOiBlcnJvcjog4oCYaGNpX3BhcmFtc+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhoY2lfcGFyYW3igJk/CiA3OTk0 IHwgICAgICAgICAgaGNpX3BhcmFtcywgTlVMTCk7CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+ fgogICAgICB8ICAgICAgICAgIGhjaV9wYXJhbQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gbmV0L2Js dWV0b290aC9tZ210LmM6MzE6Cm5ldC9ibHVldG9vdGgvbWdtdC5jOiBBdCB0b3AgbGV2ZWw6Ci4v aW5jbHVkZS9uZXQvYmx1ZXRvb3RoL2hjaV9jb3JlLmg6MTYxNTo0MDogZXJyb3I6IGV4cGVjdGVk IGRlY2xhcmF0aW9uIHNwZWNpZmllcnMgb3Ig4oCYLi4u4oCZIGJlZm9yZSDigJgm4oCZIHRva2Vu CiAxNjE1IHwgI2RlZmluZSBoY2lfZGV2X3VubG9jayhkKSBtdXRleF91bmxvY2soJmQtPmxvY2sp CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpuZXQvYmx1 ZXRvb3RoL21nbXQuYzo3OTk5OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhoY2lf ZGV2X3VubG9ja+KAmQogNzk5OSB8ICBoY2lfZGV2X3VubG9jayhoZGV2KTsKICAgICAgfCAgXn5+ fn5+fn5+fn5+fn4KbmV0L2JsdWV0b290aC9tZ210LmM6ODAwMToyOiBlcnJvcjogZXhwZWN0ZWQg aWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9yZSDigJhyZXR1cm7igJkKIDgwMDEgfCAgcmV0dXJu IG1nbXRfY21kX2NvbXBsZXRlKHNrLCBoZGV2LT5pZCwgTUdNVF9PUF9MT0FEX0NPTk5fUEFSQU0s IDAsCiAgICAgIHwgIF5+fn5+fgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo4MDAzOjE6IGVycm9yOiBl eHBlY3RlZCBpZGVudGlmaWVyIG9yIOKAmCjigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KIDgwMDMg fCB9CiAgICAgIHwgXgpuZXQvYmx1ZXRvb3RoL21nbXQuYzogSW4gZnVuY3Rpb24g4oCYbG9hZF9j b25uX3BhcmFt4oCZOgpuZXQvYmx1ZXRvb3RoL21nbXQuYzo3OTk3OjI6IGVycm9yOiBjb250cm9s IHJlYWNoZXMgZW5kIG9mIG5vbi12b2lkIGZ1bmN0aW9uIFstV2Vycm9yPXJldHVybi10eXBlXQog Nzk5NyB8ICB9CiAgICAgIHwgIF4KY2MxOiBzb21lIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMg ZXJyb3JzCm1ha2VbNF06ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5idWlsZDoyNDQ6IG5ldC9ibHVl dG9vdGgvbWdtdC5vXSBFcnJvciAxCm1ha2VbM106ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5idWls ZDo0ODU6IG5ldC9ibHVldG9vdGhdIEVycm9yIDIKbWFrZVsyXTogKioqIFtzY3JpcHRzL01ha2Vm aWxlLmJ1aWxkOjQ4NTogbmV0XSBFcnJvciAyCm1ha2VbMl06ICoqKiBXYWl0aW5nIGZvciB1bmZp bmlzaGVkIGpvYnMuLi4uCm1ha2VbMV06ICoqKiBbL2dpdGh1Yi93b3Jrc3BhY2Uvc3JjL3NyYy9N YWtlZmlsZToxOTE5OiAuXSBFcnJvciAyCm1ha2U6ICoqKiBbTWFrZWZpbGU6MjQwOiBfX3N1Yi1t YWtlXSBFcnJvciAyCgoKLS0tClJlZ2FyZHMsCkxpbnV4IEJsdWV0b290aAoK --===============4342751131792461884==--