From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id A7E2D48CC6 for ; Wed, 24 Jan 2024 08:51:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 60AB868D131; Wed, 24 Jan 2024 10:51:09 +0200 (EET) Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 48FFD68D01B for ; Wed, 24 Jan 2024 10:51:03 +0200 (EET) Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-40e80046264so65500165e9.0 for ; Wed, 24 Jan 2024 00:51:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706086262; x=1706691062; darn=ffmpeg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=I45A3WagaWqvTLG4JjKCJUTeZOAwAV1u4U1oL3O9NMc=; b=nQJsGu6fslY9ZNX0E4unY3HuijD15pSUfHAz3cc0XIjy+V3oE03w/DfoUhcs/6JBZL GA97gNIwRyk45Veqr3YdvszvDAXPd/t+Q9vL5TdNCbeN/SuXCiDA3tVp04DKnkGnATnG r8a716KWHTTQLjp1p3Pzz0rVxoVyVGXR/FnwzJyEAd85MeUjU14fM2Pk666aw6aHAoRT Hd6qCggKFQt0wuZgbjTKxjghJzLJ2GfAuvLWE832cvf/7lFl13zg66mc3RtAGy0GbFQy TvJBSiMlQSw9hp2SfEPH4X0Tn90RumXfyILei0wPFiBScNbn91Qc8U5kQeqfsuJ6lYCs wAjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706086262; x=1706691062; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=I45A3WagaWqvTLG4JjKCJUTeZOAwAV1u4U1oL3O9NMc=; b=pPnt88Jjc1bNFtwo8V3Z1m/d3n3JvSaR3Zh88NT1nkIf+aDOFZ8VwYpFwxhfF1v8dL uYusCtbu5aAbK5HZFDrSKuE+0UH+GEp4TTslh9MZoa+oGn4swaGYRR0QQtrk5X6Qsr0i 34wWI1JuaNBA1mlhcW4YcDq/BCnKFkj2VuLT+Zvxob8x4/monoasw9Vs3SAYD79yfJ8N EFqU2w3gPC5Q9bHvokAe9D8YEQzuFnfhIR1iVJ/yqwbKMz7+HeS+2oLsOQeEKpjy7OiT ZaEq3SIaxmeIJLeYyCoiNbZ4csxGyqbaM1EinT7MH6Hi1fVvFSFKCj7ktFcKLgSl3iAe VUIg== X-Gm-Message-State: AOJu0Yxy0iCUCcOXiWGb73ZZM3jHWamSszlwITt9rL7JZmxdHbdQbtZG jiSHuoET+KieZEra3wAsyAMsacxrvHdyiVtiSUaKwDx9T7YI418naEihJ7t4eIyomjtaohqdtbV Eq9it76b4mzUqG0J09WW1SLBMiNRF/iiF7YIf0Q== X-Google-Smtp-Source: AGHT+IFiV6MHW9tTmY7UVktguUlpPeKVNW3cWP4z1CCHfWL3UHSBz1lMV0y6RFubecbmY5z5dUyAS3RZ88+37xQLa8c= X-Received: by 2002:a05:600c:6b0d:b0:40d:5f62:757a with SMTP id jn13-20020a05600c6b0d00b0040d5f62757amr970593wmb.176.1706086261997; Wed, 24 Jan 2024 00:51:01 -0800 (PST) MIME-Version: 1.0 References: <0e7aec235bb0481be4abb314a615210484914ad9.camel@haerdin.se> In-Reply-To: <0e7aec235bb0481be4abb314a615210484914ad9.camel@haerdin.se> From: Victor Luchitz Date: Wed, 24 Jan 2024 11:50:50 +0300 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] libavcodec: add bit-rate support to RoQ video encoder X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gVHVlLCBKYW4gMjMsIDIwMjQgYXQgODo0NOKAr1BNIFRvbWFzIEjDpHJkaW4gPGdpdEBoYWVy ZGluLnNlPiB3cm90ZToKCj4gdGlzIDIwMjQtMDEtMjMga2xvY2thbiAxMTozMyArMDMwMCBza3Jl diBWaWN0b3IgTHVjaGl0ejoKPiA+IFJlLXBvc3RpbmcgdGhlIHBhdGNoIGFzIGFuIGF0dGFjaG1l bnQuIFNvcnJ5IGZvciB0aGUgaW5jb252ZW5pZW5jZSEKPgo+IFllcCwgdGhpcyBvbmUgYXBwbGll cyBhbmQgYWxzbyBwYXNzZXMgRkFURS4KPgo+IEkgbm90aWNlIGZmcGxheV9idWZmZXIgd2hpbmVz IGEgbG90IHdoZW4gcGxheWluZyBSb1EgZmlsZXM6Cj4KPiA+IFtzd3NjYWxlciBAIDB4N2ZjYjQ0 MDQzMjQwXSBkZXByZWNhdGVkIHBpeGVsIGZvcm1hdCB1c2VkLCBtYWtlIHN1cmUgeW91Cj4gZGlk IHNldCByYW5nZSBjb3JyZWN0bHkKPiA+IFtmZnBsYXlfYnVmZmVyIEAgMHg3ZmNiNDQwMzJmYzBd IGZpbHRlciBjb250ZXh0IC0gdzogMjU2IGg6IDI1NiBmbXQ6IDE0Cj4gY3NwOiB1bmtub3duIHJh bmdlOiB1bmtub3duLCBpbmNvbWluZyBmcmFtZSAtIHc6IDI1NiBoOiAyNTYgZm10OiAxNCBjc3A6 Cj4gdW5rbm93biByYW5nZTogcGMgcHRzX3RpbWU6IDAKPiA+IFtmZnBsYXlfYnVmZmVyIEAgMHg3 ZmNiNDQwMzJmYzBdIENoYW5naW5nIHZpZGVvIGZyYW1lIHByb3BlcnRpZXMgb24gdGhlCj4gZmx5 IGlzIG5vdCBzdXBwb3J0ZWQgYnkgYWxsIGZpbHRlcnMuCj4KPiBJIGRvbid0IHRoaW5rIHRoaXMg cHJvYmxlbSByZWxhdGVzIHRvIHRoaXMgcGF0Y2ggaG93ZXZlci4KPgoKSXQgZGVmaW5pdGVseSBk b2Vzbid0LiBJZiB3ZSBkZWNpZGUgdGhpcyBuZWVkcyBpcm9uaW5nIG91dCwgaXQnZCBnbyBpbiBh CnNlcGFyYXRlCnBhdGNoIGluIG15IG9waW5pb24uCgoKPgo+IEFueXdheSwgdXNpbmcgLWI6diAx MDBrIGNhdXNlcyB0aGUgZW5jb2RlciB0byBlZmZlY3RpdmVseSBiZWNvbWUgc3R1Y2sKPiBvbiB0 aGUgZmlyc3QgZnJhbWUsIGJlaW5nIHVuYWJsZSB0byBnbyBiZWxvdyA2MjEga2JwcyBhbmQgaW5j cmVhc2luZwo+IHFzY2FsZSB2ZXJ5IHNsb3dseS4gQnV0IHlvdSBtZW50aW9uZWQgdGhpcyBhbHJl YWR5IG9mIGNvdXJzZS4gUGVyaGFwcwo+IHRoZXJlIHNob3VsZCBiZSBhIGZhc3RlciAic3RhcnR1 cCIgcGhhc2U/IFN1YnNlcXVlbnQgZnJhbWVzIGJlaW5nIFAtCj4gZnJhbWVzIG1heSBsZWFkIHRv IHRoZSBhdmVyYWdlIGhpdHRpbmcgdGhlIHRhcmdldCBiaXRyYXRlLgo+CgpJJ20gbm90IHN1cmUg d2UnZCBnbyBhcyBmYXIgYXMgc3BlY2lhbC1jYXNpbmcgdGhlIGVuY29kZXIgZm9yIGV4dHJlbWVs eSBsb3cKYml0LXJhdGVzIGF0IGhpZ2ggaW1hZ2UgcmVzb2x1dGlvbnMuIEkgbWVhbiwgaWYgeW91 IHdhbnQgbG93IHBpY3R1cmUKcXVhbGl0eSwKdGhlIHByb3BlciB3YXkgZm9yIFJvUSB3b3VsZCBi ZSB0byBzY2FsZSBkb3duIHlvdXIgdmlkZW8gdG8gYSBsb3dlcgpyZXNvbHV0aW9uCmluc3RlYWQg b2YgdHVybmluZyB0aGUgdmlkZW8gaW50byBhIGh1Z2UgdWdseSBtZXNzIG9mIG1hY3JvYmxvY2tz LgoKVGhlIG1haW4gaXNzdWVzIHdpdGggYWxsb3dpbmcgYSBsYXJnZXIga2V5ZnJhbWUgYW5kIHRo ZW4gdHJ5aW5nIHRvIG1ha2UgaXQKdXAgb24gc3Vic2VxdWVudCBmcmFtZXMgYXJlOiBkb2FibGUg Zm9yIEZJUlNUIGZyYW1lLCBtYXkgY2F1c2UgYnVmZmVyCnVuZGVycnVuIG9uIGxhdGVyIGtleWZy YW1lczsgd2UgYXJlIHRhcmdldGluZyBDRFJPTSBtZWRpYSB3aXRoIHRoaXMgcGF0Y2gsCmJlIGl0 IDFYLCAyWCwgd2hhdGV2ZXIuIFdlIGNhbm5vdCBoYXZlIHRvbyBtdWNoIHZhcmlhbmNlIGluIHRo ZSBmcmFtZSBzaXplcwooYmlnZ2VyKS4gU21hbGxlciBpcyBhbGxvd2FibGUsIGJ1dCBub3QgYmln Z2VyLgoKSXQncyBPSyBpZiBlbmNvZGluZyB0YWtlcyBzb21lIHRpbWUgOikKCgo+IEV2ZW4gd2hl biB1c2luZyAxIE1icHMgdGhlIGVuY29kaW5nIGlzIHZlcnkgc2xvdzoKPgo+IC4vZmZtcGVnIC1y OnYgMzAgLXQgMSAtZiBsYXZmaSAtaSB0ZXN0c3JjMiAtcyAyNTZ4MjU2IC1iOnYgMTAwMGsgLXkK PiBmb28tMTAwMGsucm9xCj4KPiA+IFtyb3F2aWRlbyBAIDB4MzExMjk4MF0KPiA+IEdlbmVyYXRl ZCBhIGZyYW1lIHRvbyBiaWcgZm9yIGRlc2lyZWQgYml0IHJhdGUgKDE0ODkga2JwcyksIG5vdwo+ IHN3aXRjaGluZyB0byBhIGJpZ2dlciBxc2NhbGUgdmFsdWUgKDI1NykuCj4gPiBbcm9xdmlkZW8g QCAweDMxMTI5ODBdCj4gPiBHZW5lcmF0ZWQgYSBmcmFtZSB0b28gYmlnIGZvciBkZXNpcmVkIGJp dCByYXRlICgxNDg5IGticHMpLCBub3cKPiBzd2l0Y2hpbmcgdG8gYSBiaWdnZXIgcXNjYWxlIHZh bHVlICgyNTkpLgo+ID4gWy4uLl0KPiA+IEdlbmVyYXRlZCBhIGZyYW1lIHRvbyBiaWcgZm9yIGRl c2lyZWQgYml0IHJhdGUgKDExMDAga2JwcyksIG5vdwo+IHN3aXRjaGluZyB0byBhIGJpZ2dlciBx c2NhbGUgdmFsdWUgKDE5Njg2MykuCj4gPiBbcm9xdmlkZW8gQCAweDMxMTI5ODBdIC4wIHNpemU9 ICAgICAgIDBrQiB0aW1lPU4vQSBiaXRyYXRlPU4vQQo+IHNwZWVkPU4vQQo+ID4gR2VuZXJhdGVk IGEgZnJhbWUgdG9vIGJpZyBmb3IgZGVzaXJlZCBiaXQgcmF0ZSAoMTA2OSBrYnBzKSwgbm93Cj4g c3dpdGNoaW5nIHRvIGEgYmlnZ2VyIHFzY2FsZSB2YWx1ZSAoMjYyMzk5KS4KPiA+IFtyb3F2aWRl byBAIDB4MzExMjk4MF0KPiA+IEdlbmVyYXRlZCBhIGZyYW1lIHRvbyBzbWFsbCBmb3IgZGVzaXJl ZCBiaXQgcmF0ZSAoNjAxIGticHMpLCByZXZlcnRpbmcKPiBsYW1iZGEgYW5kIHVzaW5nIHNtYWxs ZXIgaW5jIG9uIHFzY2FsZSAoMTk2ODYzKS4KPiA+IFtyb3F2aWRlbyBAIDB4MzExMjk4MF0gMC4w IHNpemU9ICAgICAgMTdrQiB0aW1lPTAwOjAwOjAwLjE2IGJpdHJhdGU9Cj4gODEyLjdrYml0cy9z IHNwZWVkPTAuMDQ3NngKPiA+IEdlbmVyYXRlZCBhIGZyYW1lIHRvbyBzbWFsbCBmb3IgZGVzaXJl ZCBiaXQgcmF0ZSAoOTE1IGticHMpLCBxc2NhbGUKPiB2YWx1ZSBjYW5ub3QgYmUgbG93ZXJlZCBh bnkgZnVydGhlciAoMSkuCj4gPiBbLi4uXQo+ID4gW3JvcXZpZGVvIEAgMHgzMTEyOTgwXQo+ID4g R2VuZXJhdGVkIGEgZnJhbWUgdG9vIGJpZyBmb3IgZGVzaXJlZCBiaXQgcmF0ZSAoMTA4NCBrYnBz KSwgbm93Cj4gc3dpdGNoaW5nIHRvIGEgYmlnZ2VyIHFzY2FsZSB2YWx1ZSAoMzI3NjgwKS4KPiA+ IFtyb3F2aWRlbyBAIDB4MzExMjk4MF0KPiA+IEdlbmVyYXRlZCBhIGZyYW1lIHRvbyBiaWcgZm9y IGRlc2lyZWQgYml0IHJhdGUgKDEwNjgga2JwcyksIG5vdwo+IHN3aXRjaGluZyB0byBhIGJpZ2dl ciBxc2NhbGUgdmFsdWUgKDM5MzIxNikuCj4gPiBbcm9xdmlkZW8gQCAweDMxMTI5ODBdIDAuMCBz aXplPSAgICAgIDQya0IgdGltZT0wMDowMDowMC40MCBiaXRyYXRlPQo+IDg2Ni41a2JpdHMvcyBz cGVlZD0wLjA2Njd4Cj4gPiBHZW5lcmF0ZWQgYSBmcmFtZSB0b28gc21hbGwgZm9yIGRlc2lyZWQg Yml0IHJhdGUgKDUxNCBrYnBzKSwgcmV2ZXJ0aW5nCj4gbGFtYmRhIGFuZCB1c2luZyBzbWFsbGVy IGluYyBvbiBxc2NhbGUgKDMyNzY4MCkuCj4gPiBbcm9xdmlkZW8gQCAweDMxMTI5ODBdIDAuMCBz aXplPSAgICAgIDYya0IgdGltZT0wMDowMDowMC41NiBiaXRyYXRlPQo+IDg5Ni4ya2JpdHMvcyBz cGVlZD0wLjA3MDh4Cj4gPiBHZW5lcmF0ZWQgYSBmcmFtZSB0b28gc21hbGwgZm9yIGRlc2lyZWQg Yml0IHJhdGUgKDkwMSBrYnBzKSwgcXNjYWxlCj4gdmFsdWUgY2Fubm90IGJlIGxvd2VyZWQgYW55 IGZ1cnRoZXIgKDEpLgo+Cj4gVGhpcyBzdWdnZXN0cyBhbiB1bnN0YWJsZSByZWd1bGF0aW9uIGxv b3AuIEl0IGFsc28gbWFrZXMgdGhlIGVuY29kZXIKPiBzbG93ZXIgdGhhbiB0aGUgQ2luZXBhayBl bmNvZGVyLCBhbWF6aW5nbHkuIDU5LjYgdnMgMjEuNTcgc2Vjb25kcyBmb3IKPiBlbmNvZGluZyA5 MCBmcmFtZXMgb2YgZGltZW5zaW9uIDI1NngyNTYuCj4KPiAtYnQgc2hvdWxkIGhhdmUgYSBkZWZh dWx0IG9mIDAsIGFuZCBzaW1pbGFyIGRlZmF1bHQgbG9naWMgYXMgLWIuIFRoZQo+IGRlZmF1bHQg b2YgYml0cmF0ZS8yMCBhbHNvIHNlZW1zIGV4Y2Vzc2l2ZWx5IHNtYWxsPyBJZiBJIGNoYW5nZSB0 aGUKPiBkZWZhdWx0IHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBiaXRyYXRlIHRoZW4gdGhlIGVuY29k aW5nIHRpbWUgYWJvdmUKPiBzaHJpbmtzIHRvIDExLjcgc2Vjb25kcy4KPgoKVGhlIHJlYXNvbiBm b3IgdGhlIGRlZmF1bHQgdGlnaHQgYml0cmF0ZSB0b2xlcmFuY2UgaXMgZXhwbGFpbmVkIGFib3Zl Ogp3ZSdyZSB0YXJnZXRpbmcgc2xvdyAxeCBhbmQgMnggc3BlZWQgQ0QtUk9NIGRyaXZlcy4uCgpI b3dldmVyLCBpZiB5b3UgZmVlbCB3ZSBuZWVkIHRvIGNoYW5nZSBpdCB0byBzb21ldGhpbmcgZWxz ZSwgdGhhdCdzIGZpbmUsCmFzIGxvbmcgYXMgd2UgY2FuIG92ZXJyaWRlIGl0IHZpYSB0aGUgY29t bWFuZCBsaW5lIDopCgoKPgo+IFRoZXJlIGlzIGFuIGV4Y2Vzc2l2ZSBuZXdsaW5lIHZpc2libGUg aGVyZToKPgo+ID4gKyAgICAgICAgICAgICAgICAgICAiXG5HZW5lcmF0ZWQgYSBmcmFtZSB0b28g YmlnIGZvciBkZXNpcmVkIGJpdCByYXRlCj4gPiAoJWQga2JwcyksICIKPgo+IEFuZCBlbHNld2hl cmUuCj4KPiBVc2luZyBub24taW50ZWdlciBmcmFtZXJhdGVzIGNhdXNlcyB0aGUgZW5jb2RlciB0 byBnbyBiYW5hbmFzLiBGb3IKPiBleGFtcGxlIDI0MDAwLzEwMDEgZnBzIG1ha2VzIHRoZSByYXRl Y29udHJvbCB0aGluayBpdCdzIHJ1bm5pbmcgYXQKPiAyNDAwMCBmcHMuIEFuIGVhc3kgZml4IGlz IHRvIHJlamVjdCBhdmN0eC0+dGltZV9iYXNlLm51bSAhPSAxIG9uIGluaXQuCj4gcm9xX3dyaXRl X2hlYWRlcigpIHJlamVjdHMgbm9uLWludGVnZXIgZnJhbWVyYXRlcy4KPgoKU2VlbXMgdG8gbWUg bGlrZSBhIHNvbWV3aGF0IGdlbmVyaWMgY2xlYW51cCBjaGFuZ2UgdGhhdCBzaG91bGRuJ3QKbmVj ZXNzYXJpbHkgZ28gd2l0aCB0aGlzIHBhdGNoLiBJJ20gT0sgd2l0aCBidW5kbGluZyBpdCB3aXRo IGV2ZXJ5dGhpbmcKZWxzZSB0aG91Z2guCgoKPgo+IEknbSBhbHNvIGN1cmlvdXMgYWJvdXQgdGhp cyBodW5rOgo+Cj4gPiAtICAgICAgICBpZiAoZW5jLT5sYW1iZGEgPiAxMDAwMDApIHsKPiA+ICsg ICAgICAgIGlmIChlbmMtPmxhbWJkYSA+IDEwMDAwMDAwMCkgewo+ID4gICAgICAgICAgICAgIGF2 X2xvZyhyb3EtPmxvZ2N0eCwgQVZfTE9HX0VSUk9SLCAiQ2Fubm90IGVuY29kZSB2aWRlbyBpbgo+ IFF1YWtlIGNvbXBhdGlibGUgZm9ybVxuIik7Cj4gPiAgICAgICAgICAgICAgcmV0dXJuIEFWRVJS T1IoRUlOVkFMKTsKPiA+ICAgICAgICAgIH0KPgo+IFdoZXJlIGluIHRoZSBRdWFrZSAoMz8pIHNv dXJjZSBjb2RlIGlzIHRoaXMgbGltaXRhdGlvbj8gU2VlbXMgcmF0aGVyCj4gdGhhdCB0aGVyZSBz aG91bGQgYmUgYSByZXRyeSBsaW1pdC4gVGhlcmUncyBwcm9iYWJseSBubyBoYXJtIGluIGtlZXBp bmcKPiBnb2luZyBzbyBsb25nIGFzIHRoZSBwYWNrZXQgZG9lc24ndCBlbmQgdXAgYWJvdmUgdGhl IGxpbWl0Lgo+CgpJbiBvdXIgdGVzdHMgd2UgZm91bmQgdGhhdCBsYW1iZGEgY2FuIGdvIHdheSBo aWdoZXIgdGhhbiB0aGUgb3JpZ2luYWwKMTAwMDAwLiBTdG9wcGluZyBhdCAxMDAwMDAgaXMgYXJ0 aWZpY2lhbGx5IHJlc3RyaWN0aW5nIHlvdXJzZWxmIHdoZW4geW91CmNhbiBnbyBtdWNoIGZ1cnRo ZXIuIDEwMDAwMDAwMCBpcyBoaWdoIGVub3VnaCB0byBhbGxvdyAxWCAgYml0cmF0ZXMKZXZlbiBv biBleHRyZW1lIGZyYW1lcy4KCgo+Cj4gQSBxdWljayBsb2dhcml0aG1pYyByZWdyZXNzaW9uIG9u IGJpdHJhdGUgdnMgcXNjYWxlIHN1Z2dlc3RzIGl0IHNjYWxlcwo+IHdpdGggc29tZXdoZXJlIGJl dHdlZW4gcXNjYWxlXi0wLjI4MzMgYW5kIHFzY2FsZV4tMC4yODQyLiBDb252ZXJzZWx5LAo+IHRv IGhpdCBhIHNwZWNpZmljIGJpdHJhdGUsIHRyeSBzY2FsaW5nIHFzY2FsZSB3aXRoIHRoZSBiaXRy YXRlIHJhdGlvCj4gcmFpc2VkIHRvIGFyb3VuZCAzLjUuIEEgbW9yZSBjb25zZXJ2YXRpdmUgZXhw b25lbnQgbGlrZSAyIGlzIHByb2JhYmx5Cj4gYWxzbyBmaW5lLiBTZWUgcGF0Y2ggYXR0YWNoZWQu Cj4KClRoYW5rcyBzbyBtdWNoIGZvciB0aGUgcGF0Y2ghIEkndmUgdGVzdGVkIGl0IG9uIGEgcHJl dHR5IGxvbmcgaGlyZXMgdmlkZW8gYXQKODM1a2JwcyBhbmQgZXZlcnl0aGluZyBzZWVtcyB0byB3 b3JrIGZpbmUuIFRoZSBydW50aW1lIHdhcyAybTM5cyBmb3IKYm90aDogdGhlIG9yaWdpbmFsIGFu ZCB5b3VyIHZlcnNpb24uCgoKCj4KPiBBIG1vcmUgc3lzdGVtYXRpYyBhcHByb2FjaCBtaWdodCBi ZSB0byBkbyBhIGJpbmFyeSBzZWFyY2ggZm9yIHFzY2FsZSwKPiB3aXRoIGFuIGluaXRpYWwgZ3Vl c3MgcGVyIHRoZSBmb3JtdWxhIGFib3ZlLgo+Cj4gL1RvbWFzCj4KPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxp c3QKPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+Cj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJv dmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1Ympl Y3QgInVuc3Vic2NyaWJlIi4KPgoKCi0tIApCZXN0IHJlZ2FyZHMsCiBWaWN0b3IgTHVjaGl0egpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2 ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxp bmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBz dWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==