{
  "draw2d": [
    {
      "type": "shape_designer.figure.ExtPolygon",
      "id": "6e834d54-6700-ad9b-ab50-0faefeaea483",
      "x": 7987.780400000001,
      "y": 7980,
      "width": 25,
      "height": 40,
      "alpha": 1,
      "selectable": true,
      "draggable": true,
      "angle": 0,
      "userData": {
        "baseClass": "draw2d.SetFigure",
        "code": "/**\n * Generated Code for the Draw2D touch HTML5 lib.\n * File will be generated if you save the *.shape file.\n *\n * by 'Draw2D Shape Designer'\n *\n * Custom JS code to tweak the standard behaviour of the generated\n * shape. add your custom code and event handler here.\n *\n * Looks disconcerting - extending my own class. But this is a good method to\n * merge basic code and override them with custom methods.\n */\ntestShape = testShape.extend({\n\n    init: function(attr, setter, getter){\n         this._super(attr, setter, getter);\n\n        this.attr({resizeable:false});\n        this.installEditPolicy(new draw2d.policy.figure.AntSelectionFeedbackPolicy());\n    },\n\n    /**\n     *  Called by the simulator for every calculation\n     *  loop\n     *  @param {Object} context context where objects can store or handover global variables to other objects.\n     *  @required\n     **/\n    calculate:function( context)\n    {\n        var i1 = this.getInputPort(0);\n        var i2 = this.getInputPort(1);\n        var o1 = this.getOutputPort(0);\n        \n        o1.setValue(i1.getValue() && i2.getValue());\n    },\n\n\n    /**\n     *  Called if the simulation mode is starting\n     *  @required\n     **/\n    onStart:function(context)\n    {\n    },\n\n    /**\n     *  Called if the simulation mode is stopping\n     *  @required\n     **/\n    onStop:function(context)\n    {\n    },\n\n    /**\n     * Get the simulator a hint which kind of hardware the shapes requires or supports\n     * This helps the simulator to bring up some dialogs and messages if any new hardware is connected/get lost\n     * and your are running a circuit which needs this kind of hardware...\n     **/\n    getRequiredHardware: function(){\n      return {\n        raspi: false,\n        arduino: false\n      }\n    }\n\n});"
      },
      "cssClass": "shape_designer_figure_PolyCircle",
      "ports": [],
      "bgColor": "rgba(252,252,252,1)",
      "color": "rgba(27,27,27,1)",
      "stroke": 1,
      "radius": 0,
      "dasharray": null,
      "vertices": [
        {
          "x": 7987.780400000001,
          "y": 8019.992866146254
        },
        {
          "x": 7987.8819115376355,
          "y": 8020
        },
        {
          "x": 7992.205488685786,
          "y": 8019.696155060245
        },
        {
          "x": 7996.397696130126,
          "y": 8018.793852415718
        },
        {
          "x": 8000.331155768818,
          "y": 8017.320508075689
        },
        {
          "x": 8003.886351421167,
          "y": 8015.320888862379
        },
        {
          "x": 8006.9552602662925,
          "y": 8012.855752193731
        },
        {
          "x": 8009.444635061877,
          "y": 8010
        },
        {
          "x": 8011.278837414443,
          "y": 8006.840402866514
        },
        {
          "x": 8012.402136013658,
          "y": 8003.472963553339
        },
        {
          "x": 8012.780400000001,
          "y": 8000
        },
        {
          "x": 8012.402136013658,
          "y": 7996.527036446661
        },
        {
          "x": 8011.278837414443,
          "y": 7993.159597133486
        },
        {
          "x": 8009.444635061877,
          "y": 7990
        },
        {
          "x": 8006.9552602662925,
          "y": 7987.144247806269
        },
        {
          "x": 8003.886351421167,
          "y": 7984.679111137621
        },
        {
          "x": 8000.331155768818,
          "y": 7982.679491924311
        },
        {
          "x": 7996.397696130126,
          "y": 7981.206147584282
        },
        {
          "x": 7992.205488685786,
          "y": 7980.303844939755
        },
        {
          "x": 7987.8819115376355,
          "y": 7980
        },
        {
          "x": 7987.780400000001,
          "y": 7980.007133853746
        },
        {
          "x": 7987.780400000001,
          "y": 8019.992866146254
        }
      ],
      "blur": 0,
      "filters": [
        {
          "name": "shape_designer.filter.PositionFilter"
        },
        {
          "name": "shape_designer.filter.SizeFilter"
        },
        {
          "name": "shape_designer.filter.FillColorFilter"
        },
        {
          "name": "shape_designer.filter.StrokeFilter"
        }
      ]
    },
    {
      "type": "shape_designer.figure.ExtPort",
      "id": "19fd1dcb-f9e4-190d-a717-7444122d9964",
      "x": 8007.322800000001,
      "y": 7995,
      "width": 10,
      "height": 10,
      "alpha": 1,
      "selectable": true,
      "draggable": true,
      "angle": 0,
      "userData": {
        "name": "output",
        "type": "Output",
        "direction": 1,
        "fanout": 20
      },
      "cssClass": "shape_designer_figure_ExtPort",
      "ports": [],
      "bgColor": "rgba(55,177,222,1)",
      "color": "rgba(27,27,27,1)",
      "stroke": 1,
      "dasharray": null,
      "filters": [
        {
          "name": "shape_designer.filter.PositionFilter"
        },
        {
          "name": "shape_designer.filter.FanoutFilter"
        },
        {
          "name": "shape_designer.filter.PortDirectionFilter"
        },
        {
          "name": "shape_designer.filter.PortTypeFilter"
        }
      ]
    },
    {
      "type": "shape_designer.figure.ExtPort",
      "id": "7297563e-896e-648c-d774-7e1a662d65a4",
      "x": 7982.6772,
      "y": 7983.5,
      "width": 10,
      "height": 10,
      "alpha": 1,
      "selectable": true,
      "draggable": true,
      "angle": 0,
      "userData": {
        "name": "input0",
        "type": "Input",
        "direction": 3,
        "fanout": 20
      },
      "cssClass": "shape_designer_figure_ExtPort",
      "ports": [],
      "bgColor": "rgba(55,177,222,1)",
      "color": "rgba(27,27,27,1)",
      "stroke": 1,
      "dasharray": null,
      "filters": [
        {
          "name": "shape_designer.filter.PositionFilter"
        },
        {
          "name": "shape_designer.filter.FanoutFilter"
        },
        {
          "name": "shape_designer.filter.PortDirectionFilter"
        },
        {
          "name": "shape_designer.filter.PortTypeFilter"
        }
      ]
    },
    {
      "type": "shape_designer.figure.ExtPort",
      "id": "31c229c7-f64e-5b82-2349-767cb9cd57be",
      "x": 7982.6772,
      "y": 8007,
      "width": 10,
      "height": 10,
      "alpha": 1,
      "selectable": true,
      "draggable": true,
      "angle": 0,
      "userData": {
        "name": "input1",
        "type": "Input",
        "direction": 3,
        "fanout": 20
      },
      "cssClass": "shape_designer_figure_ExtPort",
      "ports": [],
      "bgColor": "rgba(55,177,222,1)",
      "color": "rgba(27,27,27,1)",
      "stroke": 1,
      "dasharray": null,
      "filters": [
        {
          "name": "shape_designer.filter.PositionFilter"
        },
        {
          "name": "shape_designer.filter.FanoutFilter"
        },
        {
          "name": "shape_designer.filter.PortDirectionFilter"
        },
        {
          "name": "shape_designer.filter.PortTypeFilter"
        }
      ]
    }
  ],
  "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAA8CAYAAADykDOkAAAFY0lEQVRoQ+2ZX0hbdxTHz72pkTRrY1ygNYn6MkGKeSkb3ejT3jb/IMNCuxfryzZQVwbi5kthTCV16lJoA63bmGu0Q4yUog9JGe2mtFtr4pyoieYmaP7NGJOYXM3Nn5t7xw21iBCTmz9qIPc153d+n98353d+v985COThh+QhMxSgj+pfKyhdUPoQBQrhcaLCQyQSlXG53I9pmi5CUdQLAF4EQbgoiv5ttVp9RwW7N09K4XHhwoVRmUzWUFpaysFxnPT5fNTm5ibq9/vRU6dOmYLB4B+RSMSPIMjPDofDnutFpARdU1PzU1dX19Xa2tq3zp49+4bJ4/HA8vIyzM/PU8+ePSPMZnMkFApNRqPRByRJ/uV0OoO5WEBG0AeB1tfXQavVxsbGxsJer3eNIIhBiqImLBaLP5vwWYXeD/bkyRO4e/du0GazzRIEIQ+FQtN2u53IBnzOoPfg1Go13LlzJ2Kz2YZjsVh3NmI+KfS5c+cu8fn8/vr6+ksdHR1ciUTCWiwMw0ChUOB6vf7lzs5Om9FoXGXtZN+AQ6GlUumXJEl+EQ6H3yktLS2uqKiAgYEBkMlkgKIo63mVSmVIrVY7HQ7HAEVRv62trW2zdgKQ+GoqlUqraJp+4Ha734tEIhzGeVVVFVy5cgXa2trg/Pnz6cwHt27dgqmpqQ2/33/VYDC8AACSraNDlS4rK5vZ2tq6HI1G43Z8Ph+GhoagoaEBTp8+zXauN/YqlYoaHR1d3tzc/HRhYWGRraOE0ImUbmpqgvb29rSV3gNUKBTEo0ePdB6P57OVlZUVNuCsYrq8vBwGBwfTjumDYK2trTvT09O9OI7/6HA4PKmCJ80eEonk/eLi4u/r6uri2UMqlabqO6mdTqeD7u5ut8Vi+chgMMwlHfDaICk0Y5foGE91ksPs5HL57uPHj39xuVxym83mTMXnsUPr9Xq4efPmDoZhH1osFl1eQDOQN27cYGL762Aw+DCVe8qxK81AT0xMwPDw8CSGYV+ZTCZLMrVPBPTS0hL09fWtYxjW+OrVq39PPLRWq4V79+7B4uIiRCKRWZqmewDg98Pu4seq9OzsLPT09MDMzAzgOA48Hs9/5syZbQ6H84nT6fwnkeLHCq1QKECpVILVagWKouKMQqHQy+PxvuVyuapEF6oCdLINdPD3vAwPZhEajQbu378f34jRaFRHUVT3id6Ie8ozwP39/esmkyk/Ul7eHi55d4zPzc3FL0wmkyl/Lkyvr6bDGxsbcrvd7kglAx1rns7JI4B5J1IU9Q2CIE0lJSUlzc3NcP36dRCJRKkIktSmtbV19/Vzayhbzy1UIpGM7+7ufhAIBEQcDqeosrISOjs742UEgUCQFOowg9u3b8cftm63+/PV1VUjG2cJw0MsFl8mSbLf6/W+S5JkEeOUx+NBY2Mj9Pb2ArOAdL+RkRFKpVIZ3G73tayWEHIF3dfXB5OTkxvb29vXjEbj82wXa1CxWKxmwgPH8bezER5KpTKsVqv/s9vtA7FY7GG6XYRkdY8qAOiiabpJIBAImI3Y0tLCeiOazeZ4AVKn073EcbydbXHmYBjmPOXtK/X+GovFvjuSUm+6dQ+mqK5UKoNWq1UXDAbl4XD4zxNZVGdeIBqNhhofHw9tbW0x7YsfKIpSp1IWYJOJMgoPn88HzEuaaRQ9ffqUaRRFCYKYIkmSaRQ9P9ZGUXV19ejFixcbhEIhJxAIxFtyLpcr3pIrKirCCIJgWnIBmqaZQuLJaMmJRCIx0/xEEIQ5ZLw0TTPNz2IOh/Mi3bTFJhzSyh6ZTJCLsSnFdC4mzsRnAToT9diMLSjNRq1MbAtKZ6Iem7F5qfT/LONjasP7NkcAAAAASUVORK5CYII="
}