Mon Feb 6 02:16:37 2023
EVENTS
 FREE
SOFTWARE
INSTITUTE

POLITICS
JOBS
MEMBERS'
CORNER

MAILING
LIST

NYLXS Mailing Lists and Archives
NYLXS Members have a lot to say and share but we don't keep many secrets. Join the Hangout Mailing List and say your peice.

DATE 2017-02-01

LEARN

2023-02-06 | 2023-01-06 | 2022-12-06 | 2022-11-06 | 2022-10-06 | 2022-09-06 | 2022-08-06 | 2022-07-06 | 2022-06-06 | 2022-05-06 | 2022-04-06 | 2022-03-06 | 2022-02-06 | 2022-01-06 | 2021-12-06 | 2021-11-06 | 2021-10-06 | 2021-09-06 | 2021-08-06 | 2021-07-06 | 2021-06-06 | 2021-05-06 | 2021-04-06 | 2021-03-06 | 2021-02-06 | 2021-01-06 | 2020-12-06 | 2020-11-06 | 2020-10-06 | 2020-09-06 | 2020-08-06 | 2020-07-06 | 2020-06-06 | 2020-05-06 | 2020-04-06 | 2020-03-06 | 2020-02-06 | 2020-01-06 | 2019-12-06 | 2019-11-06 | 2019-10-06 | 2019-09-06 | 2019-08-06 | 2019-07-06 | 2019-06-06 | 2019-05-06 | 2019-04-06 | 2019-03-06 | 2019-02-06 | 2019-01-06 | 2018-12-06 | 2018-11-06 | 2018-10-06 | 2018-09-06 | 2018-08-06 | 2018-07-06 | 2018-06-06 | 2018-05-06 | 2018-04-06 | 2018-03-06 | 2018-02-06 | 2018-01-06 | 2017-12-06 | 2017-11-06 | 2017-10-06 | 2017-09-06 | 2017-08-06 | 2017-07-06 | 2017-06-06 | 2017-05-06 | 2017-04-06 | 2017-03-06 | 2017-02-06 | 2017-01-06 | 2016-12-06 | 2016-11-06 | 2016-10-06 | 2016-09-06 | 2016-08-06 | 2016-07-06 | 2016-06-06 | 2016-05-06 | 2016-04-06 | 2016-03-06 | 2016-02-06 | 2016-01-06 | 2015-12-06 | 2015-11-06 | 2015-10-06 | 2015-09-06 | 2015-08-06 | 2015-07-06 | 2015-06-06 | 2015-05-06 | 2015-04-06 | 2015-03-06 | 2015-02-06 | 2015-01-06 | 2014-12-06 | 2014-11-06 | 2014-10-06

Key: Value:

Key: Value:

MESSAGE
DATE 2017-02-24
FROM Ruben Safir
SUBJECT Re: [Learn] decision making tree for a euler walk
From learn-bounces-at-nylxs.com Fri Feb 24 11:22:36 2017
Return-Path:
X-Original-To: archive-at-mrbrklyn.com
Delivered-To: archive-at-mrbrklyn.com
Received: from www.mrbrklyn.com (www.mrbrklyn.com [96.57.23.82])
by mrbrklyn.com (Postfix) with ESMTP id DFF04161315;
Fri, 24 Feb 2017 11:22:35 -0500 (EST)
X-Original-To: learn-at-nylxs.com
Delivered-To: learn-at-nylxs.com
Received: from [10.0.0.62] (flatbush.mrbrklyn.com [10.0.0.62])
by mrbrklyn.com (Postfix) with ESMTP id 9BA68161315;
Fri, 24 Feb 2017 11:20:54 -0500 (EST)
To: Christopher League ,
"learn-at-nylxs.com"
References: <319ecec7-f60a-a905-c6a4-9749c89b9404-at-mrbrklyn.com>
<87bmtrzost.fsf-at-contrapunctus.net>
From: Ruben Safir
Message-ID: <4838c68f-2f58-7c6f-3b01-2e5b74cad1e2-at-mrbrklyn.com>
Date: Fri, 24 Feb 2017 11:20:54 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
Thunderbird/45.6.0
MIME-Version: 1.0
In-Reply-To: <87bmtrzost.fsf-at-contrapunctus.net>
Content-Type: multipart/mixed; boundary="------------5AA4C3CE234FA216655AEA23"
X-Mailman-Approved-At: Fri, 24 Feb 2017 11:22:32 -0500
Subject: Re: [Learn] decision making tree for a euler walk
X-BeenThere: learn-at-nylxs.com
X-Mailman-Version: 2.1.17
Precedence: list
List-Id:
List-Unsubscribe: ,

List-Archive:
List-Post:
List-Help:
List-Subscribe: ,

Errors-To: learn-bounces-at-nylxs.com
Sender: "Learn"

This is a multi-part message in MIME format.
--------------5AA4C3CE234FA216655AEA23
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On 02/24/2017 08:44 AM, Christopher League wrote:
>
> Send a pic of the graph you were using? Might have a few minutes to try
> something today.
>
> CL
>

I sent it but here it is again. It is a minor tweak at this point, but
I'm just beat.


> Ruben Safir writes:
>
>> I'm just not quiet solving this. I think it walked the tree correctly
>> but my tunnel count is a wee bit off.
>>
>>
>> --
>> So many immigrant groups have swept through our town
>> that Brooklyn, like Atlantis, reaches mythological
>> proportions in the mind of the world - RI Safir 1998
>> http://www.mrbrklyn.com
>>
>> DRM is THEFT - We are the STAKEHOLDERS - RI Safir 2002
>> http://www.nylxs.com - Leadership Development in Free Software
>> http://www2.mrbrklyn.com/resources - Unpublished Archive
>> http://www.coinhangout.com - coins!
>> http://www.brooklyn-living.com
>>
>> Being so tracked is for FARM ANIMALS and and extermination camps,
>> but incompatible with living as a free human being. -RI Safir 2013
>> Island A 5
>> Island B 4
>> Island C 2
>> Island D 1
>> Island E 4
>> Island F 2
>> Island G 2
>> Found odd number 1
>> Found odd number 2
>> Is it walkable ==> 1
>> TOP Node =>Island A
>> Starting Node==>Island A
>> Pushing =>Tunnel A
>> Pushing =>Tunnel F
>> Pushing =>Tunnel D
>> Pushing =>Tunnel G
>> Pushing =>Tunnel C
>> Traveling Path==>Tunnel C
>> Current Tunnel Count is==>1
>> Starting Node==>Island E
>> Pushing =>Tunnel B
>> Pushing =>Tunnel H
>> Pushing =>Tunnel I
>> Traveling Path==>Tunnel I
>> Current Tunnel Count is==>2
>> Starting Node==>Island C
>> Pushing =>Tunnel J
>> Traveling Path==>Tunnel J
>> Current Tunnel Count is==>3
>> Starting Node==>Island D
>> Size of Attached is =>0 Tunnel Count is =>3
>> Out of while loop : Size of Attached is =>0 For Node Island D
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island C
>> RETURNED **
>> Traveling Path==>Tunnel H
>> Current Tunnel Count is==>2
>> Starting Node==>Island G
>> Pushing =>Tunnel G
>> Traveling Path==>Tunnel G
>> Current Tunnel Count is==>3
>> Starting Node==>Island A
>> Pushing =>Tunnel A
>> Pushing =>Tunnel F
>> Pushing =>Tunnel D
>> Traveling Path==>Tunnel D
>> Current Tunnel Count is==>4
>> Starting Node==>Island F
>> Pushing =>Tunnel E
>> Traveling Path==>Tunnel E
>> Current Tunnel Count is==>5
>> Starting Node==>Island B
>> Pushing =>Tunnel A
>> Pushing =>Tunnel F
>> Pushing =>Tunnel B
>> Traveling Path==>Tunnel B
>> Current Tunnel Count is==>6
>> Starting Node==>Island E
>> Pushing =>Tunnel I
>> Traveling Path==>Tunnel I
>> Current Tunnel Count is==>7
>> Starting Node==>Island C
>> Pushing =>Tunnel J
>> Traveling Path==>Tunnel J
>> Current Tunnel Count is==>8
>> Starting Node==>Island D
>> Size of Attached is =>0 Tunnel Count is =>8
>> Out of while loop : Size of Attached is =>0 For Node Island D
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island C
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island E
>> RETURNED **
>> Traveling Path==>Tunnel F
>> Current Tunnel Count is==>6
>> Starting Node==>Island A
>> Pushing =>Tunnel A
>> Traveling Path==>Tunnel A
>> Current Tunnel Count is==>7
>> Starting Node==>Island B
>> Pushing =>Tunnel B
>> Traveling Path==>Tunnel B
>> Current Tunnel Count is==>8
>> Starting Node==>Island E
>> Pushing =>Tunnel I
>> Traveling Path==>Tunnel I
>> Current Tunnel Count is==>9
>> Starting Node==>Island C
>> Pushing =>Tunnel J
>> Traveling Path==>Tunnel J
>> Current Tunnel Count is==>10
>> Starting Node==>Island D
>> Size of Attached is =>0 Tunnel Count is =>10
>> ***Returned TRUE***
>> Size of Attached is =>0
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island C
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island E
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> RETURNED **
>> Traveling Path==>Tunnel A
>> Current Tunnel Count is==>7
>> Starting Node==>Island A
>> Pushing =>Tunnel F
>> Traveling Path==>Tunnel F
>> Current Tunnel Count is==>8
>> Starting Node==>Island B
>> Pushing =>Tunnel B
>> Traveling Path==>Tunnel B
>> Current Tunnel Count is==>9
>> Starting Node==>Island E
>> Pushing =>Tunnel I
>> Traveling Path==>Tunnel I
>> Current Tunnel Count is==>10
>> Starting Node==>Island C
>> Size of Attached is =>0 Tunnel Count is =>10
>> ***Returned TRUE***
>> Size of Attached is =>0
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island E
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island F
>> RETURNED **
>> Traveling Path==>Tunnel F
>> Current Tunnel Count is==>6
>> Starting Node==>Island B
>> Pushing =>Tunnel A
>> Pushing =>Tunnel E
>> Pushing =>Tunnel B
>> Traveling Path==>Tunnel B
>> Current Tunnel Count is==>7
>> Starting Node==>Island E
>> Size of Attached is =>0 Tunnel Count is =>7
>> Out of while loop : Size of Attached is =>0 For Node Island E
>> RETURNED **
>> Traveling Path==>Tunnel E
>> Current Tunnel Count is==>7
>> Starting Node==>Island F
>> Pushing =>Tunnel D
>> Traveling Path==>Tunnel D
>> Current Tunnel Count is==>8
>> Starting Node==>Island A
>> Pushing =>Tunnel A
>> Traveling Path==>Tunnel A
>> Current Tunnel Count is==>9
>> Starting Node==>Island B
>> Pushing =>Tunnel B
>> Traveling Path==>Tunnel B
>> Current Tunnel Count is==>10
>> Starting Node==>Island E
>> Size of Attached is =>0 Tunnel Count is =>10
>> ***Returned TRUE***
>> Size of Attached is =>0
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island F
>> RETURNED **
>> Traveling Path==>Tunnel A
>> Current Tunnel Count is==>8
>> Starting Node==>Island A
>> Pushing =>Tunnel D
>> Traveling Path==>Tunnel D
>> Current Tunnel Count is==>9
>> Starting Node==>Island F
>> Pushing =>Tunnel E
>> Traveling Path==>Tunnel E
>> Current Tunnel Count is==>10
>> Starting Node==>Island B
>> Size of Attached is =>0 Tunnel Count is =>10
>> ***Returned TRUE***
>> Size of Attached is =>0
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island F
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Traveling Path==>Tunnel A
>> Current Tunnel Count is==>8
>> Starting Node==>Island B
>> Pushing =>Tunnel F
>> Traveling Path==>Tunnel F
>> Current Tunnel Count is==>9
>> Starting Node==>Island A
>> Pushing =>Tunnel D
>> Traveling Path==>Tunnel D
>> Current Tunnel Count is==>10
>> Starting Node==>Island F
>> Size of Attached is =>0 Tunnel Count is =>10
>> ***Returned TRUE***
>> Size of Attached is =>0
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island G
>> RETURNED **
>> Traveling Path==>Tunnel B
>> Current Tunnel Count is==>7
>> Starting Node==>Island B
>> Pushing =>Tunnel A
>> Pushing =>Tunnel F
>> Traveling Path==>Tunnel F
>> Current Tunnel Count is==>8
>> Starting Node==>Island A
>> Pushing =>Tunnel A
>> Pushing =>Tunnel G
>> Traveling Path==>Tunnel G
>> Current Tunnel Count is==>9
>> Starting Node==>Island G
>> Pushing =>Tunnel H
>> Traveling Path==>Tunnel H
>> Current Tunnel Count is==>10
>> Starting Node==>Island E
>> Size of Attached is =>0 Tunnel Count is =>10
>> ***Returned TRUE***
>> Size of Attached is =>0
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island G
>> RETURNED **
>> Traveling Path==>Tunnel A
>> Current Tunnel Count is==>10
>> Starting Node==>Island B
>> Size of Attached is =>0 Tunnel Count is =>10
>> ***Returned TRUE***
>> Size of Attached is =>0
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> RETURNED **
>> Traveling Path==>Tunnel A
>> Current Tunnel Count is==>10
>> Starting Node==>Island A
>> Pushing =>Tunnel F
>> Pushing =>Tunnel G
>> Traveling Path==>Tunnel G
>> Current Tunnel Count is==>11
>> Starting Node==>Island G
>> Size of Attached is =>0 Tunnel Count is =>11
>> Out of while loop : Size of Attached is =>0 For Node Island G
>> RETURNED **
>> Traveling Path==>Tunnel F
>> Current Tunnel Count is==>11
>> Starting Node==>Island B
>> Size of Attached is =>0 Tunnel Count is =>11
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island E
>> RETURNED **
>> Traveling Path==>Tunnel G
>> Current Tunnel Count is==>8
>> Starting Node==>Island G
>> Size of Attached is =>0 Tunnel Count is =>8
>> Out of while loop : Size of Attached is =>0 For Node Island G
>> RETURNED **
>> Traveling Path==>Tunnel D
>> Current Tunnel Count is==>8
>> Starting Node==>Island F
>> Size of Attached is =>0 Tunnel Count is =>8
>> Out of while loop : Size of Attached is =>0 For Node Island F
>> RETURNED **
>> Traveling Path==>Tunnel F
>> Current Tunnel Count is==>8
>> Starting Node==>Island B
>> Pushing =>Tunnel A
>> Pushing =>Tunnel B
>> Traveling Path==>Tunnel B
>> Current Tunnel Count is==>9
>> Starting Node==>Island E
>> Pushing =>Tunnel C
>> Traveling Path==>Tunnel C
>> Current Tunnel Count is==>10
>> Starting Node==>Island A
>> Pushing =>Tunnel A
>> Pushing =>Tunnel D
>> Pushing =>Tunnel G
>> Traveling Path==>Tunnel G
>> Current Tunnel Count is==>11
>> Starting Node==>Island G
>> Size of Attached is =>0 Tunnel Count is =>11
>> Out of while loop : Size of Attached is =>0 For Node Island G
>> RETURNED **
>> Traveling Path==>Tunnel D
>> Current Tunnel Count is==>11
>> Starting Node==>Island F
>> Size of Attached is =>0 Tunnel Count is =>11
>> Out of while loop : Size of Attached is =>0 For Node Island F
>> RETURNED **
>> Traveling Path==>Tunnel A
>> Current Tunnel Count is==>11
>> Starting Node==>Island B
>> Size of Attached is =>0 Tunnel Count is =>11
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island E
>> RETURNED **
>> Traveling Path==>Tunnel A
>> Current Tunnel Count is==>9
>> Starting Node==>Island A
>> Pushing =>Tunnel D
>> Pushing =>Tunnel G
>> Pushing =>Tunnel C
>> Traveling Path==>Tunnel C
>> Current Tunnel Count is==>10
>> Starting Node==>Island E
>> Pushing =>Tunnel B
>> Traveling Path==>Tunnel B
>> Current Tunnel Count is==>11
>> Starting Node==>Island B
>> Size of Attached is =>0 Tunnel Count is =>11
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island E
>> RETURNED **
>> Traveling Path==>Tunnel G
>> Current Tunnel Count is==>10
>> Starting Node==>Island G
>> Size of Attached is =>0 Tunnel Count is =>10
>> ***Returned TRUE***
>> Size of Attached is =>1
>> RETURNED **
>> Traveling Path==>Tunnel D
>> Current Tunnel Count is==>11
>> Starting Node==>Island F
>> Size of Attached is =>0 Tunnel Count is =>11
>> Out of while loop : Size of Attached is =>0 For Node Island F
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Traveling Path==>Tunnel A
>> Current Tunnel Count is==>9
>> Starting Node==>Island B
>> Pushing =>Tunnel F
>> Pushing =>Tunnel B
>> Traveling Path==>Tunnel B
>> Current Tunnel Count is==>10
>> Starting Node==>Island E
>> Pushing =>Tunnel C
>> Traveling Path==>Tunnel C
>> Current Tunnel Count is==>11
>> Starting Node==>Island A
>> Pushing =>Tunnel F
>> Pushing =>Tunnel D
>> Traveling Path==>Tunnel D
>> Current Tunnel Count is==>12
>> Starting Node==>Island F
>> Size of Attached is =>0 Tunnel Count is =>12
>> Out of while loop : Size of Attached is =>0 For Node Island F
>> RETURNED **
>> Traveling Path==>Tunnel F
>> Current Tunnel Count is==>12
>> Starting Node==>Island B
>> Size of Attached is =>0 Tunnel Count is =>12
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island E
>> RETURNED **
>> Traveling Path==>Tunnel F
>> Current Tunnel Count is==>10
>> Starting Node==>Island A
>> Pushing =>Tunnel D
>> Pushing =>Tunnel C
>> Traveling Path==>Tunnel C
>> Current Tunnel Count is==>11
>> Starting Node==>Island E
>> Pushing =>Tunnel B
>> Traveling Path==>Tunnel B
>> Current Tunnel Count is==>12
>> Starting Node==>Island B
>> Size of Attached is =>0 Tunnel Count is =>12
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island E
>> RETURNED **
>> Traveling Path==>Tunnel D
>> Current Tunnel Count is==>11
>> Starting Node==>Island F
>> Size of Attached is =>0 Tunnel Count is =>11
>> Out of while loop : Size of Attached is =>0 For Node Island F
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island B
>> RETURNED **
>> Out of while loop : Size of Attached is =>0 For Node Island A
>> /*
>> * =====================================================================================
>> *
>> * Filename: euler.cpp
>> *
>> * Description: Demonstration Program for Eulers Konisgburg problem
>> * using a path decision tree
>> *
>> * Version: 1.0
>> * Created: 02/12/2017 10:21:23 AM
>> * Revision: none
>> * Compiler: gcc
>> *
>> * Author: Ruben Safir (mn), ruben-at-mrbrklyn.com
>> * Company: NYLXS Inc
>> *
>> * =====================================================================================
>> */
>>
>> #include "nodes.h"
>> #include
>> #include
>> /*Create all the nodes */
>> /* data can be anything useful to describe a node. In this case
>> * it will be an int to represent degree (or number of connections */
>>
>> tree::Node A {"Island A", 0};
>> tree::Node B {"Island B", 0};
>> tree::Node C {"Island C", 0};
>> tree::Node D {"Island D", 0};
>> tree::Node E {"Island E", 0};
>> tree::Node F {"Island F", 0};
>> tree::Node G {"Island G", 0};
>>
>> tree::Node * city[] = {&A, &B, &C, &D, &E, &F, &G};
>> /* For Edges, we use an open/close integer. zero is open. Once it is crossed
>> * we can close it setting it to one */
>>
>> tree::Edge a {"Tunnel A", 0};
>> tree::Edge b {"Tunnel B", 0};
>> tree::Edge c {"Tunnel C", 0};
>> tree::Edge d {"Tunnel D", 0};
>> tree::Edge e {"Tunnel E", 0};
>> tree::Edge f {"Tunnel F", 0};
>> tree::Edge g {"Tunnel G", 0};
>> tree::Edge h {"Tunnel H", 0};
>> tree::Edge i {"Tunnel I", 0};
>> tree::Edge j {"Tunnel J", 0};
>>
>> /* Creating all the predicates */
>> tree::Predicate crossing_1 {A,B,a};
>> tree::Predicate crossing_5 {B,E,b};
>> tree::Predicate crossing_10 {A,E,c};
>> tree::Predicate crossing_4 {A,F,d};
>> tree::Predicate crossing_3 {B,F,e};
>> tree::Predicate crossing_2 {A,B,f};
>> tree::Predicate crossing_6 {A,G,g};
>> tree::Predicate crossing_7 {E,G,h};
>> tree::Predicate crossing_8 {E,C,i};
>> tree::Predicate crossing_9 {C,D,j};
>> tree::Predicate * crossings[] = {&crossing_1 ,&crossing_2 ,&crossing_3 ,&crossing_4 ,&crossing_5 ,&crossing_6 ,&crossing_7 ,&crossing_8 ,&crossing_9 ,&crossing_10};
>>
>> int tunnel_count = 0;
>>
>> int is_euler(tree::Node ** city )
>> {
>> int odd = 0;
>> int size = 7;
>> for(int i=0;i>> // std::cout << "__LINE__ " << __LINE__ << std::endl;
>> if( (city[i]->data % 2) == 1 )
>> {
>> odd++;
>> std::cout << "Found odd number " << odd << std::endl;
>> }
>> }
>> if(odd == 0 || odd == 2){
>> return true;
>> }
>> return false;
>> }
>>
>> bool testnode(tree::Node* in, int isodd)
>> {
>> //std::vector *> attached;
>> std::stack *> attached;
>> if(isodd == 1)
>> {
>> //start on the first crossing and find matching nodes from our selected odd node_path
>> std::cout << "Starting Node==>" << in->get_name() << std::endl;
>>
>> for(int index = 0; index< 10; index++)
>> {
>> //find all the attached nodes and crossings
>> if( (crossings[index]->search_for_matching_node(in) ) && (crossings[index]->c.data == 0) )
>> {
>> std::cout << "\tPushing =>" << crossings[index]->c.get_name() << std::endl;
>> attached.push(crossings[index]);
>> }
>> }
>> //have we reached an end?
>> if(attached.size() == 0)
>> {
>> std::cout << "\tSize of Attached is =>" << attached.size() << " ";
>> std::cout << "\tTunnel Count is =>" << tunnel_count << std::endl;
>> if(tunnel_count == 10)
>> {
>> return true;
>> }
>>
>> }
>> //Search the attached crossings for a working path
>> tree::Predicate * tmp;
>> while(! attached.empty() )
>> {
>> //check all the paths
>> tmp = attached.top();
>> std::cout << "\t\tTraveling Path==>" << tmp->c.get_name() << std::endl;
>> attached.pop();
>> tunnel_count++;
>> std::cout << "\t\tCurrent Tunnel Count is==>" << tunnel_count << std::endl;
>> tmp->c.data = 1;
>> //recursion
>> if(testnode(tmp->next(in), isodd) )
>> {
>> std::cout << "\t\t\t\t\t***Returned TRUE***" << std::endl;
>> std::cout << "\t\t\t\t\tSize of Attached is =>" << attached.size() << std::endl;
>> }else{
>> tmp->c.data = 0;
>> tunnel_count--;
>> }
>> std::cout << "RETURNED **" << std::endl;
>> }
>> std::cout << "\tOut of while loop : Size of Attached is =>" << attached.size() << " ";
>> std::cout << "For Node " << in->get_name() << std::endl;
>> // std::cout << __LINE__ << std::endl;
>>
>> }
>>
>> return false;
>> }
>>
>> int main(int argc, char * argv[])
>> {
>> std::cout << A.get_name() << " " << A.data << std::endl;
>> std::cout << B.get_name() << " " << B.data << std::endl;
>> std::cout << C.get_name() << " " << C.data << std::endl;
>> std::cout << D.get_name() << " " << D.data << std::endl;
>> std::cout << E.get_name() << " " << E.data << std::endl;
>> std::cout << F.get_name() << " " << F.data << std::endl;
>> std::cout << G.get_name() << " " << G.data << std::endl;
>> std::cout << "Is it walkable ==> " << is_euler(city) << std::endl;
>>
>> //Find an odd degree nodes
>> int cntr = 0;
>> int isodd =0;
>> // tree::Node * cur;
>> tree::Node * start;
>> std::stack < tree::Node * > node_path;
>> //store the attached crossings for future reference
>> while( ( (city[cntr]->data % 2) == 0 ) && cntr < 7 )
>> {
>> cntr++;
>> }
>> if(cntr == 7 )
>> {
>> start = city[0];
>> }else{
>> start = city[cntr];
>> isodd = 1;
>> }
>>
>> node_path.push(start);
>> std::cout << "TOP Node =>" << node_path.top()->get_name() << std::endl;
>> testnode(start, isodd);
>> // while(node_path.size() > 0){
>> // cur = node_path.top();
>> // node_path.pop();
>>
>> // start = cur;
>> // int flag = 0; //is it a valid node?
>> // for(unsigned int index = 0; index < attached.size(); index++)
>> // {
>> // std::cout << "\t\tREADING =>" << attached[index]->c.get_name() << std::endl;
>> // if(attached[index]->c.data == 0){
>> // cur = attached[index]->next(start);
>> // std::cout << "\t\tCurrent Node=>" << cur->get_name() << std::endl;
>> // node_path.push(cur);
>> // std::cout << "\t\tPUSHING TOP Node =>" << node_path.top()->get_name() << std::endl;
>> // attached[index]->c.data = 1;
>> // flag = 1; //yes it is a valid node_path
>> // }
>> // }
>> // if(flag == 0)
>> // {
>> // std::cout << "***BACKING OUT***" << std::endl;
>> // node_path.pop(); //back out of the path
>> // std::cout << "TOP Node =>" << node_path.top()->get_name() << std::endl;
>> // attached[attached.size() - 1]->c.data = 2;//2 is dirty
>> // attached.pop_back();
>> // attached.pop_back();
>> // }
>> // }
>>
>>
>> return EXIT_SUCCESS;
>> }
>> /*
>> * =====================================================================================
>> *
>> * Filename: nodes.h
>> *
>> * Description: Basic Node for Euler Graph
>> *
>> * Version: 1.0
>> * Created: 02/11/2017 06:14:42 PM
>> * Revision: none
>> * Compiler: gcc
>> *
>> * Author: Ruben Safir (mn), ruben-at-mrbrklyn.com
>> * Company: NYLXS Inc - LIU Thesis
>> *
>> * =====================================================================================
>> */
>>
>> #ifndef NODES_H
>> #define NODES_H
>> #include
>> #include
>> #include
>> namespace tree {
>>
>> /*
>> * =====================================================================================
>> * Class: Node
>> * Description: This class describes a single node and its data
>> * =====================================================================================
>> */
>> template < class T >
>> class Node
>> {
>> public:
>>
>> /* ==================== LIFECYCLE ======================================= */
>> Node (std::string n, T d): data{d}, name{n} {
>>
>> }; /* constructor */
>>
>> /* ==================== ACCESSORS ======================================= */
>> std::string get_name()const{
>> return name;
>> }
>>
>> bool operator==( const Node first) const{
>> if(first.get_name() == name)
>> {
>> return true;
>> }
>> return false;
>> };
>> bool operator==(Node *first) const {
>> if(first->get_name() == name)
>> {
>> return true;
>> }
>> return false;
>> };
>>
>> /* ==================== MUTATORS ======================================= */
>> /* ==================== OPERATORS ======================================= */
>> /* ==================== DATA MEMBERS ======================================= */
>> T data;
>> protected:
>>
>> private:
>> std::string name;
>>
>> }; /* ---------- end of template class Node ---------- */
>>
>> /*
>> * =====================================================================================
>> * Class: Edges
>> * Description: Bridges - usually I wouldn't make edges but we are being consistant
>> * with the Luger description of the problem.
>> * =====================================================================================
>> */
>> template < class T >
>> class Edge
>> {
>> public:
>>
>> /* ==================== LIFECYCLE ======================================= */
>> Edge (std::string n, T d): data{d}, name{n}{}; /* constructor */
>>
>> /* ==================== ACCESSORS ======================================= */
>> std::string get_name(){
>> return name;
>> }
>>
>> /* ==================== MUTATORS ======================================= */
>>
>> /* ==================== OPERATORS ======================================= */
>>
>> /* ==================== DATA MEMBERS ======================================= */
>> T data;
>> protected:
>>
>> private:
>> std::string name;
>>
>> }; /* ---------- end of template class Edges ---------- */
>> template< class node_type, class bridge_type>
>> class Predicate{
>> public:
>> Predicate(Node& in_a, Node& in_b, Edge& in_c)
>> : a{in_a}, b{in_b}, c{in_c}{
>> a.data++;
>> b.data++;
>> };
>> Node& a;
>> Node& b;
>> Edge& c;
>>
>> //== is true if we have a single matching node
>> bool operator==(const Predicate *first) const
>> {
>> if( (first->a == a) || (first->a == b)|| (first->b == a)
>> ||(first->b == b) )
>> {
>> return true;
>> }
>> return false;
>> };
>> bool operator==(const Node * first) const
>> {
>> if( ( *first == a) || (*first == b)|| (*first == a)
>> ||(*first == b) )
>> {
>> return true;
>> }
>> return false;
>> };
>>
>> bool search_for_matching_node(const Node * first) const
>> {
>> if( (*first == a)|| (*first==b) || (*first == a) || (*first == b ) )
>> {
>> return true;
>> }
>> return false;
>> };
>>
>> Node * next(const Node * first)
>> {
>> if(*first == a){
>> return &b;
>> }
>> return &a;
>> }
>> };
>>
>> }//close of namespace tree
>>
>> #endif
>> #include "nodes.h"
>> #include
>>
>> XX:=gcc
>> CXXFLAGS:=-Wall -ggdb -pg
>> LDFLAGS:= -pg -pthread
>>
>> konigsburg: euler.o nodes.o
>> $(CXX) $(CXXFLAGS) $(LDFLAGS) -o konisgburg.exe euler.o nodes.o
>>
>> euler: euler.cpp
>> $(CXX) $(CXXFLAGS) $(LDFLAGS) -c euler.cpp
>>
>> nodes: nodes.cpp nodes.h
>> $(CXX) $(CXXFLAGS) $(LDFLAGS) -c nodes.cpp
>>
>> include make.deps
>> make.deps: *.cpp; ${CXX} ${CXXFLAGS} -M *.cpp >$-at-
>


--
So many immigrant groups have swept through our town
that Brooklyn, like Atlantis, reaches mythological
proportions in the mind of the world - RI Safir 1998
http://www.mrbrklyn.com

DRM is THEFT - We are the STAKEHOLDERS - RI Safir 2002
http://www.nylxs.com - Leadership Development in Free Software
http://www2.mrbrklyn.com/resources - Unpublished Archive
http://www.coinhangout.com - coins!
http://www.brooklyn-living.com

Being so tracked is for FARM ANIMALS and and extermination camps,
but incompatible with living as a free human being. -RI Safir 2013

--------------5AA4C3CE234FA216655AEA23
Content-Type: application/x-dia-diagram;
name="rubensberg.dia"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="rubensberg.dia"

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRpYTpkaWFncmFtIHht
bG5zOmRpYT0iaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+YWxsYS9kaWEvIj4KICA8ZGlh
OmRpYWdyYW1kYXRhPgogICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iYmFja2dyb3VuZCI+CiAg
ICAgIDxkaWE6Y29sb3IgdmFsPSIjZmZmZmZmIi8+CiAgICA8L2RpYTphdHRyaWJ1dGU+CiAg
ICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJwYWdlYnJlYWsiPgogICAgICA8ZGlhOmNvbG9yIHZh
bD0iIzAwMDA5OSIvPgogICAgPC9kaWE6YXR0cmlidXRlPgogICAgPGRpYTphdHRyaWJ1dGUg
bmFtZT0icGFwZXIiPgogICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBlPSJwYXBlciI+CiAgICAg
ICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibmFtZSI+CiAgICAgICAgICA8ZGlhOnN0cmluZz4j
TGV0dGVyIzwvZGlhOnN0cmluZz4KICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgICAg
PGRpYTphdHRyaWJ1dGUgbmFtZT0idG1hcmdpbiI+CiAgICAgICAgICA8ZGlhOnJlYWwgdmFs
PSIyLjUzOTk5OTk2MTg1MzAyNzMiLz4KICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAg
ICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iYm1hcmdpbiI+CiAgICAgICAgICA8ZGlhOnJlYWwg
dmFsPSIyLjUzOTk5OTk2MTg1MzAyNzMiLz4KICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAg
ICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibG1hcmdpbiI+CiAgICAgICAgICA8ZGlhOnJl
YWwgdmFsPSIyLjUzOTk5OTk2MTg1MzAyNzMiLz4KICAgICAgICA8L2RpYTphdHRyaWJ1dGU+
CiAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0icm1hcmdpbiI+CiAgICAgICAgICA8ZGlh
OnJlYWwgdmFsPSIyLjUzOTk5OTk2MTg1MzAyNzMiLz4KICAgICAgICA8L2RpYTphdHRyaWJ1
dGU+CiAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iaXNfcG9ydHJhaXQiPgogICAgICAg
ICAgPGRpYTpib29sZWFuIHZhbD0idHJ1ZSIvPgogICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4K
ICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJzY2FsaW5nIj4KICAgICAgICAgIDxkaWE6
cmVhbCB2YWw9IjEiLz4KICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgICAgPGRpYTph
dHRyaWJ1dGUgbmFtZT0iZml0dG8iPgogICAgICAgICAgPGRpYTpib29sZWFuIHZhbD0iZmFs
c2UiLz4KICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDwvZGlhOmNvbXBvc2l0ZT4K
ICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImdyaWQiPgog
ICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBlPSJncmlkIj4KICAgICAgICA8ZGlhOmF0dHJpYnV0
ZSBuYW1lPSJ3aWR0aF94Ij4KICAgICAgICAgIDxkaWE6cmVhbCB2YWw9IjEiLz4KICAgICAg
ICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0id2lkdGhf
eSI+CiAgICAgICAgICA8ZGlhOnJlYWwgdmFsPSIxIi8+CiAgICAgICAgPC9kaWE6YXR0cmli
dXRlPgogICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InZpc2libGVfeCI+CiAgICAgICAg
ICA8ZGlhOmludCB2YWw9IjEiLz4KICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgICAg
PGRpYTphdHRyaWJ1dGUgbmFtZT0idmlzaWJsZV95Ij4KICAgICAgICAgIDxkaWE6aW50IHZh
bD0iMSIvPgogICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgICA8ZGlhOmNvbXBvc2l0
ZSB0eXBlPSJjb2xvciIvPgogICAgICA8L2RpYTpjb21wb3NpdGU+CiAgICA8L2RpYTphdHRy
aWJ1dGU+CiAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJjb2xvciI+CiAgICAgIDxkaWE6Y29s
b3IgdmFsPSIjZDhlNWU1Ii8+CiAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICA8ZGlhOmF0dHJp
YnV0ZSBuYW1lPSJndWlkZXMiPgogICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBlPSJndWlkZXMi
PgogICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImhndWlkZXMiLz4KICAgICAgICA8ZGlh
OmF0dHJpYnV0ZSBuYW1lPSJ2Z3VpZGVzIi8+CiAgICAgIDwvZGlhOmNvbXBvc2l0ZT4KICAg
IDwvZGlhOmF0dHJpYnV0ZT4KICA8L2RpYTpkaWFncmFtZGF0YT4KICA8ZGlhOmxheWVyIG5h
bWU9IkJhY2tncm91bmQiIHZpc2libGU9InRydWUiIGFjdGl2ZT0idHJ1ZSI+CiAgICA8ZGlh
Om9iamVjdCB0eXBlPSJVTUwgLSBOb2RlIiB2ZXJzaW9uPSIwIiBpZD0iTzAiPgogICAgICA8
ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfcG9zIj4KICAgICAgICA8ZGlhOnBvaW50IHZhbD0i
Niw0Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFt
ZT0ib2JqX2JiIj4KICAgICAgICA8ZGlhOnJlY3RhbmdsZSB2YWw9IjUuOTUsMy40NTs4LjY1
LDUuODUiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBu
YW1lPSJtZXRhIj4KICAgICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBlPSJkaWN0Ii8+CiAgICAg
IDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iZWxlbV9jb3Ju
ZXIiPgogICAgICAgIDxkaWE6cG9pbnQgdmFsPSI2LDQiLz4KICAgICAgPC9kaWE6YXR0cmli
dXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJlbGVtX3dpZHRoIj4KICAgICAgICA8
ZGlhOnJlYWwgdmFsPSIyLjA5OTk5OTk5OTk5OTk5OTYiLz4KICAgICAgPC9kaWE6YXR0cmli
dXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJlbGVtX2hlaWdodCI+CiAgICAgICAg
PGRpYTpyZWFsIHZhbD0iMS44Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRp
YTphdHRyaWJ1dGUgbmFtZT0ibGluZV9jb2xvdXIiPgogICAgICAgIDxkaWE6Y29sb3IgdmFs
PSIjMDAwMDAwIi8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1
dGUgbmFtZT0iZmlsbF9jb2xvdXIiPgogICAgICAgIDxkaWE6Y29sb3IgdmFsPSIjZmZmZmZm
Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0i
bmFtZSI+CiAgICAgICAgPGRpYTpjb21wb3NpdGUgdHlwZT0idGV4dCI+CiAgICAgICAgICA8
ZGlhOmF0dHJpYnV0ZSBuYW1lPSJzdHJpbmciPgogICAgICAgICAgICA8ZGlhOnN0cmluZz4j
QSM8L2RpYTpzdHJpbmc+CiAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgICAgICA8
ZGlhOmF0dHJpYnV0ZSBuYW1lPSJmb250Ij4KICAgICAgICAgICAgPGRpYTpmb250IGZhbWls
eT0ic2FucyIgc3R5bGU9IjAiIG5hbWU9IkhlbHZldGljYSIvPgogICAgICAgICAgPC9kaWE6
YXR0cmlidXRlPgogICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iaGVpZ2h0Ij4KICAg
ICAgICAgICAgPGRpYTpyZWFsIHZhbD0iMC44MDAwMDAwMDAwMDAwMDAwNCIvPgogICAgICAg
ICAgPC9kaWE6YXR0cmlidXRlPgogICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0icG9z
Ij4KICAgICAgICAgICAgPGRpYTpwb2ludCB2YWw9IjYuNSw1LjA5NSIvPgogICAgICAgICAg
PC9kaWE6YXR0cmlidXRlPgogICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iY29sb3Ii
PgogICAgICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgogICAgICAgICAgPC9k
aWE6YXR0cmlidXRlPgogICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iYWxpZ25tZW50
Ij4KICAgICAgICAgICAgPGRpYTplbnVtIHZhbD0iMCIvPgogICAgICAgICAgPC9kaWE6YXR0
cmlidXRlPgogICAgICAgIDwvZGlhOmNvbXBvc2l0ZT4KICAgICAgPC9kaWE6YXR0cmlidXRl
PgogICAgPC9kaWE6b2JqZWN0PgogICAgPGRpYTpvYmplY3QgdHlwZT0iVU1MIC0gTm9kZSIg
dmVyc2lvbj0iMCIgaWQ9Ik8xIj4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX3Bv
cyI+CiAgICAgICAgPGRpYTpwb2ludCB2YWw9IjE3LDQiLz4KICAgICAgPC9kaWE6YXR0cmli
dXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgogICAgICAgIDxkaWE6
cmVjdGFuZ2xlIHZhbD0iMTYuOTUsMy40NTsxOC45OSw1Ljg1Ii8+CiAgICAgIDwvZGlhOmF0
dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibWV0YSI+CiAgICAgICAgPGRp
YTpjb21wb3NpdGUgdHlwZT0iZGljdCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAg
IDxkaWE6YXR0cmlidXRlIG5hbWU9ImVsZW1fY29ybmVyIj4KICAgICAgICA8ZGlhOnBvaW50
IHZhbD0iMTcsNCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmli
dXRlIG5hbWU9ImVsZW1fd2lkdGgiPgogICAgICAgIDxkaWE6cmVhbCB2YWw9IjEuNDM5OTk5
OTk5OTk5OTk5OSIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmli
dXRlIG5hbWU9ImVsZW1faGVpZ2h0Ij4KICAgICAgICA8ZGlhOnJlYWwgdmFsPSIxLjgiLz4K
ICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJsaW5l
X2NvbG91ciI+CiAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KICAgICAgPC9k
aWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJmaWxsX2NvbG91ciI+
CiAgICAgICAgPGRpYTpjb2xvciB2YWw9IiNmZmZmZmYiLz4KICAgICAgPC9kaWE6YXR0cmli
dXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJuYW1lIj4KICAgICAgICA8ZGlhOmNv
bXBvc2l0ZSB0eXBlPSJ0ZXh0Ij4KICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InN0
cmluZyI+CiAgICAgICAgICAgIDxkaWE6c3RyaW5nPiNCIzwvZGlhOnN0cmluZz4KICAgICAg
ICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImZv
bnQiPgogICAgICAgICAgICA8ZGlhOmZvbnQgZmFtaWx5PSJzYW5zIiBzdHlsZT0iMCIgbmFt
ZT0iSGVsdmV0aWNhIi8+CiAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgICAgICA8
ZGlhOmF0dHJpYnV0ZSBuYW1lPSJoZWlnaHQiPgogICAgICAgICAgICA8ZGlhOnJlYWwgdmFs
PSIwLjgwMDAwMDAwMDAwMDAwMDA0Ii8+CiAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAg
ICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJwb3MiPgogICAgICAgICAgICA8ZGlhOnBv
aW50IHZhbD0iMTcuNSw1LjA5NSIvPgogICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAg
ICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iY29sb3IiPgogICAgICAgICAgICA8ZGlhOmNv
bG9yIHZhbD0iIzAwMDAwMCIvPgogICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICAg
ICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iYWxpZ25tZW50Ij4KICAgICAgICAgICAgPGRpYTpl
bnVtIHZhbD0iMCIvPgogICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICAgIDwvZGlh
OmNvbXBvc2l0ZT4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgPC9kaWE6b2JqZWN0Pgog
ICAgPGRpYTpvYmplY3QgdHlwZT0iVU1MIC0gTm9kZSIgdmVyc2lvbj0iMCIgaWQ9Ik8yIj4K
ICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX3BvcyI+CiAgICAgICAgPGRpYTpwb2lu
dCB2YWw9IjEwLDE4Ljk1Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTph
dHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KICAgICAgICA8ZGlhOnJlY3RhbmdsZSB2YWw9Ijku
OTUsMTguNDsxMS45OTc1LDIwLjgiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8
ZGlhOmF0dHJpYnV0ZSBuYW1lPSJtZXRhIj4KICAgICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBl
PSJkaWN0Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUg
bmFtZT0iZWxlbV9jb3JuZXIiPgogICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxMCwxOC45NSIv
PgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVs
ZW1fd2lkdGgiPgogICAgICAgIDxkaWE6cmVhbCB2YWw9IjEuNDQ3NSIvPgogICAgICA8L2Rp
YTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVsZW1faGVpZ2h0Ij4K
ICAgICAgICA8ZGlhOnJlYWwgdmFsPSIxLjgiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgog
ICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJsaW5lX2NvbG91ciI+CiAgICAgICAgPGRpYTpj
b2xvciB2YWw9IiMwMDAwMDAiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlh
OmF0dHJpYnV0ZSBuYW1lPSJmaWxsX2NvbG91ciI+CiAgICAgICAgPGRpYTpjb2xvciB2YWw9
IiNmZmZmZmYiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0
ZSBuYW1lPSJuYW1lIj4KICAgICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBlPSJ0ZXh0Ij4KICAg
ICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InN0cmluZyI+CiAgICAgICAgICAgIDxkaWE6
c3RyaW5nPiNDIzwvZGlhOnN0cmluZz4KICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAg
ICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImZvbnQiPgogICAgICAgICAgICA8ZGlhOmZv
bnQgZmFtaWx5PSJzYW5zIiBzdHlsZT0iMCIgbmFtZT0iSGVsdmV0aWNhIi8+CiAgICAgICAg
ICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJoZWln
aHQiPgogICAgICAgICAgICA8ZGlhOnJlYWwgdmFsPSIwLjgwMDAwMDAwMDAwMDAwMDA0Ii8+
CiAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBu
YW1lPSJwb3MiPgogICAgICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMTAuNSwyMC4wNDUiLz4K
ICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5h
bWU9ImNvbG9yIj4KICAgICAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KICAg
ICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9
ImFsaWdubWVudCI+CiAgICAgICAgICAgIDxkaWE6ZW51bSB2YWw9IjAiLz4KICAgICAgICAg
IDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgICA8L2RpYTpjb21wb3NpdGU+CiAgICAgIDwvZGlh
OmF0dHJpYnV0ZT4KICAgIDwvZGlhOm9iamVjdD4KICAgIDxkaWE6b2JqZWN0IHR5cGU9IlVN
TCAtIE5vZGUiIHZlcnNpb249IjAiIGlkPSJPMyI+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5h
bWU9Im9ial9wb3MiPgogICAgICAgIDxkaWE6cG9pbnQgdmFsPSIyNS4xNSw0Ljc1Ii8+CiAg
ICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX2Ji
Ij4KICAgICAgICA8ZGlhOnJlY3RhbmdsZSB2YWw9IjI1LjEsNC4yOzI3LjQsNi42Ii8+CiAg
ICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibWV0YSI+
CiAgICAgICAgPGRpYTpjb21wb3NpdGUgdHlwZT0iZGljdCIvPgogICAgICA8L2RpYTphdHRy
aWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVsZW1fY29ybmVyIj4KICAgICAg
ICA8ZGlhOnBvaW50IHZhbD0iMjUuMTUsNC43NSIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+
CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVsZW1fd2lkdGgiPgogICAgICAgIDxkaWE6
cmVhbCB2YWw9IjEuNjk5OTk5OTk5OTk5OTkyMiIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+
CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVsZW1faGVpZ2h0Ij4KICAgICAgICA8ZGlh
OnJlYWwgdmFsPSIxLjgiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0
dHJpYnV0ZSBuYW1lPSJsaW5lX2NvbG91ciI+CiAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMw
MDAwMDAiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBu
YW1lPSJmaWxsX2NvbG91ciI+CiAgICAgICAgPGRpYTpjb2xvciB2YWw9IiNmZmZmZmYiLz4K
ICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJuYW1l
Ij4KICAgICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBlPSJ0ZXh0Ij4KICAgICAgICAgIDxkaWE6
YXR0cmlidXRlIG5hbWU9InN0cmluZyI+CiAgICAgICAgICAgIDxkaWE6c3RyaW5nPiNEIzwv
ZGlhOnN0cmluZz4KICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgICAgIDxkaWE6
YXR0cmlidXRlIG5hbWU9ImZvbnQiPgogICAgICAgICAgICA8ZGlhOmZvbnQgZmFtaWx5PSJz
YW5zIiBzdHlsZT0iMCIgbmFtZT0iSGVsdmV0aWNhIi8+CiAgICAgICAgICA8L2RpYTphdHRy
aWJ1dGU+CiAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJoZWlnaHQiPgogICAgICAg
ICAgICA8ZGlhOnJlYWwgdmFsPSIwLjgwMDAwMDAwMDAwMDAwMDA0Ii8+CiAgICAgICAgICA8
L2RpYTphdHRyaWJ1dGU+CiAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJwb3MiPgog
ICAgICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMjUuNjUsNS44NDUiLz4KICAgICAgICAgIDwv
ZGlhOmF0dHJpYnV0ZT4KICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImNvbG9yIj4K
ICAgICAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KICAgICAgICAgIDwvZGlh
OmF0dHJpYnV0ZT4KICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImFsaWdubWVudCI+
CiAgICAgICAgICAgIDxkaWE6ZW51bSB2YWw9IjAiLz4KICAgICAgICAgIDwvZGlhOmF0dHJp
YnV0ZT4KICAgICAgICA8L2RpYTpjb21wb3NpdGU+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4K
ICAgIDwvZGlhOm9iamVjdD4KICAgIDxkaWE6b2JqZWN0IHR5cGU9IlVNTCAtIE5vZGUiIHZl
cnNpb249IjAiIGlkPSJPNCI+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9wb3Mi
PgogICAgICAgIDxkaWE6cG9pbnQgdmFsPSI1Ljg1LDEyLjYiLz4KICAgICAgPC9kaWE6YXR0
cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgogICAgICAgIDxk
aWE6cmVjdGFuZ2xlIHZhbD0iNS44LDEyLjA1OzcuODA1LDE0LjQ1Ii8+CiAgICAgIDwvZGlh
OmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibWV0YSI+CiAgICAgICAg
PGRpYTpjb21wb3NpdGUgdHlwZT0iZGljdCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAg
ICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImVsZW1fY29ybmVyIj4KICAgICAgICA8ZGlhOnBv
aW50IHZhbD0iNS44NSwxMi42Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRp
YTphdHRyaWJ1dGUgbmFtZT0iZWxlbV93aWR0aCI+CiAgICAgICAgPGRpYTpyZWFsIHZhbD0i
MS40MDUiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBu
YW1lPSJlbGVtX2hlaWdodCI+CiAgICAgICAgPGRpYTpyZWFsIHZhbD0iMS44Ii8+CiAgICAg
IDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibGluZV9jb2xv
dXIiPgogICAgICAgIDxkaWE6Y29sb3IgdmFsPSIjMDAwMDAwIi8+CiAgICAgIDwvZGlhOmF0
dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iZmlsbF9jb2xvdXIiPgogICAg
ICAgIDxkaWE6Y29sb3IgdmFsPSIjZmZmZmZmIi8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4K
ICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibmFtZSI+CiAgICAgICAgPGRpYTpjb21wb3Np
dGUgdHlwZT0idGV4dCI+CiAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJzdHJpbmci
PgogICAgICAgICAgICA8ZGlhOnN0cmluZz4jRSM8L2RpYTpzdHJpbmc+CiAgICAgICAgICA8
L2RpYTphdHRyaWJ1dGU+CiAgICAgICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJmb250Ij4K
ICAgICAgICAgICAgPGRpYTpmb250IGZhbWlseT0ic2FucyIgc3R5bGU9IjAiIG5hbWU9Ikhl
bHZldGljYSIvPgogICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICAgICAgPGRpYTph
dHRyaWJ1dGUgbmFtZT0iaGVpZ2h0Ij4KICAgICAgICAgICAgPGRpYTpyZWFsIHZhbD0iMC44
MDAwMDAwMDAwMDAwMDAwNCIvPgogICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICAg
ICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0icG9zIj4KICAgICAgICAgICAgPGRpYTpwb2ludCB2
YWw9IjYuMzUsMTMuNjk1Ii8+CiAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgICAg
ICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJjb2xvciI+CiAgICAgICAgICAgIDxkaWE6Y29sb3Ig
dmFsPSIjMDAwMDAwIi8+CiAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgICAgICA8
ZGlhOmF0dHJpYnV0ZSBuYW1lPSJhbGlnbm1lbnQiPgogICAgICAgICAgICA8ZGlhOmVudW0g
dmFsPSIwIi8+CiAgICAgICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgICAgPC9kaWE6Y29t
cG9zaXRlPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICA8L2RpYTpvYmplY3Q+CiAgICA8
ZGlhOm9iamVjdCB0eXBlPSJVTUwgLSBOb2RlIiB2ZXJzaW9uPSIwIiBpZD0iTzUiPgogICAg
ICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfcG9zIj4KICAgICAgICA8ZGlhOnBvaW50IHZh
bD0iMjQuNTUsMTIuMiIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0
cmlidXRlIG5hbWU9Im9ial9iYiI+CiAgICAgICAgPGRpYTpyZWN0YW5nbGUgdmFsPSIyNC41
LDExLjY1OzI2LjQ2NzUsMTQuMDUiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8
ZGlhOmF0dHJpYnV0ZSBuYW1lPSJtZXRhIj4KICAgICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBl
PSJkaWN0Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUg
bmFtZT0iZWxlbV9jb3JuZXIiPgogICAgICAgIDxkaWE6cG9pbnQgdmFsPSIyNC41NSwxMi4y
Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0i
ZWxlbV93aWR0aCI+CiAgICAgICAgPGRpYTpyZWFsIHZhbD0iMS4zNjc0OTk5OTk5OTk5OTk5
Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0i
ZWxlbV9oZWlnaHQiPgogICAgICAgIDxkaWE6cmVhbCB2YWw9IjEuODAwMDAwMDAwMDAwMDAw
NyIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9
ImxpbmVfY29sb3VyIj4KICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgogICAg
ICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImZpbGxfY29s
b3VyIj4KICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iI2ZmZmZmZiIvPgogICAgICA8L2RpYTph
dHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im5hbWUiPgogICAgICAgIDxk
aWE6Y29tcG9zaXRlIHR5cGU9InRleHQiPgogICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFt
ZT0ic3RyaW5nIj4KICAgICAgICAgICAgPGRpYTpzdHJpbmc+I0YjPC9kaWE6c3RyaW5nPgog
ICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFt
ZT0iZm9udCI+CiAgICAgICAgICAgIDxkaWE6Zm9udCBmYW1pbHk9InNhbnMiIHN0eWxlPSIw
IiBuYW1lPSJIZWx2ZXRpY2EiLz4KICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAg
ICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImhlaWdodCI+CiAgICAgICAgICAgIDxkaWE6cmVh
bCB2YWw9IjAuODAwMDAwMDAwMDAwMDAwMDQiLz4KICAgICAgICAgIDwvZGlhOmF0dHJpYnV0
ZT4KICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InBvcyI+CiAgICAgICAgICAgIDxk
aWE6cG9pbnQgdmFsPSIyNS4wNSwxMy4yOTUiLz4KICAgICAgICAgIDwvZGlhOmF0dHJpYnV0
ZT4KICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImNvbG9yIj4KICAgICAgICAgICAg
PGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4K
ICAgICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImFsaWdubWVudCI+CiAgICAgICAgICAg
IDxkaWE6ZW51bSB2YWw9IjAiLz4KICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAg
ICA8L2RpYTpjb21wb3NpdGU+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgIDwvZGlhOm9i
amVjdD4KICAgIDxkaWE6b2JqZWN0IHR5cGU9IlVNTCAtIE5vZGUiIHZlcnNpb249IjAiIGlk
PSJPNiI+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9wb3MiPgogICAgICAgIDxk
aWE6cG9pbnQgdmFsPSIyMy43LDIwLjQiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAg
ICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgogICAgICAgIDxkaWE6cmVjdGFuZ2xl
IHZhbD0iMjMuNjUsMTkuODU7MjUuNzQ1LDIyLjI1Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0
ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibWV0YSI+CiAgICAgICAgPGRpYTpjb21w
b3NpdGUgdHlwZT0iZGljdCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6
YXR0cmlidXRlIG5hbWU9ImVsZW1fY29ybmVyIj4KICAgICAgICA8ZGlhOnBvaW50IHZhbD0i
MjMuNywyMC40Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1
dGUgbmFtZT0iZWxlbV93aWR0aCI+CiAgICAgICAgPGRpYTpyZWFsIHZhbD0iMS40OTUwMDAw
MDAwMDAwMDAxIi8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1
dGUgbmFtZT0iZWxlbV9oZWlnaHQiPgogICAgICAgIDxkaWE6cmVhbCB2YWw9IjEuOCIvPgog
ICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVf
Y29sb3VyIj4KICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgogICAgICA8L2Rp
YTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImZpbGxfY29sb3VyIj4K
ICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iI2ZmZmZmZiIvPgogICAgICA8L2RpYTphdHRyaWJ1
dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im5hbWUiPgogICAgICAgIDxkaWE6Y29t
cG9zaXRlIHR5cGU9InRleHQiPgogICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ic3Ry
aW5nIj4KICAgICAgICAgICAgPGRpYTpzdHJpbmc+I0cjPC9kaWE6c3RyaW5nPgogICAgICAg
ICAgPC9kaWE6YXR0cmlidXRlPgogICAgICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iZm9u
dCI+CiAgICAgICAgICAgIDxkaWE6Zm9udCBmYW1pbHk9InNhbnMiIHN0eWxlPSIwIiBuYW1l
PSJIZWx2ZXRpY2EiLz4KICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgICAgIDxk
aWE6YXR0cmlidXRlIG5hbWU9ImhlaWdodCI+CiAgICAgICAgICAgIDxkaWE6cmVhbCB2YWw9
IjAuODAwMDAwMDAwMDAwMDAwMDQiLz4KICAgICAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAg
ICAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InBvcyI+CiAgICAgICAgICAgIDxkaWE6cG9p
bnQgdmFsPSIyNC4yLDIxLjQ5NSIvPgogICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAg
ICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iY29sb3IiPgogICAgICAgICAgICA8ZGlhOmNv
bG9yIHZhbD0iIzAwMDAwMCIvPgogICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICAg
ICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iYWxpZ25tZW50Ij4KICAgICAgICAgICAgPGRpYTpl
bnVtIHZhbD0iMCIvPgogICAgICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICAgIDwvZGlh
OmNvbXBvc2l0ZT4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgPC9kaWE6b2JqZWN0Pgog
ICAgPGRpYTpvYmplY3QgdHlwZT0iVU1MIC0gTWVzc2FnZSIgdmVyc2lvbj0iMCIgaWQ9Ik83
Ij4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX3BvcyI+CiAgICAgICAgPGRpYTpw
b2ludCB2YWw9IjguNjQ5NjMsNC45Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAg
PGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KICAgICAgICA8ZGlhOnJlY3RhbmdsZSB2
YWw9IjguNTk5NjMsNC41OzE3LjA1LDUuNiIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAg
ICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im1ldGEiPgogICAgICAgIDxkaWE6Y29tcG9zaXRl
IHR5cGU9ImRpY3QiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJp
YnV0ZSBuYW1lPSJjb25uX2VuZHBvaW50cyI+CiAgICAgICAgPGRpYTpwb2ludCB2YWw9Ijgu
NjQ5NjMsNC45Ii8+CiAgICAgICAgPGRpYTpwb2ludCB2YWw9IjE3LDQuOSIvPgogICAgICA8
L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InRleHRfY29sb3Vy
Ij4KICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgogICAgICA8L2RpYTphdHRy
aWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfY29sb3VyIj4KICAgICAg
ICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAg
ICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InRleHQiPgogICAgICAgIDxkaWE6c3RyaW5nPiN0
dW5uZWwgYSM8L2RpYTpzdHJpbmc+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRp
YTphdHRyaWJ1dGUgbmFtZT0idHlwZSI+CiAgICAgICAgPGRpYTplbnVtIHZhbD0iMyIvPgog
ICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InRleHRf
cG9zIj4KICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMTIuODI0OCw1LjQiLz4KICAgICAgPC9k
aWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmNvbm5lY3Rpb25zPgogICAgICAgIDxkaWE6Y29u
bmVjdGlvbiBoYW5kbGU9IjAiIHRvPSJPMCIgY29ubmVjdGlvbj0iOCIvPgogICAgICAgIDxk
aWE6Y29ubmVjdGlvbiBoYW5kbGU9IjEiIHRvPSJPMSIgY29ubmVjdGlvbj0iMyIvPgogICAg
ICA8L2RpYTpjb25uZWN0aW9ucz4KICAgIDwvZGlhOm9iamVjdD4KICAgIDxkaWE6b2JqZWN0
IHR5cGU9IlVNTCAtIE1lc3NhZ2UiIHZlcnNpb249IjAiIGlkPSJPOCI+CiAgICAgIDxkaWE6
YXR0cmlidXRlIG5hbWU9Im9ial9wb3MiPgogICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxNi45
NTA1LDUuNDkyNjEiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJp
YnV0ZSBuYW1lPSJvYmpfYmIiPgogICAgICAgIDxkaWE6cmVjdGFuZ2xlIHZhbD0iNy41MjA5
NSw1LjQyMjQ5OzE3LjAyMDYsMTIuODgzMiIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAg
ICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im1ldGEiPgogICAgICAgIDxkaWE6Y29tcG9zaXRl
IHR5cGU9ImRpY3QiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJp
YnV0ZSBuYW1lPSJjb25uX2VuZHBvaW50cyI+CiAgICAgICAgPGRpYTpwb2ludCB2YWw9IjE2
Ljk1MDUsNS40OTI2MSIvPgogICAgICAgIDxkaWE6cG9pbnQgdmFsPSI3LjgwNDYyLDEyLjUz
NTgiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1l
PSJ0ZXh0X2NvbG91ciI+CiAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KICAg
ICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJsaW5lX2Nv
bG91ciI+CiAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KICAgICAgPC9kaWE6
YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJ0ZXh0Ij4KICAgICAgICA8
ZGlhOnN0cmluZz4jdHVubmVsIGIjPC9kaWE6c3RyaW5nPgogICAgICA8L2RpYTphdHRyaWJ1
dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InR5cGUiPgogICAgICAgIDxkaWE6ZW51
bSB2YWw9IjAiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0
ZSBuYW1lPSJ0ZXh0X3BvcyI+CiAgICAgICAgPGRpYTpwb2ludCB2YWw9IjEyLjM3NzUsOS41
MTQxOCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6Y29ubmVjdGlvbnM+
CiAgICAgICAgPGRpYTpjb25uZWN0aW9uIGhhbmRsZT0iMCIgdG89Ik8xIiBjb25uZWN0aW9u
PSI4Ii8+CiAgICAgICAgPGRpYTpjb25uZWN0aW9uIGhhbmRsZT0iMSIgdG89Ik80IiBjb25u
ZWN0aW9uPSI4Ii8+CiAgICAgIDwvZGlhOmNvbm5lY3Rpb25zPgogICAgPC9kaWE6b2JqZWN0
PgogICAgPGRpYTpvYmplY3QgdHlwZT0iVU1MIC0gTWVzc2FnZSIgdmVyc2lvbj0iMCIgaWQ9
Ik85Ij4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX3BvcyI+CiAgICAgICAgPGRp
YTpwb2ludCB2YWw9IjYuNjM2MzcsMTIuMDUwMiIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+
CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9iYiI+CiAgICAgICAgPGRpYTpyZWN0
YW5nbGUgdmFsPSI1LjUxOTQ3LDUuNzc2NTM7OC4xMTE5NywxMi4xMDMiLz4KICAgICAgPC9k
aWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJtZXRhIj4KICAgICAg
ICA8ZGlhOmNvbXBvc2l0ZSB0eXBlPSJkaWN0Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4K
ICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iY29ubl9lbmRwb2ludHMiPgogICAgICAgIDxk
aWE6cG9pbnQgdmFsPSI2LjYzNjM3LDEyLjA1MDIiLz4KICAgICAgICA8ZGlhOnBvaW50IHZh
bD0iNi45OTUwNyw1Ljg0OTU1Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRp
YTphdHRyaWJ1dGUgbmFtZT0idGV4dF9jb2xvdXIiPgogICAgICAgIDxkaWE6Y29sb3IgdmFs
PSIjMDAwMDAwIi8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1
dGUgbmFtZT0ibGluZV9jb2xvdXIiPgogICAgICAgIDxkaWE6Y29sb3IgdmFsPSIjMDAwMDAw
Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0i
dGV4dCI+CiAgICAgICAgPGRpYTpzdHJpbmc+I3R1bm5lbCBjIzwvZGlhOnN0cmluZz4KICAg
ICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4K
ICAgICAgICA8ZGlhOmVudW0gdmFsPSIwIi8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAg
ICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0idGV4dF9wb3MiPgogICAgICAgIDxkaWE6cG9pbnQg
dmFsPSI2LjgxNTcyLDkuNDQ5ODgiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8
ZGlhOmNvbm5lY3Rpb25zPgogICAgICAgIDxkaWE6Y29ubmVjdGlvbiBoYW5kbGU9IjAiIHRv
PSJPNCIgY29ubmVjdGlvbj0iOCIvPgogICAgICAgIDxkaWE6Y29ubmVjdGlvbiBoYW5kbGU9
IjEiIHRvPSJPMCIgY29ubmVjdGlvbj0iOCIvPgogICAgICA8L2RpYTpjb25uZWN0aW9ucz4K
ICAgIDwvZGlhOm9iamVjdD4KICAgIDxkaWE6b2JqZWN0IHR5cGU9IlVNTCAtIE1lc3NhZ2Ui
IHZlcnNpb249IjAiIGlkPSJPMTAiPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpf
cG9zIj4KICAgICAgICA8ZGlhOnBvaW50IHZhbD0iOC42NDkyOSw1LjYyMTIiLz4KICAgICAg
PC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgog
ICAgICAgIDxkaWE6cmVjdGFuZ2xlIHZhbD0iOC41ODMxNiw1LjU1NTA3OzI0LjcxMDIsMTMu
MTU0NCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5h
bWU9Im1ldGEiPgogICAgICAgIDxkaWE6Y29tcG9zaXRlIHR5cGU9ImRpY3QiLz4KICAgICAg
PC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJjb25uX2VuZHBv
aW50cyI+CiAgICAgICAgPGRpYTpwb2ludCB2YWw9IjguNjQ5MjksNS42MjEyIi8+CiAgICAg
ICAgPGRpYTpwb2ludCB2YWw9IjI0LjUwMDEsMTIuNzY5MiIvPgogICAgICA8L2RpYTphdHRy
aWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InRleHRfY29sb3VyIj4KICAgICAg
ICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAg
ICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfY29sb3VyIj4KICAgICAgICA8ZGlhOmNv
bG9yIHZhbD0iIzAwMDAwMCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6
YXR0cmlidXRlIG5hbWU9InRleHQiPgogICAgICAgIDxkaWE6c3RyaW5nPiN0dW5uZWwgZCM8
L2RpYTpzdHJpbmc+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1
dGUgbmFtZT0idHlwZSI+CiAgICAgICAgPGRpYTplbnVtIHZhbD0iMCIvPgogICAgICA8L2Rp
YTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InRleHRfcG9zIj4KICAg
ICAgICA8ZGlhOnBvaW50IHZhbD0iMTYuNTc0Nyw5LjY5NTE5Ii8+CiAgICAgIDwvZGlhOmF0
dHJpYnV0ZT4KICAgICAgPGRpYTpjb25uZWN0aW9ucz4KICAgICAgICA8ZGlhOmNvbm5lY3Rp
b24gaGFuZGxlPSIwIiB0bz0iTzAiIGNvbm5lY3Rpb249IjgiLz4KICAgICAgICA8ZGlhOmNv
bm5lY3Rpb24gaGFuZGxlPSIxIiB0bz0iTzUiIGNvbm5lY3Rpb249IjgiLz4KICAgICAgPC9k
aWE6Y29ubmVjdGlvbnM+CiAgICA8L2RpYTpvYmplY3Q+CiAgICA8ZGlhOm9iamVjdCB0eXBl
PSJVTUwgLSBNZXNzYWdlIiB2ZXJzaW9uPSIwIiBpZD0iTzExIj4KICAgICAgPGRpYTphdHRy
aWJ1dGUgbmFtZT0ib2JqX3BvcyI+CiAgICAgICAgPGRpYTpwb2ludCB2YWw9IjI1LjIzMzcs
MTIuMiIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5h
bWU9Im9ial9iYiI+CiAgICAgICAgPGRpYTpyZWN0YW5nbGUgdmFsPSIxNy40MjI2LDUuNDYz
MDc7MjUuMzA0MiwxMi4yNzA1Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRp
YTphdHRyaWJ1dGUgbmFtZT0ibWV0YSI+CiAgICAgICAgPGRpYTpjb21wb3NpdGUgdHlwZT0i
ZGljdCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5h
bWU9ImNvbm5fZW5kcG9pbnRzIj4KICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMjUuMjMzNywx
Mi4yIi8+CiAgICAgICAgPGRpYTpwb2ludCB2YWw9IjE3LjcyLDUuOCIvPgogICAgICA8L2Rp
YTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InRleHRfY29sb3VyIj4K
ICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgogICAgICA8L2RpYTphdHRyaWJ1
dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9ImxpbmVfY29sb3VyIj4KICAgICAgICA8
ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAg
IDxkaWE6YXR0cmlidXRlIG5hbWU9InRleHQiPgogICAgICAgIDxkaWE6c3RyaW5nPiN0dW5u
ZWwgZSM8L2RpYTpzdHJpbmc+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTph
dHRyaWJ1dGUgbmFtZT0idHlwZSI+CiAgICAgICAgPGRpYTplbnVtIHZhbD0iMCIvPgogICAg
ICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InRleHRfcG9z
Ij4KICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMjEuNDc2OSw5LjUiLz4KICAgICAgPC9kaWE6
YXR0cmlidXRlPgogICAgICA8ZGlhOmNvbm5lY3Rpb25zPgogICAgICAgIDxkaWE6Y29ubmVj
dGlvbiBoYW5kbGU9IjAiIHRvPSJPNSIgY29ubmVjdGlvbj0iMSIvPgogICAgICAgIDxkaWE6
Y29ubmVjdGlvbiBoYW5kbGU9IjEiIHRvPSJPMSIgY29ubmVjdGlvbj0iNiIvPgogICAgICA8
L2RpYTpjb25uZWN0aW9ucz4KICAgIDwvZGlhOm9iamVjdD4KICAgIDxkaWE6b2JqZWN0IHR5
cGU9IlVNTCAtIE1lc3NhZ2UiIHZlcnNpb249IjAiIGlkPSJPMTIiPgogICAgICA8ZGlhOmF0
dHJpYnV0ZSBuYW1lPSJvYmpfcG9zIj4KICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMTcsNCIv
PgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9i
al9iYiI+CiAgICAgICAgPGRpYTpyZWN0YW5nbGUgdmFsPSI4LjA1LDMuNjsxNy4wNSw0Ljci
Lz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJt
ZXRhIj4KICAgICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBlPSJkaWN0Ii8+CiAgICAgIDwvZGlh
OmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iY29ubl9lbmRwb2ludHMi
PgogICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxNyw0Ii8+CiAgICAgICAgPGRpYTpwb2ludCB2
YWw9IjguMSw0Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1
dGUgbmFtZT0idGV4dF9jb2xvdXIiPgogICAgICAgIDxkaWE6Y29sb3IgdmFsPSIjMDAwMDAw
Ii8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0i
bGluZV9jb2xvdXIiPgogICAgICAgIDxkaWE6Y29sb3IgdmFsPSIjMDAwMDAwIi8+CiAgICAg
IDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0idGV4dCI+CiAg
ICAgICAgPGRpYTpzdHJpbmc+I3R1bm5lbCBmIzwvZGlhOnN0cmluZz4KICAgICAgPC9kaWE6
YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJ0eXBlIj4KICAgICAgICA8
ZGlhOmVudW0gdmFsPSIwIi8+CiAgICAgIDwvZGlhOmF0dHJpYnV0ZT4KICAgICAgPGRpYTph
dHRyaWJ1dGUgbmFtZT0idGV4dF9wb3MiPgogICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxMi41
NSw0LjUiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmNvbm5lY3Rpb25z
PgogICAgICAgIDxkaWE6Y29ubmVjdGlvbiBoYW5kbGU9IjAiIHRvPSJPMSIgY29ubmVjdGlv
bj0iMCIvPgogICAgICAgIDxkaWE6Y29ubmVjdGlvbiBoYW5kbGU9IjEiIHRvPSJPMCIgY29u
bmVjdGlvbj0iMiIvPgogICAgICA8L2RpYTpjb25uZWN0aW9ucz4KICAgIDwvZGlhOm9iamVj
dD4KICAgIDxkaWE6b2JqZWN0IHR5cGU9IlVNTCAtIE1lc3NhZ2UiIHZlcnNpb249IjAiIGlk
PSJPMTMiPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfcG9zIj4KICAgICAgICA8
ZGlhOnBvaW50IHZhbD0iOC4xLDUuOCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAg
IDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9iYiI+CiAgICAgICAgPGRpYTpyZWN0YW5nbGUg
dmFsPSI4LjAyOTMzLDUuNzI5MzM7MjQuMDA5OCwyMC43MjYyIi8+CiAgICAgIDwvZGlhOmF0
dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibWV0YSI+CiAgICAgICAgPGRp
YTpjb21wb3NpdGUgdHlwZT0iZGljdCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAg
IDxkaWE6YXR0cmlidXRlIG5hbWU9ImNvbm5fZW5kcG9pbnRzIj4KICAgICAgICA8ZGlhOnBv
aW50IHZhbD0iOC4xLDUuOCIvPgogICAgICAgIDxkaWE6cG9pbnQgdmFsPSIyMy43LDIwLjQi
Lz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJ0
ZXh0X2NvbG91ciI+CiAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KICAgICAg
PC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJsaW5lX2NvbG91
ciI+CiAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KICAgICAgPC9kaWE6YXR0
cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJ0ZXh0Ij4KICAgICAgICA8ZGlh
OnN0cmluZz4jdHVubmVsIGcjPC9kaWE6c3RyaW5nPgogICAgICA8L2RpYTphdHRyaWJ1dGU+
CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InR5cGUiPgogICAgICAgIDxkaWE6ZW51bSB2
YWw9IjAiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBu
YW1lPSJ0ZXh0X3BvcyI+CiAgICAgICAgPGRpYTpwb2ludCB2YWw9IjE1LjksMTMuNiIvPgog
ICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6Y29ubmVjdGlvbnM+CiAgICAgICAg
PGRpYTpjb25uZWN0aW9uIGhhbmRsZT0iMCIgdG89Ik8wIiBjb25uZWN0aW9uPSI3Ii8+CiAg
ICAgICAgPGRpYTpjb25uZWN0aW9uIGhhbmRsZT0iMSIgdG89Ik82IiBjb25uZWN0aW9uPSIw
Ii8+CiAgICAgIDwvZGlhOmNvbm5lY3Rpb25zPgogICAgPC9kaWE6b2JqZWN0PgogICAgPGRp
YTpvYmplY3QgdHlwZT0iVU1MIC0gTWVzc2FnZSIgdmVyc2lvbj0iMCIgaWQ9Ik8xNCI+CiAg
ICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9Im9ial9wb3MiPgogICAgICAgIDxkaWE6cG9pbnQg
dmFsPSIyMy42NDk2LDIwLjk1MjIiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8
ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfYmIiPgogICAgICAgIDxkaWE6cmVjdGFuZ2xlIHZh
bD0iNy41OTkwNywxMy42NTkyOzIzLjcxNTQsMjEuMDE4Ii8+CiAgICAgIDwvZGlhOmF0dHJp
YnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ibWV0YSI+CiAgICAgICAgPGRpYTpj
b21wb3NpdGUgdHlwZT0iZGljdCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxk
aWE6YXR0cmlidXRlIG5hbWU9ImNvbm5fZW5kcG9pbnRzIj4KICAgICAgICA8ZGlhOnBvaW50
IHZhbD0iMjMuNjQ5NiwyMC45NTIyIi8+CiAgICAgICAgPGRpYTpwb2ludCB2YWw9IjcuODA0
NzMsMTQuMDQ1OCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmli
dXRlIG5hbWU9InRleHRfY29sb3VyIj4KICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAw
MCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9
ImxpbmVfY29sb3VyIj4KICAgICAgICA8ZGlhOmNvbG9yIHZhbD0iIzAwMDAwMCIvPgogICAg
ICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9InRleHQiPgog
ICAgICAgIDxkaWE6c3RyaW5nPiN0dW5uZWwgaCM8L2RpYTpzdHJpbmc+CiAgICAgIDwvZGlh
OmF0dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0idHlwZSI+CiAgICAgICAg
PGRpYTplbnVtIHZhbD0iMCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6
YXR0cmlidXRlIG5hbWU9InRleHRfcG9zIj4KICAgICAgICA8ZGlhOnBvaW50IHZhbD0iMTUu
NzI3MiwxNy45OTkiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmNvbm5l
Y3Rpb25zPgogICAgICAgIDxkaWE6Y29ubmVjdGlvbiBoYW5kbGU9IjAiIHRvPSJPNiIgY29u
bmVjdGlvbj0iOCIvPgogICAgICAgIDxkaWE6Y29ubmVjdGlvbiBoYW5kbGU9IjEiIHRvPSJP
NCIgY29ubmVjdGlvbj0iOCIvPgogICAgICA8L2RpYTpjb25uZWN0aW9ucz4KICAgIDwvZGlh
Om9iamVjdD4KICAgIDxkaWE6b2JqZWN0IHR5cGU9IlVNTCAtIE1lc3NhZ2UiIHZlcnNpb249
IjAiIGlkPSJPMTUiPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJvYmpfcG9zIj4KICAg
ICAgICA8ZGlhOnBvaW50IHZhbD0iNy4xNzYyNSwxNC40NDk2Ii8+CiAgICAgIDwvZGlhOmF0
dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0ib2JqX2JiIj4KICAgICAgICA8
ZGlhOnJlY3RhbmdsZSB2YWw9IjcuMTA3MDEsMTQuMzgwMzsxMC4zMTU2LDE4LjkzOTQiLz4K
ICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJtZXRh
Ij4KICAgICAgICA8ZGlhOmNvbXBvc2l0ZSB0eXBlPSJkaWN0Ii8+CiAgICAgIDwvZGlhOmF0
dHJpYnV0ZT4KICAgICAgPGRpYTphdHRyaWJ1dGUgbmFtZT0iY29ubl9lbmRwb2ludHMiPgog
ICAgICAgIDxkaWE6cG9pbnQgdmFsPSI3LjE3NjI1LDE0LjQ0OTYiLz4KICAgICAgICA8ZGlh
OnBvaW50IHZhbD0iOS45NTM4NiwxOC42NzgiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgog
ICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJ0ZXh0X2NvbG91ciI+CiAgICAgICAgPGRpYTpj
b2xvciB2YWw9IiMwMDAwMDAiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlh
OmF0dHJpYnV0ZSBuYW1lPSJsaW5lX2NvbG91ciI+CiAgICAgICAgPGRpYTpjb2xvciB2YWw9
IiMwMDAwMDAiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0
ZSBuYW1lPSJ0ZXh0Ij4KICAgICAgICA8ZGlhOnN0cmluZz4jdHVubmVsIGkjPC9kaWE6c3Ry
aW5nPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5hbWU9
InR5cGUiPgogICAgICAgIDxkaWE6ZW51bSB2YWw9IjAiLz4KICAgICAgPC9kaWE6YXR0cmli
dXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJ0ZXh0X3BvcyI+CiAgICAgICAgPGRp
YTpwb2ludCB2YWw9IjguNTY1MDYsMTcuMDYzOCIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+
CiAgICAgIDxkaWE6Y29ubmVjdGlvbnM+CiAgICAgICAgPGRpYTpjb25uZWN0aW9uIGhhbmRs
ZT0iMCIgdG89Ik80IiBjb25uZWN0aW9uPSI4Ii8+CiAgICAgICAgPGRpYTpjb25uZWN0aW9u
IGhhbmRsZT0iMSIgdG89Ik8yIiBjb25uZWN0aW9uPSI4Ii8+CiAgICAgIDwvZGlhOmNvbm5l
Y3Rpb25zPgogICAgPC9kaWE6b2JqZWN0PgogICAgPGRpYTpvYmplY3QgdHlwZT0iVU1MIC0g
TWVzc2FnZSIgdmVyc2lvbj0iMCIgaWQ9Ik8xNiI+CiAgICAgIDxkaWE6YXR0cmlidXRlIG5h
bWU9Im9ial9wb3MiPgogICAgICAgIDxkaWE6cG9pbnQgdmFsPSIxMS45OTc5LDE4LjY2NTci
Lz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJv
YmpfYmIiPgogICAgICAgIDxkaWE6cmVjdGFuZ2xlIHZhbD0iMTEuOTI3Miw2LjE1OTM1OzI1
LjQwOTIsMTguNzM2MyIvPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxkaWE6YXR0
cmlidXRlIG5hbWU9Im1ldGEiPgogICAgICAgIDxkaWE6Y29tcG9zaXRlIHR5cGU9ImRpY3Qi
Lz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJj
b25uX2VuZHBvaW50cyI+CiAgICAgICAgPGRpYTpwb2ludCB2YWw9IjExLjk5NzksMTguNjY1
NyIvPgogICAgICAgIDxkaWE6cG9pbnQgdmFsPSIyNS4xMDAyLDYuNDg2MzYiLz4KICAgICAg
PC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJ0ZXh0X2NvbG91
ciI+CiAgICAgICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KICAgICAgPC9kaWE6YXR0
cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJsaW5lX2NvbG91ciI+CiAgICAg
ICAgPGRpYTpjb2xvciB2YWw9IiMwMDAwMDAiLz4KICAgICAgPC9kaWE6YXR0cmlidXRlPgog
ICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJ0ZXh0Ij4KICAgICAgICA8ZGlhOnN0cmluZz4j
dHVubmVsIGojPC9kaWE6c3RyaW5nPgogICAgICA8L2RpYTphdHRyaWJ1dGU+CiAgICAgIDxk
aWE6YXR0cmlidXRlIG5hbWU9InR5cGUiPgogICAgICAgIDxkaWE6ZW51bSB2YWw9IjAiLz4K
ICAgICAgPC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmF0dHJpYnV0ZSBuYW1lPSJ0ZXh0
X3BvcyI+CiAgICAgICAgPGRpYTpwb2ludCB2YWw9IjE4LjU0OSwxMy4wNzYiLz4KICAgICAg
PC9kaWE6YXR0cmlidXRlPgogICAgICA8ZGlhOmNvbm5lY3Rpb25zPgogICAgICAgIDxkaWE6
Y29ubmVjdGlvbiBoYW5kbGU9IjAiIHRvPSJPMiIgY29ubmVjdGlvbj0iOCIvPgogICAgICAg
IDxkaWE6Y29ubmVjdGlvbiBoYW5kbGU9IjEiIHRvPSJPMyIgY29ubmVjdGlvbj0iOCIvPgog
ICAgICA8L2RpYTpjb25uZWN0aW9ucz4KICAgIDwvZGlhOm9iamVjdD4KICA8L2RpYTpsYXll
cj4KPC9kaWE6ZGlhZ3JhbT4K
--------------5AA4C3CE234FA216655AEA23
Content-Type: image/svg+xml;
name="rubensberg.svg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="rubensberg.svg"

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hsaW5rIiB3aWR0aD0iNDE0cHQiIGhlaWdodD0iMzc5cHQiIHZpZXdCb3g9IjAg
MCA0MTQgMzc5IiB2ZXJzaW9uPSIxLjEiPgo8ZGVmcz4KPGc+CjxzeW1ib2wgb3ZlcmZsb3c9
InZpc2libGUiIGlkPSJnbHlwaDAtMCI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9
Ik0gMC42NDA2MjUgMi4yOTY4NzUgTCAwLjY0MDYyNSAtOS4xNzE4NzUgTCA3LjE0MDYyNSAt
OS4xNzE4NzUgTCA3LjE0MDYyNSAyLjI5Njg3NSBaIE0gMS4zNzUgMS41NzgxMjUgTCA2LjQy
MTg3NSAxLjU3ODEyNSBMIDYuNDIxODc1IC04LjQzNzUgTCAxLjM3NSAtOC40Mzc1IFogTSAx
LjM3NSAxLjU3ODEyNSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3ZlcmZsb3c9InZpc2libGUi
IGlkPSJnbHlwaDAtMSI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9uZTsiIGQ9Ik0gNC40Mzc1
IC04LjIxODc1IEwgMi43MDMxMjUgLTMuNSBMIDYuMTg3NSAtMy41IFogTSAzLjcxODc1IC05
LjQ4NDM3NSBMIDUuMTcxODc1IC05LjQ4NDM3NSBMIDguNzgxMjUgMCBMIDcuNDUzMTI1IDAg
TCA2LjU5Mzc1IC0yLjQzNzUgTCAyLjMxMjUgLTIuNDM3NSBMIDEuNDUzMTI1IDAgTCAwLjEw
OTM3NSAwIFogTSAzLjcxODc1IC05LjQ4NDM3NSAiLz4KPC9zeW1ib2w+CjxzeW1ib2wgb3Zl
cmZsb3c9InZpc2libGUiIGlkPSJnbHlwaDAtMiI+CjxwYXRoIHN0eWxlPSJzdHJva2U6bm9u
ZTsiIGQ9Ik0gMi41NjI1IC00LjUzMTI1IEwgMi41NjI1IC0xLjA0Njg3NSBMIDQuNjA5Mzc1
IC0xLjA0Njg3NSBDIDUuMzA0Njg4IC0xLjA0Njg3NSA1LjgxNjQwNiAtMS4xODc1IDYuMTQw
NjI1IC0xLjQ2ODc1IEMgNi40NzI2NTYgLTEuNzU3ODEyIDYuNjQwNjI1IC0yLjIwMzEyNSA2
LjY0MDYyNSAtMi43OTY4NzUgQyA2LjY0MDYyN

  1. 2017-02-02 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] NP Complete
  2. 2017-02-06 Wayne Callahan <callahans2-at-msn.com> Subject: [Learn] [dinosaur] ISPH 2017
  3. 2017-02-07 James E Keenan <jkeen-at-verizon.net> Subject: [Learn] ny.pm tech meeting next Monday; TPC call for presentations
  4. 2017-02-08 Ruben Safir <ruben-at-mrbrklyn.com> Re: [Learn] Immigration Executive Order Update
  5. 2017-02-08 Ruben Safir <ruben.safir-at-my.liu.edu> Re: [Learn] Immigration Executive Order Update
  6. 2017-02-08 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] Justine Bateman
  7. 2017-02-09 Ruben Safir <ruben-at-mrbrklyn.com> Re: [Learn] Does this look like a Euler Path to you?
  8. 2017-02-09 Christopher League <league-at-contrapunctus.net> Re: [Learn] Does this look like a Euler Path to you?
  9. 2017-02-09 Ruben Safir <mrbrklyn-at-panix.com> Re: [Learn] Does this look like a Euler Path to you?
  10. 2017-02-09 Christopher League <league-at-contrapunctus.net> Re: [Learn] Does this look like a Euler Path to you?
  11. 2017-02-09 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] =?utf-8?q?Fwd=3A_An_Evening_for_Educators_with_Dr=2E_B?=
  12. 2017-02-09 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] Does this look like a Euler Path to you?
  13. 2017-02-10 Ruben Safir <ruben.safir-at-my.liu.edu> Re: [Learn] Choosing a programming language
  14. 2017-02-10 Christopher League <league-at-contrapunctus.net> Subject: [Learn] Choosing a programming language
  15. 2017-02-10 ruben safir <ruben-at-mrbrklyn.com> Subject: [Learn] Fwd: Alternatives to Syntax Trees
  16. 2017-02-10 ruben safir <ruben-at-mrbrklyn.com> Subject: [Learn] Fwd: Compiler positions available for week ending January 29
  17. 2017-02-10 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] Fwd: [Accu-contacts] Software engineer position
  18. 2017-02-10 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] Fwd: [dinosaur] Euchambersia (Therapsida) envenoming
  19. 2017-02-11 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] lions and tigers and snow leopards
  20. 2017-02-11 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] New Neuronet theory
  21. 2017-02-11 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] Researchers use artificial neural network to simulate a
  22. 2017-02-11 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] Robotics
  23. 2017-02-11 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] WebRTC coding in html5
  24. 2017-02-12 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] fellowship positition
  25. 2017-02-15 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] Starting with R
  26. 2017-02-15 Rick Moen <rick-at-linuxmafia.com> Subject: [Learn] [conspire] [svlug] AnC side-channel attack: In which ASLR
  27. 2017-02-16 Ruben Safir <mrbrklyn-at-panix.com> Subject: [Learn] are you here
  28. 2017-02-16 ruben <ruben-at-mrbrklyn.com> Subject: [Learn] chew on this
  29. 2017-02-16 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] ct scan
  30. 2017-02-16 Christopher League <league-at-contrapunctus.net> Subject: [Learn] Should I name "makefile" or "Makefile"?
  31. 2017-02-20 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] overloading operator== and casting
  32. 2017-02-20 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] Vector Documentation
  33. 2017-02-22 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] Network Patterns
  34. 2017-02-24 Ruben Safir <ruben-at-mrbrklyn.com> Re: [Learn] decision making tree for a euler walk
  35. 2017-02-24 Christopher League <league-at-contrapunctus.net> Re: [Learn] decision making tree for a euler walk
  36. 2017-02-24 Christopher League <league-at-contrapunctus.net> Re: [Learn] decision making tree for a euler walk
  37. 2017-02-24 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] decision making tree for a euler walk
  38. 2017-02-27 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Learn] Computational Phylogenies and fossil scanning
  39. 2017-02-28 Christopher League <league-at-contrapunctus.net> Re: [Learn] decision making tree for a euler walk
  40. 2017-02-28 Ruben Safir <ruben-at-mrbrklyn.com> Re: [Learn] decision making tree for a euler walk
  41. 2017-02-28 Nicholas Rodin <nikbbwil-at-icloud.com> Re: [Learn] thesis update
  42. 2017-02-28 Ruben Safir <mrbrklyn-at-panix.com> Re: [Learn] thesis update
  43. 2017-02-28 Don Brinkman <Don.Brinkman-at-gov.ab.ca> Re: [Learn] visit
  44. 2017-02-28 Ruben Safir <ruben-at-mrbrklyn.com> Re: [Learn] [Hangout-NYLXS] Peer Review

NYLXS are Do'ers and the first step of Doing is Joining! Join NYLXS and make a difference in your community today!