text:
%% This BibTeX bibliography file was created using BibDesk.
%% http://bibdesk.sourceforge.net/

%% Created for Yvan Putra Satyawan at 2019-08-21 17:31:50 +0200

%% Saved with string encoding Unicode (UTF-8)

@misc{jannik,
	Date-Added = {2019-08-06 14:58:57 +0300},
	Date-Modified = {2019-08-21 17:18:36 +0200},
	Howpublished = {Interview},
	Month = {July},
	Title = {Interview with {Jannik Z{\"u}rn}},
	Year = {2019}}

@article{bayesiantds,
	Author = {Will Koehrsen},
	Date-Added = {2019-08-02 16:34:46 +0200},
	Date-Modified = {2019-08-02 16:35:48 +0200},
	Journal = {Towards Data Science},
	Month = {June},
	Title = {A Conceptual Explanation of Bayesian Hyperparameter Optimization for Machine Learning},
	Year = {2018}}

@article{backprop,
	Author = {David E. Rumelhart and Geoffrey E. Hinton and Ronald J. Williams},
	Date-Added = {2019-07-31 15:02:34 +0200},
	Date-Modified = {2019-07-31 15:03:48 +0200},
	Journal = {Nature},
	Month = {October},
	Pages = {533-536},
	Title = {Learning representations by back-propagating errors},
	Volume = {323},
	Year = {1986}}

@article{optimizer-intro,
	Author = {Daniel Sabinasz},
	Date-Added = {2019-07-01 12:14:43 +0200},
	Date-Modified = {2019-08-21 17:26:13 +0200},
	Journal = {deep ideas},
	Title = {Deep Learning From Scratch {IV}: Gradient Descent and Backpropagation},
	Year = {2017}}

@article{99pi,
	Author = {Cynthia Gorney and Delaney Hall},
	Date-Added = {2019-06-27 16:36:43 +0200},
	Date-Modified = {2019-06-27 16:39:25 +0200},
	Journal = {99 Percent Invisible},
	Month = {May},
	Title = {Curb Cuts},
	Year = {2018}}

@article{segmentation-medium,
	Author = {George Seif},
	Date-Added = {2019-06-27 15:41:04 +0200},
	Date-Modified = {2019-06-27 15:41:58 +0200},
	Journal = {Towards Data Science},
	Month = {September},
	Title = {Semantic Segmentation with Deep Learning},
	Year = {2018}}

@article{walknet,
	Author = {Andrew Abbott and Alex Deshowitz and Dennis Murray and Eric C. Larson},
	Date-Added = {2019-06-26 23:00:00 +0200},
	Date-Modified = {2019-06-26 23:01:01 +0200},
	Journal = {SMU Data Science Review},
	Number = {1},
	Title = {WalkNet: A Deep Learning Approach to Improving Sidewalk Quality and Accessibility},
	Volume = {1},
	Year = {2018}}

@inproceedings{eckhorncat,
	Author = {Reinhard Eckhorn AND Herbert J. Reitboeck AND Martin Arndt AND Peter Dicke},
	Booktitle = {International 1989 Joint Conference on Neural Networks},
	Date-Added = {2019-06-26 22:18:49 +0200},
	Date-Modified = {2019-06-26 22:22:25 +0200},
	Publisher = {IEEE},
	Title = {Feature Linking via Stimulus - Evoked Oscillations: Experimental Results from Cat Visual Cortex and Functional Implications from a Network Model},
	Year = {1989}}

@inproceedings{obelix-slam,
	Author = {Rainer K{\"u}mmerle AND Michael Ruhnke AND Bastian Steder AND Cyrill Stachniss AND Wolfram Burgard},
	Booktitle = {2013 IEEE International Conference on Robotics and Automation},
	Date-Added = {2019-06-26 21:54:33 +0200},
	Date-Modified = {2019-06-26 22:22:36 +0200},
	Month = {May},
	Publisher = {IEEE},
	Title = {A Navigation System for Robots Operating in Crowded Environments},
	Url = {https://ieeexplore.ieee.org/abstract/document/6631026},
	Year = {2013},
	Bdsk-Url-1 = {https://ieeexplore.ieee.org/abstract/document/6631026}}

@misc{europa,
	Date-Added = {2019-06-26 21:47:57 +0200},
	Date-Modified = {2019-06-26 23:26:29 +0200},
	Month = {http://europa.informatik.uni-freiburg.de},
	Title = {The European pedestrian assistant},
	Urldate = {2009},
	Year = {2009},
	Bdsk-Url-1 = {http://europa.informatik.uni-freiburg.de}}

@inproceedings{adam,
	Author = {Kingma, Diederik and Ba, Jimmy},
	Booktitle = {ICLR 2015},
	Date-Modified = {2019-08-21 17:06:07 +0200},
	Organization = {International Conference on Learning Representations (ICLR)},
	Pages = {13},
	Title = {Adam: A Method For Stochastic Optimization},
	Year = {2015}}

@inproceedings{fcn,
	Author = {Long, Jonathan and Shelhamer, Evan and Darrell, Trevor},
	Booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
	Month = {June},
	Title = {Fully Convolutional Networks for Semantic Segmentation},
	Year = {2015}}

@inproceedings{resnet,
	Author = {He, Kaiming and Zhang, Xiangyu and Ren, Shaoqing and Sun, Jian},
	Booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
	Month = {June},
	Title = {Deep Residual Learning for Image Recognition},
	Year = {2016}}

@inproceedings{vgg,
	Author = {Karen Simonyan and Andrew Zisserman},
	Bibsource = {dblp computer science bibliography, https://dblp.org},
	Biburl = {https://dblp.org/rec/bib/journals/corr/SimonyanZ14a},
	Booktitle = {3rd International Conference on Learning Representations, {ICLR} 2015, San Diego, CA, USA, May 7-9, 2015, Conference Track Proceedings},
	Crossref = {DBLP:conf/iclr/2015},
	Date-Modified = {2019-08-21 17:11:51 +0200},
	Timestamp = {Wed, 17 Jul 2019 10:40:54 +0200},
	Title = {Very Deep Convolutional Networks for Large-Scale Image Recognition},
	Url = {http://arxiv.org/abs/1409.1556},
	Year = {2015},
	Bdsk-Url-1 = {http://arxiv.org/abs/1409.1556}}

@proceedings{DBLP:conf/iclr/2015,
	Bibsource = {dblp computer science bibliography, https://dblp.org},
	Biburl = {https://dblp.org/rec/bib/conf/iclr/2015},
	Editor = {Yoshua Bengio and Yann LeCun},
	Timestamp = {Wed, 17 Jul 2019 10:40:54 +0200},
	Title = {3rd International Conference on Learning Representations, {ICLR} 2015, San Diego, CA, USA, May 7-9, 2015, Conference Track Proceedings},
	Url = {https://iclr.cc/archive/www/doku.php\%3Fid=iclr2015:accepted-main.html},
	Year = {2015},
	Bdsk-Url-1 = {https://iclr.cc/archive/www/doku.php%5C%3Fid=iclr2015:accepted-main.html}}

@inproceedings{ethobelix,
	Author = {Maye, J{\'e}r{\^o}me and Kaestner, Ralf and Siegwart, Roland},
	Booktitle = {Proceedings - IEEE International Conference on Robotics and Automation},
	Doi = {10.1109/ICRA.2012.6224593},
	Month = {05},
	Title = {Curb Detection for a Pedestrian Robot in Urban Environments},
	Year = {2012},
	Bdsk-Url-1 = {https://doi.org/10.1109/ICRA.2012.6224593}}

@article{zipcode,
	Acmid = {1351090},
	Address = {Cambridge, MA, USA},
	Author = {LeCun, Y. and Boser, B. and Denker, J. S. and Henderson, D. and Howard, R. E. and Hubbard, W. and Jackel, L. D.},
	Doi = {10.1162/neco.1989.1.4.541},
	Issn = {0899-7667},
	Issue_Date = {Winter 1989},
	Journal = {Neural Comput.},
	Month = dec,
	Number = {4},
	Numpages = {11},
	Pages = {541--551},
	Publisher = {MIT Press},
	Title = {Backpropagation Applied to Handwritten Zip Code Recognition},
	Url = {http://dx.doi.org/10.1162/neco.1989.1.4.541},
	Volume = {1},
	Year = {1989},
	Bdsk-Url-1 = {http://dx.doi.org/10.1162/neco.1989.1.4.541}}

@article{coco,
	Archiveprefix = {arXiv},
	Author = {Tsung{-}Yi Lin and Michael Maire and Serge J. Belongie and Lubomir D. Bourdev and Ross B. Girshick and James Hays and Pietro Perona and Deva Ramanan and Piotr Doll{\'{a}}r and C. Lawrence Zitnick},
	Bibsource = {dblp computer science bibliography, https://dblp.org},
	Biburl = {https://dblp.org/rec/bib/journals/corr/LinMBHPRDZ14},
	Eprint = {1405.0312},
	Journal = {CoRR},
	Timestamp = {Mon, 13 Aug 2018 16:48:13 +0200},
	Title = {Microsoft {COCO:} Common Objects in Context},
	Url = {http://arxiv.org/abs/1405.0312},
	Volume = {abs/1405.0312},
	Year = {2014},
	Bdsk-Url-1 = {http://arxiv.org/abs/1405.0312}}

@article{pascal,
	Author = {Everingham, M. and Eslami, S. M. A. and Van~Gool, L. and Williams, C. K. I. and Winn, J. and Zisserman, A.},
	Journal = {International Journal of Computer Vision},
	Month = jan,
	Number = {1},
	Pages = {98--136},
	Title = {The Pascal Visual Object Classes Challenge: A Retrospective},
	Volume = {111},
	Year = {2015}}

@inproceedings{cityscapes,
	Author = {Cordts, Marius and Omran, Mohamed and Ramos, Sebastian and Rehfeld, Timo and Enzweiler, Markus and Benenson, Rodrigo and Franke, Uwe and Roth, Stefan and Schiele, Bernt},
	Booktitle = {Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
	Title = {The Cityscapes Dataset for Semantic Urban Scene Understanding},
	Year = {2016}}

@article{cnnbiology,
	Author = {Fukushima, K.},
	Doi = {10.4249/scholarpedia.1717},
	Journal = {Scholarpedia},
	Note = {revision \#91558},
	Number = {1},
	Pages = {1717},
	Title = {{N}eocognitron},
	Volume = {2},
	Year = {2007},
	Bdsk-Url-1 = {https://doi.org/10.4249/scholarpedia.1717}}

@article{hyperband,
	Author = {Li, Lisha and Jamieson, Kevin and DeSalvo, Giulia and Rostamizadeh, Afshin and Talwalkar, Ameet},
	Journal = {Journal of Machine Learning Research},
	Month = {04},
	Pages = {1-52},
	Title = {Hyperband: A novel bandit-based approach to hyperparameter optimization},
	Volume = {18},
	Year = {2018}}

@inproceedings{bohb,
	Author = {Falkner, Stefan and Klein, Aaron and Hutter, Frank},
	Booktitle = {Proceedings of the 35th International Conference on Machine Learning (ICML 2018)},
	Month = jul,
	Pages = {1436--1445},
	Title = {{BOHB}: Robust and Efficient Hyperparameter Optimization at Scale},
	Year = {2018}}

@inproceedings{bayesian,
	Acmid = {3045349},
	Author = {Snoek, Jasper and Rippel, Oren and Swersky, Kevin and Kiros, Ryan and Satish, Nadathur and Sundaram, Narayanan and Patwary, Md. Mostofa Ali and Prabhat, Prabhat and Adams, Ryan P.},
	Booktitle = {Proceedings of the 32Nd International Conference on International Conference on Machine Learning - Volume 37},
	Date-Modified = {2019-08-02 16:36:00 +0200},
	Location = {Lille, France},
	Numpages = {10},
	Pages = {2171--2180},
	Publisher = {JMLR.org},
	Series = {ICML'15},
	Title = {Scalable Bayesian Optimization Using Deep Neural Networks},
	Url = {http://dl.acm.org/citation.cfm?id=3045118.3045349},
	Year = {2015},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=3045118.3045349}}

@inproceedings{tpe,
	Acmid = {2986743},
	Address = {USA},
	Author = {Bergstra, James and Bardenet, R{\'e}mi and Bengio, Yoshua and K{\'e}gl, Bal{\'a}zs},
	Booktitle = {Proceedings of the 24th International Conference on Neural Information Processing Systems},
	Isbn = {978-1-61839-599-3},
	Location = {Granada, Spain},
	Numpages = {9},
	Pages = {2546--2554},
	Publisher = {Curran Associates Inc.},
	Series = {NIPS'11},
	Title = {Algorithms for Hyper-parameter Optimization},
	Url = {http://dl.acm.org/citation.cfm?id=2986459.2986743},
	Year = {2011},
	Bdsk-Url-1 = {http://dl.acm.org/citation.cfm?id=2986459.2986743}}

@inproceedings{successivehalving,
	Abstract = {Motivated by the task of hyperparameter optimization, we introduce the \em non-stochastic best-arm identification problem. We identify an attractive algorithm  for this setting that makes no assumptions on the convergence behavior of the arms' losses, has no free-parameters to adjust, provably outperforms the uniform allocation baseline in favorable conditions, and performs comparably (up to \log factors) otherwise. Next, by leveraging the iterative nature of many  learning algorithms, we cast hyperparameter optimization as an instance of non-stochastic best-arm identification. Our empirical results show that, by allocating more resources to promising hyperparameter settings, our approach achieves comparable test accuracies an order of magnitude faster than the uniform strategy. The robustness and simplicity of our approach makes it well-suited to ultimately replace the uniform strategy currently used in most machine learning software packages.},
	Address = {Cadiz, Spain},
	Author = {Kevin Jamieson and Ameet Talwalkar},
	Booktitle = {Proceedings of the 19th International Conference on Artificial Intelligence and Statistics},
	Editor = {Arthur Gretton and Christian C. Robert},
	Month = {09--11 May},
	Pages = {240--248},
	Pdf = {http://proceedings.mlr.press/v51/jamieson16.pdf},
	Publisher = {PMLR},
	Series = {Proceedings of Machine Learning Research},
	Title = {Non-stochastic Best Arm Identification and Hyperparameter Optimization},
	Url = {http://proceedings.mlr.press/v51/jamieson16.html},
	Volume = {51},
	Year = {2016},
	Bdsk-Url-1 = {http://proceedings.mlr.press/v51/jamieson16.html}}

@inproceedings{deeplab,
	Author = {Chen, Liang-Chieh and Zhu, Yukun and Papandreou, George and Schroff, Florian and Adam, Hartwig},
	Booktitle = {The European Conference on Computer Vision (ECCV)},
	Month = {September},
	Title = {Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation},
	Year = {2018}}

@inproceedings{unet,
	Abstract = {There is large consent that successful training of deep networks requires many thousand annotated training samples. In this paper, we present a network and training strategy that relies on the strong use of data augmentation to use the available annotated samples more efficiently. The architecture consists of a contracting path to capture context and a symmetric expanding path that enables precise localization. We show that such a network can be trained end-to-end from very few images and outperforms the prior best method (a sliding-window convolutional network) on the ISBI challenge for segmentation of neuronal structures in electron microscopic stacks. Using the same network trained on transmitted light microscopy images (phase contrast and DIC) we won the ISBI cell tracking challenge 2015 in these categories by a large margin. Moreover, the network is fast. Segmentation of a 512x512 image takes less than a second on a recent GPU. The full implementation (based on Caffe) and the trained networks are available at http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net.},
	Address = {Cham},
	Author = {Ronneberger, Olaf and Fischer, Philipp and Brox, Thomas},
	Booktitle = {Medical Image Computing and Computer-Assisted Intervention -- MICCAI 2015},
	Editor = {Navab, Nassir and Hornegger, Joachim and Wells, William M. and Frangi, Alejandro F.},
	Isbn = {978-3-319-24574-4},
	Pages = {234--241},
	Publisher = {Springer International Publishing},
	Title = {U-Net: Convolutional Networks for Biomedical Image Segmentation},
	Year = {2015}}

@article{enet,
	Archiveprefix = {arXiv},
	Author = {Adam Paszke and Abhishek Chaurasia and Sangpil Kim and Eugenio Culurciello},
	Bibsource = {dblp computer science bibliography, https://dblp.org},
	Biburl = {https://dblp.org/rec/bib/journals/corr/PaszkeCKC16},
	Eprint = {1606.02147},
	Journal = {CoRR},
	Timestamp = {Mon, 13 Aug 2018 16:47:37 +0200},
	Title = {ENet: {A} Deep Neural Network Architecture for Real-Time Semantic Segmentation},
	Url = {http://arxiv.org/abs/1606.02147},
	Volume = {abs/1606.02147},
	Year = {2016},
	Bdsk-Url-1 = {http://arxiv.org/abs/1606.02147}}

@inproceedings{googlenet,
	Author = {Christian Szegedy and Wei Liu and Yangqing Jia and Pierre Sermanet and Scott Reed and Dragomir Anguelov and Dumitru Erhan and Vincent Vanhoucke and Andrew Rabinovich},
	Booktitle = {Computer Vision and Pattern Recognition (CVPR)},
	Title = {Going Deeper with Convolutions},
	Url = {http://arxiv.org/abs/1409.4842},
	Year = {2015},
	Bdsk-Url-1 = {http://arxiv.org/abs/1409.4842}}

@book{morphology,
	Address = {Orlando, FL, USA},
	Author = {Serra, Jean},
	Isbn = {0126372403},
	Publisher = {Academic Press, Inc.},
	Title = {Image Analysis and Mathematical Morphology},
	Year = {1983}}

@inproceedings{mapillary,
	Author = {Neuhold, Gerhard and Ollmann, Tobias and Rota Bul\`o, Samuel and Kontschieder, Peter},
	Booktitle = {International Conference on Computer Vision (ICCV)},
	Title = {The Mapillary Vistas Dataset for Semantic Understanding of Street Scenes},
	Url = {https://www.mapillary.com/dataset/vistas},
	Year = {2017},
	Bdsk-Url-1 = {https://www.mapillary.com/dataset/vistas}}

@inproceedings{imagenet,
        AUTHOR = {Deng, J. and Dong, W. and Socher, R. and Li, L.-J. and Li, K. and Fei-Fei, L.},
        TITLE = {{ImageNet: A Large-Scale Hierarchical Image Database}},
        BOOKTITLE = {CVPR09},
        YEAR = {2009},
        BIBSOURCE = "http://www.image-net.org/papers/imagenet_cvpr09.bib"}


text:
package battleground

import (
	battleground_proto "github.com/loomnetwork/gamechain/battleground/proto"
	"github.com/loomnetwork/gamechain/types/zb/zb_data"
	"github.com/loomnetwork/gamechain/types/zb/zb_enums"
	"testing"

	"github.com/gogo/protobuf/proto"
	"github.com/loomnetwork/go-loom"
	contract "github.com/loomnetwork/go-loom/plugin/contractpb"
	assert "github.com/stretchr/testify/require"
)

func TestAbilityReplaceUnitsWithTypeOnStrongerOnes(t *testing.T) {
	var c *ZombieBattleground
	var pubKeyHexString = "e4008e26428a9bca87465e8de3a8d0e9c37a56ca619d3d6202b0567528786618"
	var addr loom.Address
	var ctx contract.Context

	setupInitFromFile(c, pubKeyHexString, &addr, &ctx, t)

	player1 := "player-1"
	player2 := "player-2"

	deck0 := &zb_data.Deck{
		Id:         0,
		OverlordId: 1,
		Name:       "Default",
		Cards: []*zb_data.DeckCard{
			{CardKey: battleground_proto.CardKey{MouldId: 133}, Amount: 5},
			{CardKey: battleground_proto.CardKey{MouldId: 136}, Amount: 10},
		},
	}

	deck1 := &zb_data.Deck{
		Id:         0,
		OverlordId: 1,
		Name:       "Default",
		Cards: []*zb_data.DeckCard{
			{CardKey: battleground_proto.CardKey{MouldId: 11}, Amount: 15},
		},
	}

	t.Run("Play vortex should replace all water zombie with stronger ones", func(t *testing.T) {
		players := []*zb_data.PlayerState{
			{Id: player1, Deck: deck0},
			{Id: player2, Deck: deck1},
		}
		seed := int64(0)
		gp, err := NewGamePlay(ctx, 3, "v1", players, seed, nil, true, nil)
		assert.Nil(t, err)

		card0 := &zb_data.Card{
			Name:    "Vortex",
			Defense: 3,
			Damage:  2,
			Cost: 1,
			Faction: zb_enums.Faction_Water,
			Abilities: []*zb_data.AbilityData{
				{
					Ability: zb_enums.AbilityType_ReplaceUnitsWithTypeOnStrongerOnes,
					Trigger: zb_enums.AbilityTrigger_Entry,
				},
			},
		}
		instance0 := &zb_data.CardInstance{
			InstanceId: &zb_data.InstanceId{Id: 2},
			Instance:   newCardInstanceSpecificDataFromCardDetails(card0),
			Prototype:  proto.Clone(card0).(*zb_data.Card),
			AbilitiesInstances: []*zb_data.CardAbilityInstance{
				&zb_data.CardAbilityInstance{
					IsActive: true,
					Trigger:  card0.Abilities[0].Trigger,
					AbilityType: &zb_data.CardAbilityInstance_ReplaceUnitsWithTypeOnStrongerOnes{
						ReplaceUnitsWithTypeOnStrongerOnes: &zb_data.CardAbilityReplaceUnitsWithTypeOnStrongerOnes{
							Faction: card0.Faction,
						},
					},
				},
			},
			Zone:  zb_enums.Zone_HAND,
			Owner: player1,
		}
		instance1 := &zb_data.CardInstance{
			InstanceId: &zb_data.InstanceId{Id: 3},
			Prototype:  &zb_data.Card{},
			Instance: &zb_data.CardInstanceSpecificData{
				Defense: 5,
				Damage:  4,
				Cost: 3,
				Faction: zb_enums.Faction_Water,
			},
			Owner: player1,
		}
		instance2 := &zb_data.CardInstance{
			InstanceId: &zb_data.InstanceId{Id: 4},
			Prototype:  &zb_data.Card{},
			Instance: &zb_data.CardInstanceSpecificData{
				Defense: 5,
				Damage:  4,
				Cost: 3,
				Faction: zb_enums.Faction_Fire,
			},
			Owner: player1,
		}
		gp.State.PlayerStates[0].CardsInHand = append(gp.State.PlayerStates[0].CardsInPlay, instance0)
		gp.State.PlayerStates[0].CardsInPlay = append(gp.State.PlayerStates[0].CardsInPlay, instance1)
		gp.State.PlayerStates[0].CardsInPlay = append(gp.State.PlayerStates[0].CardsInPlay, instance2)
		// gp.DebugState()
		err = gp.AddAction(&zb_data.PlayerAction{
			ActionType: zb_enums.PlayerActionType_CardPlay,
			PlayerId:   player1,
			Action: &zb_data.PlayerAction_CardPlay{
				CardPlay: &zb_data.PlayerActionCardPlay{
					Card: &zb_data.InstanceId{Id: 2},
				},
			},
		})

		assert.Nil(t, err)
		gp.DebugState()
		assert.Equal(t, 3, len(gp.State.PlayerStates[0].CardsInPlay))
		assert.Equal(t, false, gp.State.PlayerStates[0].CardsInPlay[2].AbilitiesInstances[0].IsActive)
		assert.Equal(t, 1, len(gp.actionOutcomes[0].GetReplaceUnitsWithTypeOnStrongerOnes().NewCardInstances))
	})
}

license_type: permissive

branch_name: refs/heads/master

extension: go


text:
#
#  FindVisage.cmake
#
#  Try to find the Visage controller library
#
#  You must provide a VISAGE_ROOT_DIR which contains lib and include directories
#
#  Once done this will define
#
#  VISAGE_FOUND - system found Visage
#  VISAGE_INCLUDE_DIRS - the Visage include directory
#  VISAGE_LIBRARIES - Link this to use Visage
#
#  Created on 2/11/2014 by Andrzej Kapolka
#  Copyright 2014 High Fidelity, Inc.
#
#  Distributed under the Apache License, Version 2.0.
#  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
#

if (VISAGE_LIBRARIES AND VISAGE_INCLUDE_DIRS)
  # in cache already
  set(VISAGE_FOUND TRUE)
else ()
  find_path(VISAGE_INCLUDE_DIR VisageTracker2.h ${VISAGE_ROOT_DIR}/include)

  if (APPLE)
    find_path(VISAGE_XML_INCLUDE_DIR libxml/xmlreader.h /usr/include/libxml2)
    find_path(VISAGE_OPENCV_INCLUDE_DIR cv.h ${VISAGE_ROOT_DIR}/dependencies/OpenCV_MacOSX/include)
    find_path(VISAGE_OPENCV2_INCLUDE_DIR opencv.hpp ${VISAGE_ROOT_DIR}/dependencies/OpenCV_MacOSX/include/opencv2)
    if (VISAGE_INCLUDE_DIR AND VISAGE_XML_INCLUDE_DIR AND VISAGE_OPENCV_INCLUDE_DIR AND VISAGE_OPENCV2_INCLUDE_DIR)
      set(VISAGE_INCLUDE_DIRS
        "${VISAGE_INCLUDE_DIR};${VISAGE_XML_INCLUDE_DIR};${VISAGE_OPENCV_INCLUDE_DIR};${VISAGE_OPENCV2_INCLUDE_DIR}"
        CACHE INTERNAL "Visage include dirs")
    endif (VISAGE_INCLUDE_DIR AND VISAGE_XML_INCLUDE_DIR AND VISAGE_OPENCV_INCLUDE_DIR AND VISAGE_OPENCV2_INCLUDE_DIR)

    find_library(VISAGE_CORE_LIBRARY libvscore.a ${VISAGE_ROOT_DIR}/lib)
    find_library(VISAGE_VISION_LIBRARY libvsvision.a ${VISAGE_ROOT_DIR}/lib)
    find_library(VISAGE_OPENCV_LIBRARY libOpenCV.a ${VISAGE_ROOT_DIR}/dependencies/OpenCV_MacOSX/lib)
    if (VISAGE_CORE_LIBRARY AND VISAGE_VISION_LIBRARY AND VISAGE_OPENCV_LIBRARY)
      set(VISAGE_LIBRARIES "${VISAGE_CORE_LIBRARY};${VISAGE_VISION_LIBRARY};${VISAGE_OPENCV_LIBRARY}"
        CACHE INTERNAL "Visage libraries")
    endif (VISAGE_CORE_LIBRARY AND VISAGE_VISION_LIBRARY AND VISAGE_OPENCV_LIBRARY)

  elseif (WIN32)
    find_path(VISAGE_XML_INCLUDE_DIR libxml/xmlreader.h ${VISAGE_ROOT_DIR}/dependencies/libxml2/include)
    find_path(VISAGE_OPENCV_INCLUDE_DIR opencv/cv.h ${VISAGE_ROOT_DIR}/dependencies/OpenCV/include)
    find_path(VISAGE_OPENCV2_INCLUDE_DIR cv.h ${VISAGE_ROOT_DIR}/dependencies/OpenCV/include/opencv)
    if (VISAGE_INCLUDE_DIR AND VISAGE_XML_INCLUDE_DIR AND VISAGE_OPENCV_INCLUDE_DIR AND VISAGE_OPENCV2_INCLUDE_DIR)
      set(VISAGE_INCLUDE_DIRS
        "${VISAGE_INCLUDE_DIR};${VISAGE_XML_INCLUDE_DIR};${VISAGE_OPENCV_INCLUDE_DIR};${VISAGE_OPENCV2_INCLUDE_DIR}"
        CACHE INTERNAL "Visage include dirs")
    endif (VISAGE_INCLUDE_DIR AND VISAGE_XML_INCLUDE_DIR AND VISAGE_OPENCV_INCLUDE_DIR AND VISAGE_OPENCV2_INCLUDE_DIR)

    find_library(VISAGE_CORE_LIBRARY vscore.lib ${VISAGE_ROOT_DIR}/lib)
    find_library(VISAGE_VISION_LIBRARY vsvision.lib ${VISAGE_ROOT_DIR}/lib)
    find_library(VISAGE_OPENCV_LIBRARY opencv_core243.lib ${VISAGE_ROOT_DIR}/dependencies/OpenCV/lib)
    if (VISAGE_CORE_LIBRARY AND VISAGE_VISION_LIBRARY AND VISAGE_OPENCV_LIBRARY)
      set(VISAGE_LIBRARIES "${VISAGE_CORE_LIBRARY};${VISAGE_VISION_LIBRARY};${VISAGE_OPENCV_LIBRARY}"
        CACHE INTERNAL "Visage libraries")
    endif (VISAGE_CORE_LIBRARY AND VISAGE_VISION_LIBRARY AND VISAGE_OPENCV_LIBRARY)

  endif ()

  if (VISAGE_INCLUDE_DIRS AND VISAGE_LIBRARIES)
     set(VISAGE_FOUND TRUE)
  endif (VISAGE_INCLUDE_DIRS AND VISAGE_LIBRARIES)

  if (VISAGE_FOUND)
    if (NOT VISAGE_FIND_QUIETLY)
      message(STATUS "Found Visage: ${VISAGE_LIBRARIES}")
    endif (NOT VISAGE_FIND_QUIETLY)
  else (VISAGE_FOUND)
    if (VISAGE_FIND_REQUIRED)
      message(FATAL_ERROR "Could not find Visage")
    endif (VISAGE_FIND_REQUIRED)
  endif (VISAGE_FOUND)

  # show the VISAGE_INCLUDE_DIRS and VISAGE_LIBRARIES variables only in the advanced view
  mark_as_advanced(VISAGE_INCLUDE_DIRS VISAGE_LIBRARIES)

endif ()

extension: cmake


text:
// Copyright 2020 the u-root Authors. All rights reserved
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package main

import (
	"os/exec"
	"syscall"
	"unsafe"
)

func exitWithStatus(err *exec.ExitError) {
	// DAMN. os.Exit ABI is an int :-(
	// This does not play nice with Plan 9.
	cp := unsafe.Pointer(&[]byte(err.Error())[0])
	syscall.Syscall(8, uintptr(cp), 0, 0)
}

func lowpriority() error {
	// TODO: write pri 0 to /proc/<me>/ctl
	return nil
}

repository: lynxis/u-root

repo_name: lynxis/u-root


text:
//---------------------------------------------------------------------------

#ifndef GetInfoH
#define GetInfoH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "RXSlider.hpp"
#include "ToolEdit.hpp"
#include <Mask.hpp>
#include "RxCombos.hpp"
#include "Placemnt.hpp"
//---------------------------------------------------------------------------
class TfrmGetInfo : public TForm
{
__published:	// IDE-managed Components
    TFilenameEdit *fedOriginal;
    TFilenameEdit *fedChanged;
    TRxSlider *sldTransparency;
    TColorComboBox *ccbxColour;
    TButton *btnOK;
    TButton *btnCancel;
    TLabel *Label1;
    TLabel *Label2;
    TLabel *Label3;
    TLabel *Label4;
    TFormStorage *FormStorageSelect;
private:	// User declarations
public:		// User declarations
    __fastcall TfrmGetInfo(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TfrmGetInfo *frmGetInfo;
//---------------------------------------------------------------------------
#endif

license: MIT

repository: TrevorDArcyEvans/Diving-Magpie-Software

repo_name: TrevorDArcyEvans/Diving-Magpie-Software

extension: h


text:
package lachesis

import (
	"math/big"
	"time"

	ethparams "github.com/ethereum/go-ethereum/params"

	"github.com/Fantom-foundation/go-lachesis/inter"
	"github.com/Fantom-foundation/go-lachesis/inter/idx"
	"github.com/Fantom-foundation/go-lachesis/lachesis/genesis"
	"github.com/Fantom-foundation/go-lachesis/lachesis/params"
	"github.com/Fantom-foundation/go-lachesis/utils"
	"github.com/Fantom-foundation/go-lachesis/vector"
)

const (
	MainNetworkID uint64 = 0xfa
	TestNetworkID uint64 = 0xfa2
	FakeNetworkID uint64 = 0xfa3
)

var (
	// PercentUnit is used to define ratios with integers, it's 1.0
	PercentUnit = big.NewInt(1e6)
)

// GasPowerConfig defines gas power rules in the consensus.
type GasPowerConfig struct {
	InitialAllocPerSec uint64          `json:"initialAllocPerSec"`
	MaxAllocPerSec     uint64          `json:"maxAllocPerSec"`
	MinAllocPerSec     uint64          `json:"minAllocPerSec"`
	MaxAllocPeriod     inter.Timestamp `json:"maxAllocPeriod"`
	StartupAllocPeriod inter.Timestamp `json:"startupAllocPeriod"`
	MinStartupGas      uint64          `json:"minStartupGas"`
}

// DagConfig of Lachesis DAG (directed acyclic graph).
type DagConfig struct {
	MaxParents     int `json:"maxParents"`
	MaxFreeParents int `json:"maxFreeParents"` // maximum number of parents with no gas cost

	MaxEpochBlocks   idx.Frame     `json:"maxEpochBlocks"`
	MaxEpochDuration time.Duration `json:"maxEpochDuration"`

	VectorClockConfig vector.IndexConfig `json:"vectorClockConfig"`

	MaxValidatorEventsInBlock idx.Event `json:"maxValidatorEventsInBlock"`
}

// BlocksMissed is information about missed blocks from a staker
type BlocksMissed struct {
	BlocksNum idx.Block
	Period    time.Duration
}

// EconomyConfig contains economy constants
type EconomyConfig struct {
	PoiPeriodDuration              time.Duration
	BlockMissedLatency             idx.Block
	InitialOfflinePenaltyThreshold BlocksMissed
	TxRewardPoiImpact              *big.Int
	InitialRewardPerSecond         *big.Int
	InitialMinGasPrice             *big.Int
	MaxRewardPerSecond             *big.Int

	ShortGasPower GasPowerConfig `json:"shortGasPower"`
	LongGasPower  GasPowerConfig `json:"longGasPower"`
}

// BlocksConfig contains blocks constants
type BlocksConfig struct {
	BlockGasHardLimit uint64 `json:"maxBlockGasLimit"` // technical hard limit, gas is mostly governed by gas power allocation
}

// Config describes lachesis net.
type Config struct {
	Name      string
	NetworkID uint64

	Genesis genesis.Genesis

	// Graph options
	Dag DagConfig

	// Blockchain options
	Blocks BlocksConfig

	// Economy options
	Economy EconomyConfig
}

// EvmChainConfig returns ChainConfig for transaction signing and execution
func (c *Config) EvmChainConfig() *ethparams.ChainConfig {
	cfg := *ethparams.AllEthashProtocolChanges
	cfg.ChainID = new(big.Int).SetUint64(c.NetworkID)
	return &cfg
}

func MainNetConfig() Config {
	return Config{
		Name:      "main",
		NetworkID: MainNetworkID,
		Genesis:   genesis.MainGenesis(),
		Dag:       DefaultDagConfig(),
		Economy:   DefaultEconomyConfig(),
		Blocks: BlocksConfig{
			BlockGasHardLimit: 20000000,
		},
	}
}

func TestNetConfig() Config {
	return Config{
		Name:      "test",
		NetworkID: TestNetworkID,
		Genesis:   genesis.TestGenesis(),
		Dag:       DefaultDagConfig(),
		Economy:   DefaultEconomyConfig(),
		Blocks: BlocksConfig{
			BlockGasHardLimit: 20000000,
		},
	}
}

func FakeNetConfig(accs genesis.VAccounts) Config {
	return Config{
		Name:      "fake",
		NetworkID: FakeNetworkID,
		Genesis:   genesis.FakeGenesis(accs),
		Dag:       FakeNetDagConfig(),
		Economy:   FakeEconomyConfig(),
		Blocks: BlocksConfig{
			BlockGasHardLimit: 20000000,
		},
	}
}

// DefaultEconomyConfig returns mainnet economy
func DefaultEconomyConfig() EconomyConfig {
	// 45%
	txRewardPoiImpact := new(big.Int).Mul(big.NewInt(45), PercentUnit)
	txRewardPoiImpact.Div(txRewardPoiImpact, big.NewInt(100))

	initialRewardPerSecond := new(big.Int).Add(utils.ToFren(16), big.NewInt(483988584467592592)) // 16.483988584467592592 FREN per sec, or 1424216,6136 FREN per day
	maxRewardPerSecond := new(big.Int).Mul(initialRewardPerSecond, big.NewInt(2))

	return EconomyConfig{
		PoiPeriodDuration:      30 * 24 * time.Hour,
		BlockMissedLatency:     3,
		TxRewardPoiImpact:      txRewardPoiImpact,
		InitialRewardPerSecond: initialRewardPerSecond,
		InitialMinGasPrice:     big.NewInt(1e9),
		MaxRewardPerSecond:     maxRewardPerSecond,
		InitialOfflinePenaltyThreshold: BlocksMissed{
			BlocksNum: 1000,
			Period:    24 * time.Hour,
		},
		ShortGasPower: DefaultShortGasPowerConfig(),
		LongGasPower:  DefaulLongGasPowerConfig(),
	}
}

// FakeEconomyConfig returns fakenet economy
func FakeEconomyConfig() EconomyConfig {
	cfg := DefaultEconomyConfig()
	cfg.PoiPeriodDuration = 15 * time.Minute
	cfg.InitialOfflinePenaltyThreshold.Period = 10 * time.Minute
	cfg.InitialOfflinePenaltyThreshold.BlocksNum = 10
	cfg.ShortGasPower = FakeShortGasPowerConfig()
	cfg.LongGasPower = FakeLongGasPowerConfig()
	return cfg
}

func DefaultDagConfig() DagConfig {
	return DagConfig{
		MaxParents:                10,
		MaxFreeParents:            3,
		MaxEpochBlocks:            1000,
		MaxEpochDuration:          4 * time.Hour,
		MaxValidatorEventsInBlock: 50,
		VectorClockConfig:         vector.DefaultIndexConfig(),
	}
}

func FakeNetDagConfig() DagConfig {
	cfg := DefaultDagConfig()
	cfg.MaxEpochBlocks = 200
	cfg.MaxEpochDuration = 10 * time.Minute
	return cfg
}

// DefaulLongGasPowerConfig is long-window config
func DefaulLongGasPowerConfig() GasPowerConfig {
	return GasPowerConfig{
		InitialAllocPerSec: 100 * params.EventGas,
		MaxAllocPerSec:     1000 * params.EventGas,
		MinAllocPerSec:     10 * params.EventGas,
		MaxAllocPeriod:     inter.Timestamp(60 * time.Minute),
		StartupAllocPeriod: inter.Timestamp(5 * time.Second),
		MinStartupGas:      params.EventGas * 20,
	}
}

// DefaultShortGasPowerConfig is short-window config
func DefaultShortGasPowerConfig() GasPowerConfig {
	// 5x faster allocation rate, 12x lower max accumulated gas power
	cfg := DefaulLongGasPowerConfig()
	cfg.InitialAllocPerSec *= 5
	cfg.MaxAllocPerSec *= 5
	cfg.MinAllocPerSec *= 5
	cfg.StartupAllocPeriod /= 5
	cfg.MaxAllocPeriod /= 5 * 12
	return cfg
}

// FakeLongGasPowerConfig is fake long-window config
func FakeLongGasPowerConfig() GasPowerConfig {
	config := DefaulLongGasPowerConfig()
	config.InitialAllocPerSec *= 1000
	config.MaxAllocPerSec *= 1000
	return config
}

// FakeShortGasPowerConfig is fake short-window config
func FakeShortGasPowerConfig() GasPowerConfig {
	config := DefaultShortGasPowerConfig()
	config.InitialAllocPerSec *= 1000
	config.MaxAllocPerSec *= 1000
	return config
}

repository: SPIRY-RO/go-lachesis

repo_name: SPIRY-RO/go-lachesis


text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="6.1">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
<setting verticaltext="up"/>
</settings>
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
<layer number="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="no"/>
<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="no" active="no"/>
<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="no" active="no"/>
<layer number="56" name="wert" color="7" fill="1" visible="no" active="no"/>
<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
<layer number="100" name="Muster" color="7" fill="1" visible="yes" active="yes"/>
<layer number="101" name="Flex-Kleb" color="1" fill="7" visible="yes" active="yes"/>
<layer number="102" name="fp2" color="7" fill="1" visible="yes" active="yes"/>
<layer number="103" name="fp3" color="7" fill="1" visible="yes" active="yes"/>
<layer number="104" name="fp4" color="7" fill="1" visible="yes" active="yes"/>
<layer number="105" name="Beschreib" color="9" fill="1" visible="yes" active="yes"/>
<layer number="106" name="BGA-Top" color="4" fill="1" visible="yes" active="yes"/>
<layer number="107" name="BD-Top" color="5" fill="1" visible="yes" active="yes"/>
<layer number="108" name="fp8" color="7" fill="1" visible="yes" active="yes"/>
<layer number="109" name="fp9" color="7" fill="1" visible="yes" active="yes"/>
<layer number="110" name="fp0" color="7" fill="1" visible="yes" active="yes"/>
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="yes" active="yes"/>
<layer number="121" name="tTestdril" color="7" fill="1" visible="yes" active="yes"/>
<layer number="122" name="bTestdril" color="7" fill="1" visible="yes" active="yes"/>
<layer number="123" name="tTestmark" color="7" fill="1" visible="yes" active="yes"/>
<layer number="124" name="bTestmark" color="7" fill="1" visible="yes" active="yes"/>
<layer number="125" name="_tNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="131" name="tAdjust" color="7" fill="1" visible="yes" active="yes"/>
<layer number="132" name="bAdjust" color="7" fill="1" visible="yes" active="yes"/>
<layer number="144" name="Drill_legend" color="7" fill="1" visible="no" active="yes"/>
<layer number="151" name="HeatSink" color="7" fill="1" visible="no" active="yes"/>
<layer number="200" name="200bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="201" name="201bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="202" name="202bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="203" name="203bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="204" name="204bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="205" name="205bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="206" name="206bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="207" name="207bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="208" name="208bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="209" name="209bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="210" name="210bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="211" name="211bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="212" name="212bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="213" name="213bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="214" name="214bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="215" name="215bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="216" name="216bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="217" name="217bmp" color="18" fill="1" visible="no" active="no"/>
<layer number="218" name="218bmp" color="19" fill="1" visible="no" active="no"/>
<layer number="219" name="219bmp" color="20" fill="1" visible="no" active="no"/>
<layer number="220" name="220bmp" color="21" fill="1" visible="no" active="no"/>
<layer number="221" name="221bmp" color="22" fill="1" visible="no" active="no"/>
<layer number="222" name="222bmp" color="23" fill="1" visible="no" active="no"/>
<layer number="223" name="223bmp" color="24" fill="1" visible="no" active="no"/>
<layer number="224" name="224bmp" color="25" fill="1" visible="no" active="no"/>
<layer number="250" name="Descript" color="3" fill="1" visible="no" active="no"/>
<layer number="251" name="SMDround" color="12" fill="11" visible="no" active="no"/>
<layer number="254" name="OrgLBR" color="7" fill="1" visible="yes" active="yes"/>
</layers>
<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
<libraries>
<library name="TI_MSP430_v16">
<packages>
<package name="PM/PAG64">
<description>*** TI: PM *** JEDEC: S-PQFP-G64 *** 64 PINS ***</description>
<wire x1="-5" y1="-5" x2="5" y2="-5" width="0.127" layer="21"/>
<wire x1="5" y1="-5" x2="5" y2="5" width="0.127" layer="21"/>
<wire x1="5" y1="5" x2="-5" y2="5" width="0.127" layer="21"/>
<wire x1="-5" y1="5" x2="-5" y2="-5" width="0.127" layer="21"/>
<circle x="-4.365" y="4.398" radius="0.2839" width="0.127" layer="21"/>
<smd name="17" x="-3.75" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="18" x="-3.25" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="19" x="-2.75" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="20" x="-2.25" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="21" x="-1.75" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="22" x="-1.25" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="23" x="-0.75" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="24" x="-0.25" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="25" x="0.25" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="26" x="0.75" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="27" x="1.25" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="28" x="1.75" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="29" x="2.25" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="30" x="2.75" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="31" x="3.25" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="32" x="3.75" y="-5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="64" x="-3.75" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="63" x="-3.25" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="62" x="-2.75" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="61" x="-2.25" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="60" x="-1.75" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="59" x="-1.25" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="58" x="-0.75" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="57" x="-0.25" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="56" x="0.25" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="55" x="0.75" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="54" x="1.25" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="53" x="1.75" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="52" x="2.25" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="51" x="2.75" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="50" x="3.25" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="49" x="3.75" y="5.8" dx="0.3" dy="1.4" layer="1"/>
<smd name="1" x="-5.8" y="3.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="2" x="-5.8" y="3.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="3" x="-5.8" y="2.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="4" x="-5.8" y="2.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="5" x="-5.8" y="1.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="6" x="-5.8" y="1.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="7" x="-5.8" y="0.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="8" x="-5.8" y="0.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="9" x="-5.8" y="-0.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="10" x="-5.8" y="-0.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="11" x="-5.8" y="-1.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="12" x="-5.8" y="-1.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="13" x="-5.8" y="-2.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="14" x="-5.8" y="-2.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="15" x="-5.8" y="-3.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="16" x="-5.8" y="-3.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="48" x="5.8" y="3.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="47" x="5.8" y="3.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="46" x="5.8" y="2.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="45" x="5.8" y="2.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="44" x="5.8" y="1.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="43" x="5.8" y="1.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="42" x="5.8" y="0.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="41" x="5.8" y="0.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="40" x="5.8" y="-0.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="39" x="5.8" y="-0.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="38" x="5.8" y="-1.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="37" x="5.8" y="-1.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="36" x="5.8" y="-2.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="35" x="5.8" y="-2.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="34" x="5.8" y="-3.25" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<smd name="33" x="5.8" y="-3.75" dx="0.3" dy="1.4" layer="1" rot="R90"/>
<text x="-3.54" y="-2.95" size="1.27" layer="27" ratio="10">>VALUE</text>
<text x="-3.155" y="1.525" size="1.27" layer="25" ratio="10">>NAME</text>
<rectangle x1="-3.89" y1="5.06" x2="-3.61" y2="6.03" layer="27"/>
<rectangle x1="-3.39" y1="5.06" x2="-3.11" y2="6.03" layer="27"/>
<rectangle x1="-2.89" y1="5.06" x2="-2.61" y2="6.03" layer="27"/>
<rectangle x1="-2.39" y1="5.06" x2="-2.11" y2="6.03" layer="27"/>
<rectangle x1="-1.89" y1="5.06" x2="-1.61" y2="6.03" layer="27"/>
<rectangle x1="-1.39" y1="5.06" x2="-1.11" y2="6.03" layer="27"/>
<rectangle x1="-0.89" y1="5.06" x2="-0.61" y2="6.03" layer="27"/>
<rectangle x1="-0.39" y1="5.06" x2="-0.11" y2="6.03" layer="27"/>
<rectangle x1="0.11" y1="5.06" x2="0.39" y2="6.03" layer="27"/>
<rectangle x1="0.61" y1="5.06" x2="0.89" y2="6.03" layer="27"/>
<rectangle x1="1.11" y1="5.06" x2="1.39" y2="6.03" layer="27"/>
<rectangle x1="1.61" y1="5.06" x2="1.89" y2="6.03" layer="27"/>
<rectangle x1="2.11" y1="5.06" x2="2.39" y2="6.03" layer="27"/>
<rectangle x1="2.61" y1="5.06" x2="2.89" y2="6.03" layer="27"/>
<rectangle x1="3.11" y1="5.06" x2="3.39" y2="6.03" layer="27"/>
<rectangle x1="3.61" y1="5.06" x2="3.89" y2="6.03" layer="27"/>
<rectangle x1="-3.89" y1="-6.03" x2="-3.61" y2="-5.06" layer="27"/>
<rectangle x1="-3.39" y1="-6.03" x2="-3.11" y2="-5.06" layer="27"/>
<rectangle x1="-2.89" y1="-6.03" x2="-2.61" y2="-5.06" layer="27"/>
<rectangle x1="-2.39" y1="-6.03" x2="-2.11" y2="-5.06" layer="27"/>
<rectangle x1="-1.89" y1="-6.03" x2="-1.61" y2="-5.06" layer="27"/>
<rectangle x1="-1.39" y1="-6.03" x2="-1.11" y2="-5.06" layer="27"/>
<rectangle x1="-0.89" y1="-6.03" x2="-0.61" y2="-5.06" layer="27"/>
<rectangle x1="-0.39" y1="-6.03" x2="-0.11" y2="-5.06" layer="27"/>
<rectangle x1="0.11" y1="-6.03" x2="0.39" y2="-5.06" layer="27"/>
<rectangle x1="0.61" y1="-6.03" x2="0.89" y2="-5.06" layer="27"/>
<rectangle x1="1.11" y1="-6.03" x2="1.39" y2="-5.06" layer="27"/>
<rectangle x1="1.61" y1="-6.03" x2="1.89" y2="-5.06" layer="27"/>
<rectangle x1="2.11" y1="-6.03" x2="2.39" y2="-5.06" layer="27"/>
<rectangle x1="2.61" y1="-6.03" x2="2.89" y2="-5.06" layer="27"/>
<rectangle x1="3.11" y1="-6.03" x2="3.39" y2="-5.06" layer="27"/>
<rectangle x1="3.61" y1="-6.03" x2="3.89" y2="-5.06" layer="27"/>
<rectangle x1="5.405" y1="3.265" x2="5.685" y2="4.235" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="2.765" x2="5.685" y2="3.735" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="2.265" x2="5.685" y2="3.235" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="1.765" x2="5.685" y2="2.735" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="1.265" x2="5.685" y2="2.235" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="0.765" x2="5.685" y2="1.735" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="0.265" x2="5.685" y2="1.235" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="-0.235" x2="5.685" y2="0.735" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="-0.735" x2="5.685" y2="0.235" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="-1.235" x2="5.685" y2="-0.265" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="-1.735" x2="5.685" y2="-0.765" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="-2.235" x2="5.685" y2="-1.265" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="-2.735" x2="5.685" y2="-1.765" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="-3.235" x2="5.685" y2="-2.265" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="-3.735" x2="5.685" y2="-2.765" layer="27" rot="R270"/>
<rectangle x1="5.405" y1="-4.235" x2="5.685" y2="-3.265" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="3.265" x2="-5.405" y2="4.235" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="2.765" x2="-5.405" y2="3.735" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="2.265" x2="-5.405" y2="3.235" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="1.765" x2="-5.405" y2="2.735" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="1.265" x2="-5.405" y2="2.235" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="0.765" x2="-5.405" y2="1.735" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="0.265" x2="-5.405" y2="1.235" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="-0.235" x2="-5.405" y2="0.735" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="-0.735" x2="-5.405" y2="0.235" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="-1.235" x2="-5.405" y2="-0.265" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="-1.735" x2="-5.405" y2="-0.765" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="-2.235" x2="-5.405" y2="-1.265" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="-2.735" x2="-5.405" y2="-1.765" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="-3.235" x2="-5.405" y2="-2.265" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="-3.735" x2="-5.405" y2="-2.765" layer="27" rot="R270"/>
<rectangle x1="-5.685" y1="-4.235" x2="-5.405" y2="-3.265" layer="27" rot="R270"/>
</package>
</packages>
<symbols>
<symbol name="F24X/F2410---PM64">
<wire x1="-35.56" y1="33.02" x2="38.1" y2="33.02" width="0.254" layer="94"/>
<wire x1="38.1" y1="33.02" x2="38.1" y2="-40.64" width="0.254" layer="94"/>
<wire x1="38.1" y1="-40.64" x2="-35.56" y2="-40.64" width="0.254" layer="94"/>
<wire x1="-35.56" y1="-40.64" x2="-35.56" y2="33.02" width="0.254" layer="94"/>
<circle x="-30.48" y="27.94" radius="1.27" width="0.254" layer="94"/>
<text x="-17.78" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">AVcc</text>
<text x="-15.24" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">DVss</text>
<text x="-12.7" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">AVss</text>
<text x="-10.16" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">P6.2/A2</text>
<text x="-7.62" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">P6.1/A1</text>
<text x="-5.08" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">P6.0/A0</text>
<text x="-2.54" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">RST/NMI</text>
<text x="0" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">TCK</text>
<text x="2.54" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">TMS</text>
<text x="5.08" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">TDI/TCLK</text>
<text x="7.62" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">TDO/TDI</text>
<text x="10.16" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">XT2IN</text>
<text x="12.7" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">XT2OUT</text>
<text x="15.24" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">P5.7/TBOUTH/SVSOUT</text>
<text x="17.78" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">P5.6/ACLK</text>
<text x="20.32" y="31.75" size="1.016" layer="95" font="vector" rot="MR270">P5.5/SMCLK</text>
<text x="-34.29" y="15.24" size="1.016" layer="95" font="vector">DVcc</text>
<text x="-34.29" y="12.7" size="1.016" layer="95" font="vector">P6.3/A3</text>
<text x="-34.29" y="10.16" size="1.016" layer="95" font="vector">P6.4/A4</text>
<text x="-34.29" y="7.62" size="1.016" layer="95" font="vector">P6.5/A5</text>
<text x="-34.29" y="5.08" size="1.016" layer="95" font="vector">P6.6/A6</text>
<text x="-34.29" y="2.54" size="1.016" layer="95" font="vector">P6.7/A7/SVSIN</text>
<text x="-34.29" y="0" size="1.016" layer="95" font="vector">Vref+</text>
<text x="-34.29" y="-2.54" size="1.016" layer="95" font="vector">XIN</text>
<text x="-34.29" y="-5.08" size="1.016" layer="95" font="vector">XOUT</text>
<text x="-34.29" y="-7.62" size="1.016" layer="95" font="vector">Veref+</text>
<text x="-34.29" y="-10.16" size="1.016" layer="95" font="vector">Vref-/Veref-</text>
<text x="-34.29" y="-12.7" size="1.016" layer="95" font="vector">P1.0/TACLK/CAOUT</text>
<text x="-34.29" y="-15.24" size="1.016" layer="95" font="vector">P1.1/TA0</text>
<text x="-34.29" y="-17.78" size="1.016" layer="95" font="vector">P1.2/TA1</text>
<text x="-34.29" y="-20.32" size="1.016" layer="95" font="vector">P1.3/TA2</text>
<text x="-34.29" y="-22.86" size="1.016" layer="95" font="vector">P1.4/SMCLK</text>
<text x="-17.78" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P1.5/TA0</text>
<text x="-15.24" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P1.6/TA1</text>
<text x="-12.7" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P1.7/TA2</text>
<text x="-10.16" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P2.0/ACLK/CA2</text>
<text x="-7.62" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P2.1/TAINCLK/CA3</text>
<text x="-5.08" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P2.2/CAOUT/TA0/CA4</text>
<text x="-2.54" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P2.3/CA0/TA1</text>
<text x="0" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P2.4/CA1/TA2</text>
<text x="2.54" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P2.5/Rosc/CA5</text>
<text x="5.08" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P2.6/ADC12CLK/CA6</text>
<text x="7.62" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P2.7/TA0/CA7</text>
<text x="10.16" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P3.0/UCB0STE/...</text>
<text x="12.7" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P3.1/UCB0SIMO/...</text>
<text x="15.24" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P3.2/UCB0SOMI/...</text>
<text x="17.78" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P3.3/UCB0CLK/...</text>
<text x="20.32" y="-39.37" size="1.016" layer="95" font="vector" rot="R90">P3.4/UCA0TXD/...</text>
<text x="36.83" y="15.24" size="1.016" layer="95" font="vector" rot="MR0">P5.4/MCLK</text>
<text x="36.83" y="12.7" size="1.016" layer="95" font="vector" rot="MR0">P5.3/UCB1CLK/UCA1STE</text>
<text x="36.83" y="10.16" size="1.016" layer="95" font="vector" rot="MR0">P5.2/UCB1SOMI/UCB1SCL</text>
<text x="36.83" y="7.62" size="1.016" layer="95" font="vector" rot="MR0">P5.1/UCB1SIMO/UCB1SDA</text>
<text x="36.83" y="5.08" size="1.016" layer="95" font="vector" rot="MR0">P5.0/UCB1STE/UCA1CLK</text>
<text x="36.83" y="2.54" size="1.016" layer="95" font="vector" rot="MR0">P4.7/TBCLK</text>
<text x="36.83" y="0" size="1.016" layer="95" font="vector" rot="MR0">P4.6/TB6</text>
<text x="36.83" y="-2.54" size="1.016" layer="95" font="vector" rot="MR0">P4.5/TB5</text>
<text x="36.83" y="-5.08" size="1.016" layer="95" font="vector" rot="MR0">P4.4/TB4</text>
<text x="36.83" y="-7.62" size="1.016" layer="95" font="vector" rot="MR0">P4.3/TB3</text>
<text x="36.83" y="-10.16" size="1.016" layer="95" font="vector" rot="MR0">P4.2/TB2</text>
<text x="36.83" y="-12.7" size="1.016" layer="95" font="vector" rot="MR0">P4.1/TB1</text>
<text x="36.83" y="-15.24" size="1.016" layer="95" font="vector" rot="MR0">P4.0/TB0</text>
<text x="36.83" y="-17.78" size="1.016" layer="95" font="vector" rot="MR0">P3.7/UCA1RXD/UCA1SOMI</text>
<text x="36.83" y="-20.32" size="1.016" layer="95" font="vector" rot="MR0">P3.6/UCA1TXD/UCA1SIMO</text>
<text x="36.83" y="-22.86" size="1.016" layer="95" font="vector" rot="MR0">P3.5/UCA0RXD/UCA0SOMI</text>
<text x="-15.24" y="-5.08" size="3.81" layer="96" font="vector">MSP430F24x</text>
<text x="-7.62" y="10.16" size="3.81" layer="95" font="vector">>NAME</text>
<text x="-15.24" y="-10.16" size="3.81" layer="96" font="vector">MSP430F2410</text>
<pin name="64" x="-17.78" y="38.1" visible="pad" length="middle" direction="pwr" rot="R270"/>
<pin name="63" x="-15.24" y="38.1" visible="pad" length="middle" direction="pwr" rot="R270"/>
<pin name="62" x="-12.7" y="38.1" visible="pad" length="middle" direction="pwr" rot="R270"/>
<pin name="61" x="-10.16" y="38.1" visible="pad" length="middle" rot="R270"/>
<pin name="60" x="-7.62" y="38.1" visible="pad" length="middle" rot="R270"/>
<pin name="59" x="-5.08" y="38.1" visible="pad" length="middle" rot="R270"/>
<pin name="58" x="-2.54" y="38.1" visible="pad" length="middle" direction="in" rot="R270"/>
<pin name="57" x="0" y="38.1" visible="pad" length="middle" direction="in" rot="R270"/>
<pin name="56" x="2.54" y="38.1" visible="pad" length="middle" direction="in" rot="R270"/>
<pin name="55" x="5.08" y="38.1" visible="pad" length="middle" direction="in" rot="R270"/>
<pin name="54" x="7.62" y="38.1" visible="pad" length="middle" rot="R270"/>
<pin name="53" x="10.16" y="38.1" visible="pad" length="middle" direction="in" rot="R270"/>
<pin name="52" x="12.7" y="38.1" visible="pad" length="middle" direction="out" rot="R270"/>
<pin name="51" x="15.24" y="38.1" visible="pad" length="middle" rot="R270"/>
<pin name="50" x="17.78" y="38.1" visible="pad" length="middle" rot="R270"/>
<pin name="49" x="20.32" y="38.1" visible="pad" length="middle" rot="R270"/>
<pin name="48" x="43.18" y="15.24" visible="pad" length="middle" rot="R180"/>
<pin name="47" x="43.18" y="12.7" visible="pad" length="middle" rot="R180"/>
<pin name="46" x="43.18" y="10.16" visible="pad" length="middle" rot="R180"/>
<pin name="45" x="43.18" y="7.62" visible="pad" length="middle" rot="R180"/>
<pin name="44" x="43.18" y="5.08" visible="pad" length="middle" rot="R180"/>
<pin name="43" x="43.18" y="2.54" visible="pad" length="middle" rot="R180"/>
<pin name="42" x="43.18" y="0" visible="pad" length="middle" rot="R180"/>
<pin name="41" x="43.18" y="-2.54" visible="pad" length="middle" rot="R180"/>
<pin name="40" x="43.18" y="-5.08" visible="pad" length="middle" rot="R180"/>
<pin name="39" x="43.18" y="-7.62" visible="pad" length="middle" rot="R180"/>
<pin name="38" x="43.18" y="-10.16" visible="pad" length="middle" rot="R180"/>
<pin name="37" x="43.18" y="-12.7" visible="pad" length="middle" rot="R180"/>
<pin name="36" x="43.18" y="-15.24" visible="pad" length="middle" rot="R180"/>
<pin name="35" x="43.18" y="-17.78" visible="pad" length="middle" rot="R180"/>
<pin name="34" x="43.18" y="-20.32" visible="pad" length="middle" rot="R180"/>
<pin name="33" x="43.18" y="-22.86" visible="pad" length="middle" rot="R180"/>
<pin name="32" x="20.32" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="31" x="17.78" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="30" x="15.24" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="29" x="12.7" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="28" x="10.16" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="27" x="7.62" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="26" x="5.08" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="25" x="2.54" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="24" x="0" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="23" x="-2.54" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="22" x="-5.08" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="21" x="-7.62" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="20" x="-10.16" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="19" x="-12.7" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="18" x="-15.24" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="17" x="-17.78" y="-45.72" visible="pad" length="middle" rot="R90"/>
<pin name="16" x="-40.64" y="-22.86" visible="pad" length="middle"/>
<pin name="1" x="-40.64" y="15.24" visible="pad" length="middle" direction="pwr"/>
<pin name="2" x="-40.64" y="12.7" visible="pad" length="middle"/>
<pin name="3" x="-40.64" y="10.16" visible="pad" length="middle"/>
<pin name="4" x="-40.64" y="7.62" visible="pad" length="middle"/>
<pin name="5" x="-40.64" y="5.08" visible="pad" length="middle"/>
<pin name="6" x="-40.64" y="2.54" visible="pad" length="middle"/>
<pin name="7" x="-40.64" y="0" visible="pad" length="middle" direction="out"/>
<pin name="8" x="-40.64" y="-2.54" visible="pad" length="middle" direction="in"/>
<pin name="9" x="-40.64" y="-5.08" visible="pad" length="middle" direction="out"/>
<pin name="11" x="-40.64" y="-10.16" visible="pad" length="middle" direction="in"/>
<pin name="12" x="-40.64" y="-12.7" visible="pad" length="middle"/>
<pin name="13" x="-40.64" y="-15.24" visible="pad" length="middle"/>
<pin name="14" x="-40.64" y="-17.78" visible="pad" length="middle"/>
<pin name="15" x="-40.64" y="-20.32" visible="pad" length="middle"/>
<pin name="10" x="-40.64" y="-7.62" visible="pad" length="middle" direction="out"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="F24[X/10]---PM64">
<description>***MSP430F24[x/10]***PM64</description>
<gates>
<gate name="G$1" symbol="F24X/F2410---PM64" x="0" y="0"/>
</gates>
<devices>
<device name="" package="PM/PAG64">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="10" pad="10"/>
<connect gate="G$1" pin="11" pad="11"/>
<connect gate="G$1" pin="12" pad="12"/>
<connect gate="G$1" pin="13" pad="13"/>
<connect gate="G$1" pin="14" pad="14"/>
<connect gate="G$1" pin="15" pad="15"/>
<connect gate="G$1" pin="16" pad="16"/>
<connect gate="G$1" pin="17" pad="17"/>
<connect gate="G$1" pin="18" pad="18"/>
<connect gate="G$1" pin="19" pad="19"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="20" pad="20"/>
<connect gate="G$1" pin="21" pad="21"/>
<connect gate="G$1" pin="22" pad="22"/>
<connect gate="G$1" pin="23" pad="23"/>
<connect gate="G$1" pin="24" pad="24"/>
<connect gate="G$1" pin="25" pad="25"/>
<connect gate="G$1" pin="26" pad="26"/>
<connect gate="G$1" pin="27" pad="27"/>
<connect gate="G$1" pin="28" pad="28"/>
<connect gate="G$1" pin="29" pad="29"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="30" pad="30"/>
<connect gate="G$1" pin="31" pad="31"/>
<connect gate="G$1" pin="32" pad="32"/>
<connect gate="G$1" pin="33" pad="33"/>
<connect gate="G$1" pin="34" pad="34"/>
<connect gate="G$1" pin="35" pad="35"/>
<connect gate="G$1" pin="36" pad="36"/>
<connect gate="G$1" pin="37" pad="37"/>
<connect gate="G$1" pin="38" pad="38"/>
<connect gate="G$1" pin="39" pad="39"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="40" pad="40"/>
<connect gate="G$1" pin="41" pad="41"/>
<connect gate="G$1" pin="42" pad="42"/>
<connect gate="G$1" pin="43" pad="43"/>
<connect gate="G$1" pin="44" pad="44"/>
<connect gate="G$1" pin="45" pad="45"/>
<connect gate="G$1" pin="46" pad="46"/>
<connect gate="G$1" pin="47" pad="47"/>
<connect gate="G$1" pin="48" pad="48"/>
<connect gate="G$1" pin="49" pad="49"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="50" pad="50"/>
<connect gate="G$1" pin="51" pad="51"/>
<connect gate="G$1" pin="52" pad="52"/>
<connect gate="G$1" pin="53" pad="53"/>
<connect gate="G$1" pin="54" pad="54"/>
<connect gate="G$1" pin="55" pad="55"/>
<connect gate="G$1" pin="56" pad="56"/>
<connect gate="G$1" pin="57" pad="57"/>
<connect gate="G$1" pin="58" pad="58"/>
<connect gate="G$1" pin="59" pad="59"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="60" pad="60"/>
<connect gate="G$1" pin="61" pad="61"/>
<connect gate="G$1" pin="62" pad="62"/>
<connect gate="G$1" pin="63" pad="63"/>
<connect gate="G$1" pin="64" pad="64"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
<connect gate="G$1" pin="9" pad="9"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="SparkFun">
<description><h3>SparkFun Electronics' preferred foot prints</h3>
We've spent an enormous amount of time creating and checking these footprints and parts. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
<br><br>
<b>Licensing:</b> CC v3.0 Share-Alike You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
</packages>
<symbols>
<symbol name="GND">
<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
<text x="-2.54" y="-2.54" size="1.778" layer="96">>VALUE</text>
<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="GND" prefix="GND">
<description><b>SUPPLY SYMBOL</b></description>
<gates>
<gate name="1" symbol="GND" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="supply1">
<description><b>Supply Symbols</b><p>
 GND, VCC, 0V, +5V, -5V, etc.<p>
 Please keep in mind, that these devices are necessary for the
 automatic wiring of the supply signals.<p>
 The pin name defined in the symbol is identical to the net which is to be wired automatically.<p>
 In this library the device names are the same as the pin names of the symbols, therefore the correct signal names appear next to the supply symbols in the schematic.<p>
 <author>Created by librarian@cadsoft.de</author></description>
<packages>
</packages>
<symbols>
<symbol name="+3V3">
<wire x1="1.27" y1="-1.905" x2="0" y2="0" width="0.254" layer="94"/>
<wire x1="0" y1="0" x2="-1.27" y2="-1.905" width="0.254" layer="94"/>
<text x="-2.54" y="-5.08" size="1.778" layer="96" rot="R90">>VALUE</text>
<pin name="+3V3" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="+3V3" prefix="+3V3">
<description><b>SUPPLY SYMBOL</b></description>
<gates>
<gate name="G$1" symbol="+3V3" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="SparkFun-Connectors">
<description><h3>SparkFun Electronics' preferred foot prints</h3>
In this library you'll find connectors and sockets- basically anything that can be plugged into or onto.<br><br>
We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
<br><br>
<b>Licensing:</b> CC v3.0 Share-Alike You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="1X03">
<wire x1="3.81" y1="0.635" x2="4.445" y2="1.27" width="0.2032" layer="21"/>
<wire x1="4.445" y1="1.27" x2="5.715" y2="1.27" width="0.2032" layer="21"/>
<wire x1="5.715" y1="1.27" x2="6.35" y2="0.635" width="0.2032" layer="21"/>
<wire x1="6.35" y1="-0.635" x2="5.715" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="5.715" y1="-1.27" x2="4.445" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="4.445" y1="-1.27" x2="3.81" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.27" y1="0.635" x2="1.905" y2="1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="1.27" x2="3.175" y2="1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="1.27" x2="3.81" y2="0.635" width="0.2032" layer="21"/>
<wire x1="3.81" y1="-0.635" x2="3.175" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="-1.27" x2="1.905" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="-1.27" x2="1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="6.35" y1="0.635" x2="6.35" y2="-0.635" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="2" x="2.54" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="3" x="5.08" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<text x="-1.3462" y="1.8288" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-1.27" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
</package>
<package name="MOLEX-1X3">
<wire x1="-1.27" y1="3.048" x2="-1.27" y2="-2.54" width="0.127" layer="21"/>
<wire x1="6.35" y1="3.048" x2="6.35" y2="-2.54" width="0.127" layer="21"/>
<wire x1="6.35" y1="3.048" x2="-1.27" y2="3.048" width="0.127" layer="21"/>
<wire x1="6.35" y1="-2.54" x2="5.08" y2="-2.54" width="0.127" layer="21"/>
<wire x1="5.08" y1="-2.54" x2="0" y2="-2.54" width="0.127" layer="21"/>
<wire x1="0" y1="-2.54" x2="-1.27" y2="-2.54" width="0.127" layer="21"/>
<wire x1="0" y1="-2.54" x2="0" y2="-1.27" width="0.127" layer="21"/>
<wire x1="0" y1="-1.27" x2="5.08" y2="-1.27" width="0.127" layer="21"/>
<wire x1="5.08" y1="-1.27" x2="5.08" y2="-2.54" width="0.127" layer="21"/>
<pad name="1" x="0" y="0" drill="1.016" diameter="1.8796" shape="square"/>
<pad name="2" x="2.54" y="0" drill="1.016" diameter="1.8796"/>
<pad name="3" x="5.08" y="0" drill="1.016" diameter="1.8796"/>
</package>
<package name="SCREWTERMINAL-3.5MM-3">
<wire x1="-2.3" y1="3.4" x2="9.3" y2="3.4" width="0.2032" layer="21"/>
<wire x1="9.3" y1="3.4" x2="9.3" y2="-2.8" width="0.2032" layer="21"/>
<wire x1="9.3" y1="-2.8" x2="9.3" y2="-3.6" width="0.2032" layer="21"/>
<wire x1="9.3" y1="-3.6" x2="-2.3" y2="-3.6" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-3.6" x2="-2.3" y2="-2.8" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-2.8" x2="-2.3" y2="3.4" width="0.2032" layer="21"/>
<wire x1="9.3" y1="-2.8" x2="-2.3" y2="-2.8" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-1.35" x2="-2.7" y2="-1.35" width="0.2032" layer="51"/>
<wire x1="-2.7" y1="-1.35" x2="-2.7" y2="-2.35" width="0.2032" layer="51"/>
<wire x1="-2.7" y1="-2.35" x2="-2.3" y2="-2.35" width="0.2032" layer="51"/>
<wire x1="9.3" y1="3.15" x2="9.7" y2="3.15" width="0.2032" layer="51"/>
<wire x1="9.7" y1="3.15" x2="9.7" y2="2.15" width="0.2032" layer="51"/>
<wire x1="9.7" y1="2.15" x2="9.3" y2="2.15" width="0.2032" layer="51"/>
<pad name="1" x="0" y="0" drill="1.2" diameter="2.413" shape="square"/>
<pad name="2" x="3.5" y="0" drill="1.2" diameter="2.413"/>
<pad name="3" x="7" y="0" drill="1.2" diameter="2.413"/>
<text x="-1.27" y="2.54" size="0.4064" layer="25">>NAME</text>
<text x="-1.27" y="1.27" size="0.4064" layer="27">>VALUE</text>
</package>
<package name="1X03_LOCK">
<wire x1="3.81" y1="0.635" x2="4.445" y2="1.27" width="0.2032" layer="21"/>
<wire x1="4.445" y1="1.27" x2="5.715" y2="1.27" width="0.2032" layer="21"/>
<wire x1="5.715" y1="1.27" x2="6.35" y2="0.635" width="0.2032" layer="21"/>
<wire x1="6.35" y1="-0.635" x2="5.715" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="5.715" y1="-1.27" x2="4.445" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="4.445" y1="-1.27" x2="3.81" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.27" y1="0.635" x2="1.905" y2="1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="1.27" x2="3.175" y2="1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="1.27" x2="3.81" y2="0.635" width="0.2032" layer="21"/>
<wire x1="3.81" y1="-0.635" x2="3.175" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="-1.27" x2="1.905" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="-1.27" x2="1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="6.35" y1="0.635" x2="6.35" y2="-0.635" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="2" x="2.54" y="-0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="3" x="5.08" y="0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<text x="-1.3462" y="1.8288" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-1.27" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
</package>
<package name="1X03_LOCK_LONGPADS">
<description>This footprint was designed to help hold the alignment of a through-hole component (i.e.  6-pin header) while soldering it into place.
You may notice that each hole has been shifted either up or down by 0.005 of an inch from it's more standard position (which is a perfectly straight line).
This slight alteration caused the pins (the squares in the middle) to touch the edges of the holes.  Because they are alternating, it causes a "brace"
to hold the component in place.  0.005 has proven to be the perfect amount of "off-center" position when using our standard breakaway headers.
Although looks a little odd when you look at the bare footprint, once you have a header in there, the alteration is very hard to notice.  Also,
if you push a header all the way into place, it is covered up entirely on the bottom side.  This idea of altering the position of holes to aid alignment
will be further integrated into the Sparkfun Library for other footprints.  It can help hold any component with 3 or more connection pins.</description>
<wire x1="1.524" y1="-0.127" x2="1.016" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="4.064" y1="-0.127" x2="3.556" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.127" x2="-1.016" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.127" x2="-1.27" y2="0.8636" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0.8636" x2="-0.9906" y2="1.143" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.127" x2="-1.27" y2="-1.1176" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-1.1176" x2="-0.9906" y2="-1.397" width="0.2032" layer="21"/>
<wire x1="6.35" y1="-0.127" x2="6.096" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="6.35" y1="-0.127" x2="6.35" y2="-1.1176" width="0.2032" layer="21"/>
<wire x1="6.35" y1="-1.1176" x2="6.0706" y2="-1.397" width="0.2032" layer="21"/>
<wire x1="6.35" y1="-0.127" x2="6.35" y2="0.8636" width="0.2032" layer="21"/>
<wire x1="6.35" y1="0.8636" x2="6.0706" y2="1.143" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="2" x="2.54" y="-0.254" drill="1.016" shape="long" rot="R90"/>
<pad name="3" x="5.08" y="0" drill="1.016" shape="long" rot="R90"/>
<text x="-1.27" y="1.778" size="1.27" layer="25" font="vector">>NAME</text>
<text x="-1.27" y="-3.302" size="1.27" layer="27" font="vector">>VALUE</text>
<rectangle x1="-0.2921" y1="-0.4191" x2="0.2921" y2="0.1651" layer="51"/>
<rectangle x1="2.2479" y1="-0.4191" x2="2.8321" y2="0.1651" layer="51"/>
<rectangle x1="4.7879" y1="-0.4191" x2="5.3721" y2="0.1651" layer="51"/>
</package>
<package name="MOLEX-1X3_LOCK">
<wire x1="-1.27" y1="3.048" x2="-1.27" y2="-2.54" width="0.127" layer="21"/>
<wire x1="6.35" y1="3.048" x2="6.35" y2="-2.54" width="0.127" layer="21"/>
<wire x1="6.35" y1="3.048" x2="-1.27" y2="3.048" width="0.127" layer="21"/>
<wire x1="6.35" y1="-2.54" x2="5.08" y2="-2.54" width="0.127" layer="21"/>
<wire x1="5.08" y1="-2.54" x2="0" y2="-2.54" width="0.127" layer="21"/>
<wire x1="0" y1="-2.54" x2="-1.27" y2="-2.54" width="0.127" layer="21"/>
<wire x1="0" y1="-2.54" x2="0" y2="-1.27" width="0.127" layer="21"/>
<wire x1="0" y1="-1.27" x2="5.08" y2="-1.27" width="0.127" layer="21"/>
<wire x1="5.08" y1="-1.27" x2="5.08" y2="-2.54" width="0.127" layer="21"/>
<pad name="1" x="0" y="0.127" drill="1.016" diameter="1.8796" shape="square"/>
<pad name="2" x="2.54" y="-0.127" drill="1.016" diameter="1.8796"/>
<pad name="3" x="5.08" y="0.127" drill="1.016" diameter="1.8796"/>
<rectangle x1="-0.2921" y1="-0.2921" x2="0.2921" y2="0.2921" layer="51"/>
<rectangle x1="2.2479" y1="-0.2921" x2="2.8321" y2="0.2921" layer="51"/>
<rectangle x1="4.7879" y1="-0.2921" x2="5.3721" y2="0.2921" layer="51"/>
</package>
<package name="SCREWTERMINAL-3.5MM-3_LOCK.007S">
<wire x1="-2.3" y1="3.4" x2="9.3" y2="3.4" width="0.2032" layer="21"/>
<wire x1="9.3" y1="3.4" x2="9.3" y2="-2.8" width="0.2032" layer="21"/>
<wire x1="9.3" y1="-2.8" x2="9.3" y2="-3.6" width="0.2032" layer="21"/>
<wire x1="9.3" y1="-3.6" x2="-2.3" y2="-3.6" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-3.6" x2="-2.3" y2="-2.8" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-2.8" x2="-2.3" y2="3.4" width="0.2032" layer="21"/>
<wire x1="9.3" y1="-2.8" x2="-2.3" y2="-2.8" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-1.35" x2="-2.7" y2="-1.35" width="0.2032" layer="51"/>
<wire x1="-2.7" y1="-1.35" x2="-2.7" y2="-2.35" width="0.2032" layer="51"/>
<wire x1="-2.7" y1="-2.35" x2="-2.3" y2="-2.35" width="0.2032" layer="51"/>
<wire x1="9.3" y1="3.15" x2="9.7" y2="3.15" width="0.2032" layer="51"/>
<wire x1="9.7" y1="3.15" x2="9.7" y2="2.15" width="0.2032" layer="51"/>
<wire x1="9.7" y1="2.15" x2="9.3" y2="2.15" width="0.2032" layer="51"/>
<circle x="0" y="0" radius="0.425" width="0.001" layer="51"/>
<circle x="3.5" y="0" radius="0.425" width="0.001" layer="51"/>
<circle x="7" y="0" radius="0.425" width="0.001" layer="51"/>
<pad name="1" x="-0.1778" y="0" drill="1.2" diameter="2.032" shape="square"/>
<pad name="2" x="3.5" y="0" drill="1.2" diameter="2.032"/>
<pad name="3" x="7.1778" y="0" drill="1.2" diameter="2.032"/>
<text x="-1.27" y="2.54" size="0.4064" layer="25">>NAME</text>
<text x="-1.27" y="1.27" size="0.4064" layer="27">>VALUE</text>
</package>
<package name="1X03_NO_SILK">
<pad name="1" x="0" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="2" x="2.54" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="3" x="5.08" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<text x="-1.3462" y="1.8288" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-1.27" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
</package>
<package name="1X03_LONGPADS">
<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="6.35" y1="0.635" x2="6.35" y2="-0.635" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0" drill="1.1176" diameter="1.8796" shape="long" rot="R90"/>
<pad name="2" x="2.54" y="0" drill="1.1176" diameter="1.8796" shape="long" rot="R90"/>
<pad name="3" x="5.08" y="0" drill="1.1176" diameter="1.8796" shape="long" rot="R90"/>
<text x="-1.3462" y="2.4638" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-1.27" y="-3.81" size="1.27" layer="27">>VALUE</text>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
</package>
<package name="JST-3-PTH">
<wire x1="-4" y1="-6.3" x2="-4" y2="1.5" width="0.2032" layer="21"/>
<wire x1="-4" y1="1.5" x2="4" y2="1.5" width="0.2032" layer="21"/>
<wire x1="4" y1="1.5" x2="4" y2="-6.3" width="0.2032" layer="21"/>
<wire x1="-4" y1="-6.3" x2="-3.3" y2="-6.3" width="0.2032" layer="21"/>
<wire x1="4" y1="-6.3" x2="3.3" y2="-6.3" width="0.2032" layer="21"/>
<wire x1="-3.3" y1="-6.3" x2="-3.3" y2="-5" width="0.2032" layer="21"/>
<wire x1="3.3" y1="-6.3" x2="3.3" y2="-5" width="0.2032" layer="21"/>
<pad name="1" x="-2" y="-5" drill="0.7" diameter="1.6256"/>
<pad name="2" x="0" y="-5" drill="0.7" diameter="1.6256"/>
<pad name="3" x="2" y="-5" drill="0.7" diameter="1.6256"/>
<text x="-1.27" y="0.24" size="0.4064" layer="25">>Name</text>
<text x="-1.27" y="-1.03" size="0.4064" layer="27">>Value</text>
<text x="-2.4" y="-4.33" size="1.27" layer="51">+</text>
<text x="-0.4" y="-4.33" size="1.27" layer="51">-</text>
<text x="1.7" y="-4.13" size="0.8" layer="51">S</text>
</package>
<package name="1X03_PP_HOLES_ONLY">
<circle x="0" y="0" radius="0.635" width="0.127" layer="51"/>
<circle x="2.54" y="0" radius="0.635" width="0.127" layer="51"/>
<circle x="5.08" y="0" radius="0.635" width="0.127" layer="51"/>
<pad name="1" x="0" y="0" drill="0.9" diameter="0.8128" rot="R90"/>
<pad name="2" x="2.54" y="0" drill="0.9" diameter="0.8128" rot="R90"/>
<pad name="3" x="5.08" y="0" drill="0.9" diameter="0.8128" rot="R90"/>
<hole x="0" y="0" drill="1.4732"/>
<hole x="2.54" y="0" drill="1.4732"/>
<hole x="5.08" y="0" drill="1.4732"/>
</package>
<package name="SCREWTERMINAL-5MM-3">
<wire x1="-3.1" y1="4.2" x2="13.1" y2="4.2" width="0.2032" layer="21"/>
<wire x1="13.1" y1="4.2" x2="13.1" y2="-2.3" width="0.2032" layer="21"/>
<wire x1="13.1" y1="-2.3" x2="13.1" y2="-3.3" width="0.2032" layer="21"/>
<wire x1="13.1" y1="-3.3" x2="-3.1" y2="-3.3" width="0.2032" layer="21"/>
<wire x1="-3.1" y1="-3.3" x2="-3.1" y2="-2.3" width="0.2032" layer="21"/>
<wire x1="-3.1" y1="-2.3" x2="-3.1" y2="4.2" width="0.2032" layer="21"/>
<wire x1="13.1" y1="-2.3" x2="-3.1" y2="-2.3" width="0.2032" layer="21"/>
<wire x1="-3.1" y1="-1.35" x2="-3.7" y2="-1.35" width="0.2032" layer="51"/>
<wire x1="-3.7" y1="-1.35" x2="-3.7" y2="-2.35" width="0.2032" layer="51"/>
<wire x1="-3.7" y1="-2.35" x2="-3.1" y2="-2.35" width="0.2032" layer="51"/>
<wire x1="13.1" y1="4" x2="13.7" y2="4" width="0.2032" layer="51"/>
<wire x1="13.7" y1="4" x2="13.7" y2="3" width="0.2032" layer="51"/>
<wire x1="13.7" y1="3" x2="13.1" y2="3" width="0.2032" layer="51"/>
<circle x="2.5" y="3.7" radius="0.2828" width="0.127" layer="51"/>
<pad name="1" x="0" y="0" drill="1.3" diameter="2.413" shape="square"/>
<pad name="2" x="5" y="0" drill="1.3" diameter="2.413"/>
<pad name="3" x="10" y="0" drill="1.3" diameter="2.413"/>
<text x="-1.27" y="2.54" size="0.4064" layer="25">>NAME</text>
<text x="-1.27" y="1.27" size="0.4064" layer="27">>VALUE</text>
</package>
<package name="1X03_LOCK_NO_SILK">
<pad name="1" x="0" y="0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="2" x="2.54" y="-0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="3" x="5.08" y="0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<text x="-1.3462" y="1.8288" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-1.27" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
</package>
<package name="JST-3-SMD">
<wire x1="-4.99" y1="-2.07" x2="-4.99" y2="-5.57" width="0.2032" layer="21"/>
<wire x1="-4.99" y1="-5.57" x2="-4.19" y2="-5.57" width="0.2032" layer="21"/>
<wire x1="-4.19" y1="-5.57" x2="-4.19" y2="-3.07" width="0.2032" layer="21"/>
<wire x1="-4.19" y1="-3.07" x2="-2.99" y2="-3.07" width="0.2032" layer="21"/>
<wire x1="3.01" y1="-3.07" x2="4.21" y2="-3.07" width="0.2032" layer="21"/>
<wire x1="4.21" y1="-3.07" x2="4.21" y2="-5.57" width="0.2032" layer="21"/>
<wire x1="4.21" y1="-5.57" x2="5.01" y2="-5.57" width="0.2032" layer="21"/>
<wire x1="5.01" y1="-5.57" x2="5.01" y2="-2.07" width="0.2032" layer="21"/>
<wire x1="3.01" y1="1.93" x2="-2.99" y2="1.93" width="0.2032" layer="21"/>
<smd name="1" x="-1.99" y="-4.77" dx="1" dy="4.6" layer="1"/>
<smd name="3" x="2.01" y="-4.77" dx="1" dy="4.6" layer="1"/>
<smd name="NC1" x="-4.39" y="0.43" dx="3.4" dy="1.6" layer="1" rot="R90"/>
<smd name="NC2" x="4.41" y="0.43" dx="3.4" dy="1.6" layer="1" rot="R90"/>
<smd name="2" x="0.01" y="-4.77" dx="1" dy="4.6" layer="1"/>
<text x="-2.26" y="0.2" size="0.4064" layer="25">>Name</text>
<text x="-2.26" y="-1.07" size="0.4064" layer="27">>Value</text>
</package>
<package name="1X03-1MM-RA">
<wire x1="-1" y1="-4.6" x2="1" y2="-4.6" width="0.254" layer="21"/>
<wire x1="-2.5" y1="-2" x2="-2.5" y2="-0.35" width="0.254" layer="21"/>
<wire x1="1.75" y1="-0.35" x2="2.4997" y2="-0.35" width="0.254" layer="21"/>
<wire x1="2.4997" y1="-0.35" x2="2.4997" y2="-2" width="0.254" layer="21"/>
<wire x1="-2.5" y1="-0.35" x2="-1.75" y2="-0.35" width="0.254" layer="21"/>
<circle x="-2" y="0.3" radius="0.1414" width="0.4" layer="21"/>
<smd name="NC2" x="-2.3" y="-3.675" dx="1.2" dy="2" layer="1"/>
<smd name="NC1" x="2.3" y="-3.675" dx="1.2" dy="2" layer="1"/>
<smd name="1" x="-1" y="0" dx="0.6" dy="1.35" layer="1"/>
<smd name="2" x="0" y="0" dx="0.6" dy="1.35" layer="1"/>
<smd name="3" x="1" y="0" dx="0.6" dy="1.35" layer="1"/>
<text x="-1.73" y="1.73" size="0.4064" layer="25" rot="R180">>NAME</text>
<text x="3.46" y="1.73" size="0.4064" layer="27" rot="R180">>VALUE</text>
</package>
</packages>
<symbols>
<symbol name="M03">
<wire x1="3.81" y1="-5.08" x2="-2.54" y2="-5.08" width="0.4064" layer="94"/>
<wire x1="1.27" y1="2.54" x2="2.54" y2="2.54" width="0.6096" layer="94"/>
<wire x1="1.27" y1="0" x2="2.54" y2="0" width="0.6096" layer="94"/>
<wire x1="1.27" y1="-2.54" x2="2.54" y2="-2.54" width="0.6096" layer="94"/>
<wire x1="-2.54" y1="5.08" x2="-2.54" y2="-5.08" width="0.4064" layer="94"/>
<wire x1="3.81" y1="-5.08" x2="3.81" y2="5.08" width="0.4064" layer="94"/>
<wire x1="-2.54" y1="5.08" x2="3.81" y2="5.08" width="0.4064" layer="94"/>
<text x="-2.54" y="-7.62" size="1.778" layer="96">>VALUE</text>
<text x="-2.54" y="5.842" size="1.778" layer="95">>NAME</text>
<pin name="1" x="7.62" y="-2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="2" x="7.62" y="0" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="3" x="7.62" y="2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="M03" prefix="JP" uservalue="yes">
<description><b>Header 3</b>
Standard 3-pin 0.1" header. Use with straight break away headers (SKU : PRT-00116), right angle break away headers (PRT-00553), swiss pins (PRT-00743), machine pins (PRT-00117), and female headers (PRT-00115). Molex polarized connector foot print use with SKU : PRT-08232 with associated crimp pins and housings.</description>
<gates>
<gate name="G$1" symbol="M03" x="-2.54" y="0"/>
</gates>
<devices>
<device name="PTH" package="1X03">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="POLAR" package="MOLEX-1X3">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SCREW" package="SCREWTERMINAL-3.5MM-3">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LOCK" package="1X03_LOCK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LOCK_LONGPADS" package="1X03_LOCK_LONGPADS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="POLAR_LOCK" package="MOLEX-1X3_LOCK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SCREW_LOCK" package="SCREWTERMINAL-3.5MM-3_LOCK.007S">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="1X03_NO_SILK" package="1X03_NO_SILK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LONGPADS" package="1X03_LONGPADS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="JST-PTH" package="JST-3-PTH">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="POGO_PIN_HOLES_ONLY" package="1X03_PP_HOLES_ONLY">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="-SCREW-5MM" package="SCREWTERMINAL-5MM-3">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LOCK_NO_SILK" package="1X03_LOCK_NO_SILK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="" package="JST-3-SMD">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SMD" package="1X03-1MM-RA">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="con-ml">
<description><b>Harting  Connectors</b><p>
Low profile connectors, straight<p>
<author>Created by librarian@cadsoft.de</author></description>
<packages>
<package name="ML14">
<description><b>HARTING</b></description>
<wire x1="-11.43" y1="3.175" x2="11.43" y2="3.175" width="0.127" layer="21"/>
<wire x1="11.43" y1="-3.175" x2="11.43" y2="3.175" width="0.127" layer="21"/>
<wire x1="-11.43" y1="3.175" x2="-11.43" y2="-3.175" width="0.127" layer="21"/>
<wire x1="-12.7" y1="4.445" x2="-11.43" y2="4.445" width="0.127" layer="21"/>
<wire x1="12.7" y1="-4.445" x2="8.001" y2="-4.445" width="0.127" layer="21"/>
<wire x1="12.7" y1="-4.445" x2="12.7" y2="4.445" width="0.127" layer="21"/>
<wire x1="-12.7" y1="4.445" x2="-12.7" y2="-4.445" width="0.127" layer="21"/>
<wire x1="11.43" y1="-3.175" x2="7.112" y2="-3.175" width="0.127" layer="21"/>
<wire x1="2.032" y1="-2.413" x2="-2.032" y2="-2.413" width="0.127" layer="21"/>
<wire x1="-2.032" y1="-3.175" x2="-2.032" y2="-2.413" width="0.127" layer="21"/>
<wire x1="-2.032" y1="-3.175" x2="-11.43" y2="-3.175" width="0.127" layer="21"/>
<wire x1="-2.032" y1="-3.175" x2="-2.032" y2="-3.429" width="0.127" layer="21"/>
<wire x1="2.032" y1="-2.413" x2="2.032" y2="-3.175" width="0.127" layer="21"/>
<wire x1="2.032" y1="-3.175" x2="2.032" y2="-3.429" width="0.127" layer="21"/>
<wire x1="11.43" y1="4.445" x2="11.43" y2="4.699" width="0.127" layer="21"/>
<wire x1="11.43" y1="4.699" x2="10.16" y2="4.699" width="0.127" layer="21"/>
<wire x1="10.16" y1="4.445" x2="10.16" y2="4.699" width="0.127" layer="21"/>
<wire x1="11.43" y1="4.445" x2="12.7" y2="4.445" width="0.127" layer="21"/>
<wire x1="0.635" y1="4.699" x2="-0.635" y2="4.699" width="0.127" layer="21"/>
<wire x1="0.635" y1="4.699" x2="0.635" y2="4.445" width="0.127" layer="21"/>
<wire x1="0.635" y1="4.445" x2="10.16" y2="4.445" width="0.127" layer="21"/>
<wire x1="-0.635" y1="4.699" x2="-0.635" y2="4.445" width="0.127" layer="21"/>
<wire x1="-10.16" y1="4.699" x2="-11.43" y2="4.699" width="0.127" layer="21"/>
<wire x1="-11.43" y1="4.699" x2="-11.43" y2="4.445" width="0.127" layer="21"/>
<wire x1="-10.16" y1="4.699" x2="-10.16" y2="4.445" width="0.127" layer="21"/>
<wire x1="-10.16" y1="4.445" x2="-0.635" y2="4.445" width="0.127" layer="21"/>
<wire x1="4.699" y1="-4.445" x2="2.032" y2="-4.445" width="0.127" layer="21"/>
<wire x1="2.032" y1="-4.445" x2="-2.032" y2="-4.445" width="0.127" layer="21"/>
<wire x1="5.588" y1="-3.175" x2="5.588" y2="-3.429" width="0.127" layer="21"/>
<wire x1="5.588" y1="-3.175" x2="2.032" y2="-3.175" width="0.127" layer="21"/>
<wire x1="7.112" y1="-3.175" x2="7.112" y2="-3.429" width="0.127" layer="21"/>
<wire x1="7.112" y1="-3.175" x2="5.588" y2="-3.175" width="0.127" layer="21"/>
<wire x1="4.699" y1="-4.445" x2="5.08" y2="-3.937" width="0.127" layer="21"/>
<wire x1="7.62" y1="-3.937" x2="8.001" y2="-4.445" width="0.127" layer="21"/>
<wire x1="7.62" y1="-3.937" x2="7.112" y2="-3.937" width="0.127" layer="21"/>
<wire x1="5.588" y1="-3.429" x2="2.032" y2="-3.429" width="0.0508" layer="21"/>
<wire x1="2.032" y1="-3.429" x2="2.032" y2="-4.445" width="0.127" layer="21"/>
<wire x1="7.112" y1="-3.429" x2="

gha_license_id: NOASSERTION

extension: sch