From nobody Thu Aug 1 08:58:22 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2B78C1201E2; Thu, 1 Aug 2019 08:58:20 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.598 X-Spam-Level: X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7GuS9dpcFMQs; Thu, 1 Aug 2019 08:58:18 -0700 (PDT) Received: from mx0a-00191d01.pphosted.com (mx0b-00191d01.pphosted.com [67.231.157.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5D9151201DE; Thu, 1 Aug 2019 08:58:18 -0700 (PDT) Received: from pps.filterd (m0049458.ppops.net [127.0.0.1]) by m0049458.ppops.net-00191d01. (8.16.0.27/8.16.0.27) with SMTP id x71FvMVu021812; Thu, 1 Aug 2019 11:58:17 -0400 Received: from alpi155.enaf.aldc.att.com (sbcsmtp7.sbc.com [144.160.229.24]) by m0049458.ppops.net-00191d01. with ESMTP id 2u42phh40p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 01 Aug 2019 11:58:16 -0400 Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id x71FwFV5008172; Thu, 1 Aug 2019 11:58:16 -0400 Received: from zlp27125.vci.att.com (zlp27125.vci.att.com [135.66.87.52]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id x71FwDwC008118 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 1 Aug 2019 11:58:14 -0400 Received: from zlp27125.vci.att.com (zlp27125.vci.att.com [127.0.0.1]) by zlp27125.vci.att.com (Service) with ESMTP id B7F5D16A3E7; Thu, 1 Aug 2019 15:58:13 +0000 (GMT) Received: from MISOUT7MSGHUBAG.ITServices.sbc.com (unknown [130.9.129.151]) by zlp27125.vci.att.com (Service) with ESMTPS id A5CDC16A59A; Thu, 1 Aug 2019 15:58:13 +0000 (GMT) Received: from MISOUT7MSGUSRDE.ITServices.sbc.com ([169.254.5.175]) by MISOUT7MSGHUBAG.ITServices.sbc.com ([130.9.129.151]) with mapi id 14.03.0439.000; Thu, 1 Aug 2019 11:58:12 -0400 From: "BRUNGARD, DEBORAH A" To: "rtg-dir@ietf.org" , "rtg-chairs@ietf.org" , "routing-discussion@ietf.org" CC: " (rtg-ads@ietf.org)" Thread-Topic: Internet Threat Model - mailing list Thread-Index: AdVIgZuEguy3UzEyTUq0PiqJVi6ohQ== Date: Thu, 1 Aug 2019 15:58:11 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [135.70.255.112] Content-Type: multipart/alternative; boundary="_000_F64C10EAA68C8044B33656FA214632C8A39CDBACMISOUT7MSGUSRDE_" MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-08-01_08:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1906280000 definitions=main-1908010167 Archived-At: Subject: [RTG-DIR] Internet Threat Model - mailing list X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Aug 2019 15:58:20 -0000 --_000_F64C10EAA68C8044B33656FA214632C8A39CDBACMISOUT7MSGUSRDE_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, As a follow-up to the presentation in the rtgwg, Stephen has set up a maili= ng list: https://www.ietf.org/mailman/listinfo/Model-t I encourage you to join it to help sort out routing related aspects- Deborah --_000_F64C10EAA68C8044B33656FA214632C8A39CDBACMISOUT7MSGUSRDE_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi,

 

As a follow-up to the presentation in the rtgwg, Ste= phen has set up a mailing list:

https://www.ietf.org/mailman/listinfo/Model-t

 

I encourage you to join it to help sort out routing = related aspects-

 

Deborah

 

--_000_F64C10EAA68C8044B33656FA214632C8A39CDBACMISOUT7MSGUSRDE_-- From nobody Thu Aug 1 16:32:59 2019 Return-Path: X-Original-To: rtg-dir@ietf.org Delivered-To: rtg-dir@ietfa.amsl.com Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id C84721200FB; Thu, 1 Aug 2019 16:32:43 -0700 (PDT) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit From: Yingzhen Qu via Datatracker To: Cc: draft-ietf-babel-rfc6126bis.all@ietf.org, ietf@ietf.org, babel@ietf.org X-Test-IDTracker: no X-IETF-IDTracker: 6.99.1 Auto-Submitted: auto-generated Precedence: bulk Reply-To: Yingzhen Qu Message-ID: <156470236376.19191.1026181661457374790@ietfa.amsl.com> Date: Thu, 01 Aug 2019 16:32:43 -0700 Archived-At: Subject: [RTG-DIR] Rtgdir telechat review of draft-ietf-babel-rfc6126bis-11 X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Aug 2019 23:32:44 -0000 Reviewer: Yingzhen Qu Review result: Has Issues I have been selected as the Routing Directorate reviewer for this draft. The Routing Directorate seeks to review all routing or routing-related drafts as they pass through IETF last call and IESG review, and sometimes on special request. The purpose of the review is to provide assistance to the Routing ADs. For more information about the Routing Directorate, please see http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir Although these comments are primarily for the use of the Routing ADs, it would be helpful if you could consider them along with any other IETF Last Call comments that you receive, and strive to resolve them through discussion or by updating the draft. Document: draft-ietf-babel-rfc6126bis Reviewer: Yingzhen Qu Review Date: 1 August 2019 Intended Status: Standards Track Summary: This document describes the Babel routing protocol, and obsoletes RFC 6126 and 7557. Note: both RFC 6126 and 7557 are experimental, the current bis version is standards track. I don’t know the history behind, but just want to point it out. Overall comments: The document is mostly well written. I’m not a native speaker, so I’d leave all language nits to RFC editors. Issues: (the line number is used is from idnits) There are security concerns raised by Secdir review: https://datatracker.ietf.org/doc/review-ietf-babel-rfc6126bis-10-secdir-lc-kaufman-2019-06-28/ The description about packet trailer is in RFC 7557 section 2.5, but not included in the bis version. Considering this document will obsolete RFC 7557, I suppose it should be self-complete, so readers don’t need to go back to RFC 7557 for more information. There are multiple places in the document about TLV/Sub-TLV being “self-terminating”, but I didn’t find what it means. Maybe I’m missing something here? Section 1.1 “unmanaged and wireless environment”, what does “unmanaged” mean here? Section 3.2.3 The interface Hello seqno is changed to outing multicast hello seqno, however there is no description about unicast hello at all. While I was reading it, I kept thinking what if it’s unicast hello? Is there a unicast hello timer needed? From later sections, I realized there are unicast hellos. So I’d suggest add some descriptions to avoid the confusion. Section 3.2.4 There is “the expected incoming Unicast Hello sequence number” and “the outgoing Unicast Hello sequence number”, but it was not mentioned in section 3.2.3 (related with previous comment). Section 3.8.1.1 After a node receives a route request, if the given prefix doesn’t exist in its route table, it MUST send a retraction for that prefix. So my question is whether a node is allowed to send multiple explicit requests for a given prefix? If so, what happens if both retractions and updates are received? Section 4.4 1616 4.4. Sub-TLV Format 1618 Every TLV carries an explicit length in its header; however, most 1619 TLVs are self-terminating, in the sense that it is possible to 1620 determine the length of the body without reference to the explicit 1621 Length field. If a TLV has a self-terminating format, then it MAY 1622 allow a sequence of sub-TLVs to follow the body. This section is about Sub-TLV, however the description language in this paragraph is mainly about TLV. Section 4.5 it says that “an implementation may choose to use a dedicated stateless parser to parse the packet trailer”. Will the packet trailer be able to use the state parser if there are state there useful or just for implementation purpose? Although there is no packet trailer defined at this moment. Section 4.5 1674 parsing a TLV MUST update the parser state even if the TLV is 1675 otherwise ignored due to an unknown mandatory sub-TLV. Section 4.6.5 1805 send a new scheduled Hello TLV with the same setting of the 1806 Unicast flag. If this is 0, then this Hello represents an I’d suggest changing the text to “the same setting of flags” instead of “the same setting of the Unicast flag”, considering the flags will be extended later. Nits: 1049 metric) from a neighbour neigh with a link cost value equal to cost, 1050 it checks whether it already has a route table entry indexed by [neighbour neigh] => [neighbour] Thanks, Yingzhen From nobody Fri Aug 2 01:21:17 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F0141120025; Fri, 2 Aug 2019 01:21:02 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RifokqLyxQZI; Fri, 2 Aug 2019 01:21:00 -0700 (PDT) Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D8E19120019; Fri, 2 Aug 2019 01:20:56 -0700 (PDT) Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id x728KomG014827 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 2 Aug 2019 10:20:50 +0200 Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by potemkin.univ-paris7.fr (8.14.4/8.14.4/relay2/82085) with ESMTP id x728KpdU022695; Fri, 2 Aug 2019 10:20:51 +0200 Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id DE86D441B4; Fri, 2 Aug 2019 10:20:53 +0200 (CEST) X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id EnQf3OjR9joF; Fri, 2 Aug 2019 10:20:52 +0200 (CEST) Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 77806441B2; Fri, 2 Aug 2019 10:20:48 +0200 (CEST) Date: Fri, 02 Aug 2019 10:20:46 +0200 Message-ID: <87o918ou5d.wl-jch@irif.fr> From: Juliusz Chroboczek To: Yingzhen Qu Cc: , draft-ietf-babel-rfc6126bis.all@ietf.org, ietf@ietf.org, babel@ietf.org In-Reply-To: <156470236376.19191.1026181661457374790@ietfa.amsl.com> References: <156470236376.19191.1026181661457374790@ietfa.amsl.com> User-Agent: Wanderlust/2.15.9 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]); Fri, 02 Aug 2019 10:20:50 +0200 (CEST) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Fri, 02 Aug 2019 10:20:51 +0200 (CEST) X-Miltered: at korolev with ID 5D43F262.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-Miltered: at potemkin with ID 5D43F263.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 5D43F262.000 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/ X-j-chkmail-Enveloppe: 5D43F263.000 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/ X-j-chkmail-Score: MSGID : 5D43F262.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Score: MSGID : 5D43F263.000 on potemkin.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Status: Ham X-j-chkmail-Status: Ham Archived-At: Subject: Re: [RTG-DIR] Rtgdir telechat review of draft-ietf-babel-rfc6126bis-11 X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Aug 2019 08:21:03 -0000 Dear Mr Qu, Thank you for your review. > The description about packet trailer is in RFC 7557 section 2.5, but not > included in the bis version. Considering this document will obsolete RFC 7557, > I suppose it should be self-complete, so readers don’t need to go back to RFC > 7557 for more information. The packet trailer is described in Section 4.2. > There are multiple places in the document about TLV/Sub-TLV being > “self-terminating”, but I didn’t find what it means. Maybe I’m missing > something here? This is defined in Section 4.4. I have checked that all uses of self-terminating occur after its definition. > Section 1.1 > “unmanaged and wireless environment”, what does “unmanaged” mean here? Not being actively managed by a human administrator. This is a non-normative section. Please let me know if I'm using this term badly. > Section 3.2.3 > The interface Hello seqno is changed to outing multicast hello seqno, however > there is no description about unicast hello at all. Unicast Hellos are per-neighbour, so they appear in Section 3.2.4 (Section 3.2.3 describes per-interface data structure while 3.2.4 describes per-neighbour structures). Both kinds of Hellos are described in more detail in Section 3.4.1. > While I was reading it, I kept thinking what if it’s unicast hello? Is > there a unicast hello timer needed? There is one, see Section 3.2.4, penultimate paragraph. > From later sections, I realized there are unicast hellos. So I’d suggest > add some descriptions to avoid the confusion. Sections 3.2.4 and 3.4.1. > Section 3.2.4 > There is “the expected incoming Unicast Hello sequence number” and “the > outgoing Unicast Hello sequence number”, but it was not mentioned in section > 3.2.3 (related with previous comment). That's right. Section 3.2.3 describes per-interface data. Section 3.2.4 describes per-neighbour data. Multicast Hellos are per-interface. Unicast Hellos are per-neighbour. > Section 3.8.1.1 > After a node receives a route request, if the given prefix doesn’t exist in its > route table, it MUST send a retraction for that prefix. So my question is > whether a node is allowed to send multiple explicit requests for a given > prefix? There's nothing forbidding it. It may send multiple requests to different neighbours (over unicast), or multiple requests on different interfaces (over multicast). There's also nothing forbidding a node from sending multiple requests to the same destination, e.g. to compensate for packet loss. (Our implementation experience shows that, at least over 802.11, such aggressive behaviour is not useful, it increases noise without having a measurable effect on convergence time, hence the SHOULD in Section 3.8.2.3 which only requires a single request. However, further research might yield new insights, which is why this document does not explicitly disallow such behaviour.) > If so, what happens if both retractions and updates are received? The procedure described in Section 3.5.4 is run for each received update or retraction, which results in the construction of the data structures used as input for the precedure described in Section 3.6. > 1616 4.4. Sub-TLV Format > This section is about Sub-TLV, however the description language in this > paragraph is mainly about TLV. Good catch, thanks. I'll fix that. > Section 4.5 > it says that “an implementation may choose to use a dedicated stateless parser > to parse the packet trailer”. Will the packet trailer be able to use the state > parser if there are state there useful or just for implementation purpose? I do not understand this comment. Please clarify. > Although there is no packet trailer defined at this moment. Section 4.2. > Section 4.5 > 1674 parsing a TLV MUST update the parser state even if the TLV is > 1675 otherwise ignored due to an unknown mandatory sub-TLV. I believe you may have forgotten to write your comment. > Section 4.6.5 > 1805 send a new scheduled Hello TLV with the same setting of the > 1806 Unicast flag. If this is 0, then this Hello represents an > I’d suggest changing the text to “the same setting of flags” instead of “the > same setting of the Unicast flag”, considering the flags will be extended later. I disagree. This paragraph is about the multicast/unicast dichotomy, not about future flags of an informative nature. > Nits: > 1049 metric) from a neighbour neigh with a link cost value equal to cost, > 1050 it checks whether it already has a route table entry indexed by > [neighbour neigh] => [neighbour] I disagree. We're defining the variable neigh, which we use in the next sequence. Regards, -- Juliusz Chroboczek From nobody Fri Aug 2 01:30:16 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7C388120026; Fri, 2 Aug 2019 01:30:13 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4Pm10ACcIYTB; Fri, 2 Aug 2019 01:30:12 -0700 (PDT) Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1FBC8120019; Fri, 2 Aug 2019 01:30:11 -0700 (PDT) Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id x728U6MG017326; Fri, 2 Aug 2019 10:30:06 +0200 Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 1C05844279; Fri, 2 Aug 2019 10:30:10 +0200 (CEST) X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id iytW-UuNJjkE; Fri, 2 Aug 2019 10:30:09 +0200 (CEST) Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 24B0144277; Fri, 2 Aug 2019 10:30:09 +0200 (CEST) Date: Fri, 02 Aug 2019 10:30:09 +0200 Message-ID: <87imrgotpq.wl-jch@irif.fr> From: Juliusz Chroboczek To: Yingzhen Qu Cc: , draft-ietf-babel-rfc6126bis.all@ietf.org, ietf@ietf.org, babel@ietf.org In-Reply-To: <87o918ou5d.wl-jch@irif.fr> References: <156470236376.19191.1026181661457374790@ietfa.amsl.com> <87o918ou5d.wl-jch@irif.fr> User-Agent: Wanderlust/2.15.9 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [194.254.61.138]); Fri, 02 Aug 2019 10:30:06 +0200 (CEST) X-Miltered: at korolev with ID 5D43F48E.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 5D43F48E.000 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/ X-j-chkmail-Score: MSGID : 5D43F48E.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Status: Ham Archived-At: Subject: Re: [RTG-DIR] Rtgdir telechat review of draft-ietf-babel-rfc6126bis-11 X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Aug 2019 08:30:14 -0000 >> 1616 4.4. Sub-TLV Format >> This section is about Sub-TLV, however the description language in this >> paragraph is mainly about TLV. > Good catch, thanks. Actually, this section starts by describing how sub-TLVs fit within TLVs, so it's correct as it stands. -- Juliusz Chroboczek From nobody Tue Aug 6 23:46:17 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9A1B21200E3; Tue, 6 Aug 2019 23:45:59 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.997 X-Spam-Level: X-Spam-Status: No, score=-1.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yISxyR5-Vu3o; Tue, 6 Aug 2019 23:45:57 -0700 (PDT) Received: from mail-ot1-x32e.google.com (mail-ot1-x32e.google.com [IPv6:2607:f8b0:4864:20::32e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D452B120024; Tue, 6 Aug 2019 23:45:56 -0700 (PDT) Received: by mail-ot1-x32e.google.com with SMTP id r6so100112373oti.3; Tue, 06 Aug 2019 23:45:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=juMrup7X4/43AuDwHiVR1pEY6Uom+G14WWMUMY6pHlE=; b=gknRRW+St/9efxHkFP+JLhPpsQCSXoln9OiORd6JMii6CyaPMeV378cb4eUFVk+q5Z FUycMmUL4V3q5yYoKd/2pLV9mafCuw6aWj06lUyrfoPEfWw4YyXew0X4pCmDmVHn0yx0 usrT83sFmDf0Dq71iqjodE118yEV45M1gj3OGYC/Vh5HwUGNYpuwCet6vP6K04O0jqk0 Qs3Fex+dPeyZWT9HF2JMYu8eiPcoIjdTxc2dyVybIS/NWdkUo3H23TcIuRNsKqse22fV A8v4Q5WGqaHzNSSusnjahYuZEssm1Y2u1v/iMQKervhwtaQvgr+VD4v67Jh8739sv0Uz esxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=juMrup7X4/43AuDwHiVR1pEY6Uom+G14WWMUMY6pHlE=; b=iZ9i8bGnYYP2LtfRRE6gpaoNol/BNaV24RB39Rym9GLfM6ZuUCiJ21wMM8ZY5AZaT0 O/jJg+36nhxp7jaQpwwXMFae5wby1Pg5QlqHW9XP1Qt3tyYSjYUuVrUACyPKv/v4IoQu UuL9SRZWR1bTvX4jr/mey2dRhDoaSUw7Y4vuZWTlaq+bYPZ94BZ24LKE+KnsSBYWrjxx ppJclOJFKboOK4+ZwGe639Y+pSP8c5OzuWnzt8m8sDnsx3gj5wqMmqFX3qGk4ADUIggD dLOiOG0r8se1OwbNR8Au2+UOOa4ImBn4RGwTrqaJ86F8dbHCEjtf/muSuDuDeBIrmuTR pF6A== X-Gm-Message-State: APjAAAXoyANAxUhkiqqAqDn4RgtRfgb+lf1qVr4Hg7Kn4FAZKJKi/KRn F2uNdxng8Yk1dW7g3NXm9Ni/Fxy0lWcZZCQ3Ag== X-Google-Smtp-Source: APXvYqwKc/bDPKUKEy3f/hfDbT6Tp6Gq3PxulP9FHCGTs4alXebRVzEBQOybSstQwHY7EUquSG4dMCmAfzxWf6uvMN0= X-Received: by 2002:a02:22c6:: with SMTP id o189mr8413474jao.35.1565160356134; Tue, 06 Aug 2019 23:45:56 -0700 (PDT) MIME-Version: 1.0 References: <156470236376.19191.1026181661457374790@ietfa.amsl.com> <87o918ou5d.wl-jch@irif.fr> In-Reply-To: <87o918ou5d.wl-jch@irif.fr> From: Yingzhen Qu Date: Tue, 6 Aug 2019 23:44:53 -0700 Message-ID: To: Juliusz Chroboczek Cc: rtg-dir@ietf.org, draft-ietf-babel-rfc6126bis.all@ietf.org, ietf@ietf.org, babel@ietf.org Content-Type: multipart/alternative; boundary="0000000000000b4511058f814b11" Archived-At: Subject: Re: [RTG-DIR] Rtgdir telechat review of draft-ietf-babel-rfc6126bis-11 X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Aug 2019 06:46:00 -0000 --0000000000000b4511058f814b11 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Juliusz, Thanks for your reply, please see my response below starting with [YQ]. Thanks, Yingzhen On Fri, Aug 2, 2019 at 1:20 AM Juliusz Chroboczek wrote: > Dear Mr Qu, > > Thank you for your review. > > > The description about packet trailer is in RFC 7557 section 2.5, but no= t > > included in the bis version. Considering this document will obsolete RF= C > 7557, > > I suppose it should be self-complete, so readers don=E2=80=99t need to = go back > to RFC > > 7557 for more information. > > The packet trailer is described in Section 4.2. > > [YQ]: In RFC 7557 section 2.5, there is a clear description about how the packet trailer length is calculated etc. Personally I feel it's more straightforward, but if you think section 4.2 is enough, I'm not going to insist. > > There are multiple places in the document about TLV/Sub-TLV being > > =E2=80=9Cself-terminating=E2=80=9D, but I didn=E2=80=99t find what it m= eans. Maybe I=E2=80=99m missing > > something here? > > This is defined in Section 4.4. I have checked that all uses of > self-terminating occur after its definition. > > [YQ]: in section 4.4, it says self-terminating can be used to determine the length of the TLV body without using the length field. This is clear, however what does it look like? how to detect it? maybe I'm missing something here. > > Section 1.1 > > =E2=80=9Cunmanaged and wireless environment=E2=80=9D, what does =E2=80= =9Cunmanaged=E2=80=9D mean here? > > Not being actively managed by a human administrator. This is a > non-normative > section. Please let me know if I'm using this term badly. > > [YQ]: my understanding is unmanaged can mean anything, like no management at all. I don't think it's a good term, especially put together with wireless. maybe try to add a bit more explanation? > Section 3.2.3 > > The interface Hello seqno is changed to outing multicast hello seqno, > however > > there is no description about unicast hello at all. > > Unicast Hellos are per-neighbour, so they appear in Section 3.2.4 (Sectio= n > 3.2.3 describes per-interface data structure while 3.2.4 describes > per-neighbour structures). Both kinds of Hellos are described in more > detail in Section 3.4.1. > [YQ]: there is nothing wrong with current text. I was thinking of adding unicast just for easy readability. same for the following three related questions. > > > While I was reading it, I kept thinking what if it=E2=80=99s unicast he= llo? Is > > there a unicast hello timer needed? > > There is one, see Section 3.2.4, penultimate paragraph. > > > From later sections, I realized there are unicast hellos. So I=E2=80=99= d suggest > > add some descriptions to avoid the confusion. > > Sections 3.2.4 and 3.4.1. > > > Section 3.2.4 > > There is =E2=80=9Cthe expected incoming Unicast Hello sequence number= =E2=80=9D and =E2=80=9Cthe > > outgoing Unicast Hello sequence number=E2=80=9D, but it was not mention= ed in > section > > 3.2.3 (related with previous comment). > > That's right. Section 3.2.3 describes per-interface data. Section 3.2.4 > describes per-neighbour data. Multicast Hellos are per-interface. > Unicast Hellos are per-neighbour. > > > Section 3.8.1.1 > > After a node receives a route request, if the given prefix doesn=E2=80= =99t exist > in its > > route table, it MUST send a retraction for that prefix. So my question = is > > whether a node is allowed to send multiple explicit requests for a give= n > > prefix? > > There's nothing forbidding it. It may send multiple requests to differen= t > neighbours (over unicast), or multiple requests on different interfaces > (over multicast). There's also nothing forbidding a node from sending > multiple requests to the same destination, e.g. to compensate for packet > loss. > > (Our implementation experience shows that, at least over 802.11, such > aggressive behaviour is not useful, it increases noise without having > a measurable effect on convergence time, hence the SHOULD in Section > 3.8.2.3 which only requires a single request. However, further research > might yield new insights, which is why this document does not explicitly > disallow such behaviour.) > > [YQ] thanks for the explanation. I'm just wondering whether we should document it somewhere? > > If so, what happens if both retractions and updates are received? > > The procedure described in Section 3.5.4 is run for each received update > or retraction, which results in the construction of the data structures > used as input for the precedure described in Section 3.6. > [YQ]: got it. > > 1616 4.4. Sub-TLV Format > > > This section is about Sub-TLV, however the description language in this > > paragraph is mainly about TLV. > > Good catch, thanks. I'll fix that. > [YQ]: same as comments regarding unicast hello, current text is not wrong. > > > Section 4.5 > > it says that =E2=80=9Can implementation may choose to use a dedicated s= tateless > parser > > to parse the packet trailer=E2=80=9D. Will the packet trailer be able t= o use the > state > > parser if there are state there useful or just for implementation > purpose? > > I do not understand this comment. Please clarify. > > [YQ]: My understanding is Babel uses a stateful parser, and TLVs in the packet trailer are not allowed to modify the state. So the text here is suggesting to implement a stateless parser for packet trailer. so the question is: will packet trailer to able to use/read the state? is the stateless parser suggested just for implementation simplicity? > > Although there is no packet trailer defined at this moment. > > Section 4.2. > [YQ]: I meant besides the pad1 and padN, there is no real functional packet trailer defined at this moment, but it's open for extensions. > > > Section 4.5 > > 1674 parsing a TLV MUST update the parser state even if the TLV i= s > > 1675 otherwise ignored due to an unknown mandatory sub-TLV. > > I believe you may have forgotten to write your comment. > > [YQ]: is it correct that the parser state is updated by a TLV even if the TLV is ignored due to unknown sub-tlv? what about a TLV ignored due to other reasons? > Section 4.6.5 > > 1805 send a new scheduled Hello TLV with the same > setting of the > > 1806 Unicast flag. If this is 0, then this Hello > represents an > > I=E2=80=99d suggest changing the text to =E2=80=9Cthe same setting of f= lags=E2=80=9D instead of > =E2=80=9Cthe > > same setting of the Unicast flag=E2=80=9D, considering the flags will b= e > extended later. > > I disagree. This paragraph is about the multicast/unicast dichotomy, not > about future flags of an informative nature. > > [YQ]: then I misunderstood it. I thought it was meant to copy the entire flag field. > Nits: > > > 1049 metric) from a neighbour neigh with a link cost value equal > to cost, > > 1050 it checks whether it already has a route table entry indexed > by > > [neighbour neigh] =3D> [neighbour] > > I disagree. We're defining the variable neigh, which we use in the next > sequence. > > [YQ]: it seems that this is the only place using "neigh", so I thought it was a typo. I would suggest some clarification. > Regards, > > -- Juliusz Chroboczek > --0000000000000b4511058f814b11 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Juliusz,

Thanks for your = reply, please see my response below starting with [YQ].

<= /div>
Thanks,
Yingzhen

On Fri, Aug 2, 2019 at 1:20 AM Juliusz = Chroboczek <jch@irif.fr= > wrote:
Dear Mr Qu,

Thank you for your review.

> The description about packet trailer is in RFC 7557 section 2.5, but n= ot
> included in the bis version. Considering this document will obsolete R= FC 7557,
> I suppose it should be self-complete, so readers don=E2=80=99t need to= go back to RFC
> 7557 for more information.

The packet trailer is described in Section 4.2.

[YQ]: In RFC 7557 section 2.5, there is a clear descr= iption about how the packet trailer length is calculated etc. Personally I = feel it's more straightforward, but if you think section 4.2 is enough,= I'm not going to insist.
=C2=A0
> There are multiple places in the document about TLV/Sub-TLV being
> =E2=80=9Cself-terminating=E2=80=9D, but I didn=E2=80=99t find what it = means. Maybe I=E2=80=99m missing
> something here?

This is defined in Section 4.4.=C2=A0 I have checked that all uses of
self-terminating occur after its definition.

[YQ]:= in section 4.4, it says self-terminating can be used to determine the leng= th of the TLV body without using the length field. This is clear, however w= hat does it look like? how to detect it? maybe I'm missing something he= re.
=C2=A0
> Section 1.1
> =E2=80=9Cunmanaged and wireless environment=E2=80=9D, what does =E2=80= =9Cunmanaged=E2=80=9D mean here?

Not being actively managed by a human administrator.=C2=A0 This is a non-no= rmative
section.=C2=A0 Please let me know if I'm using this term badly.

[YQ]: my understanding is unmanaged can mean anything= , like no management at all. I don't think it's a good term, especi= ally put together with wireless. =C2=A0maybe try to add a bit more explanat= ion? =C2=A0

> Section 3.2.3
> The interface Hello seqno is changed to outing multicast hello seqno, = however
> there is no description about unicast hello at all.

Unicast Hellos are per-neighbour, so they appear in Section 3.2.4 (Section<= br> 3.2.3 describes per-interface data structure while 3.2.4 describes
per-neighbour structures).=C2=A0 Both kinds of Hellos are described in more=
detail in Section 3.4.1.
[YQ]: there is nothing wrong = with current text. I was thinking of adding unicast just for easy readabili= ty. same for the following three related questions.

> While I was reading it, I kept thinking what if it=E2=80=99s unicast h= ello? Is
> there a unicast hello timer needed?

There is one, see Section 3.2.4, penultimate paragraph.

> From later sections, I realized there are unicast hellos. So I=E2=80= =99d suggest
> add some descriptions to avoid the confusion.

Sections 3.2.4 and 3.4.1.

> Section 3.2.4
> There is =E2=80=9Cthe expected incoming Unicast Hello sequence number= =E2=80=9D and =E2=80=9Cthe
> outgoing Unicast Hello sequence number=E2=80=9D, but it was not mentio= ned in section
> 3.2.3 (related with previous comment).

That's right.=C2=A0 Section 3.2.3 describes per-interface data.=C2=A0 S= ection 3.2.4
describes per-neighbour data.=C2=A0 Multicast Hellos are per-interface.
Unicast Hellos are per-neighbour.

> Section 3.8.1.1
> After a node receives a route request, if the given prefix doesn=E2=80= =99t exist in its
> route table, it MUST send a retraction for that prefix. So my question= is
> whether a node is allowed to send multiple explicit requests for a giv= en
> prefix?

There's nothing forbidding it.=C2=A0 It may send multiple requests to d= ifferent
neighbours (over unicast), or multiple requests on different interfaces
(over multicast).=C2=A0 There's also nothing forbidding a node from sen= ding
multiple requests to the same destination, e.g. to compensate for packet loss.

(Our implementation experience shows that, at least over 802.11, such
aggressive behaviour is not useful, it increases noise without having
a measurable effect on convergence time, hence the SHOULD in Section
3.8.2.3 which only requires a single request.=C2=A0 However, further resear= ch
might yield new insights, which is why this document does not explicitly disallow such behaviour.)

[YQ] thanks for the explanation. I'm just wonderi= ng whether we should document it somewhere?
=C2=A0
> If so, what happens if both retractions and updates are received?

The procedure described in Section 3.5.4 is run for each received update or retraction, which results in the construction of the data structures
used as input for the precedure described in Section 3.6.
<= div>
[YQ]: got it.
=C2=A0
> 1616=C2=A0 =C2=A0 4.4.=C2=A0 Sub-TLV Format

> This section is about Sub-TLV, however the description language in thi= s
> paragraph is mainly about TLV.

Good catch, thanks.=C2=A0 I'll fix that.
=C2=A0
[YQ]: same as comments regarding unicast hello, current text is not= wrong.

> Section 4.5
> it says that =E2=80=9Can implementation may choose to use a dedicated = stateless parser
> to parse the packet trailer=E2=80=9D. Will the packet trailer be able = to use the state
> parser if there are state there useful or just for implementation purp= ose?

I do not understand this comment.=C2=A0 Please clarify.

[YQ]: My understanding is Babel uses a stateful parse= r, and TLVs in the packet trailer are not allowed to modify the state. So t= he text here is suggesting to implement a stateless parser for packet trail= er. so the question is: will packet trailer to able to use/read the state? = is the stateless parser suggested just for implementation simplicity?
=
=C2=A0=C2=A0
> Although there is no packet trailer defined at this moment.

Section 4.2.
[YQ]: I meant besides the pad1 and padN, = there is no real functional packet trailer defined at this moment, but it&#= 39;s open for extensions.

> Section 4.5
> 1674=C2=A0 =C2=A0 =C2=A0 =C2=A0parsing a TLV MUST update the parser st= ate even if the TLV is
> 1675=C2=A0 =C2=A0 =C2=A0 =C2=A0otherwise ignored due to an unknown man= datory sub-TLV.

I believe you may have forgotten to write your comment.

[YQ]: is it correct that the parser state is updated = by a TLV even if the TLV is ignored due to unknown sub-tlv? what about a TL= V ignored due to other reasons?=C2=A0

> Section 4.6.5
> 1805=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0send= a new scheduled Hello TLV with the same setting of the
> 1806=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Unic= ast flag.=C2=A0 If this is 0, then this Hello represents an
> I=E2=80=99d suggest changing the text to =E2=80=9Cthe same setting of = flags=E2=80=9D instead of =E2=80=9Cthe
> same setting of the Unicast flag=E2=80=9D, considering the flags will = be extended later.

I disagree.=C2=A0 This paragraph is about the multicast/unicast dichotomy, = not
about future flags of an informative nature.

[YQ]: then I misunderstood it. I thought it was meant= to copy the entire flag field.

> Nits:

> 1049=C2=A0 =C2=A0 =C2=A0 =C2=A0metric) from a neighbour neigh with a l= ink cost value equal to cost,
> 1050=C2=A0 =C2=A0 =C2=A0 =C2=A0it checks whether it already has a rout= e table entry indexed by
> [neighbour neigh] =3D> [neighbour]

I disagree.=C2=A0 We're defining the variable neigh, which we use in th= e next
sequence.

[YQ]: it seems that this is the only place using &quo= t;neigh", so I thought it was a typo. I would suggest some clarificati= on.

=C2=A0
Regards,

-- Juliusz Chroboczek
--0000000000000b4511058f814b11-- From nobody Mon Aug 12 14:19:39 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 04C621209FB; Mon, 12 Aug 2019 14:19:24 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id T7l160ZX2Erm; Mon, 12 Aug 2019 14:19:22 -0700 (PDT) Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4039112121A; Sun, 11 Aug 2019 22:20:05 -0700 (PDT) Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id x7C5K0YZ006374; Mon, 12 Aug 2019 07:20:00 +0200 Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 019A139DD2; Mon, 12 Aug 2019 07:20:03 +0200 (CEST) X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id ovrjwgD6p1Wg; Mon, 12 Aug 2019 07:20:01 +0200 (CEST) Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 82E0D39DD0; Mon, 12 Aug 2019 07:20:01 +0200 (CEST) Date: Mon, 12 Aug 2019 07:20:01 +0200 Message-ID: <87ftm7arjy.wl-jch@irif.fr> From: Juliusz Chroboczek To: Yingzhen Qu Cc: rtg-dir@ietf.org, draft-ietf-babel-rfc6126bis.all@ietf.org, ietf@ietf.org, babel@ietf.org In-Reply-To: References: <156470236376.19191.1026181661457374790@ietfa.amsl.com> <87o918ou5d.wl-jch@irif.fr> User-Agent: Wanderlust/2.15.9 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [194.254.61.138]); Mon, 12 Aug 2019 07:20:00 +0200 (CEST) X-Miltered: at korolev with ID 5D50F700.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 5D50F700.000 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/ X-j-chkmail-Score: MSGID : 5D50F700.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Status: Ham Archived-At: Subject: Re: [RTG-DIR] Rtgdir telechat review of draft-ietf-babel-rfc6126bis-11 X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Aug 2019 21:19:24 -0000 Dear Ms. Qu, Sorry for the delay, and thank you for your reminder. >> The description about packet trailer is in RFC 7557 section 2.5, but >> not included in the bis version. > The packet trailer is described in Section 4.2. > [YQ]: In RFC 7557 section 2.5, there is a clear description about how the > packet trailer length is calculated etc. Personally I feel it's more > straightforward, but if you think section 4.2 is enough, I'm not going to > insist. I see. Yes, I'll clarify that. >> There are multiple places in the document about TLV/Sub-TLV being >> “self-terminating”, but I didn’t find what it means. Maybe I’m missing >> something here? > This is defined in Section 4.4. I have checked that all uses of > self-terminating occur after its definition. > [YQ]: in section 4.4, it says self-terminating can be used to determine the > length of the TLV body without using the length field. This is clear, however > what does it look like? how to detect it? maybe I'm missing something here. For example, the router-id TLV is always 8 octets long. It is self-terminating. The Pad1 TLV can have arbitrary length, and it is impossible to determine its length without the explicit Length field. It is not self-terminating. >> Section 1.1 >> “unmanaged and wireless environment”, what does “unmanaged” mean here? > Not being actively managed by a human administrator. This is a > non-normative > section. Please let me know if I'm using this term badly. > [YQ]: my understanding is unmanaged can mean anything, like no management at > all. I don't think it's a good term, especially put together with wireless. > maybe try to add a bit more explanation? This is a conceptual overview, unmanaged is used in a non-technical sense. >> Section 3.2.3 The interface Hello seqno is changed to outing multicast >> hello seqno, however there is no description about unicast hello at >> all. > Unicast Hellos are per-neighbour, so they appear in Section 3.2.4 (Section > 3.2.3 describes per-interface data structure while 3.2.4 describes > per-neighbour structures). Both kinds of Hellos are described in more > detail in Section 3.4.1. > [YQ]: there is nothing wrong with current text. I was thinking of adding > unicast just for easy readability. same for the following three related > questions. The approach taken here is to define the data structures before explaining the protocol. The advantage is to have a clear reference for the implementer; but of course it leads to a number of things that are not entirely clear at this point. It's a difficult tradeoff, I'm going to leave it as is. >> Section 3.8.1.1 >> After a node receives a route request, if the given prefix doesn’t >> exist in its route table, it MUST send a retraction for that prefix. So >> my question is whether a node is allowed to send multiple explicit >> requests for a given prefix? [...] > [YQ] thanks for the explanation. I'm just wondering whether we should > document it somewhere? No, I don't think so. This case is not specific -- for example, sending multiple copies of updates is also not a good idea. > [YQ]: My understanding is Babel uses a stateful parser, and TLVs in the packet > trailer are not allowed to modify the state. So the text here is suggesting to > implement a stateless parser for packet trailer. so the question is: will > packet trailer to able to use/read the state? is the stateless parser suggested > just for implementation simplicity? None of the TLVs allowed in the packet trailer use or modify the state. See also the last paragraph of the appendix "Considerations for protocol extensions". >> Section 4.5 >> 1674 parsing a TLV MUST update the parser state even if the TLV is >> 1675 otherwise ignored due to an unknown mandatory sub-TLV. > I believe you may have forgotten to write your comment. > [YQ]: is it correct that the parser state is updated by a TLV even if the TLV > is ignored due to unknown sub-tlv? what about a TLV ignored due to other > reasons? You're right, I'll add a comment. >> Section 4.6.5 >> 1805 send a new scheduled Hello TLV with the same setting > of the >> 1806 Unicast flag. If this is 0, then this Hello > represents an >> I’d suggest changing the text to “the same setting of flags” instead of > “the >> same setting of the Unicast flag”, considering the flags will be extended > later. > I disagree. This paragraph is about the multicast/unicast dichotomy, not > about future flags of an informative nature. > [YQ]: then I misunderstood it. I thought it was meant to copy the entire flag > field. >> Nits: >> 1049 metric) from a neighbour neigh with a link cost value equal to > cost, >> 1050 it checks whether it already has a route table entry indexed > by >> [neighbour neigh] => [neighbour] > I disagree. We're defining the variable neigh, which we use in the next > sequence. > [YQ]: it seems that this is the only place using "neigh", so I thought it was a > typo. I would suggest some clarification. This has been removed. -- Juliusz From nobody Mon Aug 12 14:51:42 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5E241120896; Mon, 12 Aug 2019 14:51:40 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.397 X-Spam-Level: X-Spam-Status: No, score=-1.397 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jNrhwVqgzbpy; Mon, 12 Aug 2019 14:51:38 -0700 (PDT) Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B0AE7121649; Mon, 12 Aug 2019 06:18:51 -0700 (PDT) Received: by mail-ot1-f47.google.com with SMTP id c34so18513306otb.7; Mon, 12 Aug 2019 06:18:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=GlG/nqEZRC+OPb63Z0vAm+rspyg+azAoVgMryJh6IxA=; b=n4reSzFOz36F9CM68RSy4gcyLnaxB14cI3bV4gUCeMO2GYw9oyZEFyrNRrYq6BLhQ1 SntXUmN/1LrkI4WULLTJF3krBVA/+UM2+s/14Zi6jLFigQtdtoZuIa4OTSZyObeQVA5a Rf2KGrTeQCdKDXi2pq8zRruYoQyozvDMVr0nRyyxqvtHu4bFq5OTVdaQ7TVwMZCiWAMy HgnHRbEbk3Xu2M+njIpUan40sU7PTRm6+J/IW8V8mq5TBVU4tzrBOqKzS175x0t1TgvE 8ByrzlFGUruY4YgXww2qj36o3EzRm71VEW4uu+jgFVJLOoaNXth4+eFCMQvEGF6ADRoJ uRVw== X-Gm-Message-State: APjAAAWN9NOD2Uzl9nhP7+aA4iGR1LoK2ptGfcJpk1+oO52lm9p+/ikz gWzCTIzPdISXqRK9lldEwDVtbvXm8L2xwBqbnCSX3kex X-Google-Smtp-Source: APXvYqxy7Ogc7TMJYq4bi4kMKH38kEp+q/zL153BtybOEVgf2UT5qcmupy78ypDb2qyUbRfMAvtAcUgb34XsAqgGqBs= X-Received: by 2002:aca:b1c1:: with SMTP id a184mr14022841oif.2.1565615930783; Mon, 12 Aug 2019 06:18:50 -0700 (PDT) MIME-Version: 1.0 From: Emmanuel Baccelli Date: Mon, 12 Aug 2019 15:18:39 +0200 Message-ID: To: "" Cc: rtg-dir@ietf.org, draft-ietf-pce-association-diversity.all@ietf.org, pce@ietf.org Content-Type: multipart/alternative; boundary="00000000000068ba48058feb5d8a" Archived-At: Subject: [RTG-DIR] RtgDir review: draft-ietf-pce-association-diversity-08.txt X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Aug 2019 21:51:41 -0000 --00000000000068ba48058feb5d8a Content-Type: text/plain; charset="UTF-8" Hello, I have been selected as the Routing Directorate reviewer for this draft. The Routing Directorate seeks to review all routing or routing-related drafts as they pass through IETF last call and IESG review, and sometimes on special request. The purpose of the review is to provide assistance to the Routing ADs. For more information about the Routing Directorate, please see http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir Although these comments are primarily for the use of the Routing ADs, it would be helpful if you could consider them along with any other IETF Last Call comments that you receive, and strive to resolve them through discussion or by updating the draft. Document: draft-ietf-pce-association-diversity-08.txt Reviewer: Emmanuel Baccelli Review Date: 12/08/2019 Intended Status: Standards Track Summary of comments: The procotol extension is simple, and its operation is documented pretty well. The document is concise, and clear from my point of view. See below a couple of remarks that could be considered prior to publication. Major Issues: No major issues found. Minor Issues: In Section 5 (Security): If I understand correctly, dynamically adding a new LSP to an existing disjoint association affects the (re)computation and the (re)characterization of all LSPs in this association. In this case, is it entirely obvious to me that there is no specific threat using the attack vector of adding an LSP to an existing association, when flag T is set? What is the state of other LSPs in an existing association after another LSP was added, which resulted in the required disjointness now fails? Nits: In Section 3 (Motivation): In my opinion, this section might benefit from being split in two: a pure motivation section, and an applicability section. In Section 4.1: it is stated that "a PCE may be limited in the number of LSPs it can take into account when computing disjointness" [...] "the PCE may provide no path, a shortest path, or a constrained path based on relaxing disjointness, etc. The disjoint status is informed to the PCC." Here, it would be useful to forward reference to section 4.6. In section 4.6: the spec seems to suppose that there exists an absolute order ranking different levels of disjointness, such that a PCE can simply take the decision to "reduce disjointness" to the next best level. I suspect that this is not always easy to rank in complex cases, if at all possible. Are some more flags foreseen (tbd in section 6.2 ?) for more fine-grained characterization of "relaxed disjointness" in complex cases e.g. when adding an LSP to an already-large disjoint association ? I assume the answer is "not really". Assuming the above, without becoming too ugly, specification could be more explicit about ranking levels of disjointness which relaxing decisions should be made, when flag T is unset. Else, the spec could add a clarifying sentence on the difficulty of ordering absolutely many different levels of disjointness for many LSPs, in the same association. --00000000000068ba48058feb5d8a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello,

I have been selected as the Routing Director= ate reviewer for this draft. The Routing Directorate seeks to review all ro= uting or routing-related drafts as they pass through IETF last call and IES= G review, and sometimes on special request. The purpose of the review is to= provide assistance to the Routing ADs. For more information about the Rout= ing Directorate, please see http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir<= br>
Although these comments are primarily for the use of the Routing ADs= , it would be helpful if you could consider them along with any other IETF = Last Call comments that you receive, and strive to resolve them through dis= cussion or by updating the draft.

Document: draft-ietf-pce-associati= on-diversity-08.txt
Reviewer: Emmanuel Baccelli
Review Date: 12/08/20= 19
Intended Status: Standards Track

Summary of comments:

= =C2=A0 =C2=A0 The procotol extension is simple, and its operation is docume= nted pretty well.
=C2=A0 =C2=A0 The document is concise, and clear from = my point of view.
=C2=A0 =C2=A0 See below a couple of remarks that coul= d be considered prior to publication.

Major Issues:

=C2=A0 = =C2=A0 No major issues found.

Minor Issues:

=C2=A0 =C2=A0 In = Section 5 (Security): If I understand correctly, dynamically adding a new L= SP to an existing disjoint association affects the (re)computation and the = (re)characterization of all LSPs in this association. In this case, is it e= ntirely obvious to me that there is no specific threat using the attack vec= tor of adding an LSP to an existing association, when flag T is set?
Wha= t is the state of other LSPs in an existing association after another LSP w= as added, which resulted in the required disjointness now fails?

Nit= s:

=C2=A0 =C2=A0 In Section 3 (Motivation): In my opinion, this sect= ion might benefit from being split in two: a pure motivation section, and a= n applicability section.
=C2=A0 =C2=A0
=C2=A0 =C2=A0 In Section 4.1:= it is stated that "a PCE may be limited in the number of LSPs it can = take into account when computing disjointness" [...] "the PCE may= provide no path, a shortest path, or a constrained path based on relaxing = disjointness, etc.=C2=A0 The disjoint status is informed to the PCC." =
Here, it would be useful to forward reference to section 4.6.

= =C2=A0 =C2=A0 In section 4.6: the spec seems to suppose that there exists a= n absolute order ranking different levels of disjointness,
such that a P= CE can simply take the decision to "reduce disjointness" to the n= ext best level.
I suspect that this is not always easy to rank in c= omplex cases, if at all possible.

Are some more flags f= oreseen (tbd in section 6.2 ?) for more fine-grained characterization of &q= uot;relaxed disjointness" in complex cases e.g. when adding an LSP to = an already-large disjoint association ?
I assume the answer is &quo= t;not really".

Assuming the above, without becomin= g too ugly, specification could be more explicit about ranking levels of di= sjointness which relaxing decisions should be made, when flag T is unset.Else, the spec could add a clarifying sentence on the difficulty of order= ing absolutely many different levels of disjointness for many LSPs, in the = same association.
--00000000000068ba48058feb5d8a-- From nobody Tue Aug 13 07:59:09 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6D2E5120130; Tue, 13 Aug 2019 07:58:59 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -0.587 X-Spam-Level: X-Spam-Status: No, score=-0.587 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_COMMENT_SAVED_URL=1.391, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_FILL_THIS_FORM_SHORT=0.01, T_HTML_ATTACH=0.01] autolearn=no autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VG7SMUXXojmS; Tue, 13 Aug 2019 07:58:50 -0700 (PDT) Received: from mail-ot1-x32a.google.com (mail-ot1-x32a.google.com [IPv6:2607:f8b0:4864:20::32a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 75DA1120251; Tue, 13 Aug 2019 07:58:50 -0700 (PDT) Received: by mail-ot1-x32a.google.com with SMTP id g17so22622485otl.2; Tue, 13 Aug 2019 07:58:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=G/fDeDH37Pp/RKg/X1sjb3ruOoI4XwxYGjXoQpwif7g=; b=Kd94uieHbXElHN9Ew6iSUz/eUmSuCDg6I6c9vOgtlrX+j0gyA17gbIDQWfNB+XYPnE n3O1pLNm3YSIbv0aSaULma3U/3aI8yxSDlODo3xhCpHayrjUxKry1iFbcZ32iIlR4ych RBT/Nf6NxZc++aXw1aT86Cj+xRC6sObwqveWcaCJZmfvkbO9hZVD/4DNCHn+WXu8hKeK 18vJKWKFMxIlvPJg2X2KaMFvrAGG54RyXnV7YOzuZrRcan4brIpNlo5mCvvLP35pwEmq ZxtKXeCRTPwfWCD2t9SP7sLUdLWZzXElb6YVgmDyGr3IOzfEQVk6pNDvSG/nZaK1FU6Q Z/Zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=G/fDeDH37Pp/RKg/X1sjb3ruOoI4XwxYGjXoQpwif7g=; b=nfsURVntL7G24Nzr8UJ49kOcY09xuAP797gR2xFe+kwXOI7LtGpgnXzmX2Fwx9jgGO jOEs0o9yJWozZWX49DK9mxtgep+M1aWAJj5LPjRb/DXq3/clUHVjU41BmnTbn9pRL+11 kPkiFBolk1JGedU8ogjAiYXq9Lp6vufQpkCrar8XFGI8zMLczkhnzPMppZAYlg4iDvcL YL1lXPfIevMqUgvsHh2ooC4O8ifMQsUYVA5M5/PBoXAS2So22Kvzb3YTRri9quLghH8x IIXIP9X28vffA9k0q7LVpPeo7MNunWUkwmkfkRFkTnfuKaE1vvZjIIfXouMwZXGpATfv l2Cw== X-Gm-Message-State: APjAAAXhTs7GP76b7vQsgQhZf1w1MRetfuMa6qG7ceUHEwS9YAv0bjbN 7FdFbxPp9GMeLhdYrT03/f/XvZyxiGwdUXzIWqw= X-Google-Smtp-Source: APXvYqwn+nwbrAAKHAHyfzkMh78A2B/bapieVwdJuTK9FqOQUzjvjWvgxcqReYQwyqnpvnDjTRPbxQNmJ7ZfXpdKHFk= X-Received: by 2002:aca:4256:: with SMTP id p83mr1848808oia.125.1565708329579; Tue, 13 Aug 2019 07:58:49 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Mahend Negi Date: Tue, 13 Aug 2019 20:28:38 +0530 Message-ID: To: Emmanuel Baccelli Cc: "" , rtg-dir@ietf.org, pce@ietf.org, draft-ietf-pce-association-diversity.all@ietf.org Content-Type: multipart/mixed; boundary="000000000000cef74d059000e000" Archived-At: Subject: Re: [RTG-DIR] [Pce] RtgDir review: draft-ietf-pce-association-diversity-08.txt X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Aug 2019 14:59:00 -0000 --000000000000cef74d059000e000 Content-Type: multipart/alternative; boundary="000000000000cef745059000e0fe" --000000000000cef745059000e0fe Content-Type: text/plain; charset="UTF-8" Hi Emmanuel, Thanks for your comments. Please see inline, do find attached reworked draft and version-diff for reference. On Tue, Aug 13, 2019 at 3:21 AM Emmanuel Baccelli < Emmanuel.Baccelli@inria.fr> wrote: > Hello, > > I have been selected as the Routing Directorate reviewer for this draft. > The Routing Directorate seeks to review all routing or routing-related > drafts as they pass through IETF last call and IESG review, and sometimes > on special request. The purpose of the review is to provide assistance to > the Routing ADs. For more information about the Routing Directorate, please > see http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir > > Although these comments are primarily for the use of the Routing ADs, it > would be helpful if you could consider them along with any other IETF Last > Call comments that you receive, and strive to resolve them through > discussion or by updating the draft. > > Document: draft-ietf-pce-association-diversity-08.txt > Reviewer: Emmanuel Baccelli > Review Date: 12/08/2019 > Intended Status: Standards Track > > Summary of comments: > > The procotol extension is simple, and its operation is documented > pretty well. > The document is concise, and clear from my point of view. > See below a couple of remarks that could be considered prior to > publication. > > Major Issues: > > No major issues found. > > Minor Issues: > > In Section 5 (Security): If I understand correctly, dynamically adding > a new LSP to an existing disjoint association affects the (re)computation > and the (re)characterization of all LSPs in this association. In this case, > is it entirely obvious to me that there is no specific threat using the > attack vector of adding an LSP to an existing association, when flag T is > set? > When T flag is set, we would have a case of no-path for the new LSP. It would be good to also indicate that the new LSP could not be added into the association group. I have added text for this. What is the state of other LSPs in an existing association after another > LSP was added, which resulted in the required disjointness now fails? > The other LSPs would not be impacted. So as such there is no specific security threat with T flag. But, it would be good to add some generic text. Updated section - 6. Security Considerations This document defines one new type for association, which on itself does not add any new security concerns beyond those discussed in [RFC5440], [RFC8231] and [I-D.ietf-pce-association-group]. But, adding of a spurious LSP into the disjointness association group could lead to re-computation and set-up of all LSPs in the group, that could be used to overwhelm the PCE and the network. Also, as stated in [I-D.ietf-pce-association-group], much of the information carried in the Disjointness Association object, as per this document is not extra sensitive. It often reflects information that can also be derived from the LSP Database, but association provides a much easier grouping of related LSPs and messages. The disjointness association could provide an adversary with the opportunity to eavesdrop on the relationship between the LSPs. Thus securing the PCEP session using Transport Layer Security (TLS) [RFC8253], as per the recommendations and best current practices in [RFC7525], is RECOMMENDED. > > Nits: > > In Section 3 (Motivation): In my opinion, this section might benefit > from being split in two: a pure motivation section, and an applicability > section. > OK > > In Section 4.1: it is stated that "a PCE may be limited in the number > of LSPs it can take into account when computing disjointness" [...] "the > PCE may provide no path, a shortest path, or a constrained path based on > relaxing disjointness, etc. The disjoint status is informed to the PCC." > Here, it would be useful to forward reference to section 4.6. > OK > > In section 4.6: the spec seems to suppose that there exists an > absolute order ranking different levels of disjointness, > such that a PCE can simply take the decision to "reduce disjointness" to > the next best level. > I suspect that this is not always easy to rank in complex cases, if at all > possible. > Added (as it deems fit). > Are some more flags foreseen (tbd in section 6.2 ?) for more fine-grained > characterization of "relaxed disjointness" in complex cases e.g. when > adding an LSP to an already-large disjoint association ? > I assume the answer is "not really". > Your assumption is right. > > Assuming the above, without becoming too ugly, specification could be more > explicit about ranking levels of disjointness which relaxing decisions > should be made, when flag T is unset. > I think, adding "as it deems fit" is better and let implementations decide with protocol signalling the result. > Else, the spec could add a clarifying sentence on the difficulty of > ordering absolutely many different levels of disjointness for many LSPs, in > the same association. > Do you still feel this to be necessary? I am not too sure. Thanks! _______________________________________________ > Pce mailing list > Pce@ietf.org > https://www.ietf.org/mailman/listinfo/pce > --000000000000cef745059000e0fe Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
=09 =09 =09

Hi Emmanuel,

Thanks for your comments. Please see inline, do find attached reworked draft and version-di= ff for reference.=C2=A0


= On Tue, Aug 13, 2019 at 3:21 AM Emmanuel Baccelli <Emmanuel.Baccelli@inria.fr> wrote:
Hello,

I hav= e been selected as the Routing Directorate reviewer for this draft. The Rou= ting Directorate seeks to review all routing or routing-related drafts as t= hey pass through IETF last call and IESG review, and sometimes on special r= equest. The purpose of the review is to provide assistance to the Routing A= Ds. For more information about the Routing Directorate, please see http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir

Although t= hese comments are primarily for the use of the Routing ADs, it would be hel= pful if you could consider them along with any other IETF Last Call comment= s that you receive, and strive to resolve them through discussion or by upd= ating the draft.

Document: draft-ietf-pce-association-diversity-08.t= xt
Reviewer: Emmanuel Baccelli
Review Date: 12/08/2019
Intended St= atus: Standards Track

Summary of comments:

=C2=A0 =C2=A0 The= procotol extension is simple, and its operation is documented pretty well.=
=C2=A0 =C2=A0 The document is concise, and clear from my point of view.=
=C2=A0 =C2=A0 See below a couple of remarks that could be considered p= rior to publication.

Major Issues:

=C2=A0 =C2=A0 No major iss= ues found.

Minor Issues:

=C2=A0 =C2=A0 In Section 5 (Security= ): If I understand correctly, dynamically adding a new LSP to an existing d= isjoint association affects the (re)computation and the (re)characterizatio= n of all LSPs in this association. In this case, is it entirely obvious to = me that there is no specific threat using the attack vector of adding an LS= P to an existing association, when flag T is set?
= =C2=A0
When T flag is set, we would have a case of no-path for the new LSP. It would be good to also indicate that the new LSP could not be added into the association group. I have added text for this.

What is the state of other L= SPs in an existing association after another LSP was added, which resulted = in the required disjointness now fails?
=C2=A0
The other LSPs would not be impacted. So as such there is no specific security threat with T flag. But, it would be good to add some generic text. Updated section -
=09 =09 =09

6. Security Considerations


This document defines one new type for association, which on itself does not add any new security concerns beyond those discussed in

[RFC5440], [RFC8231] and [I-D.ietf-pce-association-group]. But, adding of a spurious LSP into the disjointness association group

could lead to re-computation and set-up of all LSPs in the group, that could be used to overwhelm the PCE and the network.


Also, as stated in [I-D.ietf-pce-association-group], much of the information carried in the Disjointness Association object, as per

this document is not extra sensitive. It often reflects information that can also be derived from the LSP Database, but association

provides a much easier grouping of related LSPs and messages. The disjointness association could provide an adversary with the

opportunity to eavesdrop on the relationship between the LSPs. Thus securing the PCEP session using Transport Layer Security (TLS)

[RFC8253], as per the recommendations and best current practices in [RFC7525], is RECOMMENDED.

=09 =09 =09


=C2=A0
Nits:

=C2=A0 =C2=A0 In Section 3 (Motivation): In my opinion, this= section might benefit from being split in two: a pure motivation section, = and an applicability section.
=C2=A0
O= K
=C2=A0 =C2=A0
=C2=A0 =C2=A0 In Section 4.1: it is stated that "= ;a PCE may be limited in the number of LSPs it can take into account when c= omputing disjointness" [...] "the PCE may provide no path, a shor= test path, or a constrained path based on relaxing disjointness, etc.=C2=A0= The disjoint status is informed to the PCC."
Here, it would be us= eful to forward reference to section 4.6.
=C2=A0=
OK
<= div dir=3D"ltr">
=C2=A0 =C2=A0 In section 4.6: the spec seems to suppose= that there exists an absolute order ranking different levels of disjointne= ss,
such that a PCE can simply take the decision to "reduce disjoin= tness" to the next best level.
I suspect that this is not alwa= ys easy to rank in complex cases, if at all possible.

=09 =09 =09

Added (as it deems fit).

=C2=A0
Ar= e some more flags foreseen (tbd in section 6.2 ?) for more fine-grained cha= racterization of "relaxed disjointness" in complex cases e.g. whe= n adding an LSP to an already-large disjoint association ?
I assume= the answer is "not really".
=09 =09 =09

Your assumption is right.

=C2=A0

Assuming the above, without becoming too ugly, specificati= on could be more explicit about ranking levels of disjointness which relaxi= ng decisions should be made, when flag T is unset.
=09 =09 =09

I think, adding "as it deems fit" is better and let implementations decide with protocol signalling the result.

=C2=A0
Else, the spec could add a clarifying sentence on the difficulty of order= ing absolutely many different levels of disjointness for many LSPs, in the = same association.
=09 =09

Do you still feel this to be necessary? I am not too sure.


Thanks!


_______________________________________________
Pce mailing list
Pce@ietf.org
https://www.ietf.org/mailman/listinfo/pce
--000000000000cef745059000e0fe-- --000000000000cef74d059000e000 Content-Type: text/plain; charset="US-ASCII"; name="draft-ietf-pce-association-diversity-09.txt" Content-Disposition: attachment; filename="draft-ietf-pce-association-diversity-09.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jz9y54z71 CgoKClBDRSBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFMuIExpdGtvd3NraQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcmFuZ2UKSW50ZW5kZWQgc3RhdHVzOiBTdGFu ZGFyZHMgVHJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgUy4gU2l2YWJhbGFuCkV4cGly ZXM6IEZlYnJ1YXJ5IDEzLCAyMDIwICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2lzY28gU3lz dGVtcywgSW5jLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQy4gQmFydGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5pcGVyIE5ldHdvcmtzCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTS4gTmVn aQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEh1 YXdlaSBUZWNobm9sb2dpZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQXVndXN0IDEyLCAyMDE5CgoKUGF0aCBDb21wdXRhdGlvbiBFbGVt ZW50IENvbW11bmljYXRpb24gUHJvdG9jb2wgKFBDRVApIEV4dGVuc2lvbiBmb3IgTFNQCiAgICAg ICAgICAgICAgICAgICAgIERpdmVyc2l0eSBDb25zdHJhaW50IFNpZ25hbGluZwogICAgICAgICAg ICAgICAgZHJhZnQtaWV0Zi1wY2UtYXNzb2NpYXRpb24tZGl2ZXJzaXR5LTA5CgpBYnN0cmFjdAoK ICAgVGhpcyBkb2N1bWVudCBpbnRyb2R1Y2VzIGEgc2ltcGxlIG1lY2hhbmlzbSB0byBhc3NvY2lh dGUgYSBncm91cCBvZgogICBMYWJlbCBTd2l0Y2hlZCBQYXRocyAoTFNQcykgdmlhIGFuIGV4dGVu c2lvbiB0byB0aGUgUGF0aCBDb21wdXRhdGlvbgogICBFbGVtZW50IChQQ0UpIGNvbW11bmljYXRp b24gUHJvdG9jb2wgKFBDRVApIHdpdGggdGhlIHB1cnBvc2Ugb2YKICAgY29tcHV0aW5nIGRpdmVy c2UgcGF0aHMgZm9yIHRob3NlIExTUHMuICBUaGUgcHJvcG9zZWQgZXh0ZW5zaW9uCiAgIGFsbG93 cyBhIFBhdGggQ29tcHV0YXRpb24gQ2xpZW50IChQQ0MpIHRvIGFkdmVydGlzZSB0byBhIFBDRSB0 aGF0IGEKICAgcGFydGljdWxhciBMU1AgYmVsb25ncyB0byBhIGRpc2pvaW50LWdyb3VwLCB0aHVz IHRoZSBQQ0Uga25vd3MgdGhhdAogICB0aGUgTFNQcyBpbiB0aGUgc2FtZSBncm91cCBuZWVkIHRv IGJlIGRpc2pvaW50IGZyb20gZWFjaCBvdGhlci4KClN0YXR1cyBvZiBUaGlzIE1lbW8KCiAgIFRo aXMgSW50ZXJuZXQtRHJhZnQgaXMgc3VibWl0dGVkIGluIGZ1bGwgY29uZm9ybWFuY2Ugd2l0aCB0 aGUKICAgcHJvdmlzaW9ucyBvZiBCQ1AgNzggYW5kIEJDUCA3OS4KCiAgIEludGVybmV0LURyYWZ0 cyBhcmUgd29ya2luZyBkb2N1bWVudHMgb2YgdGhlIEludGVybmV0IEVuZ2luZWVyaW5nCiAgIFRh c2sgRm9yY2UgKElFVEYpLiAgTm90ZSB0aGF0IG90aGVyIGdyb3VwcyBtYXkgYWxzbyBkaXN0cmli dXRlCiAgIHdvcmtpbmcgZG9jdW1lbnRzIGFzIEludGVybmV0LURyYWZ0cy4gIFRoZSBsaXN0IG9m IGN1cnJlbnQgSW50ZXJuZXQtCiAgIERyYWZ0cyBpcyBhdCBodHRwczovL2RhdGF0cmFja2VyLmll dGYub3JnL2RyYWZ0cy9jdXJyZW50Ly4KCiAgIEludGVybmV0LURyYWZ0cyBhcmUgZHJhZnQgZG9j dW1lbnRzIHZhbGlkIGZvciBhIG1heGltdW0gb2Ygc2l4IG1vbnRocwogICBhbmQgbWF5IGJlIHVw ZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0IGFueQog ICB0aW1lLiAgSXQgaXMgaW5hcHByb3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFzIHJl ZmVyZW5jZQogICBtYXRlcmlhbCBvciB0byBjaXRlIHRoZW0gb3RoZXIgdGhhbiBhcyAid29yayBp biBwcm9ncmVzcy4iCgogICBUaGlzIEludGVybmV0LURyYWZ0IHdpbGwgZXhwaXJlIG9uIEZlYnJ1 YXJ5IDEzLCAyMDIwLgoKQ29weXJpZ2h0IE5vdGljZQoKICAgQ29weXJpZ2h0IChjKSAyMDE5IElF VEYgVHJ1c3QgYW5kIHRoZSBwZXJzb25zIGlkZW50aWZpZWQgYXMgdGhlCiAgIGRvY3VtZW50IGF1 dGhvcnMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKCgoKCkxpdGtvd3NraSwgZXQgYWwuICAgICAg IEV4cGlyZXMgRmVicnVhcnkgMTMsIDIwMjAgICAgICAgICAgICAgICBbUGFnZSAxXQoMCkludGVy bmV0LURyYWZ0ICAgICAgICAgICAgICAgQVNTT0MtRElTSk9JTlQgICAgICAgICAgICAgICAgICBB dWd1c3QgMjAxOQoKCiAgIFRoaXMgZG9jdW1lbnQgaXMgc3ViamVjdCB0byBCQ1AgNzggYW5kIHRo ZSBJRVRGIFRydXN0J3MgTGVnYWwKICAgUHJvdmlzaW9ucyBSZWxhdGluZyB0byBJRVRGIERvY3Vt ZW50cwogICAoaHR0cHM6Ly90cnVzdGVlLmlldGYub3JnL2xpY2Vuc2UtaW5mbykgaW4gZWZmZWN0 IG9uIHRoZSBkYXRlIG9mCiAgIHB1YmxpY2F0aW9uIG9mIHRoaXMgZG9jdW1lbnQuICBQbGVhc2Ug cmV2aWV3IHRoZXNlIGRvY3VtZW50cwogICBjYXJlZnVsbHksIGFzIHRoZXkgZGVzY3JpYmUgeW91 ciByaWdodHMgYW5kIHJlc3RyaWN0aW9ucyB3aXRoIHJlc3BlY3QKICAgdG8gdGhpcyBkb2N1bWVu dC4gIENvZGUgQ29tcG9uZW50cyBleHRyYWN0ZWQgZnJvbSB0aGlzIGRvY3VtZW50IG11c3QKICAg aW5jbHVkZSBTaW1wbGlmaWVkIEJTRCBMaWNlbnNlIHRleHQgYXMgZGVzY3JpYmVkIGluIFNlY3Rp b24gNC5lIG9mCiAgIHRoZSBUcnVzdCBMZWdhbCBQcm92aXNpb25zIGFuZCBhcmUgcHJvdmlkZWQg d2l0aG91dCB3YXJyYW50eSBhcwogICBkZXNjcmliZWQgaW4gdGhlIFNpbXBsaWZpZWQgQlNEIExp Y2Vuc2UuCgpUYWJsZSBvZiBDb250ZW50cwoKICAgMS4gIEludHJvZHVjdGlvbiAgLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICAzCiAgICAgMS4xLiAgUmVx dWlyZW1lbnRzIExhbmd1YWdlIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAg MwogICAyLiAgVGVybWlub2xvZ3kgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAgIDMKICAgMy4gIE1vdGl2YXRpb24gIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA0CiAgIDQuICBBcHBsaWNhYmlsaXR5IC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNAogICA1LiAg UHJvdG9jb2wgRXh0ZW5zaW9uICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAgIDcKICAgICA1LjEuICBBc3NvY2lhdGlvbiBHcm91cCAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gICA3CiAgICAgNS4yLiAgRGlzam9pbnQgVExWcyAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgOAogICAgIDUuMy4gIFJlbGF0 aW9uc2hpcCB0byBTVkVDICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTAK ICAgICA1LjQuICBEaXNqb2ludG5lc3MgT2JqZWN0aXZlIGZ1bmN0aW9ucyAgLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gIDEwCiAgICAgNS41LiAgUCBGbGFnIENvbnNpZGVyYXRpb25zIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMgogICAgIDUuNi4gIERpc2pvaW50bmVzcyBD b21wdXRhdGlvbiBJc3N1ZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTUKICAgNi4gIFNl Y3VyaXR5IENvbnNpZGVyYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gIDE2CiAgIDcuICBJQU5BIENvbnNpZGVyYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuICAxNgogICAgIDcuMS4gIEFzc29jaWF0aW9uIFR5cGUgIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTYKICAgICA3LjIuICBQQ0VQIFRM VnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE3CiAg ICAgNy4zLiAgT2JqZWN0aXZlIEZ1bmN0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuICAxOAogICAgIDcuNC4gIE5PLVBBVEgtVkVDVE9SIEJpdCBGbGFncyAgLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTgKICAgICA3LjUuICBQQ0VQLUVSUk9SIENvZGVz ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE4CiAgIDguICBNYW5h Z2VhYmlsaXR5IENvbnNpZGVyYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu ICAxOQogICAgIDguMS4gIENvbnRyb2wgb2YgRnVuY3Rpb24gYW5kIFBvbGljeSAgLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAgMTkKICAgICA4LjIuICBJbmZvcm1hdGlvbiBhbmQgRGF0YSBNb2Rl bHMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE5CiAgICAgOC4zLiAgTGl2ZW5lc3Mg RGV0ZWN0aW9uIGFuZCBNb25pdG9yaW5nIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxOQogICAg IDguNC4gIFZlcmlmeSBDb3JyZWN0IE9wZXJhdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAgMTkKICAgICA4LjUuICBSZXF1aXJlbWVudHMgT24gT3RoZXIgUHJvdG9jb2xzIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIwCiAgICAgOC42LiAgSW1wYWN0IE9uIE5ldHdvcmsg T3BlcmF0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMAogICA5LiAgQWNrbm93 bGVkZ21lbnRzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAg MjAKICAgMTAuIFJlZmVyZW5jZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gIDIwCiAgICAgMTAuMS4gIE5vcm1hdGl2ZSBSZWZlcmVuY2VzIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMAogICAgIDEwLjIuICBJbmZvcm1hdGl2 ZSBSZWZlcmVuY2VzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMjEKICAgQXBw ZW5kaXggQS4gIENvbnRyaWJ1dG9yIEFkZHJlc3NlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gIDIzCiAgIEF1dGhvcnMnIEFkZHJlc3NlcyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMwoKCgoKCgoKTGl0a293c2tpLCBldCBhbC4gICAgICAg RXhwaXJlcyBGZWJydWFyeSAxMywgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDJdCgwKSW50ZXJu ZXQtRHJhZnQgICAgICAgICAgICAgICBBU1NPQy1ESVNKT0lOVCAgICAgICAgICAgICAgICAgIEF1 Z3VzdCAyMDE5CgoKMS4gIEludHJvZHVjdGlvbgoKICAgW1JGQzU0NDBdIGRlc2NyaWJlcyB0aGUg UGF0aCBDb21wdXRhdGlvbiBFbGVtZW50IGNvbW11bmljYXRpb24KICAgUHJvdG9jb2wgKFBDRVAp IHdoaWNoIGVuYWJsZXMgdGhlIGNvbW11bmljYXRpb24gYmV0d2VlbiBhIFBhdGgKICAgQ29tcHV0 YXRpb24gQ2xpZW50IChQQ0MpIGFuZCBhIFBhdGggQ29udHJvbCBFbGVtZW50IChQQ0UpLCBvciBi ZXR3ZWVuCiAgIHR3byBQQ0VzIGJhc2VkIG9uIHRoZSBQQ0UgYXJjaGl0ZWN0dXJlIFtSRkM0NjU1 XS4KCiAgIFBDRVAgRXh0ZW5zaW9ucyBmb3IgU3RhdGVmdWwgUENFIE1vZGVsIFtSRkM4MjMxXSBk ZXNjcmliZXMgYSBzZXQgb2YKICAgZXh0ZW5zaW9ucyB0byBQQ0VQIHRvIGVuYWJsZSBhY3RpdmUg Y29udHJvbCBvZiBNUExTLVRFIGFuZCBHTVBMUwogICB0dW5uZWxzLiAgW1JGQzgyODFdIGRlc2Ny aWJlcyB0aGUgc2V0dXAgYW5kIHRlYXJkb3duIG9mIFBDRS1pbml0aWF0ZWQKICAgTFNQcyB1bmRl ciB0aGUgYWN0aXZlIHN0YXRlZnVsIFBDRSBtb2RlbCwgd2l0aG91dCB0aGUgbmVlZCBmb3IgbG9j YWwKICAgY29uZmlndXJhdGlvbiBvbiB0aGUgUENDLCB0aHVzIGFsbG93aW5nIGZvciBhIGR5bmFt aWMgbmV0d29yay4KCiAgIFtJLUQuaWV0Zi1wY2UtYXNzb2NpYXRpb24tZ3JvdXBdIGludHJvZHVj ZXMgYSBnZW5lcmljIG1lY2hhbmlzbSB0bwogICBjcmVhdGUgYSBncm91cGluZyBvZiBMU1BzIGlu IHRoZSBjb250ZXh0IG9mIGEgUENFIHdoaWNoIGNhbiB0aGVuIGJlCiAgIHVzZWQgdG8gZGVmaW5l IGFzc29jaWF0aW9ucyBiZXR3ZWVuIGEgc2V0IG9mIExTUHMgYW5kIGEgc2V0IG9mCiAgIGF0dHJp YnV0ZXMgKHN1Y2ggYXMgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzIG9yIGJlaGF2aW9ycykgYW5k IGlzCiAgIGVxdWFsbHkgYXBwbGljYWJsZSB0byB0aGUgYWN0aXZlIGFuZCBwYXNzaXZlIG1vZGVz IG9mIGEgc3RhdGVmdWwgUENFCiAgIFtSRkM4MjMxXSBvciBhIHN0YXRlbGVzcyBQQ0UgW1JGQzU0 NDBdLgoKICAgVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSBQQ0VQIGV4dGVuc2lvbiB0byBzaWdu YWwgdGhhdCBhIHBhcnRpY3VsYXIKICAgZ3JvdXAgb2YgTFNQcyBzaG91bGQgdXNlIGRpdmVyc2Ug cGF0aHMgaW5jbHVkaW5nIHRoZSByZXF1ZXN0ZWQgdHlwZQogICBvZiBkaXZlcnNpdHkuICBBIFBD QyBjYW4gdXNlIHRoaXMgZXh0ZW5zaW9uIHRvIHNpZ25hbCB0byBhIFBDRSB0aGF0IGEKICAgcGFy dGljdWxhciBMU1AgYmVsb25ncyB0byBhIGRpc2pvaW50LWdyb3VwLiAgV2hlbiBhIFBDRSByZWNl aXZlcyBMU1AKICAgc3RhdGVzIGJlbG9uZ2luZyB0byB0aGUgc2FtZSBkaXNqb2ludC1ncm91cCBm cm9tIHNvbWUgUENDcywgdGhlIFBDRQogICBzaG91bGQgZW5zdXJlIHRoYXQgdGhlIExTUHMgd2l0 aGluIHRoZSBncm91cCBhcmUgZGlzam9pbnQgZnJvbSBlYWNoCiAgIG90aGVyLgoKMS4xLiAgUmVx dWlyZW1lbnRzIExhbmd1YWdlCgogICBUaGUga2V5IHdvcmRzICJNVVNUIiwgIk1VU1QgTk9UIiwg IlJFUVVJUkVEIiwgIlNIQUxMIiwgIlNIQUxMIE5PVCIsCiAgICJTSE9VTEQiLCAiU0hPVUxEIE5P VCIsICJSRUNPTU1FTkRFRCIsICJOT1QgUkVDT01NRU5ERUQiLCAiTUFZIiwgYW5kCiAgICJPUFRJ T05BTCIgaW4gdGhpcyBkb2N1bWVudCBhcmUgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgZGVzY3JpYmVk IGluIEJDUAogICAxNCBbUkZDMjExOV0gW1JGQzgxNzRdIHdoZW4sIGFuZCBvbmx5IHdoZW4sIHRo ZXkgYXBwZWFyIGluIGFsbAogICBjYXBpdGFscywgYXMgc2hvd24gaGVyZS4KCjIuICBUZXJtaW5v bG9neQoKICAgVGhlIGZvbGxvd2luZyB0ZXJtaW5vbG9neSBpcyB1c2VkIGluIHRoaXMgZG9jdW1l bnQuCgogICBEQUc6ICBEaXNqb2ludCBBc3NvY2lhdGlvbiBHcm91cC4KCiAgIE1QTFM6ICBNdWx0 aXByb3RvY29sIExhYmVsIFN3aXRjaGluZy4KCiAgIE9GOiAgT2JqZWN0aXZlIEZ1bmN0aW9uLgoK ICAgUENDOiAgUGF0aCBDb21wdXRhdGlvbiBDbGllbnQuICBBbnkgY2xpZW50IGFwcGxpY2F0aW9u IHJlcXVlc3RpbmcgYQogICAgICBwYXRoIGNvbXB1dGF0aW9uIHRvIGJlIHBlcmZvcm1lZCBieSBh IFBhdGggQ29tcHV0YXRpb24gRWxlbWVudC4KCgoKTGl0a293c2tpLCBldCBhbC4gICAgICAgRXhw aXJlcyBGZWJydWFyeSAxMywgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDNdCgwKSW50ZXJuZXQt RHJhZnQgICAgICAgICAgICAgICBBU1NPQy1ESVNKT0lOVCAgICAgICAgICAgICAgICAgIEF1Z3Vz dCAyMDE5CgoKICAgUENFOiAgUGF0aCBDb21wdXRhdGlvbiBFbGVtZW50LiAgQW4gZW50aXR5IChj b21wb25lbnQsIGFwcGxpY2F0aW9uLAogICAgICBvciBuZXR3b3JrIG5vZGUpIHRoYXQgaXMgY2Fw YWJsZSBvZiBjb21wdXRpbmcgYSBuZXR3b3JrIHBhdGggb3IKICAgICAgcm91dGUgYmFzZWQgb24g YSBuZXR3b3JrIGdyYXBoIGFuZCBhcHBseWluZyBjb21wdXRhdGlvbmFsCiAgICAgIGNvbnN0cmFp bnRzLgoKICAgUENFUDogIFBhdGggQ29tcHV0YXRpb24gRWxlbWVudCBjb21tdW5pY2F0aW9uIFBy b3RvY29sLgoKICAgU1JMRzogIFNoYXJlZCBSaXNrIExpbmsgR3JvdXAuCgozLiAgTW90aXZhdGlv bgoKICAgUGF0aCBkaXZlcnNpdHkgaXMgYSB2ZXJ5IGNvbW1vbiB1c2UgY2FzZSBpbiB0b2RheSdz IElQL01QTFMgbmV0d29ya3MKICAgZXNwZWNpYWxseSBmb3IgbGF5ZXIgMiB0cmFuc3BvcnQgb3Zl ciBNUExTLiAgQSBjdXN0b21lciBtYXkgcmVxdWVzdAogICB0aGF0IHRoZSBvcGVyYXRvciBwcm92 aWRlIHR3byBlbmQtdG8tZW5kIGRpc2pvaW50IHBhdGhzIGFjcm9zcyB0aGUKICAgSVAvTVBMUyBj b3JlLiAgVGhlIGN1c3RvbWVyIG1heSB1c2UgdGhvc2UgcGF0aHMgYXMgcHJpbWFyeS9iYWNrdXAg b3IKICAgYWN0aXZlL2FjdGl2ZS4KCiAgIERpZmZlcmVudCBsZXZlbCBvZiBkaXNqb2ludG5lc3Mg bWF5IGJlIG9mZmVyZWQ6CgogICBvICBMaW5rIGRpc2pvaW50bmVzczogdGhlIHBhdGhzIG9mIHRo ZSBhc3NvY2lhdGVkIExTUHMgc2hvdWxkIHRyYW5zaXQKICAgICAgZGlmZmVyZW50IGxpbmtzIChi dXQgbWF5IHVzZSBjb21tb24gbm9kZXMgb3IgZGlmZmVyZW50IGxpbmtzIHRoYXQKICAgICAgbWF5 IGhhdmUgc29tZSBzaGFyZWQgZmF0ZSkuCgogICBvICBOb2RlIGRpc2pvaW50bmVzczogdGhlIHBh dGhzIG9mIHRoZSBhc3NvY2lhdGVkIExTUHMgc2hvdWxkIHRyYW5zaXQKICAgICAgZGlmZmVyZW50 IG5vZGVzIChidXQgbWF5IHVzZSBkaWZmZXJlbnQgbGlua3MgdGhhdCBtYXkgaGF2ZSBzb21lCiAg ICAgIHNoYXJlZCBmYXRlKS4KCiAgIG8gIFNSTEcgZGlzam9pbnRuZXNzOiB0aGUgcGF0aHMgb2Yg dGhlIGFzc29jaWF0ZWQgTFNQcyBzaG91bGQgdHJhbnNpdAogICAgICBkaWZmZXJlbnQgbGlua3Mg dGhhdCBkbyBub3Qgc2hhcmUgZmF0ZSAoYnV0IG1heSB1c2UgY29tbW9uIHRyYW5zaXQKICAgICAg bm9kZXMpLgoKICAgbyAgTm9kZStTUkxHIGRpc2pvaW50bmVzczogdGhlIHBhdGhzIG9mIHRoZSBh c3NvY2lhdGVkIExTUHMgc2hvdWxkCiAgICAgIHRyYW5zaXQgZGlmZmVyZW50IGxpbmtzIHRoYXQg ZG8gbm90IGhhdmUgYW55IGNvbW1vbiBzaGFyZWQgZmF0ZQogICAgICBhbmQgc2hvdWxkIHRyYW5z aXQgZGlmZmVyZW50IG5vZGVzLgoKICAgVGhlIGFzc29jaWF0ZWQgTFNQcyBtYXkgb3JpZ2luYXRl IGZyb20gdGhlIHNhbWUgb3IgZnJvbSBkaWZmZXJlbnQKICAgaGVhZC1lbmQocykgYW5kIG1heSB0 ZXJtaW5hdGUgYXQgdGhlIHNhbWUgb3IgZGlmZmVyZW50IHRhaWwtZW5kKHMpLgoKNC4gIEFwcGxp Y2FiaWxpdHkKCgoKCgoKCgoKCgoKTGl0a293c2tpLCBldCBhbC4gICAgICAgRXhwaXJlcyBGZWJy dWFyeSAxMywgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDRdCgwKSW50ZXJuZXQtRHJhZnQgICAg ICAgICAgICAgICBBU1NPQy1ESVNKT0lOVCAgICAgICAgICAgICAgICAgIEF1Z3VzdCAyMDE5CgoK ICAgICAgICAgICAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KICAg ICAgICAgICAvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg ICAgICAvICAgICAgICArLS0tLS0tKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAg ICAgfCAgICAgICAgIHwgUENFICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAg ICAgfCAgICAgICAgICstLS0tLS0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAg ICAgfCAgICAgICAgICAqKioqKioqKioqKioqKioqKioqKioqKj4gICAgICAgICAgIHwKICAgICAg ICAgfCArLS0tLS0tKyAgICAgICAgICAgMTAgICAgICAgICAgICAgKy0tLS0tLSsgIHwKICAgQ0Ux ICoqKip8IFBFIDEgfCAtLS0tLSBSMSAtLS0tIFIyIC0tLS0tLS0gfCBQRSAyIHwqKioqIENFMgog ICAgICAgICB8ICstLS0tLS0rICAgICAgIHwgICAgICAgIHwgICAgICAgICArLS0tLS0tKyAgfAog ICAgICAgICB8ICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfAog ICAgICAgICB8ICAgICAgICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfAog ICAgICAgICB8ICstLS0tLS0rICAgICAgIHwgICAgICAgIHwgICAgICAgICArLS0tLS0tKyAgfAog ICBDRTMgKioqKnwgUEUgMyB8IC0tLS0tIFIzIC0tLS0gUjQgLS0tLS0tLSB8IFBFIDQgfCoqKiog Q0U0CiAgICAgICAgIHwgKy0tLS0tLSsgKioqKioqKioqKioqKioqKioqKioqKio+ICstLS0tLS0r ICB8CiAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8CiAgICAgICAgICBcICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8KICAgICAgICAgICBcX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18v CgoKICAgICBGaWd1cmUgMSAtIERpc2pvaW50IHBhdGhzIHdpdGggZGlmZmVyZW50IGhlYWQtZW5k cyBhbmQgdGFpbC1lbmRzCgogICBJbiB0aGUgZmlndXJlIGFib3ZlLCBsZXQgdXMgY29uc2lkZXIg dGhhdCB0aGUgY3VzdG9tZXIgd2FudHMgdG8gaGF2ZQogICB0d28gZGlzam9pbnQgcGF0aHMgYmV0 d2VlbiBDRTEvQ0UyIGFuZCBDRTMvQ0U0LiAgRnJvbSBhbiBJUC9NUExTCiAgIG5ldHdvcmsgcG9p bnQgdmlldywgaW4gdGhpcyBleGFtcGxlLCB0aGUgQ0VzIGFyZSBjb25uZWN0ZWQgdG8KICAgZGlm ZmVyZW50IFBFcyB0byBtYXhpbWl6ZSB0aGVpciBkaXNqb2ludG5lc3MuICBXaGVuIExTUHMgb3Jp Z2luYXRlCiAgIGZyb20gZGlmZmVyZW50IGhlYWQtZW5kcywgZGlzdHJpYnV0ZWQgY29tcHV0YXRp b24gb2YgZGl2ZXJzZSBwYXRocwogICBjYW4gYmUgZGlmZmljdWx0LCB3aGVyZWFzLCBjb21wdXRh dGlvbiB2aWEgYSBjZW50cmFsaXplZCBQQ0UgZW5zdXJlcwogICBwYXRoIGRpc2pvaW50bmVzcywg Y29ycmVjdG5lc3MgYW5kIHNpbXBsaWNpdHkuCgogICBTZWN0aW9uIDUuMyBkZXNjcmliZXMgdGhl IHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBkaXNqb2ludAogICBhc3NvY2lhdGlvbiBncm91cCBh bmQgU3luY2hyb25pemF0aW9uIFZFQ3RvciAoU1ZFQykgb2JqZWN0LgoKICAgVGhlIFBDRVAgZXh0 ZW5zaW9uIGZvciBzdGF0ZWZ1bCBQQ0UgW1JGQzgyMzFdIGRlZmluZWQgbmV3IFBDRVAKICAgbWVz c2FnZXMgLSBQYXRoIENvbXB1dGF0aW9uIFJlcG9ydCAoUENScHQpLCBQYXRoIENvbXB1dGF0aW9u IFVwZGF0ZQogICAoUENVcGQpIGFuZCBQYXRoIENvbXB1dGF0aW9uIEluaXRpYXRlIChQQ0luaXRp YXRlKSBbUkZDODI4MV0uICBUaGVzZQogICBtZXNzYWdlcyB1c2UgUExTUC1JRCBpbiB0aGUgTFNQ IG9iamVjdCBmb3IgaWRlbnRpZmljYXRpb24uICBNb3Jlb3ZlcgogICB0byBhbGxvdyBkaXZlcnNp dHkgYmV0d2VlbiBMU1BzIG9yaWdpbmF0aW5nIGZyb20gZGlmZmVyZW50IFBDQ3MsIHRoZQogICBn ZW5lcmljIG1lY2hhbmlzbSB0byBjcmVhdGUgYSBncm91cGluZyBvZiBMU1BzIGlzIGRlc2NyaWJl ZCBpbgogICBbSS1ELmlldGYtcGNlLWFzc29jaWF0aW9uLWdyb3VwXSAodGhhdCBpcyBlcXVhbGx5 IGFwcGxpY2FibGUgdG8gdGhlCiAgIGFjdGl2ZSBhbmQgcGFzc2l2ZSBtb2RlcyBvZiBhIHN0YXRl ZnVsIFBDRSkuCgogICBVc2luZyBQQ0VQLCB0aGUgUENDIGNvdWxkIGluZGljYXRlIHRoYXQgYSBk aXNqb2ludCBwYXRoIGNvbXB1dGF0aW9uCiAgIGlzIHJlcXVpcmVkLCBzdWNoIGluZGljYXRpb24g c2hvdWxkIGluY2x1ZGUgZGlzam9pbnRuZXNzIHBhcmFtZXRlcnMKICAgc3VjaCBhcyB0aGUgdHlw ZSBvZiBkaXNqb2ludG5lc3MsIHRoZSBkaXNqb2ludCBncm91cCBpZGVudGlmaWVycywgYW5kCiAg IGFueSBjdXN0b21pemF0aW9uIHBhcmFtZXRlcnMgYWNjb3JkaW5nIHRvIHRoZSBjb25maWd1cmVk IGxvY2FsCiAgIHBvbGljeS4gIEFzIG1lbnRpb25lZCBwcmV2aW91c2x5LCB0aGUgZXh0ZW5zaW9u IGRlc2NyaWJlZCBpbgoKCgoKTGl0a293c2tpLCBldCBhbC4gICAgICAgRXhwaXJlcyBGZWJydWFy eSAxMywgMjAyMCAgICAgICAgICAgICAgIFtQYWdlIDVdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAg ICAgICAgICBBU1NPQy1ESVNKT0lOVCAgICAgICAgICAgICAgICAgIEF1Z3VzdCAyMDE5CgoKICAg W0ktRC5pZXRmLXBjZS1hc3NvY2lhdGlvbi1ncm91cF0gaXMgd2VsbCBzdWl0ZWQgdG8gYXNzb2Np YXRlIGEgc2V0IG9mCiAgIExTUHMgd2l0aCBhIHBhcnRpY3VsYXIgZGlzam9pbnQtZ3JvdXAuCgog ICBUaGUgbWFuYWdlbWVudCBvZiB0aGUgZGlzam9pbnQgZ3JvdXAgSURzIHdpbGwgYmUgYSBrZXkg cG9pbnQgZm9yIHRoZQogICBvcGVyYXRvciBhcyB0aGUgQXNzb2NpYXRpb24gSUQgZmllbGQgaXMg bGltaXRlZCB0byA2NTUzNS4gIFRoZSBsb2NhbAogICBjb25maWd1cmF0aW9uIG9mIElQdjQvSVB2 NiBhc3NvY2lhdGlvbiBzb3VyY2UsIG9yIEdsb2JhbCBBc3NvY2lhdGlvbgogICBTb3VyY2UvRXh0 ZW5kZWQgQXNzb2NpYXRpb24gSUQgYWxsb3dzIHRvIG92ZXJjb21lIHRoaXMgbGltaXRhdGlvbiBh cwogICBkZXNjcmliZWQgaW4gW0ktRC5pZXRmLXBjZS1hc3NvY2lhdGlvbi1ncm91cF0uICBXaGVu IGEgUENDIG9yIFBDRQogICBpbml0aWF0ZXMgYWxsIHRoZSBMU1BzIGluIGEgcGFydGljdWxhciBk aXNqb2ludC1ncm91cCwgaXQgY2FuIHNldCB0aGUKICAgSVB2NC9JUHY2IGFzc29jaWF0aW9uIHNv dXJjZSBhcyBvbmUgb2YgaXRzIG93biBJUCBhZGRyZXNzLiAgV2hlbgogICBkaXNqb2ludCBMU1Bz IGFyZSBpbml0aWF0ZWQgZnJvbSBkaWZmZXJlbnQgaGVhZC1lbmRzLCB0aGUgYXNzb2NpYXRpb24K ICAgc291cmNlIGNvdWxkIGJlIHRoZSBQQ0UgYWRkcmVzcyBvciBhbnkgb3RoZXIgdW5pcXVlIHZh bHVlIHRvIGlkZW50aWZ5CiAgIHRoZSBkaXNqb2ludCBhc3NvY2lhdGlvbiBncm91cC4KCgoKICAg ICAgICAgICAgIEluaXRpYXRlIERpc2pvaW50IExTUHMKICAgICAgICAgICAgICAgICAgICAgIHwK ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIFBDUmVxL1BDUnB0 CiAgICAgICAgICAgICAgICAgICAgICBWICAgICAgICAgICAgICAgICAgIHtEaXNqb2ludC1ncm91 cCBZfQogICAgICAgICAgICAgICAgICAgKy0tLS0tKyAgICAgICAgICAgICAgICAtLS0tLS0tLS0t LS0tLS0tPiArLS0tLS0rCiAgICAgICAgXyBfIF8gXyBfIF98IFBDRSB8ICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgIHwgUENFIHwKICAgICAgIHwgICAgICAgICAgICstLS0tLSsgICAg ICAgICAgICAgICB8ICAgICAgLS0tLS0tLS0tLT4gKy0tLS0tKwogICAgICAgfCBQQ0luaXRpYXRl ICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwgICAgUENSZXEvUENScHQKICAgICAgIHx7RGlz am9pbnQtZ3JvdXAgWH0gICAgICAgICAgICAgICB8ICAgICB8IHtEaXNqb2ludC1ncm91cCBZfQog ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgIHwKICAgICAgIHwg ICAgICAgICAgICAgIC4tLS0tLS4gICAgICAgICAgICB8ICAgICB8ICAgICAgICAgLi0tLS0tLgog ICAgICAgfCAgICAgICAgICAgICAoICAgICAgICkgICAgICAgICAgIHwgICstLS0tKyAgICAgICgg ICAgICAgKQogICAgICAgfCAgICAgICAgIC4tLSggICAgICAgICApLS0uICAgICAgIHwgIHxQRSAx fC0tLi0tKCAgICAgICAgICktLS4KICAgICAgIFYgICAgICAgICggICAgICAgICAgICAgICAgICkg ICAgICB8ICArLS0tLSsgKCAgICAgICAgICAgICAgICAgKQogICAgICstLS0rICAgICAoICAgICAg ICAgICAgICAgICAgKSAgICAgIHwgICAgICAgICggICAgICAgICAgICAgICAgICApCiAgICAgfFBD Q3wtLS0tKCAgIChHKU1QTFMgbmV0d29yayApICAgICstLS0tKyAgICAoIChHKU1QTFMgbmV0d29y ayAgICkKICAgICArLS0tKyAgICAgKCAgICAgICAgICAgICAgICAgICkgICAgfFBFIDN8LS0tLS0o ICAgICAgICAgICAgICAgICAgKQogICBEaXNqb2ludC1ncm91cCBYICAgICAgICAgICAgICAgKSAg ICArLS0tLSsgICAgICAoICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAnLS0oICAg ICAgICAgKS0tJyAgICAgICAgICAgICAgICAgICctLSggICAgICAgICApLS0nCiAgICAgICAgICAg ICAgICAgICAgICggICAgICAgKSAgICAgICAgICAgICAgICAgICAgICAgICAgKCAgICAgICApCiAg ICAgICAgICAgICAgICAgICAgICAnLS0tLS0nICAgICAgICAgICAgICAgICAgICAgICAgICAgICct LS0tLScKCiAgICBDYXNlIDE6IERpc2pvaW50bmVzcyBpbml0aWF0ZWQgYnkgQ2FzZSAyOiBEaXNq b2ludG5lc3MgaW5pdGlhdGVkIGJ5CiAgICAgICAgICAgIFBDRSBhbmQgZW5mb3JjZWQgYnkgUEND ICAgICAgICAgIFBDQyBhbmQgZW5mb3JjZWQgYnkgUENFCgoKICAgICBGaWd1cmUgMiAtIFNhbXBs ZSB1c2UtY2FzZXMgZm9yIGNhcnJ5aW5nIGRpc2pvaW50LWdyb3VwIG92ZXIgUENFUAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbgoKICAgVXNpbmcgdGhlIGRpc2pvaW50 LWdyb3VwIHdpdGhpbiBhIFBDRVAgbWVzc2FnZXMgbWF5IGhhdmUgdHdvIHB1cnBvc2U6CgoKCgoK TGl0a293c2tpLCBldCBhbC4gICAgICAgRXhwaXJlcyBGZWJydWFyeSAxMywgMjAyMCAgICAgICAg ICAgICAgIFtQYWdlIDZdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICBBU1NPQy1ESVNK T0lOVCAgICAgICAgICAgICAgICAgIEF1Z3VzdCAyMDE5CgoKICAgbyAgQ29uZmlndXJhdGlvbjog VXNlZCB0byBjb21tdW5pY2F0ZSB0aGUgY29uZmlndXJlZCBkaXNqb2ludAogICAgICByZXF1aXJl bWVudCB0byBhIFBDRVAgcGVlci4KCiAgIG8gIFN0YXR1czogVXNlZCB0byBjb21tdW5pY2F0ZSB0 aGUgc3RhdHVzIG9mIHRoZSBjb21wdXRlZAogICAgICBkaXNqb2ludG5lc3MuCgo1LiAgUHJvdG9j b2wgRXh0ZW5zaW9uCgo1LjEuICBBc3NvY2lhdGlvbiBHcm91cAoKICAgQXMgcGVyIFtJLUQuaWV0 Zi1wY2UtYXNzb2NpYXRpb24tZ3JvdXBdLCBMU1BzIGFyZSBhc3NvY2lhdGVkIHdpdGgKICAgb3Ro ZXIgTFNQcyB3aXRoIHdoaWNoIHRoZXkgaW50ZXJhY3QgYnkgYWRkaW5nIHRoZW0gdG8gYSBjb21t b24KICAgYXNzb2NpYXRpb24gZ3JvdXAuICBUaGUgQXNzb2NpYXRpb24gcGFyYW1ldGVycywgYXMg ZGVzY3JpYmVkIGluCiAgIFtJLUQuaWV0Zi1wY2UtYXNzb2NpYXRpb24tZ3JvdXBdIGFzIHRoZSBj b21iaW5hdGlvbiBvZiB0aGUgbWFuZGF0b3J5CiAgIGZpZWxkcyBBc3NvY2lhdGlvbiB0eXBlLCBB c3NvY2lhdGlvbiBJRCBhbmQgQXNzb2NpYXRpb24gU291cmNlIGluIHRoZQogICBBU1NPQ0lBVElP TiBvYmplY3QsIHRoYXQgdW5pcXVlbHkgaWRlbnRpZnkgdGhlIGFzc29jaWF0aW9uIGdyb3VwCiAg IGJlbG9uZ2luZyB0byB0aGlzIGFzc29jaWF0aW9uLiAgSWYgdGhlIG9wdGlvbmFsIFRMVnMgLSBH bG9iYWwKICAgQXNzb2NpYXRpb24gU291cmNlIG9yIEV4dGVuZGVkIEFzc29jaWF0aW9uIElEIC0g YXJlIGluY2x1ZGVkLCB0aGVuCiAgIHRoZXkgYXJlIGluY2x1ZGVkIGluIGNvbWJpbmF0aW9uIHdp dGggbWFuZGF0b3J5IGZpZWxkcyB0byB1bmlxdWVseQogICBpZGVudGlmeSB0aGUgYXNzb2NpYXRp b24gZ3JvdXAuICBUaGlzIGRvY3VtZW50IGRlZmluZXMgYSBuZXcKICAgQXNzb2NpYXRpb24gdHlw ZSwgYmFzZWQgb24gdGhlIGdlbmVyaWMgQXNzb2NpYXRpb24gb2JqZWN0OgoKICAgbyAgQXNzb2Np YXRpb24gdHlwZSA9IFRCRDEgKCJEaXNqb2ludG5lc3MgQXNzb2NpYXRpb24gVHlwZSIpIGZvcgog ICAgICBEaXNqb2ludCBBc3NvY2lhdGlvbiBHcm91cCAoREFHKS4KCiAgIFtJLUQuaWV0Zi1wY2Ut YXNzb2NpYXRpb24tZ3JvdXBdIHNwZWNpZmllcyB0aGUgbWVjaGFuaXNtIGZvciB0aGUKICAgY2Fw YWJpbGl0eSBhZHZlcnRpc2VtZW50IG9mIHRoZSBhc3NvY2lhdGlvbiB0eXBlcyBzdXBwb3J0ZWQg YnkgYSBQQ0VQCiAgIHNwZWFrZXIgYnkgZGVmaW5pbmcgYSBBU1NPQy1UeXBlLUxpc3QgVExWIHRv IGJlIGNhcnJpZWQgd2l0aGluIGFuCiAgIE9QRU4gb2JqZWN0LiAgVGhpcyBjYXBhYmlsaXR5IGV4 Y2hhbmdlIGZvciB0aGUgYXNzb2NpYXRpb24gdHlwZQogICBkZXNjcmliZWQgaW4gdGhpcyBkb2N1 bWVudCAoaS5lLiAgRGlzam9pbnRuZXNzIEFzc29jaWF0aW9uIFR5cGUpIE1VU1QKICAgYmUgZG9u ZSBiZWZvcmUgdXNpbmcgdGhlIGRpc2pvaW50bmVzcyBhc3NvY2lhdGlvbi4gIFRodXMgdGhlIFBD RVAKICAgc3BlYWtlciBNVVNUIGluY2x1ZGUgdGhlIERpc2pvaW50bmVzcyBBc3NvY2lhdGlvbiBU eXBlIChUQkQxKSBpbiB0aGUKICAgQVNTT0MtVHlwZS1MaXN0IFRMViBiZWZvcmUgdXNpbmcgdGhl IGRpc2pvaW50IGFzc29jaWF0aW9uIGdyb3VwIChEQUcpCiAgIGluIFBDRVAgbWVzc2FnZXMuCgog ICBUaGlzIGFzc29jaWF0aW9uIHR5cGUgaXMgY29uc2lkZXJlZCB0byBiZSBib3RoIGR5bmFtaWMg YW5kIG9wZXJhdG9yLQogICBjb25maWd1cmVkIGluIG5hdHVyZS4gIFRoZSBhc3NvY2lhdGlvbiBn cm91cCBjb3VsZCBiZSBjcmVhdGVkIGJ5IHRoZQogICBvcGVyYXRvciBtYW51YWxseSBvbiB0aGUg UENFUCBwZWVycyBhbmQgdGhlIExTUHMgYmVsb25naW5nIHRvIHRoaXMKICAgYXNzb2NpYXRpb25z IGlzIGNvbnZleWVkIHZpYSBQQ0VQIG1lc3NhZ2VzIHRvIHRoZSBQQ0VQIHBlZXI7IG9yIHRoZQog ICBhc3NvY2lhdGlvbiBncm91cCBjb3VsZCBiZSBjcmVhdGVkIGR5bmFtaWNhbGx5IGJ5IHRoZSBQ Q0VQIHNwZWFrZXIKICAgYW5kIGJvdGggdGhlIGFzc29jaWF0aW9uIGdyb3VwIGluZm9ybWF0aW9u IGFuZCB0aGUgTFNQcyBiZWxvbmdpbmcgdG8KICAgdGhlIGFzc29jaWF0aW9uIGdyb3VwIGlzIGNv bnZleWVkIHRvIHRoZSBQQ0VQIHBlZXIuICBUaGUgT3BlcmF0b3ItCiAgIGNvbmZpZ3VyZWQgQXNz b2NpYXRpb24gUmFuZ2UgTVVTVCBiZSBzZXQgZm9yIHRoaXMgYXNzb2NpYXRpb24tdHlwZSB0bwog ICBtYXJrIGEgcmFuZ2Ugb2YgYXNzb2NpYXRpb24gaWRlbnRpZmllcnMgdGhhdCBhcmUgdXNlZCBm b3Igb3BlcmF0b3ItCiAgIGNvbmZpZ3VyZWQgYXNzb2NpYXRpb25zIHRvIGF2b2lkIGFueSBhc3Nv Y2lhdGlvbiBpZGVudGlmaWVyIGNsYXNoCiAgIHdpdGhpbiB0aGUgc2NvcGUgb2YgdGhlIGFzc29j aWF0aW9uIHNvdXJjZS4gIChSZWZlciB0bwogICBbSS1ELmlldGYtcGNlLWFzc29jaWF0aW9uLWdy b3VwXS4pCgoKCgpMaXRrb3dza2ksIGV0IGFsLiAgICAgICBFeHBpcmVzIEZlYnJ1YXJ5IDEzLCAy MDIwICAgICAgICAgICAgICAgW1BhZ2UgN10KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAg IEFTU09DLURJU0pPSU5UICAgICAgICAgICAgICAgICAgQXVndXN0IDIwMTkKCgogICBBIGRpc2pv aW50IGdyb3VwIGNhbiBoYXZlIHR3byBvciBtb3JlIExTUHMsIGJ1dCBhIFBDRSBtYXkgYmUgbGlt aXRlZAogICBpbiB0aGUgbnVtYmVyIG9mIExTUHMgaXQgY2FuIHRha2UgaW50byBhY2NvdW50IHdo ZW4gY29tcHV0aW5nCiAgIGRpc2pvaW50bmVzcy4gIElmIGEgUENFIHJlY2VpdmVzIG1vcmUgTFNQ cyBpbiB0aGUgZ3JvdXAgdGhhbiBpdCBjYW4KICAgaGFuZGxlIGluIGl0cyBjb21wdXRhdGlvbiBh bGdvcml0aG0sIGl0IFNIT1VMRCBhcHBseSBkaXNqb2ludG5lc3MKICAgY29tcHV0YXRpb24gdG8g b25seSBhIHN1YnNldCBvZiBMU1BzIGluIHRoZSBncm91cC4gIFRoZSBzdWJzZXQgb2YKICAgZGlz am9pbnQgTFNQcyB3aWxsIGJlIGRlY2lkZWQgYnkgUENFIGFzIGEgbG9jYWwgcG9saWN5LiAgTG9j YWwKICAgcG9saWNlcyBNQVkgZGVmaW5lIHRoZSBjb21wdXRhdGlvbmFsIGJlaGF2aW9yIGZvciB0 aGUgb3RoZXIgTFNQcyBpbgogICB0aGUgZ3JvdXAuICBGb3IgZXhhbXBsZSwgdGhlIFBDRSBtYXkg cHJvdmlkZSBubyBwYXRoLCBhIHNob3J0ZXN0CiAgIHBhdGgsIG9yIGEgY29uc3RyYWluZWQgcGF0 aCBiYXNlZCBvbiByZWxheGluZyBkaXNqb2ludG5lc3MsIGV0Yy4gIFRoZQogICBkaXNqb2ludCBz dGF0dXMgaXMgaW5mb3JtZWQgdG8gdGhlIFBDQy4KCiAgIEFzc29jaWF0aW5nIGEgcGFydGljdWxh ciBMU1AgdG8gbXVsdGlwbGUgZGlzam9pbnQgZ3JvdXBzIGlzCiAgIGF1dGhvcml6ZWQgZnJvbSBh IHByb3RvY29sIHBlcnNwZWN0aXZlLCBob3dldmVyIHRoZXJlIGlzIG5vIGFzc3VyYW5jZQogICB0 aGF0IHRoZSBQQ0Ugd2lsbCBiZSBhYmxlIHRvIGNvbXB1dGUgcHJvcGVybHkgdGhlIG11bHRpLWRp c2pvaW50bmVzcwogICBjb25zdHJhaW50LgoKNS4yLiAgRGlzam9pbnQgVExWcwoKICAgVGhlIGRp c2pvaW50IGdyb3VwIE1VU1QgY2FycnkgdGhlIGZvbGxvd2luZyBUTFY6CgogICBvICBESVNKT0lO VE5FU1MtQ09ORklHVVJBVElPTi1UTFY6IFVzZWQgdG8gY29tbXVuaWNhdGUgc29tZQogICAgICBk aXNqb2ludG5lc3MgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLgoKICAgSW4gYWRkaXRpb24sIHRo ZSBkaXNqb2ludCBncm91cCBNQVkgY2FycnkgdGhlIGZvbGxvd2luZyBUTFY6CgogICBvICBESVNK T0lOVE5FU1MtU1RBVFVTLVRMVjogVXNlZCB0byBjb21tdW5pY2F0ZSB0aGUgc3RhdHVzIG9mIHRo ZQogICAgICBjb21wdXRlZCBkaXNqb2ludG5lc3MuICBUaGlzIGlzIGFwcGxpY2FibGUgZm9yIG1l c3NhZ2VzIGZyb20gUENFCiAgICAgIHRvIFBDQyAoUENVcGQsIFBDSW5pdGlhdGUgb3IgUENSZXAg bWVzc2FnZSkuCgogICBvICBWRU5ET1ItSU5GT1JNQVRJT04tVExWOiBVc2VkIHRvIGNvbW11bmlj YXRlIGFyYml0cmFyeSB2ZW5kb3ItCiAgICAgIHNwZWNpZmljIGJlaGF2aW9yYWwgaW5mb3JtYXRp b24sIGRlc2NyaWJlZCBpbiBbUkZDNzQ3MF0uCgogICBvICBPRi1MaXN0IFRMVjogVXNlZCB0byBj b21tdW5pY2F0ZSB0aGUgZGlzam9pbnRuZXNzIG9iamVjdGl2ZQogICAgICBmdW5jdGlvbi4gIFNl ZSBTZWN0aW9uIDUuNC4KCiAgIFRoZSBESVNKT0lOVE5FU1MtQ09ORklHVVJBVElPTi1UTFYgaXMg c2hvd24gaW4gdGhlIGZvbGxvd2luZyBmaWd1cmU6CgogICAgMCAgICAgICAgICAgICAgICAgICAx ICAgICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgMwogICAgMCAxIDIgMyA0IDUg NiA3IDggOSAwIDEgMiAzIDQgNSA2IDcgOCA5IDAgMSAyIDMgNCA1IDYgNyA4IDkgMCAxCiAgICst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rCiAgIHwgICAgICAgICBUeXBlID0gVEJEMiAgICAgICAgICAgfCAgICAgICAgICAgIExl bmd0aCAgICAgICAgICAgICB8CiAgICstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCiAgIHwgICAgICAgICAgICAgICAgIEZsYWdz ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxUfFB8U3xOfEx8CiAgICstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCgog ICBUeXBlOiBUQkQyLgoKICAgTGVuZ3RoOiBGaXhlZCB2YWx1ZSBvZiA0IGJ5dGVzLgoKCgpMaXRr b3dza2ksIGV0IGFsLiAgICAgICBFeHBpcmVzIEZlYnJ1YXJ5IDEzLCAyMDIwICAgICAgICAgICAg ICAgW1BhZ2UgOF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgIEFTU09DLURJU0pPSU5U ICAgICAgICAgICAgICAgICAgQXVndXN0IDIwMTkKCgogICAgICBGbGFnczoKCiAgICAgICogIEwg KExpbmsgZGl2ZXJzZSkgYml0OiB3aGVuIHNldCwgdGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUKICAg ICAgICAgY29tcHV0ZWQgcGF0aHMgd2l0aGluIHRoZSBkaXNqb2ludCBncm91cCBNVVNUIE5PVCBo YXZlIGFueSBsaW5rCiAgICAgICAgIGluIGNvbW1vbi4KCiAgICAgICogIE4gKE5vZGUgZGl2ZXJz ZSkgYml0OiB3aGVuIHNldCwgdGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUKICAgICAgICAgY29tcHV0 ZWQgcGF0aHMgd2l0aGluIHRoZSBkaXNqb2ludCBncm91cCBNVVNUIE5PVCBoYXZlIGFueSBub2Rl CiAgICAgICAgIGluIGNvbW1vbi4KCiAgICAgICogIFMgKFNSTEcgZGl2ZXJzZSkgYml0OiB3aGVu IHNldCwgdGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUKICAgICAgICAgY29tcHV0ZWQgcGF0aHMgd2l0 aGluIHRoZSBkaXNqb2ludCBncm91cCBNVVNUIE5PVCBzaGFyZSBhbnkKICAgICAgICAgU1JMRyAo U2hhcmVkIFJpc2sgTGluayBHcm91cCkuCgogICAgICAqICBQIChTaG9ydGVzdCBwYXRoKSBiaXQ6 IHdoZW4gc2V0LCB0aGlzIGluZGljYXRlcyB0aGF0IHRoZQogICAgICAgICBjb21wdXRlZCBwYXRo IG9mIHRoZSBMU1AgU0hPVUxEIHNhdGlzZnkgYWxsIHRoZSBjb25zdHJhaW50cyBhbmQKICAgICAg ICAgb2JqZWN0aXZlIGZ1bmN0aW9ucyBmaXJzdCB3aXRob3V0IGNvbnNpZGVyaW5nIHRoZSBkaXZl cnNpdHkKICAgICAgICAgY29uc3RyYWludC4gIFRoaXMgbWVhbnMgdGhhdCBhbiBMU1Agd2l0aCBQ IGZsYWcgc2V0IHNob3VsZCBiZQogICAgICAgICBwbGFjZWQgYXMgaWYgdGhlIGRpc2pvaW50bmVz cyBjb25zdHJhaW50IGhhcyBub3QgYmVlbgogICAgICAgICBjb25maWd1cmVkLCB3aGlsZSB0aGUg b3RoZXIgTFNQIGluIHRoZSBhc3NvY2lhdGlvbiB3aXRoIFAgZmxhZwogICAgICAgICB1bnNldCBz aG91bGQgYmUgcGxhY2VkIGJ5IHRha2luZyBpbnRvIGFjY291bnQgdGhlIGRpc2pvaW50bmVzcwog ICAgICAgICBjb25zdHJhaW50LiAgU2V0dGluZyBQIGZsYWcgY2hhbmdlcyB0aGUgcmVsYXRpb25z aGlwIGJldHdlZW4KICAgICAgICAgTFNQcyB0byBhIG9uZS1zaWRlZCByZWxhdGlvbnNoaXAgKExT UCAxIHdpdGggUD0wIGRlcGVuZHMgb2YgTFNQCiAgICAgICAgIDIgd2l0aCBQPTEsIGJ1dCBMU1Ag MiB3aXRoIFA9MSBkb2VzIG5vdCBkZXBlbmQgb2YgTFNQIDEgd2l0aAogICAgICAgICBQPTApLiAg TXVsdGlwbGUgTFNQcyBpbiB0aGUgc2FtZSBkaXNqb2ludCBncm91cCBtYXkgaGF2ZSB0aGUgUAog ICAgICAgICBmbGFnIHNldC4gIEluIHN1Y2ggYSBjYXNlLCB0aG9zZSBMU1BzIG1heSBub3QgYmUg ZGlzam9pbnQgZnJvbQogICAgICAgICBlYWNoIG90aGVyIGJ1dCB3aWxsIGJlIGRpc2pvaW50IGZy b20gb3RoZXJzIExTUHMgaW4gdGhlIGdyb3VwCiAgICAgICAgIHRoYXQgaGF2ZSB0aGUgUCBmbGFn IHVuc2V0LgoKICAgICAgKiAgVCAoU3RyaWN0IGRpc2pvaW50bmVzcykgYml0OiB3aGVuIHNldCwg aWYgZGlzam9pbnQgcGF0aHMgY2Fubm90CiAgICAgICAgIGJlIGZvdW5kLCBQQ0UgU0hPVUxEIHJl dHVybiBubyBwYXRoIGZvciBMU1BzIHRoYXQgY291bGQgbm90IGJlCiAgICAgICAgIGJlIGRpc2pv aW50LiAgV2hlbiB1bnNldCwgdGhlIFBDRSBpcyBhbGxvd2VkIHRvIHJlbGF4CiAgICAgICAgIGRp c2pvaW50bmVzcyBieSBlaXRoZXIgYXBwbHlpbmcgYSByZXF1ZXN0ZWQgb2JqZWN0aXZlIGZ1bmN0 aW9uCiAgICAgICAgIChjZi4gIFNlY3Rpb24gNS40IGJlbG93KSBvciB1c2luZyBhbnkgb3RoZXIg YmVoYXZpb3IgaWYgbm8KICAgICAgICAgb2JqZWN0aXZlIGZ1bmN0aW9uIGlzIHJlcXVlc3RlZCAo ZS5nLiB1c2luZyBhIGxvd2VyIGRpc2pvaW50CiAgICAgICAgIHR5cGUgKGxpbmsgaW5zdGVhZCBv ZiBub2RlKSBvciBmdWxseSByZWxheGluZyBkaXNqb2ludG5lc3MKICAgICAgICAgY29uc3RyYWlu dCkuICBGdXJ0aGVyIHNlZSBTZWN0aW9uIDUuNiBmb3IgZGV0YWlscy4KCiAgICAgICogIFVuYXNz aWduZWQgYml0cyBhcmUgY29uc2lkZXJlZCByZXNlcnZlZC4gIFRoZXkgTVVTVCBiZSBzZXQgdG8g MAogICAgICAgICBvbiB0cmFuc21pc3Npb24gYW5kIE1VU1QgYmUgaWdub3JlZCBvbiByZWNlaXB0 LgoKICAgSWYgYSBQQ0VQIHNwZWFrZXIgcmVjZWl2ZXMgYSBkaXNqb2ludC1ncm91cCB3aXRob3V0 IERJU0pPSU5UTkVTUy0KICAgQ09ORklHVVJBVElPTi1UTFYsIGl0IFNIT1VMRCByZXBseSB3aXRo IGEgUENFcnIgRXJyb3ItdHlwZT02CiAgIChNYW5kYXRvcnkgT2JqZWN0IG1pc3NpbmcpIGFuZCBF cnJvci12YWx1ZT1UQkQ4IChESVNKT0lOVE5FU1MtCiAgIENPTkZJR1VSQVRJT04tVExWIG1pc3Np bmcpLgoKICAgVGhlIERJU0pPSU5UTkVTUy1TVEFUVVMtVExWIHVzZXMgdGhlIHNhbWUgZm9ybWF0 IGFzIHRoZSBESVNKT0lOVE5FU1MtCiAgIENPTkZJR1VSQVRJT04tVExWIHdpdGggYSBkaWZmZXJl bnQgdHlwZSBUQkQzIChpbiB0aGUgVExWKS4gIFRoZSBMLCBOLAoKCgpMaXRrb3dza2ksIGV0IGFs LiAgICAgICBFeHBpcmVzIEZlYnJ1YXJ5IDEzLCAyMDIwICAgICAgICAgICAgICAgW1BhZ2UgOV0K DApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgIEFTU09DLURJU0pPSU5UICAgICAgICAgICAg ICAgICAgQXVndXN0IDIwMTkKCgogICBhbmQgUyBmbGFncyBhcmUgc2V0IGJhc2VkIGlmIHRoZSBj b21wdXRlZCBwYXRoIG1lZXQgdGhlIGRpc2pvaW50bmVzcwogICBjcml0ZXJpYS4gIFRoZSBQIGZs YWcgaXMgc2V0IHRvIGluZGljYXRlIHRoYXQgdGhlIGNvbXB1dGVkIHBhdGggaXMKICAgdGhlIHNo b3J0ZXN0IGFuZCB0aGUgVCBmbGFnIGhhcyBubyBtZWFuaW5nIGluIHRoZSBESVNKT0lOVE5FU1Mt CiAgIFNUQVRVUy1UTFYgYW5kIE1VU1QgTk9UIGJlIHNldCB3aGlsZSBzZW5kaW5nIGFuZCBpZ25v cmVkIG9uIHJlY2VpcHQuCgogICBBbnkgbmV3IGZsYWcgZGVmaW5lZCBmb3IgdGhlIERJU0pPSU5U TkVTUy1DT05GSUdVUkFUSU9OLVRMViBpcyBiZQogICBhdXRvbWF0aWNhbGx5IGFwcGxpY2FibGUg dG8gdGhlIERJU0pPSU5UTkVTUy1TVEFUVVMtVExWLgoKNS4zLiAgUmVsYXRpb25zaGlwIHRvIFNW RUMKCiAgIFtSRkM1NDQwXSBkZWZpbmVzIGEgbWVjaGFuaXNtIGZvciB0aGUgc3luY2hyb25pemF0 aW9uIG9mIGEgc2V0IG9mCiAgIHBhdGggY29tcHV0YXRpb24gcmVxdWVzdHMgYnkgdXNpbmcgdGhl IFNWRUMgb2JqZWN0LCB0aGF0IHNwZWNpZmllcwogICB0aGUgbGlzdCBvZiBzeW5jaHJvbml6ZWQg cmVxdWVzdHMgdGhhdCBjYW4gZWl0aGVyIGJlIGRlcGVuZGVudCBvcgogICBpbmRlcGVuZGVudC4g IFRoZSBTVkVDIG9iamVjdCBpZGVudGlmeSB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlCiAg IHNldCBvZiBwYXRoIGNvbXB1dGF0aW9uIHJlcXVlc3RzLCBpZGVudGlmaWVkIGJ5ICdSZXF1ZXN0 LUlELW51bWJlcicKICAgaW4gUlAgKFJlcXVlc3QgUGFyYW1ldGVycykgb2JqZWN0LiAgW1JGQzYw MDddIGZ1cnRoZXIgY2xhcmlmaWVkIHRoZQogICB1c2Ugb2YgdGhlIFNWRUMgbGlzdCBmb3Igc3lu Y2hyb25pemVkIHBhdGggY29tcHV0YXRpb25zIHdoZW4KICAgY29tcHV0aW5nIGRlcGVuZGVudCBy ZXF1ZXN0cyBhcyB3ZWxsIGFzIGRlc2NyaWJlZCBhIG51bWJlciBvZiB1c2FnZQogICBzY2VuYXJp b3MgZm9yIFNWRUMgbGlzdHMgd2l0aGluIHNpbmdsZS1kb21haW4gYW5kIG11bHRpLWRvbWFpbgog ICBlbnZpcm9ubWVudHMuCgogICBUaGUgU1ZFQyBvYmplY3QgaW5jbHVkZXMgYSBGbGFncyBmaWVs ZCB0aGF0IGluZGljYXRlcyB0aGUgcG90ZW50aWFsCiAgIGRlcGVuZGVuY3kgYmV0d2VlbiB0aGUg c2V0IG9mIHBhdGggY29tcHV0YXRpb24gcmVxdWVzdCBpbiBhIHNpbWlsYXIKICAgd2F5IGFzIHRo ZSBGbGFncyBmaWVsZCBpbiB0aGUgVExWcyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQuICBUaGUK ICAgcGF0aCBjb21wdXRhdGlvbiByZXF1ZXN0IGluIHRoZSBQQ1JlcSBtZXNzYWdlIE1BWSB1c2Ug Ym90aCB0aGUgU1ZFQwogICBhbmQgQVNTT0NJQVRJT04gb2JqZWN0cyB0byBpZGVudGlmeSB0aGUg cmVsYXRlZCBwYXRoIGNvbXB1dGF0aW9uCiAgIHJlcXVlc3QgYXMgd2VsbCBhcyB0aGUgZGl2ZXJz aXR5IGFzc29jaWF0aW9uIGdyb3VwLiAgVGhlIFBDRSBNVVNUIHRyeQogICB0byBmaW5kIGEgcGF0 aCB0aGF0IG1lZXRzIGJvdGggdGhlIGNvbnN0cmFpbnRzLiAgSXQgaXMgcG9zc2libGUgdGhhdAog ICB0aGUgZGl2ZXJzaXR5IHJlcXVpcmVtZW50IGluIHRoZSBhc3NvY2lhdGlvbiBncm91cCBpcyBk aWZmZXJlbnQgZnJvbQogICB0aGUgb25lIGluIHRoZSBTVkVDIG9iamVjdC4gIFRoZSBQQ0Ugd291 bGQgY29uc2lkZXIgYm90aCB0aGUgb2JqZWN0cwogICBhcyBwZXIgdGhlIHByb2Nlc3NpbmcgcnVs ZXMgYW5kIGFpbSB0byBmaW5kIGEgcGF0aCB0aGF0IG1lZXRzIGJvdGggb2YKICAgdGhlc2UgY29u c3RyYWludHMuICBJbiBjYXNlIG5vIHN1Y2ggcGF0aCBpcyBwb3NzaWJsZSAob3IgdGhlCiAgIGNv bnN0cmFpbnRzIGFyZSBpbmNvbXBhdGlibGUpLCB0aGUgUENFIE1VU1Qgc2VuZCBhIHBhdGggY29t cHV0YXRpb24KICAgcmVwbHkgKFBDUmVwKSB3aXRoIGEgTk8tUEFUSCBvYmplY3QgaW5kaWNhdGlu ZyBwYXRoIGNvbXB1dGF0aW9uCiAgIGZhaWx1cmUgYXMgcGVyIFtSRkM1NDQwXS4KCjUuNC4gIERp c2pvaW50bmVzcyBPYmplY3RpdmUgZnVuY3Rpb25zCgogICBBbiBvYmplY3RpdmUgZnVuY3Rpb24g KE9GKSBNQVkgYmUgYXBwbGllZCB0byB0aGUgZGlzam9pbnRuZXNzCiAgIGNvbXB1dGF0aW9uIHRv IGRyaXZlIHRoZSBQQ0UgY29tcHV0YXRpb24gYmVoYXZpb3IuICBJbiB0aGlzIGNhc2UsIHRoZQog ICBPRi1MaXN0IFRMViAoZGVmaW5lZCBpbiAoW1JGQzU1NDFdKSBpcyB1c2VkIGFzIGFuIG9wdGlv bmFsIFRMViBpbiB0aGUKICAgQXNzb2NpYXRpb24gR3JvdXAgT2JqZWN0LiAgV2hlcmVhcyB0aGUg UENFUCBPRi1MaXN0IFRMViBhbGxvd3MKICAgbXVsdGlwbGUgT0YtY29kZXMgaW5zaWRlIHRoZSBU TFYsIGEgc2VuZGVyIFNIT1VMRCBpbmNsdWRlIGEgc2luZ2xlCiAgIE9GLWNvZGUgaW4gdGhlIE9G LUxpc3QgVExWIHdoZW4gaW5jbHVkZWQgaW4gdGhlIEFzc29jaWF0aW9uIEdyb3VwLAogICBhbmQg dGhlIHJlY2VpdmVyIE1VU1QgY29uc2lkZXIgdGhlIGZpcnN0IE9GLWNvZGUgb25seSBhbmQgaWdu b3JlCiAgIG90aGVycyBpZiBpbmNsdWRlZC4KCgoKCgpMaXRrb3dza2ksIGV0IGFsLiAgICAgICBF eHBpcmVzIEZlYnJ1YXJ5IDEzLCAyMDIwICAgICAgICAgICAgICBbUGFnZSAxMF0KDApJbnRlcm5l dC1EcmFmdCAgICAgICAgICAgICAgIEFTU09DLURJU0pPSU5UICAgICAgICAgICAgICAgICAgQXVn dXN0IDIwMTkKCgogICBUbyBtaW5pbWl6ZSB0aGUgY29tbW9uIHNoYXJlZCByZXNvdXJjZXMgKE5v ZGUsIExpbmsgb3IgU1JMRykgYmV0d2VlbgogICBhIHNldCBvZiBwYXRocyBkdXJpbmcgcGF0aCBj b21wdXRhdGlvbiB0aHJlZSBuZXcgT0YtY29kZXMgYXJlCiAgIHByb3Bvc2VkOgoKICAgTVNMCgog ICAqIE5hbWU6ICBNaW5pbWl6ZSB0aGUgbnVtYmVyIG9mIHNoYXJlZCAoY29tbW9uKSBMaW5rcy4K CiAgICogT2JqZWN0aXZlIEZ1bmN0aW9uIENvZGU6ICBUQkQ0CgogICAqIERlc2NyaXB0aW9uOiAg RmluZCBhIHNldCBvZiBwYXRocyBzdWNoIHRoYXQgaXQgcGFzc2VzIHRocm91Z2ggdGhlCiAgICAg IGxlYXN0IG51bWJlciBvZiBzaGFyZWQgKGNvbW1vbikgbGlua3MuCgogICBNU1MKCiAgICogTmFt ZTogIE1pbmltaXplIHRoZSBudW1iZXIgb2Ygc2hhcmVkIChjb21tb24pIFNSTEdzLgoKICAgKiBP YmplY3RpdmUgRnVuY3Rpb24gQ29kZTogIFRCRDUKCiAgICogRGVzY3JpcHRpb246ICBGaW5kIGEg c2V0IG9mIHBhdGhzIHN1Y2ggdGhhdCBpdCBwYXNzZXMgdGhyb3VnaCB0aGUKICAgICAgbGVhc3Qg bnVtYmVyIG9mIHNoYXJlZCAoY29tbW9uKSBTUkxHcy4KCiAgIE1TTgoKICAgKiBOYW1lOiAgTWlu aW1pemUgdGhlIG51bWJlciBvZiBzaGFyZWQgKGNvbW1vbikgTm9kZXMuCgogICAqIE9iamVjdGl2 ZSBGdW5jdGlvbiBDb2RlOiAgVEJENgoKICAgKiBEZXNjcmlwdGlvbjogIEZpbmQgYSBzZXQgb2Yg cGF0aHMgc3VjaCB0aGF0IGl0IHBhc3NlcyB0aHJvdWdoIHRoZQogICAgICBsZWFzdCBudW1iZXIg b2Ygc2hhcmVkIChjb21tb24pIG5vZGVzLgoKICAgSWYgdGhlIE9GLWxpc3QgVExWIGlzIGluY2x1 ZGVkIGluIHRoZSBBc3NvY2lhdGlvbiBPYmplY3QsIHRoZSBPRi1jb2RlCiAgIGluc2lkZSB0aGUg T0YgT2JqZWN0IE1VU1QgaW5jbHVkZSBvbmUgb2YgdGhlIGRpc2pvaW50IE9GcyBkZWZpbmVkIGlu CiAgIHRoaXMgZG9jdW1lbnQuICBJZiB0aGlzIGNvbmRpdGlvbiBpcyBub3QgbWV0LCB0aGUgUENF UCBzcGVha2VyIE1VU1QKICAgcmVzcG9uZCB3aXRoIGEgUENFcnIgbWVzc2FnZSB3aXRoIEVycm9y LVR5cGU9MTAgKFJlY2VwdGlvbiBvZiBhbgogICBpbnZhbGlkIG9iamVjdCkgYW5kIEVycm9yLVZh bHVlPVRCRDkgKEluY29tcGF0aWJsZSBPRiBjb2RlKS4KCiAgIFtSRkM1NDQwXSB1c2VzIFNWRUMg ZGl2ZXJzaXR5IGZsYWcgZm9yIG5vZGUsIGxpbmsgb3IgU1JMRyB0byBkZXNjcmliZQogICB0aGUg cG90ZW50aWFsIGRpc2pvaW50bmVzcyBiZXR3ZWVuIHRoZSBzZXQgb2YgcGF0aCBjb21wdXRhdGlv bgogICByZXF1ZXN0cyB1c2VkIGluIFBDRVAgcHJvdG9jb2wuCgogICBUaGlzIGRvY3VtZW50IGRl ZmluZXMgdGhyZWUgbmV3IE9GLWNvZGVzIHRvIG1heGltaXplIGRpdmVyc2l0eSBhcwogICBtdWNo IGFzIHBvc3NpYmxlLCBpbiBvdGhlciB3b3JkcywgbWluaW1pemUgdGhlIGNvbW1vbiBzaGFyZWQK ICAgcmVzb3VyY2VzIChOb2RlLCBMaW5rIG9yIFNSTEcpIGJldHdlZW4gYSBzZXQgb2YgcGF0aHMu CgogICBJdCBtYXkgYmUgaW50ZXJlc3RpbmcgdG8gbm90ZSB0aGF0IHRoZSBkaXZlcnNpdHkgZmxh Z3MgaW4gdGhlIFNWRUMKICAgb2JqZWN0IGFuZCBPRiBmb3IgZGl2ZXJzaXR5IGNhbiBiZSB1c2Vk IHRvZ2V0aGVyLiAgU29tZSBleGFtcGxlcyBvZgogICB1c2FnZSBhcmUgbGlzdGVkIGJlbG93OgoK CgpMaXRrb3dza2ksIGV0IGFsLiAgICAgICBFeHBpcmVzIEZlYnJ1YXJ5IDEzLCAyMDIwICAgICAg ICAgICAgICBbUGFnZSAxMV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgIEFTU09DLURJ U0pPSU5UICAgICAgICAgICAgICAgICAgQXVndXN0IDIwMTkKCgogICBvICBTVkVDIG9iamVjdCB3 aXRoIG5vZGUtZGl2ZXJzZSBiaXQ9MSAtIGVuc3VyZSBmdWxsIG5vZGUtZGl2ZXJzaXR5LgoKICAg byAgU1ZFQyBvYmplY3Qgd2l0aCBub2RlLWRpdmVyc2UgYml0PTEgYW5kIE9GPU1TUyAtIGZ1bGwg bm9kZSBkaXZlcnNlCiAgICAgIHdpdGggYXMgbXVjaCBhcyBTUkxHLWRpdmVyc2l0eSBhcyBwb3Nz aWJsZS4KCiAgIG8gIFNWRUMgb2JqZWN0IHdpdGggZG9tYWluLWRpdmVyc2UgYml0PTE7bGluayBk aXZlcnNlIGJpdD0xIGFuZAogICAgICBPRj1NU1MgLSBmdWxsIGRvbWFpbiBhbmQgbm9kZSBkaXZl cnNlIHBhdGggd2l0aCBhcyBtdWNoIGFzIFNSTEctCiAgICAgIGRpdmVyc2l0eSBhcyBwb3NzaWJs ZS4KCiAgIG8gIFNWRUMgb2JqZWN0IHdpdGggbm9kZS1kaXZlcnNlIGJpdD0xIGFuZCBPRj1NU04g LSBlbnN1cmUgZnVsbCBub2RlLQogICAgICBkaXZlcnNpdHkuCgogICBJbiB0aGUgbGFzdCBleGFt cGxlIGFib3ZlLCBpdCBpcyBpbnRlcmVzdGluZyB0byBub3RlIHRoYXQgIk9GIgogICBiZWNvbWVz IHJlZHVuZGFudCBhcyAiU1ZFQyBvYmplY3QiIGVuc3VyZXMgZnVsbCBub2RlLWRpdmVyc2l0eSwK ICAgaG93ZXZlciB0aGlzIHNwZWNpZmljYXRpb24gZG9lcyBub3QgcHJvaGliaXQgcmVkdW5kYW50 IGNvbnN0cmFpbnRzCiAgIHdoaWxlIHVzaW5nICJTVkVDIG9iamVjdCIgYW5kICJPRiIgdG9nZXRo ZXIgZm9yIGRpdmVyc2l0eS4KCjUuNS4gIFAgRmxhZyBDb25zaWRlcmF0aW9ucwoKICAgQXMgbWVu dGlvbmVkIGluIFNlY3Rpb24gNS4yLCB0aGUgUCBmbGFnICh3aGVuIHNldCkgaW5kaWNhdGVzIHRo YXQgdGhlCiAgIGNvbXB1dGVkIHBhdGggb2YgdGhlIExTUCBTSE9VTEQgc2F0aXNmaWVzIGFsbCBj b25zdHJhaW50cyBhbmQKICAgb2JqZWN0aXZlIGZ1bmN0aW9ucyBmaXJzdCB3aXRob3V0IGNvbnNp ZGVyaW5nIHRoZSBkaXZlcnNpdHkKICAgY29uc3RyYWludC4gIFRoaXMgY291bGQgYmUgcmVxdWly ZWQgaW4gc29tZSBwcmltYXJ5L2JhY2t1cCBzY2VuYXJpb3MKICAgd2hlcmUgdGhlIHByaW1hcnkg cGF0aCBzaG91bGQgdXNlIHRoZSBtb3JlIG9wdGltYWwgcGF0aCBhdmFpbGFibGUKICAgKHRha2lu ZyBpbnRvIGFjY291bnQgdGhlIG90aGVyIGNvbnN0cmFpbnRzKS4gIFdoZW4gZGlzam9pbnRuZXNz IGlzCiAgIGNvbXB1dGVkLCBpdCBpcyBpbXBvcnRhbnQgZm9yIHRoZSBhbGdvcml0aG0gdG8ga25v dyB0aGF0IGl0IHNob3VsZAogICB0cnkgdG8gb3B0aW1pemUgdGhlIHBhdGggb2Ygb25lIG9yIG1v cmUgTFNQcyBpbiB0aGUgZGlzam9pbnQgZ3JvdXAKICAgKGZvciBpbnN0YW5jZSB0aGUgcHJpbWFy eSBwYXRoKSB3aGlsZSBvdGhlciBwYXRocyBhcmUgYWxsb3dlZCB0byBiZQogICBjb3N0bGllciAo Y29tcGFyZWQgdG8gYSBzaW1pbGFyIHBhdGggd2l0aG91dCB0aGUgZGlzam9pbnRuZXNzCiAgIGNv bnN0cmFpbnQpLiAgV2l0aG91dCBzdWNoIGEgaGludCwgdGhlIGRpc2pvaW50bmVzcyBhbGdvcml0 aG0gbWF5IHNldAogICBhIHBhdGggZm9yIGFsbCBMU1BzIHRoYXQgbWF5IG5vdCBjb21wbGV0ZWx5 IGZ1bGZpbGwgdGhlIGN1c3RvbWVyJ3MKICAgcmVxdWlyZW1lbnQuCgoKCgoKCgoKCgoKCgoKCgoK CgpMaXRrb3dza2ksIGV0IGFsLiAgICAgICBFeHBpcmVzIEZlYnJ1YXJ5IDEzLCAyMDIwICAgICAg ICAgICAgICBbUGFnZSAxMl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgIEFTU09DLURJ U0pPSU5UICAgICAgICAgICAgICAgICAgQXVndXN0IDIwMTkKCgogICAgICAgICAgICBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogICAgICAgICAgIC8gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgIC8gICAgICAgICstLS0t LS0rICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICB8ICAgICAgICAgfCBQQ0Ug IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgICB8ICAgICAgICAgKy0tLS0t LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgICB8ICstLS0tLS0rICAgICAg ICAgICAxMCAgICAgICAgICAgICArLS0tLS0tKyAgfAogICBDRTEgKioqKnwgUEUgMSB8IC0tLS0t IFIxIC0tLS0gUjIgLS0tLS0tLSB8IFBFIDIgfCoqKiogQ0UyCiAgICAgICAgIHwgKy0tLS0tLSsg ICAgICAgfCAgICAgICAgfCAgICAgICAgICstLS0tLS0rICB8CiAgICAgICAgIHwgICAgICAgICAg ICAgICAgfCAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8CiAgICAgICAgIHwgICAgICAgICAg ICAgICAgfCAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8CiAgICAgICAgIHwgKy0tLS0tLSsg ICAgICAgfCAgICAgICAgfCAgICAgICAgICstLS0tLS0rICB8CiAgIENFMyAqKioqfCBQRSAzIHwg LS0tLS0gUjMgLS0tLSBSNCAtLS0tLS0tIHwgUEUgNCB8KioqKiBDRTQKICAgICAgICAgfCArLS0t LS0tKyBcICAgICB8ICAgICAgICAgICAgICAgLyAgKy0tLS0tLSsgIHwKICAgICAgICAgfCAgICAg ICAgICAgXCAgICB8ICAgICAxMCAgICAgICAvICAgICAgICAgICAgIHwKICAgICAgICAgIFwgICAg ICAgICAgICstLSBSNSAtLS0tLS0tLS0gUjYgICAgICAgICAgICAgLwogICAgICAgICAgIFxfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXy8KCiAgIENvc3Qgb2YgYWxsIHRo ZSBsaW5rcyBpcyAxLCB1bmxlc3MgZXhwbGljaXRseSBtYXJrZWQgb3RoZXJ3aXNlLgoKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlndXJlIDMKCiAgIEluIHRoZSBmaWd1cmUgYWJv dmUsIGEgY3VzdG9tZXIgaGFzIHR3byBkdWFsIGhvbWVkIHNpdGVzIChDRTEvQ0UzIGFuZAogICBD RTIvQ0U0KS4gIExldCB1cyBjb25zaWRlciB0aGF0IHRoaXMgY3VzdG9tZXIgd2FudHMgdHdvIGRp c2pvaW50CiAgIHBhdGhzIGJldHdlZW4gdGhlIHR3byBzaXRlcy4gIER1ZSB0byBwaHlzaWNhbCBt ZXNoaW5nLCB0aGUgY3VzdG9tZXIKICAgd2FudHMgdG8gdXNlIENFMSBhbmQgQ0UyIGFzIHByaW1h cnkgKGFuZCBDRTMgYW5kIENFNCBhcmUgaG9zdGVkIGluIGEKICAgcmVtb3RlIHNpdGUgZm9yIHJl ZHVuZGFuY3kgcHVycG9zZSkuCgogICBXaXRob3V0IGFueSBoaW50IChjb25zdHJhaW50KSBwcm92 aWRlZCwgdGhlIFBDRSBtYXkgY29tcHV0ZSB0aGUgdHdvCiAgIGRpc2pvaW50IExTUHMgdG9nZXRo ZXIsIGxlYWRpbmcgdG8gUEUxLT5QRTIgdXNpbmcgYSBwYXRoCiAgIFBFMS0+UjEtPlIyLT5QRTIg YW5kIFBFMy0+UEU0IHVzaW5nIFBFMy0+UjMtPlI0LT5QRTQuICBJbiB0aGlzIGNhc2UsCiAgIGV2 ZW4gaWYgdGhlIGRpc2pvaW50bmVzcyBjb25zdHJhaW50IGlzIGZ1bGZpbGxlZCwgdGhlIHBhdGgg ZnJvbSBQRTEKICAgdG8gUEUyIGRvZXMgbm90IHVzZSB0aGUgYmVzdCBvcHRpbWFsIHBhdGggYXZh aWxhYmxlIGluIHRoZSBuZXR3b3JrCiAgIChwYXRoIGRlbGF5IG1heSBiZSBoaWdoZXIpOiB0aGUg Y3VzdG9tZXIgcmVxdWlyZW1lbnQgaXMgdGh1cyBub3QKICAgY29tcGxldGVseSBmdWxmaWxsZWQu CgogICBUaGUgdXNhZ2Ugb2YgdGhlIFAgZmxhZyBhbGxvd3MgdGhlIFBDRSB0byBrbm93IHRoYXQg YSBwYXJ0aWN1bGFyIExTUAogICBzaG91bGQgYmUgdGllZCB0byB0aGUgYmVzdCBwYXRoIGFzIGlm IHRoZSBkaXNqb2ludG5lc3MgY29uc3RyYWludCB3YXMKICAgbm90IHJlcXVlc3RlZC4KCiAgIElu IG91ciBleGFtcGxlLCBpZiB0aGUgUCBmbGFnIGlzIHNldCB0byB0aGUgTFNQIFBFMS0+UEUyLCB0 aGUgUENFCiAgIHNob3VsZCB1c2UgdGhlIHBhdGggUEUxLT5SMS0+UjMtPlI0LT5SMi0+UEUyIGZv ciB0aGlzIExTUCwgd2hpbGUgdGhlCiAgIG90aGVyIExTUCBzaG91bGQgYmUgZGlzam9pbnQgZnJv bSB0aGlzIHBhdGguICBUaGUgc2Vjb25kIExTUCB3aWxsIGJlCiAgIHBsYWNlZCBvbiBQRTMtPlI1 LT5SNi0+UEU0IGFzIGl0IGlzIGFsbG93ZWQgdG8gYmUgY29zdGxpZXIuCgoKCgoKCkxpdGtvd3Nr aSwgZXQgYWwuICAgICAgIEV4cGlyZXMgRmVicnVhcnkgMTMsIDIwMjAgICAgICAgICAgICAgIFtQ YWdlIDEzXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgQVNTT0MtRElTSk9JTlQgICAg ICAgICAgICAgICAgICBBdWd1c3QgMjAxOQoKCiAgIERyaXZpbmcgdGhlIFBDRSBkaXNqb2ludG5l c3MgY29tcHV0YXRpb24gbWF5IGJlIGRvbmUgaW4gb3RoZXIgd2F5cywKICAgZm9yIGluc3RhbmNl IHNldHRpbmcgYSBtZXRyaWMgYm91bmRhcnkgcmVmbGVjdGluZyBhbiBwYXRoIGRlbGF5CiAgIGJv dW5kYXJ5LiAgT3RoZXIgY29uc3RyYWludHMgbWF5IGFsc28gYmUgdXNlZC4KCiAgIFRoZSBQIGZs YWcgYWxsb3dzIHRvIHNpbXBseSBleHByZXNzIHRoYXQgdGhlIGRpc2pvaW50bmVzcyBjb25zdHJh aW50CiAgIHNob3VsZCBub3QgbWFrZSB0aGUgTFNQIHdvcnN0LgoKICAgQW55IGNvbnN0cmFpbnQg YWRkZWQgdG8gYSBwYXRoIGRpc2pvaW50bmVzcyBjb21wdXRhdGlvbiBtYXkgcmVkdWNlCiAgIHRo ZSBjaGFuY2UgdG8gZmluZCBzdWl0YWJsZSBwYXRocy4gIFRoZSB1c2FnZSBvZiB0aGUgUCBmbGFn LCBhcyBhbnkKICAgb3RoZXIgY29uc3RyYWludCwgbWF5IHByZXZlbnQgdG8gZmluZCBhIGRpc2pv aW50IHBhdGguICBJbiB0aGUKICAgZXhhbXBsZSBhYm92ZSwgaWYgd2UgY29uc2lkZXIgdGhhdCB0 aGUgcm91dGVyIFI1IGlzIGRvd24sIGlmIFBFMS0+UEUyCiAgIGhhcyB0aGUgUCBmbGFnIHNldCwg dGhlcmUgaXMgbm8gcm9vbSBhdmFpbGFibGUgdG8gcGxhY2UgUEUzLT5QRTQgKHRoZQogICBkaXNq b2ludG5lc3MgY29uc3RyYWludCBjYW5ub3QgYmUgZnVsZmlsbGVkKS4gIElmIFBFMS0+UEUyIGhh cyB0aGUgUAogICBmbGFnIHVuc2V0LCB0aGUgYWxnb3JpdGhtIG1heSBiZSBhYmxlIHRvIHBsYWNl IFBFMS0+UEUyIG9uIFIxLT5SMgogICBsaW5rIGxlYXZpbmcgYSByb29tIGZvciBQRTMtPlBFNCB1 c2luZyB0aGUgUjMtPlI0IGxpbmsuICBXaGVuIHVzaW5nIFAKICAgZmxhZyBvciBhbnkgYWRkaXRp b25hbCBjb25zdHJhaW50IG9uIHRvcCBvZiB0aGUgZGlzam9pbnRuZXNzCiAgIGNvbnN0cmFpbnQs IHRoZSB1c2VyIHNob3VsZCBiZSBhd2FyZSB0aGF0IHRoZXJlIGlzIGxlc3MgY2hhbmNlIHRvCiAg IGZ1bGZpbGwgdGhlIGRpc2pvaW50bmVzcyBjb25zdHJhaW50LgoKICAgICAgICAgICAgX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KICAgICAgICAgICAvICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAvICAgICAgICArLS0t LS0tKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgfCAgICAgICAgIHwgUENF ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgfCAgICAgICAgICstLS0t LS0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgfCArLS0tLS0tKyAgICAg ICAgICAgMTAgICAgICAgICAgICAgKy0tLS0tLSsgIHwKICAgQ0UxICoqKip8IFBFIDEgfCAtLS0t LSBSMSAtLS0tIFIyIC0tLS0tLS0gfCBQRSAyIHwqKioqIENFMgogICAgICAgICB8ICstLS0tLS0r ICAgICAgIHwgIFwgICAgIHwgICAgICAgICArLS0tLS0tKyAgfAogICAgICAgICB8ICAgICAgICAg ICAgICAgIHwgICBcMiAgIHwgICAgICAgICAgICAgICAgICAgfAogICAgICAgICB8ICAgICAgICAg ICAgICAgIHwgICAgXCAgIHwgICAgICAgICAgICAgICAgICAgfAogICAgICAgICB8ICstLS0tLS0r ICAgICAgIHwgICAgIFwgIHwgICAgICAgICArLS0tLS0tKyAgfAogICBDRTMgKioqKnwgUEUgMyB8 IC0tLS0tIFIzIC0tLS0gUjQgLS0tLS0tLSB8IFBFIDQgfCoqKiogQ0U0CiAgICAgICAgIHwgKy0t LS0tLSsgICAgICAgICAgICAgICAgICAgICAgICAgICstLS0tLS0rICB8CiAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICAgICBcICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8KICAgICAgICAgICBcX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18vCgogICBDb3N0IG9mIGFsbCB0 aGUgbGlua3MgaXMgMSwgdW5sZXNzIGV4cGxpY2l0bHkgbWFya2VkIG90aGVyd2lzZS4KCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpZ3VyZSA0CgogICBJbiB0aGUgZmlndXJlIGFi b3ZlLCB3ZSBzdGlsbCBjb25zaWRlciB0aGUgc2FtZSBwcmV2aW91cwogICByZXF1aXJlbWVudHMs IHNvIFBFMS0+UEUyIExTUCBzaG91bGQgYmUgb3B0aW1pemVkIChQIGZsYWcgc2V0KSB3aGlsZQog ICBQRTMtPlBFNCBzaG91bGQgYmUgZGlzam9pbnQgYW5kIG1heSB1c2UgYSBjb3N0bGllciBwYXRo LgoKICAgUmVnYXJkaW5nIFBFMS0+UEUyLCB0aGVyZSBhcmUgdHdvIHBhdGhzIHRoYXQgYXJlIHNh dGlzZnlpbmcgdGhlCiAgIGNvbnN0cmFpbnRzIChFQ01QKTogUEUxLT5SMS0+UjQtPlIyLT5QRTIg KHBhdGggMSkgYW5kCgoKCkxpdGtvd3NraSwgZXQgYWwuICAgICAgIEV4cGlyZXMgRmVicnVhcnkg MTMsIDIwMjAgICAgICAgICAgICAgIFtQYWdlIDE0XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAg ICAgICAgQVNTT0MtRElTSk9JTlQgICAgICAgICAgICAgICAgICBBdWd1c3QgMjAxOQoKCiAgIFBF MS0+UjEtPlIzLT5SNC0+UjItPlBFMiAocGF0aCAyKS4gIEFuIGltcGxlbWVudGF0aW9uIG1heSBj aG9vc2Ugb25lCiAgIG9mIHRoZSBwYXRocy4KCiAgIElmIHRoZSBpbXBsZW1lbnRhdGlvbiBlbGVj dHMgb25seSBvbmUgcGF0aCwgdGhlcmUgaXMgYSBjaGFuY2UgdGhhdAogICBwaWNraW5nIHVwIG9u ZSBwYXRoIG1heSBwcmV2ZW50IGRpc2pvaW50bmVzcy4gIEluIG91ciBleGFtcGxlLCBpZgogICBw YXRoIDIgaXMgdXNlZCBmb3IgUEUxLT5QRTIsIHRoZXJlIGlzIG5vIHJvb20gbGVmdCBmb3IgUEUz LT5QRTQgd2hpbGUKICAgaWYgcGF0aCAxIGlzIHVzZWQsIFBFMy0+UEU0IGNhbiBiZSBwbGFjZWQg b24gUjMtPlI0IGxpbmsuCgogICBXaGVuIFAgZmxhZyBpcyBzZXQgZm9yIGFuIExTUCBhbmQgd2hl biBFQ01QcyBhcmUgYXZhaWxhYmxlLCBhbgogICBpbXBsZW1lbnRhdGlvbiBzaG91bGQgYWltIHRv IHNlbGVjdCBhIHBhdGggdGhhdCBhbGxvd3MgZGlzam9pbnRuZXNzLgoKNS42LiAgRGlzam9pbnRu ZXNzIENvbXB1dGF0aW9uIElzc3VlcwoKICAgVGhlcmUgbWF5IGJlIHNvbWUgY2FzZXMgd2hlcmUg dGhlIFBDRSBpcyBub3QgYWJsZSB0byBwcm92aWRlIGEgc2V0IG9mCiAgIGRpc2pvaW50IHBhdGhz IGZvciBvbmUgb3IgbW9yZSBMU1BzIGluIHRoZSBhc3NvY2lhdGlvbi4KCiAgIFdoZW4gdGhlIFQg ZmxhZyBpcyBzZXQgKFN0cmljdCBkaXNqb2ludG5lc3MgcmVxdWVzdGVkKSwgaWYKICAgZGlzam9p bnRuZXNzIGNhbm5vdCBiZSBlbnN1cmVkIGZvciBvbmUgb3IgbW9yZSBMU1BzLCB0aGUgUENFIE1V U1QKICAgcmVwbHkgdG8gYSBQYXRoIENvbXB1dGF0aW9uIFJlcXVlc3QgKFBDUmVxKSB3aXRoIGEg UGF0aCBDb21wdXRhdGlvbgogICBSZXBseSAoUENSZXApIG1lc3NhZ2UgY29udGFpbmluZyBhIE5P LVBBVEggb2JqZWN0LiAgSW4gY2FzZSBvZiBvdGhlcgogICBQQ0VQIG1lc3NhZ2UsIHRoZSBQQ0Ug TVVTVCByZXR1cm4gYSBQQ0VyciBtZXNzYWdlIHdpdGggRXJyb3ItVHlwZSAyNgogICAiQXNzb2Np YXRpb24gRXJyb3IiIGFuZCBFcnJvci1WYWx1ZSA3ICJDYW5ub3Qgam9pbiB0aGUgYXNzb2NpYXRp b24KICAgZ3JvdXAiLiAgQWxzbywgaW4gY2FzZSBvZiBuZXR3b3JrIGV2ZW50IGxlYWRpbmcgdG8g YW4gaW1wb3NzaWJsZQogICBzdHJpY3QgZGlzam9pbnRuZXNzLCB0aGUgUENFIE1VU1Qgc2VuZCBh IFBDVXBkIG1lc3NhZ2UgY29udGFpbmluZyBhbgogICBlbXB0eSBFUk8gdG8gdGhlIGNvcnJlc3Bv bmRpbmcgUENDcy4gIEluIGFkZGl0aW9uIHRvIHRoZSBlbXB0eSBFUk8KICAgT2JqZWN0LCB0aGUg UENFIE1BWSBhZGQgdGhlIE5PLVBBVEgtVkVDVE9SIFRMViAoW1JGQzU0NDBdKSBpbiB0aGUgTFNQ CiAgIE9iamVjdC4KCiAgIFRoaXMgZG9jdW1lbnQgYWRkcyBuZXcgYml0cyBpbiB0aGUgTk8tUEFU SC1WRUNUT1IgVExWOgoKICAgICAgYml0ICJUQkQ3Ijogd2hlbiBzZXQsIHRoZSBQQ0UgaW5kaWNh dGVzIHRoYXQgaXQgY291bGQgbm90IGZpbmQgYQogICAgICBkaXNqb2ludCBwYXRoIGZvciB0aGlz IExTUC4KCiAgICAgIGJpdCAiVEJEOCI6IHdoZW4gc2V0LCB0aGUgUENFIGluZGljYXRlcyB0aGF0 IGl0IGRvZXMgbm90IHN1cHBvcnQKICAgICAgdGhlIHJlcXVlc3RlZCBkaXNqb2ludG5lc3MgY29t cHV0YXRpb24uCgogICBXaGVuIHRoZSBUIGZsYWcgaXMgdW5zZXQsIHRoZSBQQ0UgaXMgYWxsb3dl ZCB0byByZWxheCBkaXNqb2ludG5lc3MgYnkKICAgZWl0aGVyIGFwcGx5aW5nIGEgcmVxdWVzdGVk IG9iamVjdGl2ZSBmdW5jdGlvbiAoU2VjdGlvbiA1LjQpIGlmCiAgIHNwZWNpZmllZC4gIE90aGVy d2lzZSB0aGUgUENFIGlzIGFsbG93ZWQgdG8gcmVkdWNlIHRoZSByZXF1aXJlZCBsZXZlbAogICBv ZiBkaXNqb2ludG5lc3MgKGFzIGl0IGRlZW1zIGZpdCkuICBUaGUgYWN0dWFsIGxldmVsIG9mIGRp c2pvaW50bmVzcwogICBjb21wdXRlZCBieSB0aGUgUENFIGNhbiBiZSByZXBvcnRlZCB0aHJvdWdo IHRoZSBESVNKT0lOVE5FU1MtU1RBVFVTLQogICBUTFYgYnkgc2V0dGluZyB0aGUgYXBwcm9wcmlh dGUgZmxhZ3MgaW4gdGhlIFRMVi4gIFdoaWxlIHRoZQogICBESVNKT0lOVE5FU1MtQ09ORklHVVJB VElPTi1UTFYgZGVmaW5lcyB0aGUgZXhwZWN0ZWQgbGV2ZWwgb2YKICAgZGlzam9pbnRuZXNzIHJl cXVpcmVkIGJ5IGNvbmZpZ3VyYXRpb24sIHRoZSBESVNKT0lOVE5FU1MtU1RBVFVTLVRMVgogICBk ZWZpbmVzIHRoZSBhY3R1YWwgbGV2ZWwgb2YgZGlzam9pbnRuZXNzIGNvbXB1dGVkLgoKICAgVGhl cmUgYXJlIHNvbWUgY2FzZXMgd2hlcmUgdGhlIFBDRSBtYXkgbmVlZCB0byBjb21wbGV0ZWx5IHJl bGF4IHRoZQogICBkaXNqb2ludG5lc3MgY29uc3RyYWludCBpbiBvcmRlciB0byBwcm92aWRlIGEg cGF0aCB0byBhbGwgdGhlIExTUHMKCgoKTGl0a293c2tpLCBldCBhbC4gICAgICAgRXhwaXJlcyBG ZWJydWFyeSAxMywgMjAyMCAgICAgICAgICAgICAgW1BhZ2UgMTVdCgwKSW50ZXJuZXQtRHJhZnQg ICAgICAgICAgICAgICBBU1NPQy1ESVNKT0lOVCAgICAgICAgICAgICAgICAgIEF1Z3VzdCAyMDE5 CgoKICAgdGhhdCBhcmUgcGFydCBvZiB0aGUgYXNzb2NpYXRpb24uICBBIG1lY2hhbmlzbSB0aGF0 IGFsbG93cyB0aGUgUENFIHRvCiAgIGZ1bGx5IHJlbGF4IGEgY29uc3RyYWludCBpcyBjb25zaWRl cmVkIGJ5IHRoZSBhdXRob3JzIGFzIG1vcmUgZ2xvYmFsCiAgIHRvIFBDRVAgcmF0aGVyIHRoYW4g bGlua2VkIHRvIHRoZSBkaXNqb2ludG5lc3MgdXNlIGNhc2UuICBBcyBhCiAgIGNvbnNlcXVlbmNl LCBpdCBpcyBjb25zaWRlcmVkIGFzIG91dCBvZiBzY29wZSBvZiB0aGUgZG9jdW1lbnQuCgogICBB bGwgTFNQcyBpbiBhIHBhcnRpY3VsYXIgZGlzam9pbnQgZ3JvdXAgTVVTVCB1c2UgdGhlIHNhbWUg Y29tYmluYXRpb24KICAgb2YgVCwgUywgTiwgTCBmbGFncyBpbiB0aGUgRElTSk9JTlRORVNTLUNP TkZJR1VSQVRJT04tVExWLiAgSWYgYSBQQ0VQCiAgIHBlZXIgcmVjZWl2ZXMgYSBQQ0VQIG1lc3Nh Z2VzIGZvciBMU1BzIGJlbG9uZ2luZyB0byB0aGUgc2FtZSBkaXNqb2ludAogICBncm91cCBidXQg aGF2aW5nIGFuIGluY29uc2lzdGVudCBjb21iaW5hdGlvbiBvZiBULCBTLCBOLCBMIGZsYWdzLCB0 aGUKICAgUENFUCBwZWVyIFNIT1VMRCBOT1QgdHJ5IHRvIGFkZCB0aGUgTFNQcyBpbiBkaXNqb2lu dCBncm91cCBhbmQgU0hPVUxECiAgIHJlcGx5IHdpdGggYSBQQ0VyciB3aXRoIEVycm9yLXR5cGUg MjYgKEFzc29jaWF0aW9uIEVycm9yKSBhbmQgRXJyb3ItCiAgIFZhbHVlIDYgKEFzc29jaWF0aW9u IGluZm9ybWF0aW9uIG1pc21hdGNoKS4KCjYuICBTZWN1cml0eSBDb25zaWRlcmF0aW9ucwoKICAg VGhpcyBkb2N1bWVudCBkZWZpbmVzIG9uZSBuZXcgdHlwZSBmb3IgYXNzb2NpYXRpb24sIHdoaWNo IG9uIGl0c2VsZgogICBkb2VzIG5vdCBhZGQgYW55IG5ldyBzZWN1cml0eSBjb25jZXJucyBiZXlv bmQgdGhvc2UgZGlzY3Vzc2VkIGluCiAgIFtSRkM1NDQwXSwgW1JGQzgyMzFdIGFuZCBbSS1ELmll dGYtcGNlLWFzc29jaWF0aW9uLWdyb3VwXS4gIEJ1dCwKICAgYWRkaW5nIG9mIGEgc3B1cmlvdXMg TFNQIGludG8gdGhlIGRpc2pvaW50bmVzcyBhc3NvY2lhdGlvbiBncm91cAogICBjb3VsZCBsZWFk IHRvIHJlLWNvbXB1dGF0aW9uIGFuZCBzZXQtdXAgb2YgYWxsIExTUHMgaW4gdGhlIGdyb3VwLAog ICB0aGF0IGNvdWxkIGJlIHVzZWQgdG8gb3ZlcndoZWxtIHRoZSBQQ0UgYW5kIHRoZSBuZXR3b3Jr LgoKICAgQWxzbywgYXMgc3RhdGVkIGluIFtJLUQuaWV0Zi1wY2UtYXNzb2NpYXRpb24tZ3JvdXBd LCBtdWNoIG9mIHRoZQogICBpbmZvcm1hdGlvbiBjYXJyaWVkIGluIHRoZSBEaXNqb2ludG5lc3Mg QXNzb2NpYXRpb24gb2JqZWN0LCBhcyBwZXIKICAgdGhpcyBkb2N1bWVudCBpcyBub3QgZXh0cmEg c2Vuc2l0aXZlLiAgSXQgb2Z0ZW4gcmVmbGVjdHMgaW5mb3JtYXRpb24KICAgdGhhdCBjYW4gYWxz byBiZSBkZXJpdmVkIGZyb20gdGhlIExTUCBEYXRhYmFzZSwgYnV0IGFzc29jaWF0aW9uCiAgIHBy b3ZpZGVzIGEgbXVjaCBlYXNpZXIgZ3JvdXBpbmcgb2YgcmVsYXRlZCBMU1BzIGFuZCBtZXNzYWdl cy4gIFRoZQogICBkaXNqb2ludG5lc3MgYXNzb2NpYXRpb24gY291bGQgcHJvdmlkZSBhbiBhZHZl cnNhcnkgd2l0aCB0aGUKICAgb3Bwb3J0dW5pdHkgdG8gZWF2ZXNkcm9wIG9uIHRoZSByZWxhdGlv bnNoaXAgYmV0d2VlbiB0aGUgTFNQcy4KCiAgIFRodXMgc2VjdXJpbmcgdGhlIFBDRVAgc2Vzc2lv biB1c2luZyBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkgKFRMUykKICAgW1JGQzgyNTNdLCBhcyBw ZXIgdGhlIHJlY29tbWVuZGF0aW9ucyBhbmQgYmVzdCBjdXJyZW50IHByYWN0aWNlcyBpbgogICBb UkZDNzUyNV0sIGlzIFJFQ09NTUVOREVELgoKNy4gIElBTkEgQ29uc2lkZXJhdGlvbnMKCjcuMS4g IEFzc29jaWF0aW9uIFR5cGUKCiAgIFRoaXMgZG9jdW1lbnQgZGVmaW5lcyBhIG5ldyBBc3NvY2lh dGlvbiB0eXBlLCBvcmlnaW5hbGx5IGRlc2NyaWJlZCBpbgogICBbSS1ELmlldGYtcGNlLWFzc29j aWF0aW9uLWdyb3VwXS4gIElBTkEgaXMgcmVxdWVzdGVkIHRvIG1ha2UgdGhlCiAgIGFzc2lnbm1l bnQgb2YgYSBuZXcgdmFsdWUgZm9yIHRoZSBzdWItcmVnaXN0cnkgIkFTU09DSUFUSU9OIFR5cGUK ICAgRmllbGQiIChyZXF1ZXN0IHRvIGJlIGNyZWF0ZWQgaW4gW0ktRC5pZXRmLXBjZS1hc3NvY2lh dGlvbi1ncm91cF0pLAogICBhcyBmb2xsb3dzOgoKCgoKCgoKCkxpdGtvd3NraSwgZXQgYWwuICAg ICAgIEV4cGlyZXMgRmVicnVhcnkgMTMsIDIwMjAgICAgICAgICAgICAgIFtQYWdlIDE2XQoMCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgQVNTT0MtRElTSk9JTlQgICAgICAgICAgICAgICAg ICBBdWd1c3QgMjAxOQoKCiAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKwogICAgIHwgQXNzb2NpYXRpb24gdHlwZSB8IEFz c29jaWF0aW9uIE5hbWUgICAgICAgICAgICB8IFJlZmVyZW5jZSAgIHwKICAgICArLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rCiAg ICAgfCBUQkQxICAgICAgICAgICAgIHwgRGlzam9pbnQtZ3JvdXAgQXNzb2NpYXRpb24gIHwgW1Ro aXMuSS1EXSAgfAogICAgICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLSsKCjcuMi4gIFBDRVAgVExWcwoKICAgVGhpcyBkb2N1bWVu dCBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgbmV3IFBDRVAgVExWcyBhbmQgdGhlIElBTkEgaXMKICAg cmVxdWVzdGVkIHRvIG1ha2UgdGhlIGFzc2lnbm1lbnQgb2YgbmV3IHZhbHVlcyBmb3IgdGhlIGV4 aXN0aW5nICJQQ0VQCiAgIFRMViBUeXBlIEluZGljYXRvcnMiIHJlZ2lzdHJ5IGFzIGZvbGxvd3M6 CgogICAgICAgKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rCiAgICAgICB8IFRMViBUeXBlIHwgVExWIE5hbWUgICAgICAgICAgICAgICAg ICAgICAgICB8IFJlZmVyZW5jZSAgIHwKICAgICAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKwogICAgICAgfCBUQkQyICAgICB8IERp c2pvaW50bmVzcyBDb25maWd1cmF0aW9uIFRMViAgfCBbVGhpcy5JLURdICB8CiAgICAgICB8IFRC RDMgICAgIHwgRGlzam9pbnRuZXNzIFN0YXR1cyBUTFYgICAgICAgICB8IFtUaGlzLkktRF0gIHwK ICAgICAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tKwoKICAgVGhpcyBkb2N1bWVudCByZXF1ZXN0cyB0aGF0IGEgbmV3IHN1Yi1yZWdp c3RyeSwgbmFtZWQgIkRpc2pvaW50bmVzcwogICBDb25maWd1cmF0aW9uIFRMViBGbGFnIEZpZWxk IiwgaXMgY3JlYXRlZCB3aXRoaW4gdGhlICJQYXRoCiAgIENvbXB1dGF0aW9uIEVsZW1lbnQgUHJv dG9jb2wgKFBDRVApIE51bWJlcnMiIHJlZ2lzdHJ5IHRvIG1hbmFnZSB0aGUKICAgRmxhZyBmaWVs ZCBpbiB0aGUgRGlzam9pbnRuZXNzIENvbmZpZ3VyYXRpb24gVExWLiAgTmV3IHZhbHVlcyBhcmUg dG8KICAgYmUgYXNzaWduZWQgYnkgU3RhbmRhcmRzIEFjdGlvbiBbUkZDODEyNl0uICBFYWNoIGJp dCBzaG91bGQgYmUKICAgdHJhY2tlZCB3aXRoIHRoZSBmb2xsb3dpbmcgcXVhbGl0aWVzOgoKICAg byAgQml0IG51bWJlciAoY291bnQgZnJvbSAwIGFzIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCkK CiAgIG8gIEZsYWcgTmFtZQoKICAgbyAgUmVmZXJlbmNlCgogICAgICAgICAgKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rCiAgICAgICAgICB8IEJp dCBOdW1iZXIgfCBOYW1lICAgICAgICAgICAgICAgICAgICB8IFJlZmVyZW5jZSAgIHwKICAgICAg ICAgICstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t KwogICAgICAgICAgfCAzMSAgICAgICAgIHwgTCAtIExpbmsgRGl2ZXJzZSAgICAgICAgfCBbVGhp cy5JLURdICB8CiAgICAgICAgICB8IDMwICAgICAgICAgfCBOIC0gTm9kZSBEaXZlcnNlICAgICAg ICB8IFtUaGlzLkktRF0gIHwKICAgICAgICAgIHwgMjkgICAgICAgICB8IFMgLSBTUkxHIERpdmVy c2UgICAgICAgIHwgW1RoaXMuSS1EXSAgfAogICAgICAgICAgfCAyOCAgICAgICAgIHwgUCAtIFNo b3J0ZXN0IFBhdGggICAgICAgfCBbVGhpcy5JLURdICB8CiAgICAgICAgICB8IDI3ICAgICAgICAg fCBUIC0gU3RyaWN0IERpc2pvaW50bmVzcyB8IFtUaGlzLkktRF0gIHwKICAgICAgICAgICstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKwoKICAgICAg ICAgICAgICAgICAgVGFibGUgMTogRGlzam9pbnRuZXNzIENvbmZpZ3VyYXRpb24gVExWCgoKCgoK CgoKTGl0a293c2tpLCBldCBhbC4gICAgICAgRXhwaXJlcyBGZWJydWFyeSAxMywgMjAyMCAgICAg ICAgICAgICAgW1BhZ2UgMTddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICBBU1NPQy1E SVNKT0lOVCAgICAgICAgICAgICAgICAgIEF1Z3VzdCAyMDE5CgoKNy4zLiAgT2JqZWN0aXZlIEZ1 bmN0aW9ucwoKICAgVGhyZWUgbmV3IE9iamVjdGl2ZSBGdW5jdGlvbnMgaGF2ZSBiZWVuIGRlZmlu ZWQgaW4gdGhpcyBkb2N1bWVudC4KICAgSUFOQSBpcyByZXF1ZXN0ZWQgdG8gbWFrZSB0aGUgZm9s bG93aW5nIGFsbG9jYXRpb25zIGZyb20gdGhlIFBDRVAKICAgIk9iamVjdGl2ZSBGdW5jdGlvbiIg c3ViLXJlZ2lzdHJ5OgoKICAgKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rCiAgIHwgQ29kZSBQb2ludCB8IE5hbWUgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUmVmZXJlbmNlICAgfAogICArLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLSsKICAgfCBUQkQ0ICAgICAgIHwgTWluaW1pemUgdGhlIG51bWJlciBvZiBzaGFyZWQgTGlu a3MgICAgfCBbVGhpcy5JLURdICB8CiAgIHwgICAgICAgICAgICB8IChNU0wpICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfAogICB8IFRCRDUgICAgICAgfCBN aW5pbWl6ZSB0aGUgbnVtYmVyIG9mIHNoYXJlZCBTUkxHcyAgICB8IFtUaGlzLkktRF0gIHwKICAg fCAgICAgICAgICAgIHwgKE1TUykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICB8CiAgIHwgVEJENiAgICAgICB8IE1pbmltaXplIHRoZSBudW1iZXIgb2Ygc2hh cmVkIE5vZGVzICAgIHwgW1RoaXMuSS1EXSAgfAogICB8ICAgICAgICAgICAgfCAoTVNOKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHwKICAgKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rCgo3LjQuICBOTy1QQVRILVZFQ1RPUiBCaXQgRmxhZ3MKCiAgIFRoaXMgZG9jdW1lbnRzIGRl ZmluZXMgbmV3IGJpdHMgZm9yIHRoZSBOTy1QQVRILVZFQ1RPUiBUTFYgaW4gdGhlCiAgICJOTy1Q QVRILVZFQ1RPUiBUTFYgRmxhZyBGaWVsZCIgc3ViLXJlZ2lzdHJ5IG9mIHRoZSAiUGF0aCBDb21w dXRhdGlvbgogICBFbGVtZW50IFByb3RvY29sIChQQ0VQKSBOdW1iZXJzIiByZWdpc3RyeS4gIElB TkEgaXMgcmVxdWVzdGVkIHRvIG1ha2UKICAgdGhlIGZvbGxvd2luZyBhbGxvY2F0aW9uOgoKICAg Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rCiAgIHwgQml0IE51bWJlciB8IE5hbWUgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IFJlZmVyZW5jZSAgfAogICArLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKICAgfCBUQkQ3ICAg ICAgIHwgRGlzam9pbnQgcGF0aCBub3QgZm91bmQgICAgICAgICAgICAgICAgIHwgW1RoaXMuSS1E XSB8CiAgIHwgVEJEOCAgICAgICB8IFJlcXVlc3RlZCBkaXNqb2ludCBjb21wdXRhdGlvbiBub3Qg ICAgICB8IFtUaGlzLkktRF0gfAogICB8ICAgICAgICAgICAgfCBzdXBwb3J0ZWQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rCgogICAg ICAgICAgICAgICAgICAgICAgICBUYWJsZSAyOiBOTy1QQVRILVZFQ1RPUiBUTFYKCjcuNS4gIFBD RVAtRVJST1IgQ29kZXMKCiAgIFRoaXMgZG9jdW1lbnQgZGVmaW5lcyBuZXcgRXJyb3ItVmFsdWUg d2l0aGluIGV4aXN0aW5nIEVycm9yLVR5cGUKICAgcmVsYXRlZCB0byBwYXRoIHByb3RlY3Rpb24g YXNzb2NpYXRpb24uICBJQU5BIGlzIHJlcXVlc3RlZCB0bwogICBhbGxvY2F0ZSBuZXcgZXJyb3Ig dmFsdWVzIHdpdGhpbiB0aGUgIlBDRVAtRVJST1IgT2JqZWN0IEVycm9yIFR5cGVzCiAgIGFuZCBW YWx1ZXMiIHN1Yi1yZWdpc3RyeSBvZiB0aGUgUENFUCBOdW1iZXJzIHJlZ2lzdHJ5LCBhcyBmb2xs b3dzOgoKCgoKCgoKCgoKCkxpdGtvd3NraSwgZXQgYWwuICAgICAgIEV4cGlyZXMgRmVicnVhcnkg MTMsIDIwMjAgICAgICAgICAgICAgIFtQYWdlIDE4XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAg ICAgICAgQVNTT0MtRElTSk9JTlQgICAgICAgICAgICAgICAgICBBdWd1c3QgMjAxOQoKCiAgICst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKwogICB8IEVycm9yLSAgIHwgTWVhbmluZyAgICAgICAgICAgICAgICAgfCBSZWZl cmVuY2UgICAgICAgICAgICAgICAgICAgIHwKICAgfCBUeXBlICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICstLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t KwogICB8IDYgICAgICAgIHwgTWFuZGF0b3J5IE9iamVjdCAgICAgICAgfCBbSS1ELmlldGYtcGNl LWFzc29jaWF0aW9uLWdyIHwKICAgfCAgICAgICAgICB8IG1pc3NpbmcgICAgICAgICAgICAgICAg IHwgb3VwXSAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgIHwgICAgICAgICAgfCBFcnJvci12 YWx1ZT1UQkQ4OiAgICAgICB8IFtUaGlzLkktRF0gICAgICAgICAgICAgICAgICAgfAogICB8ICAg ICAgICAgIHwgRElTSk9JTlRORVNTLSAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKICAgfCAgICAgICAgICB8IENPTkZJR1VSQVRJT04gVExWICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8CiAgIHwgICAgICAgICAgfCBtaXNzaW5nICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICB8IDEwICAgICAgIHwg UmVjZXB0aW9uIG9mIGFuIGludmFsaWQgfCBbUkZDNTQ0MF0gICAgICAgICAgICAgICAgICAgIHwK ICAgfCAgICAgICAgICB8IG9iamVjdCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8CiAgIHwgICAgICAgICAgfCBFcnJvci12YWx1ZT1UQkQ5OiAgICAgICB8 IFtUaGlzLkktRF0gICAgICAgICAgICAgICAgICAgfAogICB8ICAgICAgICAgIHwgSW5jb21wYXRp YmxlIE9GIGNvZGUgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rCgo4LiAgTWFuYWdlYWJpbGl0eSBDb25zaWRlcmF0aW9ucwoKOC4xLiAgQ29udHJvbCBv ZiBGdW5jdGlvbiBhbmQgUG9saWN5CgogICBBbiBvcGVyYXRvciBTSE9VTEQgYmUgYWxsb3dlZCB0 byBjb25maWd1cmUgdGhlIGRpc2pvaW50bmVzcwogICBhc3NvY2lhdGlvbiBncm91cHMgYW5kIGRp c2pvaW50IHBhcmFtZXRlcnMgYXQgdGhlIFBDRVAgcGVlcnMgYW5kCiAgIGFzc29jaWF0ZSBpdCB3 aXRoIHRoZSBMU1BzLiAgVGhlIE9wZXJhdG9yLWNvbmZpZ3VyZWQgQXNzb2NpYXRpb24KICAgUmFu Z2UgTVVTVCBiZSBhbGxvd2VkIHRvIGJlIHNldCBieSB0aGUgb3BlcmF0b3IuICBPcGVyYXRvciBT SE9VTEQgYmUKICAgYWxsb3dlZCB0byBzZXQgdGhlIGxvY2FsIHBvbGljaWVzIHRvIGRlZmluZSB2 YXJpb3VzIGRpc2pvaW50CiAgIGNvbXB1dGF0aW9uYWwgYmVoYXZpb3IgYXQgdGhlIFBDRS4KCjgu Mi4gIEluZm9ybWF0aW9uIGFuZCBEYXRhIE1vZGVscwoKICAgQW4gaW1wbGVtZW50YXRpb24gU0hP VUxEIGFsbG93IHRoZSBvcGVyYXRvciB0byB2aWV3IHRoZSBkaXNqb2ludAogICBhc3NvY2lhdGlv bnMgY29uZmlndXJlZCBvciBjcmVhdGVkIGR5bmFtaWNhbGx5LiAgRnVydGhlcgogICBpbXBsZW1l bnRhdGlvbiBTSE9VTEQgYWxsb3cgdG8gdmlldyBkaXNqb2ludCBhc3NvY2lhdGlvbnMgcmVwb3J0 ZWQgYnkKICAgZWFjaCBwZWVyLCBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIExTUHMgaW4gdGhpcyBh c3NvY2lhdGlvbi4gIFRoZSBQQ0VQCiAgIFlBTkcgbW9kdWxlIFtJLUQuaWV0Zi1wY2UtcGNlcC15 YW5nXSBpbmNsdWRlcyBhc3NvY2lhdGlvbiBncm91cHMKICAgaW5mb3JtYXRpb24uCgo4LjMuICBM aXZlbmVzcyBEZXRlY3Rpb24gYW5kIE1vbml0b3JpbmcKCiAgIE1lY2hhbmlzbXMgZGVmaW5lZCBp biB0aGlzIGRvY3VtZW50IGRvIG5vdCBpbXBseSBhbnkgbmV3IGxpdmVuZXNzCiAgIGRldGVjdGlv biBhbmQgbW9uaXRvcmluZyByZXF1aXJlbWVudHMgaW4gYWRkaXRpb24gdG8gdGhvc2UgYWxyZWFk eQogICBsaXN0ZWQgaW4gW1JGQzU0NDBdLgoKOC40LiAgVmVyaWZ5IENvcnJlY3QgT3BlcmF0aW9u cwoKICAgTWVjaGFuaXNtcyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQgZG8gbm90IGltcGx5IGFu eSBuZXcgb3BlcmF0aW9uCiAgIHZlcmlmaWNhdGlvbiByZXF1aXJlbWVudHMgaW4gYWRkaXRpb24g dG8gdGhvc2UgYWxyZWFkeSBsaXN0ZWQgaW4KICAgW1JGQzU0NDBdLgoKCgoKTGl0a293c2tpLCBl dCBhbC4gICAgICAgRXhwaXJlcyBGZWJydWFyeSAxMywgMjAyMCAgICAgICAgICAgICAgW1BhZ2Ug MTldCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICAgICBBU1NPQy1ESVNKT0lOVCAgICAgICAg ICAgICAgICAgIEF1Z3VzdCAyMDE5CgoKOC41LiAgUmVxdWlyZW1lbnRzIE9uIE90aGVyIFByb3Rv Y29scwoKICAgTWVjaGFuaXNtcyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQgZG8gbm90IGltcGx5 IGFueSBuZXcgcmVxdWlyZW1lbnRzCiAgIG9uIG90aGVyIHByb3RvY29scy4KCjguNi4gIEltcGFj dCBPbiBOZXR3b3JrIE9wZXJhdGlvbnMKCiAgIE1lY2hhbmlzbXMgZGVmaW5lZCBpbiBbUkZDNTQ0 MF0sIFNlY3Rpb24gOC42IGFsc28gYXBwbHkgdG8gUENFUAogICBleHRlbnNpb25zIGRlZmluZWQg aW4gdGhpcyBkb2N1bWVudC4gIEFkZGl0aW9uYWxseSwgYSBQQ0VQCiAgIGltcGxlbWVudGF0aW9u IFNIT1VMRCBhbGxvdyBhIGxpbWl0IHRvIGJlIHBsYWNlZCBvbiB0aGUgbnVtYmVyIG9mCiAgIExT UHMgdGhhdCBjYW4gYmVsb25nIHRvIGEgZGlzam9pbnQgYXNzb2NpYXRpb24gZ3JvdXAuCgo5LiAg QWNrbm93bGVkZ21lbnRzCgogICBBIHNwZWNpYWwgdGhhbmtzIHRvIGF1dGhvcnMgb2YgW0ktRC5p ZXRmLXBjZS1hc3NvY2lhdGlvbi1ncm91cF0sIHRoaXMKICAgZG9jdW1lbnQgYm9ycm93IHNvbWUg b2YgdGhlIHRleHQgZnJvbSBpdC4gIEF1dGhvcnMgd291bGQgYWxzbyBsaWtlIHRvCiAgIHRoYW5r IEFkcmlhbiBGYXJyZWwgYW5kIEp1bGllbiBNZXVyaWMgZm9yIHRoZSB2YWx1YWJsZSBjb21tZW50 cy4KCiAgIFRoYW5rcyB0byBFbW1hbnVlbCBCYWNjZWxsaSBmb3IgUlRHRElSIHJldmlld3MuCgox MC4gIFJlZmVyZW5jZXMKCjEwLjEuICBOb3JtYXRpdmUgUmVmZXJlbmNlcwoKICAgW1JGQzIxMTld ICBCcmFkbmVyLCBTLiwgIktleSB3b3JkcyBmb3IgdXNlIGluIFJGQ3MgdG8gSW5kaWNhdGUKICAg ICAgICAgICAgICBSZXF1aXJlbWVudCBMZXZlbHMiLCBCQ1AgMTQsIFJGQyAyMTE5LAogICAgICAg ICAgICAgIERPSSAxMC4xNzQ4Ny9SRkMyMTE5LCBNYXJjaCAxOTk3LAogICAgICAgICAgICAgIDxo dHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzIxMTk+LgoKICAgW1JGQzgxMjZdICBD b3R0b24sIE0uLCBMZWliYSwgQi4sIGFuZCBULiBOYXJ0ZW4sICJHdWlkZWxpbmVzIGZvcgogICAg ICAgICAgICAgIFdyaXRpbmcgYW4gSUFOQSBDb25zaWRlcmF0aW9ucyBTZWN0aW9uIGluIFJGQ3Mi LCBCQ1AgMjYsCiAgICAgICAgICAgICAgUkZDIDgxMjYsIERPSSAxMC4xNzQ4Ny9SRkM4MTI2LCBK dW5lIDIwMTcsCiAgICAgICAgICAgICAgPGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8v cmZjODEyNj4uCgogICBbUkZDNTQ0MF0gIFZhc3NldXIsIEpQLiwgRWQuIGFuZCBKTC4gTGUgUm91 eCwgRWQuLCAiUGF0aCBDb21wdXRhdGlvbgogICAgICAgICAgICAgIEVsZW1lbnQgKFBDRSkgQ29t bXVuaWNhdGlvbiBQcm90b2NvbCAoUENFUCkiLCBSRkMgNTQ0MCwKICAgICAgICAgICAgICBET0kg MTAuMTc0ODcvUkZDNTQ0MCwgTWFyY2ggMjAwOSwKICAgICAgICAgICAgICA8aHR0cHM6Ly93d3cu cmZjLWVkaXRvci5vcmcvaW5mby9yZmM1NDQwPi4KCiAgIFtSRkM1NTQxXSAgTGUgUm91eCwgSkwu LCBWYXNzZXVyLCBKUC4sIGFuZCBZLiBMZWUsICJFbmNvZGluZyBvZgogICAgICAgICAgICAgIE9i amVjdGl2ZSBGdW5jdGlvbnMgaW4gdGhlIFBhdGggQ29tcHV0YXRpb24gRWxlbWVudAogICAgICAg ICAgICAgIENvbW11bmljYXRpb24gUHJvdG9jb2wgKFBDRVApIiwgUkZDIDU1NDEsCiAgICAgICAg ICAgICAgRE9JIDEwLjE3NDg3L1JGQzU1NDEsIEp1bmUgMjAwOSwKICAgICAgICAgICAgICA8aHR0 cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmM1NTQxPi4KCiAgIFtSRkM4MTc0XSAgTGVp YmEsIEIuLCAiQW1iaWd1aXR5IG9mIFVwcGVyY2FzZSB2cyBMb3dlcmNhc2UgaW4gUkZDCiAgICAg ICAgICAgICAgMjExOSBLZXkgV29yZHMiLCBCQ1AgMTQsIFJGQyA4MTc0LCBET0kgMTAuMTc0ODcv UkZDODE3NCwKICAgICAgICAgICAgICBNYXkgMjAxNywgPGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iu b3JnL2luZm8vcmZjODE3ND4uCgoKCkxpdGtvd3NraSwgZXQgYWwuICAgICAgIEV4cGlyZXMgRmVi cnVhcnkgMTMsIDIwMjAgICAgICAgICAgICAgIFtQYWdlIDIwXQoMCkludGVybmV0LURyYWZ0ICAg ICAgICAgICAgICAgQVNTT0MtRElTSk9JTlQgICAgICAgICAgICAgICAgICBBdWd1c3QgMjAxOQoK CiAgIFtSRkM4MjMxXSAgQ3JhYmJlLCBFLiwgTWluZWksIEkuLCBNZWR2ZWQsIEouLCBhbmQgUi4g VmFyZ2EsICJQYXRoCiAgICAgICAgICAgICAgQ29tcHV0YXRpb24gRWxlbWVudCBDb21tdW5pY2F0 aW9uIFByb3RvY29sIChQQ0VQKQogICAgICAgICAgICAgIEV4dGVuc2lvbnMgZm9yIFN0YXRlZnVs IFBDRSIsIFJGQyA4MjMxLAogICAgICAgICAgICAgIERPSSAxMC4xNzQ4Ny9SRkM4MjMxLCBTZXB0 ZW1iZXIgMjAxNywKICAgICAgICAgICAgICA8aHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5m by9yZmM4MjMxPi4KCiAgIFtJLUQuaWV0Zi1wY2UtYXNzb2NpYXRpb24tZ3JvdXBdCiAgICAgICAg ICAgICAgTWluZWksIEkuLCBDcmFiYmUsIEUuLCBTaXZhYmFsYW4sIFMuLCBBbmFudGhha3Jpc2hu YW4sIEguLAogICAgICAgICAgICAgIERob2R5LCBELiwgYW5kIFkuIFRhbmFrYSwgIlBhdGggQ29t cHV0YXRpb24gRWxlbWVudAogICAgICAgICAgICAgIENvbW11bmljYXRpb24gUHJvdG9jb2wgKFBD RVApIEV4dGVuc2lvbnMgZm9yIEVzdGFibGlzaGluZwogICAgICAgICAgICAgIFJlbGF0aW9uc2hp cHMgQmV0d2VlbiBTZXRzIG9mIExhYmVsIFN3aXRjaGVkIFBhdGhzCiAgICAgICAgICAgICAgKExT UHMpIiwgZHJhZnQtaWV0Zi1wY2UtYXNzb2NpYXRpb24tZ3JvdXAtMTAgKHdvcmsgaW4KICAgICAg ICAgICAgICBwcm9ncmVzcyksIEF1Z3VzdCAyMDE5LgoKMTAuMi4gIEluZm9ybWF0aXZlIFJlZmVy ZW5jZXMKCiAgIFtSRkM0NjU1XSAgRmFycmVsLCBBLiwgVmFzc2V1ciwgSi4sIGFuZCBKLiBBc2gs ICJBIFBhdGggQ29tcHV0YXRpb24KICAgICAgICAgICAgICBFbGVtZW50IChQQ0UpLUJhc2VkIEFy Y2hpdGVjdHVyZSIsIFJGQyA0NjU1LAogICAgICAgICAgICAgIERPSSAxMC4xNzQ4Ny9SRkM0NjU1 LCBBdWd1c3QgMjAwNiwKICAgICAgICAgICAgICA8aHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcv aW5mby9yZmM0NjU1Pi4KCiAgIFtSRkM2MDA3XSAgTmlzaGlva2EsIEkuIGFuZCBELiBLaW5nLCAi VXNlIG9mIHRoZSBTeW5jaHJvbml6YXRpb24KICAgICAgICAgICAgICBWRUN0b3IgKFNWRUMpIExp c3QgZm9yIFN5bmNocm9uaXplZCBEZXBlbmRlbnQgUGF0aAogICAgICAgICAgICAgIENvbXB1dGF0 aW9ucyIsIFJGQyA2MDA3LCBET0kgMTAuMTc0ODcvUkZDNjAwNywgU2VwdGVtYmVyCiAgICAgICAg ICAgICAgMjAxMCwgPGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjNjAwNz4uCgog ICBbUkZDNzQ3MF0gIFpoYW5nLCBGLiBhbmQgQS4gRmFycmVsLCAiQ29udmV5aW5nIFZlbmRvci1T cGVjaWZpYwogICAgICAgICAgICAgIENvbnN0cmFpbnRzIGluIHRoZSBQYXRoIENvbXB1dGF0aW9u IEVsZW1lbnQgQ29tbXVuaWNhdGlvbgogICAgICAgICAgICAgIFByb3RvY29sIiwgUkZDIDc0NzAs IERPSSAxMC4xNzQ4Ny9SRkM3NDcwLCBNYXJjaCAyMDE1LAogICAgICAgICAgICAgIDxodHRwczov L3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzc0NzA+LgoKICAgW1JGQzc1MjVdICBTaGVmZmVy LCBZLiwgSG9seiwgUi4sIGFuZCBQLiBTYWludC1BbmRyZSwKICAgICAgICAgICAgICAiUmVjb21t ZW5kYXRpb25zIGZvciBTZWN1cmUgVXNlIG9mIFRyYW5zcG9ydCBMYXllcgogICAgICAgICAgICAg IFNlY3VyaXR5IChUTFMpIGFuZCBEYXRhZ3JhbSBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkKICAg ICAgICAgICAgICAoRFRMUykiLCBCQ1AgMTk1LCBSRkMgNzUyNSwgRE9JIDEwLjE3NDg3L1JGQzc1 MjUsIE1heQogICAgICAgICAgICAgIDIwMTUsIDxodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9p bmZvL3JmYzc1MjU+LgoKICAgW1JGQzgyNTNdICBMb3BleiwgRC4sIEdvbnphbGV6IGRlIERpb3Ms IE8uLCBXdSwgUS4sIGFuZCBELiBEaG9keSwKICAgICAgICAgICAgICAiUENFUFM6IFVzYWdlIG9m IFRMUyB0byBQcm92aWRlIGEgU2VjdXJlIFRyYW5zcG9ydCBmb3IgdGhlCiAgICAgICAgICAgICAg UGF0aCBDb21wdXRhdGlvbiBFbGVtZW50IENvbW11bmljYXRpb24gUHJvdG9jb2wgKFBDRVApIiwK ICAgICAgICAgICAgICBSRkMgODI1MywgRE9JIDEwLjE3NDg3L1JGQzgyNTMsIE9jdG9iZXIgMjAx NywKICAgICAgICAgICAgICA8aHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmM4MjUz Pi4KCiAgIFtSRkM4MjgxXSAgQ3JhYmJlLCBFLiwgTWluZWksIEkuLCBTaXZhYmFsYW4sIFMuLCBh bmQgUi4gVmFyZ2EsICJQYXRoCiAgICAgICAgICAgICAgQ29tcHV0YXRpb24gRWxlbWVudCBDb21t dW5pY2F0aW9uIFByb3RvY29sIChQQ0VQKQogICAgICAgICAgICAgIEV4dGVuc2lvbnMgZm9yIFBD RS1Jbml0aWF0ZWQgTFNQIFNldHVwIGluIGEgU3RhdGVmdWwgUENFCiAgICAgICAgICAgICAgTW9k ZWwiLCBSRkMgODI4MSwgRE9JIDEwLjE3NDg3L1JGQzgyODEsIERlY2VtYmVyIDIwMTcsCiAgICAg ICAgICAgICAgPGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjODI4MT4uCgoKCkxp dGtvd3NraSwgZXQgYWwuICAgICAgIEV4cGlyZXMgRmVicnVhcnkgMTMsIDIwMjAgICAgICAgICAg ICAgIFtQYWdlIDIxXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgQVNTT0MtRElTSk9J TlQgICAgICAgICAgICAgICAgICBBdWd1c3QgMjAxOQoKCiAgIFtJLUQuaWV0Zi1wY2UtcGNlcC15 YW5nXQogICAgICAgICAgICAgIERob2R5LCBELiwgSGFyZHdpY2ssIEouLCBCZWVyYW0sIFYuLCBh bmQgSi4gVGFudHN1cmEsICJBCiAgICAgICAgICAgICAgWUFORyBEYXRhIE1vZGVsIGZvciBQYXRo IENvbXB1dGF0aW9uIEVsZW1lbnQKICAgICAgICAgICAgICBDb21tdW5pY2F0aW9ucyBQcm90b2Nv bCAoUENFUCkiLCBkcmFmdC1pZXRmLXBjZS1wY2VwLQogICAgICAgICAgICAgIHlhbmctMTIgKHdv cmsgaW4gcHJvZ3Jlc3MpLCBKdWx5IDIwMTkuCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK CgoKCgoKCgoKCgoKCgoKCgpMaXRrb3dza2ksIGV0IGFsLiAgICAgICBFeHBpcmVzIEZlYnJ1YXJ5 IDEzLCAyMDIwICAgICAgICAgICAgICBbUGFnZSAyMl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAg ICAgICAgIEFTU09DLURJU0pPSU5UICAgICAgICAgICAgICAgICAgQXVndXN0IDIwMTkKCgpBcHBl bmRpeCBBLiAgQ29udHJpYnV0b3IgQWRkcmVzc2VzCgogICBEaHJ1diBEaG9keQogICBIdWF3ZWkg VGVjaG5vbG9naWVzCiAgIERpdnlhc2hyZWUgVGVjaG5vIFBhcmssIFdoaXRlZmllbGQKICAgQmFu Z2Fsb3JlLCBLYXJuYXRha2EgIDU2MDA2NgogICBJbmRpYQoKICAgRU1haWw6IGRocnV2LmlldGZA Z21haWwuY29tCgpBdXRob3JzJyBBZGRyZXNzZXMKCiAgIFN0ZXBoYW5lIExpdGtvd3NraQogICBP cmFuZ2UKCiAgIEVNYWlsOiBzdGVwaGFuZS5saXRrb3dza2lAb3JhbmdlLmNvbQoKCiAgIFNpdmEg U2l2YWJhbGFuCiAgIENpc2NvIFN5c3RlbXMsIEluYy4KICAgMjAwMCBJbm5vdmF0aW9uIERyaXZl CiAgIEthbmF0YSwgT250YXJpbyAgSzJLIDNFOAogICBDYW5hZGEKCiAgIEVNYWlsOiBtc2l2YUBj aXNjby5jb20KCgogICBDb2xieSBCYXJ0aAogICBKdW5pcGVyIE5ldHdvcmtzCgogICBFTWFpbDog Y2JhcnRoQGp1bmlwZXIubmV0CgoKICAgTWFoZW5kcmEgU2luZ2ggTmVnaQogICBIdWF3ZWkgVGVj aG5vbG9naWVzCiAgIERpdnlhc2hyZWUgVGVjaG5vIFBhcmssIFdoaXRlZmllbGQKICAgQmFuZ2Fs b3JlLCBLYXJuYXRha2EgIDU2MDA2NgogICBJbmRpYQoKICAgRU1haWw6IG1haGVuZC5pZXRmQGdt YWlsLmNvbQoKCgoKCgoKCgoKCkxpdGtvd3NraSwgZXQgYWwuICAgICAgIEV4cGlyZXMgRmVicnVh cnkgMTMsIDIwMjAgICAgICAgICAgICAgIFtQYWdlIDIzXQo= --000000000000cef74d059000e000 Content-Type: text/html; charset="UTF-8"; name="Diff_ draft-ietf-pce-association-diversity-08.txt - draft-ietf-pce-association-diversity-09.txt.html" Content-Disposition: attachment; filename="Diff_ draft-ietf-pce-association-diversity-08.txt - draft-ietf-pce-association-diversity-09.txt.html" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jz9y4mey0 PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFs Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25h bC5kdGQiPgo8IS0tIHNhdmVkIGZyb20gdXJsPSgwMDMwKWh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcv cmZjZGlmZiAtLT4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxo ZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBj aGFyc2V0PVVURi04Ij4gCiAgIAogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtU3R5bGUtVHlw ZSIgY29udGVudD0idGV4dC9jc3MiPiAKICA8dGl0bGU+RGlmZjogZHJhZnQtaWV0Zi1wY2UtYXNz b2NpYXRpb24tZGl2ZXJzaXR5LTA4LnR4dCAtIGRyYWZ0LWlldGYtcGNlLWFzc29jaWF0aW9uLWRp dmVyc2l0eS0wOS50eHQ8L3RpdGxlPiAKICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAKICAgIGJv ZHkgICAgeyBtYXJnaW46IDAuNGV4OyBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gCiAgICB0ciAgICAg IHsgfSAKICAgIHRkICAgICAgeyB3aGl0ZS1zcGFjZTogcHJlOyBmb250LWZhbWlseTogbW9ub3Nw YWNlOyB2ZXJ0aWNhbC1hbGlnbjogdG9wOyBmb250LXNpemU6IDAuODZlbTt9IAogICAgdGggICAg ICB7IGZvbnQtc2l6ZTogMC44NmVtOyB9IAogICAgLnNtYWxsICB7IGZvbnQtc2l6ZTogMC42ZW07 IGZvbnQtc3R5bGU6IGl0YWxpYzsgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEhlbHZldGljYSwgc2Fu cy1zZXJpZjsgfSAKICAgIC5sZWZ0ICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFOyB9IAogICAg LnJpZ2h0ICB7IGJhY2tncm91bmQtY29sb3I6ICNGRkY7IH0gCiAgICAuZGlmZiAgIHsgYmFja2dy b3VuZC1jb2xvcjogI0NDRjsgfSAKICAgIC5sYmxvY2sgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjQkZC OyB9IAogICAgLnJibG9jayB7IGJhY2tncm91bmQtY29sb3I6ICNGRjg7IH0gCiAgICAuaW5zZXJ0 IHsgYmFja2dyb3VuZC1jb2xvcjogIzhGRjsgfSAKICAgIC5kZWxldGUgeyBiYWNrZ3JvdW5kLWNv bG9yOiAjQUNGOyB9IAogICAgLnZvaWQgICB7IGJhY2tncm91bmQtY29sb3I6ICNGRkI7IH0gCiAg ICAuY29udCAgIHsgYmFja2dyb3VuZC1jb2xvcjogI0VFRTsgfSAKICAgIC5saW5lYnIgeyBiYWNr Z3JvdW5kLWNvbG9yOiAjQUFBOyB9IAogICAgLmxpbmVubyB7IGNvbG9yOiByZWQ7IGJhY2tncm91 bmQtY29sb3I6ICNGRkY7IGZvbnQtc2l6ZTogMC43ZW07IHRleHQtYWxpZ246IHJpZ2h0OyBwYWRk aW5nOiAwIDJweDsgfSAKICAgIC5lbGlwc2lzeyBiYWNrZ3JvdW5kLWNvbG9yOiAjQUFBOyB9IAog ICAgLmxlZnQgLmNvbnQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjREREOyB9IAogICAgLnJpZ2h0IC5j b250IHsgYmFja2dyb3VuZC1jb2xvcjogI0VFRTsgfSAKICAgIC5sYmxvY2sgLmNvbnQgeyBiYWNr Z3JvdW5kLWNvbG9yOiAjOUQ5OyB9IAogICAgLnJibG9jayAuY29udCB7IGJhY2tncm91bmQtY29s b3I6ICNERDY7IH0gCiAgICAuaW5zZXJ0IC5jb250IHsgYmFja2dyb3VuZC1jb2xvcjogIzBERDsg fSAKICAgIC5kZWxldGUgLmNvbnQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOEFEOyB9IAogICAgLnN0 YXRzLCAuc3RhdHMgdGQsIC5zdGF0cyB0aCB7IGJhY2tncm91bmQtY29sb3I6ICNFRUU7IHBhZGRp bmc6IDJweCAwOyB9IAogICAgc3Bhbi5oaWRlIHsgZGlzcGxheTogbm9uZTsgY29sb3I6ICNhYWE7 fSAgICBhOmhvdmVyIHNwYW4geyBkaXNwbGF5OiBpbmxpbmU7IH0gICAgdHIuY2hhbmdlIHsgYmFj a2dyb3VuZC1jb2xvcjogZ3JheTsgfSAKICAgIHRyLmNoYW5nZSBhIHsgdGV4dC1kZWNvcmF0aW9u OiBub25lOyBjb2xvcjogYmxhY2sgfSAKICA8L3N0eWxlPiAKICAgICA8c2NyaXB0Pgp2YXIgY2h1 bmtfaW5kZXggPSAwOwp2YXIgb2xkX2NodW5rID0gbnVsbDsKCmZ1bmN0aW9uIGZvcm1hdF9jaHVu ayhpbmRleCkgewogICAgdmFyIHByZWZpeCA9ICJkaWZmIjsKICAgIHZhciBzdHIgPSBpbmRleC50 b1N0cmluZygpOwogICAgZm9yICh4PTA7IHg8KDQtc3RyLmxlbmd0aCk7ICsreCkgewogICAgICAg IHByZWZpeCs9JzAnOwogICAgfQogICAgcmV0dXJuIHByZWZpeCArIHN0cjsKfQoKZnVuY3Rpb24g ZmluZF9jaHVuayhuKXsKICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0cltpZCQ9 IicgKyBuICsgJyJdJyk7Cn0KCmZ1bmN0aW9uIGNoYW5nZV9jaHVuayhvZmZzZXQpIHsKICAgIHZh ciBpbmRleCA9IGNodW5rX2luZGV4ICsgb2Zmc2V0OwogICAgdmFyIG5ld19zdHI7CiAgICB2YXIg bmV3X2NodW5rOwoKICAgIG5ld19zdHIgPSBmb3JtYXRfY2h1bmsoaW5kZXgpOwogICAgbmV3X2No dW5rID0gZmluZF9jaHVuayhuZXdfc3RyKTsKICAgIGlmICghbmV3X2NodW5rKSB7CiAgICAgICAg cmV0dXJuOwogICAgfQogICAgaWYgKG9sZF9jaHVuaykgewogICAgICAgIG9sZF9jaHVuay5zdHls ZS5vdXRsaW5lID0gIiI7CiAgICB9CiAgICBvbGRfY2h1bmsgPSBuZXdfY2h1bms7CiAgICBvbGRf Y2h1bmsuc3R5bGUub3V0bGluZSA9ICIxcHggc29saWQgcmVkIjsKICAgIHdpbmRvdy5sb2NhdGlv bi5yZXBsYWNlKCIjIiArIG5ld19zdHIpCiAgICB3aW5kb3cuc2Nyb2xsQnkoMCwtMTAwKTsKICAg IGNodW5rX2luZGV4ID0gaW5kZXg7Cn0KCmRvY3VtZW50Lm9ua2V5ZG93biA9IGZ1bmN0aW9uKGUp IHsKICAgIHN3aXRjaCAoZS5rZXlDb2RlKSB7CiAgICBjYXNlIDc4OgogICAgICAgIGNoYW5nZV9j aHVuaygxKTsKICAgICAgICBicmVhazsKICAgIGNhc2UgODA6CiAgICAgICAgY2hhbmdlX2NodW5r KC0xKTsKICAgICAgICBicmVhazsKICAgIH0KfTsKICAgPC9zY3JpcHQ+IAo8L2hlYWQ+IAo8Ym9k eT4gCiAgPHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4g CiAgPHRib2R5Pjx0ciBpZD0icGFydC0xIiBiZ2NvbG9yPSJvcmFuZ2UiPjx0aD48L3RoPjx0aD48 YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL3JmY2RpZmY/dXJsMj1kcmFmdC1pZXRmLXBj ZS1hc3NvY2lhdGlvbi1kaXZlcnNpdHktMDgudHh0IiBzdHlsZT0iY29sb3I6IzAwODsgdGV4dC1k ZWNvcmF0aW9uOm5vbmU7Ij4mbHQ7PC9hPiZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0 Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXBjZS1hc3NvY2lhdGlvbi1kaXZlcnNpdHktMDgudHh0IiBz dHlsZT0iY29sb3I6IzAwOCI+ZHJhZnQtaWV0Zi1wY2UtYXNzb2NpYXRpb24tZGl2ZXJzaXR5LTA4 LnR4dDwvYT4mbmJzcDs8L3RoPjx0aD4gPC90aD48dGg+Jm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly90 b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWlldGYtcGNlLWFzc29jaWF0aW9uLWRpdmVyc2l0eS0w OS50eHQiIHN0eWxlPSJjb2xvcjojMDA4Ij5kcmFmdC1pZXRmLXBjZS1hc3NvY2lhdGlvbi1kaXZl cnNpdHktMDkudHh0PC9hPiZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvcmZj ZGlmZj91cmwxPWRyYWZ0LWlldGYtcGNlLWFzc29jaWF0aW9uLWRpdmVyc2l0eS0wOS50eHQiIHN0 eWxlPSJjb2xvcjojMDA4OyB0ZXh0LWRlY29yYXRpb246bm9uZTsiPiZndDs8L2E+PC90aD48dGg+ PC90aD48L3RyPiAKICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i bGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNs YXNzPSJsZWZ0Ij5QQ0UgV29ya2luZyBHcm91cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTLiBMaXRrb3dza2k8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0 Ij5QQ0UgV29ya2luZyBHcm91cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTLiBMaXRrb3dza2k8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPkludGVybmV0LURy YWZ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9y YW5nZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yYW5nZTwvdGQ+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+SW50ZW5kZWQgc3RhdHVzOiBTdGFuZGFyZHMgVHJhY2sg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUy4gU2l2YWJhbGFuPC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyaWdodCI+SW50ZW5kZWQgc3RhdHVzOiBTdGFuZGFyZHMgVHJhY2sgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUy4gU2l2YWJhbGFuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYwMDAxIj48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPkV4cGlyZXM6IDxzcGFu IGNsYXNzPSJkZWxldGUiPkphbnVhcnkgNSwgMjAyMCAgPC9zcGFuPiAgICAgICAgICAgICAgICAg ICAgICAgICAgIENpc2NvIFN5c3RlbXMsIEluYy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJi bG9jayI+RXhwaXJlczogPHNwYW4gY2xhc3M9Imluc2VydCI+RmVicnVhcnkgMTMsIDIwMjA8L3Nw YW4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2lzY28gU3lzdGVtcywgSW5jLjwvdGQ+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMuIEJhcnRoPC90ZD48dGQ+IDwvdGQ+PHRkIGNs YXNzPSJyaWdodCI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEMuIEJhcnRoPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1 bmlwZXIgTmV0d29ya3M8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmlwZXIgTmV0 d29ya3M8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTS4gTmVnaTwvdGQ+PHRk PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTS4gTmVnaTwvdGQ+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj bGFzcz0ibGVmdCI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBIdWF3ZWkgVGVjaG5vbG9naWVzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo dCI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBI dWF3ZWkgVGVjaG5vbG9naWVzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg ICA8dHIgaWQ9ImRpZmYwMDAyIj48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPiAgIEp1 bHkgNDwvc3Bhbj4sIDIwMTk8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4g Y2xhc3M9Imluc2VydCI+QXVndXN0IDEyPC9zcGFuPiwgMjAxOTwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij5QYXRoIENvbXB1dGF0aW9uIEVsZW1lbnQgQ29tbXVuaWNhdGlvbiBQcm90 b2NvbCAoUENFUCkgRXh0ZW5zaW9uIGZvciBMU1A8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp Z2h0Ij5QYXRoIENvbXB1dGF0aW9uIEVsZW1lbnQgQ29tbXVuaWNhdGlvbiBQcm90b2NvbCAoUENF UCkgRXh0ZW5zaW9uIGZvciBMU1A8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICAg ICAgICAgICAgICAgIERpdmVyc2l0eSBDb25zdHJhaW50IFNpZ25hbGluZzwvdGQ+PHRkPiA8L3Rk Pjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgICAgICAgICAgICAgIERpdmVyc2l0eSBDb25zdHJh aW50IFNpZ25hbGluZzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy IGlkPSJkaWZmMDAwMyI+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICAgICAgICAgICAgZHJhZnQtaWV0Zi1wY2Ut YXNzb2NpYXRpb24tZGl2ZXJzaXR5LTA8c3BhbiBjbGFzcz0iZGVsZXRlIj44PC9zcGFuPjwvdGQ+ PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICAgICAgICAgZHJhZnQtaWV0Zi1w Y2UtYXNzb2NpYXRpb24tZGl2ZXJzaXR5LTA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij45PC9zcGFuPjwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo dCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij5BYnN0cmFjdDwvdGQ+PHRkPiA8L3RkPjx0 ZCBjbGFzcz0icmlnaHQiPkFic3RyYWN0PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3Rk Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi PiAgIFRoaXMgZG9jdW1lbnQgaW50cm9kdWNlcyBhIHNpbXBsZSBtZWNoYW5pc20gdG8gYXNzb2Np YXRlIGEgZ3JvdXAgb2Y8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUaGlzIGRv Y3VtZW50IGludHJvZHVjZXMgYSBzaW1wbGUgbWVjaGFuaXNtIHRvIGFzc29jaWF0ZSBhIGdyb3Vw IG9mPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBMYWJlbCBTd2l0Y2hlZCBQYXRocyAo TFNQcykgdmlhIGFuIGV4dGVuc2lvbiB0byB0aGUgUGF0aCBDb21wdXRhdGlvbjwvdGQ+PHRkPiA8 L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIExhYmVsIFN3aXRjaGVkIFBhdGhzIChMU1BzKSB2aWEg YW4gZXh0ZW5zaW9uIHRvIHRoZSBQYXRoIENvbXB1dGF0aW9uPC90ZD48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsZWZ0Ij4gICBFbGVtZW50IChQQ0UpIGNvbW11bmljYXRpb24gUHJvdG9jb2wgKFBDRVApIHdp dGggdGhlIHB1cnBvc2Ugb2Y8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBFbGVt ZW50IChQQ0UpIGNvbW11bmljYXRpb24gUHJvdG9jb2wgKFBDRVApIHdpdGggdGhlIHB1cnBvc2Ug b2Y8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGNvbXB1dGluZyBkaXZlcnNlIHBhdGhz IGZvciB0aG9zZSBMU1BzLiAgVGhlIHByb3Bvc2VkIGV4dGVuc2lvbjwvdGQ+PHRkPiA8L3RkPjx0 ZCBjbGFzcz0icmlnaHQiPiAgIGNvbXB1dGluZyBkaXZlcnNlIHBhdGhzIGZvciB0aG9zZSBMU1Bz LiAgVGhlIHByb3Bvc2VkIGV4dGVuc2lvbjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90 cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg YWxsb3dzIGEgUGF0aCBDb21wdXRhdGlvbiBDbGllbnQgKFBDQykgdG8gYWR2ZXJ0aXNlIHRvIGEg UENFIHRoYXQgYTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGFsbG93cyBhIFBh dGggQ29tcHV0YXRpb24gQ2xpZW50IChQQ0MpIHRvIGFkdmVydGlzZSB0byBhIFBDRSB0aGF0IGE8 L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHBhcnRpY3VsYXIgTFNQIGJlbG9uZ3MgdG8g YSBkaXNqb2ludC1ncm91cCwgdGh1cyB0aGUgUENFIGtub3dzIHRoYXQ8L3RkPjx0ZD4gPC90ZD48 dGQgY2xhc3M9InJpZ2h0Ij4gICBwYXJ0aWN1bGFyIExTUCBiZWxvbmdzIHRvIGEgZGlzam9pbnQt Z3JvdXAsIHRodXMgdGhlIFBDRSBrbm93cyB0aGF0PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0 Ij4gICB0aGUgTFNQcyBpbiB0aGUgc2FtZSBncm91cCBuZWVkIHRvIGJlIGRpc2pvaW50IGZyb20g ZWFjaCBvdGhlci48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aGUgTFNQcyBp biB0aGUgc2FtZSBncm91cCBuZWVkIHRvIGJlIGRpc2pvaW50IGZyb20gZWFjaCBvdGhlci48L3Rk Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGlkPSJwYXJ0LTIi IGNsYXNzPSJjaGFuZ2UiPjx0ZD48L3RkPjx0aD48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0 PC9zbWFsbD48YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL3JmY2RpZmYjcGFydC0yIj48 ZW0+IHBhZ2UgMSwgbGluZSA0MjxzcGFuIGNsYXNzPSJoaWRlIj4gwrY8L3NwYW4+PC9lbT48L2E+ PC90aD48dGg+IDwvdGg+PHRoPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxh IGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvcmZjZGlmZiNwYXJ0LTIiPjxlbT4gcGFnZSAx LCBsaW5lIDQyPHNwYW4gY2xhc3M9ImhpZGUiPiDCtjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0ZD48 L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl ZnQiPiAgIEludGVybmV0LURyYWZ0cyBhcmUgd29ya2luZyBkb2N1bWVudHMgb2YgdGhlIEludGVy bmV0IEVuZ2luZWVyaW5nPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgSW50ZXJu ZXQtRHJhZnRzIGFyZSB3b3JraW5nIGRvY3VtZW50cyBvZiB0aGUgSW50ZXJuZXQgRW5naW5lZXJp bmc8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRhc2sgRm9yY2UgKElFVEYpLiAgTm90 ZSB0aGF0IG90aGVyIGdyb3VwcyBtYXkgYWxzbyBkaXN0cmlidXRlPC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyaWdodCI+ICAgVGFzayBGb3JjZSAoSUVURikuICBOb3RlIHRoYXQgb3RoZXIgZ3Jv dXBzIG1heSBhbHNvIGRpc3RyaWJ1dGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHdv cmtpbmcgZG9jdW1lbnRzIGFzIEludGVybmV0LURyYWZ0cy4gIFRoZSBsaXN0IG9mIGN1cnJlbnQg SW50ZXJuZXQtPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgd29ya2luZyBkb2N1 bWVudHMgYXMgSW50ZXJuZXQtRHJhZnRzLiAgVGhlIGxpc3Qgb2YgY3VycmVudCBJbnRlcm5ldC08 L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIERyYWZ0cyBpcyBhdCBodHRwczovL2RhdGF0 cmFja2VyLmlldGYub3JnL2RyYWZ0cy9jdXJyZW50Ly48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9 InJpZ2h0Ij4gICBEcmFmdHMgaXMgYXQgaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kcmFm dHMvY3VycmVudC8uPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48 dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEludGVybmV0 LURyYWZ0cyBhcmUgZHJhZnQgZG9jdW1lbnRzIHZhbGlkIGZvciBhIG1heGltdW0gb2Ygc2l4IG1v bnRoczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEludGVybmV0LURyYWZ0cyBh cmUgZHJhZnQgZG9jdW1lbnRzIHZhbGlkIGZvciBhIG1heGltdW0gb2Ygc2l4IG1vbnRoczwvdGQ+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYW5kIG1heSBiZSB1cGRhdGVkLCByZXBsYWNlZCwg b3Igb2Jzb2xldGVkIGJ5IG90aGVyIGRvY3VtZW50cyBhdCBhbnk8L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJpZ2h0Ij4gICBhbmQgbWF5IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0 ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0IGFueTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ ICAgdGltZS4gIEl0IGlzIGluYXBwcm9wcmlhdGUgdG8gdXNlIEludGVybmV0LURyYWZ0cyBhcyBy ZWZlcmVuY2U8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aW1lLiAgSXQgaXMg aW5hcHByb3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZTwvdGQ+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbWF0ZXJpYWwgb3IgdG8gY2l0ZSB0aGVtIG90aGVyIHRo YW4gYXMgIndvcmsgaW4gcHJvZ3Jlc3MuIjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi PiAgIG1hdGVyaWFsIG9yIHRvIGNpdGUgdGhlbSBvdGhlciB0aGFuIGFzICJ3b3JrIGluIHByb2dy ZXNzLiI8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz cz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGlk PSJkaWZmMDAwNCI+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBUaGlzIEludGVybmV0LURyYWZ0IHdpbGwgZXhwaXJl IG9uIDxzcGFuIGNsYXNzPSJkZWxldGUiPkphbnVhcnkgNTwvc3Bhbj4sIDIwMjAuPC90ZD48dGQ+ IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIFRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBp cmUgb24gPHNwYW4gY2xhc3M9Imluc2VydCI+RmVicnVhcnkgMTM8L3NwYW4+LCAyMDIwLjwvdGQ+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij5Db3B5cmlnaHQgTm90aWNlPC90ZD48dGQ+IDwv dGQ+PHRkIGNsYXNzPSJyaWdodCI+Q29weXJpZ2h0IE5vdGljZTwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij4gICBDb3B5cmlnaHQgKGMpIDIwMTkgSUVURiBUcnVzdCBhbmQgdGhlIHBl cnNvbnMgaWRlbnRpZmllZCBhcyB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g ICBDb3B5cmlnaHQgKGMpIDIwMTkgSUVURiBUcnVzdCBhbmQgdGhlIHBlcnNvbnMgaWRlbnRpZmll ZCBhcyB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGRvY3VtZW50IGF1dGhvcnMu ICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg IGRvY3VtZW50IGF1dGhvcnMuICBBbGwgcmlnaHRzIHJlc2VydmVkLjwvdGQ+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj bGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PHRkIGNsYXNzPSJsZWZ0Ij4gICBUaGlzIGRvY3VtZW50IGlzIHN1YmplY3QgdG8gQkNQIDc4IGFu ZCB0aGUgSUVURiBUcnVzdCdzIExlZ2FsPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ ICAgVGhpcyBkb2N1bWVudCBpcyBzdWJqZWN0IHRvIEJDUCA3OCBhbmQgdGhlIElFVEYgVHJ1c3Qn cyBMZWdhbDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgUHJvdmlzaW9ucyBSZWxhdGlu ZyB0byBJRVRGIERvY3VtZW50czwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFBy b3Zpc2lvbnMgUmVsYXRpbmcgdG8gSUVURiBEb2N1bWVudHM8L3RkPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9 ImxlZnQiPiAgIChodHRwczovL3RydXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKSBpbiBlZmZl Y3Qgb24gdGhlIGRhdGUgb2Y8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAoaHR0 cHM6Ly90cnVzdGVlLmlldGYub3JnL2xpY2Vuc2UtaW5mbykgaW4gZWZmZWN0IG9uIHRoZSBkYXRl IG9mPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBwdWJsaWNhdGlvbiBvZiB0aGlzIGRv Y3VtZW50LiAgUGxlYXNlIHJldmlldyB0aGVzZSBkb2N1bWVudHM8L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJpZ2h0Ij4gICBwdWJsaWNhdGlvbiBvZiB0aGlzIGRvY3VtZW50LiAgUGxlYXNlIHJl dmlldyB0aGVzZSBkb2N1bWVudHM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRk PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90 cj4KICAgICAgPHRyIGlkPSJwYXJ0LTMiIGNsYXNzPSJjaGFuZ2UiPjx0ZD48L3RkPjx0aD48c21h bGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48YSBocmVmPSJodHRwczovL3Rvb2xzLmll dGYub3JnL3JmY2RpZmYjcGFydC0zIj48ZW0+IHBhZ2UgMiwgbGluZSAyMTxzcGFuIGNsYXNzPSJo aWRlIj4gwrY8L3NwYW4+PC9lbT48L2E+PC90aD48dGg+IDwvdGg+PHRoPjxzbWFsbD5za2lwcGlu ZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvcmZj ZGlmZiNwYXJ0LTMiPjxlbT4gcGFnZSAyLCBsaW5lIDIxPHNwYW4gY2xhc3M9ImhpZGUiPiDCtjwv c3Bhbj48L2VtPjwvYT48L3RoPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGluY2x1ZGUgU2ltcGxpZmllZCBCU0QgTGlj ZW5zZSB0ZXh0IGFzIGRlc2NyaWJlZCBpbiBTZWN0aW9uIDQuZSBvZjwvdGQ+PHRkPiA8L3RkPjx0 ZCBjbGFzcz0icmlnaHQiPiAgIGluY2x1ZGUgU2ltcGxpZmllZCBCU0QgTGljZW5zZSB0ZXh0IGFz IGRlc2NyaWJlZCBpbiBTZWN0aW9uIDQuZSBvZjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ ICAgdGhlIFRydXN0IExlZ2FsIFByb3Zpc2lvbnMgYW5kIGFyZSBwcm92aWRlZCB3aXRob3V0IHdh cnJhbnR5IGFzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgdGhlIFRydXN0IExl Z2FsIFByb3Zpc2lvbnMgYW5kIGFyZSBwcm92aWRlZCB3aXRob3V0IHdhcnJhbnR5IGFzPC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBkZXNjcmliZWQgaW4gdGhlIFNpbXBsaWZpZWQgQlNE IExpY2Vuc2UuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgZGVzY3JpYmVkIGlu IHRoZSBTaW1wbGlmaWVkIEJTRCBMaWNlbnNlLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs ZWZ0Ij5UYWJsZSBvZiBDb250ZW50czwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPlRh YmxlIG9mIENvbnRlbnRzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDEuICBJ bnRyb2R1Y3Rpb24gIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuICAgMzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDEuICBJbnRyb2R1Y3Rp b24gIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgMzwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAxLjEuICBSZXF1aXJlbWVudHMgTGFuZ3Vh Z2UgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICAzPC90ZD48dGQ+IDwvdGQ+ PHRkIGNsYXNzPSJyaWdodCI+ICAgICAxLjEuICBSZXF1aXJlbWVudHMgTGFuZ3VhZ2UgLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICAzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs ZWZ0Ij4gICAyLiAgVGVybWlub2xvZ3kgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAgIDM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAy LiAgVGVybWlub2xvZ3kgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAgIDM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIDMuICBNb3RpdmF0aW9u ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNDwv dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIDMuICBNb3RpdmF0aW9uICAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgNDwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGlkPSJkaWZmMDAwNSI+PHRkPjwvdGQ+ PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr Ij4gICA0LiAgUHJvdG9jb2wgRXh0ZW5zaW9uICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAgIDc8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgNC4g IDxzcGFuIGNsYXNzPSJpbnNlcnQiPkFwcGxpY2FiaWxpdHkgLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA0PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGJsb2NrIj4gICAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPjQuMS48L3NwYW4+ICBBc3NvY2lh dGlvbiBHcm91cCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA3PC90 ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgIDUu PC9zcGFuPiAgUHJvdG9jb2wgRXh0ZW5zaW9uICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAgIDc8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICA8c3Bh biBjbGFzcz0iZGVsZXRlIj40LjIuPC9zcGFuPiAgRGlzam9pbnQgVExWcyAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgODwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz cz0icmJsb2NrIj4gICAgIDxzcGFuIGNsYXNzPSJpbnNlcnQiPjUuMS48L3NwYW4+ICBBc3NvY2lh dGlvbiBHcm91cCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gICA3PC90 ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+NC4z Ljwvc3Bhbj4gIFJlbGF0aW9uc2hpcCB0byBTVkVDICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAgMTA8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICA8c3Bh biBjbGFzcz0iaW5zZXJ0Ij41LjIuPC9zcGFuPiAgRGlzam9pbnQgVExWcyAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAgODwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i bGJsb2NrIj4gICAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPjQuNC48L3NwYW4+ICBEaXNqb2ludG5l c3MgT2JqZWN0aXZlIGZ1bmN0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEwPC90ZD48 dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgPHNwYW4gY2xhc3M9Imluc2VydCI+NS4z Ljwvc3Bhbj4gIFJlbGF0aW9uc2hpcCB0byBTVkVDICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAgMTA8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0 cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICA8c3BhbiBj bGFzcz0iZGVsZXRlIj40LjUuPC9zcGFuPiAgUCBGbGFnIENvbnNpZGVyYXRpb25zIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i cmJsb2NrIj4gICAgIDxzcGFuIGNsYXNzPSJpbnNlcnQiPjUuNC48L3NwYW4+ICBEaXNqb2ludG5l c3MgT2JqZWN0aXZlIGZ1bmN0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDEwPC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+NC42Ljwv c3Bhbj4gIERpc2pvaW50bmVzcyBDb21wdXRhdGlvbiBJc3N1ZXMgLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAgMTU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICA8c3BhbiBj bGFzcz0iaW5zZXJ0Ij41LjUuPC9zcGFuPiAgUCBGbGFnIENvbnNpZGVyYXRpb25zIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxMjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJs b2NrIj4gICA8c3BhbiBjbGFzcz0iZGVsZXRlIj41Ljwvc3Bhbj4gIFNlY3VyaXR5IENvbnNpZGVy YXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE2PC90ZD48dGQ+ IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgPHNwYW4gY2xhc3M9Imluc2VydCI+NS42Ljwv c3Bhbj4gIERpc2pvaW50bmVzcyBDb21wdXRhdGlvbiBJc3N1ZXMgLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAgMTU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgPHNwYW4gY2xhc3M9 ImRlbGV0ZSI+Ni48L3NwYW4+ICBJQU5BIENvbnNpZGVyYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxNjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs b2NrIj4gICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij42Ljwvc3Bhbj4gIFNlY3VyaXR5IENvbnNpZGVy YXRpb25zIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE2PC90ZD48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+Ni4xLjwvc3Bh bj4gIEFzc29jaWF0aW9uIFR5cGUgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAgMTY8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgPHNwYW4gY2xhc3M9 Imluc2VydCI+Ny48L3NwYW4+ICBJQU5BIENvbnNpZGVyYXRpb25zIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxNjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr Ij4gICAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPjYuMi48L3NwYW4+ICBQQ0VQIFRMVnMgLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNsYXNzPSJk ZWxldGUiPjE2PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgIDxz cGFuIGNsYXNzPSJpbnNlcnQiPjcuMS48L3NwYW4+ICBBc3NvY2lhdGlvbiBUeXBlICAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDE2PC90ZD48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPiAgICAgNi4zLjwvc3Bhbj4gIE9iamVjdGl2 ZSBGdW5jdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgPHNwYW4g Y2xhc3M9ImRlbGV0ZSI+MTc8L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2si PiAgICAgPHNwYW4gY2xhc3M9Imluc2VydCI+Ny4yLjwvc3Bhbj4gIFBDRVAgVExWcyAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgPHNwYW4gY2xhc3M9Imlu c2VydCI+MTc8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNz PSJkZWxldGUiPiAgICAgNi40Ljwvc3Bhbj4gIE5PLVBBVEgtVkVDVE9SIEJpdCBGbGFncyAgLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTg8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9 InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICA3LjMuPC9zcGFuPiAgT2JqZWN0aXZl IEZ1bmN0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA8c3BhbiBj bGFzcz0iaW5zZXJ0Ij4xODwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAg ICA8c3BhbiBjbGFzcz0iZGVsZXRlIj42LjUuPC9zcGFuPiAgUENFUC1FUlJPUiBDb2RlcyAgLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxODwvdGQ+PHRkPiA8L3RkPjx0 ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAgIDcuNC48L3NwYW4+ICBO Ty1QQVRILVZFQ1RPUiBCaXQgRmxhZ3MgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g IDE4PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIDxzcGFuIGNsYXNzPSJkZWxldGUi PjcuPC9zcGFuPiAgTWFuYWdlYWJpbGl0eSBDb25zaWRlcmF0aW9ucyAgLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+MTg8L3NwYW4+PC90ZD48dGQ+ IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgPHNwYW4gY2xhc3M9Imluc2VydCI+Ny41Ljwv c3Bhbj4gIFBDRVAtRVJST1IgQ29kZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAgMTg8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRl bGV0ZSI+ICAgICA3LjEuPC9zcGFuPiAgQ29udHJvbCBvZiBGdW5jdGlvbiBhbmQgUG9saWN5ICAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFzcz0iZGVsZXRlIj4xODwvc3Bhbj48 L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgPHNwYW4gY2xhc3M9Imluc2VydCI+ OC48L3NwYW4+ICBNYW5hZ2VhYmlsaXR5IENvbnNpZGVyYXRpb25zICAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij4xOTwvc3Bhbj48L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgICA3LjIuPC9zcGFu PiAgSW5mb3JtYXRpb24gYW5kIERhdGEgTW9kZWxzIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuICAxOTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5z ZXJ0Ij4gICAgIDguMS48L3NwYW4+ICBDb250cm9sIG9mIEZ1bmN0aW9uIGFuZCBQb2xpY3kgIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNsYXNzPSJpbnNlcnQiPjE5PC9zcGFuPjwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPjcu My48L3NwYW4+ICBMaXZlbmVzcyBEZXRlY3Rpb24gYW5kIE1vbml0b3JpbmcgLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gIDE5PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNs YXNzPSJpbnNlcnQiPiAgICAgOC4yLjwvc3Bhbj4gIEluZm9ybWF0aW9uIGFuZCBEYXRhIE1vZGVs cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgMTk8L3RkPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9 ImxibG9jayI+ICAgICA8c3BhbiBjbGFzcz0iZGVsZXRlIj43LjQuPC9zcGFuPiAgVmVyaWZ5IENv cnJlY3QgT3BlcmF0aW9ucyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAxOTwvdGQ+ PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgIDxzcGFuIGNsYXNzPSJpbnNlcnQiPjgu My48L3NwYW4+ICBMaXZlbmVzcyBEZXRlY3Rpb24gYW5kIE1vbml0b3JpbmcgLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gIDE5PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgPHNwYW4g Y2xhc3M9ImRlbGV0ZSI+Ny41Ljwvc3Bhbj4gIFJlcXVpcmVtZW50cyBPbiBPdGhlciBQcm90b2Nv bHMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+MTk8L3Nw YW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgPHNwYW4gY2xhc3M9Imlu c2VydCI+OC40Ljwvc3Bhbj4gIFZlcmlmeSBDb3JyZWN0IE9wZXJhdGlvbnMgLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAgMTk8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNw YW4gY2xhc3M9ImRlbGV0ZSI+ICAgICA3LjYuPC9zcGFuPiAgSW1wYWN0IE9uIE5ldHdvcmsgT3Bl cmF0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFzcz0iZGVsZXRl Ij4xOTwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICA8c3BhbiBj bGFzcz0iaW5zZXJ0Ij44LjUuPC9zcGFuPiAgUmVxdWlyZW1lbnRzIE9uIE90aGVyIFByb3RvY29s cyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij4yMDwvc3Bh bj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAg OC48L3NwYW4+ICBBY2tub3dsZWRnbWVudHMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFzcz0iZGVsZXRlIj4xOTwvc3Bhbj48L3RkPjx0ZD4g PC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgICA4LjYuPC9z cGFuPiAgSW1wYWN0IE9uIE5ldHdvcmsgT3BlcmF0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij4yMDwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xh c3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ICAgOS48L3NwYW4+ICBSZWZlcmVuY2Vz ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA8c3Bh biBjbGFzcz0iZGVsZXRlIj4xOTwvc3Bhbj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9j ayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgOS48L3NwYW4+ICBBY2tub3dsZWRnbWVudHMgLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFzcz0i aW5zZXJ0Ij4yMDwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xh c3M9ImRlbGV0ZSI+ICAgICA5LjEuPC9zcGFuPiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMgIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAyMDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz cz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICAxMC48L3NwYW4+IFJlZmVyZW5jZXMg IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFu IGNsYXNzPSJpbnNlcnQiPjIwPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90 cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4g ICAgIDxzcGFuIGNsYXNzPSJkZWxldGUiPjkuMi48L3NwYW4+ICBJbmZvcm1hdGl2ZSBSZWZlcmVu Y2VzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNsYXNzPSJkZWxl dGUiPjIwPC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFz cz0iaW5zZXJ0Ij4gICAgIDEwLjEuPC9zcGFuPiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDIwPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs YmxvY2siPiAgIEFwcGVuZGl4IEEuICBDb250cmlidXRvciBBZGRyZXNzZXMgIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuICA8c3BhbiBjbGFzcz0iZGVsZXRlIj4yMjwvc3Bhbj48L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij4xMC4y Ljwvc3Bhbj4gIEluZm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij4yMTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg Y2xhc3M9ImxibG9jayI+ICAgQXV0aG9ycycgQWRkcmVzc2VzICAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDxzcGFuIGNsYXNzPSJkZWxldGUiPjIyPC9zcGFu PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBBcHBlbmRpeCBBLiAgQ29udHJp YnV0b3IgQWRkcmVzc2VzICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgPHNwYW4gY2xh c3M9Imluc2VydCI+MjM8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgog ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+ PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBBdXRob3JzJyBBZGRyZXNzZXMgIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgPHNwYW4gY2xhc3M9Imlu c2VydCI+MjM8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjEuICBJbnRy b2R1Y3Rpb248L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4xLiAgSW50cm9kdWN0aW9u PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp Z2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFtSRkM1NDQwXSBkZXNjcmliZXMg dGhlIFBhdGggQ29tcHV0YXRpb24gRWxlbWVudCBjb21tdW5pY2F0aW9uPC90ZD48dGQ+IDwvdGQ+ PHRkIGNsYXNzPSJyaWdodCI+ICAgW1JGQzU0NDBdIGRlc2NyaWJlcyB0aGUgUGF0aCBDb21wdXRh dGlvbiBFbGVtZW50IGNvbW11bmljYXRpb248L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg IFByb3RvY29sIChQQ0VQKSB3aGljaCBlbmFibGVzIHRoZSBjb21tdW5pY2F0aW9uIGJldHdlZW4g YSBQYXRoPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgUHJvdG9jb2wgKFBDRVAp IHdoaWNoIGVuYWJsZXMgdGhlIGNvbW11bmljYXRpb24gYmV0d2VlbiBhIFBhdGg8L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIENvbXB1dGF0aW9uIENsaWVudCAoUENDKSBhbmQgYSBQYXRo IENvbnRyb2wgRWxlbWVudCAoUENFKSwgb3IgYmV0d2VlbjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz cz0icmlnaHQiPiAgIENvbXB1dGF0aW9uIENsaWVudCAoUENDKSBhbmQgYSBQYXRoIENvbnRyb2wg RWxlbWVudCAoUENFKSwgb3IgYmV0d2VlbjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90 cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg dHdvIFBDRXMgYmFzZWQgb24gdGhlIFBDRSBhcmNoaXRlY3R1cmUgW1JGQzQ2NTVdLjwvdGQ+PHRk PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHR3byBQQ0VzIGJhc2VkIG9uIHRoZSBQQ0UgYXJj aGl0ZWN0dXJlIFtSRkM0NjU1XS48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRk PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90 cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg UENFUCBFeHRlbnNpb25zIGZvciBTdGF0ZWZ1bCBQQ0UgTW9kZWwgW1JGQzgyMzFdIGRlc2NyaWJl cyBhIHNldCBvZjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFBDRVAgRXh0ZW5z aW9ucyBmb3IgU3RhdGVmdWwgUENFIE1vZGVsIFtSRkM4MjMxXSBkZXNjcmliZXMgYSBzZXQgb2Y8 L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGV4dGVuc2lvbnMgdG8gUENFUCB0byBlbmFi bGUgYWN0aXZlIGNvbnRyb2wgb2YgTVBMUy1URSBhbmQgR01QTFM8L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJpZ2h0Ij4gICBleHRlbnNpb25zIHRvIFBDRVAgdG8gZW5hYmxlIGFjdGl2ZSBjb250 cm9sIG9mIE1QTFMtVEUgYW5kIEdNUExTPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3Rk Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk PjwvdHI+CiAgICAgIDx0ciBpZD0icGFydC00IiBjbGFzcz0iY2hhbmdlIj48dGQ+PC90ZD48dGg+ PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGEgaHJlZj0iaHR0cHM6Ly90b29s cy5pZXRmLm9yZy9yZmNkaWZmI3BhcnQtNCI+PGVtPiBwYWdlIDUsIGxpbmUgNTxzcGFuIGNsYXNz PSJoaWRlIj4gwrY8L3NwYW4+PC9lbT48L2E+PC90aD48dGg+IDwvdGg+PHRoPjxzbWFsbD5za2lw cGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcv cmZjZGlmZiNwYXJ0LTQiPjxlbT4gcGFnZSA0LCBsaW5lIDQzPHNwYW4gY2xhc3M9ImhpZGUiPiDC tjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIGRpZmZlcmVudCBsaW5rcyB0aGF0 IGRvIG5vdCBzaGFyZSBmYXRlIChidXQgbWF5IHVzZSBjb21tb24gdHJhbnNpdDwvdGQ+PHRkPiA8 L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIGRpZmZlcmVudCBsaW5rcyB0aGF0IGRvIG5vdCBz aGFyZSBmYXRlIChidXQgbWF5IHVzZSBjb21tb24gdHJhbnNpdDwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+ICAgICAgbm9kZXMpLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg ICAgIG5vZGVzKS48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0 ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbyAgTm9kZStT UkxHIGRpc2pvaW50bmVzczogdGhlIHBhdGhzIG9mIHRoZSBhc3NvY2lhdGVkIExTUHMgc2hvdWxk PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgbyAgTm9kZStTUkxHIGRpc2pvaW50 bmVzczogdGhlIHBhdGhzIG9mIHRoZSBhc3NvY2lhdGVkIExTUHMgc2hvdWxkPC90ZD48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICB0cmFuc2l0IGRpZmZlcmVudCBsaW5rcyB0aGF0IGRvIG5v dCBoYXZlIGFueSBjb21tb24gc2hhcmVkIGZhdGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp Z2h0Ij4gICAgICB0cmFuc2l0IGRpZmZlcmVudCBsaW5rcyB0aGF0IGRvIG5vdCBoYXZlIGFueSBj b21tb24gc2hhcmVkIGZhdGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIGFuZCBz aG91bGQgdHJhbnNpdCBkaWZmZXJlbnQgbm9kZXMuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy aWdodCI+ICAgICAgYW5kIHNob3VsZCB0cmFuc2l0IGRpZmZlcmVudCBub2Rlcy48L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhlIGFzc29jaWF0ZWQgTFNQcyBtYXkgb3JpZ2lu YXRlIGZyb20gdGhlIHNhbWUgb3IgZnJvbSBkaWZmZXJlbnQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xh c3M9InJpZ2h0Ij4gICBUaGUgYXNzb2NpYXRlZCBMU1BzIG1heSBvcmlnaW5hdGUgZnJvbSB0aGUg c2FtZSBvciBmcm9tIGRpZmZlcmVudDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgaGVh ZC1lbmQocykgYW5kIG1heSB0ZXJtaW5hdGUgYXQgdGhlIHNhbWUgb3IgZGlmZmVyZW50IHRhaWwt ZW5kKHMpLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGhlYWQtZW5kKHMpIGFu ZCBtYXkgdGVybWluYXRlIGF0IHRoZSBzYW1lIG9yIGRpZmZlcmVudCB0YWlsLWVuZChzKS48L3Rk Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGlkPSJkaWZmMDAw NiI+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj bGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xh c3M9Imluc2VydCI+NC4gIEFwcGxpY2FiaWxpdHk8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsZWZ0Ij4gICAgICAgICAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgICAgIF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs ZWZ0Ij4gICAgICAgICAgIC8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgIC8gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl ZnQiPiAgICAgICAgICAvICAgICAgICArLS0tLS0tKyAgICAgICAgICAgICAgICAgICAgICAgICAg IFw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgLyAgICAgICAgKy0t LS0tLSsgICAgICAgICAgICAgICAgICAgICAgICAgICBcPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs ZWZ0Ij4gICAgICAgICB8ICAgICAgICAgfCBQQ0UgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgIHwgICAgICAgICB8 IFBDRSAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8PC90ZD48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsZWZ0Ij4gICAgICAgICB8ICAgICAgICAgKy0tLS0tLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgIHwgICAgICAg ICArLS0tLS0tKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8PC90ZD48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNs YXNzPSJsZWZ0Ij4gICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8PC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij4gICAgICAgICB8ICAgICAgICAgICoqKioqKioqKioqKioqKioqKioqKioq Jmd0OyAgICAgICAgICAgfDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAg IHwgICAgICAgICAgKioqKioqKioqKioqKioqKioqKioqKiomZ3Q7ICAgICAgICAgICB8PC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICB8ICstLS0tLS0rICAgICAgICAgICAxMCAg ICAgICAgICAgICArLS0tLS0tKyAgfDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg ICAgICAgIHwgKy0tLS0tLSsgICAgICAgICAgIDEwICAgICAgICAgICAgICstLS0tLS0rICB8PC90 ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBDRTEgKioqKnwgUEUgMSB8IC0tLS0tIFIxIC0t LS0gUjIgLS0tLS0tLSB8IFBFIDIgfCoqKiogQ0UyPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy aWdodCI+ICAgQ0UxICoqKip8IFBFIDEgfCAtLS0tLSBSMSAtLS0tIFIyIC0tLS0tLS0gfCBQRSAy IHwqKioqIENFMjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgfCArLS0tLS0t KyAgICAgICB8ICAgICAgICB8ICAgICAgICAgKy0tLS0tLSsgIHw8L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJpZ2h0Ij4gICAgICAgICB8ICstLS0tLS0rICAgICAgIHwgICAgICAgIHwgICAgICAg ICArLS0tLS0tKyAgfDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+ PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg ICA8dHIgaWQ9InBhcnQtNSIgY2xhc3M9ImNoYW5nZSI+PHRkPjwvdGQ+PHRoPjxzbWFsbD5za2lw cGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcv cmZjZGlmZiNwYXJ0LTUiPjxlbT4gcGFnZSA1LCBsaW5lIDM0PHNwYW4gY2xhc3M9ImhpZGUiPiDC tjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0aD4gPC90aD48dGg+PHNtYWxsPnNraXBwaW5nIHRvIGNo YW5nZSBhdDwvc21hbGw+PGEgaHJlZj0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9yZmNkaWZmI3Bh cnQtNSI+PGVtPiBwYWdlIDUsIGxpbmUgMzM8c3BhbiBjbGFzcz0iaGlkZSI+IMK2PC9zcGFuPjwv ZW0+PC9hPjwvdGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICBGaWd1cmUgMSAtIERpc2pvaW50IHBhdGhzIHdpdGgg ZGlmZmVyZW50IGhlYWQtZW5kcyBhbmQgdGFpbC1lbmRzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz PSJyaWdodCI+ICAgICBGaWd1cmUgMSAtIERpc2pvaW50IHBhdGhzIHdpdGggZGlmZmVyZW50IGhl YWQtZW5kcyBhbmQgdGFpbC1lbmRzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgog ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg IEluIHRoZSBmaWd1cmUgYWJvdmUsIGxldCB1cyBjb25zaWRlciB0aGF0IHRoZSBjdXN0b21lciB3 YW50cyB0byBoYXZlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgSW4gdGhlIGZp Z3VyZSBhYm92ZSwgbGV0IHVzIGNvbnNpZGVyIHRoYXQgdGhlIGN1c3RvbWVyIHdhbnRzIHRvIGhh dmU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHR3byBkaXNqb2ludCBwYXRocyBiZXR3 ZWVuIENFMS9DRTIgYW5kIENFMy9DRTQuICBGcm9tIGFuIElQL01QTFM8L3RkPjx0ZD4gPC90ZD48 dGQgY2xhc3M9InJpZ2h0Ij4gICB0d28gZGlzam9pbnQgcGF0aHMgYmV0d2VlbiBDRTEvQ0UyIGFu ZCBDRTMvQ0U0LiAgRnJvbSBhbiBJUC9NUExTPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g ICBuZXR3b3JrIHBvaW50IHZpZXcsIGluIHRoaXMgZXhhbXBsZSwgdGhlIENFcyBhcmUgY29ubmVj dGVkIHRvPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgbmV0d29yayBwb2ludCB2 aWV3LCBpbiB0aGlzIGV4YW1wbGUsIHRoZSBDRXMgYXJlIGNvbm5lY3RlZCB0bzwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgZGlmZmVyZW50IFBFcyB0byBtYXhpbWl6ZSB0aGVpciBkaXNq b2ludG5lc3MuICBXaGVuIExTUHMgb3JpZ2luYXRlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy aWdodCI+ICAgZGlmZmVyZW50IFBFcyB0byBtYXhpbWl6ZSB0aGVpciBkaXNqb2ludG5lc3MuICBX aGVuIExTUHMgb3JpZ2luYXRlPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBmcm9tIGRp ZmZlcmVudCBoZWFkLWVuZHMsIGRpc3RyaWJ1dGVkIGNvbXB1dGF0aW9uIG9mIGRpdmVyc2UgcGF0 aHM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBmcm9tIGRpZmZlcmVudCBoZWFk LWVuZHMsIGRpc3RyaWJ1dGVkIGNvbXB1dGF0aW9uIG9mIGRpdmVyc2UgcGF0aHM8L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGNhbiBiZSBkaWZmaWN1bHQsIHdoZXJlYXMsIGNvbXB1dGF0 aW9uIHZpYSBhIGNlbnRyYWxpemVkIFBDRSBlbnN1cmVzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz PSJyaWdodCI+ICAgY2FuIGJlIGRpZmZpY3VsdCwgd2hlcmVhcywgY29tcHV0YXRpb24gdmlhIGEg Y2VudHJhbGl6ZWQgUENFIGVuc3VyZXM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHBh dGggZGlzam9pbnRuZXNzLCBjb3JyZWN0bmVzcyBhbmQgc2ltcGxpY2l0eS48L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBwYXRoIGRpc2pvaW50bmVzcywgY29ycmVjdG5lc3MgYW5k IHNpbXBsaWNpdHkuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48 dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg IDx0ciBpZD0iZGlmZjAwMDciPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgU2VjdGlvbiA8c3BhbiBjbGFzcz0iZGVs ZXRlIj40PC9zcGFuPi4zIGRlc2NyaWJlcyB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIGRp c2pvaW50PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIFNlY3Rpb24gPHNwYW4g Y2xhc3M9Imluc2VydCI+NTwvc3Bhbj4uMyBkZXNjcmliZXMgdGhlIHJlbGF0aW9uc2hpcCBiZXR3 ZWVuIHRoZSBkaXNqb2ludDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYXNzb2NpYXRp b24gZ3JvdXAgYW5kIFN5bmNocm9uaXphdGlvbiBWRUN0b3IgKFNWRUMpIG9iamVjdC48L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhc3NvY2lhdGlvbiBncm91cCBhbmQgU3luY2hy b25pemF0aW9uIFZFQ3RvciAoU1ZFQykgb2JqZWN0LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm dCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsZWZ0Ij4gICBUaGUgUENFUCBleHRlbnNpb24gZm9yIHN0YXRlZnVsIFBDRSBbUkZDODIzMV0g ZGVmaW5lZCBuZXcgUENFUDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFRoZSBQ Q0VQIGV4dGVuc2lvbiBmb3Igc3RhdGVmdWwgUENFIFtSRkM4MjMxXSBkZWZpbmVkIG5ldyBQQ0VQ PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBtZXNzYWdlcyAtIFBhdGggQ29tcHV0YXRp b24gUmVwb3J0IChQQ1JwdCksIFBhdGggQ29tcHV0YXRpb24gVXBkYXRlPC90ZD48dGQ+IDwvdGQ+ PHRkIGNsYXNzPSJyaWdodCI+ICAgbWVzc2FnZXMgLSBQYXRoIENvbXB1dGF0aW9uIFJlcG9ydCAo UENScHQpLCBQYXRoIENvbXB1dGF0aW9uIFVwZGF0ZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm dCI+ICAgKFBDVXBkKSBhbmQgUGF0aCBDb21wdXRhdGlvbiBJbml0aWF0ZSAoUENJbml0aWF0ZSkg W1JGQzgyODFdLiAgVGhlc2U8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAoUENV cGQpIGFuZCBQYXRoIENvbXB1dGF0aW9uIEluaXRpYXRlIChQQ0luaXRpYXRlKSBbUkZDODI4MV0u ICBUaGVzZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbWVzc2FnZXMgdXNlIFBMU1At SUQgaW4gdGhlIExTUCBvYmplY3QgZm9yIGlkZW50aWZpY2F0aW9uLiAgTW9yZW92ZXI8L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBtZXNzYWdlcyB1c2UgUExTUC1JRCBpbiB0aGUg TFNQIG9iamVjdCBmb3IgaWRlbnRpZmljYXRpb24uICBNb3Jlb3ZlcjwvdGQ+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj bGFzcz0ibGVmdCI+ICAgdG8gYWxsb3cgZGl2ZXJzaXR5IGJldHdlZW4gTFNQcyBvcmlnaW5hdGlu ZyBmcm9tIGRpZmZlcmVudCBQQ0NzLCB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0 Ij4gICB0byBhbGxvdyBkaXZlcnNpdHkgYmV0d2VlbiBMU1BzIG9yaWdpbmF0aW5nIGZyb20gZGlm ZmVyZW50IFBDQ3MsIHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgZ2VuZXJpYyBt ZWNoYW5pc20gdG8gY3JlYXRlIGEgZ3JvdXBpbmcgb2YgTFNQcyBpcyBkZXNjcmliZWQgaW48L3Rk Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBnZW5lcmljIG1lY2hhbmlzbSB0byBjcmVh dGUgYSBncm91cGluZyBvZiBMU1BzIGlzIGRlc2NyaWJlZCBpbjwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+ICAgW0ktRC5pZXRmLXBjZS1hc3NvY2lhdGlvbi1ncm91cF0gKHRoYXQgaXMgZXF1 YWxseSBhcHBsaWNhYmxlIHRvIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg IFtJLUQuaWV0Zi1wY2UtYXNzb2NpYXRpb24tZ3JvdXBdICh0aGF0IGlzIGVxdWFsbHkgYXBwbGlj YWJsZSB0byB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFjdGl2ZSBhbmQgcGFz c2l2ZSBtb2RlcyBvZiBhIHN0YXRlZnVsIFBDRSkuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy aWdodCI+ICAgYWN0aXZlIGFuZCBwYXNzaXZlIG1vZGVzIG9mIGEgc3RhdGVmdWwgUENFKS48L3Rk Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGlkPSJwYXJ0LTYi IGNsYXNzPSJjaGFuZ2UiPjx0ZD48L3RkPjx0aD48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0 PC9zbWFsbD48YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL3JmY2RpZmYjcGFydC02Ij48 ZW0+IHBhZ2UgNywgbGluZSAxMTxzcGFuIGNsYXNzPSJoaWRlIj4gwrY8L3NwYW4+PC9lbT48L2E+ PC90aD48dGg+IDwvdGg+PHRoPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxh IGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvcmZjZGlmZiNwYXJ0LTYiPjxlbT4gcGFnZSA3 LCBsaW5lIDExPHNwYW4gY2xhc3M9ImhpZGUiPiDCtjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0ZD48 L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl ZnQiPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uPC90ZD48dGQ+IDwv dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl c3Npb248L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz cz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVXNpbmcgdGhlIGRpc2pv aW50LWdyb3VwIHdpdGhpbiBhIFBDRVAgbWVzc2FnZXMgbWF5IGhhdmUgdHdvIHB1cnBvc2U6PC90 ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVXNpbmcgdGhlIGRpc2pvaW50LWdyb3Vw IHdpdGhpbiBhIFBDRVAgbWVzc2FnZXMgbWF5IGhhdmUgdHdvIHB1cnBvc2U6PC90ZD48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIG8gIENvbmZpZ3VyYXRpb246IFVzZWQgdG8gY29tbXVu aWNhdGUgdGhlIGNvbmZpZ3VyZWQgZGlzam9pbnQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp Z2h0Ij4gICBvICBDb25maWd1cmF0aW9uOiBVc2VkIHRvIGNvbW11bmljYXRlIHRoZSBjb25maWd1 cmVkIGRpc2pvaW50PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICByZXF1aXJlbWVu dCB0byBhIFBDRVAgcGVlci48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBy ZXF1aXJlbWVudCB0byBhIFBDRVAgcGVlci48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwv dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm dCI+ICAgbyAgU3RhdHVzOiBVc2VkIHRvIGNvbW11bmljYXRlIHRoZSBzdGF0dXMgb2YgdGhlIGNv bXB1dGVkPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgbyAgU3RhdHVzOiBVc2Vk IHRvIGNvbW11bmljYXRlIHRoZSBzdGF0dXMgb2YgdGhlIGNvbXB1dGVkPC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij4gICAgICBkaXNqb2ludG5lc3MuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz PSJyaWdodCI+ICAgICAgZGlzam9pbnRuZXNzLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYwMDA4Ij48dGQ+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNz PSJkZWxldGUiPjQ8L3NwYW4+LiAgUHJvdG9jb2wgRXh0ZW5zaW9uPC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPjU8L3NwYW4+LiAgUHJvdG9jb2wg RXh0ZW5zaW9uPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0 ciBpZD0iZGlmZjAwMDkiPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+NDwvc3Bhbj4u MS4gIEFzc29jaWF0aW9uIEdyb3VwPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxz cGFuIGNsYXNzPSJpbnNlcnQiPjU8L3NwYW4+LjEuICBBc3NvY2lhdGlvbiBHcm91cDwvdGQ+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90 ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBcyBwZXIgW0ktRC5pZXRmLXBjZS1hc3NvY2lh dGlvbi1ncm91cF0sIExTUHMgYXJlIGFzc29jaWF0ZWQgd2l0aDwvdGQ+PHRkPiA8L3RkPjx0ZCBj bGFzcz0icmlnaHQiPiAgIEFzIHBlciBbSS1ELmlldGYtcGNlLWFzc29jaWF0aW9uLWdyb3VwXSwg TFNQcyBhcmUgYXNzb2NpYXRlZCB3aXRoPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBv dGhlciBMU1BzIHdpdGggd2hpY2ggdGhleSBpbnRlcmFjdCBieSBhZGRpbmcgdGhlbSB0byBhIGNv bW1vbjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIG90aGVyIExTUHMgd2l0aCB3 aGljaCB0aGV5IGludGVyYWN0IGJ5IGFkZGluZyB0aGVtIHRvIGEgY29tbW9uPC90ZD48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PHRkIGNsYXNzPSJsZWZ0Ij4gICBhc3NvY2lhdGlvbiBncm91cC4gIFRoZSBBc3NvY2lhdGlvbiBw YXJhbWV0ZXJzLCBhcyBkZXNjcmliZWQgaW48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0 Ij4gICBhc3NvY2lhdGlvbiBncm91cC4gIFRoZSBBc3NvY2lhdGlvbiBwYXJhbWV0ZXJzLCBhcyBk ZXNjcmliZWQgaW48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFtJLUQuaWV0Zi1wY2Ut YXNzb2NpYXRpb24tZ3JvdXBdIGFzIHRoZSBjb21iaW5hdGlvbiBvZiB0aGUgbWFuZGF0b3J5PC90 ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgW0ktRC5pZXRmLXBjZS1hc3NvY2lhdGlv bi1ncm91cF0gYXMgdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSBtYW5kYXRvcnk8L3RkPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 dGQgY2xhc3M9ImxlZnQiPiAgIGZpZWxkcyBBc3NvY2lhdGlvbiB0eXBlLCBBc3NvY2lhdGlvbiBJ RCBhbmQgQXNzb2NpYXRpb24gU291cmNlIGluIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i cmlnaHQiPiAgIGZpZWxkcyBBc3NvY2lhdGlvbiB0eXBlLCBBc3NvY2lhdGlvbiBJRCBhbmQgQXNz b2NpYXRpb24gU291cmNlIGluIHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgQVNT T0NJQVRJT04gb2JqZWN0LCB0aGF0IHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBhc3NvY2lhdGlvbiBn cm91cDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEFTU09DSUFUSU9OIG9iamVj dCwgdGhhdCB1bmlxdWVseSBpZGVudGlmeSB0aGUgYXNzb2NpYXRpb24gZ3JvdXA8L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGJlbG9uZ2luZyB0byB0aGlzIGFzc29jaWF0aW9uLiAgSWYg dGhlIG9wdGlvbmFsIFRMVnMgLSBHbG9iYWw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0 Ij4gICBiZWxvbmdpbmcgdG8gdGhpcyBhc3NvY2lhdGlvbi4gIElmIHRoZSBvcHRpb25hbCBUTFZz IC0gR2xvYmFsPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBc3NvY2lhdGlvbiBTb3Vy Y2Ugb3IgRXh0ZW5kZWQgQXNzb2NpYXRpb24gSUQgLSBhcmUgaW5jbHVkZWQsIHRoZW48L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBBc3NvY2lhdGlvbiBTb3VyY2Ugb3IgRXh0ZW5k ZWQgQXNzb2NpYXRpb24gSUQgLSBhcmUgaW5jbHVkZWQsIHRoZW48L3RkPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xh c3M9ImxlZnQiPiAgIHRoZXkgYXJlIGluY2x1ZGVkIGluIGNvbWJpbmF0aW9uIHdpdGggbWFuZGF0 b3J5IGZpZWxkcyB0byB1bmlxdWVseTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg IHRoZXkgYXJlIGluY2x1ZGVkIGluIGNvbWJpbmF0aW9uIHdpdGggbWFuZGF0b3J5IGZpZWxkcyB0 byB1bmlxdWVseTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHIgaWQ9InBhcnQtNyIgY2xhc3M9ImNoYW5nZSI+PHRkPjwvdGQ+PHRoPjxzbWFsbD5za2lwcGlu ZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvcmZj ZGlmZiNwYXJ0LTciPjxlbT4gcGFnZSA4LCBsaW5lIDIwPHNwYW4gY2xhc3M9ImhpZGUiPiDCtjwv c3Bhbj48L2VtPjwvYT48L3RoPjx0aD4gPC90aD48dGg+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5n ZSBhdDwvc21hbGw+PGEgaHJlZj0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9yZmNkaWZmI3BhcnQt NyI+PGVtPiBwYWdlIDgsIGxpbmUgMjA8c3BhbiBjbGFzcz0iaGlkZSI+IMK2PC9zcGFuPjwvZW0+ PC9hPjwvdGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgcG9saWNlcyBNQVkgZGVmaW5lIHRoZSBjb21wdXRhdGlvbmFs IGJlaGF2aW9yIGZvciB0aGUgb3RoZXIgTFNQcyBpbjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i cmlnaHQiPiAgIHBvbGljZXMgTUFZIGRlZmluZSB0aGUgY29tcHV0YXRpb25hbCBiZWhhdmlvciBm b3IgdGhlIG90aGVyIExTUHMgaW48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHRoZSBn cm91cC4gIEZvciBleGFtcGxlLCB0aGUgUENFIG1heSBwcm92aWRlIG5vIHBhdGgsIGEgc2hvcnRl c3Q8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aGUgZ3JvdXAuICBGb3IgZXhh bXBsZSwgdGhlIFBDRSBtYXkgcHJvdmlkZSBubyBwYXRoLCBhIHNob3J0ZXN0PC90ZD48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PHRkIGNsYXNzPSJsZWZ0Ij4gICBwYXRoLCBvciBhIGNvbnN0cmFpbmVkIHBhdGggYmFzZWQgb24g cmVsYXhpbmcgZGlzam9pbnRuZXNzLCBldGMuICBUaGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9 InJpZ2h0Ij4gICBwYXRoLCBvciBhIGNvbnN0cmFpbmVkIHBhdGggYmFzZWQgb24gcmVsYXhpbmcg ZGlzam9pbnRuZXNzLCBldGMuICBUaGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGRp c2pvaW50IHN0YXR1cyBpcyBpbmZvcm1lZCB0byB0aGUgUENDLjwvdGQ+PHRkPiA8L3RkPjx0ZCBj bGFzcz0icmlnaHQiPiAgIGRpc2pvaW50IHN0YXR1cyBpcyBpbmZvcm1lZCB0byB0aGUgUENDLjwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo dCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBc3NvY2lhdGluZyBhIHBhcnRpY3Vs YXIgTFNQIHRvIG11bHRpcGxlIGRpc2pvaW50IGdyb3VwcyBpczwvdGQ+PHRkPiA8L3RkPjx0ZCBj bGFzcz0icmlnaHQiPiAgIEFzc29jaWF0aW5nIGEgcGFydGljdWxhciBMU1AgdG8gbXVsdGlwbGUg ZGlzam9pbnQgZ3JvdXBzIGlzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhdXRob3Jp emVkIGZyb20gYSBwcm90b2NvbCBwZXJzcGVjdGl2ZSwgaG93ZXZlciB0aGVyZSBpcyBubyBhc3N1 cmFuY2U8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhdXRob3JpemVkIGZyb20g YSBwcm90b2NvbCBwZXJzcGVjdGl2ZSwgaG93ZXZlciB0aGVyZSBpcyBubyBhc3N1cmFuY2U8L3Rk Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHRoYXQgdGhlIFBDRSB3aWxsIGJlIGFibGUgdG8g Y29tcHV0ZSBwcm9wZXJseSB0aGUgbXVsdGktZGlzam9pbnRuZXNzPC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyaWdodCI+ICAgdGhhdCB0aGUgUENFIHdpbGwgYmUgYWJsZSB0byBjb21wdXRlIHBy b3Blcmx5IHRoZSBtdWx0aS1kaXNqb2ludG5lc3M8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi PiAgIGNvbnN0cmFpbnQuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgY29uc3Ry YWludC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz cz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGlk PSJkaWZmMDAxMCI+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVsZXRlIj40PC9zcGFuPi4yLiAg RGlzam9pbnQgVExWczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFz cz0iaW5zZXJ0Ij41PC9zcGFuPi4yLiAgRGlzam9pbnQgVExWczwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij4gICBUaGUgZGlzam9pbnQgZ3JvdXAgTVVTVCBjYXJyeSB0aGUgZm9sbG93 aW5nIFRMVjo8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUaGUgZGlzam9pbnQg Z3JvdXAgTVVTVCBjYXJyeSB0aGUgZm9sbG93aW5nIFRMVjo8L3RkPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9 ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj bGFzcz0ibGVmdCI+ICAgbyAgRElTSk9JTlRORVNTLUNPTkZJR1VSQVRJT04tVExWOiBVc2VkIHRv IGNvbW11bmljYXRlIHNvbWU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBvICBE SVNKT0lOVE5FU1MtQ09ORklHVVJBVElPTi1UTFY6IFVzZWQgdG8gY29tbXVuaWNhdGUgc29tZTwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgZGlzam9pbnRuZXNzIGNvbmZpZ3VyYXRp b24gcGFyYW1ldGVycy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBkaXNq b2ludG5lc3MgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i bGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNs YXNzPSJsZWZ0Ij4gICBJbiBhZGRpdGlvbiwgdGhlIGRpc2pvaW50IGdyb3VwIE1BWSBjYXJyeSB0 aGUgZm9sbG93aW5nIFRMVjo8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBJbiBh ZGRpdGlvbiwgdGhlIGRpc2pvaW50IGdyb3VwIE1BWSBjYXJyeSB0aGUgZm9sbG93aW5nIFRMVjo8 L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln aHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbyAgRElTSk9JTlRORVNTLVNUQVRV Uy1UTFY6IFVzZWQgdG8gY29tbXVuaWNhdGUgdGhlIHN0YXR1cyBvZiB0aGU8L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBvICBESVNKT0lOVE5FU1MtU1RBVFVTLVRMVjogVXNlZCB0 byBjb21tdW5pY2F0ZSB0aGUgc3RhdHVzIG9mIHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm dCI+ICAgICAgY29tcHV0ZWQgZGlzam9pbnRuZXNzLiAgVGhpcyBpcyBhcHBsaWNhYmxlIGZvciBt ZXNzYWdlcyBmcm9tIFBDRTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgIGNv bXB1dGVkIGRpc2pvaW50bmVzcy4gIFRoaXMgaXMgYXBwbGljYWJsZSBmb3IgbWVzc2FnZXMgZnJv bSBQQ0U8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIHRvIFBDQyAoUENVcGQsIFBD SW5pdGlhdGUgb3IgUENSZXAgbWVzc2FnZSkuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo dCI+ICAgICAgdG8gUENDIChQQ1VwZCwgUENJbml0aWF0ZSBvciBQQ1JlcCBtZXNzYWdlKS48L3Rk Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi PjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbyAgVkVORE9SLUlORk9STUFUSU9OLVRM VjogVXNlZCB0byBjb21tdW5pY2F0ZSBhcmJpdHJhcnkgdmVuZG9yLTwvdGQ+PHRkPiA8L3RkPjx0 ZCBjbGFzcz0icmlnaHQiPiAgIG8gIFZFTkRPUi1JTkZPUk1BVElPTi1UTFY6IFVzZWQgdG8gY29t bXVuaWNhdGUgYXJiaXRyYXJ5IHZlbmRvci08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg ICAgIHNwZWNpZmljIGJlaGF2aW9yYWwgaW5mb3JtYXRpb24sIGRlc2NyaWJlZCBpbiBbUkZDNzQ3 MF0uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgc3BlY2lmaWMgYmVoYXZp b3JhbCBpbmZvcm1hdGlvbiwgZGVzY3JpYmVkIGluIFtSRkM3NDcwXS48L3RkPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg Y2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgbyAgT0YtTGlzdCBUTFY6IFVzZWQgdG8gY29tbXVuaWNhdGUg dGhlIGRpc2pvaW50bmVzcyBvYmplY3RpdmU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0 Ij4gICBvICBPRi1MaXN0IFRMVjogVXNlZCB0byBjb21tdW5pY2F0ZSB0aGUgZGlzam9pbnRuZXNz IG9iamVjdGl2ZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGlk PSJkaWZmMDAxMSI+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICBmdW5jdGlvbi4gIFNlZSBTZWN0aW9uIDxzcGFu IGNsYXNzPSJkZWxldGUiPjQ8L3NwYW4+LjQuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxv Y2siPiAgICAgIGZ1bmN0aW9uLiAgU2VlIFNlY3Rpb24gPHNwYW4gY2xhc3M9Imluc2VydCI+NTwv c3Bhbj4uNC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj bGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhlIERJU0pPSU5U TkVTUy1DT05GSUdVUkFUSU9OLVRMViBpcyBzaG93biBpbiB0aGUgZm9sbG93aW5nIGZpZ3VyZTo8 L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUaGUgRElTSk9JTlRORVNTLUNPTkZJ R1VSQVRJT04tVExWIGlzIHNob3duIGluIHRoZSBmb2xsb3dpbmcgZmlndXJlOjwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk Pjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgMCAgICAgICAgICAgICAgICAgICAxICAgICAgICAg ICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgMzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i cmlnaHQiPiAgICAwICAgICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgMiAgICAg ICAgICAgICAgICAgICAzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgMCAxIDIgMyA0 IDUgNiA3IDggOSAwIDEgMiAzIDQgNSA2IDcgOCA5IDAgMSAyIDMgNCA1IDYgNyA4IDkgMCAxPC90 ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgIDAgMSAyIDMgNCA1IDYgNyA4IDkgMCAx IDIgMyA0IDUgNiA3IDggOSAwIDEgMiAzIDQgNSA2IDcgOCA5IDAgMTwvdGQ+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj bGFzcz0ibGVmdCI+ICAgKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSs8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g ICArLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgfCAgICAgICAgIFR5cGUg PSBUQkQyICAgICAgICAgICB8ICAgICAgICAgICAgTGVuZ3RoICAgICAgICAgICAgIHw8L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB8ICAgICAgICAgVHlwZSA9IFRCRDIgICAgICAg ICAgIHwgICAgICAgICAgICBMZW5ndGggICAgICAgICAgICAgfDwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+ICAgKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSs8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAr LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgfCAgICAgICAgICAgICAgICAg RmxhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFR8UHxTfE58THw8L3RkPjx0ZD4g PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB8ICAgICAgICAgICAgICAgICBGbGFncyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8VHxQfFN8TnxMfDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i bGVmdCI+ICAgKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSs8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICArLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz PSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9 InBhcnQtOCIgY2xhc3M9ImNoYW5nZSI+PHRkPjwvdGQ+PHRoPjxzbWFsbD5za2lwcGluZyB0byBj aGFuZ2UgYXQ8L3NtYWxsPjxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvcmZjZGlmZiNw YXJ0LTgiPjxlbT4gcGFnZSA5LCBsaW5lIDM4PHNwYW4gY2xhc3M9ImhpZGUiPiDCtjwvc3Bhbj48 L2VtPjwvYT48L3RoPjx0aD4gPC90aD48dGg+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwv c21hbGw+PGEgaHJlZj0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9yZmNkaWZmI3BhcnQtOCI+PGVt PiBwYWdlIDksIGxpbmUgMzg8c3BhbiBjbGFzcz0iaGlkZSI+IMK2PC9zcGFuPjwvZW0+PC9hPjwv dGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj bGFzcz0ibGVmdCI+ICAgICAgICAgMiB3aXRoIFA9MSwgYnV0IExTUCAyIHdpdGggUD0xIGRvZXMg bm90IGRlcGVuZCBvZiBMU1AgMSB3aXRoPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ ICAgICAgICAgMiB3aXRoIFA9MSwgYnV0IExTUCAyIHdpdGggUD0xIGRvZXMgbm90IGRlcGVuZCBv ZiBMU1AgMSB3aXRoPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICBQPTApLiAg TXVsdGlwbGUgTFNQcyBpbiB0aGUgc2FtZSBkaXNqb2ludCBncm91cCBtYXkgaGF2ZSB0aGUgUDwv dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgIFA9MCkuICBNdWx0aXBsZSBM U1BzIGluIHRoZSBzYW1lIGRpc2pvaW50IGdyb3VwIG1heSBoYXZlIHRoZSBQPC90ZD48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICBmbGFnIHNldC4gIEluIHN1Y2ggYSBjYXNlLCB0aG9z ZSBMU1BzIG1heSBub3QgYmUgZGlzam9pbnQgZnJvbTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i cmlnaHQiPiAgICAgICAgIGZsYWcgc2V0LiAgSW4gc3VjaCBhIGNhc2UsIHRob3NlIExTUHMgbWF5 IG5vdCBiZSBkaXNqb2ludCBmcm9tPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgog ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAg ICBlYWNoIG90aGVyIGJ1dCB3aWxsIGJlIGRpc2pvaW50IGZyb20gb3RoZXJzIExTUHMgaW4gdGhl IGdyb3VwPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgZWFjaCBvdGhl ciBidXQgd2lsbCBiZSBkaXNqb2ludCBmcm9tIG90aGVycyBMU1BzIGluIHRoZSBncm91cDwvdGQ+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgdGhhdCBoYXZlIHRoZSBQIGZsYWcgdW5z ZXQuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgdGhhdCBoYXZlIHRo ZSBQIGZsYWcgdW5zZXQuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICog IFQgKFN0cmljdCBkaXNqb2ludG5lc3MpIGJpdDogd2hlbiBzZXQsIGlmIGRpc2pvaW50IHBhdGhz IGNhbm5vdDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICogIFQgKFN0cmlj dCBkaXNqb2ludG5lc3MpIGJpdDogd2hlbiBzZXQsIGlmIGRpc2pvaW50IHBhdGhzIGNhbm5vdDwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgYmUgZm91bmQsIFBDRSBTSE9VTEQg cmV0dXJuIG5vIHBhdGggZm9yIExTUHMgdGhhdCBjb3VsZCBub3QgYmU8L3RkPjx0ZD4gPC90ZD48 dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICBiZSBmb3VuZCwgUENFIFNIT1VMRCByZXR1cm4gbm8g cGF0aCBmb3IgTFNQcyB0aGF0IGNvdWxkIG5vdCBiZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm dCI+ICAgICAgICAgYmUgZGlzam9pbnQuICBXaGVuIHVuc2V0LCB0aGUgUENFIGlzIGFsbG93ZWQg dG8gcmVsYXg8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICBiZSBkaXNq b2ludC4gIFdoZW4gdW5zZXQsIHRoZSBQQ0UgaXMgYWxsb3dlZCB0byByZWxheDwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgZGlzam9pbnRuZXNzIGJ5IGVpdGhlciBhcHBseWlu ZyBhIHJlcXVlc3RlZCBvYmplY3RpdmUgZnVuY3Rpb248L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9 InJpZ2h0Ij4gICAgICAgICBkaXNqb2ludG5lc3MgYnkgZWl0aGVyIGFwcGx5aW5nIGEgcmVxdWVz dGVkIG9iamVjdGl2ZSBmdW5jdGlvbjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyIGlkPSJkaWZmMDAxMiI+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICAgICAoY2YuICBTZWN0aW9u IDxzcGFuIGNsYXNzPSJkZWxldGUiPjQ8L3NwYW4+LjQgYmVsb3cpIG9yIHVzaW5nIGFueSBvdGhl ciBiZWhhdmlvciBpZiBubzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAg ICAoY2YuICBTZWN0aW9uIDxzcGFuIGNsYXNzPSJpbnNlcnQiPjU8L3NwYW4+LjQgYmVsb3cpIG9y IHVzaW5nIGFueSBvdGhlciBiZWhhdmlvciBpZiBubzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm dCI+ICAgICAgICAgb2JqZWN0aXZlIGZ1bmN0aW9uIGlzIHJlcXVlc3RlZCAoZS5nLiB1c2luZyBh IGxvd2VyIGRpc2pvaW50PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAg b2JqZWN0aXZlIGZ1bmN0aW9uIGlzIHJlcXVlc3RlZCAoZS5nLiB1c2luZyBhIGxvd2VyIGRpc2pv aW50PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICB0eXBlIChsaW5rIGluc3Rl YWQgb2Ygbm9kZSkgb3IgZnVsbHkgcmVsYXhpbmcgZGlzam9pbnRuZXNzPC90ZD48dGQ+IDwvdGQ+ PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgdHlwZSAobGluayBpbnN0ZWFkIG9mIG5vZGUpIG9y IGZ1bGx5IHJlbGF4aW5nIGRpc2pvaW50bmVzczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PC90cj4KICAgICAgPHRyIGlkPSJkaWZmMDAxMyI+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICAgICBjb25zdHJh aW50KS48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgICAgICAgY29uc3RyYWlu dCkuPHNwYW4gY2xhc3M9Imluc2VydCI+ICBGdXJ0aGVyIHNlZSBTZWN0aW9uIDUuNiBmb3IgZGV0 YWlscy48L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48 dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICogIFVu YXNzaWduZWQgYml0cyBhcmUgY29uc2lkZXJlZCByZXNlcnZlZC4gIFRoZXkgTVVTVCBiZSBzZXQg dG8gMDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICogIFVuYXNzaWduZWQg Yml0cyBhcmUgY29uc2lkZXJlZCByZXNlcnZlZC4gIFRoZXkgTVVTVCBiZSBzZXQgdG8gMDwvdGQ+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgb24gdHJhbnNtaXNzaW9uIGFuZCBNVVNU IGJlIGlnbm9yZWQgb24gcmVjZWlwdC48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g ICAgICAgICBvbiB0cmFuc21pc3Npb24gYW5kIE1VU1QgYmUgaWdub3JlZCBvbiByZWNlaXB0Ljwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo dCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBJZiBhIFBDRVAgc3BlYWtlciByZWNl aXZlcyBhIGRpc2pvaW50LWdyb3VwIHdpdGhvdXQgRElTSk9JTlRORVNTLTwvdGQ+PHRkPiA8L3Rk Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIElmIGEgUENFUCBzcGVha2VyIHJlY2VpdmVzIGEgZGlzam9p bnQtZ3JvdXAgd2l0aG91dCBESVNKT0lOVE5FU1MtPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0 Ij4gICBDT05GSUdVUkFUSU9OLVRMViwgaXQgU0hPVUxEIHJlcGx5IHdpdGggYSBQQ0VyciBFcnJv ci10eXBlPTY8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBDT05GSUdVUkFUSU9O LVRMViwgaXQgU0hPVUxEIHJlcGx5IHdpdGggYSBQQ0VyciBFcnJvci10eXBlPTY8L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIChNYW5kYXRvcnkgT2JqZWN0IG1pc3NpbmcpIGFuZCBFcnJv ci12YWx1ZT1UQkQ4IChESVNKT0lOVE5FU1MtPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo dCI+ICAgKE1hbmRhdG9yeSBPYmplY3QgbWlzc2luZykgYW5kIEVycm9yLXZhbHVlPVRCRDggKERJ U0pPSU5UTkVTUy08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIENPTkZJR1VSQVRJT04t VExWIG1pc3NpbmcpLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIENPTkZJR1VS QVRJT04tVExWIG1pc3NpbmcpLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAg ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+ IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBU aGUgRElTSk9JTlRORVNTLVNUQVRVUy1UTFYgdXNlcyB0aGUgc2FtZSBmb3JtYXQgYXMgdGhlIERJ U0pPSU5UTkVTUy08L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBUaGUgRElTSk9J TlRORVNTLVNUQVRVUy1UTFYgdXNlcyB0aGUgc2FtZSBmb3JtYXQgYXMgdGhlIERJU0pPSU5UTkVT Uy08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIENPTkZJR1VSQVRJT04tVExWIHdpdGgg YSBkaWZmZXJlbnQgdHlwZSBUQkQzIChpbiB0aGUgVExWKS4gIFRoZSBMLCBOLDwvdGQ+PHRkPiA8 L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIENPTkZJR1VSQVRJT04tVExWIHdpdGggYSBkaWZmZXJl bnQgdHlwZSBUQkQzIChpbiB0aGUgVExWKS4gIFRoZSBMLCBOLDwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+ICAgYW5kIFMgZmxhZ3MgYXJlIHNldCBiYXNlZCBpZiB0aGUgY29tcHV0ZWQgcGF0 aCBtZWV0IHRoZSBkaXNqb2ludG5lc3M8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g ICBhbmQgUyBmbGFncyBhcmUgc2V0IGJhc2VkIGlmIHRoZSBjb21wdXRlZCBwYXRoIG1lZXQgdGhl IGRpc2pvaW50bmVzczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgY3JpdGVyaWEuICBU aGUgUCBmbGFnIGlzIHNldCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBjb21wdXRlZCBwYXRoIGlzPC90 ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgY3JpdGVyaWEuICBUaGUgUCBmbGFnIGlz IHNldCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBjb21wdXRlZCBwYXRoIGlzPC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij4gICB0aGUgc2hvcnRlc3QgYW5kIHRoZSBUIGZsYWcgaGFzIG5vIG1lYW5p bmcgaW4gdGhlIERJU0pPSU5UTkVTUy08L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g ICB0aGUgc2hvcnRlc3QgYW5kIHRoZSBUIGZsYWcgaGFzIG5vIG1lYW5pbmcgaW4gdGhlIERJU0pP SU5UTkVTUy08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFNUQVRVUy1UTFYgYW5kIE1V U1QgTk9UIGJlIHNldCB3aGlsZSBzZW5kaW5nIGFuZCBpZ25vcmVkIG9uIHJlY2VpcHQuPC90ZD48 dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgU1RBVFVTLVRMViBhbmQgTVVTVCBOT1QgYmUg c2V0IHdoaWxlIHNlbmRpbmcgYW5kIGlnbm9yZWQgb24gcmVjZWlwdC48L3RkPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg Y2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgQW55IG5ldyBmbGFnIGRlZmluZWQgZm9yIHRoZSBESVNKT0lO VE5FU1MtQ09ORklHVVJBVElPTi1UTFYgaXMgYmU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp Z2h0Ij4gICBBbnkgbmV3IGZsYWcgZGVmaW5lZCBmb3IgdGhlIERJU0pPSU5UTkVTUy1DT05GSUdV UkFUSU9OLVRMViBpcyBiZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYXV0b21hdGlj YWxseSBhcHBsaWNhYmxlIHRvIHRoZSBESVNKT0lOVE5FU1MtU1RBVFVTLVRMVi48L3RkPjx0ZD4g PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBhdXRvbWF0aWNhbGx5IGFwcGxpY2FibGUgdG8gdGhl IERJU0pPSU5UTkVTUy1TVEFUVVMtVExWLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90 cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90 ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYwMDE0Ij48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJk ZWxldGUiPjQ8L3NwYW4+LjMuICBSZWxhdGlvbnNoaXAgdG8gU1ZFQzwvdGQ+PHRkPiA8L3RkPjx0 ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij41PC9zcGFuPi4zLiAgUmVsYXRp b25zaGlwIHRvIFNWRUM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0 cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3Rk Pjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAg ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgW1JGQzU0 NDBdIGRlZmluZXMgYSBtZWNoYW5pc20gZm9yIHRoZSBzeW5jaHJvbml6YXRpb24gb2YgYSBzZXQg b2Y8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBbUkZDNTQ0MF0gZGVmaW5lcyBh IG1lY2hhbmlzbSBmb3IgdGhlIHN5bmNocm9uaXphdGlvbiBvZiBhIHNldCBvZjwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgcGF0aCBjb21wdXRhdGlvbiByZXF1ZXN0cyBieSB1c2luZyB0 aGUgU1ZFQyBvYmplY3QsIHRoYXQgc3BlY2lmaWVzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy aWdodCI+ICAgcGF0aCBjb21wdXRhdGlvbiByZXF1ZXN0cyBieSB1c2luZyB0aGUgU1ZFQyBvYmpl Y3QsIHRoYXQgc3BlY2lmaWVzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB0aGUgbGlz dCBvZiBzeW5jaHJvbml6ZWQgcmVxdWVzdHMgdGhhdCBjYW4gZWl0aGVyIGJlIGRlcGVuZGVudCBv cjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHRoZSBsaXN0IG9mIHN5bmNocm9u aXplZCByZXF1ZXN0cyB0aGF0IGNhbiBlaXRoZXIgYmUgZGVwZW5kZW50IG9yPC90ZD48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PHRkIGNsYXNzPSJsZWZ0Ij4gICBpbmRlcGVuZGVudC4gIFRoZSBTVkVDIG9iamVjdCBpZGVudGlm eSB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy aWdodCI+ICAgaW5kZXBlbmRlbnQuICBUaGUgU1ZFQyBvYmplY3QgaWRlbnRpZnkgdGhlIHJlbGF0 aW9uc2hpcCBiZXR3ZWVuIHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAg ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgc2V0IG9m IHBhdGggY29tcHV0YXRpb24gcmVxdWVzdHMsIGlkZW50aWZpZWQgYnkgJ1JlcXVlc3QtSUQtbnVt YmVyJzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHNldCBvZiBwYXRoIGNvbXB1 dGF0aW9uIHJlcXVlc3RzLCBpZGVudGlmaWVkIGJ5ICdSZXF1ZXN0LUlELW51bWJlcic8L3RkPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGluIFJQIChSZXF1ZXN0IFBhcmFtZXRlcnMpIG9iamVj dC4gIFtSRkM2MDA3XSBmdXJ0aGVyIGNsYXJpZmllZCB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xh c3M9InJpZ2h0Ij4gICBpbiBSUCAoUmVxdWVzdCBQYXJhbWV0ZXJzKSBvYmplY3QuICBbUkZDNjAw N10gZnVydGhlciBjbGFyaWZpZWQgdGhlPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB1 c2Ugb2YgdGhlIFNWRUMgbGlzdCBmb3Igc3luY2hyb25pemVkIHBhdGggY29tcHV0YXRpb25zIHdo ZW48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB1c2Ugb2YgdGhlIFNWRUMgbGlz dCBmb3Igc3luY2hyb25pemVkIHBhdGggY29tcHV0YXRpb25zIHdoZW48L3RkPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg Y2xhc3M9ImxlZnQiPiAgIGNvbXB1dGluZyBkZXBlbmRlbnQgcmVxdWVzdHMgYXMgd2VsbCBhcyBk ZXNjcmliZWQgYSBudW1iZXIgb2YgdXNhZ2U8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0 Ij4gICBjb21wdXRpbmcgZGVwZW5kZW50IHJlcXVlc3RzIGFzIHdlbGwgYXMgZGVzY3JpYmVkIGEg bnVtYmVyIG9mIHVzYWdlPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBzY2VuYXJpb3Mg Zm9yIFNWRUMgbGlzdHMgd2l0aGluIHNpbmdsZS1kb21haW4gYW5kIG11bHRpLWRvbWFpbjwvdGQ+ PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHNjZW5hcmlvcyBmb3IgU1ZFQyBsaXN0cyB3 aXRoaW4gc2luZ2xlLWRvbWFpbiBhbmQgbXVsdGktZG9tYWluPC90ZD48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0icGFydC05IiBjbGFzcz0iY2hhbmdlIj48 dGQ+PC90ZD48dGg+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGEgaHJlZj0i aHR0cHM6Ly90b29scy5pZXRmLm9yZy9yZmNkaWZmI3BhcnQtOSI+PGVtPiBwYWdlIDEwLCBsaW5l IDQwPHNwYW4gY2xhc3M9ImhpZGUiPiDCtjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0aD4gPC90aD48 dGg+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGEgaHJlZj0iaHR0cHM6Ly90 b29scy5pZXRmLm9yZy9yZmNkaWZmI3BhcnQtOSI+PGVtPiBwYWdlIDEwLCBsaW5lIDQwPHNwYW4g Y2xhc3M9ImhpZGUiPiDCtjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0ZD48L3RkPjwvdHI+CiAgICAg IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHJlcXVlc3Qg YXMgd2VsbCBhcyB0aGUgZGl2ZXJzaXR5IGFzc29jaWF0aW9uIGdyb3VwLiAgVGhlIFBDRSBNVVNU IHRyeTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHJlcXVlc3QgYXMgd2VsbCBh cyB0aGUgZGl2ZXJzaXR5IGFzc29jaWF0aW9uIGdyb3VwLiAgVGhlIFBDRSBNVVNUIHRyeTwvdGQ+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdG8gZmluZCBhIHBhdGggdGhhdCBtZWV0cyBib3Ro IHRoZSBjb25zdHJhaW50cy4gIEl0IGlzIHBvc3NpYmxlIHRoYXQ8L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJpZ2h0Ij4gICB0byBmaW5kIGEgcGF0aCB0aGF0IG1lZXRzIGJvdGggdGhlIGNvbnN0 cmFpbnRzLiAgSXQgaXMgcG9zc2libGUgdGhhdDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ ICAgdGhlIGRpdmVyc2l0eSByZXF1aXJlbWVudCBpbiB0aGUgYXNzb2NpYXRpb24gZ3JvdXAgaXMg ZGlmZmVyZW50IGZyb208L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aGUgZGl2 ZXJzaXR5IHJlcXVpcmVtZW50IGluIHRoZSBhc3NvY2lhdGlvbiBncm91cCBpcyBkaWZmZXJlbnQg ZnJvbTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdGhlIG9uZSBpbiB0aGUgU1ZFQyBv YmplY3QuICBUaGUgUENFIHdvdWxkIGNvbnNpZGVyIGJvdGggdGhlIG9iamVjdHM8L3RkPjx0ZD4g PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aGUgb25lIGluIHRoZSBTVkVDIG9iamVjdC4gIFRo ZSBQQ0Ugd291bGQgY29uc2lkZXIgYm90aCB0aGUgb2JqZWN0czwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+ICAgYXMgcGVyIHRoZSBwcm9jZXNzaW5nIHJ1bGVzIGFuZCBhaW0gdG8gZmluZCBh IHBhdGggdGhhdCBtZWV0cyBib3RoIG9mPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ ICAgYXMgcGVyIHRoZSBwcm9jZXNzaW5nIHJ1bGVzIGFuZCBhaW0gdG8gZmluZCBhIHBhdGggdGhh dCBtZWV0cyBib3RoIG9mPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB0aGVzZSBjb25z dHJhaW50cy4gIEluIGNhc2Ugbm8gc3VjaCBwYXRoIGlzIHBvc3NpYmxlIChvciB0aGU8L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aGVzZSBjb25zdHJhaW50cy4gIEluIGNhc2Ug bm8gc3VjaCBwYXRoIGlzIHBvc3NpYmxlIChvciB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl ZnQiPiAgIGNvbnN0cmFpbnRzIGFyZSBpbmNvbXBhdGlibGUpLCB0aGUgUENFIE1VU1Qgc2VuZCBh IHBhdGggY29tcHV0YXRpb248L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBjb25z dHJhaW50cyBhcmUgaW5jb21wYXRpYmxlKSwgdGhlIFBDRSBNVVNUIHNlbmQgYSBwYXRoIGNvbXB1 dGF0aW9uPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICByZXBseSAoUENSZXApIHdpdGgg YSBOTy1QQVRIIG9iamVjdCBpbmRpY2F0aW5nIHBhdGggY29tcHV0YXRpb248L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICByZXBseSAoUENSZXApIHdpdGggYSBOTy1QQVRIIG9iamVj dCBpbmRpY2F0aW5nIHBhdGggY29tcHV0YXRpb248L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi PiAgIGZhaWx1cmUgYXMgcGVyIFtSRkM1NDQwXS48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp Z2h0Ij4gICBmYWlsdXJlIGFzIHBlciBbUkZDNTQ0MF0uPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs ZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMTUiPjx0ZD48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4g Y2xhc3M9ImRlbGV0ZSI+NDwvc3Bhbj4uNC4gIERpc2pvaW50bmVzcyBPYmplY3RpdmUgZnVuY3Rp b25zPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQi PjU8L3NwYW4+LjQuICBEaXNqb2ludG5lc3MgT2JqZWN0aXZlIGZ1bmN0aW9uczwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk Pjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBbiBvYmplY3RpdmUgZnVuY3Rpb24gKE9GKSBNQVkg YmUgYXBwbGllZCB0byB0aGUgZGlzam9pbnRuZXNzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy aWdodCI+ICAgQW4gb2JqZWN0aXZlIGZ1bmN0aW9uIChPRikgTUFZIGJlIGFwcGxpZWQgdG8gdGhl IGRpc2pvaW50bmVzczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgY29tcHV0YXRpb24g dG8gZHJpdmUgdGhlIFBDRSBjb21wdXRhdGlvbiBiZWhhdmlvci4gIEluIHRoaXMgY2FzZSwgdGhl PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgY29tcHV0YXRpb24gdG8gZHJpdmUg dGhlIFBDRSBjb21wdXRhdGlvbiBiZWhhdmlvci4gIEluIHRoaXMgY2FzZSwgdGhlPC90ZD48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBPRi1MaXN0IFRMViAoZGVmaW5lZCBpbiAoW1JGQzU1NDFd KSBpcyB1c2VkIGFzIGFuIG9wdGlvbmFsIFRMViBpbiB0aGU8L3RkPjx0ZD4gPC90ZD48dGQgY2xh c3M9InJpZ2h0Ij4gICBPRi1MaXN0IFRMViAoZGVmaW5lZCBpbiAoW1JGQzU1NDFdKSBpcyB1c2Vk IGFzIGFuIG9wdGlvbmFsIFRMViBpbiB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg IEFzc29jaWF0aW9uIEdyb3VwIE9iamVjdC4gIFdoZXJlYXMgdGhlIFBDRVAgT0YtTGlzdCBUTFYg YWxsb3dzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgQXNzb2NpYXRpb24gR3Jv dXAgT2JqZWN0LiAgV2hlcmVhcyB0aGUgUENFUCBPRi1MaXN0IFRMViBhbGxvd3M8L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIG11bHRpcGxlIE9GLWNvZGVzIGluc2lkZSB0aGUgVExWLCBh IHNlbmRlciBTSE9VTEQgaW5jbHVkZSBhIHNpbmdsZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i cmlnaHQiPiAgIG11bHRpcGxlIE9GLWNvZGVzIGluc2lkZSB0aGUgVExWLCBhIHNlbmRlciBTSE9V TEQgaW5jbHVkZSBhIHNpbmdsZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAg ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgT0YtY29k ZSBpbiB0aGUgT0YtTGlzdCBUTFYgd2hlbiBpbmNsdWRlZCBpbiB0aGUgQXNzb2NpYXRpb24gR3Jv dXAsPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgT0YtY29kZSBpbiB0aGUgT0Yt TGlzdCBUTFYgd2hlbiBpbmNsdWRlZCBpbiB0aGUgQXNzb2NpYXRpb24gR3JvdXAsPC90ZD48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhbmQgdGhlIHJlY2VpdmVyIE1VU1QgY29uc2lkZXIgdGhl IGZpcnN0IE9GLWNvZGUgb25seSBhbmQgaWdub3JlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy aWdodCI+ICAgYW5kIHRoZSByZWNlaXZlciBNVVNUIGNvbnNpZGVyIHRoZSBmaXJzdCBPRi1jb2Rl IG9ubHkgYW5kIGlnbm9yZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgb3RoZXJzIGlm IGluY2x1ZGVkLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIG90aGVycyBpZiBp bmNsdWRlZC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj bGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+ PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg ICA8dHIgaWQ9InBhcnQtMTAiIGNsYXNzPSJjaGFuZ2UiPjx0ZD48L3RkPjx0aD48c21hbGw+c2tp cHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3Jn L3JmY2RpZmYjcGFydC0xMCI+PGVtPiBwYWdlIDEyLCBsaW5lIDIyPHNwYW4gY2xhc3M9ImhpZGUi PiDCtjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0aD4gPC90aD48dGg+PHNtYWxsPnNraXBwaW5nIHRv IGNoYW5nZSBhdDwvc21hbGw+PGEgaHJlZj0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9yZmNkaWZm I3BhcnQtMTAiPjxlbT4gcGFnZSAxMiwgbGluZSAyMjxzcGFuIGNsYXNzPSJoaWRlIj4gwrY8L3Nw YW4+PC9lbT48L2E+PC90aD48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICBkaXZlcnNpdHkgYXMgcG9zc2libGUuPC90 ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgZGl2ZXJzaXR5IGFzIHBvc3NpYmxl LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy aWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBvICBTVkVDIG9iamVjdCB3aXRo IG5vZGUtZGl2ZXJzZSBiaXQ9MSBhbmQgT0Y9TVNOIC0gZW5zdXJlIGZ1bGwgbm9kZS08L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBvICBTVkVDIG9iamVjdCB3aXRoIG5vZGUtZGl2 ZXJzZSBiaXQ9MSBhbmQgT0Y9TVNOIC0gZW5zdXJlIGZ1bGwgbm9kZS08L3RkPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg Y2xhc3M9ImxlZnQiPiAgICAgIGRpdmVyc2l0eS48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp Z2h0Ij4gICAgICBkaXZlcnNpdHkuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgog ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAg IEluIHRoZSBsYXN0IGV4YW1wbGUgYWJvdmUsIGl0IGlzIGludGVyZXN0aW5nIHRvIG5vdGUgdGhh dCAiT0YiPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgSW4gdGhlIGxhc3QgZXhh bXBsZSBhYm92ZSwgaXQgaXMgaW50ZXJlc3RpbmcgdG8gbm90ZSB0aGF0ICJPRiI8L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGJlY29tZXMgcmVkdW5kYW50IGFzICJTVkVDIG9iamVjdCIg ZW5zdXJlcyBmdWxsIG5vZGUtZGl2ZXJzaXR5LDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln aHQiPiAgIGJlY29tZXMgcmVkdW5kYW50IGFzICJTVkVDIG9iamVjdCIgZW5zdXJlcyBmdWxsIG5v ZGUtZGl2ZXJzaXR5LDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgaG93ZXZlciB0aGlz IHNwZWNpZmljYXRpb24gZG9lcyBub3QgcHJvaGliaXQgcmVkdW5kYW50IGNvbnN0cmFpbnRzPC90 ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgaG93ZXZlciB0aGlzIHNwZWNpZmljYXRp b24gZG9lcyBub3QgcHJvaGliaXQgcmVkdW5kYW50IGNvbnN0cmFpbnRzPC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij4gICB3aGlsZSB1c2luZyAiU1ZFQyBvYmplY3QiIGFuZCAiT0YiIHRvZ2V0 aGVyIGZvciBkaXZlcnNpdHkuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgd2hp bGUgdXNpbmcgIlNWRUMgb2JqZWN0IiBhbmQgIk9GIiB0b2dldGhlciBmb3IgZGl2ZXJzaXR5Ljwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo dCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYw MDE2Ij48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPjQ8L3NwYW4+LjUuICBQIEZsYWcg Q29uc2lkZXJhdGlvbnM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xh c3M9Imluc2VydCI+NTwvc3Bhbj4uNS4gIFAgRmxhZyBDb25zaWRlcmF0aW9uczwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk Pjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYwMDE3Ij48dGQ+ PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs YmxvY2siPiAgIEFzIG1lbnRpb25lZCBpbiBTZWN0aW9uIDxzcGFuIGNsYXNzPSJkZWxldGUiPjQ8 L3NwYW4+LjIsIHRoZSBQIGZsYWcgKHdoZW4gc2V0KSBpbmRpY2F0ZXMgdGhhdCB0aGU8L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgQXMgbWVudGlvbmVkIGluIFNlY3Rpb24gPHNw YW4gY2xhc3M9Imluc2VydCI+NTwvc3Bhbj4uMiwgdGhlIFAgZmxhZyAod2hlbiBzZXQpIGluZGlj YXRlcyB0aGF0IHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgY29tcHV0ZWQgcGF0 aCBvZiB0aGUgTFNQIFNIT1VMRCBzYXRpc2ZpZXMgYWxsIGNvbnN0cmFpbnRzIGFuZDwvdGQ+PHRk PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGNvbXB1dGVkIHBhdGggb2YgdGhlIExTUCBTSE9V TEQgc2F0aXNmaWVzIGFsbCBjb25zdHJhaW50cyBhbmQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl ZnQiPiAgIG9iamVjdGl2ZSBmdW5jdGlvbnMgZmlyc3Qgd2l0aG91dCBjb25zaWRlcmluZyB0aGUg ZGl2ZXJzaXR5PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgb2JqZWN0aXZlIGZ1 bmN0aW9ucyBmaXJzdCB3aXRob3V0IGNvbnNpZGVyaW5nIHRoZSBkaXZlcnNpdHk8L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGNvbnN0cmFpbnQuICBUaGlzIGNvdWxkIGJlIHJlcXVpcmVk IGluIHNvbWUgcHJpbWFyeS9iYWNrdXAgc2NlbmFyaW9zPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz PSJyaWdodCI+ICAgY29uc3RyYWludC4gIFRoaXMgY291bGQgYmUgcmVxdWlyZWQgaW4gc29tZSBw cmltYXJ5L2JhY2t1cCBzY2VuYXJpb3M8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHdo ZXJlIHRoZSBwcmltYXJ5IHBhdGggc2hvdWxkIHVzZSB0aGUgbW9yZSBvcHRpbWFsIHBhdGggYXZh aWxhYmxlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgd2hlcmUgdGhlIHByaW1h cnkgcGF0aCBzaG91bGQgdXNlIHRoZSBtb3JlIG9wdGltYWwgcGF0aCBhdmFpbGFibGU8L3RkPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICh0YWtpbmcgaW50byBhY2NvdW50IHRoZSBvdGhlciBj b25zdHJhaW50cykuICBXaGVuIGRpc2pvaW50bmVzcyBpczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz cz0icmlnaHQiPiAgICh0YWtpbmcgaW50byBhY2NvdW50IHRoZSBvdGhlciBjb25zdHJhaW50cyku ICBXaGVuIGRpc2pvaW50bmVzcyBpczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgY29t cHV0ZWQsIGl0IGlzIGltcG9ydGFudCBmb3IgdGhlIGFsZ29yaXRobSB0byBrbm93IHRoYXQgaXQg c2hvdWxkPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgY29tcHV0ZWQsIGl0IGlz IGltcG9ydGFudCBmb3IgdGhlIGFsZ29yaXRobSB0byBrbm93IHRoYXQgaXQgc2hvdWxkPC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB0cnkgdG8gb3B0aW1pemUgdGhlIHBhdGggb2Ygb25l IG9yIG1vcmUgTFNQcyBpbiB0aGUgZGlzam9pbnQgZ3JvdXA8L3RkPjx0ZD4gPC90ZD48dGQgY2xh c3M9InJpZ2h0Ij4gICB0cnkgdG8gb3B0aW1pemUgdGhlIHBhdGggb2Ygb25lIG9yIG1vcmUgTFNQ cyBpbiB0aGUgZGlzam9pbnQgZ3JvdXA8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIChm b3IgaW5zdGFuY2UgdGhlIHByaW1hcnkgcGF0aCkgd2hpbGUgb3RoZXIgcGF0aHMgYXJlIGFsbG93 ZWQgdG8gYmU8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAoZm9yIGluc3RhbmNl IHRoZSBwcmltYXJ5IHBhdGgpIHdoaWxlIG90aGVyIHBhdGhzIGFyZSBhbGxvd2VkIHRvIGJlPC90 ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBjb3N0bGllciAoY29tcGFyZWQgdG8gYSBzaW1p bGFyIHBhdGggd2l0aG91dCB0aGUgZGlzam9pbnRuZXNzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz PSJyaWdodCI+ICAgY29zdGxpZXIgKGNvbXBhcmVkIHRvIGEgc2ltaWxhciBwYXRoIHdpdGhvdXQg dGhlIGRpc2pvaW50bmVzczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgY29uc3RyYWlu dCkuICBXaXRob3V0IHN1Y2ggYSBoaW50LCB0aGUgZGlzam9pbnRuZXNzIGFsZ29yaXRobSBtYXkg c2V0PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgY29uc3RyYWludCkuICBXaXRo b3V0IHN1Y2ggYSBoaW50LCB0aGUgZGlzam9pbnRuZXNzIGFsZ29yaXRobSBtYXkgc2V0PC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48 L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0icGFydC0xMSIg Y2xhc3M9ImNoYW5nZSI+PHRkPjwvdGQ+PHRoPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8 L3NtYWxsPjxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvcmZjZGlmZiNwYXJ0LTExIj48 ZW0+IHBhZ2UgMTUsIGxpbmUgMTU8c3BhbiBjbGFzcz0iaGlkZSI+IMK2PC9zcGFuPjwvZW0+PC9h PjwvdGg+PHRoPiA8L3RoPjx0aD48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48 YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL3JmY2RpZmYjcGFydC0xMSI+PGVtPiBwYWdl IDE1LCBsaW5lIDE1PHNwYW4gY2xhc3M9ImhpZGUiPiDCtjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0 ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9 ImxlZnQiPiAgIG9mIHRoZSBwYXRocy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g ICBvZiB0aGUgcGF0aHMuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIElmIHRo ZSBpbXBsZW1lbnRhdGlvbiBlbGVjdHMgb25seSBvbmUgcGF0aCwgdGhlcmUgaXMgYSBjaGFuY2Ug dGhhdDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIElmIHRoZSBpbXBsZW1lbnRh dGlvbiBlbGVjdHMgb25seSBvbmUgcGF0aCwgdGhlcmUgaXMgYSBjaGFuY2UgdGhhdDwvdGQ+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgcGlja2luZyB1cCBvbmUgcGF0aCBtYXkgcHJldmVudCBk aXNqb2ludG5lc3MuICBJbiBvdXIgZXhhbXBsZSwgaWY8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9 InJpZ2h0Ij4gICBwaWNraW5nIHVwIG9uZSBwYXRoIG1heSBwcmV2ZW50IGRpc2pvaW50bmVzcy4g IEluIG91ciBleGFtcGxlLCBpZjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAg ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgcGF0aCAy IGlzIHVzZWQgZm9yIFBFMS0mZ3Q7UEUyLCB0aGVyZSBpcyBubyByb29tIGxlZnQgZm9yIFBFMy0m Z3Q7UEU0IHdoaWxlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgcGF0aCAyIGlz IHVzZWQgZm9yIFBFMS0mZ3Q7UEUyLCB0aGVyZSBpcyBubyByb29tIGxlZnQgZm9yIFBFMy0mZ3Q7 UEU0IHdoaWxlPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBpZiBwYXRoIDEgaXMgdXNl ZCwgUEUzLSZndDtQRTQgY2FuIGJlIHBsYWNlZCBvbiBSMy0mZ3Q7UjQgbGluay48L3RkPjx0ZD4g PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBpZiBwYXRoIDEgaXMgdXNlZCwgUEUzLSZndDtQRTQg Y2FuIGJlIHBsYWNlZCBvbiBSMy0mZ3Q7UjQgbGluay48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl ZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+ICAgV2hlbiBQIGZsYWcgaXMgc2V0IGZvciBhbiBMU1AgYW5kIHdoZW4gRUNNUHMg YXJlIGF2YWlsYWJsZSwgYW48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBXaGVu IFAgZmxhZyBpcyBzZXQgZm9yIGFuIExTUCBhbmQgd2hlbiBFQ01QcyBhcmUgYXZhaWxhYmxlLCBh bjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgaW1wbGVtZW50YXRpb24gc2hvdWxkIGFp bSB0byBzZWxlY3QgYSBwYXRoIHRoYXQgYWxsb3dzIGRpc2pvaW50bmVzcy48L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBpbXBsZW1lbnRhdGlvbiBzaG91bGQgYWltIHRvIHNlbGVj dCBhIHBhdGggdGhhdCBhbGxvd3MgZGlzam9pbnRuZXNzLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i bGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYwMDE4Ij48dGQ+PC90ZD48L3RyPgog ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFu IGNsYXNzPSJkZWxldGUiPjQ8L3NwYW4+LjYuICBEaXNqb2ludG5lc3MgQ29tcHV0YXRpb24gSXNz dWVzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQi PjU8L3NwYW4+LjYuICBEaXNqb2ludG5lc3MgQ29tcHV0YXRpb24gSXNzdWVzPC90ZD48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRoZXJlIG1heSBiZSBzb21lIGNhc2VzIHdoZXJlIHRo ZSBQQ0UgaXMgbm90IGFibGUgdG8gcHJvdmlkZSBhIHNldCBvZjwvdGQ+PHRkPiA8L3RkPjx0ZCBj bGFzcz0icmlnaHQiPiAgIFRoZXJlIG1heSBiZSBzb21lIGNhc2VzIHdoZXJlIHRoZSBQQ0UgaXMg bm90IGFibGUgdG8gcHJvdmlkZSBhIHNldCBvZjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ ICAgZGlzam9pbnQgcGF0aHMgZm9yIG9uZSBvciBtb3JlIExTUHMgaW4gdGhlIGFzc29jaWF0aW9u LjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGRpc2pvaW50IHBhdGhzIGZvciBv bmUgb3IgbW9yZSBMU1BzIGluIHRoZSBhc3NvY2lhdGlvbi48L3RkPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9 ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj bGFzcz0ibGVmdCI+ICAgV2hlbiB0aGUgVCBmbGFnIGlzIHNldCAoU3RyaWN0IGRpc2pvaW50bmVz cyByZXF1ZXN0ZWQpLCBpZjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFdoZW4g dGhlIFQgZmxhZyBpcyBzZXQgKFN0cmljdCBkaXNqb2ludG5lc3MgcmVxdWVzdGVkKSwgaWY8L3Rk Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGRpc2pvaW50bmVzcyBjYW5ub3QgYmUgZW5zdXJl ZCBmb3Igb25lIG9yIG1vcmUgTFNQcywgdGhlIFBDRSBNVVNUPC90ZD48dGQ+IDwvdGQ+PHRkIGNs YXNzPSJyaWdodCI+ICAgZGlzam9pbnRuZXNzIGNhbm5vdCBiZSBlbnN1cmVkIGZvciBvbmUgb3Ig bW9yZSBMU1BzLCB0aGUgUENFIE1VU1Q8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHJl cGx5IHRvIGEgUGF0aCBDb21wdXRhdGlvbiBSZXF1ZXN0IChQQ1JlcSkgd2l0aCBhIFBhdGggQ29t cHV0YXRpb248L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICByZXBseSB0byBhIFBh dGggQ29tcHV0YXRpb24gUmVxdWVzdCAoUENSZXEpIHdpdGggYSBQYXRoIENvbXB1dGF0aW9uPC90 ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYwMDE5Ij48 dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsYmxvY2siPiAgIFJlcGx5IChQQ1JlcCkgbWVzc2FnZSBjb250YWluaW5nIGEgTk8tUEFUSCBv YmplY3QuICBJbiBjYXNlIG9mPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIFJl cGx5IChQQ1JlcCkgbWVzc2FnZSBjb250YWluaW5nIGEgTk8tUEFUSCBvYmplY3QuICBJbiBjYXNl IG9mIDxzcGFuIGNsYXNzPSJpbnNlcnQiPm90aGVyPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGJsb2NrIj4gICBuZXR3b3JrIGV2ZW50IGxlYWRpbmcgdG8gYW4gaW1wb3NzaWJsZSBzdHJp Y3QgZGlzam9pbnRuZXNzLCB0aGUgUENFPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2si PjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgIFBDRVAgbWVzc2FnZSwgdGhlIFBDRSBNVVNUIHJldHVy biBhIFBDRXJyIG1lc3NhZ2Ugd2l0aCBFcnJvci1UeXBlIDI2PC9zcGFuPjwvdGQ+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0 ZCBjbGFzcz0ibGJsb2NrIj4gICBNVVNUIHNlbmQgYSBQQ1VwZCBtZXNzYWdlIGNvbnRhaW5pbmcg YW4gZW1wdHkgRVJPIHRvIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3Bh biBjbGFzcz0iaW5zZXJ0Ij4gICAiQXNzb2NpYXRpb24gRXJyb3IiIGFuZCBFcnJvci1WYWx1ZSA3 ICJDYW5ub3Qgam9pbiB0aGUgYXNzb2NpYXRpb248L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsYmxvY2siPiAgIGNvcnJlc3BvbmRpbmcgUENDcy4gIEluIGFkZGl0aW9uIHRvIHRoZSBlbXB0 eSBFUk8gT2JqZWN0LCB0aGUgUENFIE1BWTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2Nr Ij48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBncm91cCIuICBBbHNvLCBpbiBjYXNlIG9mPC9zcGFu PiBuZXR3b3JrIGV2ZW50IGxlYWRpbmcgdG8gYW4gaW1wb3NzaWJsZTwvdGQ+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj bGFzcz0ibGJsb2NrIj4gICBhZGQgdGhlIE5PLVBBVEgtVkVDVE9SIFRMViAoW1JGQzU0NDBdKSBp biB0aGUgTFNQIE9iamVjdC48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgc3Ry aWN0IGRpc2pvaW50bmVzcywgdGhlIFBDRSBNVVNUIHNlbmQgYSBQQ1VwZCBtZXNzYWdlIGNvbnRh aW5pbmcgYW48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyYmxvY2siPiAgIGVtcHR5IEVSTyB0byB0aGUgY29ycmVzcG9uZGluZyBQQ0NzLiAg SW4gYWRkaXRpb24gdG8gdGhlIGVtcHR5IEVSTzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgT2JqZWN0LCB0aGUgUENFIE1B WSBhZGQgdGhlIE5PLVBBVEgtVkVDVE9SIFRMViAoW1JGQzU0NDBdKSBpbiB0aGUgTFNQPC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2Nr Ij4gICBPYmplY3QuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48 dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRoaXMgZG9j dW1lbnQgYWRkcyBuZXcgYml0cyBpbiB0aGUgTk8tUEFUSC1WRUNUT1IgVExWOjwvdGQ+PHRkPiA8 L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFRoaXMgZG9jdW1lbnQgYWRkcyBuZXcgYml0cyBpbiB0 aGUgTk8tUEFUSC1WRUNUT1IgVExWOjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48 dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g ICAgICBiaXQgIlRCRDciOiB3aGVuIHNldCwgdGhlIFBDRSBpbmRpY2F0ZXMgdGhhdCBpdCBjb3Vs ZCBub3QgZmluZCBhPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgYml0ICJU QkQ3Ijogd2hlbiBzZXQsIHRoZSBQQ0UgaW5kaWNhdGVzIHRoYXQgaXQgY291bGQgbm90IGZpbmQg YTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgZGlzam9pbnQgcGF0aCBmb3IgdGhp cyBMU1AuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgZGlzam9pbnQgcGF0 aCBmb3IgdGhpcyBMU1AuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgIGJp dCAiVEJEOCI6IHdoZW4gc2V0LCB0aGUgUENFIGluZGljYXRlcyB0aGF0IGl0IGRvZXMgbm90IHN1 cHBvcnQ8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICBiaXQgIlRCRDgiOiB3 aGVuIHNldCwgdGhlIFBDRSBpbmRpY2F0ZXMgdGhhdCBpdCBkb2VzIG5vdCBzdXBwb3J0PC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICB0aGUgcmVxdWVzdGVkIGRpc2pvaW50bmVzcyBj b21wdXRhdGlvbi48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICB0aGUgcmVx dWVzdGVkIGRpc2pvaW50bmVzcyBjb21wdXRhdGlvbi48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl ZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGlkPSJkaWZmMDAyMCI+PHRkPjwvdGQ+PC90cj4KICAg ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICBXaGVu IHRoZSBUIGZsYWcgaXMgdW5zZXQsIHRoZSBQQ0UgaXMgYWxsb3dlZCB0byByZWR1Y2UgdGhlIHJl cXVpcmVkPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIFdoZW4gdGhlIFQgZmxh ZyBpcyB1bnNldCwgdGhlIFBDRSBpcyBhbGxvd2VkIHRvIDxzcGFuIGNsYXNzPSJpbnNlcnQiPnJl bGF4IGRpc2pvaW50bmVzcyBieTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ ICAgbGV2ZWwgb2YgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+ZGlzam9pbnRuZXNzLjwvc3Bhbj4gIFRo ZSBhY3R1YWwgbGV2ZWwgb2YgZGlzam9pbnRuZXNzIGNvbXB1dGVkIGJ5PC90ZD48dGQ+IDwvdGQ+ PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPiAgIGVpdGhlciBhcHBseWlu ZyBhIHJlcXVlc3RlZCBvYmplY3RpdmUgZnVuY3Rpb24gKFNlY3Rpb24gNS40KSBpZjwvc3Bhbj48 L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgdGhlIFBDRSBjYW4gYmUgcmVwb3J0ZWQg dGhyb3VnaCB0aGUgPHNwYW4gY2xhc3M9ImRlbGV0ZSI+RElTSk9JTlRORVNTLVNUQVRVUy1UTFY8 L3NwYW4+IGJ5PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJp bnNlcnQiPiAgIHNwZWNpZmllZC4gIE90aGVyd2lzZSB0aGUgUENFIGlzIGFsbG93ZWQgdG88L3Nw YW4+IHJlZHVjZSB0aGUgcmVxdWlyZWQgbGV2ZWw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9j ayI+ICAgc2V0dGluZyB0aGUgYXBwcm9wcmlhdGUgZmxhZ3MgaW4gdGhlIFRMVi4gIFdoaWxlIHRo ZSA8c3BhbiBjbGFzcz0iZGVsZXRlIj5ESVNKT0lOVE5FU1MtPC9zcGFuPjwvdGQ+PHRkPiA8L3Rk Pjx0ZCBjbGFzcz0icmJsb2NrIj4gICBvZiA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5kaXNqb2ludG5l c3MgKGFzIGl0IGRlZW1zIGZpdCkuPC9zcGFuPiAgVGhlIGFjdHVhbCBsZXZlbCBvZiBkaXNqb2lu dG5lc3M8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ ICAgQ09ORklHVVJBVElPTi1UTFY8L3NwYW4+IGRlZmluZXMgdGhlIGV4cGVjdGVkIGxldmVsIG9m IGRpc2pvaW50bmVzcyByZXF1aXJlZDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4g ICBjb21wdXRlZCBieSB0aGUgUENFIGNhbiBiZSByZXBvcnRlZCB0aHJvdWdoIHRoZSA8c3BhbiBj bGFzcz0iaW5zZXJ0Ij5ESVNKT0lOVE5FU1MtU1RBVFVTLTwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg Y2xhc3M9ImxibG9jayI+ICAgYnkgY29uZmlndXJhdGlvbiwgdGhlIERJU0pPSU5UTkVTUy1TVEFU VVMtVExWIGRlZmluZXMgdGhlIGFjdHVhbDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2Nr Ij48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBUTFY8L3NwYW4+IGJ5IHNldHRpbmcgdGhlIGFwcHJv cHJpYXRlIGZsYWdzIGluIHRoZSBUTFYuICBXaGlsZSB0aGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9 ImxibG9jayI+ICAgbGV2ZWwgb2YgZGlzam9pbnRuZXNzIGNvbXB1dGVkLjwvdGQ+PHRkPiA8L3Rk Pjx0ZCBjbGFzcz0icmJsb2NrIj4gICA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij5ESVNKT0lOVE5FU1Mt Q09ORklHVVJBVElPTi1UTFY8L3NwYW4+IGRlZmluZXMgdGhlIGV4cGVjdGVkIGxldmVsIG9mPC90 ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs b2NrIj4gICBkaXNqb2ludG5lc3MgcmVxdWlyZWQgYnkgY29uZmlndXJhdGlvbiwgdGhlIERJU0pP SU5UTkVTUy1TVEFUVVMtVExWPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRk PiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBkZWZpbmVzIHRoZSBhY3R1YWwgbGV2ZWwgb2Yg ZGlzam9pbnRuZXNzIGNvbXB1dGVkLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48 dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g ICBUaGVyZSBhcmUgc29tZSBjYXNlcyB3aGVyZSB0aGUgUENFIG1heSBuZWVkIHRvIGNvbXBsZXRl bHkgcmVsYXggdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVGhlcmUgYXJl IHNvbWUgY2FzZXMgd2hlcmUgdGhlIFBDRSBtYXkgbmVlZCB0byBjb21wbGV0ZWx5IHJlbGF4IHRo ZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgZGlzam9pbnRuZXNzIGNvbnN0cmFpbnQg aW4gb3JkZXIgdG8gcHJvdmlkZSBhIHBhdGggdG8gYWxsIHRoZSBMU1BzPC90ZD48dGQ+IDwvdGQ+ PHRkIGNsYXNzPSJyaWdodCI+ICAgZGlzam9pbnRuZXNzIGNvbnN0cmFpbnQgaW4gb3JkZXIgdG8g cHJvdmlkZSBhIHBhdGggdG8gYWxsIHRoZSBMU1BzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0 Ij4gICB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBhc3NvY2lhdGlvbi4gIEEgbWVjaGFuaXNtIHRoYXQg YWxsb3dzIHRoZSBQQ0UgdG88L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aGF0 IGFyZSBwYXJ0IG9mIHRoZSBhc3NvY2lhdGlvbi4gIEEgbWVjaGFuaXNtIHRoYXQgYWxsb3dzIHRo ZSBQQ0UgdG88L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGZ1bGx5IHJlbGF4IGEgY29u c3RyYWludCBpcyBjb25zaWRlcmVkIGJ5IHRoZSBhdXRob3JzIGFzIG1vcmUgZ2xvYmFsPC90ZD48 dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgZnVsbHkgcmVsYXggYSBjb25zdHJhaW50IGlz IGNvbnNpZGVyZWQgYnkgdGhlIGF1dGhvcnMgYXMgbW9yZSBnbG9iYWw8L3RkPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg Y2xhc3M9ImxlZnQiPiAgIHRvIFBDRVAgcmF0aGVyIHRoYW4gbGlua2VkIHRvIHRoZSBkaXNqb2lu dG5lc3MgdXNlIGNhc2UuICBBcyBhPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg dG8gUENFUCByYXRoZXIgdGhhbiBsaW5rZWQgdG8gdGhlIGRpc2pvaW50bmVzcyB1c2UgY2FzZS4g IEFzIGE8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGNvbnNlcXVlbmNlLCBpdCBpcyBj b25zaWRlcmVkIGFzIG91dCBvZiBzY29wZSBvZiB0aGUgZG9jdW1lbnQuPC90ZD48dGQ+IDwvdGQ+ PHRkIGNsYXNzPSJyaWdodCI+ICAgY29uc2VxdWVuY2UsIGl0IGlzIGNvbnNpZGVyZWQgYXMgb3V0 IG9mIHNjb3BlIG9mIHRoZSBkb2N1bWVudC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwv dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm dCI+ICAgQWxsIExTUHMgaW4gYSBwYXJ0aWN1bGFyIGRpc2pvaW50IGdyb3VwIE1VU1QgdXNlIHRo ZSBzYW1lIGNvbWJpbmF0aW9uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgQWxs IExTUHMgaW4gYSBwYXJ0aWN1bGFyIGRpc2pvaW50IGdyb3VwIE1VU1QgdXNlIHRoZSBzYW1lIGNv bWJpbmF0aW9uPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBvZiBULCBTLCBOLCBMIGZs YWdzIGluIHRoZSBESVNKT0lOVE5FU1MtQ09ORklHVVJBVElPTi1UTFYuICBJZiBhIFBDRVA8L3Rk Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBvZiBULCBTLCBOLCBMIGZsYWdzIGluIHRo ZSBESVNKT0lOVE5FU1MtQ09ORklHVVJBVElPTi1UTFYuICBJZiBhIFBDRVA8L3RkPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 dGQgY2xhc3M9ImxlZnQiPiAgIHBlZXIgcmVjZWl2ZXMgYSBQQ0VQIG1lc3NhZ2VzIGZvciBMU1Bz IGJlbG9uZ2luZyB0byB0aGUgc2FtZSBkaXNqb2ludDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i cmlnaHQiPiAgIHBlZXIgcmVjZWl2ZXMgYSBQQ0VQIG1lc3NhZ2VzIGZvciBMU1BzIGJlbG9uZ2lu ZyB0byB0aGUgc2FtZSBkaXNqb2ludDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgZ3Jv dXAgYnV0IGhhdmluZyBhbiBpbmNvbnNpc3RlbnQgY29tYmluYXRpb24gb2YgVCwgUywgTiwgTCBm bGFncywgdGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgZ3JvdXAgYnV0IGhh dmluZyBhbiBpbmNvbnNpc3RlbnQgY29tYmluYXRpb24gb2YgVCwgUywgTiwgTCBmbGFncywgdGhl PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBQQ0VQIHBlZXIgU0hPVUxEIE5PVCB0cnkg dG8gYWRkIHRoZSBMU1BzIGluIGRpc2pvaW50IGdyb3VwIGFuZCBTSE9VTEQ8L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBQQ0VQIHBlZXIgU0hPVUxEIE5PVCB0cnkgdG8gYWRkIHRo ZSBMU1BzIGluIGRpc2pvaW50IGdyb3VwIGFuZCBTSE9VTEQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9 ImxlZnQiPiAgIHJlcGx5IHdpdGggYSBQQ0VyciB3aXRoIEVycm9yLXR5cGUgMjYgKEFzc29jaWF0 aW9uIEVycm9yKSBhbmQgRXJyb3ItPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg cmVwbHkgd2l0aCBhIFBDRXJyIHdpdGggRXJyb3ItdHlwZSAyNiAoQXNzb2NpYXRpb24gRXJyb3Ip IGFuZCBFcnJvci08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFZhbHVlIDYgKEFzc29j aWF0aW9uIGluZm9ybWF0aW9uIG1pc21hdGNoKS48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp Z2h0Ij4gICBWYWx1ZSA2IChBc3NvY2lhdGlvbiBpbmZvcm1hdGlvbiBtaXNtYXRjaCkuPC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48 L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMjEi Pjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xh c3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+NTwvc3Bhbj4uICBTZWN1cml0eSBDb25z aWRlcmF0aW9uczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0i aW5zZXJ0Ij42PC9zcGFuPi4gIFNlY3VyaXR5IENvbnNpZGVyYXRpb25zPC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMjIiPjx0ZD48L3Rk PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9j ayI+ICAgVGhpcyBkb2N1bWVudCBkZWZpbmVzIG9uZSBuZXcgdHlwZSBmb3IgYXNzb2NpYXRpb24s IHdoaWNoIGRvZXMgbm90PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIFRoaXMg ZG9jdW1lbnQgZGVmaW5lcyBvbmUgbmV3IHR5cGUgZm9yIGFzc29jaWF0aW9uLCB3aGljaCA8c3Bh biBjbGFzcz0iaW5zZXJ0Ij5vbiBpdHNlbGY8L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs YmxvY2siPiAgIGFkZCBhbnkgbmV3IHNlY3VyaXR5IGNvbmNlcm5zIGJleW9uZCB0aG9zZSBkaXNj dXNzZWQgaW4gW1JGQzU0NDBdLDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBk b2VzIG5vdCBhZGQgYW55IG5ldyBzZWN1cml0eSBjb25jZXJucyBiZXlvbmQgdGhvc2UgZGlzY3Vz c2VkIGluPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIFtSRkM4MjMxXSBhbmQgPHNw YW4gY2xhc3M9ImRlbGV0ZSI+W0ktRC5pZXRmLXBjZS1hc3NvY2lhdGlvbi1ncm91cF08L3NwYW4+ IGluIDxzcGFuIGNsYXNzPSJkZWxldGUiPml0c2VsZi48L3NwYW4+PC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyYmxvY2siPiAgIFtSRkM1NDQwXSwgW1JGQzgyMzFdIGFuZCA8c3BhbiBjbGFzcz0i aW5zZXJ0Ij5bSS1ELmlldGYtcGNlLWFzc29jaWF0aW9uLWdyb3VwXS4gIEJ1dCw8L3NwYW4+PC90 ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJs b2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4gICBhZGRpbmcgb2YgYSBzcHVyaW91cyBMU1AgaW50 byB0aGUgZGlzam9pbnRuZXNzIGFzc29jaWF0aW9uIGdyb3VwPC9zcGFuPjwvdGQ+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0 ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4g Y2xhc3M9Imluc2VydCI+ICAgY291bGQgbGVhZCB0byByZS1jb21wdXRhdGlvbiBhbmQgc2V0LXVw IG9mIGFsbCBMU1BzPC9zcGFuPiBpbiA8c3BhbiBjbGFzcz0iaW5zZXJ0Ij50aGUgZ3JvdXAsPC9z cGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48L3RkPjx0ZD4gPC90ZD48dGQgY2xh c3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ICAgdGhhdCBjb3VsZCBiZSB1c2VkIHRv IG92ZXJ3aGVsbSB0aGUgUENFIGFuZCB0aGUgbmV0d29yay48L3NwYW4+PC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMjMiPjx0ZD48L3Rk PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9j ayI+ICAgQXMgc3RhdGVkIGluIFtJLUQuaWV0Zi1wY2UtYXNzb2NpYXRpb24tZ3JvdXBdLCBtdWNo IG9mIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICBBPHNwYW4gY2xhc3M9 Imluc2VydCI+bHNvLCBhPC9zcGFuPnMgc3RhdGVkIGluIFtJLUQuaWV0Zi1wY2UtYXNzb2NpYXRp b24tZ3JvdXBdLCBtdWNoIG9mIHRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgaW5m b3JtYXRpb24gY2FycmllZCBpbiB0aGUgRGlzam9pbnRuZXNzIEFzc29jaWF0aW9uIG9iamVjdCwg YXMgcGVyPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgaW5mb3JtYXRpb24gY2Fy cmllZCBpbiB0aGUgRGlzam9pbnRuZXNzIEFzc29jaWF0aW9uIG9iamVjdCwgYXMgcGVyPC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB0aGlzIGRvY3VtZW50IGlzIG5vdCBleHRyYSBzZW5z aXRpdmUuICBJdCBvZnRlbiByZWZsZWN0cyBpbmZvcm1hdGlvbjwvdGQ+PHRkPiA8L3RkPjx0ZCBj bGFzcz0icmlnaHQiPiAgIHRoaXMgZG9jdW1lbnQgaXMgbm90IGV4dHJhIHNlbnNpdGl2ZS4gIEl0 IG9mdGVuIHJlZmxlY3RzIGluZm9ybWF0aW9uPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g ICB0aGF0IGNhbiBhbHNvIGJlIGRlcml2ZWQgZnJvbSB0aGUgTFNQIERhdGFiYXNlLCBidXQgYXNz b2NpYXRpb248L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB0aGF0IGNhbiBhbHNv IGJlIGRlcml2ZWQgZnJvbSB0aGUgTFNQIERhdGFiYXNlLCBidXQgYXNzb2NpYXRpb248L3RkPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHByb3ZpZGVzIGEgbXVjaCBlYXNpZXIgZ3JvdXBpbmcg b2YgcmVsYXRlZCBMU1BzIGFuZCBtZXNzYWdlcy4gIFRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz cz0icmlnaHQiPiAgIHByb3ZpZGVzIGEgbXVjaCBlYXNpZXIgZ3JvdXBpbmcgb2YgcmVsYXRlZCBM U1BzIGFuZCBtZXNzYWdlcy4gIFRoZTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgZGlz am9pbnRuZXNzIGFzc29jaWF0aW9uIGNvdWxkIHByb3ZpZGUgYW4gYWR2ZXJzYXJ5IHdpdGggdGhl PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgZGlzam9pbnRuZXNzIGFzc29jaWF0 aW9uIGNvdWxkIHByb3ZpZGUgYW4gYWR2ZXJzYXJ5IHdpdGggdGhlPC90ZD48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYwMDI0Ij48dGQ+PC90ZD48L3RyPgog ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIG9w cG9ydHVuaXR5IHRvIGVhdmVzZHJvcCBvbiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIExT UHMuICBUaHVzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIG9wcG9ydHVuaXR5 IHRvIGVhdmVzZHJvcCBvbiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIExTUHMuPC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPiAgIHNlY3VyaW5nIHRoZSBQQ0VQIHNlc3Npb24gdXNp bmcgVHJhbnNwb3J0IExheWVyIFNlY3VyaXR5IChUTFMpPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz PSJyYmxvY2siPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwv dHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgIFRodXMgc2VjdXJpbmcgdGhlIFBD RVAgc2Vzc2lvbiB1c2luZyBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkgKFRMUyk8L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFtSRkM4MjUzXSwgYXMgcGVyIHRoZSByZWNvbW1lbmRhdGlv bnMgYW5kIGJlc3QgY3VycmVudCBwcmFjdGljZXMgaW48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9 InJpZ2h0Ij4gICBbUkZDODI1M10sIGFzIHBlciB0aGUgcmVjb21tZW5kYXRpb25zIGFuZCBiZXN0 IGN1cnJlbnQgcHJhY3RpY2VzIGluPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgog ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBbUkZD NzUyNV0sIGlzIFJFQ09NTUVOREVELjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg IFtSRkM3NTI1XSwgaXMgUkVDT01NRU5ERUQuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48 L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMjUiPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0 cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9 ImRlbGV0ZSI+Njwvc3Bhbj4uICBJQU5BIENvbnNpZGVyYXRpb25zPC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPjc8L3NwYW4+LiAgSUFOQSBDb25z aWRlcmF0aW9uczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHIgaWQ9ImRpZmYwMDI2Ij48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPjY8L3NwYW4+ LjEuICBBc3NvY2lhdGlvbiBUeXBlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxz cGFuIGNsYXNzPSJpbnNlcnQiPjc8L3NwYW4+LjEuICBBc3NvY2lhdGlvbiBUeXBlPC90ZD48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3Rk Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRoaXMgZG9jdW1lbnQgZGVmaW5lcyBhIG5ldyBB c3NvY2lhdGlvbiB0eXBlLCBvcmlnaW5hbGx5IGRlc2NyaWJlZCBpbjwvdGQ+PHRkPiA8L3RkPjx0 ZCBjbGFzcz0icmlnaHQiPiAgIFRoaXMgZG9jdW1lbnQgZGVmaW5lcyBhIG5ldyBBc3NvY2lhdGlv biB0eXBlLCBvcmlnaW5hbGx5IGRlc2NyaWJlZCBpbjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm dCI+ICAgW0ktRC5pZXRmLXBjZS1hc3NvY2lhdGlvbi1ncm91cF0uICBJQU5BIGlzIHJlcXVlc3Rl ZCB0byBtYWtlIHRoZTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFtJLUQuaWV0 Zi1wY2UtYXNzb2NpYXRpb24tZ3JvdXBdLiAgSUFOQSBpcyByZXF1ZXN0ZWQgdG8gbWFrZSB0aGU8 L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFzc2lnbm1lbnQgb2YgYSBuZXcgdmFsdWUg Zm9yIHRoZSBzdWItcmVnaXN0cnkgIkFTU09DSUFUSU9OIFR5cGU8L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJpZ2h0Ij4gICBhc3NpZ25tZW50IG9mIGEgbmV3IHZhbHVlIGZvciB0aGUgc3ViLXJl Z2lzdHJ5ICJBU1NPQ0lBVElPTiBUeXBlPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBG aWVsZCIgKHJlcXVlc3QgdG8gYmUgY3JlYXRlZCBpbiBbSS1ELmlldGYtcGNlLWFzc29jaWF0aW9u LWdyb3VwXSksPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRmllbGQiIChyZXF1 ZXN0IHRvIGJlIGNyZWF0ZWQgaW4gW0ktRC5pZXRmLXBjZS1hc3NvY2lhdGlvbi1ncm91cF0pLDwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgYXMgZm9sbG93czo8L3RkPjx0ZD4gPC90ZD48 dGQgY2xhc3M9InJpZ2h0Ij4gICBhcyBmb2xsb3dzOjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm dCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsZWZ0Ij4gICAgICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSs8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAg ICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSs8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgfCBBc3NvY2lhdGlvbiB0 eXBlIHwgQXNzb2NpYXRpb24gTmFtZSAgICAgICAgICAgIHwgUmVmZXJlbmNlICAgfDwvdGQ+PHRk PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgfCBBc3NvY2lhdGlvbiB0eXBlIHwgQXNzb2Np YXRpb24gTmFtZSAgICAgICAgICAgIHwgUmVmZXJlbmNlICAgfDwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+ICAgICArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg ICArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgIHwgVEJEMSAgICAgICAg ICAgICB8IERpc2pvaW50LWdyb3VwIEFzc29jaWF0aW9uICB8IFtUaGlzLkktRF0gIHw8L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgIHwgVEJEMSAgICAgICAgICAgICB8IERpc2pv aW50LWdyb3VwIEFzc29jaWF0aW9uICB8IFtUaGlzLkktRF0gIHw8L3RkPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xh c3M9ImxlZnQiPiAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg ICAgKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tKzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHIgaWQ9ImRpZmYwMDI3Ij48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPjY8L3NwYW4+ LjIuICBQQ0VQIFRMVnM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xh c3M9Imluc2VydCI+Nzwvc3Bhbj4uMi4gIFBDRVAgVExWczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i bGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNs YXNzPSJsZWZ0Ij4gICBUaGlzIGRvY3VtZW50IGRlZmluZXMgdGhlIGZvbGxvd2luZyBuZXcgUENF UCBUTFZzIGFuZCB0aGUgSUFOQSBpczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg IFRoaXMgZG9jdW1lbnQgZGVmaW5lcyB0aGUgZm9sbG93aW5nIG5ldyBQQ0VQIFRMVnMgYW5kIHRo ZSBJQU5BIGlzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICByZXF1ZXN0ZWQgdG8gbWFr ZSB0aGUgYXNzaWdubWVudCBvZiBuZXcgdmFsdWVzIGZvciB0aGUgZXhpc3RpbmcgIlBDRVA8L3Rk Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICByZXF1ZXN0ZWQgdG8gbWFrZSB0aGUgYXNz aWdubWVudCBvZiBuZXcgdmFsdWVzIGZvciB0aGUgZXhpc3RpbmcgIlBDRVA8L3RkPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 dGQgY2xhc3M9ImxlZnQiPiAgIFRMViBUeXBlIEluZGljYXRvcnMiIHJlZ2lzdHJ5IGFzIGZvbGxv d3M6PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVExWIFR5cGUgSW5kaWNhdG9y cyIgcmVnaXN0cnkgYXMgZm9sbG93czo8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+ PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ ICAgICAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tKzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICArLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSs8L3Rk Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICB8IFRMViBUeXBlIHwgVExWIE5hbWUgICAg ICAgICAgICAgICAgICAgICAgICB8IFJlZmVyZW5jZSAgIHw8L3RkPjx0ZD4gPC90ZD48dGQgY2xh c3M9InJpZ2h0Ij4gICAgICAgfCBUTFYgVHlwZSB8IFRMViBOYW1lICAgICAgICAgICAgICAgICAg ICAgICAgfCBSZWZlcmVuY2UgICB8PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgog ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAg Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICstLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKzwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgIHwgVEJEMiAgICAgfCBEaXNqb2ludG5lc3MgQ29uZmln dXJhdGlvbiBUTFYgIHwgW1RoaXMuSS1EXSAgfDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln aHQiPiAgICAgICB8IFRCRDIgICAgIHwgRGlzam9pbnRuZXNzIENvbmZpZ3VyYXRpb24gVExWICB8 IFtUaGlzLkktRF0gIHw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0 cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICB8IFRCRDMg ICAgIHwgRGlzam9pbnRuZXNzIFN0YXR1cyBUTFYgICAgICAgICB8IFtUaGlzLkktRF0gIHw8L3Rk Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgfCBUQkQzICAgICB8IERpc2pvaW50 bmVzcyBTdGF0dXMgVExWICAgICAgICAgfCBbVGhpcy5JLURdICB8PC90ZD48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNs YXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0icGFydC0xMiIgY2xhc3M9ImNoYW5n ZSI+PHRkPjwvdGQ+PHRoPjxzbWFsbD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxhIGhy ZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvcmZjZGlmZiNwYXJ0LTEyIj48ZW0+IHBhZ2UgMTcs IGxpbmUgMzc8c3BhbiBjbGFzcz0iaGlkZSI+IMK2PC9zcGFuPjwvZW0+PC9hPjwvdGg+PHRoPiA8 L3RoPjx0aD48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48YSBocmVmPSJodHRw czovL3Rvb2xzLmlldGYub3JnL3JmY2RpZmYjcGFydC0xMiI+PGVtPiBwYWdlIDE4LCBsaW5lIDU8 c3BhbiBjbGFzcz0iaGlkZSI+IMK2PC9zcGFuPjwvZW0+PC9hPjwvdGg+PHRkPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAg ICAgICstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t KzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgICArLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSs8L3RkPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg Y2xhc3M9ImxlZnQiPiAgICAgICAgICB8IDMxICAgICAgICAgfCBMIC0gTGluayBEaXZlcnNlICAg ICAgICB8IFtUaGlzLkktRF0gIHw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAg ICAgICAgfCAzMSAgICAgICAgIHwgTCAtIExpbmsgRGl2ZXJzZSAgICAgICAgfCBbVGhpcy5JLURd ICB8PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgfCAzMCAgICAgICAgIHwg TiAtIE5vZGUgRGl2ZXJzZSAgICAgICAgfCBbVGhpcy5JLURdICB8PC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyaWdodCI+ICAgICAgICAgIHwgMzAgICAgICAgICB8IE4gLSBOb2RlIERpdmVyc2Ug ICAgICAgIHwgW1RoaXMuSS1EXSAgfDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAg ICAgIHwgMjkgICAgICAgICB8IFMgLSBTUkxHIERpdmVyc2UgICAgICAgIHwgW1RoaXMuSS1EXSAg fDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgICB8IDI5ICAgICAgICAg fCBTIC0gU1JMRyBEaXZlcnNlICAgICAgICB8IFtUaGlzLkktRF0gIHw8L3RkPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg Y2xhc3M9ImxlZnQiPiAgICAgICAgICB8IDI4ICAgICAgICAgfCBQIC0gU2hvcnRlc3QgUGF0aCAg ICAgICB8IFtUaGlzLkktRF0gIHw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAg ICAgICAgfCAyOCAgICAgICAgIHwgUCAtIFNob3J0ZXN0IFBhdGggICAgICAgfCBbVGhpcy5JLURd ICB8PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgfCAyNyAgICAgICAgIHwg VCAtIFN0cmljdCBEaXNqb2ludG5lc3MgfCBbVGhpcy5JLURdICB8PC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyaWdodCI+ICAgICAgICAgIHwgMjcgICAgICAgICB8IFQgLSBTdHJpY3QgRGlzam9p bnRuZXNzIHwgW1RoaXMuSS1EXSAgfDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAg ICAgICstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t KzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgICArLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSs8L3RkPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg Y2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICAgICAgVGFibGUgMTogRGlzam9pbnRuZXNz IENvbmZpZ3VyYXRpb24gVExWPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAg ICAgICAgICAgICAgVGFibGUgMTogRGlzam9pbnRuZXNzIENvbmZpZ3VyYXRpb24gVExWPC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48 L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMjgi Pjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xh c3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+Njwvc3Bhbj4uMy4gIE9iamVjdGl2ZSBG dW5jdGlvbnM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imlu c2VydCI+Nzwvc3Bhbj4uMy4gIE9iamVjdGl2ZSBGdW5jdGlvbnM8L3RkPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xh c3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0 ZCBjbGFzcz0ibGVmdCI+ICAgVGhyZWUgbmV3IE9iamVjdGl2ZSBGdW5jdGlvbnMgaGF2ZSBiZWVu IGRlZmluZWQgaW4gdGhpcyBkb2N1bWVudC48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0 Ij4gICBUaHJlZSBuZXcgT2JqZWN0aXZlIEZ1bmN0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBpbiB0 aGlzIGRvY3VtZW50LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgSUFOQSBpcyByZXF1 ZXN0ZWQgdG8gbWFrZSB0aGUgZm9sbG93aW5nIGFsbG9jYXRpb25zIGZyb20gdGhlIFBDRVA8L3Rk Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBJQU5BIGlzIHJlcXVlc3RlZCB0byBtYWtl IHRoZSBmb2xsb3dpbmcgYWxsb2NhdGlvbnMgZnJvbSB0aGUgUENFUDwvdGQ+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj bGFzcz0ibGVmdCI+ICAgIk9iamVjdGl2ZSBGdW5jdGlvbiIgc3ViLXJlZ2lzdHJ5OjwvdGQ+PHRk PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICJPYmplY3RpdmUgRnVuY3Rpb24iIHN1Yi1yZWdp c3RyeTo8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz cz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rPC90 ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rPC90ZD48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PHRkIGNsYXNzPSJsZWZ0Ij4gICB8IENvZGUgUG9pbnQgfCBOYW1lICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IFJlZmVyZW5jZSAgIHw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9 InJpZ2h0Ij4gICB8IENvZGUgUG9pbnQgfCBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IFJlZmVyZW5jZSAgIHw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tKzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t KzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgfCBUQkQ0ICAgICAgIHwgTWluaW1pemUg dGhlIG51bWJlciBvZiBzaGFyZWQgTGlua3MgICAgfCBbVGhpcy5JLURdICB8PC90ZD48dGQ+IDwv dGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgfCBUQkQ0ICAgICAgIHwgTWluaW1pemUgdGhlIG51bWJl ciBvZiBzaGFyZWQgTGlua3MgICAgfCBbVGhpcy5JLURdICB8PC90ZD48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsZWZ0Ij4gICB8ICAgICAgICAgICAgfCAoTVNMKSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgIHw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4g ICB8ICAgICAgICAgICAgfCAoTVNMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgIHw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0 cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHwgVEJENSAgICAg ICB8IE1pbmltaXplIHRoZSBudW1iZXIgb2Ygc2hhcmVkIFNSTEdzICAgIHwgW1RoaXMuSS1EXSAg fDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHwgVEJENSAgICAgICB8IE1pbmlt aXplIHRoZSBudW1iZXIgb2Ygc2hhcmVkIFNSTEdzICAgIHwgW1RoaXMuSS1EXSAgfDwvdGQ+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgfCAgICAgICAgICAgIHwgKE1TUykgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8PC90ZD48dGQ+IDwvdGQ+PHRkIGNs YXNzPSJyaWdodCI+ICAgfCAgICAgICAgICAgIHwgKE1TUykgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICB8PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g ICB8IFRCRDYgICAgICAgfCBNaW5pbWl6ZSB0aGUgbnVtYmVyIG9mIHNoYXJlZCBOb2RlcyAgICB8 IFtUaGlzLkktRF0gIHw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB8IFRCRDYg ICAgICAgfCBNaW5pbWl6ZSB0aGUgbnVtYmVyIG9mIHNoYXJlZCBOb2RlcyAgICB8IFtUaGlzLkkt RF0gIHw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHwgICAgICAgICAgICB8IChNU04p ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfDwvdGQ+PHRk PiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHwgICAgICAgICAgICB8IChNU04pICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfDwvdGQ+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBj bGFzcz0ibGVmdCI+ICAgKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo dCI+ICAgKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4g PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0ciBpZD0iZGlmZjAwMjkiPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ Njwvc3Bhbj4uNC4gIE5PLVBBVEgtVkVDVE9SIEJpdCBGbGFnczwvdGQ+PHRkPiA8L3RkPjx0ZCBj bGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij43PC9zcGFuPi40LiAgTk8tUEFUSC1W RUNUT1IgQml0IEZsYWdzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFRoaXMg ZG9jdW1lbnRzIGRlZmluZXMgbmV3IGJpdHMgZm9yIHRoZSBOTy1QQVRILVZFQ1RPUiBUTFYgaW4g dGhlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgVGhpcyBkb2N1bWVudHMgZGVm aW5lcyBuZXcgYml0cyBmb3IgdGhlIE5PLVBBVEgtVkVDVE9SIFRMViBpbiB0aGU8L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgICJOTy1QQVRILVZFQ1RPUiBUTFYgRmxhZyBGaWVsZCIgc3Vi LXJlZ2lzdHJ5IG9mIHRoZSAiUGF0aCBDb21wdXRhdGlvbjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz cz0icmlnaHQiPiAgICJOTy1QQVRILVZFQ1RPUiBUTFYgRmxhZyBGaWVsZCIgc3ViLXJlZ2lzdHJ5 IG9mIHRoZSAiUGF0aCBDb21wdXRhdGlvbjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90 cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg RWxlbWVudCBQcm90b2NvbCAoUENFUCkgTnVtYmVycyIgcmVnaXN0cnkuICBJQU5BIGlzIHJlcXVl c3RlZCB0byBtYWtlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRWxlbWVudCBQ cm90b2NvbCAoUENFUCkgTnVtYmVycyIgcmVnaXN0cnkuICBJQU5BIGlzIHJlcXVlc3RlZCB0byBt YWtlPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB0aGUgZm9sbG93aW5nIGFsbG9jYXRp b246PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgdGhlIGZvbGxvd2luZyBhbGxv Y2F0aW9uOjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNs YXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICArLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSs8 L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICArLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSs8L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHwgQml0IE51bWJlciB8IE5hbWUgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IFJlZmVyZW5jZSAgfDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz cz0icmlnaHQiPiAgIHwgQml0IE51bWJlciB8IE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IFJlZmVyZW5jZSAgfDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90 cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB8IFRCRDcgICAgICAgfCBEaXNqb2lu dCBwYXRoIG5vdCBmb3VuZCAgICAgICAgICAgICAgICAgfCBbVGhpcy5JLURdIHw8L3RkPjx0ZD4g PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB8IFRCRDcgICAgICAgfCBEaXNqb2ludCBwYXRoIG5v dCBmb3VuZCAgICAgICAgICAgICAgICAgfCBbVGhpcy5JLURdIHw8L3RkPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xh c3M9ImxlZnQiPiAgIHwgVEJEOCAgICAgICB8IFJlcXVlc3RlZCBkaXNqb2ludCBjb21wdXRhdGlv biBub3QgICAgICB8IFtUaGlzLkktRF0gfDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi PiAgIHwgVEJEOCAgICAgICB8IFJlcXVlc3RlZCBkaXNqb2ludCBjb21wdXRhdGlvbiBub3QgICAg ICB8IFtUaGlzLkktRF0gfDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgfCAgICAgICAg ICAgIHwgc3VwcG9ydGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICB8PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgfCAgICAgICAgICAgIHwgc3Vw cG9ydGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8PC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICArLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSs8L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJpZ2h0Ij4gICArLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSs8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i bGVmdCI+ICAgICAgICAgICAgICAgICAgICAgICAgVGFibGUgMjogTk8tUEFUSC1WRUNUT1IgVExW PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICAgICAgICAgICAg VGFibGUgMjogTk8tUEFUSC1WRUNUT1IgVExWPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48 L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMzAiPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0 cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9 ImRlbGV0ZSI+Njwvc3Bhbj4uNS4gIFBDRVAtRVJST1IgQ29kZXM8L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+Nzwvc3Bhbj4uNS4gIFBDRVAtRVJS T1IgQ29kZXM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBj bGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgVGhpcyBkb2N1bWVu dCBkZWZpbmVzIG5ldyBFcnJvci1WYWx1ZSB3aXRoaW4gZXhpc3RpbmcgRXJyb3ItVHlwZTwvdGQ+ PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIFRoaXMgZG9jdW1lbnQgZGVmaW5lcyBuZXcg RXJyb3ItVmFsdWUgd2l0aGluIGV4aXN0aW5nIEVycm9yLVR5cGU8L3RkPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xh c3M9ImxlZnQiPiAgIHJlbGF0ZWQgdG8gcGF0aCBwcm90ZWN0aW9uIGFzc29jaWF0aW9uLiAgSUFO QSBpcyByZXF1ZXN0ZWQgdG88L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICByZWxh dGVkIHRvIHBhdGggcHJvdGVjdGlvbiBhc3NvY2lhdGlvbi4gIElBTkEgaXMgcmVxdWVzdGVkIHRv PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhbGxvY2F0ZSBuZXcgZXJyb3IgdmFsdWVz IHdpdGhpbiB0aGUgIlBDRVAtRVJST1IgT2JqZWN0IEVycm9yIFR5cGVzPC90ZD48dGQ+IDwvdGQ+ PHRkIGNsYXNzPSJyaWdodCI+ICAgYWxsb2NhdGUgbmV3IGVycm9yIHZhbHVlcyB3aXRoaW4gdGhl ICJQQ0VQLUVSUk9SIE9iamVjdCBFcnJvciBUeXBlczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm dCI+ICAgYW5kIFZhbHVlcyIgc3ViLXJlZ2lzdHJ5IG9mIHRoZSBQQ0VQIE51bWJlcnMgcmVnaXN0 cnksIGFzIGZvbGxvd3M6PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYW5kIFZh bHVlcyIgc3ViLXJlZ2lzdHJ5IG9mIHRoZSBQQ0VQIE51bWJlcnMgcmVnaXN0cnksIGFzIGZvbGxv d3M6PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9 InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKzwvdGQ+ PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKzwvdGQ+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0 ZCBjbGFzcz0ibGVmdCI+ICAgfCBFcnJvci0gICB8IE1lYW5pbmcgICAgICAgICAgICAgICAgIHwg UmVmZXJlbmNlICAgICAgICAgICAgICAgICAgICB8PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy aWdodCI+ICAgfCBFcnJvci0gICB8IE1lYW5pbmcgICAgICAgICAgICAgICAgIHwgUmVmZXJlbmNl ICAgICAgICAgICAgICAgICAgICB8PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgog ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB8IFR5 cGUgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB8IFR5cGUgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHw8 L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKzwvdGQ+PHRkPiA8L3Rk Pjx0ZCBjbGFzcz0icmlnaHQiPiAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i bGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9InBhcnQtMTMiIGNsYXNzPSJjaGFuZ2UiPjx0 ZD48L3RkPjx0aD48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48YSBocmVmPSJo dHRwczovL3Rvb2xzLmlldGYub3JnL3JmY2RpZmYjcGFydC0xMyI+PGVtPiBwYWdlIDE4LCBsaW5l IDQ1PHNwYW4gY2xhc3M9ImhpZGUiPiDCtjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0aD4gPC90aD48 dGg+PHNtYWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGEgaHJlZj0iaHR0cHM6Ly90 b29scy5pZXRmLm9yZy9yZmNkaWZmI3BhcnQtMTMiPjxlbT4gcGFnZSAxOSwgbGluZSAyMTxzcGFu IGNsYXNzPSJoaWRlIj4gwrY8L3NwYW4+PC9lbT48L2E+PC90aD48dGQ+PC90ZD48L3RyPgogICAg ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB8ICAgICAg ICAgIHwgRXJyb3ItdmFsdWU9VEJEODogICAgICAgfCBbVGhpcy5JLURdICAgICAgICAgICAgICAg ICAgIHw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB8ICAgICAgICAgIHwgRXJy b3ItdmFsdWU9VEJEODogICAgICAgfCBbVGhpcy5JLURdICAgICAgICAgICAgICAgICAgIHw8L3Rk Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIHwgICAgICAgICAgfCBESVNKT0lOVE5FU1MtICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfDwvdGQ+PHRkPiA8L3RkPjx0 ZCBjbGFzcz0icmlnaHQiPiAgIHwgICAgICAgICAgfCBESVNKT0lOVE5FU1MtICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm dCI+ICAgfCAgICAgICAgICB8IENPTkZJR1VSQVRJT04gVExWICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgfCAg ICAgICAgICB8IENPTkZJR1VSQVRJT04gVExWICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB8ICAgICAgICAgIHwgbWlz c2luZyAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHw8L3Rk Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB8ICAgICAgICAgIHwgbWlzc2luZyAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHw8L3RkPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 dGQgY2xhc3M9ImxlZnQiPiAgIHwgMTAgICAgICAgfCBSZWNlcHRpb24gb2YgYW4gaW52YWxpZCB8 IFtSRkM1NDQwXSAgICAgICAgICAgICAgICAgICAgfDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i cmlnaHQiPiAgIHwgMTAgICAgICAgfCBSZWNlcHRpb24gb2YgYW4gaW52YWxpZCB8IFtSRkM1NDQw XSAgICAgICAgICAgICAgICAgICAgfDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgfCAg ICAgICAgICB8IG9iamVjdCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgfCAgICAgICAgICB8 IG9iamVjdCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJs aW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICB8ICAgICAgICAgIHwgRXJyb3ItdmFsdWU9 VEJEOTogICAgICAgfCBbVGhpcy5JLURdICAgICAgICAgICAgICAgICAgIHw8L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICB8ICAgICAgICAgIHwgRXJyb3ItdmFsdWU9VEJEOTogICAg ICAgfCBbVGhpcy5JLURdICAgICAgICAgICAgICAgICAgIHw8L3RkPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9 ImxlZnQiPiAgIHwgICAgICAgICAgfCBJbmNvbXBhdGlibGUgT0YgY29kZSAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg IHwgICAgICAgICAgfCBJbmNvbXBhdGlibGUgT0YgY29kZSAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rPC90ZD48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3Rk Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMzEiPjx0 ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9 ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+Nzwvc3Bhbj4uICBNYW5hZ2VhYmlsaXR5IENv bnNpZGVyYXRpb25zPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNz PSJpbnNlcnQiPjg8L3NwYW4+LiAgTWFuYWdlYWJpbGl0eSBDb25zaWRlcmF0aW9uczwvdGQ+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90 ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYwMDMyIj48 dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPjc8L3NwYW4+LjEuICBDb250cm9sIG9mIEZ1 bmN0aW9uIGFuZCBQb2xpY3k8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4g Y2xhc3M9Imluc2VydCI+ODwvc3Bhbj4uMS4gIENvbnRyb2wgb2YgRnVuY3Rpb24gYW5kIFBvbGlj eTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJy aWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBbiBvcGVyYXRvciBTSE9VTEQg YmUgYWxsb3dlZCB0byBjb25maWd1cmUgdGhlIGRpc2pvaW50bmVzczwvdGQ+PHRkPiA8L3RkPjx0 ZCBjbGFzcz0icmlnaHQiPiAgIEFuIG9wZXJhdG9yIFNIT1VMRCBiZSBhbGxvd2VkIHRvIGNvbmZp Z3VyZSB0aGUgZGlzam9pbnRuZXNzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgog ICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBhc3Nv Y2lhdGlvbiBncm91cHMgYW5kIGRpc2pvaW50IHBhcmFtZXRlcnMgYXQgdGhlIFBDRVAgcGVlcnMg YW5kPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgYXNzb2NpYXRpb24gZ3JvdXBz IGFuZCBkaXNqb2ludCBwYXJhbWV0ZXJzIGF0IHRoZSBQQ0VQIHBlZXJzIGFuZDwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk Pjx0ZCBjbGFzcz0ibGVmdCI+ICAgYXNzb2NpYXRlIGl0IHdpdGggdGhlIExTUHMuICBUaGUgT3Bl cmF0b3ItY29uZmlndXJlZCBBc3NvY2lhdGlvbjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmln aHQiPiAgIGFzc29jaWF0ZSBpdCB3aXRoIHRoZSBMU1BzLiAgVGhlIE9wZXJhdG9yLWNvbmZpZ3Vy ZWQgQXNzb2NpYXRpb248L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0 cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFJhbmdlIE1VU1Qg YmUgYWxsb3dlZCB0byBiZSBzZXQgYnkgdGhlIG9wZXJhdG9yLiAgT3BlcmF0b3IgU0hPVUxEIGJl PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgUmFuZ2UgTVVTVCBiZSBhbGxvd2Vk IHRvIGJlIHNldCBieSB0aGUgb3BlcmF0b3IuICBPcGVyYXRvciBTSE9VTEQgYmU8L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFsbG93ZWQgdG8gc2V0IHRoZSBsb2NhbCBwb2xpY2llcyB0 byBkZWZpbmUgdmFyaW91cyBkaXNqb2ludDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi PiAgIGFsbG93ZWQgdG8gc2V0IHRoZSBsb2NhbCBwb2xpY2llcyB0byBkZWZpbmUgdmFyaW91cyBk aXNqb2ludDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgY29tcHV0YXRpb25hbCBiZWhh dmlvciBhdCB0aGUgUENFLjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGNvbXB1 dGF0aW9uYWwgYmVoYXZpb3IgYXQgdGhlIFBDRS48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PC90cj4KICAgICAgPHRyIGlkPSJkaWZmMDAzMyI+PHRkPjwvdGQ+PC90cj4KICAgICAg PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFz cz0iZGVsZXRlIj43PC9zcGFuPi4yLiAgSW5mb3JtYXRpb24gYW5kIERhdGEgTW9kZWxzPC90ZD48 dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPjg8L3NwYW4+ LjIuICBJbmZvcm1hdGlvbiBhbmQgRGF0YSBNb2RlbHM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9Imxl ZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+ICAgQW4gaW1wbGVtZW50YXRpb24gU0hPVUxEIGFsbG93IHRoZSBvcGVyYXRvciB0 byB2aWV3IHRoZSBkaXNqb2ludDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIEFu IGltcGxlbWVudGF0aW9uIFNIT1VMRCBhbGxvdyB0aGUgb3BlcmF0b3IgdG8gdmlldyB0aGUgZGlz am9pbnQ8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGFzc29jaWF0aW9ucyBjb25maWd1 cmVkIG9yIGNyZWF0ZWQgZHluYW1pY2FsbHkuICBGdXJ0aGVyPC90ZD48dGQ+IDwvdGQ+PHRkIGNs YXNzPSJyaWdodCI+ICAgYXNzb2NpYXRpb25zIGNvbmZpZ3VyZWQgb3IgY3JlYXRlZCBkeW5hbWlj YWxseS4gIEZ1cnRoZXI8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0 cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGltcGxlbWVudGF0 aW9uIFNIT1VMRCBhbGxvdyB0byB2aWV3IGRpc2pvaW50IGFzc29jaWF0aW9ucyByZXBvcnRlZCBi eTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGltcGxlbWVudGF0aW9uIFNIT1VM RCBhbGxvdyB0byB2aWV3IGRpc2pvaW50IGFzc29jaWF0aW9ucyByZXBvcnRlZCBieTwvdGQ+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgZWFjaCBwZWVyLCBhbmQgdGhlIGN1cnJlbnQgc2V0IG9m IExTUHMgaW4gdGhpcyBhc3NvY2lhdGlvbi4gIFRoZSBQQ0VQPC90ZD48dGQ+IDwvdGQ+PHRkIGNs YXNzPSJyaWdodCI+ICAgZWFjaCBwZWVyLCBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIExTUHMgaW4g dGhpcyBhc3NvY2lhdGlvbi4gIFRoZSBQQ0VQPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4g ICBZQU5HIG1vZHVsZSBbSS1ELmlldGYtcGNlLXBjZXAteWFuZ10gaW5jbHVkZXMgYXNzb2NpYXRp b24gZ3JvdXBzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgWUFORyBtb2R1bGUg W0ktRC5pZXRmLXBjZS1wY2VwLXlhbmddIGluY2x1ZGVzIGFzc29jaWF0aW9uIGdyb3VwczwvdGQ+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgaW5mb3JtYXRpb24uPC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyaWdodCI+ICAgaW5mb3JtYXRpb24uPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0 Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwMzQiPjx0ZD48L3RkPjwvdHI+CiAgICAg IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xh c3M9ImRlbGV0ZSI+Nzwvc3Bhbj4uMy4gIExpdmVuZXNzIERldGVjdGlvbiBhbmQgTW9uaXRvcmlu ZzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij44 PC9zcGFuPi4zLiAgTGl2ZW5lc3MgRGV0ZWN0aW9uIGFuZCBNb25pdG9yaW5nPC90ZD48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIE1lY2hhbmlzbXMgZGVmaW5lZCBpbiB0aGlzIGRvY3Vt ZW50IGRvIG5vdCBpbXBseSBhbnkgbmV3IGxpdmVuZXNzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz PSJyaWdodCI+ICAgTWVjaGFuaXNtcyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQgZG8gbm90IGlt cGx5IGFueSBuZXcgbGl2ZW5lc3M8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGRldGVj dGlvbiBhbmQgbW9uaXRvcmluZyByZXF1aXJlbWVudHMgaW4gYWRkaXRpb24gdG8gdGhvc2UgYWxy ZWFkeTwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGRldGVjdGlvbiBhbmQgbW9u aXRvcmluZyByZXF1aXJlbWVudHMgaW4gYWRkaXRpb24gdG8gdGhvc2UgYWxyZWFkeTwvdGQ+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgbGlzdGVkIGluIFtSRkM1NDQwXS48L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBsaXN0ZWQgaW4gW1JGQzU0NDBdLjwvdGQ+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0 ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYwMDM1Ij48dGQ+PC90 ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxv Y2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPjc8L3NwYW4+LjQuICBWZXJpZnkgQ29ycmVjdCBPcGVy YXRpb25zPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNl cnQiPjg8L3NwYW4+LjQuICBWZXJpZnkgQ29ycmVjdCBPcGVyYXRpb25zPC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIE1lY2hhbmlzbXMgZGVmaW5lZCBpbiB0aGlzIGRvY3VtZW50 IGRvIG5vdCBpbXBseSBhbnkgbmV3IG9wZXJhdGlvbjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i cmlnaHQiPiAgIE1lY2hhbmlzbXMgZGVmaW5lZCBpbiB0aGlzIGRvY3VtZW50IGRvIG5vdCBpbXBs eSBhbnkgbmV3IG9wZXJhdGlvbjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAg ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdmVyaWZp Y2F0aW9uIHJlcXVpcmVtZW50cyBpbiBhZGRpdGlvbiB0byB0aG9zZSBhbHJlYWR5IGxpc3RlZCBp bjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHZlcmlmaWNhdGlvbiByZXF1aXJl bWVudHMgaW4gYWRkaXRpb24gdG8gdGhvc2UgYWxyZWFkeSBsaXN0ZWQgaW48L3RkPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 dGQgY2xhc3M9ImxlZnQiPiAgIFtSRkM1NDQwXS48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp Z2h0Ij4gICBbUkZDNTQ0MF0uPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4g PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0ciBpZD0iZGlmZjAwMzYiPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+PHNwYW4gY2xhc3M9ImRlbGV0ZSI+ Nzwvc3Bhbj4uNS4gIFJlcXVpcmVtZW50cyBPbiBPdGhlciBQcm90b2NvbHM8L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJibG9jayI+PHNwYW4gY2xhc3M9Imluc2VydCI+ODwvc3Bhbj4uNS4gIFJl cXVpcmVtZW50cyBPbiBPdGhlciBQcm90b2NvbHM8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i bGVmdCI+ICAgTWVjaGFuaXNtcyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQgZG8gbm90IGltcGx5 IGFueSBuZXcgcmVxdWlyZW1lbnRzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg TWVjaGFuaXNtcyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQgZG8gbm90IGltcGx5IGFueSBuZXcg cmVxdWlyZW1lbnRzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBvbiBvdGhlciBwcm90 b2NvbHMuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgb24gb3RoZXIgcHJvdG9j b2xzLjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz PSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9 ImRpZmYwMDM3Ij48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PHRkIGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPjc8L3NwYW4+LjYuICBJ bXBhY3QgT24gTmV0d29yayBPcGVyYXRpb25zPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxv Y2siPjxzcGFuIGNsYXNzPSJpbnNlcnQiPjg8L3NwYW4+LjYuICBJbXBhY3QgT24gTmV0d29yayBP cGVyYXRpb25zPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0 cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIE1lY2hhbmlzbXMg ZGVmaW5lZCBpbiBbUkZDNTQ0MF0sIFNlY3Rpb24gOC42IGFsc28gYXBwbHkgdG8gUENFUDwvdGQ+ PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIE1lY2hhbmlzbXMgZGVmaW5lZCBpbiBbUkZD NTQ0MF0sIFNlY3Rpb24gOC42IGFsc28gYXBwbHkgdG8gUENFUDwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+ICAgZXh0ZW5zaW9ucyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQuICBBZGRpdGlv bmFsbHksIGEgUENFUDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIGV4dGVuc2lv bnMgZGVmaW5lZCBpbiB0aGlzIGRvY3VtZW50LiAgQWRkaXRpb25hbGx5LCBhIFBDRVA8L3RkPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIGltcGxlbWVudGF0aW9uIFNIT1VMRCBhbGxvdyBhIGxp bWl0IHRvIGJlIHBsYWNlZCBvbiB0aGUgbnVtYmVyIG9mPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz PSJyaWdodCI+ICAgaW1wbGVtZW50YXRpb24gU0hPVUxEIGFsbG93IGEgbGltaXQgdG8gYmUgcGxh Y2VkIG9uIHRoZSBudW1iZXIgb2Y8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAg ICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIExTUHMg dGhhdCBjYW4gYmVsb25nIHRvIGEgZGlzam9pbnQgYXNzb2NpYXRpb24gZ3JvdXAuPC90ZD48dGQ+ IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgTFNQcyB0aGF0IGNhbiBiZWxvbmcgdG8gYSBkaXNq b2ludCBhc3NvY2lhdGlvbiBncm91cC48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+ PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PC90cj4KICAgICAgPHRyIGlkPSJkaWZmMDAzOCI+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3BhbiBjbGFzcz0iZGVs ZXRlIj44PC9zcGFuPi4gIEFja25vd2xlZGdtZW50czwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i cmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij45PC9zcGFuPi4gIEFja25vd2xlZGdtZW50czwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo dCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBBIHNwZWNpYWwgdGhhbmtzIHRvIGF1 dGhvcnMgb2YgW0ktRC5pZXRmLXBjZS1hc3NvY2lhdGlvbi1ncm91cF0sIHRoaXM8L3RkPjx0ZD4g PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBBIHNwZWNpYWwgdGhhbmtzIHRvIGF1dGhvcnMgb2Yg W0ktRC5pZXRmLXBjZS1hc3NvY2lhdGlvbi1ncm91cF0sIHRoaXM8L3RkPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xh c3M9ImxlZnQiPiAgIGRvY3VtZW50IGJvcnJvdyBzb21lIG9mIHRoZSB0ZXh0IGZyb20gaXQuICBB dXRob3JzIHdvdWxkIGFsc28gbGlrZSB0bzwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi PiAgIGRvY3VtZW50IGJvcnJvdyBzb21lIG9mIHRoZSB0ZXh0IGZyb20gaXQuICBBdXRob3JzIHdv dWxkIGFsc28gbGlrZSB0bzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgdGhhbmsgQWRy aWFuIEZhcnJlbCBhbmQgSnVsaWVuIE1ldXJpYyBmb3IgdGhlIHZhbHVhYmxlIGNvbW1lbnRzLjwv dGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgIHRoYW5rIEFkcmlhbiBGYXJyZWwgYW5k IEp1bGllbiBNZXVyaWMgZm9yIHRoZSB2YWx1YWJsZSBjb21tZW50cy48L3RkPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQg Y2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyIGlkPSJkaWZmMDAzOSI+PHRkPjwvdGQ+ PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2Nr Ij48c3BhbiBjbGFzcz0iZGVsZXRlIj45Ljwvc3Bhbj4gIFJlZmVyZW5jZXM8L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJibG9jayI+ICAgPHNwYW4gY2xhc3M9Imluc2VydCI+VGhhbmtzIHRvIEVt bWFudWVsIEJhY2NlbGxpIGZvciBSVEdESVIgcmV2aWV3cy48L3NwYW4+PC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsYmxvY2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPjkuMS48L3NwYW4+ICBOb3JtYXRp dmUgUmVmZXJlbmNlczwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFz cz0iaW5zZXJ0Ij48L3NwYW4+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRk PiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0iaW5zZXJ0Ij4xMC48L3NwYW4+ ICBSZWZlcmVuY2VzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2siPjwvdGQ+PHRkPiA8L3Rk Pjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsYmxvY2siPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj48c3BhbiBjbGFzcz0i aW5zZXJ0Ij4xMC4xLjwvc3Bhbj4gIE5vcm1hdGl2ZSBSZWZlcmVuY2VzPC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFtSRkMyMTE5XSAgQnJhZG5lciwgUy4sICJLZXkgd29yZHMg Zm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo dCI+ICAgW1JGQzIxMTldICBCcmFkbmVyLCBTLiwgIktleSB3b3JkcyBmb3IgdXNlIGluIFJGQ3Mg dG8gSW5kaWNhdGU8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICAgICAgICAgUmVx dWlyZW1lbnQgTGV2ZWxzIiwgQkNQIDE0LCBSRkMgMjExOSw8L3RkPjx0ZD4gPC90ZD48dGQgY2xh c3M9InJpZ2h0Ij4gICAgICAgICAgICAgIFJlcXVpcmVtZW50IExldmVscyIsIEJDUCAxNCwgUkZD IDIxMTksPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgIERPSSAxMC4x NzQ4Ny9SRkMyMTE5LCBNYXJjaCAxOTk3LDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi PiAgICAgICAgICAgICAgRE9JIDEwLjE3NDg3L1JGQzIxMTksIE1hcmNoIDE5OTcsPC90ZD48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgICZsdDtodHRwczovL3d3dy5yZmMtZWRp dG9yLm9yZy9pbmZvL3JmYzIxMTkmZ3Q7LjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQi PiAgICAgICAgICAgICAgJmx0O2h0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjMjEx OSZndDsuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xh c3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIFtSRkM4MTI2XSAgQ290 dG9uLCBNLiwgTGVpYmEsIEIuLCBhbmQgVC4gTmFydGVuLCAiR3VpZGVsaW5lcyBmb3I8L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBbUkZDODEyNl0gIENvdHRvbiwgTS4sIExlaWJh LCBCLiwgYW5kIFQuIE5hcnRlbiwgIkd1aWRlbGluZXMgZm9yPC90ZD48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsZWZ0Ij4gICAgICAgICAgICAgIFdyaXRpbmcgYW4gSUFOQSBDb25zaWRlcmF0aW9ucyBTZWN0 aW9uIGluIFJGQ3MiLCBCQ1AgMjYsPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg ICAgICAgICAgICBXcml0aW5nIGFuIElBTkEgQ29uc2lkZXJhdGlvbnMgU2VjdGlvbiBpbiBSRkNz IiwgQkNQIDI2LDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICBSRkMg ODEyNiwgRE9JIDEwLjE3NDg3L1JGQzgxMjYsIEp1bmUgMjAxNyw8L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgIFJGQyA4MTI2LCBET0kgMTAuMTc0ODcvUkZDODEy NiwgSnVuZSAyMDE3LDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRy Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICAm bHQ7aHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmM4MTI2Jmd0Oy48L3RkPjx0ZD4g PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgICZsdDtodHRwczovL3d3dy5yZmMt ZWRpdG9yLm9yZy9pbmZvL3JmYzgxMjYmZ3Q7LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48L3RyPgogICAgICA8dHIgaWQ9InBhcnQtMTQiIGNsYXNzPSJjaGFuZ2UiPjx0ZD48L3Rk Pjx0aD48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48YSBocmVmPSJodHRwczov L3Rvb2xzLmlldGYub3JnL3JmY2RpZmYjcGFydC0xNCI+PGVtPiBwYWdlIDIwLCBsaW5lIDM5PHNw YW4gY2xhc3M9ImhpZGUiPiDCtjwvc3Bhbj48L2VtPjwvYT48L3RoPjx0aD4gPC90aD48dGg+PHNt YWxsPnNraXBwaW5nIHRvIGNoYW5nZSBhdDwvc21hbGw+PGEgaHJlZj0iaHR0cHM6Ly90b29scy5p ZXRmLm9yZy9yZmNkaWZmI3BhcnQtMTQiPjxlbT4gcGFnZSAyMSwgbGluZSAxMzxzcGFuIGNsYXNz PSJoaWRlIj4gwrY8L3NwYW4+PC9lbT48L2E+PC90aD48dGQ+PC90ZD48L3RyPgogICAgICA8dHI+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgIE1h eSAyMDE3LCAmbHQ7aHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmM4MTc0Jmd0Oy48 L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgIE1heSAyMDE3LCAm bHQ7aHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmM4MTc0Jmd0Oy48L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgW1JGQzgyMzFdICBDcmFiYmUsIEUuLCBNaW5laSwg SS4sIE1lZHZlZCwgSi4sIGFuZCBSLiBWYXJnYSwgIlBhdGg8L3RkPjx0ZD4gPC90ZD48dGQgY2xh c3M9InJpZ2h0Ij4gICBbUkZDODIzMV0gIENyYWJiZSwgRS4sIE1pbmVpLCBJLiwgTWVkdmVkLCBK LiwgYW5kIFIuIFZhcmdhLCAiUGF0aDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAg ICAgICAgICBDb21wdXRhdGlvbiBFbGVtZW50IENvbW11bmljYXRpb24gUHJvdG9jb2wgKFBDRVAp PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICBDb21wdXRhdGlv biBFbGVtZW50IENvbW11bmljYXRpb24gUHJvdG9jb2wgKFBDRVApPC90ZD48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNs YXNzPSJsZWZ0Ij4gICAgICAgICAgICAgIEV4dGVuc2lvbnMgZm9yIFN0YXRlZnVsIFBDRSIsIFJG QyA4MjMxLDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgICAgICAgRXh0 ZW5zaW9ucyBmb3IgU3RhdGVmdWwgUENFIiwgUkZDIDgyMzEsPC90ZD48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNz PSJsZWZ0Ij4gICAgICAgICAgICAgIERPSSAxMC4xNzQ4Ny9SRkM4MjMxLCBTZXB0ZW1iZXIgMjAx Nyw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgIERPSSAxMC4x NzQ4Ny9SRkM4MjMxLCBTZXB0ZW1iZXIgMjAxNyw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi PiAgICAgICAgICAgICAgJmx0O2h0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjODIz MSZndDsuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICAmbHQ7 aHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmM4MjMxJmd0Oy48L3RkPjx0ZCBjbGFz cz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRk IGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgW0ktRC5pZXRmLXBjZS1hc3NvY2lhdGlvbi1ncm91cF08 L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBbSS1ELmlldGYtcGNlLWFzc29jaWF0 aW9uLWdyb3VwXTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICBNaW5l aSwgSS4sIENyYWJiZSwgRS4sIFNpdmFiYWxhbiwgUy4sIEFuYW50aGFrcmlzaG5hbiwgSC4sPC90 ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAgICBNaW5laSwgSS4sIENy YWJiZSwgRS4sIFNpdmFiYWxhbiwgUy4sIEFuYW50aGFrcmlzaG5hbiwgSC4sPC90ZD48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYwMDQwIj48dGQ+PC90ZD48 L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2si PiAgICAgICAgICAgICAgRGhvZHksIEQuLCBhbmQgWS4gVGFuYWthLCA8c3BhbiBjbGFzcz0iZGVs ZXRlIj4iUENFUDwvc3Bhbj4gRXh0ZW5zaW9ucyBmb3I8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9 InJibG9jayI+ICAgICAgICAgICAgICBEaG9keSwgRC4sIGFuZCBZLiBUYW5ha2EsIDxzcGFuIGNs YXNzPSJpbnNlcnQiPiJQYXRoIENvbXB1dGF0aW9uIEVsZW1lbnQ8L3NwYW4+PC90ZD48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+ PHRkIGNsYXNzPSJsYmxvY2siPiAgICAgICAgICAgICAgRXN0YWJsaXNoaW5nIFJlbGF0aW9uc2hp cHMgQmV0d2VlbiBTZXRzIG9mIDxzcGFuIGNsYXNzPSJkZWxldGUiPkxTUHMiLCBkcmFmdC08L3Nw YW4+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQi PiAgICAgICAgICAgICAgQ29tbXVuaWNhdGlvbiBQcm90b2NvbCAoUENFUCk8L3NwYW4+IEV4dGVu c2lvbnMgZm9yIEVzdGFibGlzaGluZzwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4K ICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj48c3Bh biBjbGFzcz0iZGVsZXRlIj4gICAgICAgICAgICAgIGlldGYtcGNlLWFzc29jaWF0aW9uLWdyb3Vw LTA5PC9zcGFuPiAod29yayBpbiBwcm9ncmVzcyksIDxzcGFuIGNsYXNzPSJkZWxldGUiPkFwcmls PC9zcGFuPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICAgICAgIFJl bGF0aW9uc2hpcHMgQmV0d2VlbiBTZXRzIG9mIDxzcGFuIGNsYXNzPSJpbnNlcnQiPkxhYmVsIFN3 aXRjaGVkIFBhdGhzPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAg ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGJsb2NrIj4gICAgICAg ICAgICAgIDIwMTkuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNz PSJpbnNlcnQiPiAgICAgICAgICAgICAgKExTUHMpIiwgZHJhZnQtaWV0Zi1wY2UtYXNzb2NpYXRp b24tZ3JvdXAtMTA8L3NwYW4+ICh3b3JrIGluPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxvY2si PjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmJsb2NrIj4gICAgICAgICAgICAgIHByb2dyZXNz KSwgPHNwYW4gY2xhc3M9Imluc2VydCI+QXVndXN0PC9zcGFuPiAyMDE5LjwvdGQ+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0 ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHIgaWQ9ImRpZmYwMDQxIj48dGQ+PC90 ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsYmxv Y2siPjxzcGFuIGNsYXNzPSJkZWxldGUiPjk8L3NwYW4+LjIuICBJbmZvcm1hdGl2ZSBSZWZlcmVu Y2VzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPjxzcGFuIGNsYXNzPSJpbnNlcnQi PjEwPC9zcGFuPi4yLiAgSW5mb3JtYXRpdmUgUmVmZXJlbmNlczwvdGQ+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFz cz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij4gICBbUkZDNDY1NV0gIEZhcnJlbCwgQS4sIFZhc3NldXIsIEouLCBhbmQg Si4gQXNoLCAiQSBQYXRoIENvbXB1dGF0aW9uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdo dCI+ICAgW1JGQzQ2NTVdICBGYXJyZWwsIEEuLCBWYXNzZXVyLCBKLiwgYW5kIEouIEFzaCwgIkEg UGF0aCBDb21wdXRhdGlvbjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAg PHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAg ICBFbGVtZW50IChQQ0UpLUJhc2VkIEFyY2hpdGVjdHVyZSIsIFJGQyA0NjU1LDwvdGQ+PHRkPiA8 L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgICAgICAgRWxlbWVudCAoUENFKS1CYXNlZCBB cmNoaXRlY3R1cmUiLCBSRkMgNDY1NSw8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAg ICAgICAgICAgRE9JIDEwLjE3NDg3L1JGQzQ2NTUsIEF1Z3VzdCAyMDA2LDwvdGQ+PHRkPiA8L3Rk Pjx0ZCBjbGFzcz0icmlnaHQiPiAgICAgICAgICAgICAgRE9JIDEwLjE3NDg3L1JGQzQ2NTUsIEF1 Z3VzdCAyMDA2LDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICAmbHQ7 aHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmM0NjU1Jmd0Oy48L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgICZsdDtodHRwczovL3d3dy5yZmMtZWRp dG9yLm9yZy9pbmZvL3JmYzQ2NTUmZ3Q7LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90 cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90 ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0 Ij4gICBbUkZDNjAwN10gIE5pc2hpb2thLCBJLiBhbmQgRC4gS2luZywgIlVzZSBvZiB0aGUgU3lu Y2hyb25pemF0aW9uPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgW1JGQzYwMDdd ICBOaXNoaW9rYSwgSS4gYW5kIEQuIEtpbmcsICJVc2Ugb2YgdGhlIFN5bmNocm9uaXphdGlvbjwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICBWRUN0b3IgKFNWRUMpIExp c3QgZm9yIFN5bmNocm9uaXplZCBEZXBlbmRlbnQgUGF0aDwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFz cz0icmlnaHQiPiAgICAgICAgICAgICAgVkVDdG9yIChTVkVDKSBMaXN0IGZvciBTeW5jaHJvbml6 ZWQgRGVwZW5kZW50IFBhdGg8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICAgICAg ICAgQ29tcHV0YXRpb25zIiwgUkZDIDYwMDcsIERPSSAxMC4xNzQ4Ny9SRkM2MDA3LCBTZXB0ZW1i ZXI8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgIENvbXB1dGF0 aW9ucyIsIFJGQyA2MDA3LCBET0kgMTAuMTc0ODcvUkZDNjAwNywgU2VwdGVtYmVyPC90ZD48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgIDIwMTAsICZsdDtodHRwczovL3d3dy5y ZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzYwMDcmZ3Q7LjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0i cmlnaHQiPiAgICAgICAgICAgICAgMjAxMCwgJmx0O2h0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3Jn L2luZm8vcmZjNjAwNyZndDsuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAg ICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4g PC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0ciBpZD0icGFydC0xNSIgY2xhc3M9ImNoYW5nZSI+PHRkPjwvdGQ+PHRoPjxzbWFs bD5za2lwcGluZyB0byBjaGFuZ2UgYXQ8L3NtYWxsPjxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0 Zi5vcmcvcmZjZGlmZiNwYXJ0LTE1Ij48ZW0+IHBhZ2UgMjEsIGxpbmUgMzc8c3BhbiBjbGFzcz0i aGlkZSI+IMK2PC9zcGFuPjwvZW0+PC9hPjwvdGg+PHRoPiA8L3RoPjx0aD48c21hbGw+c2tpcHBp bmcgdG8gY2hhbmdlIGF0PC9zbWFsbD48YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL3Jm Y2RpZmYjcGFydC0xNSI+PGVtPiBwYWdlIDIyLCBsaW5lIDk8c3BhbiBjbGFzcz0iaGlkZSI+IMK2 PC9zcGFuPjwvZW0+PC9hPjwvdGg+PHRkPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0i bGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgW1JGQzgyODFdICBDcmFiYmUsIEUuLCBN aW5laSwgSS4sIFNpdmFiYWxhbiwgUy4sIGFuZCBSLiBWYXJnYSwgIlBhdGg8L3RkPjx0ZD4gPC90 ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBbUkZDODI4MV0gIENyYWJiZSwgRS4sIE1pbmVpLCBJLiwg U2l2YWJhbGFuLCBTLiwgYW5kIFIuIFZhcmdhLCAiUGF0aDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0i bGVmdCI+ICAgICAgICAgICAgICBDb21wdXRhdGlvbiBFbGVtZW50IENvbW11bmljYXRpb24gUHJv dG9jb2wgKFBDRVApPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgICAgICAgICAg ICBDb21wdXRhdGlvbiBFbGVtZW50IENvbW11bmljYXRpb24gUHJvdG9jb2wgKFBDRVApPC90ZD48 dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8i PjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgIEV4dGVuc2lvbnMgZm9yIFBDRS1J bml0aWF0ZWQgTFNQIFNldHVwIGluIGEgU3RhdGVmdWwgUENFPC90ZD48dGQ+IDwvdGQ+PHRkIGNs YXNzPSJyaWdodCI+ICAgICAgICAgICAgICBFeHRlbnNpb25zIGZvciBQQ0UtSW5pdGlhdGVkIExT UCBTZXR1cCBpbiBhIFN0YXRlZnVsIFBDRTwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90 cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAg ICAgICAgICAgICBNb2RlbCIsIFJGQyA4MjgxLCBET0kgMTAuMTc0ODcvUkZDODI4MSwgRGVjZW1i ZXIgMjAxNyw8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgIE1v ZGVsIiwgUkZDIDgyODEsIERPSSAxMC4xNzQ4Ny9SRkM4MjgxLCBEZWNlbWJlciAyMDE3LDwvdGQ+ PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5v Ij48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICAmbHQ7aHR0cHM6Ly93d3cucmZj LWVkaXRvci5vcmcvaW5mby9yZmM4MjgxJmd0Oy48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJp Z2h0Ij4gICAgICAgICAgICAgICZsdDtodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3Jm YzgyODEmZ3Q7LjwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+PC90ZD48dGQ+IDwvdGQ+PHRk IGNsYXNzPSJyaWdodCI+PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8 dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBbSS1ELmlldGYt cGNlLXBjZXAteWFuZ108L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBbSS1ELmll dGYtcGNlLXBjZXAteWFuZ108L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAg IDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgICAgICAgICAg ICAgRGhvZHksIEQuLCBIYXJkd2ljaywgSi4sIEJlZXJhbSwgVi4sIGFuZCBKLiBUYW50c3VyYSwg IkE8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICAgICAgICAgICAgIERob2R5LCBE LiwgSGFyZHdpY2ssIEouLCBCZWVyYW0sIFYuLCBhbmQgSi4gVGFudHN1cmEsICJBPC90ZD48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICAgICAgICAgICAgIFlBTkcgRGF0YSBNb2RlbCBmb3IgUGF0 aCBDb21wdXRhdGlvbiBFbGVtZW50PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAg ICAgICAgICAgICBZQU5HIERhdGEgTW9kZWwgZm9yIFBhdGggQ29tcHV0YXRpb24gRWxlbWVudDwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgICAgICAgICAgICBDb21tdW5pY2F0aW9ucyBQ cm90b2NvbCAoUENFUCkiLCBkcmFmdC1pZXRmLXBjZS1wY2VwLTwvdGQ+PHRkPiA8L3RkPjx0ZCBj bGFzcz0icmlnaHQiPiAgICAgICAgICAgICAgQ29tbXVuaWNhdGlvbnMgUHJvdG9jb2wgKFBDRVAp IiwgZHJhZnQtaWV0Zi1wY2UtcGNlcC08L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+ CiAgICAgIDx0ciBpZD0iZGlmZjAwNDIiPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgICAgICAgICAgICB5YW5nLTE8 c3BhbiBjbGFzcz0iZGVsZXRlIj4xICh3b3JrIGluIHByb2dyZXNzKSwgTWFyY2g8L3NwYW4+IDIw MTkuPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyYmxvY2siPiAgICAgICAgICAgICAgeWFuZy0x PHNwYW4gY2xhc3M9Imluc2VydCI+MiAod29yayBpbiBwcm9ncmVzcyksIEp1bHk8L3NwYW4+IDIw MTkuPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNz PSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9 InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQg Y2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPkFwcGVuZGl4IEEuICBDb250cmli dXRvciBBZGRyZXNzZXM8L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij5BcHBlbmRpeCBB LiAgQ29udHJpYnV0b3IgQWRkcmVzc2VzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3Ry PgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3Rk Pjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi PiAgIERocnV2IERob2R5PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRGhydXYg RGhvZHk8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xh c3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEh1YXdlaSBUZWNobm9sb2dpZXM8 L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBIdWF3ZWkgVGVjaG5vbG9naWVzPC90 ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5l bm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBEaXZ5YXNocmVlIFRlY2hubyBQYXJrLCBXaGl0 ZWZpZWxkPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRGl2eWFzaHJlZSBUZWNo bm8gUGFyaywgV2hpdGVmaWVsZDwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAg ICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgQmFuZ2Fs b3JlLCBLYXJuYXRha2EgIDU2MDA2NjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPiAg IEJhbmdhbG9yZSwgS2FybmF0YWthICA1NjAwNjY8L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk PjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxlZnQi PiAgIEluZGlhPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgSW5kaWE8L3RkPjx0 ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3RkPjx0ZCBjbGFzcz0icmlnaHQiPjwv dGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVmdCI+ICAgRU1haWw6IGRocnV2LmlldGZAZ21haWwuY29t PC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNzPSJyaWdodCI+ICAgRU1haWw6IGRocnV2LmlldGZAZ21h aWwuY29tPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xh c3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0ciBp ZD0icGFydC0xNiIgY2xhc3M9ImNoYW5nZSI+PHRkPjwvdGQ+PHRoPjxzbWFsbD5za2lwcGluZyB0 byBjaGFuZ2UgYXQ8L3NtYWxsPjxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvcmZjZGlm ZiNwYXJ0LTE2Ij48ZW0+IHBhZ2UgMjIsIGxpbmUgNDE8c3BhbiBjbGFzcz0iaGlkZSI+IMK2PC9z cGFuPjwvZW0+PC9hPjwvdGg+PHRoPiA8L3RoPjx0aD48c21hbGw+c2tpcHBpbmcgdG8gY2hhbmdl IGF0PC9zbWFsbD48YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL3JmY2RpZmYjcGFydC0x NiI+PGVtPiBwYWdlIDIzLCBsaW5lIDQxPHNwYW4gY2xhc3M9ImhpZGUiPiDCtjwvc3Bhbj48L2Vt PjwvYT48L3RoPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEp1bmlwZXIgTmV0d29ya3M8L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJpZ2h0Ij4gICBKdW5pcGVyIE5ldHdvcmtzPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+ PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJs ZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGlu ZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xh c3M9ImxlZnQiPiAgIEVNYWlsOiBjYmFydGhAanVuaXBlci5uZXQ8L3RkPjx0ZD4gPC90ZD48dGQg Y2xhc3M9InJpZ2h0Ij4gICBFTWFpbDogY2JhcnRoQGp1bmlwZXIubmV0PC90ZD48dGQgY2xhc3M9 ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRk IGNsYXNzPSJsZWZ0Ij48L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBj bGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVubyI+PC90 ZD48dGQgY2xhc3M9ImxlZnQiPiAgIE1haGVuZHJhIFNpbmdoIE5lZ2k8L3RkPjx0ZD4gPC90ZD48 dGQgY2xhc3M9InJpZ2h0Ij4gICBNYWhlbmRyYSBTaW5naCBOZWdpPC90ZD48dGQgY2xhc3M9Imxp bmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNs YXNzPSJsZWZ0Ij4gICBIdWF3ZWkgVGVjaG5vbG9naWVzPC90ZD48dGQ+IDwvdGQ+PHRkIGNsYXNz PSJyaWdodCI+ICAgSHVhd2VpIFRlY2hub2xvZ2llczwvdGQ+PHRkIGNsYXNzPSJsaW5lbm8iPjwv dGQ+PC90cj4KICAgICAgPHRyPjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjx0ZCBjbGFzcz0ibGVm dCI+ICAgRGl2eWFzaHJlZSBUZWNobm8gUGFyaywgV2hpdGVmaWVsZDwvdGQ+PHRkPiA8L3RkPjx0 ZCBjbGFzcz0icmlnaHQiPiAgIERpdnlhc2hyZWUgVGVjaG5vIFBhcmssIFdoaXRlZmllbGQ8L3Rk Pjx0ZCBjbGFzcz0ibGluZW5vIj48L3RkPjwvdHI+CiAgICAgIDx0cj48dGQgY2xhc3M9ImxpbmVu byI+PC90ZD48dGQgY2xhc3M9ImxlZnQiPiAgIEJhbmdhbG9yZSwgS2FybmF0YWthICA1NjAwNjY8 L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij4gICBCYW5nYWxvcmUsIEthcm5hdGFrYSAg NTYwMDY2PC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48L3RyPgogICAgICA8dHI+PHRkIGNs YXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij4gICBJbmRpYTwvdGQ+PHRkPiA8L3Rk Pjx0ZCBjbGFzcz0icmlnaHQiPiAgIEluZGlhPC90ZD48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48 L3RyPgogICAgICA8dHI+PHRkIGNsYXNzPSJsaW5lbm8iPjwvdGQ+PHRkIGNsYXNzPSJsZWZ0Ij48 L3RkPjx0ZD4gPC90ZD48dGQgY2xhc3M9InJpZ2h0Ij48L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48 L3RkPjwvdHI+CiAgICAgIDx0ciBpZD0iZGlmZjAwNDMiPjx0ZD48L3RkPjwvdHI+CiAgICAgIDx0 cj48dGQgY2xhc3M9ImxpbmVubyI+PC90ZD48dGQgY2xhc3M9ImxibG9jayI+ICAgRU1haWw6IG1h aGVuZDxzcGFuIGNsYXNzPSJkZWxldGUiPnJhc2luZ2hAaHVhd2VpPC9zcGFuPi5jb208L3RkPjx0 ZD4gPC90ZD48dGQgY2xhc3M9InJibG9jayI+ICAgRU1haWw6IG1haGVuZDxzcGFuIGNsYXNzPSJp bnNlcnQiPi5pZXRmQGdtYWlsPC9zcGFuPi5jb208L3RkPjx0ZCBjbGFzcz0ibGluZW5vIj48L3Rk PjwvdHI+CgogICAgIDx0cj48dGQ+PC90ZD48dGQgY2xhc3M9ImxlZnQiPjwvdGQ+PHRkPiA8L3Rk Pjx0ZCBjbGFzcz0icmlnaHQiPjwvdGQ+PHRkPjwvdGQ+PC90cj4KICAgICA8dHIgaWQ9ImVuZCIg Ymdjb2xvcj0iZ3JheSI+PHRoIGNvbHNwYW49IjUiIGFsaWduPSJjZW50ZXIiPiZuYnNwO0VuZCBv ZiBjaGFuZ2VzLiA0MyBjaGFuZ2UgYmxvY2tzLiZuYnNwOzwvdGg+PC90cj4KICAgICA8dHIgY2xh c3M9InN0YXRzIj48dGQ+PC90ZD48dGg+PGk+ODQgbGluZXMgY2hhbmdlZCBvciBkZWxldGVkPC9p PjwvdGg+PHRoPjxpPiA8L2k+PC90aD48dGg+PGk+OTkgbGluZXMgY2hhbmdlZCBvciBhZGRlZDwv aT48L3RoPjx0ZD48L3RkPjwvdHI+CiAgICAgPHRyPjx0ZCBjb2xzcGFuPSI1IiBhbGlnbj0iY2Vu dGVyIiBjbGFzcz0ic21hbGwiPjxicj5UaGlzIGh0bWwgZGlmZiB3YXMgcHJvZHVjZWQgYnkgcmZj ZGlmZiAxLjQ3LiBUaGUgbGF0ZXN0IHZlcnNpb24gaXMgYXZhaWxhYmxlIGZyb20gPGEgaHJlZj0i aHR0cDovL3d3dy50b29scy5pZXRmLm9yZy90b29scy9yZmNkaWZmLyI+aHR0cDovL3Rvb2xzLmll dGYub3JnL3Rvb2xzL3JmY2RpZmYvPC9hPiA8L3RkPjwvdHI+CiAgIDwvdGJvZHk+PC90YWJsZT4K ICAgCiAgIAo8L2JvZHk+PC9odG1sPg== --000000000000cef74d059000e000-- From nobody Wed Aug 21 06:30:32 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F00A5120A7D; Wed, 21 Aug 2019 06:30:11 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9wdi0RTr_Ve7; Wed, 21 Aug 2019 06:30:09 -0700 (PDT) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on070d.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1e::70d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B1203120A63; Wed, 21 Aug 2019 06:30:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FSMR7lbo0FhQOsbhsdSUWH7N8/eIyQeGpnutLk2QwiQWzZWrBhDrgDF3rLZHX3AsK66XnoJM98Or0o3bqpYez4XrcKJruPE0r48rutVlsyJKvOTPleSiQLJz/57a8Xu7BJUoIF1tHAhCdF4AxCjlgcDeVIiqEnPAzfbbyY5jL4ou9KfgkAXlp66A3kvLsMLo93jNjU38jzNFgDjAVWNJbARdzXPLDm6QtCAreQIvEOg1zPhsTQjfFSa3Rr1RpAiIzxxGV41IF3wrtZnLlG+++NC9UgTpo6z1fNvVonvM2fj3L6VX0XD2TDeWuJZig0QjUesY3KvZIKhTt2M4Ir5tkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bUvOJINsKwWIzGKewbGV8msYMbPx3EdLxnaHd6aEd/Q=; b=dlXwUqo40q0P0smJK3X78CqA2XOy/rWBBwbO1IxvcKpMFoI+GKQ80hXY+x0loggCx6HdVT2SiBBU0zL6NP/KrOd8COoSeQAX4wviAGqX6xo7D9CG+TwR/fXUYonSCUU3UlAmhHuBdR296E48B6i+Rcsi+9j2tYH7Vo8TiZ8RdilfkOgELzFz6BpWKA5+FHqHLUVD8qOm1x1dbL89gm5GXaGtsoWKgbOJKG1DSlPGmmg+CACKdI9AQo5Ehl00Q52OMO2buKyEhD9StADFXMVOtCLj4Hm5MBc3l8RCWZVEkoruKL+9a+Y7DFz1dpUIaF8FE9kvEHdZfPKpjC7X8E/fEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bUvOJINsKwWIzGKewbGV8msYMbPx3EdLxnaHd6aEd/Q=; b=RmJMfzfmKU7m+bVP4UMDgBFZ7QNvalPQB/thvPLz/ZCBor5wZRdYT/kZf38NyBj/STNCi6YLLhH0sOXU+kewKtiLLW2hn/6NVn4f2pMoxcwfQq8TRwYKY/b0mkEqnBlgCx5h+gokrOlcf4PdRcirMvg+Qg3cDtYCKXmhnHcfwtI= Received: from DB7PR07MB4106.eurprd07.prod.outlook.com (52.134.103.159) by DB7PR07MB5093.eurprd07.prod.outlook.com (20.177.194.210) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.12; Wed, 21 Aug 2019 13:30:06 +0000 Received: from DB7PR07MB4106.eurprd07.prod.outlook.com ([fe80::3151:b68c:7099:3583]) by DB7PR07MB4106.eurprd07.prod.outlook.com ([fe80::3151:b68c:7099:3583%6]) with mapi id 15.20.2199.011; Wed, 21 Aug 2019 13:30:06 +0000 From: "Bocci, Matthew (Nokia - GB)" To: "rtg-ads@ietf.org" CC: "rtg-dir@ietf.org" , "opsec@ietf.org" , "draft-ietf-opsec-urpf-improvements@ietf.org" Thread-Topic: RtgDir review: draft-ietf-opsec-urpf-improvements03.txt Thread-Index: AQHVWCSLk+WxzCivaUqM/Uc+Pc7zTg== Date: Wed, 21 Aug 2019 13:30:05 +0000 Message-ID: <695D6B79-C68C-47FB-9950-CE50233E9BDC@nokia.com> Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/10.1c.0.190812 authentication-results: spf=none (sender IP is ) smtp.mailfrom=matthew.bocci@nokia.com; x-originating-ip: [81.108.178.133] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0d64aa5c-6153-47ef-17ee-08d7263bae0c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600148)(711020)(4605104)(1401327)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7167020)(7193020); SRVR:DB7PR07MB5093; x-ms-traffictypediagnostic: DB7PR07MB5093: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0136C1DDA4 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(39860400002)(376002)(346002)(366004)(136003)(396003)(199004)(189003)(4326008)(6916009)(55236004)(2351001)(71200400001)(71190400001)(54906003)(450100002)(486006)(316002)(478600001)(5640700003)(33656002)(36756003)(26005)(58126008)(102836004)(6486002)(2616005)(6436002)(25786009)(86362001)(66066001)(476003)(9326002)(14454004)(186003)(14444005)(256004)(8936002)(5660300002)(66476007)(66556008)(8676002)(54896002)(81166006)(81156014)(66946007)(76116006)(2906002)(6306002)(99286004)(2501003)(7736002)(66446008)(53936002)(3846002)(6116002)(64756008)(91956017)(6512007)(6506007); DIR:OUT; SFP:1102; SCL:1; SRVR:DB7PR07MB5093; H:DB7PR07MB4106.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nokia.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 8EtK52wpSJsZDuIf81mcpJ9DTO1ZnQ7725lOWsS2yZhVaRAu76+2cmzxsfPXE9ChA5c3gEJ453cG0fZih9fgBjsIGUdE1wUNGDEF7Km8do+MSC9SuuSZE4pVjSB1E8RFurt4Uba8ajHu1/IRu+v9HN3yDmL53awda2cC51GybZsVFhZ28n7hmE8K+tO7/QHJLXX7Gzsajl16w7aafANeFvP65rpMkdtGcChPFAXGoJgYErA7DEoC0Jj+KwePsP5uffA5ryFx4gAPDbktQN+5KiglVhdPxGbHn0AQmQArCDLohKNXfEL9Y0qIf/6wch8aOH7PiKntv7WdWUdHWbyDy8wg0sSRivqOGFh7amNB0DEqNt+BQXTrlVVCVA5fBdY/WBrURAMe8wSqwc20V3faU5GVXMk8sIGEcaQ929AUpbY= x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_695D6B79C68C47FB9950CE50233E9BDCnokiacom_" MIME-Version: 1.0 X-OriginatorOrg: nokia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d64aa5c-6153-47ef-17ee-08d7263bae0c X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Aug 2019 13:30:06.0399 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: TcQDsLCqbwgtVEg8QMe7nv+HZQwk+MMpHFva/DjT94ZxBFPiSyYdSDHXvx37n/7uULNUqP1DV/oxy3vYitXH6Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR07MB5093 Archived-At: Subject: [RTG-DIR] RtgDir review: draft-ietf-opsec-urpf-improvements03.txt X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Aug 2019 13:30:17 -0000 --_000_695D6B79C68C47FB9950CE50233E9BDCnokiacom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGVsbG8sDQoNCkkgaGF2ZSBiZWVuIHNlbGVjdGVkIGFzIHRoZSBSb3V0aW5nIERpcmVjdG9yYXRl IHJldmlld2VyIGZvciB0aGlzIGRyYWZ0LiBUaGUgUm91dGluZyBEaXJlY3RvcmF0ZSBzZWVrcyB0 byByZXZpZXcgYWxsIHJvdXRpbmcgb3Igcm91dGluZy1yZWxhdGVkIGRyYWZ0cyBhcyB0aGV5IHBh c3MgdGhyb3VnaCBJRVRGIGxhc3QgY2FsbCBhbmQgSUVTRyByZXZpZXcsIGFuZCBzb21ldGltZXMg b24gc3BlY2lhbCByZXF1ZXN0LiBUaGUgcHVycG9zZSBvZiB0aGUgcmV2aWV3IGlzIHRvIHByb3Zp ZGUgYXNzaXN0YW5jZSB0byB0aGUgUm91dGluZyBBRHMuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFi b3V0IHRoZSBSb3V0aW5nIERpcmVjdG9yYXRlLCBwbGVhc2Ugc2VlIOKAi2h0dHA6Ly90cmFjLnRv b2xzLmlldGYub3JnL2FyZWEvcnRnL3RyYWMvd2lraS9SdGdEaXINCg0KQWx0aG91Z2ggdGhlc2Ug Y29tbWVudHMgYXJlIHByaW1hcmlseSBmb3IgdGhlIHVzZSBvZiB0aGUgUm91dGluZyBBRHMsIGl0 IHdvdWxkIGJlIGhlbHBmdWwgaWYgeW91IGNvdWxkIGNvbnNpZGVyIHRoZW0gYWxvbmcgd2l0aCBh bnkgb3RoZXIgSUVURiBMYXN0IENhbGwgY29tbWVudHMgdGhhdCB5b3UgcmVjZWl2ZSwgYW5kIHN0 cml2ZSB0byByZXNvbHZlIHRoZW0gdGhyb3VnaCBkaXNjdXNzaW9uIG9yIGJ5IHVwZGF0aW5nIHRo ZSBkcmFmdC4NCg0KRG9jdW1lbnQ6IGRyYWZ0LWlldGYtb3BzZWMtdXJwZi1pbXByb3ZlbWVudHMw My50eHQNClJldmlld2VyOiBNYXR0aGV3IEJvY2NpDQpSZXZpZXcgRGF0ZTogMjEgQXVndXN0IDIw MTkNCkludGVuZGVkIFN0YXR1czogSW5mb3JtYXRpb25hbA0KDQpTdW1tYXJ5Og0KSSBoYXZlIHNv bWUgbWlub3IgY29uY2VybnMgYWJvdXQgdGhpcyBkb2N1bWVudCB0aGF0IEkgdGhpbmsgc2hvdWxk IGJlIHJlc29sdmVkIGJlZm9yZSBwdWJsaWNhdGlvbi4NCg0KDQpDb21tZW50czoNCg0KR2VuZXJh bGx5LCBJIGZvdW5kIHRoZSBkcmFmdCBxdWl0ZSByZWFkYWJsZSwgd2l0aCBhIGNsZWFyIGV4cGxh bmF0aW9uIG9mIHRoZSBwcm9ibGVtIHN0YXRlbWVudHMgYW5kIHNvbHV0aW9ucyBhcyB3ZWxsDQph cyB0aGUgdHJhZGUtb2ZmcyBvbiB0aGUgaW1wbGVtZW50YXRpb24uIEhvd2V2ZXIsIEkgaGF2ZSBv bmUgbWlub3IgY29tbWVudCBhbmQgYSBuaXQuDQoNCk1ham9yIElzc3VlczoNCg0KTm8gbWFqb3Ig aXNzdWVzIGZvdW5kLg0KDQoNCk1pbm9yIElzc3VlczoNCg0KVGVybWlub2xvZ3k6IFRoZSBkb2N1 bWVudCBleHBhbmRzICd1UlBGJyBhcyAndW5pY2FzdCByZXZlcnNlIHBhdGggZmlsdGVyaW5nJy4g SG93ZXZlciwgSQ0KYmVsaWV2ZSB0aGF0IHVSUEYgY29tbW9ubHkgbWVhbnMgJ3VuaWNhc3QgcmV2 ZXJzZSBwYXRoIGZvcndhcmRpbmcnICAgKHNlZSBSRkMzNzA0IGFuZA0KbW9zdCB2ZW5kb3IgZG9j dW1lbnRhdGlvbikuICJJbmdyZXNzIGZpbHRlcmluZyIgaXMgdGhlIGdlbmVyYWwgY29uY2VwdCBh bmQgInJldmVyc2UgcGF0aA0KIGZvcndhcmRpbmciIHRoZSBzcGVjaWZpYyBhbGdvcml0aG0uIERp ZCB0aGUgYXV0aG9ycyBpbnRlbmQgdG8gdXNlIGEgbmV3IHRlcm0sIGFuZCBpZiBzbyB3aHk/DQoN Cg0KTml0czoNCg0KU2VjdGlvbiAyLjU6ICIuLi5zZXBhcmF0ZSBmcm9tIHRoZSBnbG9iYWwgUm91 dGluZyBJbmZvcm1hdGlvbiBCYXNlIChSSUIpIFtKdW5pcGVyXVtSRkM0MzY0XS4iDQpWUkZzIGFy ZSBzdXBwb3J0ZWQgYnkgbW9zdCB2ZW5kb3JzIHNvIEkgdGhpbmsgaXQgaXMgc3VmZmljaWVudCBq dXN0IHRvIHJlZmVyZW5jZSBSRkM0MzY0Lg0K --_000_695D6B79C68C47FB9950CE50233E9BDCnokiacom_ Content-Type: text/html; charset="utf-8" Content-ID: <29A7314E275ADB498A56E129F598AEB1@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4 bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l dGEgbmFtZT0iR2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxNSAoZmlsdGVyZWQg bWVkaXVtKSI+DQo8c3R5bGU+PCEtLQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFj ZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2 IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToy IDE1IDUgMiAyIDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJUaW1lcyBO ZXcgUm9tYW4gXChCb2R5IENTXCkiOw0KCXBhbm9zZS0xOjIgMiA2IDMgNSA0IDUgMiAzIDQ7fQ0K LyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5N c29Ob3JtYWwNCgl7bWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1z aXplOjEyLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgltc28tZmFy ZWFzdC1sYW5ndWFnZTpFTi1VUzt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1z dHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjojMDU2M0MxOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRl cmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHls ZS1wcmlvcml0eTo5OTsNCgljb2xvcjojOTU0RjcyOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxp bmU7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTcNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtY29tcG9z ZTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjp3aW5kb3d0ZXh0 O30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQt ZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCW1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVT O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCgltYXJnaW46 NzIuMHB0IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpX b3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLUdCIiBs aW5rPSIjMDU2M0MxIiB2bGluaz0iIzk1NEY3MiI+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEi Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SGVsbG8sPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkg aGF2ZSBiZWVuIHNlbGVjdGVkIGFzIHRoZSBSb3V0aW5nIERpcmVjdG9yYXRlIHJldmlld2VyIGZv ciB0aGlzIGRyYWZ0LiBUaGUgUm91dGluZyBEaXJlY3RvcmF0ZSBzZWVrcyB0byByZXZpZXcgYWxs IHJvdXRpbmcgb3Igcm91dGluZy1yZWxhdGVkIGRyYWZ0cyBhcyB0aGV5IHBhc3MgdGhyb3VnaCBJ RVRGIGxhc3QgY2FsbCBhbmQgSUVTRyByZXZpZXcsIGFuZCBzb21ldGltZXMgb24gc3BlY2lhbCBy ZXF1ZXN0Lg0KIFRoZSBwdXJwb3NlIG9mIHRoZSByZXZpZXcgaXMgdG8gcHJvdmlkZSBhc3Npc3Rh bmNlIHRvIHRoZSBSb3V0aW5nIEFEcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIFJv dXRpbmcgRGlyZWN0b3JhdGUsIHBsZWFzZSBzZWUg4oCLaHR0cDovL3RyYWMudG9vbHMuaWV0Zi5v cmcvYXJlYS9ydGcvdHJhYy93aWtpL1J0Z0RpcjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5BbHRo b3VnaCB0aGVzZSBjb21tZW50cyBhcmUgcHJpbWFyaWx5IGZvciB0aGUgdXNlIG9mIHRoZSBSb3V0 aW5nIEFEcywgaXQgd291bGQgYmUgaGVscGZ1bCBpZiB5b3UgY291bGQgY29uc2lkZXIgdGhlbSBh bG9uZyB3aXRoIGFueSBvdGhlciBJRVRGIExhc3QgQ2FsbCBjb21tZW50cyB0aGF0IHlvdSByZWNl aXZlLCBhbmQgc3RyaXZlIHRvIHJlc29sdmUgdGhlbSB0aHJvdWdoIGRpc2N1c3Npb24gb3IgYnkg dXBkYXRpbmcNCiB0aGUgZHJhZnQuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkRvY3VtZW50OiBk cmFmdC1pZXRmLW9wc2VjLXVycGYtaW1wcm92ZW1lbnRzMDMudHh0PG86cD48L286cD48L3A+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj5SZXZpZXdlcjogTWF0dGhldyBCb2NjaTxvOnA+PC9vOnA+PC9w Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+UmV2aWV3IERhdGU6IDIxIEF1Z3VzdCAyMDE5IDxvOnA+ PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SW50ZW5kZWQgU3RhdHVzOiBJbmZvcm1h dGlvbmFsPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlN1bW1hcnk6IDxvOnA+PC9vOnA+PC9wPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+SSBoYXZlIHNvbWUgbWlub3IgY29uY2VybnMgYWJvdXQgdGhp cyBkb2N1bWVudCB0aGF0IEkgdGhpbmsgc2hvdWxkIGJlIHJlc29sdmVkIGJlZm9yZSBwdWJsaWNh dGlvbi48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj5Db21tZW50czo8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O b3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+R2VuZXJh bGx5LCBJIGZvdW5kIHRoZSBkcmFmdCBxdWl0ZSByZWFkYWJsZSwgd2l0aCBhIGNsZWFyIGV4cGxh bmF0aW9uIG9mIHRoZSBwcm9ibGVtIHN0YXRlbWVudHMgYW5kIHNvbHV0aW9ucyBhcyB3ZWxsPG86 cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5hcyB0aGUgdHJhZGUtb2ZmcyBvbiB0 aGUgaW1wbGVtZW50YXRpb24uIEhvd2V2ZXIsIEkgaGF2ZSBvbmUgbWlub3IgY29tbWVudCBhbmQg YSBuaXQuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk1ham9yIElzc3Vlczo8bzpwPjwvbzpwPjwv cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+Tm8gbWFqb3IgaXNzdWVzIGZvdW5kLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk1pbm9yIElzc3Vl czo8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGVybWlub2xvZ3k6IFRoZSBkb2N1bWVudCBleHBh bmRzICd1UlBGJyBhcyAndW5pY2FzdCByZXZlcnNlIHBhdGggZmlsdGVyaW5nJy4gSG93ZXZlciwg SQ0KPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5iZWxpZXZlIHRoYXQgdVJQ RiBjb21tb25seSBtZWFucyAndW5pY2FzdCByZXZlcnNlIHBhdGggZm9yd2FyZGluZycmbmJzcDsm bmJzcDsgKHNlZSBSRkMzNzA0IGFuZDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+bW9zdCB2ZW5kb3IgZG9jdW1lbnRhdGlvbikuICZxdW90O0luZ3Jlc3MgZmlsdGVyaW5nJnF1 b3Q7IGlzIHRoZSBnZW5lcmFsIGNvbmNlcHQgYW5kICZxdW90O3JldmVyc2UgcGF0aA0KPG86cD48 L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDtmb3J3YXJkaW5nJnF1b3Q7IHRo ZSBzcGVjaWZpYyBhbGdvcml0aG0uIERpZCB0aGUgYXV0aG9ycyBpbnRlbmQgdG8gdXNlIGEgbmV3 IHRlcm0sIGFuZCBpZiBzbyB3aHk/PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7 PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Tml0czo8bzpwPjwvbzpwPjwvcD4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+U2VjdGlvbiAyLjU6ICZxdW90Oy4uLnNlcGFyYXRlIGZyb20gdGhlIGdsb2JhbCBSb3V0 aW5nIEluZm9ybWF0aW9uIEJhc2UgKFJJQikgW0p1bmlwZXJdW1JGQzQzNjRdLiZxdW90OzxvOnA+ PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VlJGcyBhcmUgc3VwcG9ydGVkIGJ5IG1v c3QgdmVuZG9ycyBzbyBJIHRoaW5rIGl0IGlzIHN1ZmZpY2llbnQganVzdCB0byByZWZlcmVuY2Ug UkZDNDM2NC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K --_000_695D6B79C68C47FB9950CE50233E9BDCnokiacom_-- From nobody Wed Aug 21 12:05:21 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 322B3120E8B; Wed, 21 Aug 2019 12:05:20 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.897 X-Spam-Level: X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FIvx1Gn1Z0VC; Wed, 21 Aug 2019 12:05:17 -0700 (PDT) Received: from pipi.pi.nu (pipi.pi.nu [83.168.239.141]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 102121209AF; Wed, 21 Aug 2019 12:05:14 -0700 (PDT) Received: from [192.168.0.8] (c83-250-135-99.bredband.comhem.se [83.250.135.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: loa@pi.nu) by pipi.pi.nu (Postfix) with ESMTPSA id 902CD36337C; Wed, 21 Aug 2019 21:05:11 +0200 (CEST) To: "" Cc: "rtg-dir@ietf.org" , draft-ietf-teas-native-ip-scenarios.all@ietf.org, TEAS WG From: Loa Andersson Message-ID: <65133e17-0976-231d-65a8-53a49be73174@pi.nu> Date: Wed, 21 Aug 2019 21:04:43 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Archived-At: Subject: [RTG-DIR] RtgDir review: draft-ietf-teas-native-ip-scenarios-06 X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Aug 2019 19:05:20 -0000 Hello, I have been selected as the Routing Directorate reviewer for this draft. The Routing Directorate seeks to review all routing or routing-related drafts as they pass through IETF last call and IESG review, and sometimes on special request. The purpose of the review is to provide assistance to the Routing ADs. For more information about the Routing Directorate, please see ​http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir Although these comments are primarily for the use of the Routing ADs, it would be helpful if you could consider them along with any other IETF Last Call comments that you receive, and strive to resolve them through discussion or by updating the draft. Document: draft-ietf-teas-native-ip-scenarios-06 Reviewer: Loa Andersson Review Date: date IETF LC End Date: - Intended Status: Informational I have some minor concerns about this document that I think should be resolved before publication. The concerns might in some cases be considered to be nits. Comments: The document describes scenarios in which CCDR, a technology that combines the advantages or distributed and centralized control, could be deployed. The document also report on testing that has been performed with this technology. Major Issues: No major issues found. This a very interesting and valuable document that should be progressed to RFC. It is refreshing to see an attempt to take advantage of distributed and centralized control technologies and merge them together to a single whole. Minor Issues: I found the document well worth reading and think about, I also found it somewhat hard to read, most of this probably depends on my lack of expertise in the area. However: - I would consider doing a English language review, I don't think there is anything wrong, but the language is sometimes a bit heavy. Sometimes the choice of word could be discussed, in a specification I would rather expect "advantage" rather than "merit". - I'd like to see exactly which specification that has been tested early in the document, preferably in the Introduction. - I would expand the Abstract with one or two paragraphs. When I worked for larger companies, I used to say that the abstract should be written such that my immediate manager could read it and understand what it is all about. Since the abstract is supposed to self-contained and separable from the RFC (see RFC 7997) abbreviations in the abstract is to be avoided (or expanded). - Abbreviations The RFC Editor Abbreviations list (https://www.rfc-editor.org/materials/abbrev.expansion.txt) gives a good idea on the rules that applies to abbreviations in RFCs. The basic rule is that an abbreviation is expanded the first time it is used. In this document there are abbreviations, for example in figures, that is not expanded, e.g. CR, SR, BRAS and IDC - I also have a small concern about listing "alternative" technologies (MPLS-TE, SR and DETNET) in the introduction, it is hard to come away without the impression that these technologies are seen as insufficient. Admittedly they do not solve the problem that CCDR solves, but they are well suited to solve the problem they were designed for. Nits: I'm unclear about nits vs. minor concerns for this document, and listed everything as minor concerns. /Loa PS I'm sorry that this review has been delayed. -- Loa Andersson email: loa@pi.nu Senior MPLS Expert Bronze Dragon Consulting phone: +46 739 81 21 64 From nobody Sun Aug 25 20:28:23 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EA5EE1200E0; Sun, 25 Aug 2019 20:28:21 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bnyzreiSygaP; Sun, 25 Aug 2019 20:28:19 -0700 (PDT) Received: from m176115.mail.qiye.163.com (m176115.mail.qiye.163.com [59.111.176.115]) by ietfa.amsl.com (Postfix) with ESMTP id 060881200A4; Sun, 25 Aug 2019 20:28:19 -0700 (PDT) Received: from WangajPC (unknown [219.142.69.77]) by m176115.mail.qiye.163.com (Hmail) with ESMTPA id 615986627C7; Mon, 26 Aug 2019 11:28:11 +0800 (CST) From: "Aijun Wang" To: "'Loa Andersson'" , Cc: , , "'TEAS WG'" References: <65133e17-0976-231d-65a8-53a49be73174@pi.nu> In-Reply-To: <65133e17-0976-231d-65a8-53a49be73174@pi.nu> Date: Mon, 26 Aug 2019 11:28:11 +0800 Message-ID: <001b01d55bbe$4a1fa780$de5ef680$@org.cn> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AdVYU2ZZlldLFAHKTzaf5Ar3es+e6ADaL7DQ Content-Language: zh-cn X-HM-Spam-Status: e1kfGhgUHx5ZQUtXWQgYFAkeWUFZSlVLTUJLS0tPQ0lOTkJJWVdZKFlBSk xLS0o3V1ktWUFJV1kJDhceCFlBWTU0KTY6NyQpLjc#WQY+ X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6PhQ6MAw4TTlPMyofMxABLk5D TggaCjRVSlVKTk1NTEJLS0JMTE5MVTMWGhIXVQwaFRwaEhEOFTsPCBIVHBMOGlUUCRxVGBVFWVdZ EgtZQVlJSkJVSk9JVU1CVUxMWVdZCAFZQU1OTk83Bg++ X-HM-Tid: 0a6ccbf783249373kuws615986627c7 Archived-At: Subject: [RTG-DIR] =?utf-8?b?562U5aSNOiBbVGVhc10gUnRnRGlyIHJldmlldzogZHJh?= =?utf-8?q?ft-ietf-teas-native-ip-scenarios-06?= X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Aug 2019 03:28:22 -0000 Hi, Loa: Thanks for your review. We have updated the draft according to your = comments. The detail responses for your comments are inline below. Best Regards. Aijun Wang China Telecom -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- =E5=8F=91=E4=BB=B6=E4=BA=BA: teas-bounces@ietf.org = [mailto:teas-bounces@ietf.org] =E4=BB=A3=E8=A1=A8 Loa Andersson =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2019=E5=B9=B48=E6=9C=8822=E6=97=A5 = 3:05 =E6=94=B6=E4=BB=B6=E4=BA=BA: =E6=8A=84=E9=80=81: rtg-dir@ietf.org; = draft-ietf-teas-native-ip-scenarios.all@ietf.org; TEAS WG =E4=B8=BB=E9=A2=98: [Teas] RtgDir review: = draft-ietf-teas-native-ip-scenarios-06 Hello, I have been selected as the Routing Directorate reviewer for this draft. = The Routing Directorate seeks to review all routing or routing-related = drafts as they pass through IETF last call and IESG review, and = sometimes on special request. The purpose of the review is to provide = assistance to the Routing ADs. For more information about the Routing = Directorate, please see = =E2=80=8Bhttp://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir Although these comments are primarily for the use of the Routing ADs, it = would be helpful if you could consider them along with any other IETF = Last Call comments that you receive, and strive to resolve them through = discussion or by updating the draft. Document: draft-ietf-teas-native-ip-scenarios-06 Reviewer: Loa Andersson Review Date: date IETF LC End Date: - Intended Status: Informational I have some minor concerns about this document that I think should be = resolved before publication. The concerns might in some cases be considered to be nits. Comments: The document describes scenarios in which CCDR, a technology that = combines the advantages or distributed and centralized control, could be = deployed. The document also report on testing that has been performed with this = technology. Major Issues: No major issues found. This a very interesting and valuable document that should be progressed = to RFC. It is refreshing to see an attempt to take advantage of distributed and = centralized control technologies and merge them together to a single = whole. Minor Issues: I found the document well worth reading and think about, I also found it = somewhat hard to read, most of this probably depends on my lack of = expertise in the area. However: - I would consider doing a English language review, I don't think there is anything wrong, but the language is sometimes a bit heavy. Sometimes the choice of word could be discussed, in a specification I would rather expect "advantage" rather than "merit". =E3=80=90Aijun Wang=E3=80=91: Have done some changes. We are also = seeking one Native English speaker to polish it again. =20 - I'd like to see exactly which specification that has been tested early in the document, preferably in the Introduction. =E3=80=90Aijun Wang=E3=80=91: Add some sentences for the application of = existing technologies. - I would expand the Abstract with one or two paragraphs. When I worked for larger companies, I used to say that the abstract should be written such that my immediate manager could read it and understand what it is all about. Since the abstract is supposed to self-contained and separable from the RFC (see RFC 7997) abbreviations in the abstract is to be avoided (or expanded). =E3=80=90Aijun Wang=E3=80=91: Done - Abbreviations The RFC Editor Abbreviations list (https://www.rfc-editor.org/materials/abbrev.expansion.txt) gives a good idea on the rules that applies to abbreviations in RFCs. The basic rule is that an abbreviation is expanded the first time it is used. In this document there are abbreviations, for example in figures, = that is not expanded, e.g. CR, SR, BRAS and IDC - I also have a small concern about listing "alternative" technologies (MPLS-TE, SR and DETNET) in the introduction, it is hard to come = away without the impression that these technologies are seen as insufficient. Admittedly they do not solve the problem that CCDR solves, but they are well suited to solve the problem they were designed for. =E3=80=90Aijun Wang=E3=80=91: Have done some changes. Point out mainly = that the alternative technologies are not suitable for the Native IP = scenarios that described in this draft. This is the main motivation for = us to introduce the solution that described in = https://datatracker.ietf.org/doc/draft-ietf-teas-pce-native-ip/ and = https://datatracker.ietf.org/doc/draft-ietf-pce-pcep-extension-native-ip/= Nits: I'm unclear about nits vs. minor concerns for this document, and listed = everything as minor concerns. /Loa PS I'm sorry that this review has been delayed. --=20 Loa Andersson email: loa@pi.nu Senior MPLS Expert Bronze Dragon Consulting phone: +46 739 81 21 64 _______________________________________________ Teas mailing list Teas@ietf.org https://www.ietf.org/mailman/listinfo/teas From nobody Mon Aug 26 03:39:38 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D815712001E; Mon, 26 Aug 2019 03:39:36 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.398 X-Spam-Level: X-Spam-Status: No, score=-1.398 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wQhIiVSE2WLp; Mon, 26 Aug 2019 03:39:34 -0700 (PDT) Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4D9EA120089; Mon, 26 Aug 2019 03:39:34 -0700 (PDT) Received: by mail-ot1-f47.google.com with SMTP id c7so14732928otp.1; Mon, 26 Aug 2019 03:39:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1hKk+YzWvooDpl/NzT17ehPbTC1QrAUdn46rQhFeBf4=; b=Dp1RzUkDIN3E83FICKM88Z82m/IDtX+Rq3N5eoAm8DoFQSQJlx9MyBvZnSyk1okPyg mJYPxpYhBcTfIJ9fbDUPHF3hcOsCONzhqHc1UfdMUWN0wnc2K3h9WdGjtWf9cEwMp+eC l6ZKXiaDers6Q3SajLx1segzpZPLEV563nsgU8Gqc72IBvlDRJiaP7NRFXTmbiSQSOhY hto/czPKjC0cCrHst1VRgR4vMRgeiaBjGDe4iHWPWdRNDqB2DFsG/Ud9GShczx1PTAzJ XpbALjeXqleSDwo0p7EguS0wrFY5vCSQBP6NyJuV83NPavxDIg+LZ/8LL/Ah/1j/G4mK aDhg== X-Gm-Message-State: APjAAAUuA079JUPIMN7azJpLm8CpSSfUlhn36zxM6pjI8GkejxOcFO+t hyH+3hUcvmHLsuiB+UWXJqLvRrm+ip/7O2Crw9XrFM4r X-Google-Smtp-Source: APXvYqzieGBaYiE1VnkKVc7gsayvduRM7XXV/GEudxcmZxwvDMMDNl+RqYqxS5nxsFyICPMj+Y5DKVMRDwYcPWXx9VM= X-Received: by 2002:a9d:4717:: with SMTP id a23mr14027575otf.212.1566815973390; Mon, 26 Aug 2019 03:39:33 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Emmanuel Baccelli Date: Mon, 26 Aug 2019 12:39:21 +0200 Message-ID: To: draft-ietf-pce-association-diversity.all@ietf.org Cc: "" , rtg-dir@ietf.org, pce@ietf.org Content-Type: multipart/alternative; boundary="00000000000085bca1059102c567" Archived-At: Subject: Re: [RTG-DIR] [Pce] RtgDir review: draft-ietf-pce-association-diversity-08.txt X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Aug 2019 10:39:37 -0000 --00000000000085bca1059102c567 Content-Type: text/plain; charset="UTF-8" Dear Mahend thanks for you answers. Your changes look fine to me. Two last nits: - in the sentence you added in section 5.6 when the T flag is set, "In case of other PCEP message, the PCE MUST return a PCErr message with Error-Type 26". => PCEP message other than what? This is not crystal clear. I suggest you clarify explicitly. - in the sentence you added in section 5.6 when the T flag is unset, "the PCE is allowed to relax disjointness by either applying a requested objective function (Section 5.4) if specified. Otherwise the PCE is allowed to reduce the required level of disjointness (as it deems fit)" => as-is, there seems to be a typo: a spurious "either". How about: "the PCE is allowed to relax disjointness by applying a requested objective function (Section 5.4) if specified. Otherwise, if no objective function is specified, the PCE is allowed to reduce the required level of disjointness as it deems fit" Cheers Emmanuel On Tue, Aug 13, 2019 at 4:58 PM Mahend Negi wrote: > Hi Emmanuel, > > Thanks for your comments. Please see inline, do find attached reworked > draft and version-diff for reference. > > On Tue, Aug 13, 2019 at 3:21 AM Emmanuel Baccelli < > Emmanuel.Baccelli@inria.fr> wrote: > >> Hello, >> >> I have been selected as the Routing Directorate reviewer for this draft. >> The Routing Directorate seeks to review all routing or routing-related >> drafts as they pass through IETF last call and IESG review, and sometimes >> on special request. The purpose of the review is to provide assistance to >> the Routing ADs. For more information about the Routing Directorate, please >> see http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir >> >> Although these comments are primarily for the use of the Routing ADs, it >> would be helpful if you could consider them along with any other IETF Last >> Call comments that you receive, and strive to resolve them through >> discussion or by updating the draft. >> >> Document: draft-ietf-pce-association-diversity-08.txt >> Reviewer: Emmanuel Baccelli >> Review Date: 12/08/2019 >> Intended Status: Standards Track >> >> Summary of comments: >> >> The procotol extension is simple, and its operation is documented >> pretty well. >> The document is concise, and clear from my point of view. >> See below a couple of remarks that could be considered prior to >> publication. >> >> Major Issues: >> >> No major issues found. >> >> Minor Issues: >> >> In Section 5 (Security): If I understand correctly, dynamically >> adding a new LSP to an existing disjoint association affects the >> (re)computation and the (re)characterization of all LSPs in this >> association. In this case, is it entirely obvious to me that there is no >> specific threat using the attack vector of adding an LSP to an existing >> association, when flag T is set? >> > > When T flag is set, we would have a case of no-path for the new LSP. It > would be good to also indicate that the new LSP could not be added into the > association group. I have added text for this. > > What is the state of other LSPs in an existing association after another >> LSP was added, which resulted in the required disjointness now fails? >> > > The other LSPs would not be impacted. So as such there is no specific > security threat with T flag. But, it would be good to add some generic > text. Updated section - > > 6. Security Considerations > > > This document defines one new type for association, which on itself does > not add any new security concerns beyond those discussed in > > [RFC5440], [RFC8231] and [I-D.ietf-pce-association-group]. But, adding of > a spurious LSP into the disjointness association group > > could lead to re-computation and set-up of all LSPs in the group, that > could be used to overwhelm the PCE and the network. > > > Also, as stated in [I-D.ietf-pce-association-group], much of the > information carried in the Disjointness Association object, as per > > this document is not extra sensitive. It often reflects information that > can also be derived from the LSP Database, but association > > provides a much easier grouping of related LSPs and messages. The > disjointness association could provide an adversary with the > > opportunity to eavesdrop on the relationship between the LSPs. Thus > securing the PCEP session using Transport Layer Security (TLS) > > [RFC8253], as per the recommendations and best current practices in > [RFC7525], is RECOMMENDED. > >> > > >> Nits: >> >> In Section 3 (Motivation): In my opinion, this section might benefit >> from being split in two: a pure motivation section, and an applicability >> section. >> > > OK > >> >> In Section 4.1: it is stated that "a PCE may be limited in the number >> of LSPs it can take into account when computing disjointness" [...] "the >> PCE may provide no path, a shortest path, or a constrained path based on >> relaxing disjointness, etc. The disjoint status is informed to the PCC." >> Here, it would be useful to forward reference to section 4.6. >> > > OK > >> >> In section 4.6: the spec seems to suppose that there exists an >> absolute order ranking different levels of disjointness, >> such that a PCE can simply take the decision to "reduce disjointness" to >> the next best level. >> I suspect that this is not always easy to rank in complex cases, if at >> all possible. >> > > Added (as it deems fit). > > >> Are some more flags foreseen (tbd in section 6.2 ?) for more fine-grained >> characterization of "relaxed disjointness" in complex cases e.g. when >> adding an LSP to an already-large disjoint association ? >> I assume the answer is "not really". >> > Your assumption is right. > > >> >> Assuming the above, without becoming too ugly, specification could be >> more explicit about ranking levels of disjointness which relaxing decisions >> should be made, when flag T is unset. >> > I think, adding "as it deems fit" is better and let implementations decide > with protocol signalling the result. > > >> Else, the spec could add a clarifying sentence on the difficulty of >> ordering absolutely many different levels of disjointness for many LSPs, in >> the same association. >> > Do you still feel this to be necessary? I am not too sure. > > > Thanks! > > > _______________________________________________ >> Pce mailing list >> Pce@ietf.org >> https://www.ietf.org/mailman/listinfo/pce >> > --00000000000085bca1059102c567 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Dear Mahend

thanks for you a= nswers. Your changes look fine to me.

Two last nit= s:

- in the sentence you added in section 5.6 whe= n the T flag is set, "In case of other PCEP message, the PCE MUST retu= rn a PCErr message with Error-Type 26".
=3D> PCEP message= other than what? This is not crystal clear. I suggest you clarify explicit= ly.

- in the sentence you added in section 5.6= when the T flag is unset, "the PCE is allowed to relax disjointness b= y either applying a requested objective function (Section 5.4) if specified= .=C2=A0 Otherwise the PCE is allowed to reduce the required level =C2=A0 of= disjointness (as it deems fit)"
=3D> as-is, there se= ems to be a typo: a spurious "either". How about:

<= /div>
"the PCE is allowed to relax disjointness by applying a requ= ested objective function (Section 5.4) if specified. Otherwise, if no objec= tive function is specified, the PCE is allowed to reduce the required level= of disjointness as it deems fit"

Cheers

Emmanuel

On Tue, Aug 13, 2019 at 4:58 PM Mahe= nd Negi <mahend.ietf@gmail.com<= /a>> wrote:
<= div dir=3D"ltr">
=09 =09 =09

Hi Emmanuel,

Thanks for your comments. Please see inline, do find attached reworked draft and version-di= ff for reference.=C2=A0


H= ello,

I have been selected as the Routing Directorate reviewer for t= his draft. The Routing Directorate seeks to review all routing or routing-r= elated drafts as they pass through IETF last call and IESG review, and some= times on special request. The purpose of the review is to provide assistanc= e to the Routing ADs. For more information about the Routing Directorate, p= lease see http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir<= br>
Although these comments are primarily for the use of the Routing ADs= , it would be helpful if you could consider them along with any other IETF = Last Call comments that you receive, and strive to resolve them through dis= cussion or by updating the draft.

Document: draft-ietf-pce-associati= on-diversity-08.txt
Reviewer: Emmanuel Baccelli
Review Date: 12/08/20= 19
Intended Status: Standards Track

Summary of comments:

= =C2=A0 =C2=A0 The procotol extension is simple, and its operation is docume= nted pretty well.
=C2=A0 =C2=A0 The document is concise, and clear from = my point of view.
=C2=A0 =C2=A0 See below a couple of remarks that coul= d be considered prior to publication.

Major Issues:

=C2=A0 = =C2=A0 No major issues found.

Minor Issues:

=C2=A0 =C2=A0 In = Section 5 (Security): If I understand correctly, dynamically adding a new L= SP to an existing disjoint association affects the (re)computation and the = (re)characterization of all LSPs in this association. In this case, is it e= ntirely obvious to me that there is no specific threat using the attack vec= tor of adding an LSP to an existing association, when flag T is set?
<= /blockquote>
=C2=A0
When T flag is set, we would have a case of no-path for the new LSP. It would be good to also indicate that the new LSP could not be added into the association group. I have added text for this.

What is the state of other L= SPs in an existing association after another LSP was added, which resulted = in the required disjointness now fails?
=C2=A0
The other LSPs would not be impacted. So as such there is no specific security threat with T flag. But, it would be good to add some generic text. Updated section -
=09 =09 =09

6. Security Considerations


This document defines one new type for association, which on itself does not add any new security concerns beyond those discussed in

[RFC5440], [RFC8231] and [I-D.ietf-pce-association-group]. But, adding of a spurious LSP into the disjointness association group

could lead to re-computation and set-up of all LSPs in the group, that could be used to overwhelm the PCE and the network.


Also, as stated in [I-D.ietf-pce-association-group], much of the information carried in the Disjointness Association object, as per

this document is not extra sensitive. It often reflects information that can also be derived from the LSP Database, but association

provides a much easier grouping of related LSPs and messages. The disjointness association could provide an adversary with the

opportunity to eavesdrop on the relationship between the LSPs. Thus securing the PCEP session using Transport Layer Security (TLS)

[RFC8253], as per the recommendations and best current practices in [RFC7525], is RECOMMENDED.

=09 =09 =09


=C2=A0
Nits:

=C2=A0 =C2=A0 In Section 3 (Motivation): In my opinion, this= section might benefit from being split in two: a pure motivation section, = and an applicability section.
=C2=A0
O= K
=C2=A0 =C2=A0
=C2=A0 =C2=A0 In Section 4.1: it is stated that "= ;a PCE may be limited in the number of LSPs it can take into account when c= omputing disjointness" [...] "the PCE may provide no path, a shor= test path, or a constrained path based on relaxing disjointness, etc.=C2=A0= The disjoint status is informed to the PCC."
Here, it would be us= eful to forward reference to section 4.6.
=C2=A0=
OK
<= div dir=3D"ltr">
=C2=A0 =C2=A0 In section 4.6: the spec seems to suppose= that there exists an absolute order ranking different levels of disjointne= ss,
such that a PCE can simply take the decision to "reduce disjoin= tness" to the next best level.
I suspect that this is not alwa= ys easy to rank in complex cases, if at all possible.

=09 =09 =09

Added (as it deems fit).

=C2=A0
Ar= e some more flags foreseen (tbd in section 6.2 ?) for more fine-grained cha= racterization of "relaxed disjointness" in complex cases e.g. whe= n adding an LSP to an already-large disjoint association ?
I assume= the answer is "not really".
=09 =09 =09

Your assumption is right.

=C2=A0

Assuming the above, without becoming too ugly, specificati= on could be more explicit about ranking levels of disjointness which relaxi= ng decisions should be made, when flag T is unset.
=09 =09 =09

I think, adding "as it deems fit" is better and let implementations decide with protocol signalling the result.

=C2=A0
Else, the spec could add a clarifying sentence on the difficulty of order= ing absolutely many different levels of disjointness for many LSPs, in the = same association.
=09 =09

Do you still feel this to be necessary? I am not too sure.


Thanks!


_______________________________________________
Pce mailing list
Pce@ietf.org
https://www.ietf.org/mailman/listinfo/pce
--00000000000085bca1059102c567-- From nobody Mon Aug 26 10:13:08 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 02463120AD1; Mon, 26 Aug 2019 10:13:06 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.998 X-Spam-Level: X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rf_dHgIWQ9sY; Mon, 26 Aug 2019 10:13:04 -0700 (PDT) Received: from mail-io1-xd36.google.com (mail-io1-xd36.google.com [IPv6:2607:f8b0:4864:20::d36]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1A62E1200FF; Mon, 26 Aug 2019 10:13:01 -0700 (PDT) Received: by mail-io1-xd36.google.com with SMTP id j4so30733790iog.11; Mon, 26 Aug 2019 10:13:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=NDt29/ovN4O1r6cCVKq7Q8cuysK40vh44q28G0jaEfk=; b=uDaOQCMTLFmGsgAxan32IE8iQ1Ixax9VuocofHyomPgnEi7srH8Izl//+5AHFGyhl3 V76moYLsnk+xQ/by++L9n5wx6bL198JB2XqLcx8NRrlmdVpkj22djVnfn7oYfNWrF8X3 s9XKI5CtXPRYjJxZvaZT+IXY1kQCIRYB4jCXMOgrZybuA0dPSnkgoZ0DxeUXE9Vn+TJ8 VGREMWNS+A0LoytNZaxG1BaPu2CAbWUq7TxXq+10XLANI0oEGXzB0U7xYVAIGwZqJiZy 3m1iTX15sBEyHVkFukBVJrzFW1t6rtIQw1p9PbbAevGn2SGjW8Wuz3ydlbWtFOGgfmVM 0Mog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=NDt29/ovN4O1r6cCVKq7Q8cuysK40vh44q28G0jaEfk=; b=EdhsGkox3vqBYv1kPaIUhwi3CaGq2jtOvKlkX9s172Bwtatoz+DnyQkeFyESi+Y03A DDEuY0PsVMmhJ8N1pDlk8JmQfLENy1ahY7x4JCkBV6pNs17m9fxbaX2aiFJ+Vibreamx /r4v011nebVGGnfKaSLhIO0CTvJjIPPXDP62O8nAqM4+tfl+37YGxkuug20vEhdk6O9s 30VSRiYXufnuLQjIJzRrLzXe2FMlkvouMiq5uKhtB3j8ITpdxwrmuRQdL08hgeZBqs/T JKUqwSg2r+JlYGDaCA4TwuNQAsXz3dJbdwBfrWMF1walh/PaJuKMmQWHbFhiWtbgOhQb Wfdw== X-Gm-Message-State: APjAAAWF+qdpiB16YeC/ElGv9SlYvnKqH2RGpDJ/2keFQsGHsaH8g5GR eqqR1khcIwhUhSybQi7lG+VN5kVMDeuGdXrlPNN5AHLvTdw= X-Google-Smtp-Source: APXvYqwMiqTClUUuDtNG+0XPzuNJE3PV+RvASoii63dd9WzB7bfvQLtmMiWtkQDW+tJpmCTK0fE5t4Ufylk+F74f6w8= X-Received: by 2002:a02:a0c6:: with SMTP id i6mr19899957jah.7.1566839579941; Mon, 26 Aug 2019 10:12:59 -0700 (PDT) MIME-Version: 1.0 From: Manav Bhatia Date: Mon, 26 Aug 2019 22:42:48 +0530 Message-ID: To: "rtg-dir@ietf.org" , "rtg-ads@tools.ietf.org" , draft-ietf-lsr-isis-rfc5306bis.all@ietf.org Content-Type: multipart/alternative; boundary="000000000000951fd005910844b6" Archived-At: Subject: [RTG-DIR] RtgDir Review: Restart Signaling for IS-IS X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Aug 2019 17:13:06 -0000 --000000000000951fd005910844b6 Content-Type: text/plain; charset="UTF-8" Hello, I have been selected as the Routing Directorate reviewer for this draft. The Routing Directorate seeks to review all routing or routing-related drafts as they pass through IETF last call and IESG review, and sometimes on special request. The purpose of the review is to provide assistance to the Routing ADs. For more information about the Routing Directorate, please see http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir Although these comments are primarily for the use of the Routing ADs, it would be helpful if you could consider them along with any other IETF Last Call comments that you receive, and strive to resolve them through discussion or by updating the draft. Document: draft-ietf-lsr-isis-rfc5306bis-05 Reviewer: Manav Bhatia Review Date: 27 Aug 2019 IETF LC End Date: date-if-known Intended Status: Standards Track Summary: No issues found. This document is ready for publication. Comments: I had reviewed this document earlier and my comments had been incorporated back then. Major Issues: No major issues found. Minor Issues: No minor issues found. Cheers, Manav --000000000000951fd005910844b6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello,

I have been selected as the Routing Director= ate reviewer for this draft. The Routing Directorate seeks to review all ro= uting or routing-related drafts as they pass through IETF last call and IES= G review, and sometimes on special request. The purpose of the review is to= provide assistance to the Routing ADs. For more information about the Rout= ing Directorate, please see http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir<= br>
Although these comments are primarily for the use of the Routing ADs= , it would be helpful if you could consider them along with any other IETF = Last Call comments that you receive, and strive to resolve them through dis= cussion or by updating the draft.

Document: draft-ietf-lsr-isis-rfc5= 306bis-05
Reviewer: Manav Bhatia
Review Date: 27 Aug 2019
IETF LC = End Date: date-if-known
Intended Status: Standards Track

Summary:=

No issues found. This document is ready for publication.

Co= mments:

I had reviewed this document earlier and my comments had bee= n incorporated back then.

Major Issues:
No major issues fo= und.

Minor Issues:
No minor issues found.

Cheers, Manav
--000000000000951fd005910844b6-- From nobody Mon Aug 26 12:09:23 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3B7DE120D19; Mon, 26 Aug 2019 12:09:17 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -14.5 X-Spam-Level: X-Spam-Status: No, score=-14.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=Zp7Hf2VP; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=bWCF6MWH Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 30Vp1013Utpb; Mon, 26 Aug 2019 12:09:14 -0700 (PDT) Received: from alln-iport-8.cisco.com (alln-iport-8.cisco.com [173.37.142.95]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5C6F0120CAA; Mon, 26 Aug 2019 12:09:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=8056; q=dns/txt; s=iport; t=1566846554; x=1568056154; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=gRK+cKLIM/Gn0cWIFp4IILmQCbFmp5P1n2Lv7UR6VXs=; b=Zp7Hf2VPffQVcpRsgHKZHhKwMKsKab4MkFc2o8VgqAy8NU2tUAGdOful yufGxdml/CpDrYZtLKuY1s+UZ+CK4Tw1obNnlCwQSZKPz4XB4wJU33GRK u0gs6oXpMC992QiBYiYJdPkUO59mKypP965UZnhPmzbXQxTXcz5EAw7e2 M=; IronPort-PHdr: =?us-ascii?q?9a23=3ABphXmRJRPC+jSnNTP9mcpTVXNCE6p7X5OBIU4Z?= =?us-ascii?q?M7irVIN76u5InmIFeBvKd2lFGcW4Ld5roEkOfQv636EU04qZea+DFnEtRXUg?= =?us-ascii?q?Mdz8AfngguGsmAXEL6KuXgYjY1NM9DT1RiuXq8NBsdFQ=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AmAACLLWRd/4kNJK1kGwEBAQEDAQE?= =?us-ascii?q?BBwMBAQGBVAUBAQELAYEVL1ADbVYgBAsqhCGDRwOKb02CD5MNhFuBLoEkA1Q?= =?us-ascii?q?JAQEBDAEBIwoCAQGEPwIXglAjNQgOAgoBAQQBAQECAQYEbYUtDIVKAQEBAQM?= =?us-ascii?q?SEQoTAQE4DwIBCBEDAQEBKwICAjAdCAIEARIIGoMBgR1NAx0BAgyecQKBOIh?= =?us-ascii?q?hc4EygnsBAQWFAhiCFgmBNAGEfIZ1GIFAP4EQAUaCTD6CVgsCgWMVCQaCZTK?= =?us-ascii?q?CJoxNglCFE4kIjjYJAoIehglhjXSCMm2GQ45tjWiHa5A7AgQCBAUCDgEBBYE?= =?us-ascii?q?9FAE2gVhwFYMnCYI5g3KFFIU/cgGBKI4nAQE?= X-IronPort-AV: E=Sophos;i="5.64,433,1559520000"; d="scan'208,217";a="319306704" Received: from alln-core-4.cisco.com ([173.36.13.137]) by alln-iport-8.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 26 Aug 2019 19:09:13 +0000 Received: from XCH-RCD-002.cisco.com (xch-rcd-002.cisco.com [173.37.102.12]) by alln-core-4.cisco.com (8.15.2/8.15.2) with ESMTPS id x7QJ9DWI006671 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 26 Aug 2019 19:09:13 GMT Received: from xhs-rcd-001.cisco.com (173.37.227.246) by XCH-RCD-002.cisco.com (173.37.102.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 26 Aug 2019 14:09:12 -0500 Received: from xhs-rcd-001.cisco.com (173.37.227.246) by xhs-rcd-001.cisco.com (173.37.227.246) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 26 Aug 2019 14:09:12 -0500 Received: from NAM01-SN1-obe.outbound.protection.outlook.com (72.163.14.9) by xhs-rcd-001.cisco.com (173.37.227.246) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Mon, 26 Aug 2019 14:09:12 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YVTsPdK80ae5tPm2bsIDrqhGuHPXjAAo8HyN9KVJZUNMDtDyL//Pkh5rmk7gcMWLX7srmy3Vaqis0XVC+sfKFEDOUUP2wHv5amQlOup7MakBD46r/bR9L9zOJnuK+8oPW5pFZwk/8pcV2/VRzPG+8ZBQAvRR5L9D9YVVejp5xvBf3xF3q7Hsr3Xb+AmJVOvsx5EPBSNGdQcrfC2n0qniSMMLtLGmgODTgoYjGMJibVRQNTrX8V2Wvx4s+nxNomEuXeDig77F3Vy3U0bH163TtXiSiLiNArEHzCrR0QWJmBFv5ZoGel2xODnXiD7xGdXRfYbomnfjn3BXiPukeMQm+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gRK+cKLIM/Gn0cWIFp4IILmQCbFmp5P1n2Lv7UR6VXs=; b=PQgXcY1Qh06PAIvtuFXXGpNuwFidOth+2oHLg9Y3ww8qmtqWOGZbjJ8JSSJgkEH0nb8FjOtjxSEO3TDcpDW51ThoR4GDrC/L9HJTvMFx9CcdrJzjxoEpiH+P35Uott5CzaGEAFuAUC5rnrNAUXhT+aFPOPl6rry+HfTjozyz9M2uj1eN8KSlne7kIYV2cXW6yxzJ4jHEQPPGaah65sLipt33EyL9yNvPW1To09I05DB4a1FCpmn2lsQ1Y1OwbhR9cs9BL1Xcwu/DBs2mUnpVcQ3KROYEG+VbFUtq9j/uOFdorUcBptmnWQV1WFAItW1t7fYKzOs1NS6YYguHWAAWGw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gRK+cKLIM/Gn0cWIFp4IILmQCbFmp5P1n2Lv7UR6VXs=; b=bWCF6MWHt+SCUQ5i/HiDZcbobbjwVwheh1Aj4wsnFCcMDSwbEw0yveF0DRz5NG3LMHbiNWKpaOIz+kkfhRNm8OSpu46X5eCvbxvLqJZpN8eG0+po1XcyGuLEr7oVrAFqxjYpJmaz5IuSHXbF//Lqs2HrFPcxEDnVU7nrIzyuSgI= Received: from BYAPR11MB3638.namprd11.prod.outlook.com (20.178.237.19) by BYAPR11MB3238.namprd11.prod.outlook.com (20.177.184.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.20; Mon, 26 Aug 2019 19:09:12 +0000 Received: from BYAPR11MB3638.namprd11.prod.outlook.com ([fe80::d8d2:7e49:1687:aab2]) by BYAPR11MB3638.namprd11.prod.outlook.com ([fe80::d8d2:7e49:1687:aab2%3]) with mapi id 15.20.2178.023; Mon, 26 Aug 2019 19:09:12 +0000 From: "Les Ginsberg (ginsberg)" To: Manav Bhatia , "rtg-dir@ietf.org" , "rtg-ads@tools.ietf.org" , "draft-ietf-lsr-isis-rfc5306bis.all@ietf.org" Thread-Topic: [RTG-DIR] RtgDir Review: Restart Signaling for IS-IS Thread-Index: AQHVXDGLTDAub3TzK0q1+eKqXc/cZqcNywMw Date: Mon, 26 Aug 2019 19:09:11 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=ginsberg@cisco.com; x-originating-ip: [2001:420:c0c8:1005::700] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4ed8dbbf-f3dc-42e9-2123-08d72a58e135 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:BYAPR11MB3238; x-ms-traffictypediagnostic: BYAPR11MB3238: x-ms-exchange-purlcount: 3 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 01415BB535 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(136003)(39860400002)(376002)(346002)(366004)(189003)(199004)(76176011)(66946007)(66476007)(66556008)(64756008)(66446008)(7696005)(102836004)(6306002)(256004)(54896002)(53546011)(6506007)(6436002)(46003)(9686003)(2906002)(53936002)(236005)(14444005)(55016002)(76116006)(99286004)(8936002)(486006)(11346002)(186003)(476003)(446003)(25786009)(2501003)(33656002)(81166006)(86362001)(52536014)(316002)(6246003)(8676002)(2201001)(14454004)(606006)(6116002)(71200400001)(71190400001)(790700001)(966005)(74316002)(478600001)(7736002)(229853002)(81156014)(5660300002)(110136005); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR11MB3238; H:BYAPR11MB3638.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: R36cXB15nL6qNsC8Dw4GqG2A/tAiNwYyWFt7d1jhhaRcyA3UcGwFGRStL7IfWJF3cQ8OwuWZTROG0FUKTwMJj/Xs4JWEVzKrjW+9/pNj5Y/dOA4rgKUoq6gUqgr/bK6dxswZPDeL9NwdmvOmI54132iFVYIQtrU2wPWJUnwuAP7AnxvzqV1/usBqKNrhwe/n0WXCbvNTP379WbyicUwGhW6FOTWtTTq2qM7CfB6dSlXGqntUPl1V66zMVaV8b3uzVzeE66nQL+QxRNNhsmlVR78nQoSsNR3iqaA6cMtnw74mcxHE2IyEwnNcLR5ScV8AFOnaPdCOJfYCmZ3pl/o5g6rV7Aviuvfe5YzE8AO1L+0oBkpuSOccq/eB7A+pEs31E04zl3v3LbqIQFQGprq0Cyg3EVg79fNXce+xWpIjEW4= x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_BYAPR11MB3638FDF90EBAE9A55CA36936C1A10BYAPR11MB3638namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 4ed8dbbf-f3dc-42e9-2123-08d72a58e135 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Aug 2019 19:09:11.7560 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: H5xiKlFGLE2YTImoJkGAtgteeZj5DAojTog7ZckDQocuTWN5UPVRT5NnCR1cxBuD8ifmcL6AyOJsbw1QklTWZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3238 X-OriginatorOrg: cisco.com X-Outbound-SMTP-Client: 173.37.102.12, xch-rcd-002.cisco.com X-Outbound-Node: alln-core-4.cisco.com Archived-At: Subject: Re: [RTG-DIR] RtgDir Review: Restart Signaling for IS-IS X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Aug 2019 19:09:22 -0000 --_000_BYAPR11MB3638FDF90EBAE9A55CA36936C1A10BYAPR11MB3638namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TWFuYXYg4oCTDQoNClRoYW54IGZvciB0aGUgZm9sbG93IHVwIHJldmlldy4NCg0KICAgTGVzDQoN CkZyb206IHJ0Zy1kaXIgPHJ0Zy1kaXItYm91bmNlc0BpZXRmLm9yZz4gT24gQmVoYWxmIE9mIE1h bmF2IEJoYXRpYQ0KU2VudDogTW9uZGF5LCBBdWd1c3QgMjYsIDIwMTkgMTA6MTMgQU0NClRvOiBy dGctZGlyQGlldGYub3JnOyBydGctYWRzQHRvb2xzLmlldGYub3JnOyBkcmFmdC1pZXRmLWxzci1p c2lzLXJmYzUzMDZiaXMuYWxsQGlldGYub3JnDQpTdWJqZWN0OiBbUlRHLURJUl0gUnRnRGlyIFJl dmlldzogUmVzdGFydCBTaWduYWxpbmcgZm9yIElTLUlTDQoNCkhlbGxvLA0KDQpJIGhhdmUgYmVl biBzZWxlY3RlZCBhcyB0aGUgUm91dGluZyBEaXJlY3RvcmF0ZSByZXZpZXdlciBmb3IgdGhpcyBk cmFmdC4gVGhlIFJvdXRpbmcgRGlyZWN0b3JhdGUgc2Vla3MgdG8gcmV2aWV3IGFsbCByb3V0aW5n IG9yIHJvdXRpbmctcmVsYXRlZCBkcmFmdHMgYXMgdGhleSBwYXNzIHRocm91Z2ggSUVURiBsYXN0 IGNhbGwgYW5kIElFU0cgcmV2aWV3LCBhbmQgc29tZXRpbWVzIG9uIHNwZWNpYWwgcmVxdWVzdC4g VGhlIHB1cnBvc2Ugb2YgdGhlIHJldmlldyBpcyB0byBwcm92aWRlIGFzc2lzdGFuY2UgdG8gdGhl IFJvdXRpbmcgQURzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgUm91dGluZyBEaXJl Y3RvcmF0ZSwgcGxlYXNlIHNlZSBodHRwOi8vdHJhYy50b29scy5pZXRmLm9yZy9hcmVhL3J0Zy90 cmFjL3dpa2kvUnRnRGlyDQoNCkFsdGhvdWdoIHRoZXNlIGNvbW1lbnRzIGFyZSBwcmltYXJpbHkg Zm9yIHRoZSB1c2Ugb2YgdGhlIFJvdXRpbmcgQURzLCBpdCB3b3VsZCBiZSBoZWxwZnVsIGlmIHlv dSBjb3VsZCBjb25zaWRlciB0aGVtIGFsb25nIHdpdGggYW55IG90aGVyIElFVEYgTGFzdCBDYWxs IGNvbW1lbnRzIHRoYXQgeW91IHJlY2VpdmUsIGFuZCBzdHJpdmUgdG8gcmVzb2x2ZSB0aGVtIHRo cm91Z2ggZGlzY3Vzc2lvbiBvciBieSB1cGRhdGluZyB0aGUgZHJhZnQuDQoNCkRvY3VtZW50OiBk cmFmdC1pZXRmLWxzci1pc2lzLXJmYzUzMDZiaXMtMDUNClJldmlld2VyOiBNYW5hdiBCaGF0aWEN ClJldmlldyBEYXRlOiAyNyBBdWcgMjAxOQ0KSUVURiBMQyBFbmQgRGF0ZTogZGF0ZS1pZi1rbm93 bg0KSW50ZW5kZWQgU3RhdHVzOiBTdGFuZGFyZHMgVHJhY2sNCg0KU3VtbWFyeToNCg0KTm8gaXNz dWVzIGZvdW5kLiBUaGlzIGRvY3VtZW50IGlzIHJlYWR5IGZvciBwdWJsaWNhdGlvbi4NCg0KQ29t bWVudHM6DQoNCkkgaGFkIHJldmlld2VkIHRoaXMgZG9jdW1lbnQgZWFybGllciBhbmQgbXkgY29t bWVudHMgaGFkIGJlZW4gaW5jb3Jwb3JhdGVkIGJhY2sgdGhlbi4NCg0KTWFqb3IgSXNzdWVzOg0K Tm8gbWFqb3IgaXNzdWVzIGZvdW5kLg0KDQpNaW5vciBJc3N1ZXM6DQpObyBtaW5vciBpc3N1ZXMg Zm91bmQuDQoNCkNoZWVycywgTWFuYXYNCg== --_000_BYAPR11MB3638FDF90EBAE9A55CA36936C1A10BYAPR11MB3638namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ Zm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9DQph OmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xv cjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFuLk1z b0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpwdXJw bGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLm1zb25vcm1hbDAsIGxpLm1zb25v cm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCgltc28t bWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1zby1tYXJnaW4tYm90 dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZv bnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30NCnNwYW4uRW1haWxTdHlsZTE4DQoJe21z by1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5z LXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxl LXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0K QHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1hcmdpbjoxLjBpbiAx LjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24x O30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRz IHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtp ZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1h cCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRp Zl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLVVTIiBsaW5rPSJibHVlIiB2bGluaz0icHVy cGxlIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5N YW5hdiDigJM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7 PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhhbnggZm9yIHRoZSBmb2xsb3cgdXAg cmV2aWV3LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8 L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsmbmJzcDsgTGVzPG86cD48L286 cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXYg c3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzow aW4gMGluIDBpbiA0LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVy LXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGluIDBpbiAwaW4iPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PGI+RnJvbTo8L2I+IHJ0Zy1kaXIgJmx0O3J0Zy1kaXItYm91bmNl c0BpZXRmLm9yZyZndDsgPGI+T24gQmVoYWxmIE9mDQo8L2I+TWFuYXYgQmhhdGlhPGJyPg0KPGI+ U2VudDo8L2I+IE1vbmRheSwgQXVndXN0IDI2LCAyMDE5IDEwOjEzIEFNPGJyPg0KPGI+VG86PC9i PiBydGctZGlyQGlldGYub3JnOyBydGctYWRzQHRvb2xzLmlldGYub3JnOyBkcmFmdC1pZXRmLWxz ci1pc2lzLXJmYzUzMDZiaXMuYWxsQGlldGYub3JnPGJyPg0KPGI+U3ViamVjdDo8L2I+IFtSVEct RElSXSBSdGdEaXIgUmV2aWV3OiBSZXN0YXJ0IFNpZ25hbGluZyBmb3IgSVMtSVM8bzpwPjwvbzpw PjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv bzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5IZWxsbyw8YnI+DQo8YnI+DQpJ IGhhdmUgYmVlbiBzZWxlY3RlZCBhcyB0aGUgUm91dGluZyBEaXJlY3RvcmF0ZSByZXZpZXdlciBm b3IgdGhpcyBkcmFmdC4gVGhlIFJvdXRpbmcgRGlyZWN0b3JhdGUgc2Vla3MgdG8gcmV2aWV3IGFs bCByb3V0aW5nIG9yIHJvdXRpbmctcmVsYXRlZCBkcmFmdHMgYXMgdGhleSBwYXNzIHRocm91Z2gg SUVURiBsYXN0IGNhbGwgYW5kIElFU0cgcmV2aWV3LCBhbmQgc29tZXRpbWVzIG9uIHNwZWNpYWwg cmVxdWVzdC4gVGhlIHB1cnBvc2Ugb2YgdGhlDQogcmV2aWV3IGlzIHRvIHByb3ZpZGUgYXNzaXN0 YW5jZSB0byB0aGUgUm91dGluZyBBRHMuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBS b3V0aW5nIERpcmVjdG9yYXRlLCBwbGVhc2Ugc2VlDQo8YSBocmVmPSJodHRwOi8vdHJhYy50b29s cy5pZXRmLm9yZy9hcmVhL3J0Zy90cmFjL3dpa2kvUnRnRGlyIj5odHRwOi8vdHJhYy50b29scy5p ZXRmLm9yZy9hcmVhL3J0Zy90cmFjL3dpa2kvUnRnRGlyPC9hPjxicj4NCjxicj4NCkFsdGhvdWdo IHRoZXNlIGNvbW1lbnRzIGFyZSBwcmltYXJpbHkgZm9yIHRoZSB1c2Ugb2YgdGhlIFJvdXRpbmcg QURzLCBpdCB3b3VsZCBiZSBoZWxwZnVsIGlmIHlvdSBjb3VsZCBjb25zaWRlciB0aGVtIGFsb25n IHdpdGggYW55IG90aGVyIElFVEYgTGFzdCBDYWxsIGNvbW1lbnRzIHRoYXQgeW91IHJlY2VpdmUs IGFuZCBzdHJpdmUgdG8gcmVzb2x2ZSB0aGVtIHRocm91Z2ggZGlzY3Vzc2lvbiBvciBieSB1cGRh dGluZyB0aGUgZHJhZnQuPGJyPg0KPGJyPg0KRG9jdW1lbnQ6IGRyYWZ0LWlldGYtbHNyLWlzaXMt cmZjNTMwNmJpcy0wNTxicj4NClJldmlld2VyOiBNYW5hdiBCaGF0aWE8YnI+DQpSZXZpZXcgRGF0 ZTogMjcgQXVnIDIwMTk8YnI+DQpJRVRGIExDIEVuZCBEYXRlOiBkYXRlLWlmLWtub3duPGJyPg0K SW50ZW5kZWQgU3RhdHVzOiBTdGFuZGFyZHMgVHJhY2s8YnI+DQo8YnI+DQpTdW1tYXJ5OjxvOnA+ PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxicj4NCk5vIGlzc3VlcyBm b3VuZC4gVGhpcyBkb2N1bWVudCBpcyByZWFkeSBmb3IgcHVibGljYXRpb24uPGJyPg0KPGJyPg0K Q29tbWVudHM6PGJyPg0KPGJyPg0KSSBoYWQgcmV2aWV3ZWQgdGhpcyBkb2N1bWVudCBlYXJsaWVy IGFuZCBteSBjb21tZW50cyBoYWQgYmVlbiBpbmNvcnBvcmF0ZWQgYmFjayB0aGVuLjxvOnA+PC9v OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGJyPg0KTWFqb3Ig SXNzdWVzOjxicj4NCk5vIG1ham9yIGlzc3VlcyBmb3VuZC48YnI+DQo8YnI+DQpNaW5vciBJc3N1 ZXM6PGJyPg0KTm8gbWlub3IgaXNzdWVzIGZvdW5kLjxicj4NCjxicj4NCkNoZWVycywgTWFuYXY8 bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0K PC9odG1sPg0K --_000_BYAPR11MB3638FDF90EBAE9A55CA36936C1A10BYAPR11MB3638namp_-- From nobody Tue Aug 27 03:57:22 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BB18712020A; Tue, 27 Aug 2019 03:57:13 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.998 X-Spam-Level: X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kXH1Kydj6tRj; Tue, 27 Aug 2019 03:57:11 -0700 (PDT) Received: from mail-io1-xd29.google.com (mail-io1-xd29.google.com [IPv6:2607:f8b0:4864:20::d29]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B014112004A; Tue, 27 Aug 2019 03:57:11 -0700 (PDT) Received: by mail-io1-xd29.google.com with SMTP id j5so45210998ioj.8; Tue, 27 Aug 2019 03:57:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=pZUqIrFpCIPaMjxO9joSjXxfF1Er9Rzj0cL8aj63fNg=; b=I0RrNylNEM0sHyo8R7bYolIdKGvudBgFc6FPrX0SWLXZCOHDeAzX+PR5kxkw+GBO8H xGEyu7M0z/iDT8UQVts5zlVGJ0rSp/KU60E+ty56+B+7bcfZe0dBsIXmyS7kHQFhdnr2 0ZI8sKTO0z5gD88WQ7y5jZ10FfE+BD+qGp2HCPE8euW7BPgotYRcQuvLydq/c2o3frcd WhC/mIr3g2hIBM726ma+PLt+Bu5TR7xUTVARBnZEDzMAGZUWWMOV80rRKnrwg2eMQbwc 5qPufG6ecKgc0vzSVaOndkx6sBWN79nyrik+eXK/l2XBHfPQ6Ly4axer52Rpf1taN0U6 Le7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=pZUqIrFpCIPaMjxO9joSjXxfF1Er9Rzj0cL8aj63fNg=; b=AzPMPF8xJB0zukcDW/1eNE409f+bqNC+OZTE2NPLyBVv0ueWX2+39PCykAdjCuVLpm jv8TF1x53B4UINlbsnTJQezIR8Fb2Dgkfaw9bm7VqnUTyI/JA2q+xqu8dnk5j3qSqwgb o9lcAVUgC6af46L/bCalpqqfQKO8kPuSgCih2iWHHbQ/zQaa5BqNiQVz7OUhzbthFLiB DsHn4c1sfi9BXMBhxzv1i+mTOVQTs+sX8kvOFVE0SdgDO7ehzE00482lf0DKyXMG/cs2 jgny0tkwaxAB8sa6EKSbDB3g8Mrp+EvhPMz/q6lwtRS/8/iqL1GUojWC/qIpFNRXEWF4 D98g== X-Gm-Message-State: APjAAAXdH55D7S2++chbio5ITX/noYPlxDLnGgur+DAwWHhfc3WhlDAb GnmdTvFRaEsyjTTWKaXHo+F0tJR3b7ZEhFBzcws= X-Google-Smtp-Source: APXvYqyyIiH/So2CzRBHJ8OjxyKPfJ8i6bk7YkIuEfSXqTOJ3OPReaXkieNyLtYCLaE1t7/Gj9yxvRN1MYmvw0+qbRA= X-Received: by 2002:a6b:c38f:: with SMTP id t137mr7931958iof.137.1566903430848; Tue, 27 Aug 2019 03:57:10 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Dhruv Dhody Date: Tue, 27 Aug 2019 16:26:34 +0530 Message-ID: To: Emmanuel Baccelli Cc: draft-ietf-pce-association-diversity.all@ietf.org, "" , rtg-dir@ietf.org, pce@ietf.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Archived-At: Subject: Re: [RTG-DIR] [Pce] RtgDir review: draft-ietf-pce-association-diversity-08.txt X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Aug 2019 10:57:14 -0000 Hi Emmanuel, Thanks for you review, the last two nits seems reasonable to me. Regards, Dhruv On Mon, Aug 26, 2019 at 4:09 PM Emmanuel Baccelli wrote: > > Dear Mahend > > thanks for you answers. Your changes look fine to me. > > Two last nits: > > - in the sentence you added in section 5.6 when the T flag is set, "In ca= se of other PCEP message, the PCE MUST return a PCErr message with Error-Ty= pe 26". > =3D> PCEP message other than what? This is not crystal clear. I suggest y= ou clarify explicitly. > > - in the sentence you added in section 5.6 when the T flag is unset, "the= PCE is allowed to relax disjointness by either applying a requested object= ive function (Section 5.4) if specified. Otherwise the PCE is allowed to r= educe the required level of disjointness (as it deems fit)" > =3D> as-is, there seems to be a typo: a spurious "either". How about: > > "the PCE is allowed to relax disjointness by applying a requested objecti= ve function (Section 5.4) if specified. Otherwise, if no objective function= is specified, the PCE is allowed to reduce the required level of disjointn= ess as it deems fit" > > Cheers > > Emmanuel > > On Tue, Aug 13, 2019 at 4:58 PM Mahend Negi wrote= : >> >> Hi Emmanuel, >> >> Thanks for your comments. Please see inline, do find attached reworked d= raft and version-diff for reference. >> >> >> On Tue, Aug 13, 2019 at 3:21 AM Emmanuel Baccelli wrote: >>> >>> Hello, >>> >>> I have been selected as the Routing Directorate reviewer for this draft= . The Routing Directorate seeks to review all routing or routing-related dr= afts as they pass through IETF last call and IESG review, and sometimes on = special request. The purpose of the review is to provide assistance to the = Routing ADs. For more information about the Routing Directorate, please see= http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir >>> >>> Although these comments are primarily for the use of the Routing ADs, i= t would be helpful if you could consider them along with any other IETF Las= t Call comments that you receive, and strive to resolve them through discus= sion or by updating the draft. >>> >>> Document: draft-ietf-pce-association-diversity-08.txt >>> Reviewer: Emmanuel Baccelli >>> Review Date: 12/08/2019 >>> Intended Status: Standards Track >>> >>> Summary of comments: >>> >>> The procotol extension is simple, and its operation is documented p= retty well. >>> The document is concise, and clear from my point of view. >>> See below a couple of remarks that could be considered prior to pub= lication. >>> >>> Major Issues: >>> >>> No major issues found. >>> >>> Minor Issues: >>> >>> In Section 5 (Security): If I understand correctly, dynamically add= ing a new LSP to an existing disjoint association affects the (re)computati= on and the (re)characterization of all LSPs in this association. In this ca= se, is it entirely obvious to me that there is no specific threat using the= attack vector of adding an LSP to an existing association, when flag T is = set? >> >> >> When T flag is set, we would have a case of no-path for the new LSP. It = would be good to also indicate that the new LSP could not be added into the= association group. I have added text for this. >> >>> What is the state of other LSPs in an existing association after anothe= r LSP was added, which resulted in the required disjointness now fails? >> >> >> The other LSPs would not be impacted. So as such there is no specific se= curity threat with T flag. But, it would be good to add some generic text. = Updated section - >> >> 6. Security Considerations >> >> >> This document defines one new type for association, which on itself does= not add any new security concerns beyond those discussed in >> >> [RFC5440], [RFC8231] and [I-D.ietf-pce-association-group]. But, adding o= f a spurious LSP into the disjointness association group >> >> could lead to re-computation and set-up of all LSPs in the group, that c= ould be used to overwhelm the PCE and the network. >> >> >> Also, as stated in [I-D.ietf-pce-association-group], much of the informa= tion carried in the Disjointness Association object, as per >> >> this document is not extra sensitive. It often reflects information that= can also be derived from the LSP Database, but association >> >> provides a much easier grouping of related LSPs and messages. The disjoi= ntness association could provide an adversary with the >> >> opportunity to eavesdrop on the relationship between the LSPs. Thus secu= ring the PCEP session using Transport Layer Security (TLS) >> >> [RFC8253], as per the recommendations and best current practices in [RFC= 7525], is RECOMMENDED. >> >> >> >>> >>> Nits: >>> >>> In Section 3 (Motivation): In my opinion, this section might benefi= t from being split in two: a pure motivation section, and an applicability = section. >> >> >> OK >>> >>> >>> In Section 4.1: it is stated that "a PCE may be limited in the numb= er of LSPs it can take into account when computing disjointness" [...] "the= PCE may provide no path, a shortest path, or a constrained path based on r= elaxing disjointness, etc. The disjoint status is informed to the PCC." >>> Here, it would be useful to forward reference to section 4.6. >> >> >> OK >>> >>> >>> In section 4.6: the spec seems to suppose that there exists an abso= lute order ranking different levels of disjointness, >>> such that a PCE can simply take the decision to "reduce disjointness" t= o the next best level. >>> I suspect that this is not always easy to rank in complex cases, if at = all possible. >> >> >> Added (as it deems fit). >> >> >>> >>> Are some more flags foreseen (tbd in section 6.2 ?) for more fine-grain= ed characterization of "relaxed disjointness" in complex cases e.g. when ad= ding an LSP to an already-large disjoint association ? >>> I assume the answer is "not really". >> >> Your assumption is right. >> >> >>> >>> >>> Assuming the above, without becoming too ugly, specification could be m= ore explicit about ranking levels of disjointness which relaxing decisions = should be made, when flag T is unset. >> >> I think, adding "as it deems fit" is better and let implementations deci= de with protocol signalling the result. >> >> >>> >>> Else, the spec could add a clarifying sentence on the difficulty of ord= ering absolutely many different levels of disjointness for many LSPs, in th= e same association. >> >> Do you still feel this to be necessary? I am not too sure. >> >> >> Thanks! >> >> >>> _______________________________________________ >>> Pce mailing list >>> Pce@ietf.org >>> https://www.ietf.org/mailman/listinfo/pce From nobody Thu Aug 29 02:15:14 2019 Return-Path: X-Original-To: rtg-dir@ietf.org Delivered-To: rtg-dir@ietfa.amsl.com Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 15A8B120273; Thu, 29 Aug 2019 02:15:01 -0700 (PDT) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit From: Susan Hares via Datatracker To: Cc: draft-ietf-mpls-rmr.all@ietf.org, mpls@ietf.org, ietf@ietf.org X-Test-IDTracker: no X-IETF-IDTracker: 6.100.0 Auto-Submitted: auto-generated Precedence: bulk Reply-To: Susan Hares Message-ID: <156707010100.21081.6369578151637642112@ietfa.amsl.com> Date: Thu, 29 Aug 2019 02:15:01 -0700 Archived-At: Subject: [RTG-DIR] Rtgdir last call review of draft-ietf-mpls-rmr-11 X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Aug 2019 09:15:01 -0000 Reviewer: Susan Hares Review result: Has Nits Authors: Thank you for continuing to refine this document. Status: editorial nits: #1 - Section 3.3 paragraph 1, last sentence old/RMR is primarly intended for operation at the packet layer; however, parallel links at hte lambda or fiber layer result in parallel links at the packet layer./ question: Did you want to say /may result/ intead of /result/ #2 - Section 3.7 - Would be easier to read if you included a diagram. #3 - Section 4.4 - Would be easier to read if you included a diagram Rational for requesting diagram: You are explaining the technology that requires additional TLVs in other protocols (IGPS) #4 - Section 5 - (editorial only) This one section jars the reader to ask "why am I bothered with this section." I understand why you want to make this clear that this point. However, in section 1 you lay out the protocols. Do you also want to do this here? Either choice works technically. However this document is dually focused: summary of RMR concepts to those writing future specifications and RMR to those desiring to install these solutions. Does this section help those desiring to install these solutions to find the other document? From nobody Fri Aug 30 17:52:14 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 513051200B7; Fri, 30 Aug 2019 17:52:05 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -2.002 X-Spam-Level: X-Spam-Status: No, score=-2.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nist.gov Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4VkiMpJB9zdP; Fri, 30 Aug 2019 17:52:02 -0700 (PDT) Received: from GCC02-BL0-obe.outbound.protection.outlook.com (mail-bl2gcc02on2137.outbound.protection.outlook.com [40.107.89.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ED1F81200B1; Fri, 30 Aug 2019 17:52:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DG4ORTrIoinR4W30ztc9VdpxIHoV/f8vbVuxWniYj+xnqcoageMcgkXdT39DmUYKeKAqq7F9TBcVXvr/2dBGuB1f7AsFS7ki2Zqakzm2R5knBIkks80jj9c6VC2Lbp9sY825PepsGnLYuo0WxVCgje7bxOyw5kPb72irFimWXUwxAWDb0tIMtKZDb3J9S4IulbYBiREbcJwyhyK+WXFFCo7rwYPdxRdjBCO/nqviosv3NlKzEtJldOspsGPOnRhjv2vJLg9IcoxPyV5NKhF3jPB+qCc5abt0IFkXjdwtNiIRboW+n4xC7KzvPdXOmtBSotsO2NCd9SF/gVM1h8ISUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ifDgFJFkoY7GxCSQ0Yt1iPsPg88VNS5kQqLn0siPQ00=; b=EPh84Hsf86RSFBMiIhOHZFeibxh79JOho7Nd/JUwZ5SJHT23f420tuKiXVlv0mcIabRmEzAzhjA025d8hbzMCqH6DEopnsBGNCDPwyIA0yDBWERuWFCW2jCjK4nZMitxEZfnqBMI94X9s/aOp1ENuhUoUG12XfKhNntqkmsGArQihEJzeYNEu9JSVtJBt8YN/DCaJ6VwapD2A1Yga/NVoN76fz7ELxZGAv4S0GnN1tswlAVn2cTdHiX/8G2WswLILgr8MDyElTNUcYbF01qZv87RA+ls5G4L+1b/euz2mTy1853VNfEDaCmgDS0ko2Gj5FI4v9FwmFNrCPVIpW5miw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nist.gov; dmarc=pass action=none header.from=nist.gov; dkim=pass header.d=nist.gov; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nist.gov; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ifDgFJFkoY7GxCSQ0Yt1iPsPg88VNS5kQqLn0siPQ00=; b=fT5HswcoWRVinKxbtUDCzpmFLW9xIFZRAZ5HpfDkFgw4H8TkB5NK5FEPTxHfn+bkuUBgdknKFX7w5cLNapJ2iJG8+uFLrbMaoGMN7VbKUugf91tafiozuM/rmW+VuUcjHX2ISmlYfZumxXc6nCw7xl7UFQ/KB6IxO2NM2dG+J0s= Received: from BL0PR0901MB4563.namprd09.prod.outlook.com (52.135.47.206) by BL0PR0901MB3171.namprd09.prod.outlook.com (20.177.243.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2220.19; Sat, 31 Aug 2019 00:51:58 +0000 Received: from BL0PR0901MB4563.namprd09.prod.outlook.com ([fe80::b532:35b9:abd0:ee7e]) by BL0PR0901MB4563.namprd09.prod.outlook.com ([fe80::b532:35b9:abd0:ee7e%4]) with mapi id 15.20.2220.013; Sat, 31 Aug 2019 00:51:58 +0000 From: "Sriram, Kotikalapudi (Fed)" To: "Bocci, Matthew (Nokia - GB)" , "rtg-ads@ietf.org" CC: "rtg-dir@ietf.org" , "opsec@ietf.org" , "draft-ietf-opsec-urpf-improvements@ietf.org" , "Murphy, Sandra" , Jen Linkova , "opsec-chairs@ietf.org" , Warren Kumari Thread-Topic: RtgDir review: draft-ietf-opsec-urpf-improvements03.txt Thread-Index: AQHVWCSLk+WxzCivaUqM/Uc+Pc7zTqcUdRis Date: Sat, 31 Aug 2019 00:51:58 +0000 Message-ID: References: <695D6B79-C68C-47FB-9950-CE50233E9BDC@nokia.com> In-Reply-To: <695D6B79-C68C-47FB-9950-CE50233E9BDC@nokia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=kotikalapudi.sriram@nist.gov; x-originating-ip: [129.6.223.86] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7478b2f6-7b98-4db8-c05f-08d72dad6d6c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:BL0PR0901MB3171; x-ms-traffictypediagnostic: BL0PR0901MB3171: x-ms-exchange-purlcount: 1 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 014617085B x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(366004)(39830400003)(396003)(376002)(136003)(346002)(189003)(199004)(2501003)(486006)(54906003)(110136005)(3846002)(7696005)(8676002)(6116002)(476003)(446003)(11346002)(71190400001)(71200400001)(52536014)(66556008)(2906002)(5660300002)(86362001)(33656002)(25786009)(66446008)(66476007)(76116006)(66946007)(4326008)(478600001)(6436002)(316002)(53936002)(229853002)(6246003)(64756008)(66574012)(66066001)(55016002)(102836004)(26005)(186003)(99286004)(74316002)(7736002)(305945005)(14454004)(9686003)(256004)(6306002)(14444005)(81156014)(81166006)(76176011)(8936002)(966005)(6506007); DIR:OUT; SFP:1102; SCL:1; SRVR:BL0PR0901MB3171; H:BL0PR0901MB4563.namprd09.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: nist.gov does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: /4H0wiAZlnS93jBE2yDHqjW1xwnMs8HwT+Zo6+KeO1RPIkQhCv0KcEmc1BrZcybMAXc5S03PtPreyCVG0NgRJ83WchF5Du1eP3pwNCmpLNatMAXCYNU1aZHq5AqFGc6xJON0zzrW4FvwpJL43Nr+fC2bjIGnf0C9IoBwIRIkUKiMkzBTHq6JqrpvUxbk73OEB0vw02SJbr9oK1/qWR508rxNey2+2XZvMGsk5smxz2pm0cEuZYjtMfSB8UW225+WL6YrDubveVAouXJJh1r0Rw0W/ZXlvjYLtqEm380B8F4qBG8xZQbstLZUURnxyRLTCO31yBXU4Pdy+nj8amKzduP8mMKSqe37w6ryekA0EVzk6qVRfO1itn3qsrWAJHCSX/jb9X7vj8PU413VG7m9DM39fyLdLO1sFMLOIzb4i44= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: nist.gov X-MS-Exchange-CrossTenant-Network-Message-Id: 7478b2f6-7b98-4db8-c05f-08d72dad6d6c X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2019 00:51:58.2288 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 2ab5d82f-d8fa-4797-a93e-054655c61dec X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 1ARx0E+HT1aObJvLej4pFjWqUJ6WuaTq2uI3RlNNIHfwqlZ3Kg7GhMIcm9WxxV+iZZ564I+ZlVPCjBg+eBGydA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR0901MB3171 Archived-At: Subject: Re: [RTG-DIR] RtgDir review: draft-ietf-opsec-urpf-improvements03.txt X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 Aug 2019 00:52:06 -0000 Matthew: Thank you for your comments. Sorry about the delay in replying. We (authors) have uploaded a new version and have included changes reflecting your comments. Please see: https://tools.ietf.org/rfcdiff?url2=3Ddraft-ietf-opsec-urpf-improvements-04= .txt =20 Please also see responses to your comments inline below.=20 >Summary: >I have some minor concerns about this document that I think should be reso= lved before publication. > > >Comments: > >Generally, I found the draft quite readable, with a clear explanation of t= he problem statements and solutions as well >as the trade-offs on the implementation. However, I have one minor comment= and a nit. > >Major Issues: > >No major issues found. > > >Minor Issues: > >Terminology: The document expands 'uRPF' as 'unicast reverse path filterin= g'. However, I >believe that uRPF commonly means 'unicast reverse path forwarding' (see = RFC3704 and >most vendor documentation). "Ingress filtering" is the general concept and= "reverse path > forwarding" the specific algorithm. Did the authors intend to use a new t= erm, and if so why? > Great catch. I am surprised we (authors) overlooked and no one else caught = it for so long. Thank you! Fixed.=20 > >Nits: > >Section 2.5: "...separate from the global Routing Information Base (RIB) [= Juniper][RFC4364]." >VRFs are supported by most vendors so I think it is sufficient just to ref= erence RFC4364. > The sentence now reads: The Virtual Routing and Forwarding (VRF) technology [RFC4364] [Juniper] allows a router to maintain multiple routing table instances separate from the global Routing Information Base (RIB). Shuffled the order of references. Keeping [Juniper] because there is some=20 tutorial material in it that may be helpful for some readers. Regards, Sriram =20 From nobody Sat Aug 31 02:53:43 2019 Return-Path: X-Original-To: rtg-dir@ietfa.amsl.com Delivered-To: rtg-dir@ietfa.amsl.com Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0B0481200A3; Sat, 31 Aug 2019 02:53:36 -0700 (PDT) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -1.998 X-Spam-Level: X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tJ5lNwYK8-FW; Sat, 31 Aug 2019 02:53:32 -0700 (PDT) Received: from mail-ot1-x32b.google.com (mail-ot1-x32b.google.com [IPv6:2607:f8b0:4864:20::32b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A3D05120099; Sat, 31 Aug 2019 02:53:32 -0700 (PDT) Received: by mail-ot1-x32b.google.com with SMTP id 100so9324489otn.2; Sat, 31 Aug 2019 02:53:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=0PXK8UYwV8LwAMGYo1pS67PwitdQ58hZ/Dy5XA95oaI=; b=T0vFU8CTf7Rr08EUrIO4mFlyf912Sw8eYdRZ7ct8rQUqBU0H4oZ2cIe27kuE0LOSw8 h1zLVyRt7o+ckZjepSEhIDAslzMU1LxxeBkh4h4dL4NKY8OXtViUo6Bi3J38fT4W4P1J 2zzTfQ7WcX7/0+KHzeF9UmgW6hE3hmaCaDy1qih7tchmLb6tPifnuQj1/ar2+UA/YeIh UlBkHXkvX1PINXF9D0gavWe6BZIh48lVcVwPM8Jg0C4XmnTHJyqbXCKUbvQkGrhG2Zb2 DPKPSL04EvT6rACksy9Vx9/+kLbStN7JT1Fp0awt0da37lXkMZzZMwn977pour4DOksx ZtTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=0PXK8UYwV8LwAMGYo1pS67PwitdQ58hZ/Dy5XA95oaI=; b=NKeJT/gIbIEkMvfTDCXO9rFuptiBMdt7fd8fopN/NT+nGJ0fmaTxMo1WbUnqUcEpkd 6n5FENrZLqQEJp3KpdyDwvlj4PAgxHlUcNyHNixLMVORr4xoDdYMN0oGdimGLS/2qnk0 Osvr1ts7UQk+jFHym6oFi29aR6n0rk+gVA5+k6aAQ36hpd5+T6zjjQSqHW7ZkX8TPwMD HAajyxjfF1UvA2EMgjhxRruaQxslfU6Ee44eo/j2djegD3+ViZ7Uief73BZUPGNeTcgm wg5lyRrhOHbS/riOd+71DtfVxWIXgBsRG+2tnp+O/iEsDkJDpeDpFvhL21uUr0LHc8XB IKnA== X-Gm-Message-State: APjAAAVwTPKKzquCnR1O8RRQnSKolRi7E63UMBWYCWqoal9LWgsCGWke sUpJHhEsLGt8gD7PSqsmjg0ZCP+/AK2c/E7AhAQ= X-Google-Smtp-Source: APXvYqzBEQRmR7nFeqhfmvXyegO67SWw0bcioixZ+GtFeSaj5DmOjeTM+a5A7SCk7CqL8MFEtOkpl+iVXItXh0YXL6M= X-Received: by 2002:a9d:6213:: with SMTP id g19mr14937717otj.257.1567245211988; Sat, 31 Aug 2019 02:53:31 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Mahend Negi Date: Sat, 31 Aug 2019 15:23:20 +0530 Message-ID: To: Emmanuel Baccelli Cc: draft-ietf-pce-association-diversity.all@ietf.org, "" , rtg-dir@ietf.org, pce@ietf.org Content-Type: multipart/alternative; boundary="00000000000022f94a059166b6b1" Archived-At: Subject: Re: [RTG-DIR] [Pce] RtgDir review: draft-ietf-pce-association-diversity-08.txt X-BeenThere: rtg-dir@ietf.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Routing Area Directorate List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 Aug 2019 09:53:37 -0000 --00000000000022f94a059166b6b1 Content-Type: text/plain; charset="UTF-8" Hi Emmanuel, Thanks for your review, updated in the new version. FYI: New Version: https://datatracker.ietf.org/doc/html/draft-ietf-pce-association-diversity-10 Diff: https://www.ietf.org/rfcdiff?url2=draft-ietf-pce-association-diversity-10 Regards, Mahendra On Mon, Aug 26, 2019 at 4:09 PM Emmanuel Baccelli < Emmanuel.Baccelli@inria.fr> wrote: > Dear Mahend > > thanks for you answers. Your changes look fine to me. > > Two last nits: > > - in the sentence you added in section 5.6 when the T flag is set, "In > case of other PCEP message, the PCE MUST return a PCErr message with > Error-Type 26". > => PCEP message other than what? This is not crystal clear. I suggest you > clarify explicitly. > > - in the sentence you added in section 5.6 when the T flag is unset, "the > PCE is allowed to relax disjointness by either applying a requested > objective function (Section 5.4) if specified. Otherwise the PCE is > allowed to reduce the required level of disjointness (as it deems fit)" > => as-is, there seems to be a typo: a spurious "either". How about: > > "the PCE is allowed to relax disjointness by applying a requested > objective function (Section 5.4) if specified. Otherwise, if no objective > function is specified, the PCE is allowed to reduce the required level of > disjointness as it deems fit" > > Cheers > > Emmanuel > > On Tue, Aug 13, 2019 at 4:58 PM Mahend Negi wrote: > >> Hi Emmanuel, >> >> Thanks for your comments. Please see inline, do find attached reworked >> draft and version-diff for reference. >> >> On Tue, Aug 13, 2019 at 3:21 AM Emmanuel Baccelli < >> Emmanuel.Baccelli@inria.fr> wrote: >> >>> Hello, >>> >>> I have been selected as the Routing Directorate reviewer for this draft. >>> The Routing Directorate seeks to review all routing or routing-related >>> drafts as they pass through IETF last call and IESG review, and sometimes >>> on special request. The purpose of the review is to provide assistance to >>> the Routing ADs. For more information about the Routing Directorate, please >>> see http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir >>> >>> Although these comments are primarily for the use of the Routing ADs, it >>> would be helpful if you could consider them along with any other IETF Last >>> Call comments that you receive, and strive to resolve them through >>> discussion or by updating the draft. >>> >>> Document: draft-ietf-pce-association-diversity-08.txt >>> Reviewer: Emmanuel Baccelli >>> Review Date: 12/08/2019 >>> Intended Status: Standards Track >>> >>> Summary of comments: >>> >>> The procotol extension is simple, and its operation is documented >>> pretty well. >>> The document is concise, and clear from my point of view. >>> See below a couple of remarks that could be considered prior to >>> publication. >>> >>> Major Issues: >>> >>> No major issues found. >>> >>> Minor Issues: >>> >>> In Section 5 (Security): If I understand correctly, dynamically >>> adding a new LSP to an existing disjoint association affects the >>> (re)computation and the (re)characterization of all LSPs in this >>> association. In this case, is it entirely obvious to me that there is no >>> specific threat using the attack vector of adding an LSP to an existing >>> association, when flag T is set? >>> >> >> When T flag is set, we would have a case of no-path for the new LSP. It >> would be good to also indicate that the new LSP could not be added into the >> association group. I have added text for this. >> >> What is the state of other LSPs in an existing association after another >>> LSP was added, which resulted in the required disjointness now fails? >>> >> >> The other LSPs would not be impacted. So as such there is no specific >> security threat with T flag. But, it would be good to add some generic >> text. Updated section - >> >> 6. Security Considerations >> >> >> This document defines one new type for association, which on itself does >> not add any new security concerns beyond those discussed in >> >> [RFC5440], [RFC8231] and [I-D.ietf-pce-association-group]. But, adding of >> a spurious LSP into the disjointness association group >> >> could lead to re-computation and set-up of all LSPs in the group, that >> could be used to overwhelm the PCE and the network. >> >> >> Also, as stated in [I-D.ietf-pce-association-group], much of the >> information carried in the Disjointness Association object, as per >> >> this document is not extra sensitive. It often reflects information that >> can also be derived from the LSP Database, but association >> >> provides a much easier grouping of related LSPs and messages. The >> disjointness association could provide an adversary with the >> >> opportunity to eavesdrop on the relationship between the LSPs. Thus >> securing the PCEP session using Transport Layer Security (TLS) >> >> [RFC8253], as per the recommendations and best current practices in >> [RFC7525], is RECOMMENDED. >> >>> >> >> >>> Nits: >>> >>> In Section 3 (Motivation): In my opinion, this section might benefit >>> from being split in two: a pure motivation section, and an applicability >>> section. >>> >> >> OK >> >>> >>> In Section 4.1: it is stated that "a PCE may be limited in the >>> number of LSPs it can take into account when computing disjointness" [...] >>> "the PCE may provide no path, a shortest path, or a constrained path based >>> on relaxing disjointness, etc. The disjoint status is informed to the >>> PCC." >>> Here, it would be useful to forward reference to section 4.6. >>> >> >> OK >> >>> >>> In section 4.6: the spec seems to suppose that there exists an >>> absolute order ranking different levels of disjointness, >>> such that a PCE can simply take the decision to "reduce disjointness" to >>> the next best level. >>> I suspect that this is not always easy to rank in complex cases, if at >>> all possible. >>> >> >> Added (as it deems fit). >> >> >>> Are some more flags foreseen (tbd in section 6.2 ?) for more >>> fine-grained characterization of "relaxed disjointness" in complex cases >>> e.g. when adding an LSP to an already-large disjoint association ? >>> I assume the answer is "not really". >>> >> Your assumption is right. >> >> >>> >>> Assuming the above, without becoming too ugly, specification could be >>> more explicit about ranking levels of disjointness which relaxing decisions >>> should be made, when flag T is unset. >>> >> I think, adding "as it deems fit" is better and let implementations >> decide with protocol signalling the result. >> >> >>> Else, the spec could add a clarifying sentence on the difficulty of >>> ordering absolutely many different levels of disjointness for many LSPs, in >>> the same association. >>> >> Do you still feel this to be necessary? I am not too sure. >> >> >> Thanks! >> >> >> _______________________________________________ >>> Pce mailing list >>> Pce@ietf.org >>> https://www.ietf.org/mailman/listinfo/pce >>> >> --00000000000022f94a059166b6b1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Emmanuel,

Thanks for your review, updated in the new version.
<= br>
FYI:
New Version:

Regards,
Mahendra
=


On Mon, Aug 26, 2019 at 4:09 PM Emmanuel Baccelli <<= a href=3D"mailto:Emmanuel.Baccelli@inria.fr">Emmanuel.Baccelli@inria.fr= > wrote:
Dear Mahend

thanks for you answe= rs. Your changes look fine to me.

Two last nits:

- in the sentence you added in section 5.6 when th= e T flag is set, "In case of other PCEP message, the PCE MUST return a= PCErr message with Error-Type 26".
=3D> PCEP message oth= er than what? This is not crystal clear. I suggest you clarify explicitly.<= br>

- in the sentence you added in section 5.6 whe= n the T flag is unset, "the PCE is allowed to relax disjointness by ei= ther applying a requested objective function (Section 5.4) if specified.=C2= =A0 Otherwise the PCE is allowed to reduce the required level =C2=A0 of dis= jointness (as it deems fit)"
=3D> as-is, there seems = to be a typo: a spurious "either". How about:

"the PCE is allowed to relax disjointness by applying a requeste= d objective function (Section 5.4) if specified. Otherwise, if no objective= function is specified, the PCE is allowed to reduce the required level of = disjointness as it deems fit"

Cheers

Emmanuel

On Tue, Aug 13, 2019 at 4:58 PM Mahend N= egi <mahend.i= etf@gmail.com> wrote:
=09 =09 =09

Hi Emmanuel,

Thanks for your comments. Please see inline, do find attached reworked draft and version-di= ff for reference.=C2=A0


= On Tue, Aug 13, 2019 at 3:21 AM Emmanuel Baccelli <Emmanuel.Baccelli@inria.fr&g= t; wrote:
H= ello,

I have been selected as the Routing Directorate reviewer for t= his draft. The Routing Directorate seeks to review all routing or routing-r= elated drafts as they pass through IETF last call and IESG review, and some= times on special request. The purpose of the review is to provide assistanc= e to the Routing ADs. For more information about the Routing Directorate, p= lease see http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir<= br>
Although these comments are primarily for the use of the Routing ADs= , it would be helpful if you could consider them along with any other IETF = Last Call comments that you receive, and strive to resolve them through dis= cussion or by updating the draft.

Document: draft-ietf-pce-associati= on-diversity-08.txt
Reviewer: Emmanuel Baccelli
Review Date: 12/08/20= 19
Intended Status: Standards Track

Summary of comments:

= =C2=A0 =C2=A0 The procotol extension is simple, and its operation is docume= nted pretty well.
=C2=A0 =C2=A0 The document is concise, and clear from = my point of view.
=C2=A0 =C2=A0 See below a couple of remarks that coul= d be considered prior to publication.

Major Issues:

=C2=A0 = =C2=A0 No major issues found.

Minor Issues:

=C2=A0 =C2=A0 In = Section 5 (Security): If I understand correctly, dynamically adding a new L= SP to an existing disjoint association affects the (re)computation and the = (re)characterization of all LSPs in this association. In this case, is it e= ntirely obvious to me that there is no specific threat using the attack vec= tor of adding an LSP to an existing association, when flag T is set?
<= /blockquote>
=C2=A0
When T flag is set, we would have a case of no-path for the new LSP. It would be good to also indicate that the new LSP could not be added into the association group. I have added text for this.

What is the state of other L= SPs in an existing association after another LSP was added, which resulted = in the required disjointness now fails?
=C2=A0
The other LSPs would not be impacted. So as such there is no specific security threat with T flag. But, it would be good to add some generic text. Updated section -
=09 =09 =09

6. Security Considerations


This document defines one new type for association, which on itself does not add any new security concerns beyond those discussed in

[RFC5440], [RFC8231] and [I-D.ietf-pce-association-group]. But, adding of a spurious LSP into the disjointness association group

could lead to re-computation and set-up of all LSPs in the group, that could be used to overwhelm the PCE and the network.


Also, as stated in [I-D.ietf-pce-association-group], much of the information carried in the Disjointness Association object, as per

this document is not extra sensitive. It often reflects information that can also be derived from the LSP Database, but association

provides a much easier grouping of related LSPs and messages. The disjointness association could provide an adversary with the

opportunity to eavesdrop on the relationship between the LSPs. Thus securing the PCEP session using Transport Layer Security (TLS)

[RFC8253], as per the recommendations and best current practices in [RFC7525], is RECOMMENDED.

=09 =09 =09


=C2=A0
Nits:

=C2=A0 =C2=A0 In Section 3 (Motivation): In my opinion, this= section might benefit from being split in two: a pure motivation section, = and an applicability section.
=C2=A0
O= K
=C2=A0 =C2=A0
=C2=A0 =C2=A0 In Section 4.1: it is stated that "= ;a PCE may be limited in the number of LSPs it can take into account when c= omputing disjointness" [...] "the PCE may provide no path, a shor= test path, or a constrained path based on relaxing disjointness, etc.=C2=A0= The disjoint status is informed to the PCC."
Here, it would be us= eful to forward reference to section 4.6.
=C2=A0=
OK
<= div dir=3D"ltr">
=C2=A0 =C2=A0 In section 4.6: the spec seems to suppose= that there exists an absolute order ranking different levels of disjointne= ss,
such that a PCE can simply take the decision to "reduce disjoin= tness" to the next best level.
I suspect that this is not alwa= ys easy to rank in complex cases, if at all possible.

=09 =09 =09

Added (as it deems fit).

=C2=A0
Ar= e some more flags foreseen (tbd in section 6.2 ?) for more fine-grained cha= racterization of "relaxed disjointness" in complex cases e.g. whe= n adding an LSP to an already-large disjoint association ?
I assume= the answer is "not really".
=09 =09 =09

Your assumption is right.

=C2=A0

Assuming the above, without becoming too ugly, specificati= on could be more explicit about ranking levels of disjointness which relaxi= ng decisions should be made, when flag T is unset.
=09 =09 =09

I think, adding "as it deems fit" is better and let implementations decide with protocol signalling the result.

=C2=A0
Else, the spec could add a clarifying sentence on the difficulty of order= ing absolutely many different levels of disjointness for many LSPs, in the = same association.
=09 =09

Do you still feel this to be necessary? I am not too sure.


Thanks!


_______________________________________________
Pce mailing list
Pce@ietf.org
https://www.ietf.org/mailman/listinfo/pce
--00000000000022f94a059166b6b1--