ActiveLayerIndex 0 ApplicationVersion com.omnigroup.OmniGraffle.MacAppStore 139.16 AutoAdjust BackgroundGraphic Bounds {{0, 0}, {559.19998741149902, 782.79998779296875}} Class SolidGraphic ID 2 Style shadow Draws NO stroke Draws NO BaseZoom 0 CanvasOrigin {0, 0} ColumnAlign 1 ColumnSpacing 36 CreationDate 2013-01-02 19:31:53 +0000 Creator Aldo Cortesi DisplayScale 1.000 cm = 1.000 cm GraphDocumentVersion 8 GraphicsList Class LineGraphic ID 4075 Points {299.99999999999994, 470.90565482775372} {344.43662007649726, 470.90565482775389} {361.76995340983063, 470.23898816108721} {413.10331217447907, 469.90565490722656} Style stroke HeadArrow FilledArrow Legacy TailArrow 0 Class LineGraphic ID 4074 Points {300.5, 417.94731195767724} {344.93662007649738, 417.94731195767741} {362.26995340983063, 417.28064529101073} {413.60331217447907, 416.94731203715008} Style stroke HeadArrow 0 Legacy TailArrow FilledArrow Class LineGraphic ID 4073 Points {300.50000000000006, 364.90563909212648} {344.93662007649743, 364.90563909212665} {362.26995340983069, 364.23897242545996} {413.60331217447919, 363.90563917159932} Style stroke HeadArrow FilledArrow Legacy TailArrow 0 Bounds {{316.55163383483881, 323.90562693277991}, {65, 36}} Class ShapedGraphic FitText YES Flow Resize FontInfo Font Helvetica Size 12 ID 4069 Shape Rectangle Style fill Draws NO shadow Draws NO stroke Draws NO Text Pad 0 Text {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs20 \cf0 4: Initiate SSL \ handshake \ with SNI} VerticalPad 0 Wrap NO Bounds {{317.05164591471356, 453.90604654947919}, {49, 12}} Class ShapedGraphic FitText YES Flow Resize FontInfo Font Helvetica Size 12 ID 4067 Shape Rectangle Style fill Draws NO shadow Draws NO stroke Draws NO Text Pad 0 Text {\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs20 \cf0 8: Request} VerticalPad 0 Wrap NO Bounds {{317.05163574218761, 400.90584119160991}, {64, 12}} Class pre { line-height: 125%; margin: 0; } td.linenos pre { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; } span.linenos { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; } td.linenos pre.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; } .highlight .hll { background-color: #ffffcc } .highlight { background: #ffffff; } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
# MCU name
MCU = atmega32u4

# Processor frequency.
#     This will define a symbol, F_CPU, in all source code files equal to the
#     processor frequency in Hz. You can then use this symbol in your source code to
#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
#     automatically to create a 32-bit value in your source code.
#
#     This will be an integer division of F_USB below, as it is sourced by
#     F_USB after it has run through any CPU prescalers. Note that this value
#     does not *change* the processor frequency - it should merely be updated to
#     reflect the processor speed set externally so that the code can use accurate
#     software delays.
F_CPU = 16000000

#
# LUFA specific
#
# Target architecture (see library "Board Types" documentation).
ARCH = AVR8

# Input clock frequency.
#     This will define a symbol, F_USB, in all source code files equal to the
#     input clock frequency (before any prescaling is performed) in Hz. This value may
#     differ from F_CPU if prescaling is used on the latter, and is required as the
#     raw input clock is fed directly to the PLL sections of the AVR for high speed
#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
#     at the end, this will be done automatically to create a 32-bit value in your
#     source code.
#
#     If no clock division is performed on the input clock inside the AVR (via the
#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
F_USB = $(F_CPU)

# Interrupt driven control endpoint task(+60)
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT


# Bootloader selection
#   Teensy       halfkay
#   Pro Micro    caterina
#   Atmel DFU    atmel-dfu
#   LUFA DFU     lufa-dfu
#   QMK DFU      qmk-dfu
#   atmega32a    bootloadHID

		
		
			Class
			LineGraphic
			ControlPoints
			
				{-29.333333333333343, 15.666671991348267}
				{-14, -7.3333333333333712}
			
			ID
			37
			Points
			
				{197.43664042154938, 317.99990208943694}
				{198.4366505940755, 388.66656875610363}
			
			Style
			
				stroke
				
					Bezier
					
					HeadArrow
					FilledArrow
					Legacy
					
					LineType
					1
					TailArrow
					0
				
			
		
		
			Bounds
			{{205.34387397766082, 289.3333333333328}, {84, 52.666667938232422}}
			Class
			ShapedGraphic
			ID
			4076
			Shape
			Rectangle
			Style
			
				fill
				
					Color
					
						b
						0.547829
						g
						1
						r
						0.790866
					
				
			
			Text
			
				Text
				{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;\red37\green17\blue0;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc

\f0\fs24 \cf2 router}
			
		
		
			Bounds
			{{97.957725842793792, 284.99970499674527}, {62, 12}}
			Class
			ShapedGraphic
			FitText
			YES
			Flow
			Resize
			FontInfo
			
				Font
				Helvetica
				Size
				12
			
			ID
			4058
			Shape
			Rectangle
			Style
			
				fill
				
					Draws
					NO
				
				shadow
				
					Draws
					NO
				
				stroke
				
					Draws
					NO
				
			
			Text
			
				Pad
				0
				Text
				{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc

\f0\fs20 \cf0 1: Connection}
				VerticalPad
				0
			
			Wrap
			NO
		
		
			Class
			LineGraphic
			ID
			31
			Points
			
				{85.333333333333329, 300.8332401911419}
				{129.76995340983069, 300.83324019114207}
				{147.10328674316401, 300.16657352447538}
				{198.43664550781247, 299.83324027061474}
			
			Style
			
				stroke
				
					HeadArrow
					FilledArrow
					Legacy
					
					TailArrow
					0
				
			
		
		
			Bounds
			{{430.83098347981803, 515.99999999999989}, {36, 14}}
			Class
			ShapedGraphic
			FitText
			YES
			Flow
			Resize
			ID
			4026
			Shape
			Rectangle
			Style
			
				fill
				
					Draws
					NO
				
				shadow
				
					Draws
					NO
				
				stroke
				
					Draws
					NO
				
			
			Text
			
				Pad
				0
				Text
				{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc

\f0\fs24 \cf0 Server}
				VerticalPad
				0
			
			Wrap
			NO
		
		
			Bounds
			{{40.499999999999993, 486.66666666666663}, {31, 14}}
			Class
			ShapedGraphic
			FitText
			YES
			Flow
			Resize
			ID
			4025
			Shape
			Rectangle
			Style
			
				fill
				
					Draws
					NO
				
				shadow
				
					Draws
					NO
				
				stroke
				
					Draws
					NO
				
			
			Text
			
				Pad
				0
				Text
				{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc

\f0\fs24 \cf0 Client}
				VerticalPad
				0
			
			Wrap
			NO
		
		
			Bounds
			{{417.16432189941418, 323.90565299479198}, {63.333332061767578, 185.52200317382812}}
			Class
			ShapedGraphic
			ID
			4004
			ImageID
			6
			Shape
			Rectangle
			Style
			
				fill
				
					Draws
					NO
				
				shadow
				
					Draws
					NO
				
				stroke
				
					Draws
					NO
				
			
		
		
			Bounds
			{{205.34386889139773, 289.33333333333331}, {84, 248.66667175292969}}
			Class
			ShapedGraphic
			ID
			4023
			Shape
			Rectangle
			Style
			
				fill
				
					Color
					
						b
						0
						g
						0.463735
						r
						1
					
				
			
			Text
			
				Text
				{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;\red37\green17\blue0;}
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc

\f0\fs24 \cf2 mitmproxy}
			
		
		
			Bounds
			{{4.6666666467984399, 351.33332316080771}, {102.66666412353516, 130.66667175292969}}
			Class
			ShapedGraphic
			ID
			134
			ImageID
			3
			Shape
			Rectangle
			Style
			
				fill
				
					Draws
					NO
				
				shadow
				
					Draws
					NO
				
				stroke
				
					Draws
					NO
				
			
		
	
	GridInfo
	
	GuidesLocked
	NO
	GuidesVisible
	YES
	HPages
	1
	ImageCounter
	7
	ImageLinkBack
	
		
		
	
	ImageList
	
		image6.tiff
		image3.icns
	
	KeepToScale
	
	Layers
	
		
			Lock
			NO
			Name
			Layer 1
			Print
			YES
			View
			YES
		
	
	LayoutInfo
	
		Animate
		NO
		circoMinDist
		18
		circoSeparation
		0.0
		layoutEngine
		dot
		neatoSeparation
		0.0
		twopiSeparation
		0.0
	
	LinksVisible
	NO
	MagnetsVisible
	NO
	MasterSheets
	
	ModificationDate
	2013-01-03 04:16:32 +0000
	Modifier
	Aldo Cortesi
	NotesVisible
	NO
	Orientation
	2
	OriginVisible
	NO
	PageBreaks
	YES
	PrintInfo
	
		NSBottomMargin
		
			float
			41
		
		NSHorizonalPagination
		
			coded
			BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG
		
		NSLeftMargin
		
			float
			18
		
		NSPaperSize
		
			size
			{595.19998741149902, 841.79998779296875}
		
		NSPrintReverseOrientation
		
			int
			0
		
		NSRightMargin
		
			float
			18
		
		NSTopMargin
		
			float
			18
		
	
	PrintOnePage
	
	ReadOnly
	NO
	RowAlign
	1
	RowSpacing
	36
	SheetTitle
	Canvas 1
	SmartAlignmentGuidesActive
	YES
	SmartDistanceGuidesActive
	YES
	UniqueID
	1
	UseEntirePage
	
	VPages
	1
	WindowInfo
	
		CurrentSheet
		0
		ExpandedCanvases
		
			
				name
				Canvas 1
			
		
		Frame
		{{869, 248}, {974, 874}}
		ListView
		
		OutlineWidth
		142
		RightSidebar
		
		ShowRuler
		
		Sidebar
		
		SidebarWidth
		120
		VisibleRegion
		{{0, 208}, {550, 469.33333333333337}}
		Zoom
		1.5
		ZoomValues
		
			
				Canvas 1
				1.5
				1