bplist00[aspectRatio^portAttributes_editorViewerWindow_frameworkVersionYrootPatch"? W_enable Tname[descriptionVEnable_ Controls execution of the patch._%-1254 269 917 619 -1280 100 1280 800 S106+UstateUclass1Unodes[connectionsXuserInfoXtimebase]s~[\Skey !"#$%&'(123vv"VtargetUwidth_publishedOutputPortsZnoFeedbackVheightWversion_ivarInputPortStates]noDepthBuffer_colorCorrection_GL_TEXTURE_RECTANGLE_EXTO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}C zoomFactorNSNumberfpositionname Main Program)*+,-./TnodeTport_Interpolation_1[pixellation[outputValue0Ov streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name pixellationVparent 4K-Kh~5IJ6"782:;2F_clearDepthBuffer_clearColorBuffer_systemInputPortStates O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}n<=ZinputColor>?Uvalue@ABCDDDDUgreenTblueSredUalpha" G>2 WQCClearWClear_1L"8M}NOPQRSTUVWXYZ[\]^_`acfhjkmoqsuwyz|WinputRZWinputRYZinputDepth^inputColorLeft_inputColorRightVinputXWinputRX]inputBlending^inputColorBack_inputColorBottom_inputColorFront]inputColorTop\inputZBuffer[inputHeightVinputZZinputWidth\inputCulling>D>D>b#?PbM>d@ABCDDDe"?>g@ABCDDDe>i#?>D>l>n@ABCeeee>p@ABCDDDe>r@ABCeeee>t@ABCDDDe>v>x#?>D>{#?>v~>2 O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name Right PaddlepositionNSValue* {_NSPoint=ff}xVQCCubeVCube_1"8NOPQRSTUVWXYZ[\]^>D>D>b>@ABCDDDe>@ABCDDDe>#>D>l>@ABCDDDe>@ABCDDDe>@ABCeeee>@ABCDDDe>v>x>D>{>v>2 O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name Left PaddlepositionNSValue* {_NSPoint=ff}wVCube_2!lvvl^numberOfInputsWnewModeVscript_numberOfOutputsO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameLogicpositionNSValue* {_NSPoint=ff}q?_ if (Object.gs == undefined) { Object.gs = { leftPos: 0.0, rightPos: 0.0, ballPosX: 0, ballPosY: 0, ballVelX: 0.01, ballVelY: 0.01, scoreLeft:0, scoreRight: 0, bounces: 0, gameOver: false, wonMessage: "", pixellation: false } Object.PADDLE_HEIGHT = 0.25 Object.PADDLE_HALF_HEIGHT = Object.PADDLE_HEIGHT/2 Object.PADDLE_WIDTH = 0.05 Object.PADDLE_HALF_WIDTH = Object.PADDLE_WIDTH/2 Object.PADDLE_OFFSET = 0.1 Object.BALL_DIAMETER = 0.05 Object.BALL_RADIUS = Object.BALL_DIAMETER/2 with(Object.gs) { Object.sign = function(n) { return (n > 0 ? 1 : -1) } Object.bounceBall = function(diff) { ballVelX = -ballVelX bounces += 1 ballVelX *= 1.15 ballVelX = Object.clamp(ballVelX, -0.04, 0.04) ballVelY *= 1.15 ballVelY = Object.clamp(ballVelY, -0.04, 0.04) } Object.scored = function(dir) { if (!dir) dir = Math.random() > 0.5 ? 1 : -1 ballPosX = 0; ballPosY = 0 ballVelX = dir * (0.01 + Math.random() % 0.01) ballVelY = Math.random() % 0.025 bounces = 0 if (scoreLeft >= 7) { gameOver = true wonMessage = "<- Winner!\n\n(Press 'p' to play again)" } else if (scoreRight >= 7) { gameOver = true wonMessage = "Winner! ->\n\n(Press 'p' to play again)" } else pixellation = true } Object.clamp = function(val, fmin, fmax) { if (val < fmin) val = fmin if (val > fmax) val = fmax return val } } Object.scored() Object.gs.gameOver = true Object.gs.wonMessage = "Press 'p' to start\nPlayer 1: w/s\nPlayer 2: arrow keys\nFirst to 7 wins" } function (__number leftPos, __number rightPos, __number ballPosX, __number ballPosY, __number scoreLeft, __number scoreRight, __boolean pixellation, __boolean gameOver, __string wonMessage) main (__number p, __boolean up1, __boolean down1, __boolean up2, __boolean down2, __boolean startSignal, __number screenW, __number screenH) { with (Object) with (gs) { pixellation = false // always reset the signal if (up1) leftPos += 0.02 if (down1) leftPos -= 0.02 if (up2) rightPos += 0.02 if (down2) rightPos -= 0.02 leftPos = clamp(leftPos, -screenH/2 + PADDLE_HALF_HEIGHT, screenH/2 - PADDLE_HALF_HEIGHT) rightPos = clamp(rightPos, -screenH/2 + PADDLE_HALF_HEIGHT, screenH/2 - PADDLE_HALF_HEIGHT) if (gameOver) { if (startSignal) { gameOver = false scoreLeft = scoreRight = 0 wonMessage = "" scored() } else return gs; } ballPosX += ballVelX ballPosY += ballVelY if (ballPosX+BALL_RADIUS >= screenW/2 - PADDLE_OFFSET && ballPosX-BALL_RADIUS <= screenW/2 - PADDLE_OFFSET + PADDLE_HALF_WIDTH && ballPosY+BALL_RADIUS >= rightPos-PADDLE_HEIGHT/2 && ballPosY-BALL_RADIUS <= rightPos+PADDLE_HEIGHT/2 && ballVelX > 0) { bounceBall(ballPosY - rightPos) } else if ( ballPosX-BALL_RADIUS <= -screenW/2 + PADDLE_OFFSET && ballPosX+BALL_RADIUS >= -screenW/2 + PADDLE_OFFSET - PADDLE_HALF_WIDTH && ballPosY+BALL_RADIUS >= leftPos-PADDLE_HEIGHT/2 && ballPosY-BALL_RADIUS <= leftPos+PADDLE_HEIGHT/2 && ballVelX < 0) { bounceBall(ballPosY - leftPos) } else if (ballPosX-BALL_RADIUS >= screenW/2) { scoreLeft += 1 scored(-1) } else if (ballPosX+BALL_RADIUS <= -screenW/2) { scoreRight += 1 scored(1) } // bounce off side walls if (ballPosY+BALL_RADIUS >= screenH/2 || ballPosY-BALL_RADIUS <= -screenH/2) ballVelY = -ballVelY } return Object.gs; } \QCJavaScript\JavaScript_1TkeysJpswO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}ZQCKeyboardZKeyboard_11O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}VQCTimeVTime_12]cleanAperture O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameScreenpositionNSValue* {_NSPoint=ff}\QCScreenInfo\ScreenInfo_1+,8(_publishedInputPortsZidentifier^QCStringFormat_StringFormat_printer_1VformatX%@ %@O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name "@1 @2"positionNSValue* {_NSPoint=ff} Wprinter!"ev_verticalAlignment_customInputPortStates_horizontalAlignment\manualLayoutXfontNameXfontSizeXCentered[]^inputGlyphSize\inputKerning\inputLeading>D>e>D>D>DO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff} ]MonotypeSorts[]]inputFontName>D>e>D>D>>D[QCTextImage[TextImage_1 !"8  \pixelAligned[CIRendering_optimizedRenderingXsizeModeZinputScale>#?4ԡO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}SU<VinputY_inputPixelAligned]inputRotation>#?X5!c>>D>D>l>>@ABCeeeeYautoWidth >2 [QCBillboard[Billboard_1]connection_14\connection_3_destinationPortZsourceNodeZsourcePort_destinationNode[inputString\outputStringZinputImage[outputImageO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}^ zoomFactorNSNumberfpositionqname Print Score#*+ !XP1_ScoreZargument_1"Os streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameP1 Score*+$%&XP2_ScoreZargument_2'Os streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameP2 Score)>2 WQCPatchWPatch_1.J"8/FINOPQRUTVWXYZ[\]^01235789;=?ABCDE>D>D>b>4@ABCDDDe>6@ABCDDDe>l>D>:@ABCeeee><@ABCDDDe>>@ABCeeee>@@ABCDDDe>v>{>D>{>vG>2 O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameBallpositionNSValue* {_NSPoint=ff}VCube_3LfgM"N8OQRSbcVstacksVslicesP>{ O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}xNOZS\TU<^TUWXY[\]^`P>D>V#? Ѳff^>D>l>Z#?T[(t>D>D>l>_@ABCeeee>v>{d>XQCSphere_Quadric_sphere_1i},!"jvn{|kl_inputInterpolation>mopqrstuwxz[inputRepeat[inputValue2[inputValue1]inputDuration\inputTension>m>v#@ >e>y#?ٙ>DO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}_Xexternal_QCInterpolation"1_inputStopSignal_inputResetSignal>>O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}pWQCClockWClock_1"8O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}{_QCIteratorVariables_IteratorVariables_1]QCImageFilter_ConstantColorGenerator_1!llvYhasBypass_normalizeCoordinates]filterVersion<>@ABCeeeeO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}n _CIConstantColorGenerator !"8>{O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}rSU<>D>D>l>{>@ABCeeee>ZautoHeight>2 [ImageCrop_1"_inputRectangle_X_inputRectangle_W_inputRectangle_Y_inputRectangle_Z>D>#@>D>>D>>D>O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}^VCICrop!v^operationCount_numberOfOperations[operation_1[operation_2Yoperand_1Yoperand_2>>l>#1>#?333333O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}HvVQCMathVMath_1\connection_2\connection_4\connection_1ZinputValue^outputPosition.O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff} zoomFactorNSNumberfposition恃name"Net"ZinputCount> >2 ZQCIteratorZIterator_1!"v[]>D>#?>D>D>DO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}\LucidaGrande[]>D>>D>D>>D !"8 >eO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}8WSU<   >D>>D>D>l>e>@ABCeeee>2 @] \inputMipmaps[inputRender[inputTarget>>2 >'>l#$%&'()*+,-./0368:<?ADFHJMNQTVX]connection_18]connection_15\connection_8]connection_16]connection_12\connection_7]connection_13]connection_10]connection_17\connection_9\connection_5]connection_11\connection_612[startSignalXkey_007045,U_timeZoutputTime75Qp9ZwonMessage;JXballPosY=>Sup2Xkey_F700@,YscoreLeftBCWscreenH\outputHeightSEJXballPosXGXrightPos$I,ZscoreRightKLSup1Xkey_0077OPUdown1Xkey_0073RSUdown2Xkey_F701U-_inputStartSignalWWleftPosYZWscreenW[outputWidth_QCRenderInImage_RenderInImage_1^ !"8_bfp`>a#@O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}6SU<ghjkl`n>D>>D>D>l>a>o@ABCeeeeq>2 tu}[Pixellate_1!v|llvwxy{]inputCenter_Y]inputCenter_X>z#@b>zO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}[CIPixellate2 O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}!"vvv>m>#@O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}-[.\\t\-tt[outputRatioO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}@C zoomFactorNSNumberfnoteListNSMutableArrayNSArraycolorNSColorcffff33s?ff&?ff&?stringPost Processingbounds#{_NSRect={_NSPoint=ff}{_NSSize=ff}}Eff&?33s? ?)Find rendering size
(width fixed @ 512)r)8M`jot|$-6ANR  !&+=IUZ 1D\] "'+167<ABJR_l .@N[gny+0AFHMV[`insxy*18ER     . 3 D I N S X ] b g h   , E T \ c u t3:ANWef)6Kahyt|-<IV[`ejo*8=BGLQVbn{    " ' ( 4 @ I W d u !!!""""""""#*#/#4#5#=#E#R#_############$$$$)$.$?$D$I$N$S$X$]$b$c% %%%7%>%E%J%O%Q%&&&&$&)&.&3&<&A&F&K&P&a&f&k&m&r&w&x&&&&&&&&&&''''+'0'5'>'C'H'Q'V''(((('(9(L(Q(R(W(X((()))()5):)))* **3*L*V*m*{****+-+H+U+z++,,,,,1,6,;,@,E,J,[,`,a,l,q,v,w,,,,,,,,------,-1-6-;-@----. . .1.=.I.S.].b.g.l.u.z.///$/5/B/O/\/m/x////0000000000011&1+10191>1C1H11122 22222"2/2T2Y2^222233333#3(3-32373H3M3R3S3V3g3t333333333334 44%434@4N4\4j4w444444444445 55'505A5E5N5_5i5z55555555555666%6.6?6E6N6_6r6666666677 777777777777777888 888+8D8M8[8i8n8w8|999*9394999999:: ::::::; ;=