From nobody@FreeBSD.org  Wed Feb 13 10:33:25 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115])
	by hub.freebsd.org (Postfix) with ESMTP id 0FA06D58
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 13 Feb 2013 10:33:25 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id E63B29A2
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 13 Feb 2013 10:33:24 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.5/8.14.5) with ESMTP id r1DAXOMu032009
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 13 Feb 2013 10:33:24 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.5/8.14.5/Submit) id r1DAXO93032008;
	Wed, 13 Feb 2013 10:33:24 GMT
	(envelope-from nobody)
Message-Id: <201302131033.r1DAXO93032008@red.freebsd.org>
Date: Wed, 13 Feb 2013 10:33:24 GMT
From: Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [MAINTAINER] Adding an option to disable TUI and correctly enabling all targets
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         176103
>Category:       ports
>Synopsis:       [MAINTAINER] devel/gdb: Adding an option to disable TUI and correctly enabling all targets
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pawel
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Feb 13 10:40:00 UTC 2013
>Closed-Date:    Wed Mar 13 16:16:17 UTC 2013
>Last-Modified:  Wed Mar 13 16:20:00 UTC 2013
>Originator:     Luca Pizzamiglio
>Release:        FreeBSD 8.3-STABLE
>Organization:
>Environment:
FreeBSD pizzamig.yyy.zz 8.3-STABLE FreeBSD 8.3-STABLE #0: Tue Jan  8 12:50:34 CET 2013     root@pizzamig.yyy.zz:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
Update to:
* add an option to disable the Text User Interface
* fix a small configuration issue (thanks to Andreas Tobler)
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

diff -uNr devel/gdb.orig/Makefile devel/gdb/Makefile
--- devel/gdb.orig/Makefile	2012-12-16 17:50:52.000000000 +0100
+++ devel/gdb/Makefile	2013-02-13 11:26:27.000000000 +0100
@@ -1,5 +1,5 @@
 # Created by: Steven Kreuzer <skreuzer@FreeBSD.org>
-# $FreeBSD: ports/devel/gdb/Makefile,v 1.28 2012/12/16 16:50:52 svnexp Exp $
+# $FreeBSD$
 
 PORTNAME=	gdb
 PORTVERSION=	7.5.1
@@ -20,8 +20,7 @@
 		--with-gdb-datadir=${PREFIX}/share/gdb${PORTVERSION:S/.//g} \
 		--with-libiconv-prefix=${LOCALBASE} \
 		--without-libunwind-ia64 \
-		--enable-target=all \
-		--enable-tui
+		--enable-targets=all
 CFLAGS:=	${CFLAGS:C/ +$//}	# blanks at EOL creep in sometimes
 CFLAGS+=	-DRL_NO_COMPAT
 EXCLUDE=	dejagnu expect sim texinfo intl
@@ -33,14 +32,15 @@
 
 ONLY_FOR_ARCHS=	i386 amd64	# untested elsewhere, might work
 
-OPTIONS_DEFINE=	DEBUG EXPAT PYTHON THREADS GDB_LINK
+OPTIONS_DEFINE=	DEBUG EXPAT PYTHON THREADS TUI GDB_LINK
 OPTIONS_SINGLE_READLINE=	BASE_READLINE BUNDLED_READLINE PORT_READLINE
 OPTIONS_SINGLE=	READLINE
-BASE_READLINE_DESC=	from base system (EXPERIMENTAL)
+BASE_READLINE_DESC=	from base system(EXPERIMENTAL)
 BUNDLED_READLINE_DESC=	from gdb distfile
 PORT_READLINE_DESC=	from devel/readline port
 GDB_LINK_DESC=	Create the gdb link
-OPTIONS_DEFAULT=	THREADS GDB_LINK PORT_READLINE
+TUI_DESC=	Text User Interface enabled
+OPTIONS_DEFAULT=	THREADS TUI GDB_LINK PORT_READLINE
 
 .include <bsd.port.options.mk>
 
@@ -50,8 +50,12 @@
 PLIST_SUB+=	GDB_LINK="@comment "
 .endif
 
-.if ${PORT_OPTIONS:MPYTHON}
-USE_PYTHON=	2.5-2.7
+.if ${PORT_OPTIONS:MTUI}
+CONFIGURE_ARGS+=	--enable-tui
+PLIST_SUB+=	TUI_LINK=""
+.else
+CONFIGURE_ARGS+=	--disable-tui
+PLIST_SUB+=	TUI_LINK="@comment "
 .endif
 
 .if empty(PORT_OPTIONS:MBUNDLED_READLINE)
@@ -67,6 +71,16 @@
 .if ${PORT_OPTIONS:MPORT_READLINE}
 USE_READLINE=	port
 .endif
+
+.if ${PORT_OPTIONS:MPYTHON}
+USE_PYTHON=	2.5-2.7
+CONFIGURE_ARGS+=	--with-python=${PYTHON_CMD}
+PLIST_SUB+=		PYTHON=""
+.else
+CONFIGURE_ARGS+=	--without-python
+PLIST_SUB+=		PYTHON="@comment "
+.endif
+
 .include <bsd.port.pre.mk>
 
 .if ${PORT_OPTIONS:MTHREADS}
@@ -84,14 +98,6 @@
 CONFIGURE_ARGS+=	--without-expat
 .endif
 
-.if ${PORT_OPTIONS:MPYTHON}
-CONFIGURE_ARGS+=	--with-python=${PYTHON_CMD}
-PLIST_SUB+=		PYTHON=""
-.else
-CONFIGURE_ARGS+=	--without-python
-PLIST_SUB+=		PYTHON="@comment "
-.endif
-
 .if ${ARCH} == "amd64"
 CONFIGURE_TARGET=	x86_64-portbld-freebsd${OSREL}
 .endif
@@ -105,8 +111,10 @@
 
 do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/gdb/gdb ${PREFIX}/bin/gdb${VER}
-	${LN} -sf ${PREFIX}/bin/gdb${VER} ${PREFIX}/bin/gdbtui${VER}
 	${INSTALL_MAN} ${WRKSRC}/gdb/gdb.1 ${MAN1PREFIX}/man/man1/gdb${VER}.1
+.if ${PORT_OPTIONS:MTUI}
+	${LN} -sf ${PREFIX}/bin/gdb${VER} ${PREFIX}/bin/gdbtui${VER}
+.endif
 .if ${PORT_OPTIONS:MGDB_LINK}
 	${LN} -sf gdb${VER} ${PREFIX}/bin/gdb
 .endif
diff -uNr devel/gdb.orig/files/extrapatch-gdb-Makefile.in devel/gdb/files/extrapatch-gdb-Makefile.in
--- devel/gdb.orig/files/extrapatch-gdb-Makefile.in	2012-08-27 18:10:54.000000000 +0200
+++ devel/gdb/files/extrapatch-gdb-Makefile.in	2013-02-07 10:26:25.000000000 +0100
@@ -1,23 +1,13 @@
 --- gdb/Makefile.in.orig	2012-07-02 17:29:33.000000000 +0200
 +++ gdb/Makefile.in	2012-08-26 21:01:45.589052997 +0200
-@@ -572,7 +572,7 @@
- 	xstormy16-tdep.o \
+@@ -573,6 +573,7 @@
  	xtensa-config.o xtensa-tdep.o xtensa-linux-tdep.o \
  	glibc-tdep.o \
--	bsd-uthread.o \
+	bsd-uthread.o \
 +	fbsd-threads.o \
  	nbsd-tdep.o obsd-tdep.o \
  	sol2-tdep.o \
  	solib-frv.o solib-irix.o solib-svr4.o \
-@@ -779,7 +779,7 @@
- gnulib/import/stdint.in.h remote.h gdb.h sparc-nat.h \
- gdbthread.h dwarf2-frame.h dwarf2-frame-tailcall.h nbsd-nat.h dcache.h \
- amd64-nat.h s390-tdep.h arm-linux-tdep.h exceptions.h macroscope.h \
--gdbarch.h bsd-uthread.h gdb_stat.h memory-map.h	memrange.h \
-+gdbarch.h gdb_stat.h memory-map.h	memrange.h \
- mdebugread.h m88k-tdep.h stabsread.h hppa-linux-offsets.h linux-fork.h \
- ser-unix.h inf-ptrace.h terminal.h ui-out.h frame-base.h \
- f-lang.h dwarf2loc.h value.h sparc-tdep.h defs.h target-descriptions.h \
 @@ -1164,7 +1164,7 @@
  # Removing the old gdb first works better if it is running, at least on SunOS.
  gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
@@ -32,7 +22,7 @@
  	avr-tdep.c \
  	bfin-linux-tdep.c bfin-tdep.c \
 -	bsd-uthread.c bsd-kvm.c \
-+	fbsd-threads.c bsd-kvm.c \
++	bsd-uthread.c fbsd-threads.c bsd-kvm.c \
  	core-regset.c \
  	dcache.c dicos-tdep.c darwin-nat.c \
  	exec.c \
diff -uNr devel/gdb.orig/files/fbsd-threads.c devel/gdb/files/fbsd-threads.c
--- devel/gdb.orig/files/fbsd-threads.c	2012-11-17 06:55:44.000000000 +0100
+++ devel/gdb/files/fbsd-threads.c	2012-12-13 11:16:07.000000000 +0100
@@ -1,4 +1,4 @@
-/* $FreeBSD: ports/devel/gdb/files/fbsd-threads.c,v 1.8 2012/11/17 05:55:44 svnexp Exp $ */
+/* $FreeBSD$ */
 /* FreeBSD libthread_db assisted debugging support.
    Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
 
diff -uNr devel/gdb.orig/files/patch-opcodes-i386-dis.c devel/gdb/files/patch-opcodes-i386-dis.c
--- devel/gdb.orig/files/patch-opcodes-i386-dis.c	2012-12-24 23:41:19.000000000 +0100
+++ devel/gdb/files/patch-opcodes-i386-dis.c	2012-12-18 15:49:20.000000000 +0100
@@ -56,3 +56,4 @@
 +  oappend (&"%es:"[(short)intel_syntax]);
    ptr_reg (code, sizeflag);
  }
+ 
diff -uNr devel/gdb.orig/pkg-plist devel/gdb/pkg-plist
--- devel/gdb.orig/pkg-plist	2012-08-24 04:54:50.000000000 +0200
+++ devel/gdb/pkg-plist	2013-02-12 11:47:32.000000000 +0100
@@ -1,6 +1,6 @@
 %%GDB_LINK%%bin/gdb
 bin/gdb%%VER%%
-bin/gdbtui%%VER%%
+%%TUI_LINK%%bin/gdbtui%%VER%%
 %%PYTHON%%share/gdb%%VER%%/python/gdb/__init__.py
 %%PYTHON%%share/gdb%%VER%%/python/gdb/types.py
 %%PYTHON%%share/gdb%%VER%%/python/gdb/printing.py


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback 
State-Changed-By: pawel 
State-Changed-When: Wed Mar 6 16:47:26 UTC 2013 
State-Changed-Why:  
This patch introduces regression of failing to build with clang, please 
see log: http://people.freebsd.org/~pawel/buildlogs/gdb-7.5.1.log 

http://www.freebsd.org/cgi/query-pr.cgi?pr=176103 

From: Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
To: bug-followup@freebsd.org, luca.pizzamiglio@gmail.com
Cc:  
Subject: Re: ports/176103: [MAINTAINER] devel/gdb: Adding an option to disable
 TUI and correctly enabling all targets
Date: Mon, 11 Mar 2013 09:52:40 +0100

 --485b397dd0dbd9aa4404d7a24c0f
 Content-Type: text/plain; charset=ISO-8859-1
 
 This new patch provides the new features (TUI disabled and all targets
 enabled) and it's tested with clang.
 Thanks for the support
 
 Best regards,
 Luca
 
 --485b397dd0dbd9aa4404d7a24c0f
 Content-Type: text/plain; name="patch-gdb.txt"
 Content-Disposition: attachment; filename="patch-gdb.txt"
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_he5e5ljj0
 
 ZGlmZiAtTnJ1IGRldmVsL2dkYi5vcmlnL01ha2VmaWxlIGRldmVsL2dkYi9NYWtlZmlsZQotLS0g
 ZGV2ZWwvZ2RiLm9yaWcvTWFrZWZpbGUJMjAxMi0xMi0xNiAxNzo1MDo1Mi4wMDAwMDAwMDAgKzAx
 MDAKKysrIGRldmVsL2dkYi9NYWtlZmlsZQkyMDEzLTAzLTA4IDE2OjAwOjI4LjAwMDAwMDAwMCAr
 MDEwMApAQCAtMSw1ICsxLDUgQEAKLSMgQ3JlYXRlZCBieTogU3RldmVuIEtyZXV6ZXIgPHNrcmV1
 emVyQEZyZWVCU0Qub3JnPgotIyAkRnJlZUJTRDogcG9ydHMvZGV2ZWwvZ2RiL01ha2VmaWxlLHYg
 MS4yOCAyMDEyLzEyLzE2IDE2OjUwOjUyIHN2bmV4cCBFeHAgJAorIyBDcmVhdGVkIGJ5OglTdGV2
 ZW4gS3JldXplciA8c2tyZXV6ZXJARnJlZUJTRC5vcmc+CisjICRGcmVlQlNEJAogCiBQT1JUTkFN
 RT0JZ2RiCiBQT1JUVkVSU0lPTj0JNy41LjEKQEAgLTIwLDggKzIwLDcgQEAKIAkJLS13aXRoLWdk
 Yi1kYXRhZGlyPSR7UFJFRklYfS9zaGFyZS9nZGIke1BPUlRWRVJTSU9OOlMvLi8vZ30gXAogCQkt
 LXdpdGgtbGliaWNvbnYtcHJlZml4PSR7TE9DQUxCQVNFfSBcCiAJCS0td2l0aG91dC1saWJ1bndp
 bmQtaWE2NCBcCi0JCS0tZW5hYmxlLXRhcmdldD1hbGwgXAotCQktLWVuYWJsZS10dWkKKwkJLS1l
 bmFibGUtdGFyZ2V0cz1hbGwKIENGTEFHUzo9CSR7Q0ZMQUdTOkMvICskLy99CSMgYmxhbmtzIGF0
 IEVPTCBjcmVlcCBpbiBzb21ldGltZXMKIENGTEFHUys9CS1EUkxfTk9fQ09NUEFUCiBFWENMVURF
 PQlkZWphZ251IGV4cGVjdCBzaW0gdGV4aW5mbyBpbnRsCkBAIC0zMywxNCArMzIsMTUgQEAKIAog
 T05MWV9GT1JfQVJDSFM9CWkzODYgYW1kNjQJIyB1bnRlc3RlZCBlbHNld2hlcmUsIG1pZ2h0IHdv
 cmsKIAotT1BUSU9OU19ERUZJTkU9CURFQlVHIEVYUEFUIFBZVEhPTiBUSFJFQURTIEdEQl9MSU5L
 CitPUFRJT05TX0RFRklORT0JREVCVUcgRVhQQVQgUFlUSE9OIFRIUkVBRFMgVFVJIEdEQl9MSU5L
 CiBPUFRJT05TX1NJTkdMRV9SRUFETElORT0JQkFTRV9SRUFETElORSBCVU5ETEVEX1JFQURMSU5F
 IFBPUlRfUkVBRExJTkUKIE9QVElPTlNfU0lOR0xFPQlSRUFETElORQotQkFTRV9SRUFETElORV9E
 RVNDPQlmcm9tIGJhc2Ugc3lzdGVtIChFWFBFUklNRU5UQUwpCitCQVNFX1JFQURMSU5FX0RFU0M9
 CWZyb20gYmFzZSBzeXN0ZW0oRVhQRVJJTUVOVEFMKQogQlVORExFRF9SRUFETElORV9ERVNDPQlm
 cm9tIGdkYiBkaXN0ZmlsZQogUE9SVF9SRUFETElORV9ERVNDPQlmcm9tIGRldmVsL3JlYWRsaW5l
 IHBvcnQKIEdEQl9MSU5LX0RFU0M9CUNyZWF0ZSB0aGUgZ2RiIGxpbmsKLU9QVElPTlNfREVGQVVM
 VD0JVEhSRUFEUyBHREJfTElOSyBQT1JUX1JFQURMSU5FCitUVUlfREVTQz0JVGV4dCBVc2VyIElu
 dGVyZmFjZSBlbmFibGVkCitPUFRJT05TX0RFRkFVTFQ9CVRIUkVBRFMgVFVJIEdEQl9MSU5LIFBP
 UlRfUkVBRExJTkUKIAogLmluY2x1ZGUgPGJzZC5wb3J0Lm9wdGlvbnMubWs+CiAKQEAgLTUwLDgg
 KzUwLDEyIEBACiBQTElTVF9TVUIrPQlHREJfTElOSz0iQGNvbW1lbnQgIgogLmVuZGlmCiAKLS5p
 ZiAke1BPUlRfT1BUSU9OUzpNUFlUSE9OfQotVVNFX1BZVEhPTj0JMi41LTIuNworLmlmICR7UE9S
 VF9PUFRJT05TOk1UVUl9CitDT05GSUdVUkVfQVJHUys9CS0tZW5hYmxlLXR1aQorUExJU1RfU1VC
 Kz0JVFVJX0xJTks9IiIKKy5lbHNlCitDT05GSUdVUkVfQVJHUys9CS0tZGlzYWJsZS10dWkKK1BM
 SVNUX1NVQis9CVRVSV9MSU5LPSJAY29tbWVudCAiCiAuZW5kaWYKIAogLmlmIGVtcHR5KFBPUlRf
 T1BUSU9OUzpNQlVORExFRF9SRUFETElORSkKQEAgLTY3LDYgKzcxLDE2IEBACiAuaWYgJHtQT1JU
 X09QVElPTlM6TVBPUlRfUkVBRExJTkV9CiBVU0VfUkVBRExJTkU9CXBvcnQKIC5lbmRpZgorCisu
 aWYgJHtQT1JUX09QVElPTlM6TVBZVEhPTn0KK1VTRV9QWVRIT049CTIuNS0yLjcKK0NPTkZJR1VS
 RV9BUkdTKz0JLS13aXRoLXB5dGhvbj0ke1BZVEhPTl9DTUR9CitQTElTVF9TVUIrPQkJUFlUSE9O
 PSIiCisuZWxzZQorQ09ORklHVVJFX0FSR1MrPQktLXdpdGhvdXQtcHl0aG9uCitQTElTVF9TVUIr
 PQkJUFlUSE9OPSJAY29tbWVudCAiCisuZW5kaWYKKwogLmluY2x1ZGUgPGJzZC5wb3J0LnByZS5t
 az4KIAogLmlmICR7UE9SVF9PUFRJT05TOk1USFJFQURTfQpAQCAtODQsMTQgKzk4LDYgQEAKIENP
 TkZJR1VSRV9BUkdTKz0JLS13aXRob3V0LWV4cGF0CiAuZW5kaWYKIAotLmlmICR7UE9SVF9PUFRJ
 T05TOk1QWVRIT059Ci1DT05GSUdVUkVfQVJHUys9CS0td2l0aC1weXRob249JHtQWVRIT05fQ01E
 fQotUExJU1RfU1VCKz0JCVBZVEhPTj0iIgotLmVsc2UKLUNPTkZJR1VSRV9BUkdTKz0JLS13aXRo
 b3V0LXB5dGhvbgotUExJU1RfU1VCKz0JCVBZVEhPTj0iQGNvbW1lbnQgIgotLmVuZGlmCi0KIC5p
 ZiAke0FSQ0h9ID09ICJhbWQ2NCIKIENPTkZJR1VSRV9UQVJHRVQ9CXg4Nl82NC1wb3J0YmxkLWZy
 ZWVic2Qke09TUkVMfQogLmVuZGlmCkBAIC0xMDUsOCArMTExLDEwIEBACiAKIGRvLWluc3RhbGw6
 CiAJJHtJTlNUQUxMX1BST0dSQU19ICR7V1JLU1JDfS9nZGIvZ2RiICR7UFJFRklYfS9iaW4vZ2Ri
 JHtWRVJ9Ci0JJHtMTn0gLXNmICR7UFJFRklYfS9iaW4vZ2RiJHtWRVJ9ICR7UFJFRklYfS9iaW4v
 Z2RidHVpJHtWRVJ9CiAJJHtJTlNUQUxMX01BTn0gJHtXUktTUkN9L2dkYi9nZGIuMSAke01BTjFQ
 UkVGSVh9L21hbi9tYW4xL2dkYiR7VkVSfS4xCisuaWYgJHtQT1JUX09QVElPTlM6TVRVSX0KKwkk
 e0xOfSAtc2YgJHtQUkVGSVh9L2Jpbi9nZGIke1ZFUn0gJHtQUkVGSVh9L2Jpbi9nZGJ0dWkke1ZF
 Un0KKy5lbmRpZgogLmlmICR7UE9SVF9PUFRJT05TOk1HREJfTElOS30KIAkke0xOfSAtc2YgZ2Ri
 JHtWRVJ9ICR7UFJFRklYfS9iaW4vZ2RiCiAuZW5kaWYKZGlmZiAtTnJ1IGRldmVsL2dkYi5vcmln
 L2ZpbGVzL2V4dHJhcGF0Y2gtZ2RiLU1ha2VmaWxlLmluIGRldmVsL2dkYi9maWxlcy9leHRyYXBh
 dGNoLWdkYi1NYWtlZmlsZS5pbgotLS0gZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvZXh0cmFwYXRjaC1n
 ZGItTWFrZWZpbGUuaW4JMjAxMi0wOC0yNyAxODoxMDo1NC4wMDAwMDAwMDAgKzAyMDAKKysrIGRl
 dmVsL2dkYi9maWxlcy9leHRyYXBhdGNoLWdkYi1NYWtlZmlsZS5pbgkyMDEzLTAzLTA4IDE2OjAw
 OjE0LjAwMDAwMDAwMCArMDEwMApAQCAtMSwyMyArMSwxMyBAQAogLS0tIGdkYi9NYWtlZmlsZS5p
 bi5vcmlnCTIwMTItMDctMDIgMTc6Mjk6MzMuMDAwMDAwMDAwICswMjAwCiArKysgZ2RiL01ha2Vm
 aWxlLmluCTIwMTItMDgtMjYgMjE6MDE6NDUuNTg5MDUyOTk3ICswMjAwCi1AQCAtNTcyLDcgKzU3
 Miw3IEBACi0gCXhzdG9ybXkxNi10ZGVwLm8gXAorQEAgLTU3Myw2ICs1NzMsNyBAQAogIAl4dGVu
 c2EtY29uZmlnLm8geHRlbnNhLXRkZXAubyB4dGVuc2EtbGludXgtdGRlcC5vIFwKICAJZ2xpYmMt
 dGRlcC5vIFwKLS0JYnNkLXV0aHJlYWQubyBcCisJYnNkLXV0aHJlYWQubyBcCiArCWZic2QtdGhy
 ZWFkcy5vIFwKICAJbmJzZC10ZGVwLm8gb2JzZC10ZGVwLm8gXAogIAlzb2wyLXRkZXAubyBcCiAg
 CXNvbGliLWZydi5vIHNvbGliLWlyaXgubyBzb2xpYi1zdnI0Lm8gXAotQEAgLTc3OSw3ICs3Nzks
 NyBAQAotIGdudWxpYi9pbXBvcnQvc3RkaW50LmluLmggcmVtb3RlLmggZ2RiLmggc3BhcmMtbmF0
 LmggXAotIGdkYnRocmVhZC5oIGR3YXJmMi1mcmFtZS5oIGR3YXJmMi1mcmFtZS10YWlsY2FsbC5o
 IG5ic2QtbmF0LmggZGNhY2hlLmggXAotIGFtZDY0LW5hdC5oIHMzOTAtdGRlcC5oIGFybS1saW51
 eC10ZGVwLmggZXhjZXB0aW9ucy5oIG1hY3Jvc2NvcGUuaCBcCi0tZ2RiYXJjaC5oIGJzZC11dGhy
 ZWFkLmggZ2RiX3N0YXQuaCBtZW1vcnktbWFwLmgJbWVtcmFuZ2UuaCBcCi0rZ2RiYXJjaC5oIGdk
 Yl9zdGF0LmggbWVtb3J5LW1hcC5oCW1lbXJhbmdlLmggXAotIG1kZWJ1Z3JlYWQuaCBtODhrLXRk
 ZXAuaCBzdGFic3JlYWQuaCBocHBhLWxpbnV4LW9mZnNldHMuaCBsaW51eC1mb3JrLmggXAotIHNl
 ci11bml4LmggaW5mLXB0cmFjZS5oIHRlcm1pbmFsLmggdWktb3V0LmggZnJhbWUtYmFzZS5oIFwK
 LSBmLWxhbmcuaCBkd2FyZjJsb2MuaCB2YWx1ZS5oIHNwYXJjLXRkZXAuaCBkZWZzLmggdGFyZ2V0
 LWRlc2NyaXB0aW9ucy5oIFwKIEBAIC0xMTY0LDcgKzExNjQsNyBAQAogICMgUmVtb3ZpbmcgdGhl
 IG9sZCBnZGIgZmlyc3Qgd29ya3MgYmV0dGVyIGlmIGl0IGlzIHJ1bm5pbmcsIGF0IGxlYXN0IG9u
 IFN1bk9TLgogIGdkYiQoRVhFRVhUKTogZ2RiLm8gJChMSUJHREJfT0JTKSAkKEFERF9ERVBTKSAk
 KENERVBTKSAkKFRERVBMSUJTKQpAQCAtMzIsNyArMjIsNyBAQAogIAlhdnItdGRlcC5jIFwKICAJ
 YmZpbi1saW51eC10ZGVwLmMgYmZpbi10ZGVwLmMgXAogLQlic2QtdXRocmVhZC5jIGJzZC1rdm0u
 YyBcCi0rCWZic2QtdGhyZWFkcy5jIGJzZC1rdm0uYyBcCisrCWJzZC11dGhyZWFkLmMgZmJzZC10
 aHJlYWRzLmMgYnNkLWt2bS5jIFwKICAJY29yZS1yZWdzZXQuYyBcCiAgCWRjYWNoZS5jIGRpY29z
 LXRkZXAuYyBkYXJ3aW4tbmF0LmMgXAogIAlleGVjLmMgXApkaWZmIC1OcnUgZGV2ZWwvZ2RiLm9y
 aWcvZmlsZXMvZmJzZC10aHJlYWRzLmMgZGV2ZWwvZ2RiL2ZpbGVzL2Zic2QtdGhyZWFkcy5jCi0t
 LSBkZXZlbC9nZGIub3JpZy9maWxlcy9mYnNkLXRocmVhZHMuYwkyMDEyLTExLTE3IDA2OjU1OjQ0
 LjAwMDAwMDAwMCArMDEwMAorKysgZGV2ZWwvZ2RiL2ZpbGVzL2Zic2QtdGhyZWFkcy5jCTIwMTMt
 MDMtMDggMTY6MDA6MTQuMDAwMDAwMDAwICswMTAwCkBAIC0xLDQgKzEsNCBAQAotLyogJEZyZWVC
 U0Q6IHBvcnRzL2RldmVsL2dkYi9maWxlcy9mYnNkLXRocmVhZHMuYyx2IDEuOCAyMDEyLzExLzE3
 IDA1OjU1OjQ0IHN2bmV4cCBFeHAgJCAqLworLyogJEZyZWVCU0QkICovCiAvKiBGcmVlQlNEIGxp
 YnRocmVhZF9kYiBhc3Npc3RlZCBkZWJ1Z2dpbmcgc3VwcG9ydC4KICAgIENvcHlyaWdodCAxOTk5
 LCAyMDAwLCAyMDAxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCmRpZmYgLU5ydSBk
 ZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1iZmQtZWxmMzItaHBwYS5jIGRldmVsL2dkYi9maWxl
 cy9wYXRjaC1iZmQtZWxmMzItaHBwYS5jCi0tLSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1i
 ZmQtZWxmMzItaHBwYS5jCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBk
 ZXZlbC9nZGIvZmlsZXMvcGF0Y2gtYmZkLWVsZjMyLWhwcGEuYwkyMDEzLTAzLTA4IDE2OjAwOjE0
 LjAwMDAwMDAwMCArMDEwMApAQCAtMCwwICsxLDExIEBACistLS0gYmZkL2VsZjMyLWhwcGEuYy5v
 cmlnCTIwMTMtMDMtMDcgMDk6NTY6NDAuMDAwMDAwMDAwICswMTAwCisrKysgYmZkL2VsZjMyLWhw
 cGEuYwkyMDEzLTAzLTA3IDA5OjU3OjA3LjAwMDAwMDAwMCArMDEwMAorQEAgLTIzODQsNyArMjM4
 NCw3IEBACisgCSAgICAgIGJmZF9zaXplX3R5cGUgbWFzazsKKyAKKyAJICAgICAgaWYgKGdvdGFs
 aWduID4gcGx0YWxpZ24pCistCQliZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChkeW5vYmosIHNl
 YywgZ290YWxpZ24pOworKwkJKHZvaWQpYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoZHlub2Jq
 LCBzZWMsIGdvdGFsaWduKTsKKyAJICAgICAgbWFzayA9ICgoYmZkX3NpemVfdHlwZSkgMSA8PCBn
 b3RhbGlnbikgLSAxOworIAkgICAgICBzZWMtPnNpemUgPSAoc2VjLT5zaXplICsgc2l6ZW9mIChw
 bHRfc3R1YikgKyBtYXNrKSAmIH5tYXNrOworIAkgICAgfQpkaWZmIC1OcnUgZGV2ZWwvZ2RiLm9y
 aWcvZmlsZXMvcGF0Y2gtYmZkLWVsZjMyLW0zMnIuYyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtYmZk
 LWVsZjMyLW0zMnIuYwotLS0gZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0Y2gtYmZkLWVsZjMyLW0z
 MnIuYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgZGV2ZWwvZ2RiL2Zp
 bGVzL3BhdGNoLWJmZC1lbGYzMi1tMzJyLmMJMjAxMy0wMy0wOCAxNjowMDoxNC4wMDAwMDAwMDAg
 KzAxMDAKQEAgLTAsMCArMSwxMSBAQAorLS0tIGJmZC9lbGYzMi1tMzJyLmMub3JpZwkyMDEzLTAz
 LTA3IDA5OjU3OjMwLjAwMDAwMDAwMCArMDEwMAorKysrIGJmZC9lbGYzMi1tMzJyLmMJMjAxMy0w
 My0wNyAwOTo1Nzo1My4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xMzkwLDcgKzEzOTAsNyBAQAorIAkJ
 CQkJCSAgZmxhZ3MpOworIAkgIGlmIChzID09IE5VTEwpCisgCSAgICByZXR1cm4gRkFMU0U7Cist
 CSAgYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgcywgMik7CisrCSAgKHZvaWQpYmZk
 X3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgcywgMik7CisgCX0KKyAKKyAgICAgICBiaCA9
 IGJmZF9saW5rX2hhc2hfbG9va3VwIChpbmZvLT5oYXNoLCAiX1NEQV9CQVNFXyIsCmRpZmYgLU5y
 dSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1iZmQtZWxmMzItbWljcm9ibGF6ZS5jIGRldmVs
 L2dkYi9maWxlcy9wYXRjaC1iZmQtZWxmMzItbWljcm9ibGF6ZS5jCi0tLSBkZXZlbC9nZGIub3Jp
 Zy9maWxlcy9wYXRjaC1iZmQtZWxmMzItbWljcm9ibGF6ZS5jCTE5NzAtMDEtMDEgMDE6MDA6MDAu
 MDAwMDAwMDAwICswMTAwCisrKyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtYmZkLWVsZjMyLW1pY3Jv
 YmxhemUuYwkyMDEzLTAzLTA4IDE2OjAwOjE0LjAwMDAwMDAwMCArMDEwMApAQCAtMCwwICsxLDEx
 IEBACistLS0gYmZkL2VsZjMyLW1pY3JvYmxhemUuYy5vcmlnCTIwMTMtMDMtMDcgMTA6MDE6NDcu
 MDAwMDAwMDAwICswMTAwCisrKysgYmZkL2VsZjMyLW1pY3JvYmxhemUuYwkyMDEzLTAzLTA3IDEw
 OjAyOjU0LjAwMDAwMDAwMCArMDEwMAorQEAgLTE3NDEsNyArMTc0MSw3IEBACisgICAgICAgZm9y
 IChpc3ltID0gaXN5bWJ1ZjsgaXN5bSA8IGlzeW1lbmQ7IGlzeW0rKykKKyAgICAgICAgIHsKKyAg
 ICAgICAgICAgaWYgKGlzeW0tPnN0X3NobmR4ID09IHNobmR4KQorLQkgICAgaXN5bS0+c3RfdmFs
 dWUgPS0gY2FsY19maXh1cCAoaXN5bS0+c3RfdmFsdWUsIHNlYyk7CisrCSAgICBpc3ltLT5zdF92
 YWx1ZSA9IC1jYWxjX2ZpeHVwIChpc3ltLT5zdF92YWx1ZSwgc2VjKTsKKyAgICAgICAgIH0KKyAK
 KyAgICAgICAvKiBOb3cgYWRqdXN0IHRoZSBnbG9iYWwgc3ltYm9scyBkZWZpbmVkIGluIHRoaXMg
 c2VjdGlvbi4gICovCmRpZmYgLU5ydSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1iZmQtZWxm
 MzItdGljNnguYyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtYmZkLWVsZjMyLXRpYzZ4LmMKLS0tIGRl
 dmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC1lbGYzMi10aWM2eC5jCTE5NzAtMDEtMDEgMDE6
 MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtYmZkLWVsZjMy
 LXRpYzZ4LmMJMjAxMy0wMy0wOCAxNjowMDoxNC4wMDAwMDAwMDAgKzAxMDAKQEAgLTAsMCArMSwz
 MCBAQAorLS0tIGJmZC9lbGYzMi10aWM2eC5jLm9yaWcJMjAxMy0wMy0wNyAxMDowMzoyOC4wMDAw
 MDAwMDAgKzAxMDAKKysrKyBiZmQvZWxmMzItdGljNnguYwkyMDEzLTAzLTA3IDEwOjA4OjE5LjAw
 MDAwMDAwMCArMDEwMAorQEAgLTMwNDMsNyArMzA0Myw3IEBACisgICAgICAgKnNlY3AgPSBiZmRf
 bWFrZV9zZWN0aW9uX29sZF93YXkgKGFiZmQsICIuc2NvbW1vbiIpOworICAgICAgICgqc2VjcCkt
 PmZsYWdzIHw9IFNFQ19JU19DT01NT047CisgICAgICAgKnZhbHAgPSBzeW0tPnN0X3NpemU7Cist
 ICAgICAgYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgKnNlY3AsIGJmZF9sb2cyIChz
 eW0tPnN0X3ZhbHVlKSk7CisrICAgICAgKHZvaWQpYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAo
 YWJmZCwgKnNlY3AsIGJmZF9sb2cyIChzeW0tPnN0X3ZhbHVlKSk7CisgICAgICAgYnJlYWs7Cisg
 ICAgIH0KKyAKK0BAIC0zMzE5LDggKzMzMTksNiBAQAorICAgICB7CisgICAgICAgYmZkX3NpZ25l
 ZF92bWEgKmxvY2FsX2dvdDsKKyAgICAgICBiZmRfc2lnbmVkX3ZtYSAqZW5kX2xvY2FsX2dvdDsK
 Ky0gICAgICBjaGFyICpsb2NhbF90bHNfdHlwZTsKKy0gICAgICBiZmRfdm1hICpsb2NhbF90bHNk
 ZXNjX2dvdGVudDsKKyAgICAgICBiZmRfc2l6ZV90eXBlIGxvY3N5bWNvdW50OworICAgICAgIEVs
 Zl9JbnRlcm5hbF9TaGRyICpzeW10YWJfaGRyOworICAgICAgIGFzZWN0aW9uICpzcmVsOworQEAg
 LTMzNjEsOCArMzM1OSw3IEBACisgICAgICAgZW5kX2xvY2FsX2dvdCA9IGxvY2FsX2dvdCArIGxv
 Y3N5bWNvdW50OworICAgICAgIHMgPSBodGFiLT5lbGYuc2dvdDsKKyAgICAgICBzcmVsID0gaHRh
 Yi0+ZWxmLnNyZWxnb3Q7CistICAgICAgZm9yICg7IGxvY2FsX2dvdCA8IGVuZF9sb2NhbF9nb3Q7
 CistCSAgICsrbG9jYWxfZ290LCArK2xvY2FsX3Rsc190eXBlLCArK2xvY2FsX3Rsc2Rlc2NfZ290
 ZW50KQorKyAgICAgIGZvciAoOyBsb2NhbF9nb3QgPCBlbmRfbG9jYWxfZ290OyArK2xvY2FsX2dv
 dCkKKyAJeworIAkgIGlmICgqbG9jYWxfZ290ID4gMCkKKyAJICAgIHsKZGlmZiAtTnJ1IGRldmVs
 L2dkYi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC1lbGYzMi14dGVuc2EuYyBkZXZlbC9nZGIvZmlsZXMv
 cGF0Y2gtYmZkLWVsZjMyLXh0ZW5zYS5jCi0tLSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1i
 ZmQtZWxmMzIteHRlbnNhLmMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysr
 IGRldmVsL2dkYi9maWxlcy9wYXRjaC1iZmQtZWxmMzIteHRlbnNhLmMJMjAxMy0wMy0wOCAxNjow
 MDoxNC4wMDAwMDAwMDAgKzAxMDAKQEAgLTAsMCArMSwyMCBAQAorLS0tIGJmZC9lbGYzMi14dGVu
 c2EuYy5vcmlnCTIwMTMtMDMtMDcgMTA6MDg6NTguMDAwMDAwMDAwICswMTAwCisrKysgYmZkL2Vs
 ZjMyLXh0ZW5zYS5jCTIwMTMtMDMtMDcgMTA6MTE6NDAuMDAwMDAwMDAwICswMTAwCitAQCAtNjA3
 NSw3ICs2MDc1LDcgQEAKKyAgICAgICByZWxlYXNlX2ludGVybmFsX3JlbG9jcyAoc2VjX2NhY2hl
 LT5zZWMsIHNlY19jYWNoZS0+cmVsb2NzKTsKKyAgICAgICBpZiAoc2VjX2NhY2hlLT5wdGJsKQor
 IAlmcmVlIChzZWNfY2FjaGUtPnB0YmwpOworLSAgICAgIG1lbXNldCAoc2VjX2NhY2hlLCAwLCBz
 aXplb2YgKHNlY19jYWNoZSkpOworKyAgICAgIG1lbXNldCAoc2VjX2NhY2hlLCAwLCBzaXplb2Yg
 KCpzZWNfY2FjaGUpKTsKKyAgICAgfQorIH0KKyAKK0BAIC02MTE3LDcgKzYxMTcsNyBAQAorIAor
 ICAgLyogRmlsbCBpbiB0aGUgbmV3IHNlY3Rpb24gY2FjaGUuICAqLworICAgY2xlYXJfc2VjdGlv
 bl9jYWNoZSAoc2VjX2NhY2hlKTsKKy0gIG1lbXNldCAoc2VjX2NhY2hlLCAwLCBzaXplb2YgKHNl
 Y19jYWNoZSkpOworKyAgbWVtc2V0IChzZWNfY2FjaGUsIDAsIHNpemVvZiAoKnNlY19jYWNoZSkp
 OworIAorICAgc2VjX2NhY2hlLT5zZWMgPSBzZWM7CisgICBzZWNfY2FjaGUtPmNvbnRlbnRzID0g
 Y29udGVudHM7CmRpZmYgLU5ydSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1iZmQtZWxmeHgt
 bWlwcy5jIGRldmVsL2dkYi9maWxlcy9wYXRjaC1iZmQtZWxmeHgtbWlwcy5jCi0tLSBkZXZlbC9n
 ZGIub3JpZy9maWxlcy9wYXRjaC1iZmQtZWxmeHgtbWlwcy5jCTE5NzAtMDEtMDEgMDE6MDA6MDAu
 MDAwMDAwMDAwICswMTAwCisrKyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtYmZkLWVsZnh4LW1pcHMu
 YwkyMDEzLTAzLTA4IDE2OjAwOjE0LjAwMDAwMDAwMCArMDEwMApAQCAtMCwwICsxLDI4IEBACist
 LS0gYmZkL2VsZnh4LW1pcHMuYy5vcmlnCTIwMTMtMDMtMDcgMTA6MTI6MDYuMDAwMDAwMDAwICsw
 MTAwCisrKysgYmZkL2VsZnh4LW1pcHMuYwkyMDEzLTAzLTA3IDEwOjEzOjMwLjAwMDAwMDAwMCAr
 MDEwMAorQEAgLTcyOTIsMjAgKzcyOTIsMjAgQEAKKyAgICAgICAvKiBDaGFuZ2UgYWxpZ25tZW50
 cyBvZiBzb21lIHNlY3Rpb25zLiAgKi8KKyAgICAgICBzID0gYmZkX2dldF9saW5rZXJfc2VjdGlv
 biAoYWJmZCwgIi5oYXNoIik7CisgICAgICAgaWYgKHMgIT0gTlVMTCkKKy0JYmZkX3NldF9zZWN0
 aW9uX2FsaWdubWVudCAoYWJmZCwgcywgTUlQU19FTEZfTE9HX0ZJTEVfQUxJR04gKGFiZmQpKTsK
 KysJKHZvaWQpYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgcywgTUlQU19FTEZfTE9H
 X0ZJTEVfQUxJR04gKGFiZmQpKTsKKyAgICAgICBzID0gYmZkX2dldF9saW5rZXJfc2VjdGlvbiAo
 YWJmZCwgIi5keW5zeW0iKTsKKyAgICAgICBpZiAocyAhPSBOVUxMKQorLQliZmRfc2V0X3NlY3Rp
 b25fYWxpZ25tZW50IChhYmZkLCBzLCBNSVBTX0VMRl9MT0dfRklMRV9BTElHTiAoYWJmZCkpOwor
 Kwkodm9pZCliZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChhYmZkLCBzLCBNSVBTX0VMRl9MT0df
 RklMRV9BTElHTiAoYWJmZCkpOworICAgICAgIHMgPSBiZmRfZ2V0X2xpbmtlcl9zZWN0aW9uIChh
 YmZkLCAiLmR5bnN0ciIpOworICAgICAgIGlmIChzICE9IE5VTEwpCistCWJmZF9zZXRfc2VjdGlv
 bl9hbGlnbm1lbnQgKGFiZmQsIHMsIE1JUFNfRUxGX0xPR19GSUxFX0FMSUdOIChhYmZkKSk7Cisr
 CSh2b2lkKWJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQgKGFiZmQsIHMsIE1JUFNfRUxGX0xPR19G
 SUxFX0FMSUdOIChhYmZkKSk7CisgICAgICAgLyogPz8/ICovCisgICAgICAgcyA9IGJmZF9nZXRf
 c2VjdGlvbl9ieV9uYW1lIChhYmZkLCAiLnJlZ2luZm8iKTsKKyAgICAgICBpZiAocyAhPSBOVUxM
 KQorLQliZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChhYmZkLCBzLCBNSVBTX0VMRl9MT0dfRklM
 RV9BTElHTiAoYWJmZCkpOworKwkodm9pZCliZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChhYmZk
 LCBzLCBNSVBTX0VMRl9MT0dfRklMRV9BTElHTiAoYWJmZCkpOworICAgICAgIHMgPSBiZmRfZ2V0
 X2xpbmtlcl9zZWN0aW9uIChhYmZkLCAiLmR5bmFtaWMiKTsKKyAgICAgICBpZiAocyAhPSBOVUxM
 KQorLQliZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChhYmZkLCBzLCBNSVBTX0VMRl9MT0dfRklM
 RV9BTElHTiAoYWJmZCkpOworKwkodm9pZCliZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChhYmZk
 LCBzLCBNSVBTX0VMRl9MT0dfRklMRV9BTElHTiAoYWJmZCkpOworICAgICB9CisgCisgICBpZiAo
 IWluZm8tPnNoYXJlZCkKZGlmZiAtTnJ1IGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC1l
 bGZ4eC10aWxlZ3guYyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtYmZkLWVsZnh4LXRpbGVneC5jCi0t
 LSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1iZmQtZWxmeHgtdGlsZWd4LmMJMTk3MC0wMS0w
 MSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIGRldmVsL2dkYi9maWxlcy9wYXRjaC1iZmQt
 ZWxmeHgtdGlsZWd4LmMJMjAxMy0wMy0wOCAxNjowMDoxNC4wMDAwMDAwMDAgKzAxMDAKQEAgLTAs
 MCArMSwyMCBAQAorLS0tIGJmZC9lbGZ4eC10aWxlZ3guYy5vcmlnCTIwMTMtMDMtMDcgMTA6MTQ6
 MzQuMDAwMDAwMDAwICswMTAwCisrKysgYmZkL2VsZnh4LXRpbGVneC5jCTIwMTMtMDMtMDcgMTA6
 MTU6MzEuMDAwMDAwMDAwICswMTAwCitAQCAtMTIwNSw3ICsxMjA1LDcgQEAKKyB9OworIAorIC8q
 IFJldXNlIGFuIGV4aXN0aW5nIGluZm8gMTAgYnVuZGxlLiAgKi8KKy1zdGF0aWMgY29uc3QgYmZk
 X2J5dGUgY29uc3QgKnRpbGVneDY0X3BsdF90YWlsX2VudHJ5ID0KKytzdGF0aWMgY29uc3QgYmZk
 X2J5dGUgKnRpbGVneDY0X3BsdF90YWlsX2VudHJ5ID0KKyAgICZ0aWxlZ3g2NF9zaG9ydF9wbHRf
 ZW50cnlbNCAqIFRJTEVHWF9CVU5ETEVfU0laRV9JTl9CWVRFU107CisgCisgc3RhdGljIGNvbnN0
 IGJmZF9ieXRlCitAQCAtMTI1MCw3ICsxMjUwLDcgQEAKKyB9OworIAorIC8qIFJldXNlIGFuIGV4
 aXN0aW5nIGluZm8gMTAgYnVuZGxlLiAgKi8KKy1zdGF0aWMgY29uc3QgYmZkX2J5dGUgY29uc3Qg
 KnRpbGVneDMyX3BsdF90YWlsX2VudHJ5ID0KKytzdGF0aWMgY29uc3QgYmZkX2J5dGUgKnRpbGVn
 eDMyX3BsdF90YWlsX2VudHJ5ID0KKyAgICZ0aWxlZ3g2NF9zaG9ydF9wbHRfZW50cnlbNCAqIFRJ
 TEVHWF9CVU5ETEVfU0laRV9JTl9CWVRFU107CisgCisgc3RhdGljIGludApkaWZmIC1OcnUgZGV2
 ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0Y2gtYmZkLW1hY2gtby5jIGRldmVsL2dkYi9maWxlcy9wYXRj
 aC1iZmQtbWFjaC1vLmMKLS0tIGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC1tYWNoLW8u
 YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgZGV2ZWwvZ2RiL2ZpbGVz
 L3BhdGNoLWJmZC1tYWNoLW8uYwkyMDEzLTAzLTA4IDE2OjAwOjE0LjAwMDAwMDAwMCArMDEwMApA
 QCAtMCwwICsxLDExIEBACistLS0gYmZkL21hY2gtby5jLm9yaWcJMjAxMy0wMy0wNyAxMDoxNTo1
 NS4wMDAwMDAwMDAgKzAxMDAKKysrKyBiZmQvbWFjaC1vLmMJMjAxMy0wMy0wNyAxMDoxNjowOS4w
 MDAwMDAwMDAgKzAxMDAKK0BAIC0yNjgzLDcgKzI2ODMsNyBAQAorIAkgIHMtPmZsYWdzID0geGxh
 dC0+bWFjaG9fc2VjdHlwZSB8IHhsYXQtPm1hY2hvX3NlY2F0dHI7CisgCSAgcy0+YWxpZ24gPSB4
 bGF0LT5zZWN0YWxpZ24gPiBiZmRhbGlnbiA/IHhsYXQtPnNlY3RhbGlnbiAKKyAJCQkJCQk6IGJm
 ZGFsaWduOworLQkgIGJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQgKGFiZmQsIHNlYywgcy0+YWxp
 Z24pOworKwkgICh2b2lkKWJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQgKGFiZmQsIHNlYywgcy0+
 YWxpZ24pOworIAkgIGJmZF9mbGFncyA9IGJmZF9nZXRfc2VjdGlvbl9mbGFncyAoYWJmZCwgc2Vj
 KTsKKyAJICBpZiAoYmZkX2ZsYWdzID09IFNFQ19OT19GTEFHUykKKyAJICAgIGJmZF9zZXRfc2Vj
 dGlvbl9mbGFncyAoYWJmZCwgc2VjLCB4bGF0LT5iZmRfZmxhZ3MpOwpkaWZmIC1OcnUgZGV2ZWwv
 Z2RiLm9yaWcvZmlsZXMvcGF0Y2gtYmZkLXhjb2ZmbGluay5jIGRldmVsL2dkYi9maWxlcy9wYXRj
 aC1iZmQteGNvZmZsaW5rLmMKLS0tIGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC14Y29m
 ZmxpbmsuYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgZGV2ZWwvZ2Ri
 L2ZpbGVzL3BhdGNoLWJmZC14Y29mZmxpbmsuYwkyMDEzLTAzLTA4IDE2OjAwOjE0LjAwMDAwMDAw
 MCArMDEwMApAQCAtMCwwICsxLDExIEBACistLS0gYmZkL3hjb2ZmbGluay5jLm9yaWcJMjAxMy0w
 My0wNyAxMDoxNjo0NS4wMDAwMDAwMDAgKzAxMDAKKysrKyBiZmQveGNvZmZsaW5rLmMJMjAxMy0w
 My0wNyAxMDoxOTo1MC4wMDAwMDAwMDAgKzAxMDAKK0BAIC02MjczLDcgKzYyNzMsNyBAQAorICAg
 ICAgIGlyZWwgPSBmbGluZm8uc2VjdGlvbl9pbmZvW28tPnRhcmdldF9pbmRleF0ucmVsb2NzOwor
 ICAgICAgIGlyZWxlbmQgPSBpcmVsICsgby0+cmVsb2NfY291bnQ7CisgICAgICAgcmVsX2hhc2gg
 PSBmbGluZm8uc2VjdGlvbl9pbmZvW28tPnRhcmdldF9pbmRleF0ucmVsX2hhc2hlczsKKy0gICAg
 ICBmb3IgKDsgaXJlbCA8IGlyZWxlbmQ7IGlyZWwrKywgcmVsX2hhc2grKywgZXJlbCArPSByZWxz
 eikKKysgICAgICBmb3IgKDsgaXJlbCA8IGlyZWxlbmQ7IGlyZWwrKywgcmVsX2hhc2grKykKKyAJ
 eworIAkgIGlmICgqcmVsX2hhc2ggIT0gTlVMTCkKKyAJICAgIHsKZGlmZiAtTnJ1IGRldmVsL2dk
 Yi5vcmlnL2ZpbGVzL3BhdGNoLWluY2x1ZGUtY2dlbi1iYXNpYy1vcHMuaCBkZXZlbC9nZGIvZmls
 ZXMvcGF0Y2gtaW5jbHVkZS1jZ2VuLWJhc2ljLW9wcy5oCi0tLSBkZXZlbC9nZGIub3JpZy9maWxl
 cy9wYXRjaC1pbmNsdWRlLWNnZW4tYmFzaWMtb3BzLmgJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAw
 MDAwMDAgKzAxMDAKKysrIGRldmVsL2dkYi9maWxlcy9wYXRjaC1pbmNsdWRlLWNnZW4tYmFzaWMt
 b3BzLmgJMjAxMy0wMy0wOCAxNjowMDoxNC4wMDAwMDAwMDAgKzAxMDAKQEAgLTAsMCArMSw0MyBA
 QAorLS0tIGluY2x1ZGUvY2dlbi9iYXNpYy1vcHMuaC5vcmlnCTIwMTMtMDMtMDcgMTc6MzE6MjEu
 MDAwMDAwMDAwICswMTAwCisrKysgaW5jbHVkZS9jZ2VuL2Jhc2ljLW9wcy5oCTIwMTMtMDMtMDcg
 MTc6MzE6MjguMDAwMDAwMDAwICswMTAwCitAQCAtMjQsMTEgKzI0LDE2IEBACisgCisgI2luY2x1
 ZGUgPGFzc2VydC5oPgorIAorLSNpZiBkZWZpbmVkIChfX0dOVUNfXykgJiYgISBkZWZpbmVkIChT
 RU1PUFNfREVGSU5FX0lOTElORSkKKysjaWYgZGVmaW5lZCAoX19HTlVDX18pICYmICEgZGVmaW5l
 ZCAoU0VNT1BTX0RFRklORV9JTkxJTkUpICYmICEgZGVmaW5lZCAoX19jbGFuZ19fKQorICNkZWZp
 bmUgU0VNT1BTX0RFRklORV9JTkxJTkUKKyAjZGVmaW5lIFNFTU9QU19JTkxJTkUgZXh0ZXJuIGlu
 bGluZQorICNlbHNlCistI2RlZmluZSBTRU1PUFNfSU5MSU5FCisrIyBpZiBkZWZpbmVkIChfX2Ns
 YW5nX18pICYmICEgZGVmaW5lZCAoU0VNT1BTX0RFRklORV9JTkxJTkUpCisrIyAgZGVmaW5lIFNF
 TU9QU19ERUZJTkVfSU5MSU5FCisrIyAgZGVmaW5lIFNFTU9QU19JTkxJTkUgc3RhdGljIGlubGlu
 ZQorKyMgZWxzZQorKyMgIGRlZmluZSBTRU1PUFNfSU5MSU5FCisrIyBlbmRpZgorICNlbmRpZgor
 IAorIC8qIFRoZXNlIGRvbid0IHJlYWxseSBoYXZlIGEgbW9kZS4gICovCitAQCAtMjk1LDExICsz
 MDAsMTYgQEAKKyAgICBzaWduaWZpY2FudCBhbmQgd29yZCBudW1iZXIgMCBpcyB0aGUgbW9zdCBz
 aWduaWZpY2FudCB3b3JkLgorICAgID8/PyBNYXkgYWxzbyB3aXNoIGFuIGVuZGlhbi1kZXBlbmRl
 bnQgdmVyc2lvbi4gIExhdGVyLiAgKi8KKyAKKy1RSSBTVUJXT1JEU0lRSSAoU0ksIGludCk7Cist
 SEkgU1VCV09SRFNJSEkgKFNJLCBpbnQpOworLVFJIFNVQldPUkRESVFJIChESSwgaW50KTsKKy1I
 SSBTVUJXT1JERElISSAoREksIGludCk7CistU0kgU1VCV09SRERJU0kgKERJLCBpbnQpOworKyNp
 ZiBkZWZpbmVkIChfX2NsYW5nX18pICYmIGRlZmluZWQgKFNFTU9QU19ERUZJTkVfSU5MSU5FKQor
 KyNkZWZpbmUgU0VNT1BTX1NUQVRJQyBzdGF0aWMKKysjZWxzZQorKyNkZWZpbmUgU0VNT1BTX1NU
 QVRJQworKyNlbmRpZgorK1NFTU9QU19TVEFUSUMgUUkgU1VCV09SRFNJUUkgKFNJLCBpbnQpOwor
 K1NFTU9QU19TVEFUSUMgSEkgU1VCV09SRFNJSEkgKFNJLCBpbnQpOworK1NFTU9QU19TVEFUSUMg
 UUkgU1VCV09SRERJUUkgKERJLCBpbnQpOworK1NFTU9QU19TVEFUSUMgSEkgU1VCV09SRERJSEkg
 KERJLCBpbnQpOworK1NFTU9QU19TVEFUSUMgU0kgU1VCV09SRERJU0kgKERJLCBpbnQpOworIAor
 ICNpZmRlZiBTRU1PUFNfREVGSU5FX0lOTElORQorIApkaWZmIC1OcnUgZGV2ZWwvZ2RiLm9yaWcv
 ZmlsZXMvcGF0Y2gtb3Bjb2Rlcy1jcjE2LW9wYy5jIGRldmVsL2dkYi9maWxlcy9wYXRjaC1vcGNv
 ZGVzLWNyMTYtb3BjLmMKLS0tIGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLW9wY29kZXMtY3Ix
 Ni1vcGMuYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgZGV2ZWwvZ2Ri
 L2ZpbGVzL3BhdGNoLW9wY29kZXMtY3IxNi1vcGMuYwkyMDEzLTAzLTA4IDE2OjAwOjE0LjAwMDAw
 MDAwMCArMDEwMApAQCAtMCwwICsxLDY1IEBACistLS0gb3Bjb2Rlcy9jcjE2LW9wYy5jLm9yaWcJ
 MjAxMy0wMy0wNyAxMDozNDo0OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBvcGNvZGVzL2NyMTYtb3Bj
 LmMJMjAxMy0wMy0wNyAxMDozMzo0OS4wMDAwMDAwMDAgKzAxMDAKK0BAIC01MDIsMzYgKzUwMiwz
 NiBAQAorIGNvbnN0IHJlZ19lbnRyeSBjcjE2X3ByZWd0YWJbXSA9CisgeworIC8qIEJ1aWxkIGEg
 cHJvY2Vzc29yIHJlZ2lzdGVyLiAgKi8KKy0gIFJFRyhkYnMsICAgMHgwLCBDUjE2X1BfUkVHVFlQ
 RSksCistICBSRUcoZHNyLCAgIDB4MSwgQ1IxNl9QX1JFR1RZUEUpLAorLSAgUkVHKGRjcmwsICAw
 eDIsIENSMTZfUF9SRUdUWVBFKSwKKy0gIFJFRyhkY3JoLCAgMHgzLCBDUjE2X1BfUkVHVFlQRSks
 CistICBSRUcoY2FyMGwsIDB4NCwgQ1IxNl9QX1JFR1RZUEUpLAorLSAgUkVHKGNhcjBoLCAweDUs
 IENSMTZfUF9SRUdUWVBFKSwKKy0gIFJFRyhjYXIxbCwgMHg2LCBDUjE2X1BfUkVHVFlQRSksCist
 ICBSRUcoY2FyMWgsIDB4NywgQ1IxNl9QX1JFR1RZUEUpLAorLSAgUkVHKGNmZywgICAweDgsIENS
 MTZfUF9SRUdUWVBFKSwKKy0gIFJFRyhwc3IsICAgMHg5LCBDUjE2X1BfUkVHVFlQRSksCistICBS
 RUcoaW50YmFzZWwsIDB4YSwgQ1IxNl9QX1JFR1RZUEUpLAorLSAgUkVHKGludGJhc2VoLCAweGIs
 IENSMTZfUF9SRUdUWVBFKSwKKy0gIFJFRyhpc3BsLCAgMHhjLCBDUjE2X1BfUkVHVFlQRSksCist
 ICBSRUcoaXNwaCwgIDB4ZCwgQ1IxNl9QX1JFR1RZUEUpLAorLSAgUkVHKHVzcGwsICAweGUsIENS
 MTZfUF9SRUdUWVBFKSwKKy0gIFJFRyh1c3BoLCAgMHhmLCBDUjE2X1BfUkVHVFlQRSksCisrICBS
 RUcoKHJlZylkYnMsICAgMHgwLCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJlZylkc3IsICAg
 MHgxLCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJlZylkY3JsLCAgMHgyLCBDUjE2X1BfUkVH
 VFlQRSksCisrICBSRUcoKHJlZylkY3JoLCAgMHgzLCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUco
 KHJlZyljYXIwbCwgMHg0LCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJlZyljYXIwaCwgMHg1
 LCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJlZyljYXIxbCwgMHg2LCBDUjE2X1BfUkVHVFlQ
 RSksCisrICBSRUcoKHJlZyljYXIxaCwgMHg3LCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJl
 ZyljZmcsICAgMHg4LCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJlZylwc3IsICAgMHg5LCBD
 UjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJlZylpbnRiYXNlbCwgMHhhLCBDUjE2X1BfUkVHVFlQ
 RSksCisrICBSRUcoKHJlZylpbnRiYXNlaCwgMHhiLCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUco
 KHJlZylpc3BsLCAgMHhjLCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJlZylpc3BoLCAgMHhk
 LCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJlZyl1c3BsLCAgMHhlLCBDUjE2X1BfUkVHVFlQ
 RSksCisrICBSRUcoKHJlZyl1c3BoLCAgMHhmLCBDUjE2X1BfUkVHVFlQRSksCisgfTsKKyAKKyBj
 b25zdCByZWdfZW50cnkgY3IxNl9wcmVncHRhYltdID0KKyB7CistICBSRUcoZGJzLCAgIDAsIENS
 MTZfUF9SRUdUWVBFKSwKKy0gIFJFRyhkc3IsICAgMSwgQ1IxNl9QX1JFR1RZUEUpLAorLSAgUkVH
 KGRjciwgICAyLCBDUjE2X1BfUkVHVFlQRSksCistICBSRUcoY2FyMCwgIDQsIENSMTZfUF9SRUdU
 WVBFKSwKKy0gIFJFRyhjYXIxLCAgNiwgQ1IxNl9QX1JFR1RZUEUpLAorLSAgUkVHKGNmZywgICA4
 LCBDUjE2X1BfUkVHVFlQRSksCistICBSRUcocHNyLCAgIDksIENSMTZfUF9SRUdUWVBFKSwKKy0g
 IFJFRyhpbnRiYXNlLCAxMCwgQ1IxNl9QX1JFR1RZUEUpLAorLSAgUkVHKGlzcCwgICAxMiwgQ1Ix
 Nl9QX1JFR1RZUEUpLAorLSAgUkVHKHVzcCwgICAxNCwgQ1IxNl9QX1JFR1RZUEUpLAorKyAgUkVH
 KChyZWcpZGJzLCAgIDAsIENSMTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKWRzciwgICAxLCBD
 UjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJlZylkY3IsICAgMiwgQ1IxNl9QX1JFR1RZUEUpLAor
 KyAgUkVHKChyZWcpY2FyMCwgIDQsIENSMTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKWNhcjEs
 ICA2LCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJlZyljZmcsICAgOCwgQ1IxNl9QX1JFR1RZ
 UEUpLAorKyAgUkVHKChyZWcpcHNyLCAgIDksIENSMTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVn
 KWludGJhc2UsIDEwLCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJlZylpc3AsICAgMTIsIENS
 MTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKXVzcCwgICAxNCwgQ1IxNl9QX1JFR1RZUEUpLAor
 IH07CisgCisgY29uc3QgdW5zaWduZWQgaW50IGNyMTZfbnVtX3ByZWdzID0gIEFSUkFZX1NJWkUg
 KGNyMTZfcHJlZ3RhYik7CmRpZmYgLU5ydSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1vcGNv
 ZGVzLWNyeC1vcGMuYyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtb3Bjb2Rlcy1jcngtb3BjLmMKLS0t
 IGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLW9wY29kZXMtY3J4LW9wYy5jCTE5NzAtMDEtMDEg
 MDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtb3Bjb2Rl
 cy1jcngtb3BjLmMJMjAxMy0wMy0wOCAxNjowMDoxNC4wMDAwMDAwMDAgKzAxMDAKQEAgLTAsMCAr
 MSwyMCBAQAorLS0tIG9wY29kZXMvY3J4LW9wYy5jLm9yaWcJMjAxMy0wMy0wNyAxMDozNTowNi4w
 MDAwMDAwMDAgKzAxMDAKKysrKyBvcGNvZGVzL2NyeC1vcGMuYwkyMDEzLTAzLTA3IDEwOjQwOjMx
 LjAwMDAwMDAwMCArMDEwMAorQEAgLTYzMiw3ICs2MzIsNyBAQAorIGNvbnN0IHJlZ19lbnRyeSBj
 cnhfY29wcmVndGFiW10gPQorIHsKKyAvKiBCdWlsZCBhIENvcHJvY2Vzc29yIHJlZ2lzdGVyIGM8
 Tj4uICAqLworLSNkZWZpbmUgUkVHX0MoTikgICAgUkVHKENPTkNBVDIoYyxOKSwgTiwgQ1JYX0Nf
 UkVHVFlQRSkKKysjZGVmaW5lIFJFR19DKE4pICAgIFJFRygocmVnKUNPTkNBVDIoYyxOKSwgTiwg
 Q1JYX0NfUkVHVFlQRSkKKyAKKyAgIFJFR19DKDApLCAgUkVHX0MoMSksCVJFR19DKDIpLCAgUkVH
 X0MoMyksCisgICBSRUdfQyg0KSwgIFJFR19DKDUpLAlSRUdfQyg2KSwgIFJFR19DKDcpLAorQEAg
 LTY0MCw3ICs2NDAsNyBAQAorICAgUkVHX0MoMTIpLCBSRUdfQygxMyksIFJFR19DKDE0KSwgUkVH
 X0MoMTUpLAorIAorIC8qIEJ1aWxkIGEgQ29wcm9jZXNzb3IgU3BlY2lhbCByZWdpc3RlciBjczxO
 Pi4gICovCistI2RlZmluZSBSRUdfQ1MoTikgICAgUkVHKENPTkNBVDIoY3MsTiksIE4sIENSWF9D
 U19SRUdUWVBFKQorKyNkZWZpbmUgUkVHX0NTKE4pICAgIFJFRygocmVnKUNPTkNBVDIoY3MsTiks
 IE4sIENSWF9DU19SRUdUWVBFKQorIAorICAgUkVHX0NTKDApLCAgUkVHX0NTKDEpLCAgUkVHX0NT
 KDIpLCAgUkVHX0NTKDMpLAorICAgUkVHX0NTKDQpLCAgUkVHX0NTKDUpLCAgUkVHX0NTKDYpLCAg
 UkVHX0NTKDcpLApkaWZmIC1OcnUgZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0Y2gtb3Bjb2Rlcy1p
 Mzg2LWRpcy5jIGRldmVsL2dkYi9maWxlcy9wYXRjaC1vcGNvZGVzLWkzODYtZGlzLmMKLS0tIGRl
 dmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLW9wY29kZXMtaTM4Ni1kaXMuYwkyMDEyLTEyLTI0IDIz
 OjQxOjE5LjAwMDAwMDAwMCArMDEwMAorKysgZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLW9wY29kZXMt
 aTM4Ni1kaXMuYwkyMDEzLTAzLTA4IDE2OjAwOjE0LjAwMDAwMDAwMCArMDEwMApAQCAtNTYsMyAr
 NTYsNCBAQAogKyAgb2FwcGVuZCAoJiIlZXM6Ilsoc2hvcnQpaW50ZWxfc3ludGF4XSk7CiAgICBw
 dHJfcmVnIChjb2RlLCBzaXplZmxhZyk7CiAgfQorIApkaWZmIC1OcnUgZGV2ZWwvZ2RiLm9yaWcv
 ZmlsZXMvcGF0Y2gtb3Bjb2Rlcy1pYTY0LWFzbXRhYi5jIGRldmVsL2dkYi9maWxlcy9wYXRjaC1v
 cGNvZGVzLWlhNjQtYXNtdGFiLmMKLS0tIGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLW9wY29k
 ZXMtaWE2NC1hc210YWIuYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysg
 ZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLW9wY29kZXMtaWE2NC1hc210YWIuYwkyMDEzLTAzLTA4IDE2
 OjAwOjE0LjAwMDAwMDAwMCArMDEwMApAQCAtMCwwICsxLDM3IEBACistLS0gb3Bjb2Rlcy9pYTY0
 LWFzbXRhYi5jLm9yaWcJMjAxMy0wMy0wNyAxMDo0MTo0OS4wMDAwMDAwMDAgKzAxMDAKKysrKyBv
 cGNvZGVzL2lhNjQtYXNtdGFiLmMJMjAxMy0wMy0wNyAxMDo0NTo0OS4wMDAwMDAwMDAgKzAxMDAK
 K0BAIC0xMDEsNyArMTAxLDcgQEAKKyAgIHsgIkNQVUlEIyIsIDcsIDAsIDUsIC0xLCBOVUxMLCB9
 LAorICAgeyAiQ1JbQ01DVl0iLCAyOCwgMCwgMywgNzQsIE5VTEwsIH0sCisgICB7ICJDUltEQ1Jd
 IiwgMjgsIDAsIDMsIDAsIE5VTEwsIH0sCistICB7ICJDUltFT0ldIiwgMjgsIDAsIDcsIDY3LCAi
 U0MgU2VjdGlvbiA1LjguMy40LCBcIkVuZCBvZiBFeHRlcm5hbCBJbnRlcnJ1cHQgUmVnaXN0ZXIg
 KEVPSSDQIENSNjcpXCIgb24gcGFnZSAyOjExOSIsIH0sCisrICB7ICJDUltFT0ldIiwgMjgsIDAs
 IDcsIDY3LCAiU0MgU2VjdGlvbiA1LjguMy40LCBcIkVuZCBvZiBFeHRlcm5hbCBJbnRlcnJ1cHQg
 UmVnaXN0ZXIgKEVPSSBDUjY3KVwiIG9uIHBhZ2UgMjoxMTkiLCB9LAorICAgeyAiQ1JbR1BUQV0i
 LCAyOCwgMCwgMywgOSwgTlVMTCwgfSwKKyAgIHsgIkNSW0lGQV0iLCAyOCwgMCwgMSwgMjAsIE5V
 TEwsIH0sCisgICB7ICJDUltJRkFdIiwgMjgsIDAsIDMsIDIwLCBOVUxMLCB9LAorQEAgLTEyMywx
 MyArMTIzLDEzIEBACisgICB7ICJDUltJVE1dIiwgMjgsIDAsIDMsIDEsIE5VTEwsIH0sCisgICB7
 ICJDUltJVFZdIiwgMjgsIDAsIDMsIDcyLCBOVUxMLCB9LAorICAgeyAiQ1JbSVZBXSIsIDI4LCAw
 LCA0LCAyLCBOVUxMLCB9LAorLSAgeyAiQ1JbSVZSXSIsIDI4LCAwLCA3LCA2NSwgIlNDIFNlY3Rp
 b24gNS44LjMuMiwgXCJFeHRlcm5hbCBJbnRlcnJ1cHQgVmVjdG9yIFJlZ2lzdGVyIChJVlIg0CBD
 UjY1KVwiIG9uIHBhZ2UgMjoxMTgiLCB9LAorLSAgeyAiQ1JbTElEXSIsIDI4LCAwLCA3LCA2NCwg
 IlNDIFNlY3Rpb24gNS44LjMuMSwgXCJMb2NhbCBJRCAoTElEINAgQ1I2NClcIiBvbiBwYWdlIDI6
 MTE3IiwgfSwKKysgIHsgIkNSW0lWUl0iLCAyOCwgMCwgNywgNjUsICJTQyBTZWN0aW9uIDUuOC4z
 LjIsIFwiRXh0ZXJuYWwgSW50ZXJydXB0IFZlY3RvciBSZWdpc3RlciAoSVZSICBDUjY1KVwiIG9u
 IHBhZ2UgMjoxMTgiLCB9LAorKyAgeyAiQ1JbTElEXSIsIDI4LCAwLCA3LCA2NCwgIlNDIFNlY3Rp
 b24gNS44LjMuMSwgXCJMb2NhbCBJRCAoTElEICBDUjY0KVwiIG9uIHBhZ2UgMjoxMTciLCB9LAor
 ICAgeyAiQ1JbTFJSJV0sICUgaW4gMCAtIDEiLCAxMCwgMCwgMywgLTEsIE5VTEwsIH0sCisgICB7
 ICJDUltQTVZdIiwgMjgsIDAsIDMsIDczLCBOVUxMLCB9LAorICAgeyAiQ1JbUFRBXSIsIDI4LCAw
 LCAzLCA4LCBOVUxMLCB9LAorICAgeyAiQ1JbVFBSXSIsIDI4LCAwLCAzLCA2NiwgTlVMTCwgfSwK
 Ky0gIHsgIkNSW1RQUl0iLCAyOCwgMCwgNywgNjYsICJTQyBTZWN0aW9uIDUuOC4zLjMsIFwiVGFz
 ayBQcmlvcml0eSBSZWdpc3RlciAoVFBSINAgQ1I2NilcIiBvbiBwYWdlIDI6MTE5IiwgfSwKKysg
 IHsgIkNSW1RQUl0iLCAyOCwgMCwgNywgNjYsICJTQyBTZWN0aW9uIDUuOC4zLjMsIFwiVGFzayBQ
 cmlvcml0eSBSZWdpc3RlciAoVFBSICBDUjY2KVwiIG9uIHBhZ2UgMjoxMTkiLCB9LAorICAgeyAi
 Q1JbVFBSXSIsIDI4LCAwLCAxLCA2NiwgTlVMTCwgfSwKKyAgIHsgIkNSJSwgJSBpbiAzLTcsIDEw
 LTE1LCAxOCwgMjgtNjMsIDc1LTc5LCA4Mi0xMjciLCAxMSwgMCwgMCwgLTEsIE5VTEwsIH0sCisg
 ICB7ICJEQlIjIiwgMTIsIDAsIDIsIC0xLCBOVUxMLCB9LAorQEAgLTMwMyw3ICszMDMsNyBAQAor
 ICAgeyAiQ1BVSUQjIiwgNywgMSwgMCwgLTEsIE5VTEwsIH0sCisgICB7ICJDUltDTUNWXSIsIDI4
 LCAxLCAyLCA3NCwgTlVMTCwgfSwKKyAgIHsgIkNSW0RDUl0iLCAyOCwgMSwgMiwgMCwgTlVMTCwg
 fSwKKy0gIHsgIkNSW0VPSV0iLCAyOCwgMSwgNywgNjcsICJTQyBTZWN0aW9uIDUuOC4zLjQsIFwi
 RW5kIG9mIEV4dGVybmFsIEludGVycnVwdCBSZWdpc3RlciAoRU9JINAgQ1I2NylcIiBvbiBwYWdl
 IDI6MTE5IiwgfSwKKysgIHsgIkNSW0VPSV0iLCAyOCwgMSwgNywgNjcsICJTQyBTZWN0aW9uIDUu
 OC4zLjQsIFwiRW5kIG9mIEV4dGVybmFsIEludGVycnVwdCBSZWdpc3RlciAoRU9JICBDUjY3KVwi
 IG9uIHBhZ2UgMjoxMTkiLCB9LAorICAgeyAiQ1JbR1BUQV0iLCAyOCwgMSwgMiwgOSwgTlVMTCwg
 fSwKKyAgIHsgIkNSW0lGQV0iLCAyOCwgMSwgMiwgMjAsIE5VTEwsIH0sCisgICB7ICJDUltJRlNd
 IiwgMjgsIDEsIDIsIDIzLCBOVUxMLCB9LApkaWZmIC1OcnUgZGV2ZWwvZ2RiLm9yaWcvZmlsZXMv
 cGF0Y2gtb3Bjb2Rlcy10aWM1NHgtZGlzLmMgZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLW9wY29kZXMt
 dGljNTR4LWRpcy5jCi0tLSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1vcGNvZGVzLXRpYzU0
 eC1kaXMuYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgZGV2ZWwvZ2Ri
 L2ZpbGVzL3BhdGNoLW9wY29kZXMtdGljNTR4LWRpcy5jCTIwMTMtMDMtMDggMTY6MDA6MTQuMDAw
 MDAwMDAwICswMTAwCkBAIC0wLDAgKzEsMTA1IEBACistLS0gb3Bjb2Rlcy90aWM1NHgtZGlzLmMu
 b3JpZwkyMDEzLTAzLTA3IDEwOjQ2OjUyLjAwMDAwMDAwMCArMDEwMAorKysrIG9wY29kZXMvdGlj
 NTR4LWRpcy5jCTIwMTMtMDMtMDcgMTI6MDU6MTkuMDAwMDAwMDAwICswMTAwCitAQCAtMTY4LDE0
 ICsxNjgsOSBAQAorIH0KKyAKKyBpbnQKKy1wcmludF9pbnN0cnVjdGlvbiAoaW5mbywgbWVtYWRk
 ciwgb3Bjb2RlLCB0bV9uYW1lLCB0bV9vcGVyYW5kcywgc2l6ZSwgZXh0KQorLSAgZGlzYXNzZW1i
 bGVfaW5mbyAqaW5mbzsKKy0gIGJmZF92bWEgbWVtYWRkcjsKKy0gIHVuc2lnbmVkIHNob3J0IG9w
 Y29kZTsKKy0gIGNvbnN0IGNoYXIgKnRtX25hbWU7CistICBjb25zdCBlbnVtIG9wdHlwZSB0bV9v
 cGVyYW5kc1tdOworLSAgaW50IHNpemU7CistICBpbnQgZXh0OworK3ByaW50X2luc3RydWN0aW9u
 IChkaXNhc3NlbWJsZV9pbmZvICogaW5mbywgYmZkX3ZtYSBtZW1hZGRyLAorKyAgdW5zaWduZWQg
 c2hvcnQgb3Bjb2RlLCBjb25zdCBjaGFyICp0bV9uYW1lLAorKyAgY29uc3QgZW51bSBvcHR5cGUg
 dG1fb3BlcmFuZHNbXSwgaW50IHNpemUsIGludCBleHQpCisgeworICAgc3RhdGljIGludCBuOwor
 ICAgLyogc3RyaW5nIHN0b3JhZ2UgZm9yIG11bHRpcGxlIG9wZXJhbmRzICovCitAQCAtNDY4LDYg
 KzQ2Myw3IEBACisgICByZXR1cm4gMTsKKyB9CisgCisrLyoKKyBzdGF0aWMgaW50CisgcHJpbnRf
 cGFyYWxsZWxfaW5zdHJ1Y3Rpb24gKGluZm8sIG1lbWFkZHIsIG9wY29kZSwgcHRtLCBzaXplKQor
 ICAgZGlzYXNzZW1ibGVfaW5mbyAqaW5mbzsKK0BAIC00NzUsNiArNDcxLDExIEBACisgICB1bnNp
 Z25lZCBzaG9ydCBvcGNvZGU7CisgICBjb25zdCBpbnNuX3RlbXBsYXRlICpwdG07CisgICBpbnQg
 c2l6ZTsKKysqLworK3N0YXRpYyBpbnQKKytwcmludF9wYXJhbGxlbF9pbnN0cnVjdGlvbiAoZGlz
 YXNzZW1ibGVfaW5mbyAqaW5mbywKKysgIGJmZF92bWEgbWVtYWRkciwgdW5zaWduZWQgc2hvcnQg
 b3Bjb2RlLCAKKysgIGNvbnN0IGluc25fdGVtcGxhdGUgKiBwdG0sIGludCBzaXplKQorIHsKKyAg
 IHByaW50X2luc3RydWN0aW9uIChpbmZvLCBtZW1hZGRyLCBvcGNvZGUsCisgICAgICAgICAgICAg
 ICAgICAgICAgcHRtLT5uYW1lLCBwdG0tPm9wZXJhbmRfdHlwZXMsIHNpemUsIDApOworQEAgLTQ4
 NCwxMCArNDg1LDggQEAKKyB9CisgCisgc3RhdGljIGludAorLXNwcmludF9kdWFsX2FkZHJlc3Mg
 KGluZm8sIGJ1ZiwgY29kZSkKKy0gIGRpc2Fzc2VtYmxlX2luZm8gKmluZm8gQVRUUklCVVRFX1VO
 VVNFRDsKKy0gIGNoYXIgYnVmW107CistICB1bnNpZ25lZCBzaG9ydCBjb2RlOworK3NwcmludF9k
 dWFsX2FkZHJlc3MgKCBkaXNhc3NlbWJsZV9pbmZvICppbmZvIEFUVFJJQlVURV9VTlVTRUQsCisr
 ICBjaGFyIGJ1ZltdLCB1bnNpZ25lZCBzaG9ydCBjb2RlKQorIHsKKyAgIGNvbnN0IGNoYXIgKmZv
 cm1hdHNbXSA9IHsKKyAgICAgIiphciVkIiwKK0BAIC00OTksMTAgKzQ5OCw4IEBACisgfQorIAor
 IHN0YXRpYyBpbnQKKy1zcHJpbnRfaW5kaXJlY3RfYWRkcmVzcyAoaW5mbywgYnVmLCBvcGNvZGUp
 CistICBkaXNhc3NlbWJsZV9pbmZvICppbmZvIEFUVFJJQlVURV9VTlVTRUQ7CistICBjaGFyIGJ1
 ZltdOworLSAgdW5zaWduZWQgc2hvcnQgb3Bjb2RlOworK3NwcmludF9pbmRpcmVjdF9hZGRyZXNz
 IChkaXNhc3NlbWJsZV9pbmZvICogaW5mbyBBVFRSSUJVVEVfVU5VU0VELAorKyAgY2hhciBidWZb
 XSwgdW5zaWduZWQgc2hvcnQgb3Bjb2RlKQorIHsKKyAgIGNvbnN0IGNoYXIgKmZvcm1hdHNbXSA9
 IHsKKyAgICAgIiphciVkIiwKK0BAIC01MjIsMTAgKzUxOSw4IEBACisgfQorIAorIHN0YXRpYyBp
 bnQKKy1zcHJpbnRfZGlyZWN0X2FkZHJlc3MgKGluZm8sIGJ1Ziwgb3Bjb2RlKQorLSAgZGlzYXNz
 ZW1ibGVfaW5mbyAqaW5mbyBBVFRSSUJVVEVfVU5VU0VEOworLSAgY2hhciBidWZbXTsKKy0gIHVu
 c2lnbmVkIHNob3J0IG9wY29kZTsKKytzcHJpbnRfZGlyZWN0X2FkZHJlc3MgKCBkaXNhc3NlbWJs
 ZV9pbmZvICppbmZvIEFUVFJJQlVURV9VTlVTRUQsCisrICBjaGFyIGJ1ZltdLCB1bnNpZ25lZCBz
 aG9ydCBvcGNvZGUpCisgeworICAgLyogRklYTUUgLS0gbG9vayB1cCByZWxvY2F0aW9uIGlmIGF2
 YWlsYWJsZSAqLworICAgcmV0dXJuIHNwcmludGYgKGJ1ZiwgIkRQKzB4JTAyeCIsIChpbnQpIChv
 cGNvZGUgJiAweDdGKSk7CitAQCAtNTUyLDEwICs1NDcsOCBAQAorIH0KKyAKKyBzdGF0aWMgaW50
 Cistc3ByaW50X2NjMiAoaW5mbywgYnVmLCBvcGNvZGUpCistICBkaXNhc3NlbWJsZV9pbmZvICpp
 bmZvIEFUVFJJQlVURV9VTlVTRUQ7CistICBjaGFyICpidWY7CistICB1bnNpZ25lZCBzaG9ydCBv
 cGNvZGU7Cisrc3ByaW50X2NjMiAoZGlzYXNzZW1ibGVfaW5mbyAqaW5mbyBBVFRSSUJVVEVfVU5V
 U0VELAorKyAgY2hhciAqYnVmLCB1bnNpZ25lZCBzaG9ydCBvcGNvZGUpCisgeworICAgY29uc3Qg
 Y2hhciAqY2MyW10gPSB7CisgICAgICI/PyIsICI/PyIsICJhZ2VxIiwgImFsdCIsICJhbmVxIiwg
 ImFlcSIsICJhZ3QiLCAiYWxlcSIsCitAQCAtNTY1LDEwICs1NTgsOCBAQAorIH0KKyAKKyBzdGF0
 aWMgaW50Cistc3ByaW50X2NvbmRpdGlvbiAoaW5mbywgYnVmLCBvcGNvZGUpCistICBkaXNhc3Nl
 bWJsZV9pbmZvICppbmZvIEFUVFJJQlVURV9VTlVTRUQ7CistICBjaGFyICpidWY7CistICB1bnNp
 Z25lZCBzaG9ydCBvcGNvZGU7Cisrc3ByaW50X2NvbmRpdGlvbiAoZGlzYXNzZW1ibGVfaW5mbyAq
 aW5mbyBBVFRSSUJVVEVfVU5VU0VELAorKyAgY2hhciAqYnVmLCB1bnNpZ25lZCBzaG9ydCBvcGNv
 ZGUpCisgeworICAgY2hhciAqc3RhcnQgPSBidWY7CisgICBjb25zdCBjaGFyICpjbXBbXSA9IHsK
 ZGlmZiAtTnJ1IGRldmVsL2dkYi5vcmlnL3BrZy1wbGlzdCBkZXZlbC9nZGIvcGtnLXBsaXN0Ci0t
 LSBkZXZlbC9nZGIub3JpZy9wa2ctcGxpc3QJMjAxMi0wOC0yNCAwNDo1NDo1MC4wMDAwMDAwMDAg
 KzAyMDAKKysrIGRldmVsL2dkYi9wa2ctcGxpc3QJMjAxMy0wMy0wOCAxNjowMDo0NC4wMDAwMDAw
 MDAgKzAxMDAKQEAgLTEsNiArMSw2IEBACiAlJUdEQl9MSU5LJSViaW4vZ2RiCiBiaW4vZ2RiJSVW
 RVIlJQotYmluL2dkYnR1aSUlVkVSJSUKKyUlVFVJX0xJTkslJWJpbi9nZGJ0dWklJVZFUiUlCiAl
 JVBZVEhPTiUlc2hhcmUvZ2RiJSVWRVIlJS9weXRob24vZ2RiL19faW5pdF9fLnB5CiAlJVBZVEhP
 TiUlc2hhcmUvZ2RiJSVWRVIlJS9weXRob24vZ2RiL3R5cGVzLnB5CiAlJVBZVEhPTiUlc2hhcmUv
 Z2RiJSVWRVIlJS9weXRob24vZ2RiL3ByaW50aW5nLnB5Cg==
 --485b397dd0dbd9aa4404d7a24c0f--

From: Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
To: bug-followup@freebsd.org, luca.pizzamiglio@gmail.com
Cc:  
Subject: Re: ports/176103: [MAINTAINER] devel/gdb: Adding an option to disable
 TUI and correctly enabling all targets
Date: Mon, 11 Mar 2013 10:17:18 +0100

 Sorry for the mess,
 this patch is still incomplete, it doesn't solve all problems on
 64-bit architecture.
 I'm still working on it.
 
 best regards,
 Luca

From: Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
To: bug-followup@freebsd.org, luca.pizzamiglio@gmail.com
Cc:  
Subject: Re: ports/176103: [MAINTAINER] devel/gdb: Adding an option to disable
 TUI and correctly enabling all targets
Date: Tue, 12 Mar 2013 18:29:05 +0100

 Hi,
 at the end, this is the final patch. It works with gcc and clang, on
 i386 and amd64 architectures.
 I prefer remove all warning than turn off -Werror flag.
 
 Cheers,
 Luca

From: Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
To: bug-followup@freebsd.org, luca.pizzamiglio@gmail.com
Cc:  
Subject: Re: ports/176103: [MAINTAINER] devel/gdb: Adding an option to disable
 TUI and correctly enabling all targets
Date: Wed, 13 Mar 2013 09:18:25 +0100

 --14dae93407190eec2d04d7ca0ed3
 Content-Type: text/plain; charset=ISO-8859-1
 
 The patch!
 
 --14dae93407190eec2d04d7ca0ed3
 Content-Type: text/plain; name="patch-gdb.txt"
 Content-Disposition: attachment; filename="patch-gdb.txt"
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_he87v8ln0
 
 ZGlmZiAtTnJ1IGRldmVsL2dkYi5vcmlnL01ha2VmaWxlIGRldmVsL2dkYi9NYWtlZmlsZQotLS0g
 ZGV2ZWwvZ2RiLm9yaWcvTWFrZWZpbGUJMjAxMi0xMi0xNiAxNzo1MDo1Mi4wMDAwMDAwMDAgKzAx
 MDAKKysrIGRldmVsL2dkYi9NYWtlZmlsZQkyMDEzLTAzLTExIDE0OjU1OjM4LjAwMDAwMDAwMCAr
 MDEwMApAQCAtMSw1ICsxLDUgQEAKICMgQ3JlYXRlZCBieTogU3RldmVuIEtyZXV6ZXIgPHNrcmV1
 emVyQEZyZWVCU0Qub3JnPgotIyAkRnJlZUJTRDogcG9ydHMvZGV2ZWwvZ2RiL01ha2VmaWxlLHYg
 MS4yOCAyMDEyLzEyLzE2IDE2OjUwOjUyIHN2bmV4cCBFeHAgJAorIyAkRnJlZUJTRCQKIAogUE9S
 VE5BTUU9CWdkYgogUE9SVFZFUlNJT049CTcuNS4xCkBAIC0yMCw4ICsyMCw3IEBACiAJCS0td2l0
 aC1nZGItZGF0YWRpcj0ke1BSRUZJWH0vc2hhcmUvZ2RiJHtQT1JUVkVSU0lPTjpTLy4vL2d9IFwK
 IAkJLS13aXRoLWxpYmljb252LXByZWZpeD0ke0xPQ0FMQkFTRX0gXAogCQktLXdpdGhvdXQtbGli
 dW53aW5kLWlhNjQgXAotCQktLWVuYWJsZS10YXJnZXQ9YWxsIFwKLQkJLS1lbmFibGUtdHVpCisJ
 CS0tZW5hYmxlLXRhcmdldHM9YWxsCiBDRkxBR1M6PQkke0NGTEFHUzpDLyArJC8vfQkjIGJsYW5r
 cyBhdCBFT0wgY3JlZXAgaW4gc29tZXRpbWVzCiBDRkxBR1MrPQktRFJMX05PX0NPTVBBVAogRVhD
 TFVERT0JZGVqYWdudSBleHBlY3Qgc2ltIHRleGluZm8gaW50bApAQCAtMzMsMTQgKzMyLDE1IEBA
 CiAKIE9OTFlfRk9SX0FSQ0hTPQlpMzg2IGFtZDY0CSMgdW50ZXN0ZWQgZWxzZXdoZXJlLCBtaWdo
 dCB3b3JrCiAKLU9QVElPTlNfREVGSU5FPQlERUJVRyBFWFBBVCBQWVRIT04gVEhSRUFEUyBHREJf
 TElOSworT1BUSU9OU19ERUZJTkU9CURFQlVHIEVYUEFUIFBZVEhPTiBUSFJFQURTIFRVSSBHREJf
 TElOSwogT1BUSU9OU19TSU5HTEVfUkVBRExJTkU9CUJBU0VfUkVBRExJTkUgQlVORExFRF9SRUFE
 TElORSBQT1JUX1JFQURMSU5FCiBPUFRJT05TX1NJTkdMRT0JUkVBRExJTkUKLUJBU0VfUkVBRExJ
 TkVfREVTQz0JZnJvbSBiYXNlIHN5c3RlbSAoRVhQRVJJTUVOVEFMKQorQkFTRV9SRUFETElORV9E
 RVNDPQlmcm9tIGJhc2Ugc3lzdGVtKEVYUEVSSU1FTlRBTCkKIEJVTkRMRURfUkVBRExJTkVfREVT
 Qz0JZnJvbSBnZGIgZGlzdGZpbGUKIFBPUlRfUkVBRExJTkVfREVTQz0JZnJvbSBkZXZlbC9yZWFk
 bGluZSBwb3J0CiBHREJfTElOS19ERVNDPQlDcmVhdGUgdGhlIGdkYiBsaW5rCi1PUFRJT05TX0RF
 RkFVTFQ9CVRIUkVBRFMgR0RCX0xJTksgUE9SVF9SRUFETElORQorVFVJX0RFU0M9CVRleHQgVXNl
 ciBJbnRlcmZhY2UgZW5hYmxlZAorT1BUSU9OU19ERUZBVUxUPQlUSFJFQURTIFRVSSBHREJfTElO
 SyBQT1JUX1JFQURMSU5FCiAKIC5pbmNsdWRlIDxic2QucG9ydC5vcHRpb25zLm1rPgogCkBAIC01
 MCw4ICs1MCwxMiBAQAogUExJU1RfU1VCKz0JR0RCX0xJTks9IkBjb21tZW50ICIKIC5lbmRpZgog
 Ci0uaWYgJHtQT1JUX09QVElPTlM6TVBZVEhPTn0KLVVTRV9QWVRIT049CTIuNS0yLjcKKy5pZiAk
 e1BPUlRfT1BUSU9OUzpNVFVJfQorQ09ORklHVVJFX0FSR1MrPQktLWVuYWJsZS10dWkKK1BMSVNU
 X1NVQis9CVRVSV9MSU5LPSIiCisuZWxzZQorQ09ORklHVVJFX0FSR1MrPQktLWRpc2FibGUtdHVp
 CitQTElTVF9TVUIrPQlUVUlfTElOSz0iQGNvbW1lbnQgIgogLmVuZGlmCiAKIC5pZiBlbXB0eShQ
 T1JUX09QVElPTlM6TUJVTkRMRURfUkVBRExJTkUpCkBAIC02Nyw2ICs3MSwxNiBAQAogLmlmICR7
 UE9SVF9PUFRJT05TOk1QT1JUX1JFQURMSU5FfQogVVNFX1JFQURMSU5FPQlwb3J0CiAuZW5kaWYK
 KworLmlmICR7UE9SVF9PUFRJT05TOk1QWVRIT059CitVU0VfUFlUSE9OPQkyLjUtMi43CitDT05G
 SUdVUkVfQVJHUys9CS0td2l0aC1weXRob249JHtQWVRIT05fQ01EfQorUExJU1RfU1VCKz0JCVBZ
 VEhPTj0iIgorLmVsc2UKK0NPTkZJR1VSRV9BUkdTKz0JLS13aXRob3V0LXB5dGhvbgorUExJU1Rf
 U1VCKz0JCVBZVEhPTj0iQGNvbW1lbnQgIgorLmVuZGlmCisKIC5pbmNsdWRlIDxic2QucG9ydC5w
 cmUubWs+CiAKIC5pZiAke1BPUlRfT1BUSU9OUzpNVEhSRUFEU30KQEAgLTg0LDE0ICs5OCw2IEBA
 CiBDT05GSUdVUkVfQVJHUys9CS0td2l0aG91dC1leHBhdAogLmVuZGlmCiAKLS5pZiAke1BPUlRf
 T1BUSU9OUzpNUFlUSE9OfQotQ09ORklHVVJFX0FSR1MrPQktLXdpdGgtcHl0aG9uPSR7UFlUSE9O
 X0NNRH0KLVBMSVNUX1NVQis9CQlQWVRIT049IiIKLS5lbHNlCi1DT05GSUdVUkVfQVJHUys9CS0t
 d2l0aG91dC1weXRob24KLVBMSVNUX1NVQis9CQlQWVRIT049IkBjb21tZW50ICIKLS5lbmRpZgot
 CiAuaWYgJHtBUkNIfSA9PSAiYW1kNjQiCiBDT05GSUdVUkVfVEFSR0VUPQl4ODZfNjQtcG9ydGJs
 ZC1mcmVlYnNkJHtPU1JFTH0KIC5lbmRpZgpAQCAtMTA1LDggKzExMSwxMCBAQAogCiBkby1pbnN0
 YWxsOgogCSR7SU5TVEFMTF9QUk9HUkFNfSAke1dSS1NSQ30vZ2RiL2dkYiAke1BSRUZJWH0vYmlu
 L2dkYiR7VkVSfQotCSR7TE59IC1zZiAke1BSRUZJWH0vYmluL2dkYiR7VkVSfSAke1BSRUZJWH0v
 YmluL2dkYnR1aSR7VkVSfQogCSR7SU5TVEFMTF9NQU59ICR7V1JLU1JDfS9nZGIvZ2RiLjEgJHtN
 QU4xUFJFRklYfS9tYW4vbWFuMS9nZGIke1ZFUn0uMQorLmlmICR7UE9SVF9PUFRJT05TOk1UVUl9
 CisJJHtMTn0gLXNmICR7UFJFRklYfS9iaW4vZ2RiJHtWRVJ9ICR7UFJFRklYfS9iaW4vZ2RidHVp
 JHtWRVJ9CisuZW5kaWYKIC5pZiAke1BPUlRfT1BUSU9OUzpNR0RCX0xJTkt9CiAJJHtMTn0gLXNm
 IGdkYiR7VkVSfSAke1BSRUZJWH0vYmluL2dkYgogLmVuZGlmCmRpZmYgLU5ydSBkZXZlbC9nZGIu
 b3JpZy9maWxlcy9leHRyYXBhdGNoLWdkYi1NYWtlZmlsZS5pbiBkZXZlbC9nZGIvZmlsZXMvZXh0
 cmFwYXRjaC1nZGItTWFrZWZpbGUuaW4KLS0tIGRldmVsL2dkYi5vcmlnL2ZpbGVzL2V4dHJhcGF0
 Y2gtZ2RiLU1ha2VmaWxlLmluCTIwMTItMDgtMjcgMTg6MTA6NTQuMDAwMDAwMDAwICswMjAwCisr
 KyBkZXZlbC9nZGIvZmlsZXMvZXh0cmFwYXRjaC1nZGItTWFrZWZpbGUuaW4JMjAxMy0wMy0xMSAx
 NDo1Nzo0MC4wMDAwMDAwMDAgKzAxMDAKQEAgLTEsMjMgKzEsMTMgQEAKIC0tLSBnZGIvTWFrZWZp
 bGUuaW4ub3JpZwkyMDEyLTA3LTAyIDE3OjI5OjMzLjAwMDAwMDAwMCArMDIwMAogKysrIGdkYi9N
 YWtlZmlsZS5pbgkyMDEyLTA4LTI2IDIxOjAxOjQ1LjU4OTA1Mjk5NyArMDIwMAotQEAgLTU3Miw3
 ICs1NzIsNyBAQAotIAl4c3Rvcm15MTYtdGRlcC5vIFwKK0BAIC01NzMsNiArNTczLDcgQEAKICAJ
 eHRlbnNhLWNvbmZpZy5vIHh0ZW5zYS10ZGVwLm8geHRlbnNhLWxpbnV4LXRkZXAubyBcCiAgCWds
 aWJjLXRkZXAubyBcCi0tCWJzZC11dGhyZWFkLm8gXAorCWJzZC11dGhyZWFkLm8gXAogKwlmYnNk
 LXRocmVhZHMubyBcCiAgCW5ic2QtdGRlcC5vIG9ic2QtdGRlcC5vIFwKICAJc29sMi10ZGVwLm8g
 XAogIAlzb2xpYi1mcnYubyBzb2xpYi1pcml4Lm8gc29saWItc3ZyNC5vIFwKLUBAIC03NzksNyAr
 Nzc5LDcgQEAKLSBnbnVsaWIvaW1wb3J0L3N0ZGludC5pbi5oIHJlbW90ZS5oIGdkYi5oIHNwYXJj
 LW5hdC5oIFwKLSBnZGJ0aHJlYWQuaCBkd2FyZjItZnJhbWUuaCBkd2FyZjItZnJhbWUtdGFpbGNh
 bGwuaCBuYnNkLW5hdC5oIGRjYWNoZS5oIFwKLSBhbWQ2NC1uYXQuaCBzMzkwLXRkZXAuaCBhcm0t
 bGludXgtdGRlcC5oIGV4Y2VwdGlvbnMuaCBtYWNyb3Njb3BlLmggXAotLWdkYmFyY2guaCBic2Qt
 dXRocmVhZC5oIGdkYl9zdGF0LmggbWVtb3J5LW1hcC5oCW1lbXJhbmdlLmggXAotK2dkYmFyY2gu
 aCBnZGJfc3RhdC5oIG1lbW9yeS1tYXAuaAltZW1yYW5nZS5oIFwKLSBtZGVidWdyZWFkLmggbTg4
 ay10ZGVwLmggc3RhYnNyZWFkLmggaHBwYS1saW51eC1vZmZzZXRzLmggbGludXgtZm9yay5oIFwK
 LSBzZXItdW5peC5oIGluZi1wdHJhY2UuaCB0ZXJtaW5hbC5oIHVpLW91dC5oIGZyYW1lLWJhc2Uu
 aCBcCi0gZi1sYW5nLmggZHdhcmYybG9jLmggdmFsdWUuaCBzcGFyYy10ZGVwLmggZGVmcy5oIHRh
 cmdldC1kZXNjcmlwdGlvbnMuaCBcCiBAQCAtMTE2NCw3ICsxMTY0LDcgQEAKICAjIFJlbW92aW5n
 IHRoZSBvbGQgZ2RiIGZpcnN0IHdvcmtzIGJldHRlciBpZiBpdCBpcyBydW5uaW5nLCBhdCBsZWFz
 dCBvbiBTdW5PUy4KICBnZGIkKEVYRUVYVCk6IGdkYi5vICQoTElCR0RCX09CUykgJChBRERfREVQ
 UykgJChDREVQUykgJChUREVQTElCUykKQEAgLTMyLDcgKzIyLDcgQEAKICAJYXZyLXRkZXAuYyBc
 CiAgCWJmaW4tbGludXgtdGRlcC5jIGJmaW4tdGRlcC5jIFwKIC0JYnNkLXV0aHJlYWQuYyBic2Qt
 a3ZtLmMgXAotKwlmYnNkLXRocmVhZHMuYyBic2Qta3ZtLmMgXAorKwlic2QtdXRocmVhZC5jIGZi
 c2QtdGhyZWFkcy5jIGJzZC1rdm0uYyBcCiAgCWNvcmUtcmVnc2V0LmMgXAogIAlkY2FjaGUuYyBk
 aWNvcy10ZGVwLmMgZGFyd2luLW5hdC5jIFwKICAJZXhlYy5jIFwKZGlmZiAtTnJ1IGRldmVsL2dk
 Yi5vcmlnL2ZpbGVzL2Zic2QtdGhyZWFkcy5jIGRldmVsL2dkYi9maWxlcy9mYnNkLXRocmVhZHMu
 YwotLS0gZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvZmJzZC10aHJlYWRzLmMJMjAxMi0xMS0xNyAwNjo1
 NTo0NC4wMDAwMDAwMDAgKzAxMDAKKysrIGRldmVsL2dkYi9maWxlcy9mYnNkLXRocmVhZHMuYwky
 MDEzLTAzLTExIDE0OjU3OjQwLjAwMDAwMDAwMCArMDEwMApAQCAtMSw0ICsxLDQgQEAKLS8qICRG
 cmVlQlNEOiBwb3J0cy9kZXZlbC9nZGIvZmlsZXMvZmJzZC10aHJlYWRzLmMsdiAxLjggMjAxMi8x
 MS8xNyAwNTo1NTo0NCBzdm5leHAgRXhwICQgKi8KKy8qICRGcmVlQlNEJCAqLwogLyogRnJlZUJT
 RCBsaWJ0aHJlYWRfZGIgYXNzaXN0ZWQgZGVidWdnaW5nIHN1cHBvcnQuCiAgICBDb3B5cmlnaHQg
 MTk5OSwgMjAwMCwgMjAwMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIApkaWZmIC1O
 cnUgZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0Y2gtYmZkLWVjb2ZmLmMgZGV2ZWwvZ2RiL2ZpbGVz
 L3BhdGNoLWJmZC1lY29mZi5jCi0tLSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1iZmQtZWNv
 ZmYuYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgZGV2ZWwvZ2RiL2Zp
 bGVzL3BhdGNoLWJmZC1lY29mZi5jCTIwMTMtMDMtMTEgMTQ6NTc6NDAuMDAwMDAwMDAwICswMTAw
 CkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBiZmQvZWNvZmYuYy5vcmlnCTIwMTMtMDMtMTEgMTI6NDI6
 MDMuMDAwMDAwMDAwICswMTAwCisrKysgYmZkL2Vjb2ZmLmMJMjAxMy0wMy0xMSAxMjo0NDoyOS4w
 MDAwMDAwMDAgKzAxMDAKK0BAIC0xODg4LDcgKzE4ODgsNyBAQAorICAgcmV0ID0gKGJmZF9jb2Zm
 X2ZpbGhzeiAoYWJmZCkKKyAJICsgYmZkX2NvZmZfYW91dHN6IChhYmZkKQorIAkgKyBjICogYmZk
 X2NvZmZfc2NuaHN6IChhYmZkKSk7CistICByZXR1cm4gQkZEX0FMSUdOIChyZXQsIDE2KTsKKysg
 IHJldHVybiAoaW50KUJGRF9BTElHTiAocmV0LCAxNik7CisgfQorIAorIC8qIEdldCB0aGUgY29u
 dGVudHMgb2YgYSBzZWN0aW9uLiAgKi8KZGlmZiAtTnJ1IGRldmVsL2dkYi5vcmlnL2ZpbGVzL3Bh
 dGNoLWJmZC1lbGYzMi1ocHBhLmMgZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLWJmZC1lbGYzMi1ocHBh
 LmMKLS0tIGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC1lbGYzMi1ocHBhLmMJMTk3MC0w
 MS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIGRldmVsL2dkYi9maWxlcy9wYXRjaC1i
 ZmQtZWxmMzItaHBwYS5jCTIwMTMtMDMtMTEgMTQ6NTc6NDAuMDAwMDAwMDAwICswMTAwCkBAIC0w
 LDAgKzEsMTEgQEAKKy0tLSBiZmQvZWxmMzItaHBwYS5jLm9yaWcJMjAxMy0wMy0wNyAwOTo1Njo0
 MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBiZmQvZWxmMzItaHBwYS5jCTIwMTMtMDMtMDcgMDk6NTc6
 MDcuMDAwMDAwMDAwICswMTAwCitAQCAtMjM4NCw3ICsyMzg0LDcgQEAKKyAJICAgICAgYmZkX3Np
 emVfdHlwZSBtYXNrOworIAorIAkgICAgICBpZiAoZ290YWxpZ24gPiBwbHRhbGlnbikKKy0JCWJm
 ZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQgKGR5bm9iaiwgc2VjLCBnb3RhbGlnbik7CisrCQkodm9p
 ZCliZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChkeW5vYmosIHNlYywgZ290YWxpZ24pOworIAkg
 ICAgICBtYXNrID0gKChiZmRfc2l6ZV90eXBlKSAxIDw8IGdvdGFsaWduKSAtIDE7CisgCSAgICAg
 IHNlYy0+c2l6ZSA9IChzZWMtPnNpemUgKyBzaXplb2YgKHBsdF9zdHViKSArIG1hc2spICYgfm1h
 c2s7CisgCSAgICB9CmRpZmYgLU5ydSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1iZmQtZWxm
 MzItbTMyci5jIGRldmVsL2dkYi9maWxlcy9wYXRjaC1iZmQtZWxmMzItbTMyci5jCi0tLSBkZXZl
 bC9nZGIub3JpZy9maWxlcy9wYXRjaC1iZmQtZWxmMzItbTMyci5jCTE5NzAtMDEtMDEgMDE6MDA6
 MDAuMDAwMDAwMDAwICswMTAwCisrKyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtYmZkLWVsZjMyLW0z
 MnIuYwkyMDEzLTAzLTExIDE0OjU3OjQwLjAwMDAwMDAwMCArMDEwMApAQCAtMCwwICsxLDExIEBA
 CistLS0gYmZkL2VsZjMyLW0zMnIuYy5vcmlnCTIwMTMtMDMtMDcgMDk6NTc6MzAuMDAwMDAwMDAw
 ICswMTAwCisrKysgYmZkL2VsZjMyLW0zMnIuYwkyMDEzLTAzLTA3IDA5OjU3OjUzLjAwMDAwMDAw
 MCArMDEwMAorQEAgLTEzOTAsNyArMTM5MCw3IEBACisgCQkJCQkJICBmbGFncyk7CisgCSAgaWYg
 KHMgPT0gTlVMTCkKKyAJICAgIHJldHVybiBGQUxTRTsKKy0JICBiZmRfc2V0X3NlY3Rpb25fYWxp
 Z25tZW50IChhYmZkLCBzLCAyKTsKKysJICAodm9pZCliZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50
 IChhYmZkLCBzLCAyKTsKKyAJfQorIAorICAgICAgIGJoID0gYmZkX2xpbmtfaGFzaF9sb29rdXAg
 KGluZm8tPmhhc2gsICJfU0RBX0JBU0VfIiwKZGlmZiAtTnJ1IGRldmVsL2dkYi5vcmlnL2ZpbGVz
 L3BhdGNoLWJmZC1lbGYzMi1taWNyb2JsYXplLmMgZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLWJmZC1l
 bGYzMi1taWNyb2JsYXplLmMKLS0tIGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC1lbGYz
 Mi1taWNyb2JsYXplLmMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIGRl
 dmVsL2dkYi9maWxlcy9wYXRjaC1iZmQtZWxmMzItbWljcm9ibGF6ZS5jCTIwMTMtMDMtMTEgMTQ6
 NTc6NDAuMDAwMDAwMDAwICswMTAwCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBiZmQvZWxmMzItbWlj
 cm9ibGF6ZS5jLm9yaWcJMjAxMy0wMy0wNyAxMDowMTo0Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBi
 ZmQvZWxmMzItbWljcm9ibGF6ZS5jCTIwMTMtMDMtMDcgMTA6MDI6NTQuMDAwMDAwMDAwICswMTAw
 CitAQCAtMTc0MSw3ICsxNzQxLDcgQEAKKyAgICAgICBmb3IgKGlzeW0gPSBpc3ltYnVmOyBpc3lt
 IDwgaXN5bWVuZDsgaXN5bSsrKQorICAgICAgICAgeworICAgICAgICAgICBpZiAoaXN5bS0+c3Rf
 c2huZHggPT0gc2huZHgpCistCSAgICBpc3ltLT5zdF92YWx1ZSA9LSBjYWxjX2ZpeHVwIChpc3lt
 LT5zdF92YWx1ZSwgc2VjKTsKKysJICAgIGlzeW0tPnN0X3ZhbHVlID0gLWNhbGNfZml4dXAgKGlz
 eW0tPnN0X3ZhbHVlLCBzZWMpOworICAgICAgICAgfQorIAorICAgICAgIC8qIE5vdyBhZGp1c3Qg
 dGhlIGdsb2JhbCBzeW1ib2xzIGRlZmluZWQgaW4gdGhpcyBzZWN0aW9uLiAgKi8KZGlmZiAtTnJ1
 IGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC1lbGYzMi10aWM2eC5jIGRldmVsL2dkYi9m
 aWxlcy9wYXRjaC1iZmQtZWxmMzItdGljNnguYwotLS0gZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0
 Y2gtYmZkLWVsZjMyLXRpYzZ4LmMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAK
 KysrIGRldmVsL2dkYi9maWxlcy9wYXRjaC1iZmQtZWxmMzItdGljNnguYwkyMDEzLTAzLTExIDE0
 OjU3OjQwLjAwMDAwMDAwMCArMDEwMApAQCAtMCwwICsxLDMwIEBACistLS0gYmZkL2VsZjMyLXRp
 YzZ4LmMub3JpZwkyMDEzLTAzLTA3IDEwOjAzOjI4LjAwMDAwMDAwMCArMDEwMAorKysrIGJmZC9l
 bGYzMi10aWM2eC5jCTIwMTMtMDMtMDcgMTA6MDg6MTkuMDAwMDAwMDAwICswMTAwCitAQCAtMzA0
 Myw3ICszMDQzLDcgQEAKKyAgICAgICAqc2VjcCA9IGJmZF9tYWtlX3NlY3Rpb25fb2xkX3dheSAo
 YWJmZCwgIi5zY29tbW9uIik7CisgICAgICAgKCpzZWNwKS0+ZmxhZ3MgfD0gU0VDX0lTX0NPTU1P
 TjsKKyAgICAgICAqdmFscCA9IHN5bS0+c3Rfc2l6ZTsKKy0gICAgICBiZmRfc2V0X3NlY3Rpb25f
 YWxpZ25tZW50IChhYmZkLCAqc2VjcCwgYmZkX2xvZzIgKHN5bS0+c3RfdmFsdWUpKTsKKysgICAg
 ICAodm9pZCliZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChhYmZkLCAqc2VjcCwgYmZkX2xvZzIg
 KHN5bS0+c3RfdmFsdWUpKTsKKyAgICAgICBicmVhazsKKyAgICAgfQorIAorQEAgLTMzMTksOCAr
 MzMxOSw2IEBACisgICAgIHsKKyAgICAgICBiZmRfc2lnbmVkX3ZtYSAqbG9jYWxfZ290OworICAg
 ICAgIGJmZF9zaWduZWRfdm1hICplbmRfbG9jYWxfZ290OworLSAgICAgIGNoYXIgKmxvY2FsX3Rs
 c190eXBlOworLSAgICAgIGJmZF92bWEgKmxvY2FsX3Rsc2Rlc2NfZ290ZW50OworICAgICAgIGJm
 ZF9zaXplX3R5cGUgbG9jc3ltY291bnQ7CisgICAgICAgRWxmX0ludGVybmFsX1NoZHIgKnN5bXRh
 Yl9oZHI7CisgICAgICAgYXNlY3Rpb24gKnNyZWw7CitAQCAtMzM2MSw4ICszMzU5LDcgQEAKKyAg
 ICAgICBlbmRfbG9jYWxfZ290ID0gbG9jYWxfZ290ICsgbG9jc3ltY291bnQ7CisgICAgICAgcyA9
 IGh0YWItPmVsZi5zZ290OworICAgICAgIHNyZWwgPSBodGFiLT5lbGYuc3JlbGdvdDsKKy0gICAg
 ICBmb3IgKDsgbG9jYWxfZ290IDwgZW5kX2xvY2FsX2dvdDsKKy0JICAgKytsb2NhbF9nb3QsICsr
 bG9jYWxfdGxzX3R5cGUsICsrbG9jYWxfdGxzZGVzY19nb3RlbnQpCisrICAgICAgZm9yICg7IGxv
 Y2FsX2dvdCA8IGVuZF9sb2NhbF9nb3Q7ICsrbG9jYWxfZ290KQorIAl7CisgCSAgaWYgKCpsb2Nh
 bF9nb3QgPiAwKQorIAkgICAgewpkaWZmIC1OcnUgZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0Y2gt
 YmZkLWVsZjMyLXY4NTAuYyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtYmZkLWVsZjMyLXY4NTAuYwot
 LS0gZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0Y2gtYmZkLWVsZjMyLXY4NTAuYwkxOTcwLTAxLTAx
 IDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLWJmZC1l
 bGYzMi12ODUwLmMJMjAxMy0wMy0xMSAxNDo1Nzo0MC4wMDAwMDAwMDAgKzAxMDAKQEAgLTAsMCAr
 MSwxMSBAQAorLS0tIGJmZC9lbGYzMi12ODUwLmMub3JpZwkyMDEzLTAzLTExIDEyOjU1OjQ4LjAw
 MDAwMDAwMCArMDEwMAorKysrIGJmZC9lbGYzMi12ODUwLmMJMjAxMy0wMy0xMSAxMjo1Nzo0NS4w
 MDAwMDAwMDAgKzAxMDAKK0BAIC0yOTMzLDcgKzI5MzMsNyBAQAorIAorIAkgIGlmIChhbGlnbm1v
 dmV0byA8IGFsaWdudG8pCisgCSAgICB7CistCSAgICAgIHVuc2lnbmVkIGludCBpOworKwkgICAg
 ICBiZmRfdm1hIGk7CisgCisgCSAgICAgIGFsaWduX3BhZF9zaXplID0gYWxpZ250byAtIGFsaWdu
 bW92ZXRvOworICNpZmRlZiBERUJVR19SRUxBWApkaWZmIC1OcnUgZGV2ZWwvZ2RiLm9yaWcvZmls
 ZXMvcGF0Y2gtYmZkLWVsZjMyLXh0ZW5zYS5jIGRldmVsL2dkYi9maWxlcy9wYXRjaC1iZmQtZWxm
 MzIteHRlbnNhLmMKLS0tIGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC1lbGYzMi14dGVu
 c2EuYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgZGV2ZWwvZ2RiL2Zp
 bGVzL3BhdGNoLWJmZC1lbGYzMi14dGVuc2EuYwkyMDEzLTAzLTExIDE0OjU3OjQwLjAwMDAwMDAw
 MCArMDEwMApAQCAtMCwwICsxLDIwIEBACistLS0gYmZkL2VsZjMyLXh0ZW5zYS5jLm9yaWcJMjAx
 My0wMy0wNyAxMDowODo1OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBiZmQvZWxmMzIteHRlbnNhLmMJ
 MjAxMy0wMy0wNyAxMDoxMTo0MC4wMDAwMDAwMDAgKzAxMDAKK0BAIC02MDc1LDcgKzYwNzUsNyBA
 QAorICAgICAgIHJlbGVhc2VfaW50ZXJuYWxfcmVsb2NzIChzZWNfY2FjaGUtPnNlYywgc2VjX2Nh
 Y2hlLT5yZWxvY3MpOworICAgICAgIGlmIChzZWNfY2FjaGUtPnB0YmwpCisgCWZyZWUgKHNlY19j
 YWNoZS0+cHRibCk7CistICAgICAgbWVtc2V0IChzZWNfY2FjaGUsIDAsIHNpemVvZiAoc2VjX2Nh
 Y2hlKSk7CisrICAgICAgbWVtc2V0IChzZWNfY2FjaGUsIDAsIHNpemVvZiAoKnNlY19jYWNoZSkp
 OworICAgICB9CisgfQorIAorQEAgLTYxMTcsNyArNjExNyw3IEBACisgCisgICAvKiBGaWxsIGlu
 IHRoZSBuZXcgc2VjdGlvbiBjYWNoZS4gICovCisgICBjbGVhcl9zZWN0aW9uX2NhY2hlIChzZWNf
 Y2FjaGUpOworLSAgbWVtc2V0IChzZWNfY2FjaGUsIDAsIHNpemVvZiAoc2VjX2NhY2hlKSk7Cisr
 ICBtZW1zZXQgKHNlY19jYWNoZSwgMCwgc2l6ZW9mICgqc2VjX2NhY2hlKSk7CisgCisgICBzZWNf
 Y2FjaGUtPnNlYyA9IHNlYzsKKyAgIHNlY19jYWNoZS0+Y29udGVudHMgPSBjb250ZW50czsKZGlm
 ZiAtTnJ1IGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC1lbGY2NC1hbHBoYS5jIGRldmVs
 L2dkYi9maWxlcy9wYXRjaC1iZmQtZWxmNjQtYWxwaGEuYwotLS0gZGV2ZWwvZ2RiLm9yaWcvZmls
 ZXMvcGF0Y2gtYmZkLWVsZjY0LWFscGhhLmMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAg
 KzAxMDAKKysrIGRldmVsL2dkYi9maWxlcy9wYXRjaC1iZmQtZWxmNjQtYWxwaGEuYwkyMDEzLTAz
 LTExIDE0OjU3OjQwLjAwMDAwMDAwMCArMDEwMApAQCAtMCwwICsxLDYzIEBACistLS0gYmZkL2Vs
 ZjY0LWFscGhhLmMub3JpZwkyMDEzLTAzLTExIDEwOjUyOjU4LjAwMDAwMDAwMCArMDEwMAorKysr
 IGJmZC9lbGY2NC1hbHBoYS5jCTIwMTMtMDMtMTEgMTE6NTA6MjQuMDAwMDAwMDAwICswMTAwCitA
 QCAtMzU4NSw5ICszNTg1LDkgQEAKKyAgIHVzZV9nb3R0cHJlbCA9IEZBTFNFOworICAgbmV3X3N5
 bW5keCA9IGlzX2dkID8gRUxGNjRfUl9TWU0gKGlyZWwtPnJfaW5mbykgOiBTVE5fVU5ERUY7Cisg
 CistICBzd2l0Y2ggKCFkeW5hbWljICYmICFpbmZvLT5saW5rX2luZm8tPnNoYXJlZCkKKy0gICAg
 eworLSAgICBjYXNlIDE6CisrICB7CisrICAgIGludCBza2lwX2RlZmF1bHQgPSAwOworKyAgICBp
 ZiAoIWR5bmFtaWMgJiYgIWluZm8tPmxpbmtfaW5mby0+c2hhcmVkKQorICAgICAgIHsKKyAJYmZk
 X3ZtYSB0cF9iYXNlOworIAliZmRfc2lnbmVkX3ZtYSBkaXNwOworQEAgLTM2MDUsNyArMzYwNSw3
 IEBACisgCSAgICBpcmVsWzBdLnJfb2Zmc2V0ID0gcG9zWzBdIC0gaW5mby0+Y29udGVudHM7Cisg
 CSAgICBpcmVsWzBdLnJfaW5mbyA9IEVMRjY0X1JfSU5GTyAobmV3X3N5bW5keCwgUl9BTFBIQV9U
 UFJFTDE2KTsKKyAJICAgIGlyZWxbMV0ucl9pbmZvID0gRUxGNjRfUl9JTkZPICgwLCBSX0FMUEhB
 X05PTkUpOworLQkgICAgYnJlYWs7CisrCSAgICBza2lwX2RlZmF1bHQgPSAxOworIAkgIH0KKyAJ
 ZWxzZSBpZiAoZGlzcCA+PSAtKGJmZF9zaWduZWRfdm1hKSAweDgwMDAwMDAwCisgCQkgJiYgZGlz
 cCA8IChiZmRfc2lnbmVkX3ZtYSkgMHg3ZmZmODAwMAorQEAgLTM2MjAsMjQgKzM2MjAsMjMgQEAK
 KyAJICAgIGlyZWxbMF0ucl9pbmZvID0gRUxGNjRfUl9JTkZPIChuZXdfc3ltbmR4LCBSX0FMUEhB
 X1RQUkVMSEkpOworIAkgICAgaXJlbFsxXS5yX29mZnNldCA9IHBvc1sxXSAtIGluZm8tPmNvbnRl
 bnRzOworIAkgICAgaXJlbFsxXS5yX2luZm8gPSBFTEY2NF9SX0lORk8gKG5ld19zeW1uZHgsIFJf
 QUxQSEFfVFBSRUxMTyk7CistCSAgICBicmVhazsKKysJICAgIHNraXBfZGVmYXVsdCA9IDE7Cisg
 CSAgfQorICAgICAgIH0KKy0gICAgICAvKiBGQUxMVEhSVSAqLworLQorLSAgICBkZWZhdWx0Ogor
 LSAgICAgIHVzZV9nb3R0cHJlbCA9IFRSVUU7CistCistICAgICAgaW5zbiA9IChPUF9MRFEgPDwg
 MjYpIHwgKHRsc2dkX3JlZyA8PCAyMSkgfCAoMjkgPDwgMTYpOworLSAgICAgIGJmZF9wdXRfMzIg
 KGluZm8tPmFiZmQsIChiZmRfdm1hKSBpbnNuLCBwb3NbMF0pOworLSAgICAgIGJmZF9wdXRfMzIg
 KGluZm8tPmFiZmQsIChiZmRfdm1hKSBJTlNOX1VOT1AsIHBvc1sxXSk7CistCistICAgICAgaXJl
 bFswXS5yX29mZnNldCA9IHBvc1swXSAtIGluZm8tPmNvbnRlbnRzOworLSAgICAgIGlyZWxbMF0u
 cl9pbmZvID0gRUxGNjRfUl9JTkZPIChuZXdfc3ltbmR4LCBSX0FMUEhBX0dPVFRQUkVMKTsKKy0g
 ICAgICBpcmVsWzFdLnJfaW5mbyA9IEVMRjY0X1JfSU5GTyAoMCwgUl9BTFBIQV9OT05FKTsKKy0g
 ICAgICBicmVhazsKKy0gICAgfQorKyAgICAgIC8qIEZBTExUSFJVIChkZWZhdWx0KSAqLworKyAg
 ICBpZiAoc2tpcF9kZWZhdWx0ICE9IDEgKQorKyAgICAgIHsKKysgICAgICAgIHVzZV9nb3R0cHJl
 bCA9IFRSVUU7CisgCisrICAgICAgICBpbnNuID0gKE9QX0xEUSA8PCAyNikgfCAodGxzZ2RfcmVn
 IDw8IDIxKSB8ICgyOSA8PCAxNik7CisrICAgICAgICBiZmRfcHV0XzMyIChpbmZvLT5hYmZkLCAo
 YmZkX3ZtYSkgaW5zbiwgcG9zWzBdKTsKKysgICAgICAgIGJmZF9wdXRfMzIgKGluZm8tPmFiZmQs
 IChiZmRfdm1hKSBJTlNOX1VOT1AsIHBvc1sxXSk7CisrCisrICAgICAgICBpcmVsWzBdLnJfb2Zm
 c2V0ID0gcG9zWzBdIC0gaW5mby0+Y29udGVudHM7CisrICAgICAgICBpcmVsWzBdLnJfaW5mbyA9
 IEVMRjY0X1JfSU5GTyAobmV3X3N5bW5keCwgUl9BTFBIQV9HT1RUUFJFTCk7CisrICAgICAgICBp
 cmVsWzFdLnJfaW5mbyA9IEVMRjY0X1JfSU5GTyAoMCwgUl9BTFBIQV9OT05FKTsKKysgICAgICB9
 CisrICB9CisgICBiZmRfcHV0XzMyIChpbmZvLT5hYmZkLCAoYmZkX3ZtYSkgSU5TTl9SRFVOSVEs
 IHBvc1syXSk7CisgCisgICBpbnNuID0gSU5TTl9BRERRIHwgKDE2IDw8IDIxKSB8ICgwIDw8IDE2
 KSB8ICgwIDw8IDApOwpkaWZmIC1OcnUgZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0Y2gtYmZkLWVs
 Zm5uLWlhNjQuYyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtYmZkLWVsZm5uLWlhNjQuYwotLS0gZGV2
 ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0Y2gtYmZkLWVsZm5uLWlhNjQuYwkxOTcwLTAxLTAxIDAxOjAw
 OjAwLjAwMDAwMDAwMCArMDEwMAorKysgZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLWJmZC1lbGZubi1p
 YTY0LmMJMjAxMy0wMy0xMSAxNDo1Nzo0MC4wMDAwMDAwMDAgKzAxMDAKQEAgLTAsMCArMSwxMSBA
 QAorLS0tIGJmZC9lbGZubi1pYTY0LmMub3JpZwkyMDEzLTAzLTExIDEwOjIxOjE5LjAwMDAwMDAw
 MCArMDEwMAorKysrIGJmZC9lbGZubi1pYTY0LmMJMjAxMy0wMy0xMSAxMDoyMTo0My4wMDAwMDAw
 MDAgKzAxMDAKK0BAIC0xNTQ2LDcgKzE1NDYsNyBAQAorICAgICBiZmRfc2V0X3NlY3Rpb25fZmxh
 Z3MgKGFiZmQsIGlhNjRfaW5mby0+cm9vdC5zZ290LAorIAkJCSAgIFNFQ19TTUFMTF9EQVRBIHwg
 ZmxhZ3MpOworICAgICAvKiBUaGUgLmdvdCBzZWN0aW9uIGlzIGFsd2F5cyBhbGlnbmVkIGF0IDgg
 Ynl0ZXMuICAqLworLSAgICBiZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChhYmZkLCBpYTY0X2lu
 Zm8tPnJvb3Quc2dvdCwgMyk7CisrICAgICh2b2lkKWJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQg
 KGFiZmQsIGlhNjRfaW5mby0+cm9vdC5zZ290LCAzKTsKKyAgIH0KKyAKKyAgIGlmICghZ2V0X3Bs
 dG9mZiAoYWJmZCwgaW5mbywgaWE2NF9pbmZvKSkKZGlmZiAtTnJ1IGRldmVsL2dkYi5vcmlnL2Zp
 bGVzL3BhdGNoLWJmZC1lbGZ4eC1taXBzLmMgZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLWJmZC1lbGZ4
 eC1taXBzLmMKLS0tIGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC1lbGZ4eC1taXBzLmMJ
 MTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIGRldmVsL2dkYi9maWxlcy9w
 YXRjaC1iZmQtZWxmeHgtbWlwcy5jCTIwMTMtMDMtMTEgMTQ6NTc6NDAuMDAwMDAwMDAwICswMTAw
 CkBAIC0wLDAgKzEsMjggQEAKKy0tLSBiZmQvZWxmeHgtbWlwcy5jLm9yaWcJMjAxMy0wMy0wNyAx
 MDoxMjowNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBiZmQvZWxmeHgtbWlwcy5jCTIwMTMtMDMtMDcg
 MTA6MTM6MzAuMDAwMDAwMDAwICswMTAwCitAQCAtNzI5MiwyMCArNzI5MiwyMCBAQAorICAgICAg
 IC8qIENoYW5nZSBhbGlnbm1lbnRzIG9mIHNvbWUgc2VjdGlvbnMuICAqLworICAgICAgIHMgPSBi
 ZmRfZ2V0X2xpbmtlcl9zZWN0aW9uIChhYmZkLCAiLmhhc2giKTsKKyAgICAgICBpZiAocyAhPSBO
 VUxMKQorLQliZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChhYmZkLCBzLCBNSVBTX0VMRl9MT0df
 RklMRV9BTElHTiAoYWJmZCkpOworKwkodm9pZCliZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50IChh
 YmZkLCBzLCBNSVBTX0VMRl9MT0dfRklMRV9BTElHTiAoYWJmZCkpOworICAgICAgIHMgPSBiZmRf
 Z2V0X2xpbmtlcl9zZWN0aW9uIChhYmZkLCAiLmR5bnN5bSIpOworICAgICAgIGlmIChzICE9IE5V
 TEwpCistCWJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQgKGFiZmQsIHMsIE1JUFNfRUxGX0xPR19G
 SUxFX0FMSUdOIChhYmZkKSk7CisrCSh2b2lkKWJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQgKGFi
 ZmQsIHMsIE1JUFNfRUxGX0xPR19GSUxFX0FMSUdOIChhYmZkKSk7CisgICAgICAgcyA9IGJmZF9n
 ZXRfbGlua2VyX3NlY3Rpb24gKGFiZmQsICIuZHluc3RyIik7CisgICAgICAgaWYgKHMgIT0gTlVM
 TCkKKy0JYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgcywgTUlQU19FTEZfTE9HX0ZJ
 TEVfQUxJR04gKGFiZmQpKTsKKysJKHZvaWQpYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJm
 ZCwgcywgTUlQU19FTEZfTE9HX0ZJTEVfQUxJR04gKGFiZmQpKTsKKyAgICAgICAvKiA/Pz8gKi8K
 KyAgICAgICBzID0gYmZkX2dldF9zZWN0aW9uX2J5X25hbWUgKGFiZmQsICIucmVnaW5mbyIpOwor
 ICAgICAgIGlmIChzICE9IE5VTEwpCistCWJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQgKGFiZmQs
 IHMsIE1JUFNfRUxGX0xPR19GSUxFX0FMSUdOIChhYmZkKSk7CisrCSh2b2lkKWJmZF9zZXRfc2Vj
 dGlvbl9hbGlnbm1lbnQgKGFiZmQsIHMsIE1JUFNfRUxGX0xPR19GSUxFX0FMSUdOIChhYmZkKSk7
 CisgICAgICAgcyA9IGJmZF9nZXRfbGlua2VyX3NlY3Rpb24gKGFiZmQsICIuZHluYW1pYyIpOwor
 ICAgICAgIGlmIChzICE9IE5VTEwpCistCWJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQgKGFiZmQs
 IHMsIE1JUFNfRUxGX0xPR19GSUxFX0FMSUdOIChhYmZkKSk7CisrCSh2b2lkKWJmZF9zZXRfc2Vj
 dGlvbl9hbGlnbm1lbnQgKGFiZmQsIHMsIE1JUFNfRUxGX0xPR19GSUxFX0FMSUdOIChhYmZkKSk7
 CisgICAgIH0KKyAKKyAgIGlmICghaW5mby0+c2hhcmVkKQpkaWZmIC1OcnUgZGV2ZWwvZ2RiLm9y
 aWcvZmlsZXMvcGF0Y2gtYmZkLWVsZnh4LXRpbGVneC5jIGRldmVsL2dkYi9maWxlcy9wYXRjaC1i
 ZmQtZWxmeHgtdGlsZWd4LmMKLS0tIGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC1lbGZ4
 eC10aWxlZ3guYwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysgZGV2ZWwv
 Z2RiL2ZpbGVzL3BhdGNoLWJmZC1lbGZ4eC10aWxlZ3guYwkyMDEzLTAzLTExIDE0OjU3OjQwLjAw
 MDAwMDAwMCArMDEwMApAQCAtMCwwICsxLDIwIEBACistLS0gYmZkL2VsZnh4LXRpbGVneC5jLm9y
 aWcJMjAxMy0wMy0wNyAxMDoxNDozNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBiZmQvZWxmeHgtdGls
 ZWd4LmMJMjAxMy0wMy0wNyAxMDoxNTozMS4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xMjA1LDcgKzEy
 MDUsNyBAQAorIH07CisgCisgLyogUmV1c2UgYW4gZXhpc3RpbmcgaW5mbyAxMCBidW5kbGUuICAq
 LworLXN0YXRpYyBjb25zdCBiZmRfYnl0ZSBjb25zdCAqdGlsZWd4NjRfcGx0X3RhaWxfZW50cnkg
 PQorK3N0YXRpYyBjb25zdCBiZmRfYnl0ZSAqdGlsZWd4NjRfcGx0X3RhaWxfZW50cnkgPQorICAg
 JnRpbGVneDY0X3Nob3J0X3BsdF9lbnRyeVs0ICogVElMRUdYX0JVTkRMRV9TSVpFX0lOX0JZVEVT
 XTsKKyAKKyBzdGF0aWMgY29uc3QgYmZkX2J5dGUKK0BAIC0xMjUwLDcgKzEyNTAsNyBAQAorIH07
 CisgCisgLyogUmV1c2UgYW4gZXhpc3RpbmcgaW5mbyAxMCBidW5kbGUuICAqLworLXN0YXRpYyBj
 b25zdCBiZmRfYnl0ZSBjb25zdCAqdGlsZWd4MzJfcGx0X3RhaWxfZW50cnkgPQorK3N0YXRpYyBj
 b25zdCBiZmRfYnl0ZSAqdGlsZWd4MzJfcGx0X3RhaWxfZW50cnkgPQorICAgJnRpbGVneDY0X3No
 b3J0X3BsdF9lbnRyeVs0ICogVElMRUdYX0JVTkRMRV9TSVpFX0lOX0JZVEVTXTsKKyAKKyBzdGF0
 aWMgaW50CmRpZmYgLU5ydSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1iZmQtbWFjaC1vLmMg
 ZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLWJmZC1tYWNoLW8uYwotLS0gZGV2ZWwvZ2RiLm9yaWcvZmls
 ZXMvcGF0Y2gtYmZkLW1hY2gtby5jCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAw
 CisrKyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtYmZkLW1hY2gtby5jCTIwMTMtMDMtMTEgMTQ6NTc6
 NDAuMDAwMDAwMDAwICswMTAwCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBiZmQvbWFjaC1vLmMub3Jp
 ZwkyMDEzLTAzLTA3IDEwOjE1OjU1LjAwMDAwMDAwMCArMDEwMAorKysrIGJmZC9tYWNoLW8uYwky
 MDEzLTAzLTA3IDEwOjE2OjA5LjAwMDAwMDAwMCArMDEwMAorQEAgLTI2ODMsNyArMjY4Myw3IEBA
 CisgCSAgcy0+ZmxhZ3MgPSB4bGF0LT5tYWNob19zZWN0eXBlIHwgeGxhdC0+bWFjaG9fc2VjYXR0
 cjsKKyAJICBzLT5hbGlnbiA9IHhsYXQtPnNlY3RhbGlnbiA+IGJmZGFsaWduID8geGxhdC0+c2Vj
 dGFsaWduIAorIAkJCQkJCTogYmZkYWxpZ247CistCSAgYmZkX3NldF9zZWN0aW9uX2FsaWdubWVu
 dCAoYWJmZCwgc2VjLCBzLT5hbGlnbik7CisrCSAgKHZvaWQpYmZkX3NldF9zZWN0aW9uX2FsaWdu
 bWVudCAoYWJmZCwgc2VjLCBzLT5hbGlnbik7CisgCSAgYmZkX2ZsYWdzID0gYmZkX2dldF9zZWN0
 aW9uX2ZsYWdzIChhYmZkLCBzZWMpOworIAkgIGlmIChiZmRfZmxhZ3MgPT0gU0VDX05PX0ZMQUdT
 KQorIAkgICAgYmZkX3NldF9zZWN0aW9uX2ZsYWdzIChhYmZkLCBzZWMsIHhsYXQtPmJmZF9mbGFn
 cyk7CmRpZmYgLU5ydSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1iZmQtbW1vLmMgZGV2ZWwv
 Z2RiL2ZpbGVzL3BhdGNoLWJmZC1tbW8uYwotLS0gZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0Y2gt
 YmZkLW1tby5jCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBkZXZlbC9n
 ZGIvZmlsZXMvcGF0Y2gtYmZkLW1tby5jCTIwMTMtMDMtMTEgMTQ6NTc6NDAuMDAwMDAwMDAwICsw
 MTAwCkBAIC0wLDAgKzEsMjkgQEAKKy0tLSBiZmQvbW1vLmMub3JpZwkyMDEzLTAzLTExIDEyOjE3
 OjU3LjAwMDAwMDAwMCArMDEwMAorKysrIGJmZC9tbW8uYwkyMDEzLTAzLTExIDEyOjE3OjIxLjAw
 MDAwMDAwMCArMDEwMAorQEAgLTY2Myw3ICs2NjMsNyBAQAorIAlyZXR1cm4gTlVMTDsKKyAKKyAg
 ICAgICBpZiAoISBzZWMtPnVzZXJfc2V0X3ZtYSkKKy0JYmZkX3NldF9zZWN0aW9uX3ZtYSAoYWJm
 ZCwgc2VjLCB2bWEpOworKwkodm9pZCliZmRfc2V0X3NlY3Rpb25fdm1hIChhYmZkLCBzZWMsIHZt
 YSk7CisgICAgICAgaWYgKCEgYmZkX3NldF9zZWN0aW9uX2ZsYWdzIChhYmZkLCBzZWMsCisgCQkJ
 CSAgIGJmZF9nZXRfc2VjdGlvbl9mbGFncyAoYWJmZCwgc2VjKQorIAkJCQkgICB8IFNFQ19DT0RF
 IHwgU0VDX0xPQUQgfCBTRUNfQUxMT0MpKQorQEAgLTY3Nyw3ICs2NzcsNyBAQAorIAlyZXR1cm4g
 TlVMTDsKKyAKKyAgICAgICBpZiAoISBzZWMtPnVzZXJfc2V0X3ZtYSkKKy0JYmZkX3NldF9zZWN0
 aW9uX3ZtYSAoYWJmZCwgc2VjLCB2bWEpOworKwkodm9pZCliZmRfc2V0X3NlY3Rpb25fdm1hIChh
 YmZkLCBzZWMsIHZtYSk7CisgICAgICAgaWYgKCEgYmZkX3NldF9zZWN0aW9uX2ZsYWdzIChhYmZk
 LCBzZWMsCisgCQkJCSAgIGJmZF9nZXRfc2VjdGlvbl9mbGFncyAoYWJmZCwgc2VjKQorIAkJCQkg
 ICB8IFNFQ19MT0FEIHwgU0VDX0FMTE9DKSkKK0BAIC02OTMsNyArNjkzLDcgQEAKKyAgIHNwcmlu
 dGYgKHNlY19uYW1lLCAiLk1NSVguc2VjLiVkIiwgYWJmZC0+dGRhdGEubW1vX2RhdGEtPnNlY19u
 bysrKTsKKyAgIHNlYyA9IG1tb19tYWtlX3NlY3Rpb24gKGFiZmQsIHNlY19uYW1lKTsKKyAgIGlm
 ICghIHNlYy0+dXNlcl9zZXRfdm1hKQorLSAgICBiZmRfc2V0X3NlY3Rpb25fdm1hIChhYmZkLCBz
 ZWMsIHZtYSk7CisrICAgICh2b2lkKWJmZF9zZXRfc2VjdGlvbl92bWEgKGFiZmQsIHNlYywgdm1h
 KTsKKyAKKyAgIGlmICghIGJmZF9zZXRfc2VjdGlvbl9mbGFncyAoYWJmZCwgc2VjLAorIAkJCSAg
 ICAgICBiZmRfZ2V0X3NlY3Rpb25fZmxhZ3MgKGFiZmQsIHNlYykKZGlmZiAtTnJ1IGRldmVsL2dk
 Yi5vcmlnL2ZpbGVzL3BhdGNoLWJmZC12bXMtYWxwaGEuYyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gt
 YmZkLXZtcy1hbHBoYS5jCi0tLSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1iZmQtdm1zLWFs
 cGhhLmMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIGRldmVsL2dkYi9m
 aWxlcy9wYXRjaC1iZmQtdm1zLWFscGhhLmMJMjAxMy0wMy0xMSAxNDo1Nzo0MC4wMDAwMDAwMDAg
 KzAxMDAKQEAgLTAsMCArMSwyMCBAQAorLS0tIGJmZC92bXMtYWxwaGEuYy5vcmlnCTIwMTMtMDMt
 MTEgMTA6NDA6MzkuMDAwMDAwMDAwICswMTAwCisrKysgYmZkL3Ztcy1hbHBoYS5jCTIwMTMtMDMt
 MTEgMTI6MzE6MTIuMDAwMDAwMDAwICswMTAwCitAQCAtNjA0NCw3ICs2MDQ0LDcgQEAKKyAgICAg
 ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpyZWMsIHVuc2lnbmVkIGludCByZWNfbGVu
 KQorIHsKKyAgIHVuc2lnbmVkIGludCBvZmYgPSBzaXplb2YgKHN0cnVjdCB2bXNfZWdzZCk7Cist
 ICB1bnNpZ25lZCBpbnQgc2VjX2xlbjsKKysgIHVuc2lnbmVkIGludCBzZWNfbGVuID0gMDsKKyAK
 KyAgIGZwcmludGYgKGZpbGUsIF8oIiAgJXMgKGxlbj0ldSsldSk6XG4iKSwgbmFtZSwKKyAgICAg
 ICAgICAgICh1bnNpZ25lZCkocmVjX2xlbiAtIHNpemVvZiAoc3RydWN0IHZtc19lb2JqcmVjKSks
 CitAQCAtOTExOCw3ICs5MTE4LDcgQEAKKyAgIHZtc19kZWJ1ZzIgKCgxLCAidm1zX25ld19zZWN0
 aW9uX2hvb2sgKCVwLCBbJWRdJXMpXG4iLAorICAgICAgICAgICAgICAgIGFiZmQsIHNlY3Rpb24t
 PmluZGV4LCBzZWN0aW9uLT5uYW1lKSk7CisgCistICBiZmRfc2V0X3NlY3Rpb25fYWxpZ25tZW50
 IChhYmZkLCBzZWN0aW9uLCAwKTsKKysgICh2b2lkKWJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQg
 KGFiZmQsIHNlY3Rpb24sIDApOworIAorICAgdm1zX2RlYnVnMiAoKDcsICIlZDogJXNcbiIsIHNl
 Y3Rpb24tPmluZGV4LCBzZWN0aW9uLT5uYW1lKSk7CisgCmRpZmYgLU5ydSBkZXZlbC9nZGIub3Jp
 Zy9maWxlcy9wYXRjaC1iZmQteGNvZmZsaW5rLmMgZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLWJmZC14
 Y29mZmxpbmsuYwotLS0gZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0Y2gtYmZkLXhjb2ZmbGluay5j
 CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBkZXZlbC9nZGIvZmlsZXMv
 cGF0Y2gtYmZkLXhjb2ZmbGluay5jCTIwMTMtMDMtMTEgMTQ6NTc6NDAuMDAwMDAwMDAwICswMTAw
 CkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBiZmQveGNvZmZsaW5rLmMub3JpZwkyMDEzLTAzLTA3IDEw
 OjE2OjQ1LjAwMDAwMDAwMCArMDEwMAorKysrIGJmZC94Y29mZmxpbmsuYwkyMDEzLTAzLTA3IDEw
 OjE5OjUwLjAwMDAwMDAwMCArMDEwMAorQEAgLTYyNzMsNyArNjI3Myw3IEBACisgICAgICAgaXJl
 bCA9IGZsaW5mby5zZWN0aW9uX2luZm9bby0+dGFyZ2V0X2luZGV4XS5yZWxvY3M7CisgICAgICAg
 aXJlbGVuZCA9IGlyZWwgKyBvLT5yZWxvY19jb3VudDsKKyAgICAgICByZWxfaGFzaCA9IGZsaW5m
 by5zZWN0aW9uX2luZm9bby0+dGFyZ2V0X2luZGV4XS5yZWxfaGFzaGVzOworLSAgICAgIGZvciAo
 OyBpcmVsIDwgaXJlbGVuZDsgaXJlbCsrLCByZWxfaGFzaCsrLCBlcmVsICs9IHJlbHN6KQorKyAg
 ICAgIGZvciAoOyBpcmVsIDwgaXJlbGVuZDsgaXJlbCsrLCByZWxfaGFzaCsrKQorIAl7CisgCSAg
 aWYgKCpyZWxfaGFzaCAhPSBOVUxMKQorIAkgICAgewpkaWZmIC1OcnUgZGV2ZWwvZ2RiLm9yaWcv
 ZmlsZXMvcGF0Y2gtaW5jbHVkZS1jZ2VuLWJhc2ljLW9wcy5oIGRldmVsL2dkYi9maWxlcy9wYXRj
 aC1pbmNsdWRlLWNnZW4tYmFzaWMtb3BzLmgKLS0tIGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNo
 LWluY2x1ZGUtY2dlbi1iYXNpYy1vcHMuaAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCAr
 MDEwMAorKysgZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLWluY2x1ZGUtY2dlbi1iYXNpYy1vcHMuaAky
 MDEzLTAzLTExIDE0OjU3OjQwLjAwMDAwMDAwMCArMDEwMApAQCAtMCwwICsxLDQzIEBACistLS0g
 aW5jbHVkZS9jZ2VuL2Jhc2ljLW9wcy5oLm9yaWcJMjAxMy0wMy0wNyAxNzozMToyMS4wMDAwMDAw
 MDAgKzAxMDAKKysrKyBpbmNsdWRlL2NnZW4vYmFzaWMtb3BzLmgJMjAxMy0wMy0wNyAxNzozMToy
 OC4wMDAwMDAwMDAgKzAxMDAKK0BAIC0yNCwxMSArMjQsMTYgQEAKKyAKKyAjaW5jbHVkZSA8YXNz
 ZXJ0Lmg+CisgCistI2lmIGRlZmluZWQgKF9fR05VQ19fKSAmJiAhIGRlZmluZWQgKFNFTU9QU19E
 RUZJTkVfSU5MSU5FKQorKyNpZiBkZWZpbmVkIChfX0dOVUNfXykgJiYgISBkZWZpbmVkIChTRU1P
 UFNfREVGSU5FX0lOTElORSkgJiYgISBkZWZpbmVkIChfX2NsYW5nX18pCisgI2RlZmluZSBTRU1P
 UFNfREVGSU5FX0lOTElORQorICNkZWZpbmUgU0VNT1BTX0lOTElORSBleHRlcm4gaW5saW5lCisg
 I2Vsc2UKKy0jZGVmaW5lIFNFTU9QU19JTkxJTkUKKysjIGlmIGRlZmluZWQgKF9fY2xhbmdfXykg
 JiYgISBkZWZpbmVkIChTRU1PUFNfREVGSU5FX0lOTElORSkKKysjICBkZWZpbmUgU0VNT1BTX0RF
 RklORV9JTkxJTkUKKysjICBkZWZpbmUgU0VNT1BTX0lOTElORSBzdGF0aWMgaW5saW5lCisrIyBl
 bHNlCisrIyAgZGVmaW5lIFNFTU9QU19JTkxJTkUKKysjIGVuZGlmCisgI2VuZGlmCisgCisgLyog
 VGhlc2UgZG9uJ3QgcmVhbGx5IGhhdmUgYSBtb2RlLiAgKi8KK0BAIC0yOTUsMTEgKzMwMCwxNiBA
 QAorICAgIHNpZ25pZmljYW50IGFuZCB3b3JkIG51bWJlciAwIGlzIHRoZSBtb3N0IHNpZ25pZmlj
 YW50IHdvcmQuCisgICAgPz8/IE1heSBhbHNvIHdpc2ggYW4gZW5kaWFuLWRlcGVuZGVudCB2ZXJz
 aW9uLiAgTGF0ZXIuICAqLworIAorLVFJIFNVQldPUkRTSVFJIChTSSwgaW50KTsKKy1ISSBTVUJX
 T1JEU0lISSAoU0ksIGludCk7CistUUkgU1VCV09SRERJUUkgKERJLCBpbnQpOworLUhJIFNVQldP
 UkRESUhJIChESSwgaW50KTsKKy1TSSBTVUJXT1JERElTSSAoREksIGludCk7CisrI2lmIGRlZmlu
 ZWQgKF9fY2xhbmdfXykgJiYgZGVmaW5lZCAoU0VNT1BTX0RFRklORV9JTkxJTkUpCisrI2RlZmlu
 ZSBTRU1PUFNfU1RBVElDIHN0YXRpYworKyNlbHNlCisrI2RlZmluZSBTRU1PUFNfU1RBVElDCisr
 I2VuZGlmCisrU0VNT1BTX1NUQVRJQyBRSSBTVUJXT1JEU0lRSSAoU0ksIGludCk7CisrU0VNT1BT
 X1NUQVRJQyBISSBTVUJXT1JEU0lISSAoU0ksIGludCk7CisrU0VNT1BTX1NUQVRJQyBRSSBTVUJX
 T1JERElRSSAoREksIGludCk7CisrU0VNT1BTX1NUQVRJQyBISSBTVUJXT1JERElISSAoREksIGlu
 dCk7CisrU0VNT1BTX1NUQVRJQyBTSSBTVUJXT1JERElTSSAoREksIGludCk7CisgCisgI2lmZGVm
 IFNFTU9QU19ERUZJTkVfSU5MSU5FCisgCmRpZmYgLU5ydSBkZXZlbC9nZGIub3JpZy9maWxlcy9w
 YXRjaC1vcGNvZGVzLWNyMTYtb3BjLmMgZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLW9wY29kZXMtY3Ix
 Ni1vcGMuYwotLS0gZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0Y2gtb3Bjb2Rlcy1jcjE2LW9wYy5j
 CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBkZXZlbC9nZGIvZmlsZXMv
 cGF0Y2gtb3Bjb2Rlcy1jcjE2LW9wYy5jCTIwMTMtMDMtMTEgMTQ6NTc6NDAuMDAwMDAwMDAwICsw
 MTAwCkBAIC0wLDAgKzEsNjUgQEAKKy0tLSBvcGNvZGVzL2NyMTYtb3BjLmMub3JpZwkyMDEzLTAz
 LTA3IDEwOjM0OjQ4LjAwMDAwMDAwMCArMDEwMAorKysrIG9wY29kZXMvY3IxNi1vcGMuYwkyMDEz
 LTAzLTA3IDEwOjMzOjQ5LjAwMDAwMDAwMCArMDEwMAorQEAgLTUwMiwzNiArNTAyLDM2IEBACisg
 Y29uc3QgcmVnX2VudHJ5IGNyMTZfcHJlZ3RhYltdID0KKyB7CisgLyogQnVpbGQgYSBwcm9jZXNz
 b3IgcmVnaXN0ZXIuICAqLworLSAgUkVHKGRicywgICAweDAsIENSMTZfUF9SRUdUWVBFKSwKKy0g
 IFJFRyhkc3IsICAgMHgxLCBDUjE2X1BfUkVHVFlQRSksCistICBSRUcoZGNybCwgIDB4MiwgQ1Ix
 Nl9QX1JFR1RZUEUpLAorLSAgUkVHKGRjcmgsICAweDMsIENSMTZfUF9SRUdUWVBFKSwKKy0gIFJF
 RyhjYXIwbCwgMHg0LCBDUjE2X1BfUkVHVFlQRSksCistICBSRUcoY2FyMGgsIDB4NSwgQ1IxNl9Q
 X1JFR1RZUEUpLAorLSAgUkVHKGNhcjFsLCAweDYsIENSMTZfUF9SRUdUWVBFKSwKKy0gIFJFRyhj
 YXIxaCwgMHg3LCBDUjE2X1BfUkVHVFlQRSksCistICBSRUcoY2ZnLCAgIDB4OCwgQ1IxNl9QX1JF
 R1RZUEUpLAorLSAgUkVHKHBzciwgICAweDksIENSMTZfUF9SRUdUWVBFKSwKKy0gIFJFRyhpbnRi
 YXNlbCwgMHhhLCBDUjE2X1BfUkVHVFlQRSksCistICBSRUcoaW50YmFzZWgsIDB4YiwgQ1IxNl9Q
 X1JFR1RZUEUpLAorLSAgUkVHKGlzcGwsICAweGMsIENSMTZfUF9SRUdUWVBFKSwKKy0gIFJFRyhp
 c3BoLCAgMHhkLCBDUjE2X1BfUkVHVFlQRSksCistICBSRUcodXNwbCwgIDB4ZSwgQ1IxNl9QX1JF
 R1RZUEUpLAorLSAgUkVHKHVzcGgsICAweGYsIENSMTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVn
 KWRicywgICAweDAsIENSMTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKWRzciwgICAweDEsIENS
 MTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKWRjcmwsICAweDIsIENSMTZfUF9SRUdUWVBFKSwK
 KysgIFJFRygocmVnKWRjcmgsICAweDMsIENSMTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKWNh
 cjBsLCAweDQsIENSMTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKWNhcjBoLCAweDUsIENSMTZf
 UF9SRUdUWVBFKSwKKysgIFJFRygocmVnKWNhcjFsLCAweDYsIENSMTZfUF9SRUdUWVBFKSwKKysg
 IFJFRygocmVnKWNhcjFoLCAweDcsIENSMTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKWNmZywg
 ICAweDgsIENSMTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKXBzciwgICAweDksIENSMTZfUF9S
 RUdUWVBFKSwKKysgIFJFRygocmVnKWludGJhc2VsLCAweGEsIENSMTZfUF9SRUdUWVBFKSwKKysg
 IFJFRygocmVnKWludGJhc2VoLCAweGIsIENSMTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKWlz
 cGwsICAweGMsIENSMTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKWlzcGgsICAweGQsIENSMTZf
 UF9SRUdUWVBFKSwKKysgIFJFRygocmVnKXVzcGwsICAweGUsIENSMTZfUF9SRUdUWVBFKSwKKysg
 IFJFRygocmVnKXVzcGgsICAweGYsIENSMTZfUF9SRUdUWVBFKSwKKyB9OworIAorIGNvbnN0IHJl
 Z19lbnRyeSBjcjE2X3ByZWdwdGFiW10gPQorIHsKKy0gIFJFRyhkYnMsICAgMCwgQ1IxNl9QX1JF
 R1RZUEUpLAorLSAgUkVHKGRzciwgICAxLCBDUjE2X1BfUkVHVFlQRSksCistICBSRUcoZGNyLCAg
 IDIsIENSMTZfUF9SRUdUWVBFKSwKKy0gIFJFRyhjYXIwLCAgNCwgQ1IxNl9QX1JFR1RZUEUpLAor
 LSAgUkVHKGNhcjEsICA2LCBDUjE2X1BfUkVHVFlQRSksCistICBSRUcoY2ZnLCAgIDgsIENSMTZf
 UF9SRUdUWVBFKSwKKy0gIFJFRyhwc3IsICAgOSwgQ1IxNl9QX1JFR1RZUEUpLAorLSAgUkVHKGlu
 dGJhc2UsIDEwLCBDUjE2X1BfUkVHVFlQRSksCistICBSRUcoaXNwLCAgIDEyLCBDUjE2X1BfUkVH
 VFlQRSksCistICBSRUcodXNwLCAgIDE0LCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUcoKHJlZylk
 YnMsICAgMCwgQ1IxNl9QX1JFR1RZUEUpLAorKyAgUkVHKChyZWcpZHNyLCAgIDEsIENSMTZfUF9S
 RUdUWVBFKSwKKysgIFJFRygocmVnKWRjciwgICAyLCBDUjE2X1BfUkVHVFlQRSksCisrICBSRUco
 KHJlZyljYXIwLCAgNCwgQ1IxNl9QX1JFR1RZUEUpLAorKyAgUkVHKChyZWcpY2FyMSwgIDYsIENS
 MTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKWNmZywgICA4LCBDUjE2X1BfUkVHVFlQRSksCisr
 ICBSRUcoKHJlZylwc3IsICAgOSwgQ1IxNl9QX1JFR1RZUEUpLAorKyAgUkVHKChyZWcpaW50YmFz
 ZSwgMTAsIENSMTZfUF9SRUdUWVBFKSwKKysgIFJFRygocmVnKWlzcCwgICAxMiwgQ1IxNl9QX1JF
 R1RZUEUpLAorKyAgUkVHKChyZWcpdXNwLCAgIDE0LCBDUjE2X1BfUkVHVFlQRSksCisgfTsKKyAK
 KyBjb25zdCB1bnNpZ25lZCBpbnQgY3IxNl9udW1fcHJlZ3MgPSAgQVJSQVlfU0laRSAoY3IxNl9w
 cmVndGFiKTsKZGlmZiAtTnJ1IGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLW9wY29kZXMtY3J4
 LW9wYy5jIGRldmVsL2dkYi9maWxlcy9wYXRjaC1vcGNvZGVzLWNyeC1vcGMuYwotLS0gZGV2ZWwv
 Z2RiLm9yaWcvZmlsZXMvcGF0Y2gtb3Bjb2Rlcy1jcngtb3BjLmMJMTk3MC0wMS0wMSAwMTowMDow
 MC4wMDAwMDAwMDAgKzAxMDAKKysrIGRldmVsL2dkYi9maWxlcy9wYXRjaC1vcGNvZGVzLWNyeC1v
 cGMuYwkyMDEzLTAzLTExIDE0OjU3OjQwLjAwMDAwMDAwMCArMDEwMApAQCAtMCwwICsxLDIwIEBA
 CistLS0gb3Bjb2Rlcy9jcngtb3BjLmMub3JpZwkyMDEzLTAzLTA3IDEwOjM1OjA2LjAwMDAwMDAw
 MCArMDEwMAorKysrIG9wY29kZXMvY3J4LW9wYy5jCTIwMTMtMDMtMDcgMTA6NDA6MzEuMDAwMDAw
 MDAwICswMTAwCitAQCAtNjMyLDcgKzYzMiw3IEBACisgY29uc3QgcmVnX2VudHJ5IGNyeF9jb3By
 ZWd0YWJbXSA9CisgeworIC8qIEJ1aWxkIGEgQ29wcm9jZXNzb3IgcmVnaXN0ZXIgYzxOPi4gICov
 CistI2RlZmluZSBSRUdfQyhOKSAgICBSRUcoQ09OQ0FUMihjLE4pLCBOLCBDUlhfQ19SRUdUWVBF
 KQorKyNkZWZpbmUgUkVHX0MoTikgICAgUkVHKChyZWcpQ09OQ0FUMihjLE4pLCBOLCBDUlhfQ19S
 RUdUWVBFKQorIAorICAgUkVHX0MoMCksICBSRUdfQygxKSwJUkVHX0MoMiksICBSRUdfQygzKSwK
 KyAgIFJFR19DKDQpLCAgUkVHX0MoNSksCVJFR19DKDYpLCAgUkVHX0MoNyksCitAQCAtNjQwLDcg
 KzY0MCw3IEBACisgICBSRUdfQygxMiksIFJFR19DKDEzKSwgUkVHX0MoMTQpLCBSRUdfQygxNSks
 CisgCisgLyogQnVpbGQgYSBDb3Byb2Nlc3NvciBTcGVjaWFsIHJlZ2lzdGVyIGNzPE4+LiAgKi8K
 Ky0jZGVmaW5lIFJFR19DUyhOKSAgICBSRUcoQ09OQ0FUMihjcyxOKSwgTiwgQ1JYX0NTX1JFR1RZ
 UEUpCisrI2RlZmluZSBSRUdfQ1MoTikgICAgUkVHKChyZWcpQ09OQ0FUMihjcyxOKSwgTiwgQ1JY
 X0NTX1JFR1RZUEUpCisgCisgICBSRUdfQ1MoMCksICBSRUdfQ1MoMSksICBSRUdfQ1MoMiksICBS
 RUdfQ1MoMyksCisgICBSRUdfQ1MoNCksICBSRUdfQ1MoNSksICBSRUdfQ1MoNiksICBSRUdfQ1Mo
 NyksCmRpZmYgLU5ydSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1vcGNvZGVzLWkzODYtZGlz
 LmMgZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLW9wY29kZXMtaTM4Ni1kaXMuYwotLS0gZGV2ZWwvZ2Ri
 Lm9yaWcvZmlsZXMvcGF0Y2gtb3Bjb2Rlcy1pMzg2LWRpcy5jCTIwMTItMTItMjQgMjM6NDE6MTku
 MDAwMDAwMDAwICswMTAwCisrKyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtb3Bjb2Rlcy1pMzg2LWRp
 cy5jCTIwMTMtMDMtMTEgMTQ6NTc6NDAuMDAwMDAwMDAwICswMTAwCkBAIC01NiwzICs1Niw0IEBA
 CiArICBvYXBwZW5kICgmIiVlczoiWyhzaG9ydClpbnRlbF9zeW50YXhdKTsKICAgIHB0cl9yZWcg
 KGNvZGUsIHNpemVmbGFnKTsKICB9CisgCmRpZmYgLU5ydSBkZXZlbC9nZGIub3JpZy9maWxlcy9w
 YXRjaC1vcGNvZGVzLWlhNjQtYXNtdGFiLmMgZGV2ZWwvZ2RiL2ZpbGVzL3BhdGNoLW9wY29kZXMt
 aWE2NC1hc210YWIuYwotLS0gZGV2ZWwvZ2RiLm9yaWcvZmlsZXMvcGF0Y2gtb3Bjb2Rlcy1pYTY0
 LWFzbXRhYi5jCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBkZXZlbC9n
 ZGIvZmlsZXMvcGF0Y2gtb3Bjb2Rlcy1pYTY0LWFzbXRhYi5jCTIwMTMtMDMtMTEgMTQ6NTc6NDAu
 MDAwMDAwMDAwICswMTAwCkBAIC0wLDAgKzEsMzcgQEAKKy0tLSBvcGNvZGVzL2lhNjQtYXNtdGFi
 LmMub3JpZwkyMDEzLTAzLTA3IDEwOjQxOjQ5LjAwMDAwMDAwMCArMDEwMAorKysrIG9wY29kZXMv
 aWE2NC1hc210YWIuYwkyMDEzLTAzLTA3IDEwOjQ1OjQ5LjAwMDAwMDAwMCArMDEwMAorQEAgLTEw
 MSw3ICsxMDEsNyBAQAorICAgeyAiQ1BVSUQjIiwgNywgMCwgNSwgLTEsIE5VTEwsIH0sCisgICB7
 ICJDUltDTUNWXSIsIDI4LCAwLCAzLCA3NCwgTlVMTCwgfSwKKyAgIHsgIkNSW0RDUl0iLCAyOCwg
 MCwgMywgMCwgTlVMTCwgfSwKKy0gIHsgIkNSW0VPSV0iLCAyOCwgMCwgNywgNjcsICJTQyBTZWN0
 aW9uIDUuOC4zLjQsIFwiRW5kIG9mIEV4dGVybmFsIEludGVycnVwdCBSZWdpc3RlciAoRU9JINAg
 Q1I2NylcIiBvbiBwYWdlIDI6MTE5IiwgfSwKKysgIHsgIkNSW0VPSV0iLCAyOCwgMCwgNywgNjcs
 ICJTQyBTZWN0aW9uIDUuOC4zLjQsIFwiRW5kIG9mIEV4dGVybmFsIEludGVycnVwdCBSZWdpc3Rl
 ciAoRU9JIENSNjcpXCIgb24gcGFnZSAyOjExOSIsIH0sCisgICB7ICJDUltHUFRBXSIsIDI4LCAw
 LCAzLCA5LCBOVUxMLCB9LAorICAgeyAiQ1JbSUZBXSIsIDI4LCAwLCAxLCAyMCwgTlVMTCwgfSwK
 KyAgIHsgIkNSW0lGQV0iLCAyOCwgMCwgMywgMjAsIE5VTEwsIH0sCitAQCAtMTIzLDEzICsxMjMs
 MTMgQEAKKyAgIHsgIkNSW0lUTV0iLCAyOCwgMCwgMywgMSwgTlVMTCwgfSwKKyAgIHsgIkNSW0lU
 Vl0iLCAyOCwgMCwgMywgNzIsIE5VTEwsIH0sCisgICB7ICJDUltJVkFdIiwgMjgsIDAsIDQsIDIs
 IE5VTEwsIH0sCistICB7ICJDUltJVlJdIiwgMjgsIDAsIDcsIDY1LCAiU0MgU2VjdGlvbiA1Ljgu
 My4yLCBcIkV4dGVybmFsIEludGVycnVwdCBWZWN0b3IgUmVnaXN0ZXIgKElWUiDQIENSNjUpXCIg
 b24gcGFnZSAyOjExOCIsIH0sCistICB7ICJDUltMSURdIiwgMjgsIDAsIDcsIDY0LCAiU0MgU2Vj
 dGlvbiA1LjguMy4xLCBcIkxvY2FsIElEIChMSUQg0CBDUjY0KVwiIG9uIHBhZ2UgMjoxMTciLCB9
 LAorKyAgeyAiQ1JbSVZSXSIsIDI4LCAwLCA3LCA2NSwgIlNDIFNlY3Rpb24gNS44LjMuMiwgXCJF
 eHRlcm5hbCBJbnRlcnJ1cHQgVmVjdG9yIFJlZ2lzdGVyIChJVlIgIENSNjUpXCIgb24gcGFnZSAy
 OjExOCIsIH0sCisrICB7ICJDUltMSURdIiwgMjgsIDAsIDcsIDY0LCAiU0MgU2VjdGlvbiA1Ljgu
 My4xLCBcIkxvY2FsIElEIChMSUQgIENSNjQpXCIgb24gcGFnZSAyOjExNyIsIH0sCisgICB7ICJD
 UltMUlIlXSwgJSBpbiAwIC0gMSIsIDEwLCAwLCAzLCAtMSwgTlVMTCwgfSwKKyAgIHsgIkNSW1BN
 Vl0iLCAyOCwgMCwgMywgNzMsIE5VTEwsIH0sCisgICB7ICJDUltQVEFdIiwgMjgsIDAsIDMsIDgs
 IE5VTEwsIH0sCisgICB7ICJDUltUUFJdIiwgMjgsIDAsIDMsIDY2LCBOVUxMLCB9LAorLSAgeyAi
 Q1JbVFBSXSIsIDI4LCAwLCA3LCA2NiwgIlNDIFNlY3Rpb24gNS44LjMuMywgXCJUYXNrIFByaW9y
 aXR5IFJlZ2lzdGVyIChUUFIg0CBDUjY2KVwiIG9uIHBhZ2UgMjoxMTkiLCB9LAorKyAgeyAiQ1Jb
 VFBSXSIsIDI4LCAwLCA3LCA2NiwgIlNDIFNlY3Rpb24gNS44LjMuMywgXCJUYXNrIFByaW9yaXR5
 IFJlZ2lzdGVyIChUUFIgIENSNjYpXCIgb24gcGFnZSAyOjExOSIsIH0sCisgICB7ICJDUltUUFJd
 IiwgMjgsIDAsIDEsIDY2LCBOVUxMLCB9LAorICAgeyAiQ1IlLCAlIGluIDMtNywgMTAtMTUsIDE4
 LCAyOC02MywgNzUtNzksIDgyLTEyNyIsIDExLCAwLCAwLCAtMSwgTlVMTCwgfSwKKyAgIHsgIkRC
 UiMiLCAxMiwgMCwgMiwgLTEsIE5VTEwsIH0sCitAQCAtMzAzLDcgKzMwMyw3IEBACisgICB7ICJD
 UFVJRCMiLCA3LCAxLCAwLCAtMSwgTlVMTCwgfSwKKyAgIHsgIkNSW0NNQ1ZdIiwgMjgsIDEsIDIs
 IDc0LCBOVUxMLCB9LAorICAgeyAiQ1JbRENSXSIsIDI4LCAxLCAyLCAwLCBOVUxMLCB9LAorLSAg
 eyAiQ1JbRU9JXSIsIDI4LCAxLCA3LCA2NywgIlNDIFNlY3Rpb24gNS44LjMuNCwgXCJFbmQgb2Yg
 RXh0ZXJuYWwgSW50ZXJydXB0IFJlZ2lzdGVyIChFT0kg0CBDUjY3KVwiIG9uIHBhZ2UgMjoxMTki
 LCB9LAorKyAgeyAiQ1JbRU9JXSIsIDI4LCAxLCA3LCA2NywgIlNDIFNlY3Rpb24gNS44LjMuNCwg
 XCJFbmQgb2YgRXh0ZXJuYWwgSW50ZXJydXB0IFJlZ2lzdGVyIChFT0kgIENSNjcpXCIgb24gcGFn
 ZSAyOjExOSIsIH0sCisgICB7ICJDUltHUFRBXSIsIDI4LCAxLCAyLCA5LCBOVUxMLCB9LAorICAg
 eyAiQ1JbSUZBXSIsIDI4LCAxLCAyLCAyMCwgTlVMTCwgfSwKKyAgIHsgIkNSW0lGU10iLCAyOCwg
 MSwgMiwgMjMsIE5VTEwsIH0sCmRpZmYgLU5ydSBkZXZlbC9nZGIub3JpZy9maWxlcy9wYXRjaC1v
 cGNvZGVzLXRpYzU0eC1kaXMuYyBkZXZlbC9nZGIvZmlsZXMvcGF0Y2gtb3Bjb2Rlcy10aWM1NHgt
 ZGlzLmMKLS0tIGRldmVsL2dkYi5vcmlnL2ZpbGVzL3BhdGNoLW9wY29kZXMtdGljNTR4LWRpcy5j
 CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBkZXZlbC9nZGIvZmlsZXMv
 cGF0Y2gtb3Bjb2Rlcy10aWM1NHgtZGlzLmMJMjAxMy0wMy0xMSAxNDo1Nzo0MC4wMDAwMDAwMDAg
 KzAxMDAKQEAgLTAsMCArMSwxMDUgQEAKKy0tLSBvcGNvZGVzL3RpYzU0eC1kaXMuYy5vcmlnCTIw
 MTMtMDMtMDcgMTA6NDY6NTIuMDAwMDAwMDAwICswMTAwCisrKysgb3Bjb2Rlcy90aWM1NHgtZGlz
 LmMJMjAxMy0wMy0wNyAxMjowNToxOS4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xNjgsMTQgKzE2OCw5
 IEBACisgfQorIAorIGludAorLXByaW50X2luc3RydWN0aW9uIChpbmZvLCBtZW1hZGRyLCBvcGNv
 ZGUsIHRtX25hbWUsIHRtX29wZXJhbmRzLCBzaXplLCBleHQpCistICBkaXNhc3NlbWJsZV9pbmZv
 ICppbmZvOworLSAgYmZkX3ZtYSBtZW1hZGRyOworLSAgdW5zaWduZWQgc2hvcnQgb3Bjb2RlOwor
 LSAgY29uc3QgY2hhciAqdG1fbmFtZTsKKy0gIGNvbnN0IGVudW0gb3B0eXBlIHRtX29wZXJhbmRz
 W107CistICBpbnQgc2l6ZTsKKy0gIGludCBleHQ7CisrcHJpbnRfaW5zdHJ1Y3Rpb24gKGRpc2Fz
 c2VtYmxlX2luZm8gKiBpbmZvLCBiZmRfdm1hIG1lbWFkZHIsCisrICB1bnNpZ25lZCBzaG9ydCBv
 cGNvZGUsIGNvbnN0IGNoYXIgKnRtX25hbWUsCisrICBjb25zdCBlbnVtIG9wdHlwZSB0bV9vcGVy
 YW5kc1tdLCBpbnQgc2l6ZSwgaW50IGV4dCkKKyB7CisgICBzdGF0aWMgaW50IG47CisgICAvKiBz
 dHJpbmcgc3RvcmFnZSBmb3IgbXVsdGlwbGUgb3BlcmFuZHMgKi8KK0BAIC00NjgsNiArNDYzLDcg
 QEAKKyAgIHJldHVybiAxOworIH0KKyAKKysvKgorIHN0YXRpYyBpbnQKKyBwcmludF9wYXJhbGxl
 bF9pbnN0cnVjdGlvbiAoaW5mbywgbWVtYWRkciwgb3Bjb2RlLCBwdG0sIHNpemUpCisgICBkaXNh
 c3NlbWJsZV9pbmZvICppbmZvOworQEAgLTQ3NSw2ICs0NzEsMTEgQEAKKyAgIHVuc2lnbmVkIHNo
 b3J0IG9wY29kZTsKKyAgIGNvbnN0IGluc25fdGVtcGxhdGUgKnB0bTsKKyAgIGludCBzaXplOwor
 KyovCisrc3RhdGljIGludAorK3ByaW50X3BhcmFsbGVsX2luc3RydWN0aW9uIChkaXNhc3NlbWJs
 ZV9pbmZvICppbmZvLAorKyAgYmZkX3ZtYSBtZW1hZGRyLCB1bnNpZ25lZCBzaG9ydCBvcGNvZGUs
 IAorKyAgY29uc3QgaW5zbl90ZW1wbGF0ZSAqIHB0bSwgaW50IHNpemUpCisgeworICAgcHJpbnRf
 aW5zdHJ1Y3Rpb24gKGluZm8sIG1lbWFkZHIsIG9wY29kZSwKKyAgICAgICAgICAgICAgICAgICAg
 ICBwdG0tPm5hbWUsIHB0bS0+b3BlcmFuZF90eXBlcywgc2l6ZSwgMCk7CitAQCAtNDg0LDEwICs0
 ODUsOCBAQAorIH0KKyAKKyBzdGF0aWMgaW50Cistc3ByaW50X2R1YWxfYWRkcmVzcyAoaW5mbywg
 YnVmLCBjb2RlKQorLSAgZGlzYXNzZW1ibGVfaW5mbyAqaW5mbyBBVFRSSUJVVEVfVU5VU0VEOwor
 LSAgY2hhciBidWZbXTsKKy0gIHVuc2lnbmVkIHNob3J0IGNvZGU7Cisrc3ByaW50X2R1YWxfYWRk
 cmVzcyAoIGRpc2Fzc2VtYmxlX2luZm8gKmluZm8gQVRUUklCVVRFX1VOVVNFRCwKKysgIGNoYXIg
 YnVmW10sIHVuc2lnbmVkIHNob3J0IGNvZGUpCisgeworICAgY29uc3QgY2hhciAqZm9ybWF0c1td
 ID0geworICAgICAiKmFyJWQiLAorQEAgLTQ5OSwxMCArNDk4LDggQEAKKyB9CisgCisgc3RhdGlj
 IGludAorLXNwcmludF9pbmRpcmVjdF9hZGRyZXNzIChpbmZvLCBidWYsIG9wY29kZSkKKy0gIGRp
 c2Fzc2VtYmxlX2luZm8gKmluZm8gQVRUUklCVVRFX1VOVVNFRDsKKy0gIGNoYXIgYnVmW107Cist
 ICB1bnNpZ25lZCBzaG9ydCBvcGNvZGU7Cisrc3ByaW50X2luZGlyZWN0X2FkZHJlc3MgKGRpc2Fz
 c2VtYmxlX2luZm8gKiBpbmZvIEFUVFJJQlVURV9VTlVTRUQsCisrICBjaGFyIGJ1ZltdLCB1bnNp
 Z25lZCBzaG9ydCBvcGNvZGUpCisgeworICAgY29uc3QgY2hhciAqZm9ybWF0c1tdID0geworICAg
 ICAiKmFyJWQiLAorQEAgLTUyMiwxMCArNTE5LDggQEAKKyB9CisgCisgc3RhdGljIGludAorLXNw
 cmludF9kaXJlY3RfYWRkcmVzcyAoaW5mbywgYnVmLCBvcGNvZGUpCistICBkaXNhc3NlbWJsZV9p
 bmZvICppbmZvIEFUVFJJQlVURV9VTlVTRUQ7CistICBjaGFyIGJ1ZltdOworLSAgdW5zaWduZWQg
 c2hvcnQgb3Bjb2RlOworK3NwcmludF9kaXJlY3RfYWRkcmVzcyAoIGRpc2Fzc2VtYmxlX2luZm8g
 KmluZm8gQVRUUklCVVRFX1VOVVNFRCwKKysgIGNoYXIgYnVmW10sIHVuc2lnbmVkIHNob3J0IG9w
 Y29kZSkKKyB7CisgICAvKiBGSVhNRSAtLSBsb29rIHVwIHJlbG9jYXRpb24gaWYgYXZhaWxhYmxl
 ICovCisgICByZXR1cm4gc3ByaW50ZiAoYnVmLCAiRFArMHglMDJ4IiwgKGludCkgKG9wY29kZSAm
 IDB4N0YpKTsKK0BAIC01NTIsMTAgKzU0Nyw4IEBACisgfQorIAorIHN0YXRpYyBpbnQKKy1zcHJp
 bnRfY2MyIChpbmZvLCBidWYsIG9wY29kZSkKKy0gIGRpc2Fzc2VtYmxlX2luZm8gKmluZm8gQVRU
 UklCVVRFX1VOVVNFRDsKKy0gIGNoYXIgKmJ1ZjsKKy0gIHVuc2lnbmVkIHNob3J0IG9wY29kZTsK
 KytzcHJpbnRfY2MyIChkaXNhc3NlbWJsZV9pbmZvICppbmZvIEFUVFJJQlVURV9VTlVTRUQsCisr
 ICBjaGFyICpidWYsIHVuc2lnbmVkIHNob3J0IG9wY29kZSkKKyB7CisgICBjb25zdCBjaGFyICpj
 YzJbXSA9IHsKKyAgICAgIj8/IiwgIj8/IiwgImFnZXEiLCAiYWx0IiwgImFuZXEiLCAiYWVxIiwg
 ImFndCIsICJhbGVxIiwKK0BAIC01NjUsMTAgKzU1OCw4IEBACisgfQorIAorIHN0YXRpYyBpbnQK
 Ky1zcHJpbnRfY29uZGl0aW9uIChpbmZvLCBidWYsIG9wY29kZSkKKy0gIGRpc2Fzc2VtYmxlX2lu
 Zm8gKmluZm8gQVRUUklCVVRFX1VOVVNFRDsKKy0gIGNoYXIgKmJ1ZjsKKy0gIHVuc2lnbmVkIHNo
 b3J0IG9wY29kZTsKKytzcHJpbnRfY29uZGl0aW9uIChkaXNhc3NlbWJsZV9pbmZvICppbmZvIEFU
 VFJJQlVURV9VTlVTRUQsCisrICBjaGFyICpidWYsIHVuc2lnbmVkIHNob3J0IG9wY29kZSkKKyB7
 CisgICBjaGFyICpzdGFydCA9IGJ1ZjsKKyAgIGNvbnN0IGNoYXIgKmNtcFtdID0gewpkaWZmIC1O
 cnUgZGV2ZWwvZ2RiLm9yaWcvcGtnLWRlc2NyIGRldmVsL2dkYi9wa2ctZGVzY3IKLS0tIGRldmVs
 L2dkYi5vcmlnL3BrZy1kZXNjcgkyMDEwLTExLTE2IDIxOjM5OjQ3LjAwMDAwMDAwMCArMDEwMAor
 KysgZGV2ZWwvZ2RiL3BrZy1kZXNjcgkyMDEzLTAzLTExIDE0OjU1OjUzLjAwMDAwMDAwMCArMDEw
 MApAQCAtMyw0ICszLDQgQEAKIG1vcmUgdGhhbiBhIGRvemVuIGRpZmZlcmVudCBwcm9jZXNzb3Ig
 YXJjaGl0ZWN0dXJlcywgYW5kIEdEQiBpdHNlbGYgY2FuCiBydW4gb24gbW9zdCBwb3B1bGFyIEdO
 VS9MaW51eCwgVW5peCBhbmQgTWljcm9zb2Z0IFdpbmRvd3MgdmFyaWFudHMuCiAKLVdXVzoJaHR0
 cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dkYi8KK1dXVzogaHR0cDovL3d3dy5nbnUub3JnL3Nv
 ZnR3YXJlL2dkYi8KZGlmZiAtTnJ1IGRldmVsL2dkYi5vcmlnL3BrZy1wbGlzdCBkZXZlbC9nZGIv
 cGtnLXBsaXN0Ci0tLSBkZXZlbC9nZGIub3JpZy9wa2ctcGxpc3QJMjAxMi0wOC0yNCAwNDo1NDo1
 MC4wMDAwMDAwMDAgKzAyMDAKKysrIGRldmVsL2dkYi9wa2ctcGxpc3QJMjAxMy0wMy0wOCAxNjow
 MDo0NC4wMDAwMDAwMDAgKzAxMDAKQEAgLTEsNiArMSw2IEBACiAlJUdEQl9MSU5LJSViaW4vZ2Ri
 CiBiaW4vZ2RiJSVWRVIlJQotYmluL2dkYnR1aSUlVkVSJSUKKyUlVFVJX0xJTkslJWJpbi9nZGJ0
 dWklJVZFUiUlCiAlJVBZVEhPTiUlc2hhcmUvZ2RiJSVWRVIlJS9weXRob24vZ2RiL19faW5pdF9f
 LnB5CiAlJVBZVEhPTiUlc2hhcmUvZ2RiJSVWRVIlJS9weXRob24vZ2RiL3R5cGVzLnB5CiAlJVBZ
 VEhPTiUlc2hhcmUvZ2RiJSVWRVIlJS9weXRob24vZ2RiL3ByaW50aW5nLnB5Cg==
 --14dae93407190eec2d04d7ca0ed3--
Responsible-Changed-From-To: freebsd-ports-bugs->pawel 
Responsible-Changed-By: pawel 
Responsible-Changed-When: Wed Mar 13 15:45:44 UTC 2013 
Responsible-Changed-Why:  
I'll take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=176103 
State-Changed-From-To: feedback->closed 
State-Changed-By: pawel 
State-Changed-When: Wed Mar 13 16:16:17 UTC 2013 
State-Changed-Why:  
Committed. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=176103 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/176103: commit references a PR
Date: Wed, 13 Mar 2013 16:16:10 +0000 (UTC)

 --===============5267879714239062245==
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: 8bit
 
 Author: pawel
 Date: Wed Mar 13 16:15:49 2013
 New Revision: 314093
 URL: http://svnweb.freebsd.org/changeset/ports/314093
 
 Log:
   - Add option to disable TUI
   - Correct enabling of all targets, add patches to fix new
     clang build issues raised by this change
   - Fix WWW: line
   
   PR:		ports/176103
   Submitted by:	Luca Pizzamiglio <luca.pizzamiglio@gmail.com> (maintainer)
 
 Added:
   head/devel/gdb/files/patch-bfd-ecoff.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-elf32-hppa.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-elf32-m32r.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-elf32-microblaze.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-elf32-tic6x.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-elf32-v850.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-elf32-xtensa.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-elf64-alpha.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-elfnn-ia64.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-elfxx-mips.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-elfxx-tilegx.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-mach-o.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-mmo.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-vms-alpha.c   (contents, props changed)
   head/devel/gdb/files/patch-bfd-xcofflink.c   (contents, props changed)
   head/devel/gdb/files/patch-include-cgen-basic-ops.h   (contents, props changed)
   head/devel/gdb/files/patch-opcodes-cr16-opc.c   (contents, props changed)
   head/devel/gdb/files/patch-opcodes-crx-opc.c   (contents, props changed)
   head/devel/gdb/files/patch-opcodes-ia64-asmtab.c   (contents, props changed)
   head/devel/gdb/files/patch-opcodes-tic54x-dis.c   (contents, props changed)
 Modified:
   head/devel/gdb/Makefile
   head/devel/gdb/files/extrapatch-gdb-Makefile.in
   head/devel/gdb/files/patch-opcodes-i386-dis.c
   head/devel/gdb/pkg-descr   (contents, props changed)
   head/devel/gdb/pkg-plist   (contents, props changed)
 
 Modified: head/devel/gdb/Makefile
 ==============================================================================
 --- head/devel/gdb/Makefile	Wed Mar 13 15:40:34 2013	(r314092)
 +++ head/devel/gdb/Makefile	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -3,6 +3,7 @@
  
  PORTNAME=	gdb
  PORTVERSION=	7.5.1
 +PORTREVISION=	1
  CATEGORIES=	devel
  MASTER_SITES=	GNU
  
 @@ -20,8 +21,7 @@ CONFIGURE_ARGS=	--program-suffix=${PORTV
  		--with-gdb-datadir=${PREFIX}/share/gdb${PORTVERSION:S/.//g} \
  		--with-libiconv-prefix=${LOCALBASE} \
  		--without-libunwind-ia64 \
 -		--enable-target=all \
 -		--enable-tui
 +		--enable-targets=all
  CFLAGS:=	${CFLAGS:C/ +$//}	# blanks at EOL creep in sometimes
  CFLAGS+=	-DRL_NO_COMPAT
  EXCLUDE=	dejagnu expect sim texinfo intl
 @@ -33,14 +33,15 @@ MAN1=	gdb${VER}.1
  
  ONLY_FOR_ARCHS=	i386 amd64	# untested elsewhere, might work
  
 -OPTIONS_DEFINE=	DEBUG EXPAT PYTHON THREADS GDB_LINK
 +OPTIONS_DEFINE=	DEBUG EXPAT PYTHON THREADS TUI GDB_LINK
  OPTIONS_SINGLE_READLINE=	BASE_READLINE BUNDLED_READLINE PORT_READLINE
  OPTIONS_SINGLE=	READLINE
 -BASE_READLINE_DESC=	from base system (EXPERIMENTAL)
 +BASE_READLINE_DESC=	from base system(EXPERIMENTAL)
  BUNDLED_READLINE_DESC=	from gdb distfile
  PORT_READLINE_DESC=	from devel/readline port
  GDB_LINK_DESC=	Create the gdb link
 -OPTIONS_DEFAULT=	THREADS GDB_LINK PORT_READLINE
 +TUI_DESC=	Text User Interface enabled
 +OPTIONS_DEFAULT=	THREADS TUI GDB_LINK PORT_READLINE
  
  .include <bsd.port.options.mk>
  
 @@ -50,8 +51,12 @@ PLIST_SUB+=	GDB_LINK=""
  PLIST_SUB+=	GDB_LINK="@comment "
  .endif
  
 -.if ${PORT_OPTIONS:MPYTHON}
 -USE_PYTHON=	2.5-2.7
 +.if ${PORT_OPTIONS:MTUI}
 +CONFIGURE_ARGS+=	--enable-tui
 +PLIST_SUB+=	TUI_LINK=""
 +.else
 +CONFIGURE_ARGS+=	--disable-tui
 +PLIST_SUB+=	TUI_LINK="@comment "
  .endif
  
  .if empty(PORT_OPTIONS:MBUNDLED_READLINE)
 @@ -67,6 +72,16 @@ USE_READLINE=	base
  .if ${PORT_OPTIONS:MPORT_READLINE}
  USE_READLINE=	port
  .endif
 +
 +.if ${PORT_OPTIONS:MPYTHON}
 +USE_PYTHON=	2.5-2.7
 +CONFIGURE_ARGS+=	--with-python=${PYTHON_CMD}
 +PLIST_SUB+=		PYTHON=""
 +.else
 +CONFIGURE_ARGS+=	--without-python
 +PLIST_SUB+=		PYTHON="@comment "
 +.endif
 +
  .include <bsd.port.pre.mk>
  
  .if ${PORT_OPTIONS:MTHREADS}
 @@ -84,14 +99,6 @@ CONFIGURE_ARGS+=	--with-expat=yes
  CONFIGURE_ARGS+=	--without-expat
  .endif
  
 -.if ${PORT_OPTIONS:MPYTHON}
 -CONFIGURE_ARGS+=	--with-python=${PYTHON_CMD}
 -PLIST_SUB+=		PYTHON=""
 -.else
 -CONFIGURE_ARGS+=	--without-python
 -PLIST_SUB+=		PYTHON="@comment "
 -.endif
 -
  .if ${ARCH} == "amd64"
  CONFIGURE_TARGET=	x86_64-portbld-freebsd${OSREL}
  .endif
 @@ -105,8 +112,10 @@ post-patch:
  
  do-install:
  	${INSTALL_PROGRAM} ${WRKSRC}/gdb/gdb ${PREFIX}/bin/gdb${VER}
 -	${LN} -sf ${PREFIX}/bin/gdb${VER} ${PREFIX}/bin/gdbtui${VER}
  	${INSTALL_MAN} ${WRKSRC}/gdb/gdb.1 ${MAN1PREFIX}/man/man1/gdb${VER}.1
 +.if ${PORT_OPTIONS:MTUI}
 +	${LN} -sf ${PREFIX}/bin/gdb${VER} ${PREFIX}/bin/gdbtui${VER}
 +.endif
  .if ${PORT_OPTIONS:MGDB_LINK}
  	${LN} -sf gdb${VER} ${PREFIX}/bin/gdb
  .endif
 
 Modified: head/devel/gdb/files/extrapatch-gdb-Makefile.in
 ==============================================================================
 --- head/devel/gdb/files/extrapatch-gdb-Makefile.in	Wed Mar 13 15:40:34 2013	(r314092)
 +++ head/devel/gdb/files/extrapatch-gdb-Makefile.in	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -1,23 +1,13 @@
  --- gdb/Makefile.in.orig	2012-07-02 17:29:33.000000000 +0200
  +++ gdb/Makefile.in	2012-08-26 21:01:45.589052997 +0200
 -@@ -572,7 +572,7 @@
 - 	xstormy16-tdep.o \
 +@@ -573,6 +573,7 @@
   	xtensa-config.o xtensa-tdep.o xtensa-linux-tdep.o \
   	glibc-tdep.o \
 --	bsd-uthread.o \
 +	bsd-uthread.o \
  +	fbsd-threads.o \
   	nbsd-tdep.o obsd-tdep.o \
   	sol2-tdep.o \
   	solib-frv.o solib-irix.o solib-svr4.o \
 -@@ -779,7 +779,7 @@
 - gnulib/import/stdint.in.h remote.h gdb.h sparc-nat.h \
 - gdbthread.h dwarf2-frame.h dwarf2-frame-tailcall.h nbsd-nat.h dcache.h \
 - amd64-nat.h s390-tdep.h arm-linux-tdep.h exceptions.h macroscope.h \
 --gdbarch.h bsd-uthread.h gdb_stat.h memory-map.h	memrange.h \
 -+gdbarch.h gdb_stat.h memory-map.h	memrange.h \
 - mdebugread.h m88k-tdep.h stabsread.h hppa-linux-offsets.h linux-fork.h \
 - ser-unix.h inf-ptrace.h terminal.h ui-out.h frame-base.h \
 - f-lang.h dwarf2loc.h value.h sparc-tdep.h defs.h target-descriptions.h \
  @@ -1164,7 +1164,7 @@
   # Removing the old gdb first works better if it is running, at least on SunOS.
   gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
 @@ -32,7 +22,7 @@
   	avr-tdep.c \
   	bfin-linux-tdep.c bfin-tdep.c \
  -	bsd-uthread.c bsd-kvm.c \
 -+	fbsd-threads.c bsd-kvm.c \
 ++	bsd-uthread.c fbsd-threads.c bsd-kvm.c \
   	core-regset.c \
   	dcache.c dicos-tdep.c darwin-nat.c \
   	exec.c \
 
 Added: head/devel/gdb/files/patch-bfd-ecoff.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-ecoff.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,11 @@
 +--- bfd/ecoff.c.orig	2013-03-11 12:42:03.000000000 +0100
 ++++ bfd/ecoff.c	2013-03-11 12:44:29.000000000 +0100
 +@@ -1888,7 +1888,7 @@
 +   ret = (bfd_coff_filhsz (abfd)
 + 	 + bfd_coff_aoutsz (abfd)
 + 	 + c * bfd_coff_scnhsz (abfd));
 +-  return BFD_ALIGN (ret, 16);
 ++  return (int)BFD_ALIGN (ret, 16);
 + }
 + 
 + /* Get the contents of a section.  */
 
 Added: head/devel/gdb/files/patch-bfd-elf32-hppa.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-elf32-hppa.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,11 @@
 +--- bfd/elf32-hppa.c.orig	2013-03-07 09:56:40.000000000 +0100
 ++++ bfd/elf32-hppa.c	2013-03-07 09:57:07.000000000 +0100
 +@@ -2384,7 +2384,7 @@
 + 	      bfd_size_type mask;
 + 
 + 	      if (gotalign > pltalign)
 +-		bfd_set_section_alignment (dynobj, sec, gotalign);
 ++		(void)bfd_set_section_alignment (dynobj, sec, gotalign);
 + 	      mask = ((bfd_size_type) 1 << gotalign) - 1;
 + 	      sec->size = (sec->size + sizeof (plt_stub) + mask) & ~mask;
 + 	    }
 
 Added: head/devel/gdb/files/patch-bfd-elf32-m32r.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-elf32-m32r.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,11 @@
 +--- bfd/elf32-m32r.c.orig	2013-03-07 09:57:30.000000000 +0100
 ++++ bfd/elf32-m32r.c	2013-03-07 09:57:53.000000000 +0100
 +@@ -1390,7 +1390,7 @@
 + 						  flags);
 + 	  if (s == NULL)
 + 	    return FALSE;
 +-	  bfd_set_section_alignment (abfd, s, 2);
 ++	  (void)bfd_set_section_alignment (abfd, s, 2);
 + 	}
 + 
 +       bh = bfd_link_hash_lookup (info->hash, "_SDA_BASE_",
 
 Added: head/devel/gdb/files/patch-bfd-elf32-microblaze.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-elf32-microblaze.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,11 @@
 +--- bfd/elf32-microblaze.c.orig	2013-03-07 10:01:47.000000000 +0100
 ++++ bfd/elf32-microblaze.c	2013-03-07 10:02:54.000000000 +0100
 +@@ -1741,7 +1741,7 @@
 +       for (isym = isymbuf; isym < isymend; isym++)
 +         {
 +           if (isym->st_shndx == shndx)
 +-	    isym->st_value =- calc_fixup (isym->st_value, sec);
 ++	    isym->st_value = -calc_fixup (isym->st_value, sec);
 +         }
 + 
 +       /* Now adjust the global symbols defined in this section.  */
 
 Added: head/devel/gdb/files/patch-bfd-elf32-tic6x.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-elf32-tic6x.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,30 @@
 +--- bfd/elf32-tic6x.c.orig	2013-03-07 10:03:28.000000000 +0100
 ++++ bfd/elf32-tic6x.c	2013-03-07 10:08:19.000000000 +0100
 +@@ -3043,7 +3043,7 @@
 +       *secp = bfd_make_section_old_way (abfd, ".scommon");
 +       (*secp)->flags |= SEC_IS_COMMON;
 +       *valp = sym->st_size;
 +-      bfd_set_section_alignment (abfd, *secp, bfd_log2 (sym->st_value));
 ++      (void)bfd_set_section_alignment (abfd, *secp, bfd_log2 (sym->st_value));
 +       break;
 +     }
 + 
 +@@ -3319,8 +3319,6 @@
 +     {
 +       bfd_signed_vma *local_got;
 +       bfd_signed_vma *end_local_got;
 +-      char *local_tls_type;
 +-      bfd_vma *local_tlsdesc_gotent;
 +       bfd_size_type locsymcount;
 +       Elf_Internal_Shdr *symtab_hdr;
 +       asection *srel;
 +@@ -3361,8 +3359,7 @@
 +       end_local_got = local_got + locsymcount;
 +       s = htab->elf.sgot;
 +       srel = htab->elf.srelgot;
 +-      for (; local_got < end_local_got;
 +-	   ++local_got, ++local_tls_type, ++local_tlsdesc_gotent)
 ++      for (; local_got < end_local_got; ++local_got)
 + 	{
 + 	  if (*local_got > 0)
 + 	    {
 
 Added: head/devel/gdb/files/patch-bfd-elf32-v850.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-elf32-v850.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,11 @@
 +--- bfd/elf32-v850.c.orig	2013-03-11 12:55:48.000000000 +0100
 ++++ bfd/elf32-v850.c	2013-03-11 12:57:45.000000000 +0100
 +@@ -2933,7 +2933,7 @@
 + 
 + 	  if (alignmoveto < alignto)
 + 	    {
 +-	      unsigned int i;
 ++	      bfd_vma i;
 + 
 + 	      align_pad_size = alignto - alignmoveto;
 + #ifdef DEBUG_RELAX
 
 Added: head/devel/gdb/files/patch-bfd-elf32-xtensa.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-elf32-xtensa.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,20 @@
 +--- bfd/elf32-xtensa.c.orig	2013-03-07 10:08:58.000000000 +0100
 ++++ bfd/elf32-xtensa.c	2013-03-07 10:11:40.000000000 +0100
 +@@ -6075,7 +6075,7 @@
 +       release_internal_relocs (sec_cache->sec, sec_cache->relocs);
 +       if (sec_cache->ptbl)
 + 	free (sec_cache->ptbl);
 +-      memset (sec_cache, 0, sizeof (sec_cache));
 ++      memset (sec_cache, 0, sizeof (*sec_cache));
 +     }
 + }
 + 
 +@@ -6117,7 +6117,7 @@
 + 
 +   /* Fill in the new section cache.  */
 +   clear_section_cache (sec_cache);
 +-  memset (sec_cache, 0, sizeof (sec_cache));
 ++  memset (sec_cache, 0, sizeof (*sec_cache));
 + 
 +   sec_cache->sec = sec;
 +   sec_cache->contents = contents;
 
 Added: head/devel/gdb/files/patch-bfd-elf64-alpha.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-elf64-alpha.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,63 @@
 +--- bfd/elf64-alpha.c.orig	2013-03-11 10:52:58.000000000 +0100
 ++++ bfd/elf64-alpha.c	2013-03-11 11:50:24.000000000 +0100
 +@@ -3585,9 +3585,9 @@
 +   use_gottprel = FALSE;
 +   new_symndx = is_gd ? ELF64_R_SYM (irel->r_info) : STN_UNDEF;
 + 
 +-  switch (!dynamic && !info->link_info->shared)
 +-    {
 +-    case 1:
 ++  {
 ++    int skip_default = 0;
 ++    if (!dynamic && !info->link_info->shared)
 +       {
 + 	bfd_vma tp_base;
 + 	bfd_signed_vma disp;
 +@@ -3605,7 +3605,7 @@
 + 	    irel[0].r_offset = pos[0] - info->contents;
 + 	    irel[0].r_info = ELF64_R_INFO (new_symndx, R_ALPHA_TPREL16);
 + 	    irel[1].r_info = ELF64_R_INFO (0, R_ALPHA_NONE);
 +-	    break;
 ++	    skip_default = 1;
 + 	  }
 + 	else if (disp >= -(bfd_signed_vma) 0x80000000
 + 		 && disp < (bfd_signed_vma) 0x7fff8000
 +@@ -3620,24 +3620,23 @@
 + 	    irel[0].r_info = ELF64_R_INFO (new_symndx, R_ALPHA_TPRELHI);
 + 	    irel[1].r_offset = pos[1] - info->contents;
 + 	    irel[1].r_info = ELF64_R_INFO (new_symndx, R_ALPHA_TPRELLO);
 +-	    break;
 ++	    skip_default = 1;
 + 	  }
 +       }
 +-      /* FALLTHRU */
 +-
 +-    default:
 +-      use_gottprel = TRUE;
 +-
 +-      insn = (OP_LDQ << 26) | (tlsgd_reg << 21) | (29 << 16);
 +-      bfd_put_32 (info->abfd, (bfd_vma) insn, pos[0]);
 +-      bfd_put_32 (info->abfd, (bfd_vma) INSN_UNOP, pos[1]);
 +-
 +-      irel[0].r_offset = pos[0] - info->contents;
 +-      irel[0].r_info = ELF64_R_INFO (new_symndx, R_ALPHA_GOTTPREL);
 +-      irel[1].r_info = ELF64_R_INFO (0, R_ALPHA_NONE);
 +-      break;
 +-    }
 ++      /* FALLTHRU (default) */
 ++    if (skip_default != 1 )
 ++      {
 ++        use_gottprel = TRUE;
 + 
 ++        insn = (OP_LDQ << 26) | (tlsgd_reg << 21) | (29 << 16);
 ++        bfd_put_32 (info->abfd, (bfd_vma) insn, pos[0]);
 ++        bfd_put_32 (info->abfd, (bfd_vma) INSN_UNOP, pos[1]);
 ++
 ++        irel[0].r_offset = pos[0] - info->contents;
 ++        irel[0].r_info = ELF64_R_INFO (new_symndx, R_ALPHA_GOTTPREL);
 ++        irel[1].r_info = ELF64_R_INFO (0, R_ALPHA_NONE);
 ++      }
 ++  }
 +   bfd_put_32 (info->abfd, (bfd_vma) INSN_RDUNIQ, pos[2]);
 + 
 +   insn = INSN_ADDQ | (16 << 21) | (0 << 16) | (0 << 0);
 
 Added: head/devel/gdb/files/patch-bfd-elfnn-ia64.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-elfnn-ia64.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,11 @@
 +--- bfd/elfnn-ia64.c.orig	2013-03-11 10:21:19.000000000 +0100
 ++++ bfd/elfnn-ia64.c	2013-03-11 10:21:43.000000000 +0100
 +@@ -1546,7 +1546,7 @@
 +     bfd_set_section_flags (abfd, ia64_info->root.sgot,
 + 			   SEC_SMALL_DATA | flags);
 +     /* The .got section is always aligned at 8 bytes.  */
 +-    bfd_set_section_alignment (abfd, ia64_info->root.sgot, 3);
 ++    (void)bfd_set_section_alignment (abfd, ia64_info->root.sgot, 3);
 +   }
 + 
 +   if (!get_pltoff (abfd, info, ia64_info))
 
 Added: head/devel/gdb/files/patch-bfd-elfxx-mips.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-elfxx-mips.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,28 @@
 +--- bfd/elfxx-mips.c.orig	2013-03-07 10:12:06.000000000 +0100
 ++++ bfd/elfxx-mips.c	2013-03-07 10:13:30.000000000 +0100
 +@@ -7292,20 +7292,20 @@
 +       /* Change alignments of some sections.  */
 +       s = bfd_get_linker_section (abfd, ".hash");
 +       if (s != NULL)
 +-	bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 ++	(void)bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 +       s = bfd_get_linker_section (abfd, ".dynsym");
 +       if (s != NULL)
 +-	bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 ++	(void)bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 +       s = bfd_get_linker_section (abfd, ".dynstr");
 +       if (s != NULL)
 +-	bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 ++	(void)bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 +       /* ??? */
 +       s = bfd_get_section_by_name (abfd, ".reginfo");
 +       if (s != NULL)
 +-	bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 ++	(void)bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 +       s = bfd_get_linker_section (abfd, ".dynamic");
 +       if (s != NULL)
 +-	bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 ++	(void)bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
 +     }
 + 
 +   if (!info->shared)
 
 Added: head/devel/gdb/files/patch-bfd-elfxx-tilegx.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-elfxx-tilegx.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,20 @@
 +--- bfd/elfxx-tilegx.c.orig	2013-03-07 10:14:34.000000000 +0100
 ++++ bfd/elfxx-tilegx.c	2013-03-07 10:15:31.000000000 +0100
 +@@ -1205,7 +1205,7 @@
 + };
 + 
 + /* Reuse an existing info 10 bundle.  */
 +-static const bfd_byte const *tilegx64_plt_tail_entry =
 ++static const bfd_byte *tilegx64_plt_tail_entry =
 +   &tilegx64_short_plt_entry[4 * TILEGX_BUNDLE_SIZE_IN_BYTES];
 + 
 + static const bfd_byte
 +@@ -1250,7 +1250,7 @@
 + };
 + 
 + /* Reuse an existing info 10 bundle.  */
 +-static const bfd_byte const *tilegx32_plt_tail_entry =
 ++static const bfd_byte *tilegx32_plt_tail_entry =
 +   &tilegx64_short_plt_entry[4 * TILEGX_BUNDLE_SIZE_IN_BYTES];
 + 
 + static int
 
 Added: head/devel/gdb/files/patch-bfd-mach-o.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-mach-o.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,11 @@
 +--- bfd/mach-o.c.orig	2013-03-07 10:15:55.000000000 +0100
 ++++ bfd/mach-o.c	2013-03-07 10:16:09.000000000 +0100
 +@@ -2683,7 +2683,7 @@
 + 	  s->flags = xlat->macho_sectype | xlat->macho_secattr;
 + 	  s->align = xlat->sectalign > bfdalign ? xlat->sectalign 
 + 						: bfdalign;
 +-	  bfd_set_section_alignment (abfd, sec, s->align);
 ++	  (void)bfd_set_section_alignment (abfd, sec, s->align);
 + 	  bfd_flags = bfd_get_section_flags (abfd, sec);
 + 	  if (bfd_flags == SEC_NO_FLAGS)
 + 	    bfd_set_section_flags (abfd, sec, xlat->bfd_flags);
 
 Added: head/devel/gdb/files/patch-bfd-mmo.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-mmo.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,29 @@
 +--- bfd/mmo.c.orig	2013-03-11 12:17:57.000000000 +0100
 ++++ bfd/mmo.c	2013-03-11 12:17:21.000000000 +0100
 +@@ -663,7 +663,7 @@
 + 	return NULL;
 + 
 +       if (! sec->user_set_vma)
 +-	bfd_set_section_vma (abfd, sec, vma);
 ++	(void)bfd_set_section_vma (abfd, sec, vma);
 +       if (! bfd_set_section_flags (abfd, sec,
 + 				   bfd_get_section_flags (abfd, sec)
 + 				   | SEC_CODE | SEC_LOAD | SEC_ALLOC))
 +@@ -677,7 +677,7 @@
 + 	return NULL;
 + 
 +       if (! sec->user_set_vma)
 +-	bfd_set_section_vma (abfd, sec, vma);
 ++	(void)bfd_set_section_vma (abfd, sec, vma);
 +       if (! bfd_set_section_flags (abfd, sec,
 + 				   bfd_get_section_flags (abfd, sec)
 + 				   | SEC_LOAD | SEC_ALLOC))
 +@@ -693,7 +693,7 @@
 +   sprintf (sec_name, ".MMIX.sec.%d", abfd->tdata.mmo_data->sec_no++);
 +   sec = mmo_make_section (abfd, sec_name);
 +   if (! sec->user_set_vma)
 +-    bfd_set_section_vma (abfd, sec, vma);
 ++    (void)bfd_set_section_vma (abfd, sec, vma);
 + 
 +   if (! bfd_set_section_flags (abfd, sec,
 + 			       bfd_get_section_flags (abfd, sec)
 
 Added: head/devel/gdb/files/patch-bfd-vms-alpha.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-vms-alpha.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,20 @@
 +--- bfd/vms-alpha.c.orig	2013-03-11 10:40:39.000000000 +0100
 ++++ bfd/vms-alpha.c	2013-03-11 12:31:12.000000000 +0100
 +@@ -6044,7 +6044,7 @@
 +                      unsigned char *rec, unsigned int rec_len)
 + {
 +   unsigned int off = sizeof (struct vms_egsd);
 +-  unsigned int sec_len;
 ++  unsigned int sec_len = 0;
 + 
 +   fprintf (file, _("  %s (len=%u+%u):\n"), name,
 +            (unsigned)(rec_len - sizeof (struct vms_eobjrec)),
 +@@ -9118,7 +9118,7 @@
 +   vms_debug2 ((1, "vms_new_section_hook (%p, [%d]%s)\n",
 +                abfd, section->index, section->name));
 + 
 +-  bfd_set_section_alignment (abfd, section, 0);
 ++  (void)bfd_set_section_alignment (abfd, section, 0);
 + 
 +   vms_debug2 ((7, "%d: %s\n", section->index, section->name));
 + 
 
 Added: head/devel/gdb/files/patch-bfd-xcofflink.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-bfd-xcofflink.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,11 @@
 +--- bfd/xcofflink.c.orig	2013-03-07 10:16:45.000000000 +0100
 ++++ bfd/xcofflink.c	2013-03-07 10:19:50.000000000 +0100
 +@@ -6273,7 +6273,7 @@
 +       irel = flinfo.section_info[o->target_index].relocs;
 +       irelend = irel + o->reloc_count;
 +       rel_hash = flinfo.section_info[o->target_index].rel_hashes;
 +-      for (; irel < irelend; irel++, rel_hash++, erel += relsz)
 ++      for (; irel < irelend; irel++, rel_hash++)
 + 	{
 + 	  if (*rel_hash != NULL)
 + 	    {
 
 Added: head/devel/gdb/files/patch-include-cgen-basic-ops.h
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-include-cgen-basic-ops.h	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,43 @@
 +--- include/cgen/basic-ops.h.orig	2013-03-07 17:31:21.000000000 +0100
 ++++ include/cgen/basic-ops.h	2013-03-07 17:31:28.000000000 +0100
 +@@ -24,11 +24,16 @@
 + 
 + #include <assert.h>
 + 
 +-#if defined (__GNUC__) && ! defined (SEMOPS_DEFINE_INLINE)
 ++#if defined (__GNUC__) && ! defined (SEMOPS_DEFINE_INLINE) && ! defined (__clang__)
 + #define SEMOPS_DEFINE_INLINE
 + #define SEMOPS_INLINE extern inline
 + #else
 +-#define SEMOPS_INLINE
 ++# if defined (__clang__) && ! defined (SEMOPS_DEFINE_INLINE)
 ++#  define SEMOPS_DEFINE_INLINE
 ++#  define SEMOPS_INLINE static inline
 ++# else
 ++#  define SEMOPS_INLINE
 ++# endif
 + #endif
 + 
 + /* These don't really have a mode.  */
 +@@ -295,11 +300,16 @@
 +    significant and word number 0 is the most significant word.
 +    ??? May also wish an endian-dependent version.  Later.  */
 + 
 +-QI SUBWORDSIQI (SI, int);
 +-HI SUBWORDSIHI (SI, int);
 +-QI SUBWORDDIQI (DI, int);
 +-HI SUBWORDDIHI (DI, int);
 +-SI SUBWORDDISI (DI, int);
 ++#if defined (__clang__) && defined (SEMOPS_DEFINE_INLINE)
 ++#define SEMOPS_STATIC static
 ++#else
 ++#define SEMOPS_STATIC
 ++#endif
 ++SEMOPS_STATIC QI SUBWORDSIQI (SI, int);
 ++SEMOPS_STATIC HI SUBWORDSIHI (SI, int);
 ++SEMOPS_STATIC QI SUBWORDDIQI (DI, int);
 ++SEMOPS_STATIC HI SUBWORDDIHI (DI, int);
 ++SEMOPS_STATIC SI SUBWORDDISI (DI, int);
 + 
 + #ifdef SEMOPS_DEFINE_INLINE
 + 
 
 Added: head/devel/gdb/files/patch-opcodes-cr16-opc.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-opcodes-cr16-opc.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,65 @@
 +--- opcodes/cr16-opc.c.orig	2013-03-07 10:34:48.000000000 +0100
 ++++ opcodes/cr16-opc.c	2013-03-07 10:33:49.000000000 +0100
 +@@ -502,36 +502,36 @@
 + const reg_entry cr16_pregtab[] =
 + {
 + /* Build a processor register.  */
 +-  REG(dbs,   0x0, CR16_P_REGTYPE),
 +-  REG(dsr,   0x1, CR16_P_REGTYPE),
 +-  REG(dcrl,  0x2, CR16_P_REGTYPE),
 +-  REG(dcrh,  0x3, CR16_P_REGTYPE),
 +-  REG(car0l, 0x4, CR16_P_REGTYPE),
 +-  REG(car0h, 0x5, CR16_P_REGTYPE),
 +-  REG(car1l, 0x6, CR16_P_REGTYPE),
 +-  REG(car1h, 0x7, CR16_P_REGTYPE),
 +-  REG(cfg,   0x8, CR16_P_REGTYPE),
 +-  REG(psr,   0x9, CR16_P_REGTYPE),
 +-  REG(intbasel, 0xa, CR16_P_REGTYPE),
 +-  REG(intbaseh, 0xb, CR16_P_REGTYPE),
 +-  REG(ispl,  0xc, CR16_P_REGTYPE),
 +-  REG(isph,  0xd, CR16_P_REGTYPE),
 +-  REG(uspl,  0xe, CR16_P_REGTYPE),
 +-  REG(usph,  0xf, CR16_P_REGTYPE),
 ++  REG((reg)dbs,   0x0, CR16_P_REGTYPE),
 ++  REG((reg)dsr,   0x1, CR16_P_REGTYPE),
 ++  REG((reg)dcrl,  0x2, CR16_P_REGTYPE),
 ++  REG((reg)dcrh,  0x3, CR16_P_REGTYPE),
 ++  REG((reg)car0l, 0x4, CR16_P_REGTYPE),
 ++  REG((reg)car0h, 0x5, CR16_P_REGTYPE),
 ++  REG((reg)car1l, 0x6, CR16_P_REGTYPE),
 ++  REG((reg)car1h, 0x7, CR16_P_REGTYPE),
 ++  REG((reg)cfg,   0x8, CR16_P_REGTYPE),
 ++  REG((reg)psr,   0x9, CR16_P_REGTYPE),
 ++  REG((reg)intbasel, 0xa, CR16_P_REGTYPE),
 ++  REG((reg)intbaseh, 0xb, CR16_P_REGTYPE),
 ++  REG((reg)ispl,  0xc, CR16_P_REGTYPE),
 ++  REG((reg)isph,  0xd, CR16_P_REGTYPE),
 ++  REG((reg)uspl,  0xe, CR16_P_REGTYPE),
 ++  REG((reg)usph,  0xf, CR16_P_REGTYPE),
 + };
 + 
 + const reg_entry cr16_pregptab[] =
 + {
 +-  REG(dbs,   0, CR16_P_REGTYPE),
 +-  REG(dsr,   1, CR16_P_REGTYPE),
 +-  REG(dcr,   2, CR16_P_REGTYPE),
 +-  REG(car0,  4, CR16_P_REGTYPE),
 +-  REG(car1,  6, CR16_P_REGTYPE),
 +-  REG(cfg,   8, CR16_P_REGTYPE),
 +-  REG(psr,   9, CR16_P_REGTYPE),
 +-  REG(intbase, 10, CR16_P_REGTYPE),
 +-  REG(isp,   12, CR16_P_REGTYPE),
 +-  REG(usp,   14, CR16_P_REGTYPE),
 ++  REG((reg)dbs,   0, CR16_P_REGTYPE),
 ++  REG((reg)dsr,   1, CR16_P_REGTYPE),
 ++  REG((reg)dcr,   2, CR16_P_REGTYPE),
 ++  REG((reg)car0,  4, CR16_P_REGTYPE),
 ++  REG((reg)car1,  6, CR16_P_REGTYPE),
 ++  REG((reg)cfg,   8, CR16_P_REGTYPE),
 ++  REG((reg)psr,   9, CR16_P_REGTYPE),
 ++  REG((reg)intbase, 10, CR16_P_REGTYPE),
 ++  REG((reg)isp,   12, CR16_P_REGTYPE),
 ++  REG((reg)usp,   14, CR16_P_REGTYPE),
 + };
 + 
 + const unsigned int cr16_num_pregs =  ARRAY_SIZE (cr16_pregtab);
 
 Added: head/devel/gdb/files/patch-opcodes-crx-opc.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-opcodes-crx-opc.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,20 @@
 +--- opcodes/crx-opc.c.orig	2013-03-07 10:35:06.000000000 +0100
 ++++ opcodes/crx-opc.c	2013-03-07 10:40:31.000000000 +0100
 +@@ -632,7 +632,7 @@
 + const reg_entry crx_copregtab[] =
 + {
 + /* Build a Coprocessor register c<N>.  */
 +-#define REG_C(N)    REG(CONCAT2(c,N), N, CRX_C_REGTYPE)
 ++#define REG_C(N)    REG((reg)CONCAT2(c,N), N, CRX_C_REGTYPE)
 + 
 +   REG_C(0),  REG_C(1),	REG_C(2),  REG_C(3),
 +   REG_C(4),  REG_C(5),	REG_C(6),  REG_C(7),
 +@@ -640,7 +640,7 @@
 +   REG_C(12), REG_C(13), REG_C(14), REG_C(15),
 + 
 + /* Build a Coprocessor Special register cs<N>.  */
 +-#define REG_CS(N)    REG(CONCAT2(cs,N), N, CRX_CS_REGTYPE)
 ++#define REG_CS(N)    REG((reg)CONCAT2(cs,N), N, CRX_CS_REGTYPE)
 + 
 +   REG_CS(0),  REG_CS(1),  REG_CS(2),  REG_CS(3),
 +   REG_CS(4),  REG_CS(5),  REG_CS(6),  REG_CS(7),
 
 Modified: head/devel/gdb/files/patch-opcodes-i386-dis.c
 ==============================================================================
 --- head/devel/gdb/files/patch-opcodes-i386-dis.c	Wed Mar 13 15:40:34 2013	(r314092)
 +++ head/devel/gdb/files/patch-opcodes-i386-dis.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -56,3 +56,4 @@
  +  oappend (&"%es:"[(short)intel_syntax]);
     ptr_reg (code, sizeflag);
   }
 + 
 
 Added: head/devel/gdb/files/patch-opcodes-ia64-asmtab.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-opcodes-ia64-asmtab.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,37 @@
 +--- opcodes/ia64-asmtab.c.orig	2008-08-28 16:07:49.000000000 +0200
 ++++ opcodes/ia64-asmtab.c	2013-03-13 16:40:09.000000000 +0100
 +@@ -101,7 +101,7 @@
 +   { "CPUID#", 7, 0, 5, -1, NULL, },
 +   { "CR[CMCV]", 28, 0, 3, 74, NULL, },
 +   { "CR[DCR]", 28, 0, 3, 0, NULL, },
 +-  { "CR[EOI]", 28, 0, 7, 67, "SC Section 5.8.3.4, \"End of External Interrupt Register (EOI  CR67)\" on page 2:119", },
 ++  { "CR[EOI]", 28, 0, 7, 67, "SC Section 5.8.3.4, \"End of External Interrupt Register (EOI CR67)\" on page 2:119", },
 +   { "CR[GPTA]", 28, 0, 3, 9, NULL, },
 +   { "CR[IFA]", 28, 0, 1, 20, NULL, },
 +   { "CR[IFA]", 28, 0, 3, 20, NULL, },
 +@@ -123,13 +123,13 @@
 +   { "CR[ITM]", 28, 0, 3, 1, NULL, },
 +   { "CR[ITV]", 28, 0, 3, 72, NULL, },
 +   { "CR[IVA]", 28, 0, 4, 2, NULL, },
 +-  { "CR[IVR]", 28, 0, 7, 65, "SC Section 5.8.3.2, \"External Interrupt Vector Register (IVR  CR65)\" on page 2:118", },
 +-  { "CR[LID]", 28, 0, 7, 64, "SC Section 5.8.3.1, \"Local ID (LID  CR64)\" on page 2:117", },
 ++  { "CR[IVR]", 28, 0, 7, 65, "SC Section 5.8.3.2, \"External Interrupt Vector Register (IVR  CR65)\" on page 2:118", },
 ++  { "CR[LID]", 28, 0, 7, 64, "SC Section 5.8.3.1, \"Local ID (LID  CR64)\" on page 2:117", },
 +   { "CR[LRR%], % in 0 - 1", 10, 0, 3, -1, NULL, },
 +   { "CR[PMV]", 28, 0, 3, 73, NULL, },
 +   { "CR[PTA]", 28, 0, 3, 8, NULL, },
 +   { "CR[TPR]", 28, 0, 3, 66, NULL, },
 +-  { "CR[TPR]", 28, 0, 7, 66, "SC Section 5.8.3.3, \"Task Priority Register (TPR  CR66)\" on page 2:119", },
 ++  { "CR[TPR]", 28, 0, 7, 66, "SC Section 5.8.3.3, \"Task Priority Register (TPR  CR66)\" on page 2:119", },
 +   { "CR[TPR]", 28, 0, 1, 66, NULL, },
 +   { "CR%, % in 3-7, 10-15, 18, 28-63, 75-79, 82-127", 11, 0, 0, -1, NULL, },
 +   { "DBR#", 12, 0, 2, -1, NULL, },
 +@@ -303,7 +303,7 @@
 +   { "CPUID#", 7, 1, 0, -1, NULL, },
 +   { "CR[CMCV]", 28, 1, 2, 74, NULL, },
 +   { "CR[DCR]", 28, 1, 2, 0, NULL, },
 +-  { "CR[EOI]", 28, 1, 7, 67, "SC Section 5.8.3.4, \"End of External Interrupt Register (EOI  CR67)\" on page 2:119", },
 ++  { "CR[EOI]", 28, 1, 7, 67, "SC Section 5.8.3.4, \"End of External Interrupt Register (EOI  CR67)\" on page 2:119", },
 +   { "CR[GPTA]", 28, 1, 2, 9, NULL, },
 +   { "CR[IFA]", 28, 1, 2, 20, NULL, },
 +   { "CR[IFS]", 28, 1, 2, 23, NULL, },
 
 Added: head/devel/gdb/files/patch-opcodes-tic54x-dis.c
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/devel/gdb/files/patch-opcodes-tic54x-dis.c	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -0,0 +1,105 @@
 +--- opcodes/tic54x-dis.c.orig	2013-03-07 10:46:52.000000000 +0100
 ++++ opcodes/tic54x-dis.c	2013-03-07 12:05:19.000000000 +0100
 +@@ -168,14 +168,9 @@
 + }
 + 
 + int
 +-print_instruction (info, memaddr, opcode, tm_name, tm_operands, size, ext)
 +-  disassemble_info *info;
 +-  bfd_vma memaddr;
 +-  unsigned short opcode;
 +-  const char *tm_name;
 +-  const enum optype tm_operands[];
 +-  int size;
 +-  int ext;
 ++print_instruction (disassemble_info * info, bfd_vma memaddr,
 ++  unsigned short opcode, const char *tm_name,
 ++  const enum optype tm_operands[], int size, int ext)
 + {
 +   static int n;
 +   /* string storage for multiple operands */
 +@@ -468,6 +463,7 @@
 +   return 1;
 + }
 + 
 ++/*
 + static int
 + print_parallel_instruction (info, memaddr, opcode, ptm, size)
 +   disassemble_info *info;
 +@@ -475,6 +471,11 @@
 +   unsigned short opcode;
 +   const insn_template *ptm;
 +   int size;
 ++*/
 ++static int
 ++print_parallel_instruction (disassemble_info *info,
 ++  bfd_vma memaddr, unsigned short opcode, 
 ++  const insn_template * ptm, int size)
 + {
 +   print_instruction (info, memaddr, opcode,
 +                      ptm->name, ptm->operand_types, size, 0);
 +@@ -484,10 +485,8 @@
 + }
 + 
 + static int
 +-sprint_dual_address (info, buf, code)
 +-  disassemble_info *info ATTRIBUTE_UNUSED;
 +-  char buf[];
 +-  unsigned short code;
 ++sprint_dual_address ( disassemble_info *info ATTRIBUTE_UNUSED,
 ++  char buf[], unsigned short code)
 + {
 +   const char *formats[] = {
 +     "*ar%d",
 +@@ -499,10 +498,8 @@
 + }
 + 
 + static int
 +-sprint_indirect_address (info, buf, opcode)
 +-  disassemble_info *info ATTRIBUTE_UNUSED;
 +-  char buf[];
 +-  unsigned short opcode;
 ++sprint_indirect_address (disassemble_info * info ATTRIBUTE_UNUSED,
 ++  char buf[], unsigned short opcode)
 + {
 +   const char *formats[] = {
 +     "*ar%d",
 +@@ -522,10 +519,8 @@
 + }
 + 
 + static int
 +-sprint_direct_address (info, buf, opcode)
 +-  disassemble_info *info ATTRIBUTE_UNUSED;
 +-  char buf[];
 +-  unsigned short opcode;
 ++sprint_direct_address ( disassemble_info *info ATTRIBUTE_UNUSED,
 ++  char buf[], unsigned short opcode)
 + {
 +   /* FIXME -- look up relocation if available */
 +   return sprintf (buf, "DP+0x%02x", (int) (opcode & 0x7F));
 +@@ -552,10 +547,8 @@
 + }
 + 
 + static int
 +-sprint_cc2 (info, buf, opcode)
 +-  disassemble_info *info ATTRIBUTE_UNUSED;
 +-  char *buf;
 +-  unsigned short opcode;
 ++sprint_cc2 (disassemble_info *info ATTRIBUTE_UNUSED,
 ++  char *buf, unsigned short opcode)
 + {
 +   const char *cc2[] = {
 +     "??", "??", "ageq", "alt", "aneq", "aeq", "agt", "aleq",
 +@@ -565,10 +558,8 @@
 + }
 + 
 + static int
 +-sprint_condition (info, buf, opcode)
 +-  disassemble_info *info ATTRIBUTE_UNUSED;
 +-  char *buf;
 +-  unsigned short opcode;
 ++sprint_condition (disassemble_info *info ATTRIBUTE_UNUSED,
 ++  char *buf, unsigned short opcode)
 + {
 +   char *start = buf;
 +   const char *cmp[] = {
 
 Modified: head/devel/gdb/pkg-descr
 ==============================================================================
 --- head/devel/gdb/pkg-descr	Wed Mar 13 15:40:34 2013	(r314092)
 +++ head/devel/gdb/pkg-descr	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -3,4 +3,4 @@ many other languages.  GDB can target (i
  more than a dozen different processor architectures, and GDB itself can
  run on most popular GNU/Linux, Unix and Microsoft Windows variants.
  
 -WWW:	http://www.gnu.org/software/gdb/
 +WWW: http://www.gnu.org/software/gdb/
 
 Modified: head/devel/gdb/pkg-plist
 ==============================================================================
 --- head/devel/gdb/pkg-plist	Wed Mar 13 15:40:34 2013	(r314092)
 +++ head/devel/gdb/pkg-plist	Wed Mar 13 16:15:49 2013	(r314093)
 @@ -1,6 +1,6 @@
  %%GDB_LINK%%bin/gdb
  bin/gdb%%VER%%
 -bin/gdbtui%%VER%%
 +%%TUI_LINK%%bin/gdbtui%%VER%%
  %%PYTHON%%share/gdb%%VER%%/python/gdb/__init__.py
  %%PYTHON%%share/gdb%%VER%%/python/gdb/types.py
  %%PYTHON%%share/gdb%%VER%%/python/gdb/printing.py
 
 --===============5267879714239062245==
 Content-Type: text/plain; charset="us-ascii"
 MIME-Version: 1.0
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline
 
 _______________________________________________
 svn-ports-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-ports-all
 To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
 --===============5267879714239062245==--
 
>Unformatted:
