DIRECTORY CD, Commander, IFUAsm, IFUPW, Rope; IFUAsmPCFormTop: CEDAR PROGRAM IMPORTS Commander, IFUAsm, IFUPW EXPORTS IFUAsm = BEGIN GND: Rope.ROPE = IFUPW.GND; VDD: Rope.ROPE = IFUPW.VDD; pcTopRP: IFUPW.RowParams = IFUPW.IFUDataColNSeq; LIST8: PUBLIC PROC [r0, r1, r2, r3, r4, r5, r6, r7: REF _ NIL ] RETURNS[list: LIST OF REF] = {RETURN[IFUPW.LISTn[r0, r1, r2, r3, r4, r5, r6, r7]]}; LIST6: PUBLIC PROC [r0, r1, r2, r3, r4, r5: REF _ NIL ] RETURNS[list: LIST OF REF] = {RETURN[IFUPW.LISTn[r0, r1, r2, r3, r4, r5]]}; abgdAB: IFUPW.List = IFUPW.List4["AlphaAB.", "BetaAB.", "GammaAB.", "DeltaAB."]; opNILAB: IFUPW.List = IFUPW.List4["OpAB.", NIL, NIL, NIL]; XopSetupOpTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", abgdAB, opNILAB ]; XopSetupOp: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.SwitchBoxRow[ design: design, name: "IFUAsmPCFormTop.XopSetupOp", rowType: IFUPW.cmosMet2, topRP: pcTopRP, top: XopSetupOpTop, left: NIL, right: LIST["UserMode0AB"], bot: XopSetupOpTop, botRP: pcTopRP ]}; XopGenRowTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", abgdAB, LIST6["OpAB.", NIL, IFUPW.List8[ NIL, NIL, NIL,"UserMode0AB", "OpAB.0", "OpAB.1", "OpAB.2", "OpAB.3"], IFUPW.List8["OpAB.4", "OpAB.5", "OpAB.6", "OpAB.7", NIL, NIL, NIL, NIL] ] ]; XopGenRow: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.XopGenRow", type: LIST6["GPTriDr"], top: XopGenRowTop, rightCtl: IFUPW.Listn["PCBusSrcXopGenBc", "not.PCBusSrcXopGenBc"], in: LIST6[ LIST6[ GND, GND, IFUPW.List8[GND,GND,GND,"UserMode0AB", "OpAB.0", "OpAB.1", "OpAB.2", "OpAB.3"], IFUPW.List8["OpAB.4", "OpAB.5", "OpAB.6", "OpAB.7", GND,GND,GND,GND] ] ], out: LIST6["PCBus."], bot: TrapSetup0Top, rp: pcTopRP ]}; TrapSetup0Top: LIST OF REF = LIST6[ "XBus.", "PCBus.", abgdAB, opNILAB]; TrapSetup0: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.SwitchBoxRow[ design: design, name: "IFUAsmPCFormTop.TrapSetup0", rowType: IFUPW.cmosMet2, topRP: pcTopRP, top: TrapSetup0Top, left: NIL, right: LIST[ "DPFaultB.0", "DPFaultB.1", "DPFaultB.2", "DPFaultB.3", "EUCondSel2AB.0", "EUCondSel2AB.1", "EUCondSel2AB.2", "EUCondSel2AB.3"], bot: TrapLatch0Top, botRP: pcTopRP ]}; TrapLatch0Top: LIST OF REF = LIST6[ "XBus.", "PCBus.", abgdAB, LIST6["OpAB.", LIST6[ "DPFaultB.0", "DPFaultB.1", "DPFaultB.2", "DPFaultB.3"], LIST6[ "EUCondSel2AB.0", "EUCondSel2AB.1", "EUCondSel2AB.2", "EUCondSel2AB.3"], NIL ] ]; TrapLatch0: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.TrapLatch0", type: LIST6["GPLatch"], top: TrapLatch0Top, leftCtl: IFUPW.Listn["PhB", "VBB"], in: LIST6[ LIST6[ NIL, LIST6[ "DPFaultB.0", "DPFaultB.1", "DPFaultB.2", "DPFaultB.3"], LIST6[ "EUCondSel2AB.0", "EUCondSel2AB.1", "EUCondSel2AB.2", "EUCondSel2AB.3"], NIL ] ], out: LIST6[ LIST6[ NIL, LIST6[ "DPFaultBA.0", "DPFaultBA.1", "DPFaultBA.2", "DPFaultBA.3"], LIST6[ "EUCondSel2BA.0", "EUCondSel2BA.1", "EUCondSel2BA.2", "EUCondSel2BA.3"], NIL ] ], bot: TrapSetup1Top, rp: pcTopRP ]}; TrapSetup1Top: LIST OF REF = LIST6[ "XBus.", "PCBus.", abgdAB, LIST6[ "OpAB.", LIST6[ "DPFaultBA.0", "DPFaultBA.1", "DPFaultBA.2", "DPFaultBA.3"], LIST6[ "EUCondSel2BA.0", "EUCondSel2BA.1", "EUCondSel2BA.2", "EUCondSel2BA.3"], NIL ] ]; TrapSetup1: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.SwitchBoxRow[ design: design, name: "IFUAsmPCFormTop.TrapSetup1", rowType: IFUPW.cmosMet2, topRP: pcTopRP, top: TrapSetup1Top, left: LIST["ExceptCodeAB.4", "ExceptCodeAB.5", "ExceptCodeAB.6","ExceptCodeAB.7"], right: NIL, bot: TrapMux1Top, botRP: pcTopRP ]}; TrapMux1Top: LIST OF REF = LIST[ "XBus.", "PCBus.", abgdAB, LIST6[ "OpAB.", NIL, NIL, LIST6[ "DPFaultBA.0", "DPFaultBA.1", "DPFaultBA.2", "DPFaultBA.3"] ], NIL, LIST6[ NIL, NIL, NIL, LIST6[ "EUCondSel2BA.0", "EUCondSel2BA.1", "EUCondSel2BA.2", "EUCondSel2BA.3"] ], GND, VDD, LIST6[ NIL, NIL, NIL, LIST6[ "ExceptCodeAB.4", "ExceptCodeAB.5", "ExceptCodeAB.6","ExceptCodeAB.7"] ] ]; TrapMux1: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUMuxRow[ design: design, name: "IFUAsmPCFormTop.TrapMux1", top: TrapMux1Top, leftCtl: IFUPW.Listn["NotExceptCodeAB.1", "ExceptCodeAB.2", "not.ExceptCodeAB.3"], in: LIST6[ LIST6[ GND, GND, IFUPW.List8[ GND, GND, GND, GND, GND, GND, GND, GND ], IFUPW.List8[ "ExceptCodeAB.4", "ExceptCodeAB.5", "ExceptCodeAB.6","ExceptCodeAB.7", GND, GND, GND, GND] ], LIST6[ GND, GND, IFUPW.List8[ GND, GND, GND, GND, GND, GND, VDD, GND ], IFUPW.List8[ "DPFaultBA.0", "DPFaultBA.1", "DPFaultBA.2", "DPFaultBA.3", GND, GND, GND, GND] ], LIST6[ GND, GND, IFUPW.List8[ GND, GND, GND, GND, GND, GND, GND, VDD ], IFUPW.List8[ "EUCondSel2BA.0", "EUCondSel2BA.1", "EUCondSel2BA.2", "EUCondSel2BA.3", GND, GND, GND, GND] ] ], out: LIST6["TrapPCA."], bot: TrapLatch1Top, rp: pcTopRP ]}; TrapLatch1Top: LIST OF REF = LIST6[ "XBus.", "PCBus.", abgdAB, opNILAB, "TrapPCA."]; TrapLatch1: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.TrapLatch1", type: LIST6["GPLatch"], top: TrapLatch1Top, leftCtl: IFUPW.Listn["PhA", "VBB"], in: LIST6["TrapPCA."], out: LIST6["TrapPCAB."], bot: TrapDrivePCBusTop, rp: pcTopRP ]}; TrapDrivePCBusTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", abgdAB, opNILAB, "TrapPCAB." ]; TrapDrivePCBus: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.TrapDrivePCBus", type: LIST6["GPTriDr"], top: TrapDrivePCBusTop, rightCtl: IFUPW.Listn["PCBusSrcTrapGenBc", "not.PCBusSrcTrapGenBc"], in: LIST6["TrapPCAB."], out: LIST6["PCBus."], bot: ABGDDrivePCBusTop, rp: pcTopRP ]}; ABGDDrivePCBusTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", abgdAB, opNILAB ]; ABGDDrivePCBus: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.ABGDDrivePCBus", type: LIST6["GPTriDr"], top: ABGDDrivePCBusTop, rightCtl: IFUPW.Listn["PCBusSrcAlpBetGamDelBc", "not.PCBusSrcAlpBetGamDelBc"], in: LIST6[abgdAB], out: LIST6["PCBus."], bot: XABTop, rp: pcTopRP ]}; XABTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", abgdAB, opNILAB]; XAB: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.XAB", type: LIST6["GPLatch"], top: XABTop, leftCtl: IFUPW.Listn["PhA", "VBB"], in: LIST6["XBus."], out: LIST6["XAB."], bot: XABDrivePCBusTop, rp: pcTopRP ]}; XABDrivePCBusTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", abgdAB, opNILAB, "XAB." ]; XABDrivePCBus: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.XABDrivePCBus", type: LIST6["GPTriDr"], top: XABDrivePCBusTop, rightCtl: IFUPW.Listn["PCBusSrcXaBc", "not.PCBusSrcXaBc"], in: LIST6["XAB."], out: LIST6["PCBus."], bot: BranchOffsetSetupTop, rp: pcTopRP ]}; BranchOffsetSetupTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", abgdAB, opNILAB, "XAB." ]; BranchOffsetSetup: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.SwitchBoxRow[ design: design, name: "IFUAsmPCFormTop.BranchOffsetSetup", rowType: IFUPW.cmosMet2, topRP: pcTopRP, top: BranchOffsetSetupTop, left: NIL, right: NIL, bot: BranchOffsetMuxTop, botRP: pcTopRP ]}; LISTOpAlphaBetaAB: LIST OF REF = LIST6["OpAB.", NIL, "AlphaAB.", "BetaAB."]; LISTOpAlphaBetaBA: LIST OF REF = LIST6["OpBA.", NIL, "AlphaBA.", "BetaBA."]; alphaSign: IFUPW.List = IFUPW.List8["AlphaAB.7", "AlphaAB.7", "AlphaAB.7", "AlphaAB.7", "AlphaAB.7", "AlphaAB.7", "AlphaAB.7", "AlphaAB.7"]; betaSign: IFUPW.List = IFUPW.List8["BetaAB.7", "BetaAB.7", "BetaAB.7", "BetaAB.7", "BetaAB.7", "BetaAB.7", "BetaAB.7", "BetaAB.7"]; signedAlpBet: LIST OF REF = LIST6[alphaSign, alphaSign, "AlphaAB.", "BetaAB."]; signedAlpha: LIST OF REF = LIST6[alphaSign, alphaSign, alphaSign, "AlphaAB."]; signedBeta: LIST OF REF = LIST6[betaSign, betaSign, betaSign, "BetaAB."]; BranchOffsetMuxTop: LIST OF REF = IFUPW.LISTn[ "XBus.", "PCBus.", abgdAB, LISTOpAlphaBetaAB, "XAB.", NIL, GND, VDD, signedAlpha, signedBeta ]; BranchOffsetMux: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUMuxRow[ design: design, name: "IFUAsmPCFormTop.BranchOffsetMux", top: BranchOffsetMuxTop, leftCtl: LIST["PCBrAlphaA","PCBrBetaA","PCBrAlphaBetaA","PCBrABGDA","PCBrXaA"], in: LIST6[ signedAlpha, signedBeta, signedAlpBet, abgdAB, "XAB."], out: LIST6["PCBranchOSetA."], bot: BranchOffsetLatchTop, rp: pcTopRP ]}; BranchOffsetLatchTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", NIL, LISTOpAlphaBetaAB, NIL, "PCBranchOSetA."]; BranchOffsetLatch: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.BranchOffsetLatch", type: LIST6["GPLatch"], top: BranchOffsetLatchTop, leftCtl: IFUPW.Listn["PhA", "VBB"], in: LIST6["PCBranchOSetA."], out: LIST6["PCBranchOSetAB."], bot: BranchPhaseMuxTop, rp: pcTopRP ]}; oplength: LIST OF REF = LIST6[ GND, GND, GND, IFUPW.List8[GND, GND, GND, GND, GND, "OpLengthBA.0", "OpLengthBA.1", "OpLengthBA.2"]]; BranchPhaseMuxTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", "PCBranchOSetAB.", LISTOpAlphaBetaAB]; BranchPhaseMux: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUMuxRow[ design: design, name: "IFUAsmPCFormTop.BranchPhaseMux", top: BranchPhaseMuxTop, leftCtl: IFUPW.Listn["PhA", "PhB"], in: LIST6[oplength, "PCBranchOSetAB." ], out: LIST6["PCBranch."], bot: BranchBufferTop, rp: pcTopRP ]}; BranchBufferTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", "PCBranch.", LISTOpAlphaBetaAB, oplength]; BranchBuffer: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.BranchBuffer", type: LIST6["GPBuf"], top: BranchBufferTop, leftCtl: NIL, in: LIST6["PCBranch."], out: LIST6["PCBranchBuf."], bot: OpLengthBranchSetupTop, rp: pcTopRP ]}; OpLengthBranchSetupTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", "PCBranchBuf.", LISTOpAlphaBetaAB, oplength ]; OpLengthBranchSetup: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.SwitchBoxRow[ design: design, name: "IFUAsmPCFormTop.OpLengthBranchSetup", rowType: IFUPW.cmosMet2, topRP: pcTopRP, top: OpLengthBranchSetupTop, left: LIST["OpLengthBA.0", "OpLengthBA.1", "OpLengthBA.2"], right: NIL, bot: OpAlphaBetaLatchTop, botRP: pcTopRP ]}; OpAlphaBetaLatchTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", "PCBranchBuf.", LISTOpAlphaBetaAB]; OpAlphaBetaLatch: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.OpAlphaBetaLatch", type: LIST6["GPLatch"], top: OpAlphaBetaLatchTop, leftCtl: IFUPW.Listn["PhB", "VBB"], in: LIST6[LISTOpAlphaBetaAB], out: LIST6[LISTOpAlphaBetaBA], bot: NPCLatchTop, rp: pcTopRP ]}; NPCLatchTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", "PCBranchBuf.", LISTOpAlphaBetaBA]; NPCLatch: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.NPCLatch", type: LIST6["GPLatch"], top: NPCLatchTop, leftCtl: IFUPW.Listn["PhB", "VBB"], in: LIST6["PCBus."], out: LIST6["NPCBA."], bot: PCABMuxTop, rp: pcTopRP ]}; PCABMuxTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", "PCBranchBuf.", LISTOpAlphaBetaBA, NIL, "NPCBA."]; PCABMux: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUMuxRow[ design: design, name: "IFUAsmPCFormTop.PCABMux", top: PCABMuxTop, rightCtl: IFUPW.Listn["PCNextIncrBA", "PCNextFromPCBusBA"], in: LIST6["SumA.", "NPCBA."], out: LIST6["PCA."], bot: PCABLatchTop, rp: pcTopRP ]}; PCABLatchTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", "PCBranchBuf.", LISTOpAlphaBetaBA, "PCA.", "SumA."]; PCABLatch: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.PCABLatch", type: LIST6["GPLatch"], top: PCABLatchTop, leftCtl: IFUPW.Listn["PhA", "VBB"], in: LIST6["PCA."], out: LIST6["PCAB."], bot: PCDrivePCBusTop, rp: pcTopRP ]}; PCDrivePCBusTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", "PCBranchBuf.", LISTOpAlphaBetaBA, "PCAB.", "SumA."]; PCDrivePCBus: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.PCDrivePCBus", type: LIST6["GPTriDr"], top: PCDrivePCBusTop, rightCtl: IFUPW.Listn["PCBusSrcPCBc", "not.PCBusSrcPCBc"], in: LIST6["PCAB."], out: LIST6["PCBus."], bot: PCBALatchTop, rp: pcTopRP ]}; PCBALatchTop: LIST OF REF = LIST6[ "XBus.", "PCBus.", "PCBranchBuf.", LISTOpAlphaBetaBA, "PCAB.", "SumA."]; PCBALatch: PROC[design: CD.Design] RETURNS[cell: CD.Object] = { cell _ IFUPW.IFUGPCellRow[ design: design, name: "IFUAsmPCFormTop.PCBALatch", type: LIST6["GPLatch"], top: PCBALatchTop, leftCtl: IFUPW.Listn["PhA", "VBB"], in: LIST6["PCAB."], out: LIST6["PCBA."], bot: PCFormBot, rp: pcTopRP ]}; PCFormBot: LIST OF REF = LIST6[ "XBus.", "PCBus.", "PCBranchBuf.", LISTOpAlphaBetaBA, "PCBA.", "SumA."]; module: Rope.ROPE _ "IFUAsmPCFormTop"; PCFormTop: PUBLIC IFUPW.Frame _ IFUPW.NFSFUP[module, y, LIST[ XopSetupOp, XopGenRow, TrapSetup0, TrapLatch0, TrapSetup1, TrapMux1, TrapLatch1, TrapDrivePCBus, ABGDDrivePCBus, XAB, XABDrivePCBus, BranchOffsetSetup, BranchOffsetMux, BranchOffsetLatch, BranchPhaseMux, BranchBuffer, OpLengthBranchSetup, OpAlphaBetaLatch, NPCLatch, PCABMux, PCABLatch, PCDrivePCBus, PCBALatch ] ]; PCFormTopCT: Commander.CommandProc = {IFUPW.AssembleFrame[IFUAsm.RefDesign[], PCFormTop, cmd ] }; Commander.Register [proc: PCFormTopCT, key: module]; END. ²IFUAsmPCFormTop.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Last Edited by June 24, 1985 9:32:12 pm PDT Curry, November 25, 1985 10:12:51 pm PST Κc˜šœ™Jšœ<™šœœ ˜Jšœ˜Jšœ"˜"Jšœ˜Jšœ œD˜Ršœ ˜ šœœœ˜Jšœœœœœœœœœ˜6Jš œOœœœœ˜j—šœœœ˜JšœœœœœœœΠbkœœ˜6Jš œDœœœœ˜_—šœœœ˜JšœœœœœœœœŸœ˜6Jš œPœœœœ˜m——Jšœ˜Jšœ˜Jšœ˜—J˜—šœœœœ ˜#Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ ˜ J˜—š ž œœ œ œœ ˜@šœœ˜Jšœ˜Jšœ$˜$Jšœ˜Jšœ˜Jšœ œ˜#Jšœ˜Jšœ˜Jšœ˜Jšœ˜——J˜šœœœœ ˜'Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ˜J˜—š žœœ œ œœ ˜Dšœœ˜Jšœ˜Jšœ(˜(Jšœ˜Jšœ˜Jšœ œ5˜DJšœ˜Jšœ˜Jšœ˜Jšœ˜——J˜šœœœœ ˜'Jšœ˜Jšœ ˜ Jšœ˜Jšœ ˜ J˜—š žœœ œ œœ ˜Dšœœ˜Jšœ˜Jšœ(˜(Jšœ˜Jšœ˜Jšœ œ?˜NJšœ˜Jšœ˜Jšœ ˜ Jšœ˜——J˜šœœœœ ˜Jšœ˜Jšœ ˜ Jšœ˜Jšœ ˜ J˜—š œœ œ œœ ˜9šœœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ ˜ Jšœ œ˜#Jšœ˜Jšœ˜Jšœ˜Jšœ˜——J˜šœœœœ ˜&Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ ˜ J˜—š ž œœ œ œœ ˜Cšœœ˜Jšœ˜Jšœ'˜'Jšœ˜Jšœ˜Jšœ œ+˜:Jšœ˜Jšœ˜Jšœ˜Jšœ˜——J˜šœœœœ ˜*Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ ˜ J˜—š žœœ œ œœ ˜Gšœœ˜Jšœ˜Jšœ+˜+Jšœ œ ˜Jšœ˜Jšœ˜Jšœœ˜ Jšœœ˜ Jšœ˜Jšœ˜J˜——Jš œœœœœ˜LJš œœœœœ˜LJ˜Jšœ œœo˜J˜Jšœ œœg˜ƒJ˜Jšœœœœ8˜QJšœ œœœ8˜PJšœ œœœ7˜NJ˜š œœœœœ˜.Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ ˜ Jšœ ˜ J˜—š žœœ œ œœ ˜Ešœœ ˜Jšœ˜Jšœ)˜)Jšœ˜Jšœ œB˜Ošœ ˜ Jšœ ˜ Jšœ ˜ Jšœ ˜ Jšœ˜Jšœ˜—Jšœ˜Jšœ˜Jšœ˜—J˜—šœœœœ ˜*Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ˜Jšœ˜J˜—š žœœ œ œœ ˜Gšœœ˜Jšœ˜Jšœ+˜+Jšœ˜Jšœ˜Jšœ œ˜#Jšœ˜Jšœ˜Jšœ˜Jšœ˜——J˜šœ œœœ ˜Jšœ˜Jšœ˜Jšœ˜Jš œœœœœœ3˜V—J˜šœœœœ ˜'Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜J˜—š žœœ œ œœ ˜Dšœœ ˜Jšœ˜Jšœ(˜(Jšœ˜Jšœ œ˜#Jšœ*˜*Jšœ˜Jšœ˜Jšœ˜—J˜—šœœœœ ˜%Jšœ˜Jšœ ˜ Jšœ ˜ Jšœ˜Jšœ ˜ J˜—š ž œœ œ œœ ˜Bšœœ˜Jšœ˜Jšœ&˜&Jšœ˜Jšœ˜Jšœ œ˜ Jšœ˜Jšœ˜Jšœ˜Jšœ˜——J˜šœœœœ ˜,Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ ˜ J˜—š žœœ œ œœ ˜Išœœ˜Jšœ˜Jšœ-˜-Jšœ œ ˜Jšœ˜Jšœ˜Jšœœ1˜šœœ˜Jšœ˜Jšœ"˜"Jšœ˜Jšœ˜Jšœ œ˜#Jšœ˜Jšœ˜Jšœ˜Jšœ˜——J˜šœ œœœ ˜ Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ˜Jšœ ˜ J˜—š žœœ œ œœ ˜=šœœ ˜Jšœ˜Jšœ!˜!Jšœ˜Jšœ œ,˜;Jšœ˜Jšœ˜Jšœ˜Jšœ˜—J˜—šœœœœ ˜"Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ˜Jšœ ˜ J˜—š ž œœ œ œœ ˜?šœœ˜Jšœ˜Jšœ#˜#Jšœ˜Jšœ˜Jšœ œ˜#Jšœ˜Jšœ˜Jšœ˜Jšœ˜——J˜šœœœœ ˜%Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ˜Jšœ ˜ J˜—š ž œœ œ œœ ˜Bšœœ˜Jšœ˜Jšœ&˜&Jšœ˜Jšœ˜Jšœ œ+˜:Jšœ˜Jšœ˜Jšœ˜Jšœ˜——J˜šœœœœ ˜"Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ˜Jšœ ˜ J˜—š ž œœ œ œœ ˜?šœœ˜Jšœ˜Jšœ#˜#Jšœ˜Jšœ˜Jšœ œ˜#Jšœ˜Jšœ˜Jšœ˜Jšœ˜——J˜šœ œœœ ˜Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ˜Jšœ ˜ J˜—Jšœœ˜'J˜š œ œœ œœ œ˜=Jšœ ˜ Jšœ ˜ Jšœ ˜ Jšœ ˜ Jšœ ˜ Jšœ ˜ Jšœ ˜ Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ˜Jšœ ˜ Jšœ˜Jšœ˜Jšœ ˜ Jšœ˜Jšœ ˜ Jšœ ˜ Jšœ˜—J˜šœ$˜$Jšœœ6˜<—J˜Jšœ8˜8J˜J˜Jšœ˜—J™J™—…—5ΠKε