public final class com.sun.marlin.DStroker implements com.sun.marlin.DPathConsumer2D, com.sun.marlin.MarlinConst
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.marlin.DStroker
  super_class: java.lang.Object
{
  private static final int MOVE_TO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int DRAWING_OP_TO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int CLOSE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final double ERR_JOIN;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double ROUND_JOIN_THRESHOLD;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double C;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double SQRT_2;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private com.sun.marlin.DPathConsumer2D out;
    descriptor: Lcom/sun/marlin/DPathConsumer2D;
    flags: (0x0002) ACC_PRIVATE

  private int capStyle;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int joinStyle;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private double lineWidth2;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double invHalfLineWidth2Sq;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private final double[] offset0;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] offset1;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] offset2;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] miter;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private double miterLimitSq;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private int prev;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private double sx0;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double sy0;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double sdx;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double sdy;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cx0;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cy0;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cdx;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cdy;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double smx;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double smy;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cmx;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cmy;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.marlin.DHelpers$PolyStack reverse;
    descriptor: Lcom/sun/marlin/DHelpers$PolyStack;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] lp;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double[] rp;
    descriptor: [D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final com.sun.marlin.DRendererContext rdrCtx;
    descriptor: Lcom/sun/marlin/DRendererContext;
    flags: (0x0010) ACC_FINAL

  final com.sun.marlin.DCurve curve;
    descriptor: Lcom/sun/marlin/DCurve;
    flags: (0x0010) ACC_FINAL

  private double[] clipRect;
    descriptor: [D
    flags: (0x0002) ACC_PRIVATE

  private int cOutCode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int sOutCode;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean opened;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean capStart;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean monotonize;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean subdivide;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.marlin.DTransformingPathConsumer2D$CurveClipSplitter curveSplitter;
    descriptor: Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 36
            ldc Lcom/sun/marlin/DStroker;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.sun.marlin.DStroker.$assertionsDisabled:Z
         3: .line 43
            fconst_1
            getstatic com.sun.marlin.DStroker.MIN_SUBPIXELS:F
            fdiv
            f2d
            putstatic com.sun.marlin.DStroker.ERR_JOIN:D
         4: .line 44
            getstatic com.sun.marlin.DStroker.ERR_JOIN:D
            getstatic com.sun.marlin.DStroker.ERR_JOIN:D
            dmul
            putstatic com.sun.marlin.DStroker.ROUND_JOIN_THRESHOLD:D
         5: .line 47
            ldc 4.0
            ldc 2.0
            invokestatic java.lang.Math.sqrt:(D)D
            dconst_1
            dsub
            dmul
            ldc 3.0
            ddiv
            putstatic com.sun.marlin.DStroker.C:D
         6: .line 50
            ldc 2.0
            invokestatic java.lang.Math.sqrt:(D)D
            putstatic com.sun.marlin.DStroker.SQRT_2:D
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.sun.marlin.DRendererContext);
    descriptor: (Lcom/sun/marlin/DRendererContext;)V
    flags: (0x0000) 
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // com.sun.marlin.DRendererContext rdrCtx
         0: .line 114
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            aload 0 /* this */
            iconst_2
            newarray 7
            putfield com.sun.marlin.DStroker.offset0:[D
         2: .line 61
            aload 0 /* this */
            iconst_2
            newarray 7
            putfield com.sun.marlin.DStroker.offset1:[D
         3: .line 62
            aload 0 /* this */
            iconst_2
            newarray 7
            putfield com.sun.marlin.DStroker.offset2:[D
         4: .line 63
            aload 0 /* this */
            iconst_2
            newarray 7
            putfield com.sun.marlin.DStroker.miter:[D
         5: .line 82
            aload 0 /* this */
            bipush 8
            newarray 7
            putfield com.sun.marlin.DStroker.lp:[D
         6: .line 83
            aload 0 /* this */
            bipush 8
            newarray 7
            putfield com.sun.marlin.DStroker.rp:[D
         7: .line 95
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.cOutCode:I
         8: .line 98
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.sOutCode:I
         9: .line 101
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.opened:Z
        10: .line 103
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.capStart:Z
        11: .line 107
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.subdivide:Z
        12: .line 115
            aload 0 /* this */
            aload 1 /* rdrCtx */
            putfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
        13: .line 117
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
            ifnull 22
        14: .line 118
            new com.sun.marlin.DHelpers$PolyStack
            dup
            aload 1 /* rdrCtx */
        15: .line 119
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_str_polystack_types:Lcom/sun/marlin/stats/StatLong;
        16: .line 120
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_str_polystack_curves:Lcom/sun/marlin/stats/StatLong;
        17: .line 121
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.hist_str_polystack_curves:Lcom/sun/marlin/stats/Histogram;
        18: .line 122
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_array_str_polystack_curves:Lcom/sun/marlin/stats/StatLong;
        19: .line 123
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.stats:Lcom/sun/marlin/RendererStats;
            getfield com.sun.marlin.RendererStats.stat_array_str_polystack_types:Lcom/sun/marlin/stats/StatLong;
        20: .line 118
            invokespecial com.sun.marlin.DHelpers$PolyStack.<init>:(Lcom/sun/marlin/DRendererContext;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/Histogram;Lcom/sun/marlin/stats/StatLong;Lcom/sun/marlin/stats/StatLong;)V
        21: .line 123
            goto 23
        22: .line 124
      StackMap locals: com.sun.marlin.DStroker com.sun.marlin.DRendererContext
      StackMap stack: com.sun.marlin.DStroker
            new com.sun.marlin.DHelpers$PolyStack
            dup
            aload 1 /* rdrCtx */
            invokespecial com.sun.marlin.DHelpers$PolyStack.<init>:(Lcom/sun/marlin/DRendererContext;)V
        23: .line 117
      StackMap locals: com.sun.marlin.DStroker com.sun.marlin.DRendererContext
      StackMap stack: com.sun.marlin.DStroker com.sun.marlin.DHelpers$PolyStack
            putfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
        24: .line 126
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.curve:Lcom/sun/marlin/DCurve;
            putfield com.sun.marlin.DStroker.curve:Lcom/sun/marlin/DCurve;
        25: .line 127
            aload 0 /* this */
            aload 1 /* rdrCtx */
            getfield com.sun.marlin.DRendererContext.curveClipSplitter:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
            putfield com.sun.marlin.DStroker.curveSplitter:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
        26: .line 128
            return
        end local 1 // com.sun.marlin.DRendererContext rdrCtx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   27     0    this  Lcom/sun/marlin/DStroker;
            0   27     1  rdrCtx  Lcom/sun/marlin/DRendererContext;
    MethodParameters:
        Name  Flags
      rdrCtx  final

  public com.sun.marlin.DStroker init(com.sun.marlin.DPathConsumer2D, double, int, int, double, double, double, double, boolean);
    descriptor: (Lcom/sun/marlin/DPathConsumer2D;DIIDDDDZ)Lcom/sun/marlin/DStroker;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=20, args_size=10
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // com.sun.marlin.DPathConsumer2D pc2d
        start local 2 // double lineWidth
        start local 4 // int capStyle
        start local 5 // int joinStyle
        start local 6 // double miterLimit
        start local 8 // double scale
        start local 10 // double rdrOffX
        start local 12 // double rdrOffY
        start local 14 // boolean subdivideCurves
         0: .line 158
            aload 0 /* this */
            aload 1 /* pc2d */
            putfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
         1: .line 160
            aload 0 /* this */
            dload 2 /* lineWidth */
            ldc 2.0
            ddiv
            putfield com.sun.marlin.DStroker.lineWidth2:D
         2: .line 161
            aload 0 /* this */
            dconst_1
            ldc 2.0
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dmul
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dmul
            ddiv
            putfield com.sun.marlin.DStroker.invHalfLineWidth2Sq:D
         3: .line 162
            aload 0 /* this */
            iload 14 /* subdivideCurves */
            putfield com.sun.marlin.DStroker.monotonize:Z
         4: .line 164
            aload 0 /* this */
            iload 4 /* capStyle */
            putfield com.sun.marlin.DStroker.capStyle:I
         5: .line 165
            aload 0 /* this */
            iload 5 /* joinStyle */
            putfield com.sun.marlin.DStroker.joinStyle:I
         6: .line 167
            dload 6 /* miterLimit */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dmul
            dstore 15 /* limit */
        start local 15 // double limit
         7: .line 168
            aload 0 /* this */
            dload 15 /* limit */
            dload 15 /* limit */
            dmul
            putfield com.sun.marlin.DStroker.miterLimitSq:D
         8: .line 170
            aload 0 /* this */
            iconst_2
            putfield com.sun.marlin.DStroker.prev:I
         9: .line 172
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            iconst_1
            putfield com.sun.marlin.DRendererContext.stroking:I
        10: .line 174
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            getfield com.sun.marlin.DRendererContext.doClip:Z
            ifeq 33
        11: .line 176
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dstore 17 /* margin */
        start local 17 // double margin
        12: .line 178
            iload 4 /* capStyle */
            iconst_2
            if_icmpne 14
        13: .line 179
            dload 17 /* margin */
            getstatic com.sun.marlin.DStroker.SQRT_2:D
            dmul
            dstore 17 /* margin */
        14: .line 181
      StackMap locals: double double
      StackMap stack:
            iload 5 /* joinStyle */
            ifne 16
            dload 17 /* margin */
            dload 15 /* limit */
            dcmpg
            ifge 16
        15: .line 182
            dload 15 /* limit */
            dstore 17 /* margin */
        16: .line 184
      StackMap locals:
      StackMap stack:
            dload 8 /* scale */
            dconst_1
            dcmpl
            ifeq 20
        17: .line 185
            dload 17 /* margin */
            dload 8 /* scale */
            dmul
            dstore 17 /* margin */
        18: .line 186
            dload 10 /* rdrOffX */
            dload 8 /* scale */
            dmul
            dstore 10 /* rdrOffX */
        19: .line 187
            dload 12 /* rdrOffY */
            dload 8 /* scale */
            dmul
            dstore 12 /* rdrOffY */
        20: .line 190
      StackMap locals:
      StackMap stack:
            dload 17 /* margin */
            ldc 0.001
            dadd
            dstore 17 /* margin */
        21: .line 194
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            getfield com.sun.marlin.DRendererContext.clipRect:[D
            astore 19 /* _clipRect */
        start local 19 // double[] _clipRect
        22: .line 195
            aload 19 /* _clipRect */
            iconst_0
            dup2
            daload
            dload 17 /* margin */
            dload 12 /* rdrOffY */
            dsub
            dsub
            dastore
        23: .line 196
            aload 19 /* _clipRect */
            iconst_1
            dup2
            daload
            dload 17 /* margin */
            dload 12 /* rdrOffY */
            dadd
            dadd
            dastore
        24: .line 197
            aload 19 /* _clipRect */
            iconst_2
            dup2
            daload
            dload 17 /* margin */
            dload 10 /* rdrOffX */
            dsub
            dsub
            dastore
        25: .line 198
            aload 19 /* _clipRect */
            iconst_3
            dup2
            daload
            dload 17 /* margin */
            dload 10 /* rdrOffX */
            dadd
            dadd
            dastore
        26: .line 199
            aload 0 /* this */
            aload 19 /* _clipRect */
            putfield com.sun.marlin.DStroker.clipRect:[D
        27: .line 202
            getstatic com.sun.marlin.DStroker.DO_CLIP_SUBDIVIDER:Z
            ifeq 31
        28: .line 203
            aload 0 /* this */
            iload 14 /* subdivideCurves */
            putfield com.sun.marlin.DStroker.subdivide:Z
        29: .line 205
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.curveSplitter:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
            invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveClipSplitter.init:()V
        30: .line 206
            goto 36
        31: .line 207
      StackMap locals: double[]
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.subdivide:Z
        end local 19 // double[] _clipRect
        end local 17 // double margin
        32: .line 209
            goto 36
        33: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.marlin.DStroker.clipRect:[D
        34: .line 211
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.cOutCode:I
        35: .line 212
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.sOutCode:I
        36: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 15 // double limit
        end local 14 // boolean subdivideCurves
        end local 12 // double rdrOffY
        end local 10 // double rdrOffX
        end local 8 // double scale
        end local 6 // double miterLimit
        end local 5 // int joinStyle
        end local 4 // int capStyle
        end local 2 // double lineWidth
        end local 1 // com.sun.marlin.DPathConsumer2D pc2d
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   37     0             this  Lcom/sun/marlin/DStroker;
            0   37     1             pc2d  Lcom/sun/marlin/DPathConsumer2D;
            0   37     2        lineWidth  D
            0   37     4         capStyle  I
            0   37     5        joinStyle  I
            0   37     6       miterLimit  D
            0   37     8            scale  D
            0   37    10          rdrOffX  D
            0   37    12          rdrOffY  D
            0   37    14  subdivideCurves  Z
            7   37    15            limit  D
           12   32    17           margin  D
           22   32    19        _clipRect  [D
    MethodParameters:
                 Name  Flags
      pc2d             final
      lineWidth        final
      capStyle         final
      joinStyle        final
      miterLimit       final
      scale            final
      rdrOffX          
      rdrOffY          
      subdivideCurves  final

  public void disableClipping();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.DStroker this
         0: .line 218
            aload 0 /* this */
            aconst_null
            putfield com.sun.marlin.DStroker.clipRect:[D
         1: .line 219
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.cOutCode:I
         2: .line 220
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.sOutCode:I
         3: .line 221
            return
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/marlin/DStroker;

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.DStroker this
         0: .line 228
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
            invokevirtual com.sun.marlin.DHelpers$PolyStack.dispose:()V
         1: .line 230
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.opened:Z
         2: .line 231
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.capStart:Z
         3: .line 242
            return
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/marlin/DStroker;

  private static void computeOffset(double, double, double, double[]);
    descriptor: (DDD[D)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // double lx
        start local 2 // double ly
        start local 4 // double w
        start local 6 // double[] m
         0: .line 247
            dload 0 /* lx */
            dload 0 /* lx */
            dmul
            dload 2 /* ly */
            dload 2 /* ly */
            dmul
            dadd
            dstore 7 /* len */
        start local 7 // double len
         1: .line 248
            dload 7 /* len */
            dconst_0
            dcmpl
            ifne 5
         2: .line 249
            aload 6 /* m */
            iconst_0
            dconst_0
            dastore
         3: .line 250
            aload 6 /* m */
            iconst_1
            dconst_0
            dastore
         4: .line 251
            goto 8
         5: .line 252
      StackMap locals: double
      StackMap stack:
            dload 7 /* len */
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 7 /* len */
         6: .line 253
            aload 6 /* m */
            iconst_0
            dload 2 /* ly */
            dload 4 /* w */
            dmul
            dload 7 /* len */
            ddiv
            dastore
         7: .line 254
            aload 6 /* m */
            iconst_1
            dload 0 /* lx */
            dload 4 /* w */
            dmul
            dneg
            dload 7 /* len */
            ddiv
            dastore
         8: .line 256
      StackMap locals:
      StackMap stack:
            return
        end local 7 // double len
        end local 6 // double[] m
        end local 4 // double w
        end local 2 // double ly
        end local 0 // double lx
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0    lx  D
            0    9     2    ly  D
            0    9     4     w  D
            0    9     6     m  [D
            1    9     7   len  D
    MethodParameters:
      Name  Flags
      lx    final
      ly    final
      w     final
      m     final

  private static boolean isCW(double, double, double, double);
    descriptor: (DDDD)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // double dx1
        start local 2 // double dy1
        start local 4 // double dx2
        start local 6 // double dy2
         0: .line 269
            dload 0 /* dx1 */
            dload 6 /* dy2 */
            dmul
            dload 2 /* dy1 */
            dload 4 /* dx2 */
            dmul
            dcmpg
            ifgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 6 // double dy2
        end local 4 // double dx2
        end local 2 // double dy1
        end local 0 // double dx1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   dx1  D
            0    2     2   dy1  D
            0    2     4   dx2  D
            0    2     6   dy2  D
    MethodParameters:
      Name  Flags
      dx1   final
      dy1   final
      dx2   final
      dy2   final

  private void mayDrawRoundJoin(double, double, double, double, double, double, boolean);
    descriptor: (DDDDDDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=20, args_size=8
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double cx
        start local 3 // double cy
        start local 5 // double omx
        start local 7 // double omy
        start local 9 // double mx
        start local 11 // double my
        start local 13 // boolean rev
         0: .line 277
            dload 5 /* omx */
            dconst_0
            dcmpl
            ifne 1
            dload 7 /* omy */
            dconst_0
            dcmpl
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: dload 9 /* mx */
            dconst_0
            dcmpl
            ifne 3
            dload 11 /* my */
            dconst_0
            dcmpl
            ifne 3
         2: .line 278
      StackMap locals:
      StackMap stack:
            return
         3: .line 281
      StackMap locals:
      StackMap stack:
            dload 5 /* omx */
            dload 9 /* mx */
            dsub
            dstore 14 /* domx */
        start local 14 // double domx
         4: .line 282
            dload 7 /* omy */
            dload 11 /* my */
            dsub
            dstore 16 /* domy */
        start local 16 // double domy
         5: .line 283
            dload 14 /* domx */
            dload 14 /* domx */
            dmul
            dload 16 /* domy */
            dload 16 /* domy */
            dmul
            dadd
            dstore 18 /* lenSq */
        start local 18 // double lenSq
         6: .line 285
            dload 18 /* lenSq */
            getstatic com.sun.marlin.DStroker.ROUND_JOIN_THRESHOLD:D
            dcmpg
            ifge 8
         7: .line 286
            return
         8: .line 289
      StackMap locals: double double double
      StackMap stack:
            iload 13 /* rev */
            ifeq 13
         9: .line 290
            dload 5 /* omx */
            dneg
            dstore 5 /* omx */
        10: .line 291
            dload 7 /* omy */
            dneg
            dstore 7 /* omy */
        11: .line 292
            dload 9 /* mx */
            dneg
            dstore 9 /* mx */
        12: .line 293
            dload 11 /* my */
            dneg
            dstore 11 /* my */
        13: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* cx */
            dload 3 /* cy */
            dload 5 /* omx */
            dload 7 /* omy */
            dload 9 /* mx */
            dload 11 /* my */
            iload 13 /* rev */
            invokevirtual com.sun.marlin.DStroker.drawRoundJoin:(DDDDDDZ)V
        14: .line 296
            return
        end local 18 // double lenSq
        end local 16 // double domy
        end local 14 // double domx
        end local 13 // boolean rev
        end local 11 // double my
        end local 9 // double mx
        end local 7 // double omy
        end local 5 // double omx
        end local 3 // double cy
        end local 1 // double cx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lcom/sun/marlin/DStroker;
            0   15     1     cx  D
            0   15     3     cy  D
            0   15     5    omx  D
            0   15     7    omy  D
            0   15     9     mx  D
            0   15    11     my  D
            0   15    13    rev  Z
            4   15    14   domx  D
            5   15    16   domy  D
            6   15    18  lenSq  D
    MethodParameters:
      Name  Flags
      cx    
      cy    
      omx   
      omy   
      mx    
      my    
      rev   

  private void drawRoundJoin(double, double, double, double, double, double, boolean);
    descriptor: (DDDDDDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=28, args_size=8
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double cx
        start local 3 // double cy
        start local 5 // double omx
        start local 7 // double omy
        start local 9 // double mx
        start local 11 // double my
        start local 13 // boolean rev
         0: .line 306
            dload 5 /* omx */
            dload 9 /* mx */
            dmul
            dload 7 /* omy */
            dload 11 /* my */
            dmul
            dadd
            dstore 14 /* cosext */
        start local 14 // double cosext
         1: .line 310
            dload 14 /* cosext */
            dconst_0
            dcmpl
            iflt 4
         2: .line 311
            aload 0 /* this */
            dload 1 /* cx */
            dload 3 /* cy */
            dload 5 /* omx */
            dload 7 /* omy */
            dload 9 /* mx */
            dload 11 /* my */
            iload 13 /* rev */
            invokevirtual com.sun.marlin.DStroker.drawBezApproxForArc:(DDDDDDZ)V
         3: .line 312
            goto 15
         4: .line 327
      StackMap locals: double
      StackMap stack:
            dload 11 /* my */
            dload 7 /* omy */
            dsub
            dstore 16 /* nx */
        start local 16 // double nx
         5: dload 5 /* omx */
            dload 9 /* mx */
            dsub
            dstore 18 /* ny */
        start local 18 // double ny
         6: .line 328
            dload 16 /* nx */
            dload 16 /* nx */
            dmul
            dload 18 /* ny */
            dload 18 /* ny */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 20 /* nlen */
        start local 20 // double nlen
         7: .line 329
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dload 20 /* nlen */
            ddiv
            dstore 22 /* scale */
        start local 22 // double scale
         8: .line 330
            dload 16 /* nx */
            dload 22 /* scale */
            dmul
            dstore 24 /* mmx */
        start local 24 // double mmx
         9: dload 18 /* ny */
            dload 22 /* scale */
            dmul
            dstore 26 /* mmy */
        start local 26 // double mmy
        10: .line 335
            iload 13 /* rev */
            ifeq 13
        11: .line 336
            dload 24 /* mmx */
            dneg
            dstore 24 /* mmx */
        12: .line 337
            dload 26 /* mmy */
            dneg
            dstore 26 /* mmy */
        13: .line 339
      StackMap locals: com.sun.marlin.DStroker double double double double double double int double double double double double double double
      StackMap stack:
            aload 0 /* this */
            dload 1 /* cx */
            dload 3 /* cy */
            dload 5 /* omx */
            dload 7 /* omy */
            dload 24 /* mmx */
            dload 26 /* mmy */
            iload 13 /* rev */
            invokevirtual com.sun.marlin.DStroker.drawBezApproxForArc:(DDDDDDZ)V
        14: .line 340
            aload 0 /* this */
            dload 1 /* cx */
            dload 3 /* cy */
            dload 24 /* mmx */
            dload 26 /* mmy */
            dload 9 /* mx */
            dload 11 /* my */
            iload 13 /* rev */
            invokevirtual com.sun.marlin.DStroker.drawBezApproxForArc:(DDDDDDZ)V
        end local 26 // double mmy
        end local 24 // double mmx
        end local 22 // double scale
        end local 20 // double nlen
        end local 18 // double ny
        end local 16 // double nx
        15: .line 342
      StackMap locals: com.sun.marlin.DStroker double double double double double double int double
      StackMap stack:
            return
        end local 14 // double cosext
        end local 13 // boolean rev
        end local 11 // double my
        end local 9 // double mx
        end local 7 // double omy
        end local 5 // double omx
        end local 3 // double cy
        end local 1 // double cx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lcom/sun/marlin/DStroker;
            0   16     1      cx  D
            0   16     3      cy  D
            0   16     5     omx  D
            0   16     7     omy  D
            0   16     9      mx  D
            0   16    11      my  D
            0   16    13     rev  Z
            1   16    14  cosext  D
            5   15    16      nx  D
            6   15    18      ny  D
            7   15    20    nlen  D
            8   15    22   scale  D
            9   15    24     mmx  D
           10   15    26     mmy  D
    MethodParameters:
      Name  Flags
      cx    
      cy    
      omx   
      omy   
      mx    
      my    
      rev   

  private void drawBezApproxForArc(double, double, double, double, double, double, boolean);
    descriptor: (DDDDDDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=18, locals=34, args_size=8
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double cx
        start local 3 // double cy
        start local 5 // double omx
        start local 7 // double omy
        start local 9 // double mx
        start local 11 // double my
        start local 13 // boolean rev
         0: .line 350
            dload 5 /* omx */
            dload 9 /* mx */
            dmul
            dload 7 /* omy */
            dload 11 /* my */
            dmul
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.invHalfLineWidth2Sq:D
            dmul
            dstore 14 /* cosext2 */
        start local 14 // double cosext2
         1: .line 354
            dload 14 /* cosext2 */
            ldc 0.5
            dcmpl
            iflt 3
         2: .line 356
            return
         3: .line 364
      StackMap locals: double
      StackMap stack:
            ldc 1.3333333333333333
            ldc 0.5
            dload 14 /* cosext2 */
            dsub
            invokestatic java.lang.Math.sqrt:(D)D
            dmul
         4: .line 365
            dconst_1
            dload 14 /* cosext2 */
            ldc 0.5
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dadd
         5: .line 364
            ddiv
            dstore 16 /* cv */
        start local 16 // double cv
         6: .line 367
            iload 13 /* rev */
            ifeq 8
         7: .line 368
            dload 16 /* cv */
            dneg
            dstore 16 /* cv */
         8: .line 370
      StackMap locals: double
      StackMap stack:
            dload 1 /* cx */
            dload 5 /* omx */
            dadd
            dstore 18 /* x1 */
        start local 18 // double x1
         9: .line 371
            dload 3 /* cy */
            dload 7 /* omy */
            dadd
            dstore 20 /* y1 */
        start local 20 // double y1
        10: .line 372
            dload 18 /* x1 */
            dload 16 /* cv */
            dload 7 /* omy */
            dmul
            dsub
            dstore 22 /* x2 */
        start local 22 // double x2
        11: .line 373
            dload 20 /* y1 */
            dload 16 /* cv */
            dload 5 /* omx */
            dmul
            dadd
            dstore 24 /* y2 */
        start local 24 // double y2
        12: .line 375
            dload 1 /* cx */
            dload 9 /* mx */
            dadd
            dstore 26 /* x4 */
        start local 26 // double x4
        13: .line 376
            dload 3 /* cy */
            dload 11 /* my */
            dadd
            dstore 28 /* y4 */
        start local 28 // double y4
        14: .line 377
            dload 26 /* x4 */
            dload 16 /* cv */
            dload 11 /* my */
            dmul
            dadd
            dstore 30 /* x3 */
        start local 30 // double x3
        15: .line 378
            dload 28 /* y4 */
            dload 16 /* cv */
            dload 9 /* mx */
            dmul
            dsub
            dstore 32 /* y3 */
        start local 32 // double y3
        16: .line 380
            aload 0 /* this */
            dload 18 /* x1 */
            dload 20 /* y1 */
            dload 22 /* x2 */
            dload 24 /* y2 */
            dload 30 /* x3 */
            dload 32 /* y3 */
            dload 26 /* x4 */
            dload 28 /* y4 */
            iload 13 /* rev */
            invokevirtual com.sun.marlin.DStroker.emitCurveTo:(DDDDDDDDZ)V
        17: .line 381
            return
        end local 32 // double y3
        end local 30 // double x3
        end local 28 // double y4
        end local 26 // double x4
        end local 24 // double y2
        end local 22 // double x2
        end local 20 // double y1
        end local 18 // double x1
        end local 16 // double cv
        end local 14 // double cosext2
        end local 13 // boolean rev
        end local 11 // double my
        end local 9 // double mx
        end local 7 // double omy
        end local 5 // double omx
        end local 3 // double cy
        end local 1 // double cx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lcom/sun/marlin/DStroker;
            0   18     1       cx  D
            0   18     3       cy  D
            0   18     5      omx  D
            0   18     7      omy  D
            0   18     9       mx  D
            0   18    11       my  D
            0   18    13      rev  Z
            1   18    14  cosext2  D
            6   18    16       cv  D
            9   18    18       x1  D
           10   18    20       y1  D
           11   18    22       x2  D
           12   18    24       y2  D
           13   18    26       x4  D
           14   18    28       y4  D
           15   18    30       x3  D
           16   18    32       y3  D
    MethodParameters:
      Name  Flags
      cx    final
      cy    final
      omx   final
      omy   final
      mx    final
      my    final
      rev   

  private void drawRoundCap(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=15, locals=13, args_size=5
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double cx
        start local 3 // double cy
        start local 5 // double mx
        start local 7 // double my
         0: .line 384
            getstatic com.sun.marlin.DStroker.C:D
            dload 5 /* mx */
            dmul
            dstore 9 /* Cmx */
        start local 9 // double Cmx
         1: .line 385
            getstatic com.sun.marlin.DStroker.C:D
            dload 7 /* my */
            dmul
            dstore 11 /* Cmy */
        start local 11 // double Cmy
         2: .line 386
            aload 0 /* this */
            dload 1 /* cx */
            dload 5 /* mx */
            dadd
            dload 11 /* Cmy */
            dsub
            dload 3 /* cy */
            dload 7 /* my */
            dadd
            dload 9 /* Cmx */
            dadd
         3: .line 387
            dload 1 /* cx */
            dload 7 /* my */
            dsub
            dload 9 /* Cmx */
            dadd
            dload 3 /* cy */
            dload 5 /* mx */
            dadd
            dload 11 /* Cmy */
            dadd
         4: .line 388
            dload 1 /* cx */
            dload 7 /* my */
            dsub
            dload 3 /* cy */
            dload 5 /* mx */
            dadd
         5: .line 386
            invokevirtual com.sun.marlin.DStroker.emitCurveTo:(DDDDDD)V
         6: .line 389
            aload 0 /* this */
            dload 1 /* cx */
            dload 7 /* my */
            dsub
            dload 9 /* Cmx */
            dsub
            dload 3 /* cy */
            dload 5 /* mx */
            dadd
            dload 11 /* Cmy */
            dsub
         7: .line 390
            dload 1 /* cx */
            dload 5 /* mx */
            dsub
            dload 11 /* Cmy */
            dsub
            dload 3 /* cy */
            dload 7 /* my */
            dsub
            dload 9 /* Cmx */
            dadd
         8: .line 391
            dload 1 /* cx */
            dload 5 /* mx */
            dsub
            dload 3 /* cy */
            dload 7 /* my */
            dsub
         9: .line 389
            invokevirtual com.sun.marlin.DStroker.emitCurveTo:(DDDDDD)V
        10: .line 392
            return
        end local 11 // double Cmy
        end local 9 // double Cmx
        end local 7 // double my
        end local 5 // double mx
        end local 3 // double cy
        end local 1 // double cx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/marlin/DStroker;
            0   11     1    cx  D
            0   11     3    cy  D
            0   11     5    mx  D
            0   11     7    my  D
            1   11     9   Cmx  D
            2   11    11   Cmy  D
    MethodParameters:
      Name  Flags
      cx    
      cy    
      mx    
      my    

  private static void computeMiter(double, double, double, double, double, double, double, double, double[]);
    descriptor: (DDDDDDDD[D)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=29, args_size=9
        start local 0 // double x0
        start local 2 // double y0
        start local 4 // double x1
        start local 6 // double y1
        start local 8 // double x0p
        start local 10 // double y0p
        start local 12 // double x1p
        start local 14 // double y1p
        start local 16 // double[] m
         0: .line 402
            dload 4 /* x1 */
            dload 0 /* x0 */
            dsub
            dstore 17 /* x10 */
        start local 17 // double x10
         1: .line 403
            dload 6 /* y1 */
            dload 2 /* y0 */
            dsub
            dstore 19 /* y10 */
        start local 19 // double y10
         2: .line 404
            dload 12 /* x1p */
            dload 8 /* x0p */
            dsub
            dstore 21 /* x10p */
        start local 21 // double x10p
         3: .line 405
            dload 14 /* y1p */
            dload 10 /* y0p */
            dsub
            dstore 23 /* y10p */
        start local 23 // double y10p
         4: .line 416
            dload 17 /* x10 */
            dload 23 /* y10p */
            dmul
            dload 21 /* x10p */
            dload 19 /* y10 */
            dmul
            dsub
            dstore 25 /* den */
        start local 25 // double den
         5: .line 417
            dload 21 /* x10p */
            dload 2 /* y0 */
            dload 10 /* y0p */
            dsub
            dmul
            dload 23 /* y10p */
            dload 0 /* x0 */
            dload 8 /* x0p */
            dsub
            dmul
            dsub
            dstore 27 /* t */
        start local 27 // double t
         6: .line 418
            dload 27 /* t */
            dload 25 /* den */
            ddiv
            dstore 27 /* t */
         7: .line 419
            aload 16 /* m */
            iconst_0
            dload 0 /* x0 */
            dload 27 /* t */
            dload 17 /* x10 */
            dmul
            dadd
            dastore
         8: .line 420
            aload 16 /* m */
            iconst_1
            dload 2 /* y0 */
            dload 27 /* t */
            dload 19 /* y10 */
            dmul
            dadd
            dastore
         9: .line 421
            return
        end local 27 // double t
        end local 25 // double den
        end local 23 // double y10p
        end local 21 // double x10p
        end local 19 // double y10
        end local 17 // double x10
        end local 16 // double[] m
        end local 14 // double y1p
        end local 12 // double x1p
        end local 10 // double y0p
        end local 8 // double x0p
        end local 6 // double y1
        end local 4 // double x1
        end local 2 // double y0
        end local 0 // double x0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0    x0  D
            0   10     2    y0  D
            0   10     4    x1  D
            0   10     6    y1  D
            0   10     8   x0p  D
            0   10    10   y0p  D
            0   10    12   x1p  D
            0   10    14   y1p  D
            0   10    16     m  [D
            1   10    17   x10  D
            2   10    19   y10  D
            3   10    21  x10p  D
            4   10    23  y10p  D
            5   10    25   den  D
            6   10    27     t  D
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final
      x0p   final
      y0p   final
      x1p   final
      y1p   final
      m     final

  private static void safeComputeMiter(double, double, double, double, double, double, double, double, double[]);
    descriptor: (DDDDDDDD[D)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=29, args_size=9
        start local 0 // double x0
        start local 2 // double y0
        start local 4 // double x1
        start local 6 // double y1
        start local 8 // double x0p
        start local 10 // double y0p
        start local 12 // double x1p
        start local 14 // double y1p
        start local 16 // double[] m
         0: .line 431
            dload 4 /* x1 */
            dload 0 /* x0 */
            dsub
            dstore 17 /* x10 */
        start local 17 // double x10
         1: .line 432
            dload 6 /* y1 */
            dload 2 /* y0 */
            dsub
            dstore 19 /* y10 */
        start local 19 // double y10
         2: .line 433
            dload 12 /* x1p */
            dload 8 /* x0p */
            dsub
            dstore 21 /* x10p */
        start local 21 // double x10p
         3: .line 434
            dload 14 /* y1p */
            dload 10 /* y0p */
            dsub
            dstore 23 /* y10p */
        start local 23 // double y10p
         4: .line 445
            dload 17 /* x10 */
            dload 23 /* y10p */
            dmul
            dload 21 /* x10p */
            dload 19 /* y10 */
            dmul
            dsub
            dstore 25 /* den */
        start local 25 // double den
         5: .line 446
            dload 25 /* den */
            dconst_0
            dcmpl
            ifne 9
         6: .line 447
            aload 16 /* m */
            iconst_2
            dload 0 /* x0 */
            dload 8 /* x0p */
            dadd
            ldc 2.0
            ddiv
            dastore
         7: .line 448
            aload 16 /* m */
            iconst_3
            dload 2 /* y0 */
            dload 10 /* y0p */
            dadd
            ldc 2.0
            ddiv
            dastore
         8: .line 449
            goto 13
         9: .line 450
      StackMap locals: double double double double double double double double double[] double double double double double
      StackMap stack:
            dload 21 /* x10p */
            dload 2 /* y0 */
            dload 10 /* y0p */
            dsub
            dmul
            dload 23 /* y10p */
            dload 0 /* x0 */
            dload 8 /* x0p */
            dsub
            dmul
            dsub
            dstore 27 /* t */
        start local 27 // double t
        10: .line 451
            dload 27 /* t */
            dload 25 /* den */
            ddiv
            dstore 27 /* t */
        11: .line 452
            aload 16 /* m */
            iconst_2
            dload 0 /* x0 */
            dload 27 /* t */
            dload 17 /* x10 */
            dmul
            dadd
            dastore
        12: .line 453
            aload 16 /* m */
            iconst_3
            dload 2 /* y0 */
            dload 27 /* t */
            dload 19 /* y10 */
            dmul
            dadd
            dastore
        end local 27 // double t
        13: .line 455
      StackMap locals:
      StackMap stack:
            return
        end local 25 // double den
        end local 23 // double y10p
        end local 21 // double x10p
        end local 19 // double y10
        end local 17 // double x10
        end local 16 // double[] m
        end local 14 // double y1p
        end local 12 // double x1p
        end local 10 // double y0p
        end local 8 // double x0p
        end local 6 // double y1
        end local 4 // double x1
        end local 2 // double y0
        end local 0 // double x0
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0    x0  D
            0   14     2    y0  D
            0   14     4    x1  D
            0   14     6    y1  D
            0   14     8   x0p  D
            0   14    10   y0p  D
            0   14    12   x1p  D
            0   14    14   y1p  D
            0   14    16     m  [D
            1   14    17   x10  D
            2   14    19   y10  D
            3   14    21  x10p  D
            4   14    23  y10p  D
            5   14    25   den  D
           10   13    27     t  D
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final
      x0p   final
      y0p   final
      x1p   final
      y1p   final
      m     final

  private void drawMiter(double, double, double, double, double, double, double, double, double, double, boolean);
    descriptor: (DDDDDDDDDDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=18, locals=28, args_size=12
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double pdx
        start local 3 // double pdy
        start local 5 // double x0
        start local 7 // double y0
        start local 9 // double dx
        start local 11 // double dy
        start local 13 // double omx
        start local 15 // double omy
        start local 17 // double mx
        start local 19 // double my
        start local 21 // boolean rev
         0: .line 464
            dload 17 /* mx */
            dload 13 /* omx */
            dcmpl
            ifne 1
            dload 19 /* my */
            dload 15 /* omy */
            dcmpl
            ifeq 3
         1: .line 465
      StackMap locals:
      StackMap stack:
            dload 1 /* pdx */
            dconst_0
            dcmpl
            ifne 2
            dload 3 /* pdy */
            dconst_0
            dcmpl
            ifeq 3
         2: .line 466
      StackMap locals:
      StackMap stack:
            dload 9 /* dx */
            dconst_0
            dcmpl
            ifne 4
            dload 11 /* dy */
            dconst_0
            dcmpl
            ifne 4
         3: .line 468
      StackMap locals:
      StackMap stack:
            return
         4: .line 471
      StackMap locals:
      StackMap stack:
            iload 21 /* rev */
            ifeq 9
         5: .line 472
            dload 13 /* omx */
            dneg
            dstore 13 /* omx */
         6: .line 473
            dload 15 /* omy */
            dneg
            dstore 15 /* omy */
         7: .line 474
            dload 17 /* mx */
            dneg
            dstore 17 /* mx */
         8: .line 475
            dload 19 /* my */
            dneg
            dstore 19 /* my */
         9: .line 478
      StackMap locals:
      StackMap stack:
            dload 5 /* x0 */
            dload 1 /* pdx */
            dsub
            dload 13 /* omx */
            dadd
            dload 7 /* y0 */
            dload 3 /* pdy */
            dsub
            dload 15 /* omy */
            dadd
            dload 5 /* x0 */
            dload 13 /* omx */
            dadd
            dload 7 /* y0 */
            dload 15 /* omy */
            dadd
        10: .line 479
            dload 9 /* dx */
            dload 5 /* x0 */
            dadd
            dload 17 /* mx */
            dadd
            dload 11 /* dy */
            dload 7 /* y0 */
            dadd
            dload 19 /* my */
            dadd
            dload 5 /* x0 */
            dload 17 /* mx */
            dadd
            dload 7 /* y0 */
            dload 19 /* my */
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.miter:[D
        11: .line 478
            invokestatic com.sun.marlin.DStroker.computeMiter:(DDDDDDDD[D)V
        12: .line 481
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.miter:[D
            iconst_0
            daload
            dstore 22 /* miterX */
        start local 22 // double miterX
        13: .line 482
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.miter:[D
            iconst_1
            daload
            dstore 24 /* miterY */
        start local 24 // double miterY
        14: .line 483
            dload 22 /* miterX */
            dload 5 /* x0 */
            dsub
            dload 22 /* miterX */
            dload 5 /* x0 */
            dsub
            dmul
            dload 24 /* miterY */
            dload 7 /* y0 */
            dsub
            dload 24 /* miterY */
            dload 7 /* y0 */
            dsub
            dmul
            dadd
            dstore 26 /* lenSq */
        start local 26 // double lenSq
        15: .line 490
            dload 26 /* lenSq */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.miterLimitSq:D
            dcmpg
            ifge 17
        16: .line 491
            aload 0 /* this */
            dload 22 /* miterX */
            dload 24 /* miterY */
            iload 21 /* rev */
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DDZ)V
        17: .line 493
      StackMap locals: double double double
      StackMap stack:
            return
        end local 26 // double lenSq
        end local 24 // double miterY
        end local 22 // double miterX
        end local 21 // boolean rev
        end local 19 // double my
        end local 17 // double mx
        end local 15 // double omy
        end local 13 // double omx
        end local 11 // double dy
        end local 9 // double dx
        end local 7 // double y0
        end local 5 // double x0
        end local 3 // double pdy
        end local 1 // double pdx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lcom/sun/marlin/DStroker;
            0   18     1     pdx  D
            0   18     3     pdy  D
            0   18     5      x0  D
            0   18     7      y0  D
            0   18     9      dx  D
            0   18    11      dy  D
            0   18    13     omx  D
            0   18    15     omy  D
            0   18    17      mx  D
            0   18    19      my  D
            0   18    21     rev  Z
           13   18    22  miterX  D
           14   18    24  miterY  D
           15   18    26   lenSq  D
    MethodParameters:
      Name  Flags
      pdx   final
      pdy   final
      x0    final
      y0    final
      dx    final
      dy    final
      omx   
      omy   
      mx    
      my    
      rev   

  public void moveTo(double, double);
    descriptor: (DD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x0
        start local 3 // double y0
         0: .line 497
            aload 0 /* this */
            dload 1 /* x0 */
            dload 3 /* y0 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            invokevirtual com.sun.marlin.DStroker._moveTo:(DDI)V
         1: .line 499
            aload 0 /* this */
            dload 1 /* x0 */
            putfield com.sun.marlin.DStroker.sx0:D
         2: .line 500
            aload 0 /* this */
            dload 3 /* y0 */
            putfield com.sun.marlin.DStroker.sy0:D
         3: .line 501
            aload 0 /* this */
            dconst_1
            putfield com.sun.marlin.DStroker.sdx:D
         4: .line 502
            aload 0 /* this */
            dconst_0
            putfield com.sun.marlin.DStroker.sdy:D
         5: .line 503
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.opened:Z
         6: .line 504
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.capStart:Z
         7: .line 506
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            ifnull 11
         8: .line 507
            dload 1 /* x0 */
            dload 3 /* y0 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 5 /* outcode */
        start local 5 // int outcode
         9: .line 508
            aload 0 /* this */
            iload 5 /* outcode */
            putfield com.sun.marlin.DStroker.cOutCode:I
        10: .line 509
            aload 0 /* this */
            iload 5 /* outcode */
            putfield com.sun.marlin.DStroker.sOutCode:I
        end local 5 // int outcode
        11: .line 511
      StackMap locals:
      StackMap stack:
            return
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lcom/sun/marlin/DStroker;
            0   12     1       x0  D
            0   12     3       y0  D
            9   11     5  outcode  I
    MethodParameters:
      Name  Flags
      x0    final
      y0    final

  private void _moveTo(double, double, int);
    descriptor: (DDI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // int outcode
         0: .line 516
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.prev:I
            ifne 4
         1: .line 517
            aload 0 /* this */
            dload 1 /* x0 */
            putfield com.sun.marlin.DStroker.cx0:D
         2: .line 518
            aload 0 /* this */
            dload 3 /* y0 */
            putfield com.sun.marlin.DStroker.cy0:D
         3: .line 519
            goto 11
         4: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.prev:I
            iconst_1
            if_icmpne 6
         5: .line 521
            aload 0 /* this */
            iload 5 /* outcode */
            invokevirtual com.sun.marlin.DStroker.finish:(I)V
         6: .line 523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.prev:I
         7: .line 524
            aload 0 /* this */
            dload 1 /* x0 */
            putfield com.sun.marlin.DStroker.cx0:D
         8: .line 525
            aload 0 /* this */
            dload 3 /* y0 */
            putfield com.sun.marlin.DStroker.cy0:D
         9: .line 526
            aload 0 /* this */
            dconst_1
            putfield com.sun.marlin.DStroker.cdx:D
        10: .line 527
            aload 0 /* this */
            dconst_0
            putfield com.sun.marlin.DStroker.cdy:D
        11: .line 529
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int outcode
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lcom/sun/marlin/DStroker;
            0   12     1       x0  D
            0   12     3       y0  D
            0   12     5  outcode  I
    MethodParameters:
         Name  Flags
      x0       final
      y0       final
      outcode  final

  public void lineTo(double, double);
    descriptor: (DD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
         0: .line 533
            aload 0 /* this */
            dload 1 /* x1 */
            dload 3 /* y1 */
            iconst_0
            invokevirtual com.sun.marlin.DStroker.lineTo:(DDZ)V
         1: .line 534
            return
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x1  D
            0    2     3    y1  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final

  private void lineTo(double, double, boolean);
    descriptor: (DDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=22, locals=15, args_size=4
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // boolean force
         0: .line 539
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            istore 6 /* outcode0 */
        start local 6 // int outcode0
         1: .line 541
            iload 5 /* force */
            ifne 20
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            ifnull 20
         2: .line 542
            dload 1 /* x1 */
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 7 /* outcode1 */
        start local 7 // int outcode1
         3: .line 545
            iload 6 /* outcode0 */
            iload 7 /* outcode1 */
            ior
            istore 8 /* orCode */
        start local 8 // int orCode
         4: .line 546
            iload 8 /* orCode */
            ifeq 19
         5: .line 547
            iload 6 /* outcode0 */
            iload 7 /* outcode1 */
            iand
            istore 9 /* sideCode */
        start local 9 // int sideCode
         6: .line 550
            iload 9 /* sideCode */
            ifne 15
         7: .line 552
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.subdivide:Z
            ifeq 19
         8: .line 554
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.subdivide:Z
         9: .line 556
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.curveSplitter:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 1 /* x1 */
            dload 3 /* y1 */
        10: .line 557
            iload 8 /* orCode */
            aload 0 /* this */
        11: .line 556
            invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveClipSplitter.splitLine:(DDDDILcom/sun/marlin/DPathConsumer2D;)Z
            istore 10 /* ret */
        start local 10 // boolean ret
        12: .line 559
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.subdivide:Z
        13: .line 560
            iload 10 /* ret */
            ifeq 19
        14: .line 561
            return
        end local 10 // boolean ret
        15: .line 566
      StackMap locals: com.sun.marlin.DStroker double double int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* outcode1 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        16: .line 567
            aload 0 /* this */
            dload 1 /* x1 */
            dload 3 /* y1 */
            iload 6 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker._moveTo:(DDI)V
        17: .line 568
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.opened:Z
        18: .line 569
            return
        end local 9 // int sideCode
        19: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* outcode1 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        end local 8 // int orCode
        end local 7 // int outcode1
        20: .line 576
      StackMap locals:
      StackMap stack:
            dload 1 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dstore 7 /* dx */
        start local 7 // double dx
        21: .line 577
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dstore 9 /* dy */
        start local 9 // double dy
        22: .line 578
            dload 7 /* dx */
            dconst_0
            dcmpl
            ifne 24
            dload 9 /* dy */
            dconst_0
            dcmpl
            ifne 24
        23: .line 579
            dconst_1
            dstore 7 /* dx */
        24: .line 581
      StackMap locals: double double
      StackMap stack:
            dload 7 /* dx */
            dload 9 /* dy */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        25: .line 582
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            dstore 11 /* mx */
        start local 11 // double mx
        26: .line 583
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            dstore 13 /* my */
        start local 13 // double my
        27: .line 585
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 7 /* dx */
            dload 9 /* dy */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            dload 11 /* mx */
            dload 13 /* my */
            iload 6 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker.drawJoin:(DDDDDDDDDDI)V
        28: .line 587
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dload 11 /* mx */
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 13 /* my */
            dadd
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        29: .line 588
            aload 0 /* this */
            dload 1 /* x1 */
            dload 11 /* mx */
            dadd
            dload 3 /* y1 */
            dload 13 /* my */
            dadd
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        30: .line 590
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dload 11 /* mx */
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 13 /* my */
            dsub
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
        31: .line 591
            aload 0 /* this */
            dload 1 /* x1 */
            dload 11 /* mx */
            dsub
            dload 3 /* y1 */
            dload 13 /* my */
            dsub
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
        32: .line 593
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.prev:I
        33: .line 594
            aload 0 /* this */
            dload 1 /* x1 */
            putfield com.sun.marlin.DStroker.cx0:D
        34: .line 595
            aload 0 /* this */
            dload 3 /* y1 */
            putfield com.sun.marlin.DStroker.cy0:D
        35: .line 596
            aload 0 /* this */
            dload 7 /* dx */
            putfield com.sun.marlin.DStroker.cdx:D
        36: .line 597
            aload 0 /* this */
            dload 9 /* dy */
            putfield com.sun.marlin.DStroker.cdy:D
        37: .line 598
            aload 0 /* this */
            dload 11 /* mx */
            putfield com.sun.marlin.DStroker.cmx:D
        38: .line 599
            aload 0 /* this */
            dload 13 /* my */
            putfield com.sun.marlin.DStroker.cmy:D
        39: .line 600
            return
        end local 13 // double my
        end local 11 // double mx
        end local 9 // double dy
        end local 7 // double dx
        end local 6 // int outcode0
        end local 5 // boolean force
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   40     0      this  Lcom/sun/marlin/DStroker;
            0   40     1        x1  D
            0   40     3        y1  D
            0   40     5     force  Z
            1   40     6  outcode0  I
            3   20     7  outcode1  I
            4   20     8    orCode  I
            6   19     9  sideCode  I
           12   15    10       ret  Z
           21   40     7        dx  D
           22   40     9        dy  D
           26   40    11        mx  D
           27   40    13        my  D
    MethodParameters:
       Name  Flags
      x1     final
      y1     final
      force  final

  public void closePath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=22, locals=1, args_size=1
        start local 0 // com.sun.marlin.DStroker this
         0: .line 605
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.prev:I
            iconst_1
            if_icmpeq 14
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.opened:Z
            ifne 14
         1: .line 606
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.prev:I
            iconst_2
            if_icmpne 3
         2: .line 607
            return
         3: .line 609
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dsub
            invokevirtual com.sun.marlin.DStroker.emitMoveTo:(DD)V
         4: .line 611
            aload 0 /* this */
            dconst_1
            putfield com.sun.marlin.DStroker.sdx:D
         5: .line 612
            aload 0 /* this */
            dconst_0
            putfield com.sun.marlin.DStroker.sdy:D
         6: .line 613
            aload 0 /* this */
            dconst_1
            putfield com.sun.marlin.DStroker.cdx:D
         7: .line 614
            aload 0 /* this */
            dconst_0
            putfield com.sun.marlin.DStroker.cdy:D
         8: .line 616
            aload 0 /* this */
            dconst_0
            putfield com.sun.marlin.DStroker.smx:D
         9: .line 617
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dneg
            putfield com.sun.marlin.DStroker.smy:D
        10: .line 618
            aload 0 /* this */
            dconst_0
            putfield com.sun.marlin.DStroker.cmx:D
        11: .line 619
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            dneg
            putfield com.sun.marlin.DStroker.cmy:D
        12: .line 621
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            invokevirtual com.sun.marlin.DStroker.finish:(I)V
        13: .line 622
            return
        14: .line 626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sOutCode:I
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            iand
            ifne 23
        15: .line 627
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            dcmpl
            ifne 16
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            dcmpl
            ifeq 17
        16: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            iconst_1
            invokevirtual com.sun.marlin.DStroker.lineTo:(DDZ)V
        17: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sdx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sdy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sOutCode:I
            invokevirtual com.sun.marlin.DStroker.drawJoin:(DDDDDDDDDDI)V
        18: .line 633
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dadd
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        19: .line 635
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.opened:Z
            ifeq 22
        20: .line 636
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dsub
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        21: .line 637
            goto 23
        22: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dsub
            invokevirtual com.sun.marlin.DStroker.emitMoveTo:(DD)V
        23: .line 642
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.DStroker.emitReverse:()V
        24: .line 644
            aload 0 /* this */
            iconst_2
            putfield com.sun.marlin.DStroker.prev:I
        25: .line 646
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.opened:Z
            ifeq 28
        26: .line 648
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.opened:Z
        27: .line 649
            goto 29
        28: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.DStroker.emitClose:()V
        29: .line 652
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   30     0  this  Lcom/sun/marlin/DStroker;

  private void emitReverse();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.DStroker this
         0: .line 655
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            invokevirtual com.sun.marlin.DHelpers$PolyStack.popAll:(Lcom/sun/marlin/DPathConsumer2D;)V
         1: .line 656
            return
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;

  public void pathDone();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.marlin.DStroker this
         0: .line 660
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.prev:I
            iconst_1
            if_icmpne 2
         1: .line 661
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            invokevirtual com.sun.marlin.DStroker.finish:(I)V
         2: .line 664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            invokeinterface com.sun.marlin.DPathConsumer2D.pathDone:()V
         3: .line 668
            aload 0 /* this */
            iconst_2
            putfield com.sun.marlin.DStroker.prev:I
         4: .line 671
            aload 0 /* this */
            invokevirtual com.sun.marlin.DStroker.dispose:()V
         5: .line 672
            return
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/marlin/DStroker;

  private void finish(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // int outcode
         0: .line 679
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            getfield com.sun.marlin.DRendererContext.closedPath:Z
            ifne 19
         1: .line 680
            iload 1 /* outcode */
            ifne 8
         2: .line 682
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.capStyle:I
            iconst_1
            if_icmpne 5
         3: .line 683
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            invokevirtual com.sun.marlin.DStroker.drawRoundCap:(DDDD)V
         4: .line 684
            goto 8
      StackMap locals:
      StackMap stack:
         5: aload 0 /* this */
            getfield com.sun.marlin.DStroker.capStyle:I
            iconst_2
            if_icmpne 8
         6: .line 685
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            dadd
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
         7: .line 686
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            dsub
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
         8: .line 689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.DStroker.emitReverse:()V
         9: .line 691
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.capStart:Z
            ifne 20
        10: .line 692
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.capStart:Z
        11: .line 694
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sOutCode:I
            ifne 20
        12: .line 696
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.capStyle:I
            iconst_1
            if_icmpne 15
        13: .line 697
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dneg
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dneg
            invokevirtual com.sun.marlin.DStroker.drawRoundCap:(DDDD)V
        14: .line 698
            goto 20
      StackMap locals:
      StackMap stack:
        15: aload 0 /* this */
            getfield com.sun.marlin.DStroker.capStyle:I
            iconst_2
            if_icmpne 20
        16: .line 699
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dsub
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        17: .line 700
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dadd
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.sy0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smx:D
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.smy:D
            dadd
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        18: .line 704
            goto 20
        19: .line 705
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.DStroker.emitReverse:()V
        20: .line 707
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.marlin.DStroker.emitClose:()V
        21: .line 708
            return
        end local 1 // int outcode
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lcom/sun/marlin/DStroker;
            0   22     1  outcode  I
    MethodParameters:
         Name  Flags
      outcode  final

  private void emitMoveTo(double, double);
    descriptor: (DD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x0
        start local 3 // double y0
         0: .line 711
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            dload 1 /* x0 */
            dload 3 /* y0 */
            invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
         1: .line 712
            return
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x0  D
            0    2     3    y0  D
    MethodParameters:
      Name  Flags
      x0    final
      y0    final

  private void emitLineTo(double, double);
    descriptor: (DD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
         0: .line 715
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            dload 1 /* x1 */
            dload 3 /* y1 */
            invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
         1: .line 716
            return
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x1  D
            0    2     3    y1  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final

  private void emitLineToRev(double, double);
    descriptor: (DD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
         0: .line 719
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
            dload 1 /* x1 */
            dload 3 /* y1 */
            invokevirtual com.sun.marlin.DHelpers$PolyStack.pushLine:(DD)V
         1: .line 720
            return
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x1  D
            0    2     3    y1  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final

  private void emitLineTo(double, double, boolean);
    descriptor: (DDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // boolean rev
         0: .line 725
            iload 5 /* rev */
            ifeq 3
         1: .line 726
            aload 0 /* this */
            dload 1 /* x1 */
            dload 3 /* y1 */
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
         2: .line 727
            goto 4
         3: .line 728
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* x1 */
            dload 3 /* y1 */
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
         4: .line 730
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean rev
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/marlin/DStroker;
            0    5     1    x1  D
            0    5     3    y1  D
            0    5     5   rev  Z
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      rev   final

  private void emitQuadTo(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=9, args_size=5
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
         0: .line 735
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            invokeinterface com.sun.marlin.DPathConsumer2D.quadTo:(DDDD)V
         1: .line 736
            return
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x1  D
            0    2     3    y1  D
            0    2     5    x2  D
            0    2     7    y2  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final

  private void emitQuadToRev(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=9, args_size=5
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // double x1
        start local 7 // double y1
         0: .line 741
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
            dload 1 /* x0 */
            dload 3 /* y0 */
            dload 5 /* x1 */
            dload 7 /* y1 */
            invokevirtual com.sun.marlin.DHelpers$PolyStack.pushQuad:(DDDD)V
         1: .line 742
            return
        end local 7 // double y1
        end local 5 // double x1
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x0  D
            0    2     3    y0  D
            0    2     5    x1  D
            0    2     7    y1  D
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final

  private void emitCurveTo(double, double, double, double, double, double);
    descriptor: (DDDDDD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=13, args_size=7
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
        start local 9 // double x3
        start local 11 // double y3
         0: .line 748
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            dload 9 /* x3 */
            dload 11 /* y3 */
            invokeinterface com.sun.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
         1: .line 749
            return
        end local 11 // double y3
        end local 9 // double x3
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x1  D
            0    2     3    y1  D
            0    2     5    x2  D
            0    2     7    y2  D
            0    2     9    x3  D
            0    2    11    y3  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      x3    final
      y3    final

  private void emitCurveToRev(double, double, double, double, double, double);
    descriptor: (DDDDDD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=13, args_size=7
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // double x1
        start local 7 // double y1
        start local 9 // double x2
        start local 11 // double y2
         0: .line 755
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
            dload 1 /* x0 */
            dload 3 /* y0 */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 9 /* x2 */
            dload 11 /* y2 */
            invokevirtual com.sun.marlin.DHelpers$PolyStack.pushCubic:(DDDDDD)V
         1: .line 756
            return
        end local 11 // double y2
        end local 9 // double x2
        end local 7 // double y1
        end local 5 // double x1
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;
            0    2     1    x0  D
            0    2     3    y0  D
            0    2     5    x1  D
            0    2     7    y1  D
            0    2     9    x2  D
            0    2    11    y2  D
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final
      x2    final
      y2    final

  private void emitCurveTo(double, double, double, double, double, double, double, double, boolean);
    descriptor: (DDDDDDDDZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=18, args_size=10
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // double x1
        start local 7 // double y1
        start local 9 // double x2
        start local 11 // double y2
        start local 13 // double x3
        start local 15 // double y3
        start local 17 // boolean rev
         0: .line 763
            iload 17 /* rev */
            ifeq 3
         1: .line 764
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.reverse:Lcom/sun/marlin/DHelpers$PolyStack;
            dload 1 /* x0 */
            dload 3 /* y0 */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 9 /* x2 */
            dload 11 /* y2 */
            invokevirtual com.sun.marlin.DHelpers$PolyStack.pushCubic:(DDDDDD)V
         2: .line 765
            goto 4
         3: .line 766
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 9 /* x2 */
            dload 11 /* y2 */
            dload 13 /* x3 */
            dload 15 /* y3 */
            invokeinterface com.sun.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
         4: .line 768
      StackMap locals:
      StackMap stack:
            return
        end local 17 // boolean rev
        end local 15 // double y3
        end local 13 // double x3
        end local 11 // double y2
        end local 9 // double x2
        end local 7 // double y1
        end local 5 // double x1
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/marlin/DStroker;
            0    5     1    x0  D
            0    5     3    y0  D
            0    5     5    x1  D
            0    5     7    y1  D
            0    5     9    x2  D
            0    5    11    y2  D
            0    5    13    x3  D
            0    5    15    y3  D
            0    5    17   rev  Z
    MethodParameters:
      Name  Flags
      x0    final
      y0    final
      x1    final
      y1    final
      x2    final
      y2    final
      x3    final
      y3    final
      rev   final

  private void emitClose();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.marlin.DStroker this
         0: .line 771
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.out:Lcom/sun/marlin/DPathConsumer2D;
            invokeinterface com.sun.marlin.DPathConsumer2D.closePath:()V
         1: .line 772
            return
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DStroker;

  private void drawJoin(double, double, double, double, double, double, double, double, double, double, int);
    descriptor: (DDDDDDDDDDI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=22, locals=23, args_size=12
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double pdx
        start local 3 // double pdy
        start local 5 // double x0
        start local 7 // double y0
        start local 9 // double dx
        start local 11 // double dy
        start local 13 // double omx
        start local 15 // double omy
        start local 17 // double mx
        start local 19 // double my
        start local 21 // int outcode
         0: .line 781
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.prev:I
            iconst_1
            if_icmpeq 8
         1: .line 782
            aload 0 /* this */
            dload 5 /* x0 */
            dload 17 /* mx */
            dadd
            dload 7 /* y0 */
            dload 19 /* my */
            dadd
            invokevirtual com.sun.marlin.DStroker.emitMoveTo:(DD)V
         2: .line 783
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.opened:Z
            ifne 18
         3: .line 784
            aload 0 /* this */
            dload 9 /* dx */
            putfield com.sun.marlin.DStroker.sdx:D
         4: .line 785
            aload 0 /* this */
            dload 11 /* dy */
            putfield com.sun.marlin.DStroker.sdy:D
         5: .line 786
            aload 0 /* this */
            dload 17 /* mx */
            putfield com.sun.marlin.DStroker.smx:D
         6: .line 787
            aload 0 /* this */
            dload 19 /* my */
            putfield com.sun.marlin.DStroker.smy:D
         7: .line 789
            goto 18
         8: .line 790
      StackMap locals:
      StackMap stack:
            dload 1 /* pdx */
            dload 3 /* pdy */
            dload 9 /* dx */
            dload 11 /* dy */
            invokestatic com.sun.marlin.DStroker.isCW:(DDDD)Z
            istore 22 /* cw */
        start local 22 // boolean cw
         9: .line 791
            iload 21 /* outcode */
            ifne 15
        10: .line 792
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.joinStyle:I
            ifne 13
        11: .line 793
            aload 0 /* this */
            dload 1 /* pdx */
            dload 3 /* pdy */
            dload 5 /* x0 */
            dload 7 /* y0 */
            dload 9 /* dx */
            dload 11 /* dy */
            dload 13 /* omx */
            dload 15 /* omy */
            dload 17 /* mx */
            dload 19 /* my */
            iload 22 /* cw */
            invokevirtual com.sun.marlin.DStroker.drawMiter:(DDDDDDDDDDZ)V
        12: .line 794
            goto 15
      StackMap locals: int
      StackMap stack:
        13: aload 0 /* this */
            getfield com.sun.marlin.DStroker.joinStyle:I
            iconst_1
            if_icmpne 15
        14: .line 795
            aload 0 /* this */
            dload 5 /* x0 */
            dload 7 /* y0 */
            dload 13 /* omx */
            dload 15 /* omy */
            dload 17 /* mx */
            dload 19 /* my */
            iload 22 /* cw */
            invokevirtual com.sun.marlin.DStroker.mayDrawRoundJoin:(DDDDDDZ)V
        15: .line 798
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 5 /* x0 */
            dload 7 /* y0 */
            iload 22 /* cw */
            ifeq 16
            iconst_0
            goto 17
      StackMap locals: com.sun.marlin.DStroker double double double double double double double double double double int int
      StackMap stack: com.sun.marlin.DStroker double double
        16: iconst_1
      StackMap locals: com.sun.marlin.DStroker double double double double double double double double double double int int
      StackMap stack: com.sun.marlin.DStroker double double int
        17: invokevirtual com.sun.marlin.DStroker.emitLineTo:(DDZ)V
        end local 22 // boolean cw
        18: .line 800
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.prev:I
        19: .line 801
            return
        end local 21 // int outcode
        end local 19 // double my
        end local 17 // double mx
        end local 15 // double omy
        end local 13 // double omx
        end local 11 // double dy
        end local 9 // double dx
        end local 7 // double y0
        end local 5 // double x0
        end local 3 // double pdy
        end local 1 // double pdx
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lcom/sun/marlin/DStroker;
            0   20     1      pdx  D
            0   20     3      pdy  D
            0   20     5       x0  D
            0   20     7       y0  D
            0   20     9       dx  D
            0   20    11       dy  D
            0   20    13      omx  D
            0   20    15      omy  D
            0   20    17       mx  D
            0   20    19       my  D
            0   20    21  outcode  I
            9   18    22       cw  Z
    MethodParameters:
         Name  Flags
      pdx      
      pdy      
      x0       
      y0       
      dx       
      dy       
      omx      
      omy      
      mx       
      my       
      outcode  final

  private static boolean within(double, double, double, double, double);
    descriptor: (DDDDD)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // double x1
        start local 2 // double y1
        start local 4 // double x2
        start local 6 // double y2
        start local 8 // double err
         0: .line 807
            getstatic com.sun.marlin.DStroker.$assertionsDisabled:Z
            ifne 1
            dload 8 /* err */
            dconst_0
            dcmpl
            ifgt 1
            new java.lang.AssertionError
            dup
            ldc ""
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 810
      StackMap locals:
      StackMap stack:
            dload 0 /* x1 */
            dload 4 /* x2 */
            dload 8 /* err */
            invokestatic com.sun.marlin.DHelpers.within:(DDD)Z
            ifeq 4
         2: .line 811
            dload 2 /* y1 */
            dload 6 /* y2 */
            dload 8 /* err */
            invokestatic com.sun.marlin.DHelpers.within:(DDD)Z
            ifeq 4
         3: .line 810
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 8 // double err
        end local 6 // double y2
        end local 4 // double x2
        end local 2 // double y1
        end local 0 // double x1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0    x1  D
            0    5     2    y1  D
            0    5     4    x2  D
            0    5     6    y2  D
            0    5     8   err  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      err   final

  private void getLineOffsets(double, double, double, double, double[], double[]);
    descriptor: (DDDD[D[D)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=15, args_size=7
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
        start local 9 // double[] left
        start local 10 // double[] right
         0: .line 818
            dload 5 /* x2 */
            dload 1 /* x1 */
            dsub
            dload 7 /* y2 */
            dload 3 /* y1 */
            dsub
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
         1: .line 819
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            dstore 11 /* mx */
        start local 11 // double mx
         2: .line 820
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            dstore 13 /* my */
        start local 13 // double my
         3: .line 821
            aload 9 /* left */
            iconst_0
            dload 1 /* x1 */
            dload 11 /* mx */
            dadd
            dastore
         4: .line 822
            aload 9 /* left */
            iconst_1
            dload 3 /* y1 */
            dload 13 /* my */
            dadd
            dastore
         5: .line 823
            aload 9 /* left */
            iconst_2
            dload 5 /* x2 */
            dload 11 /* mx */
            dadd
            dastore
         6: .line 824
            aload 9 /* left */
            iconst_3
            dload 7 /* y2 */
            dload 13 /* my */
            dadd
            dastore
         7: .line 826
            aload 10 /* right */
            iconst_0
            dload 1 /* x1 */
            dload 11 /* mx */
            dsub
            dastore
         8: .line 827
            aload 10 /* right */
            iconst_1
            dload 3 /* y1 */
            dload 13 /* my */
            dsub
            dastore
         9: .line 828
            aload 10 /* right */
            iconst_2
            dload 5 /* x2 */
            dload 11 /* mx */
            dsub
            dastore
        10: .line 829
            aload 10 /* right */
            iconst_3
            dload 7 /* y2 */
            dload 13 /* my */
            dsub
            dastore
        11: .line 830
            return
        end local 13 // double my
        end local 11 // double mx
        end local 10 // double[] right
        end local 9 // double[] left
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lcom/sun/marlin/DStroker;
            0   12     1     x1  D
            0   12     3     y1  D
            0   12     5     x2  D
            0   12     7     y2  D
            0   12     9   left  [D
            0   12    10  right  [D
            2   12    11     mx  D
            3   12    13     my  D
    MethodParameters:
       Name  Flags
      x1     final
      y1     final
      x2     final
      y2     final
      left   final
      right  final

  private int computeOffsetCubic(double[], int, double[], double[]);
    descriptor: ([DI[D[D)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=75, args_size=5
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double[] pts
        start local 2 // int off
        start local 3 // double[] leftOff
        start local 4 // double[] rightOff
         0: .line 843
            aload 1 /* pts */
            iload 2 /* off */
            daload
            dstore 5 /* x1 */
        start local 5 // double x1
         1: aload 1 /* pts */
            iload 2 /* off */
            iconst_1
            iadd
            daload
            dstore 7 /* y1 */
        start local 7 // double y1
         2: .line 844
            aload 1 /* pts */
            iload 2 /* off */
            iconst_2
            iadd
            daload
            dstore 9 /* x2 */
        start local 9 // double x2
         3: aload 1 /* pts */
            iload 2 /* off */
            iconst_3
            iadd
            daload
            dstore 11 /* y2 */
        start local 11 // double y2
         4: .line 845
            aload 1 /* pts */
            iload 2 /* off */
            iconst_4
            iadd
            daload
            dstore 13 /* x3 */
        start local 13 // double x3
         5: aload 1 /* pts */
            iload 2 /* off */
            iconst_5
            iadd
            daload
            dstore 15 /* y3 */
        start local 15 // double y3
         6: .line 846
            aload 1 /* pts */
            iload 2 /* off */
            bipush 6
            iadd
            daload
            dstore 17 /* x4 */
        start local 17 // double x4
         7: aload 1 /* pts */
            iload 2 /* off */
            bipush 7
            iadd
            daload
            dstore 19 /* y4 */
        start local 19 // double y4
         8: .line 848
            dload 17 /* x4 */
            dload 13 /* x3 */
            dsub
            dstore 21 /* dx4 */
        start local 21 // double dx4
         9: .line 849
            dload 19 /* y4 */
            dload 15 /* y3 */
            dsub
            dstore 23 /* dy4 */
        start local 23 // double dy4
        10: .line 850
            dload 9 /* x2 */
            dload 5 /* x1 */
            dsub
            dstore 25 /* dx1 */
        start local 25 // double dx1
        11: .line 851
            dload 11 /* y2 */
            dload 7 /* y1 */
            dsub
            dstore 27 /* dy1 */
        start local 27 // double dy1
        12: .line 855
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 9 /* x2 */
            dload 11 /* y2 */
            ldc 6.0
            dload 11 /* y2 */
            invokestatic java.lang.Math.ulp:(D)D
            dmul
            invokestatic com.sun.marlin.DStroker.within:(DDDDD)Z
            istore 29 /* p1eqp2 */
        start local 29 // boolean p1eqp2
        13: .line 856
            dload 13 /* x3 */
            dload 15 /* y3 */
            dload 17 /* x4 */
            dload 19 /* y4 */
            ldc 6.0
            dload 19 /* y4 */
            invokestatic java.lang.Math.ulp:(D)D
            dmul
            invokestatic com.sun.marlin.DStroker.within:(DDDDD)Z
            istore 30 /* p3eqp4 */
        start local 30 // boolean p3eqp4
        14: .line 858
            iload 29 /* p1eqp2 */
            ifeq 17
            iload 30 /* p3eqp4 */
            ifeq 17
        15: .line 859
            aload 0 /* this */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 17 /* x4 */
            dload 19 /* y4 */
            aload 3 /* leftOff */
            aload 4 /* rightOff */
            invokevirtual com.sun.marlin.DStroker.getLineOffsets:(DDDD[D[D)V
        16: .line 860
            iconst_4
            ireturn
        17: .line 861
      StackMap locals: com.sun.marlin.DStroker double[] int double[] double[] double double double double double double double double double double double double int int
      StackMap stack:
            iload 29 /* p1eqp2 */
            ifeq 21
        18: .line 862
            dload 13 /* x3 */
            dload 5 /* x1 */
            dsub
            dstore 25 /* dx1 */
        19: .line 863
            dload 15 /* y3 */
            dload 7 /* y1 */
            dsub
            dstore 27 /* dy1 */
        20: .line 864
            goto 24
      StackMap locals:
      StackMap stack:
        21: iload 30 /* p3eqp4 */
            ifeq 24
        22: .line 865
            dload 17 /* x4 */
            dload 9 /* x2 */
            dsub
            dstore 21 /* dx4 */
        23: .line 866
            dload 19 /* y4 */
            dload 11 /* y2 */
            dsub
            dstore 23 /* dy4 */
        24: .line 870
      StackMap locals:
      StackMap stack:
            dload 25 /* dx1 */
            dload 21 /* dx4 */
            dmul
            dload 27 /* dy1 */
            dload 23 /* dy4 */
            dmul
            dadd
            dstore 31 /* dotsq */
        start local 31 // double dotsq
        25: .line 871
            dload 31 /* dotsq */
            dload 31 /* dotsq */
            dmul
            dstore 31 /* dotsq */
        26: .line 872
            dload 25 /* dx1 */
            dload 25 /* dx1 */
            dmul
            dload 27 /* dy1 */
            dload 27 /* dy1 */
            dmul
            dadd
            dstore 33 /* l1sq */
        start local 33 // double l1sq
        27: dload 21 /* dx4 */
            dload 21 /* dx4 */
            dmul
            dload 23 /* dy4 */
            dload 23 /* dy4 */
            dmul
            dadd
            dstore 35 /* l4sq */
        start local 35 // double l4sq
        28: .line 874
            dload 31 /* dotsq */
            dload 33 /* l1sq */
            dload 35 /* l4sq */
            dmul
            ldc 4.0
            dload 31 /* dotsq */
            invokestatic java.lang.Math.ulp:(D)D
            dmul
            invokestatic com.sun.marlin.DHelpers.within:(DDD)Z
            ifeq 31
        29: .line 875
            aload 0 /* this */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 17 /* x4 */
            dload 19 /* y4 */
            aload 3 /* leftOff */
            aload 4 /* rightOff */
            invokevirtual com.sun.marlin.DStroker.getLineOffsets:(DDDD[D[D)V
        30: .line 876
            iconst_4
            ireturn
        31: .line 926
      StackMap locals: double double double
      StackMap stack:
            dload 5 /* x1 */
            ldc 3.0
            dload 9 /* x2 */
            dload 13 /* x3 */
            dadd
            dmul
            dadd
            dload 17 /* x4 */
            dadd
            ldc 8.0
            ddiv
            dstore 37 /* x */
        start local 37 // double x
        32: .line 927
            dload 7 /* y1 */
            ldc 3.0
            dload 11 /* y2 */
            dload 15 /* y3 */
            dadd
            dmul
            dadd
            dload 19 /* y4 */
            dadd
            ldc 8.0
            ddiv
            dstore 39 /* y */
        start local 39 // double y
        33: .line 930
            dload 13 /* x3 */
            dload 17 /* x4 */
            dadd
            dload 5 /* x1 */
            dsub
            dload 9 /* x2 */
            dsub
            dstore 41 /* dxm */
        start local 41 // double dxm
        34: dload 15 /* y3 */
            dload 19 /* y4 */
            dadd
            dload 7 /* y1 */
            dsub
            dload 11 /* y2 */
            dsub
            dstore 43 /* dym */
        start local 43 // double dym
        35: .line 935
            dload 25 /* dx1 */
            dload 27 /* dy1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        36: .line 936
            dload 41 /* dxm */
            dload 43 /* dym */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        37: .line 937
            dload 21 /* dx4 */
            dload 23 /* dy4 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset2:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        38: .line 938
            dload 5 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            dadd
            dstore 45 /* x1p */
        start local 45 // double x1p
        39: .line 939
            dload 7 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            dadd
            dstore 47 /* y1p */
        start local 47 // double y1p
        40: .line 940
            dload 37 /* x */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_0
            daload
            dadd
            dstore 49 /* xi */
        start local 49 // double xi
        41: .line 941
            dload 39 /* y */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_1
            daload
            dadd
            dstore 51 /* yi */
        start local 51 // double yi
        42: .line 942
            dload 17 /* x4 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset2:[D
            iconst_0
            daload
            dadd
            dstore 53 /* x4p */
        start local 53 // double x4p
        43: .line 943
            dload 19 /* y4 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset2:[D
            iconst_1
            daload
            dadd
            dstore 55 /* y4p */
        start local 55 // double y4p
        44: .line 945
            ldc 4.0
            ldc 3.0
            dload 25 /* dx1 */
            dload 23 /* dy4 */
            dmul
            dload 27 /* dy1 */
            dload 21 /* dx4 */
            dmul
            dsub
            dmul
            ddiv
            dstore 57 /* invdet43 */
        start local 57 // double invdet43
        45: .line 947
            ldc 2.0
            dload 49 /* xi */
            dmul
            dload 45 /* x1p */
            dsub
            dload 53 /* x4p */
            dsub
            dstore 59 /* two_pi_m_p1_m_p4x */
        start local 59 // double two_pi_m_p1_m_p4x
        46: .line 948
            ldc 2.0
            dload 51 /* yi */
            dmul
            dload 47 /* y1p */
            dsub
            dload 55 /* y4p */
            dsub
            dstore 61 /* two_pi_m_p1_m_p4y */
        start local 61 // double two_pi_m_p1_m_p4y
        47: .line 949
            dload 57 /* invdet43 */
            dload 23 /* dy4 */
            dload 59 /* two_pi_m_p1_m_p4x */
            dmul
            dload 21 /* dx4 */
            dload 61 /* two_pi_m_p1_m_p4y */
            dmul
            dsub
            dmul
            dstore 63 /* c1 */
        start local 63 // double c1
        48: .line 950
            dload 57 /* invdet43 */
            dload 25 /* dx1 */
            dload 61 /* two_pi_m_p1_m_p4y */
            dmul
            dload 27 /* dy1 */
            dload 59 /* two_pi_m_p1_m_p4x */
            dmul
            dsub
            dmul
            dstore 65 /* c2 */
        start local 65 // double c2
        49: .line 953
            dload 45 /* x1p */
            dload 63 /* c1 */
            dload 25 /* dx1 */
            dmul
            dadd
            dstore 67 /* x2p */
        start local 67 // double x2p
        50: .line 954
            dload 47 /* y1p */
            dload 63 /* c1 */
            dload 27 /* dy1 */
            dmul
            dadd
            dstore 69 /* y2p */
        start local 69 // double y2p
        51: .line 955
            dload 53 /* x4p */
            dload 65 /* c2 */
            dload 21 /* dx4 */
            dmul
            dadd
            dstore 71 /* x3p */
        start local 71 // double x3p
        52: .line 956
            dload 55 /* y4p */
            dload 65 /* c2 */
            dload 23 /* dy4 */
            dmul
            dadd
            dstore 73 /* y3p */
        start local 73 // double y3p
        53: .line 958
            aload 3 /* leftOff */
            iconst_0
            dload 45 /* x1p */
            dastore
            aload 3 /* leftOff */
            iconst_1
            dload 47 /* y1p */
            dastore
        54: .line 959
            aload 3 /* leftOff */
            iconst_2
            dload 67 /* x2p */
            dastore
            aload 3 /* leftOff */
            iconst_3
            dload 69 /* y2p */
            dastore
        55: .line 960
            aload 3 /* leftOff */
            iconst_4
            dload 71 /* x3p */
            dastore
            aload 3 /* leftOff */
            iconst_5
            dload 73 /* y3p */
            dastore
        56: .line 961
            aload 3 /* leftOff */
            bipush 6
            dload 53 /* x4p */
            dastore
            aload 3 /* leftOff */
            bipush 7
            dload 55 /* y4p */
            dastore
        57: .line 963
            dload 5 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            dsub
            dstore 45 /* x1p */
            dload 7 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            dsub
            dstore 47 /* y1p */
        58: .line 964
            dload 49 /* xi */
            ldc 2.0
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_0
            daload
            dmul
            dsub
            dstore 49 /* xi */
            dload 51 /* yi */
            ldc 2.0
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_1
            daload
            dmul
            dsub
            dstore 51 /* yi */
        59: .line 965
            dload 17 /* x4 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset2:[D
            iconst_0
            daload
            dsub
            dstore 53 /* x4p */
            dload 19 /* y4 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset2:[D
            iconst_1
            daload
            dsub
            dstore 55 /* y4p */
        60: .line 967
            ldc 2.0
            dload 49 /* xi */
            dmul
            dload 45 /* x1p */
            dsub
            dload 53 /* x4p */
            dsub
            dstore 59 /* two_pi_m_p1_m_p4x */
        61: .line 968
            ldc 2.0
            dload 51 /* yi */
            dmul
            dload 47 /* y1p */
            dsub
            dload 55 /* y4p */
            dsub
            dstore 61 /* two_pi_m_p1_m_p4y */
        62: .line 969
            dload 57 /* invdet43 */
            dload 23 /* dy4 */
            dload 59 /* two_pi_m_p1_m_p4x */
            dmul
            dload 21 /* dx4 */
            dload 61 /* two_pi_m_p1_m_p4y */
            dmul
            dsub
            dmul
            dstore 63 /* c1 */
        63: .line 970
            dload 57 /* invdet43 */
            dload 25 /* dx1 */
            dload 61 /* two_pi_m_p1_m_p4y */
            dmul
            dload 27 /* dy1 */
            dload 59 /* two_pi_m_p1_m_p4x */
            dmul
            dsub
            dmul
            dstore 65 /* c2 */
        64: .line 972
            dload 45 /* x1p */
            dload 63 /* c1 */
            dload 25 /* dx1 */
            dmul
            dadd
            dstore 67 /* x2p */
        65: .line 973
            dload 47 /* y1p */
            dload 63 /* c1 */
            dload 27 /* dy1 */
            dmul
            dadd
            dstore 69 /* y2p */
        66: .line 974
            dload 53 /* x4p */
            dload 65 /* c2 */
            dload 21 /* dx4 */
            dmul
            dadd
            dstore 71 /* x3p */
        67: .line 975
            dload 55 /* y4p */
            dload 65 /* c2 */
            dload 23 /* dy4 */
            dmul
            dadd
            dstore 73 /* y3p */
        68: .line 977
            aload 4 /* rightOff */
            iconst_0
            dload 45 /* x1p */
            dastore
            aload 4 /* rightOff */
            iconst_1
            dload 47 /* y1p */
            dastore
        69: .line 978
            aload 4 /* rightOff */
            iconst_2
            dload 67 /* x2p */
            dastore
            aload 4 /* rightOff */
            iconst_3
            dload 69 /* y2p */
            dastore
        70: .line 979
            aload 4 /* rightOff */
            iconst_4
            dload 71 /* x3p */
            dastore
            aload 4 /* rightOff */
            iconst_5
            dload 73 /* y3p */
            dastore
        71: .line 980
            aload 4 /* rightOff */
            bipush 6
            dload 53 /* x4p */
            dastore
            aload 4 /* rightOff */
            bipush 7
            dload 55 /* y4p */
            dastore
        72: .line 981
            bipush 8
            ireturn
        end local 73 // double y3p
        end local 71 // double x3p
        end local 69 // double y2p
        end local 67 // double x2p
        end local 65 // double c2
        end local 63 // double c1
        end local 61 // double two_pi_m_p1_m_p4y
        end local 59 // double two_pi_m_p1_m_p4x
        end local 57 // double invdet43
        end local 55 // double y4p
        end local 53 // double x4p
        end local 51 // double yi
        end local 49 // double xi
        end local 47 // double y1p
        end local 45 // double x1p
        end local 43 // double dym
        end local 41 // double dxm
        end local 39 // double y
        end local 37 // double x
        end local 35 // double l4sq
        end local 33 // double l1sq
        end local 31 // double dotsq
        end local 30 // boolean p3eqp4
        end local 29 // boolean p1eqp2
        end local 27 // double dy1
        end local 25 // double dx1
        end local 23 // double dy4
        end local 21 // double dx4
        end local 19 // double y4
        end local 17 // double x4
        end local 15 // double y3
        end local 13 // double x3
        end local 11 // double y2
        end local 9 // double x2
        end local 7 // double y1
        end local 5 // double x1
        end local 4 // double[] rightOff
        end local 3 // double[] leftOff
        end local 2 // int off
        end local 1 // double[] pts
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   73     0               this  Lcom/sun/marlin/DStroker;
            0   73     1                pts  [D
            0   73     2                off  I
            0   73     3            leftOff  [D
            0   73     4           rightOff  [D
            1   73     5                 x1  D
            2   73     7                 y1  D
            3   73     9                 x2  D
            4   73    11                 y2  D
            5   73    13                 x3  D
            6   73    15                 y3  D
            7   73    17                 x4  D
            8   73    19                 y4  D
            9   73    21                dx4  D
           10   73    23                dy4  D
           11   73    25                dx1  D
           12   73    27                dy1  D
           13   73    29             p1eqp2  Z
           14   73    30             p3eqp4  Z
           25   73    31              dotsq  D
           27   73    33               l1sq  D
           28   73    35               l4sq  D
           32   73    37                  x  D
           33   73    39                  y  D
           34   73    41                dxm  D
           35   73    43                dym  D
           39   73    45                x1p  D
           40   73    47                y1p  D
           41   73    49                 xi  D
           42   73    51                 yi  D
           43   73    53                x4p  D
           44   73    55                y4p  D
           45   73    57           invdet43  D
           46   73    59  two_pi_m_p1_m_p4x  D
           47   73    61  two_pi_m_p1_m_p4y  D
           48   73    63                 c1  D
           49   73    65                 c2  D
           50   73    67                x2p  D
           51   73    69                y2p  D
           52   73    71                x3p  D
           53   73    73                y3p  D
    MethodParameters:
          Name  Flags
      pts       final
      off       final
      leftOff   final
      rightOff  final

  private int computeOffsetQuad(double[], int, double[], double[]);
    descriptor: ([DI[D[D)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=18, locals=41, args_size=5
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double[] pts
        start local 2 // int off
        start local 3 // double[] leftOff
        start local 4 // double[] rightOff
         0: .line 991
            aload 1 /* pts */
            iload 2 /* off */
            daload
            dstore 5 /* x1 */
        start local 5 // double x1
         1: aload 1 /* pts */
            iload 2 /* off */
            iconst_1
            iadd
            daload
            dstore 7 /* y1 */
        start local 7 // double y1
         2: .line 992
            aload 1 /* pts */
            iload 2 /* off */
            iconst_2
            iadd
            daload
            dstore 9 /* x2 */
        start local 9 // double x2
         3: aload 1 /* pts */
            iload 2 /* off */
            iconst_3
            iadd
            daload
            dstore 11 /* y2 */
        start local 11 // double y2
         4: .line 993
            aload 1 /* pts */
            iload 2 /* off */
            iconst_4
            iadd
            daload
            dstore 13 /* x3 */
        start local 13 // double x3
         5: aload 1 /* pts */
            iload 2 /* off */
            iconst_5
            iadd
            daload
            dstore 15 /* y3 */
        start local 15 // double y3
         6: .line 995
            dload 13 /* x3 */
            dload 9 /* x2 */
            dsub
            dstore 17 /* dx3 */
        start local 17 // double dx3
         7: .line 996
            dload 15 /* y3 */
            dload 11 /* y2 */
            dsub
            dstore 19 /* dy3 */
        start local 19 // double dy3
         8: .line 997
            dload 9 /* x2 */
            dload 5 /* x1 */
            dsub
            dstore 21 /* dx1 */
        start local 21 // double dx1
         9: .line 998
            dload 11 /* y2 */
            dload 7 /* y1 */
            dsub
            dstore 23 /* dy1 */
        start local 23 // double dy1
        10: .line 1010
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 9 /* x2 */
            dload 11 /* y2 */
            ldc 6.0
            dload 11 /* y2 */
            invokestatic java.lang.Math.ulp:(D)D
            dmul
            invokestatic com.sun.marlin.DStroker.within:(DDDDD)Z
            istore 25 /* p1eqp2 */
        start local 25 // boolean p1eqp2
        11: .line 1011
            dload 9 /* x2 */
            dload 11 /* y2 */
            dload 13 /* x3 */
            dload 15 /* y3 */
            ldc 6.0
            dload 15 /* y3 */
            invokestatic java.lang.Math.ulp:(D)D
            dmul
            invokestatic com.sun.marlin.DStroker.within:(DDDDD)Z
            istore 26 /* p2eqp3 */
        start local 26 // boolean p2eqp3
        12: .line 1013
            iload 25 /* p1eqp2 */
            ifne 13
            iload 26 /* p2eqp3 */
            ifeq 15
        13: .line 1014
      StackMap locals: com.sun.marlin.DStroker double[] int double[] double[] double double double double double double double double double double int int
      StackMap stack:
            aload 0 /* this */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 13 /* x3 */
            dload 15 /* y3 */
            aload 3 /* leftOff */
            aload 4 /* rightOff */
            invokevirtual com.sun.marlin.DStroker.getLineOffsets:(DDDD[D[D)V
        14: .line 1015
            iconst_4
            ireturn
        15: .line 1019
      StackMap locals:
      StackMap stack:
            dload 21 /* dx1 */
            dload 17 /* dx3 */
            dmul
            dload 23 /* dy1 */
            dload 19 /* dy3 */
            dmul
            dadd
            dstore 27 /* dotsq */
        start local 27 // double dotsq
        16: .line 1020
            dload 27 /* dotsq */
            dload 27 /* dotsq */
            dmul
            dstore 27 /* dotsq */
        17: .line 1021
            dload 21 /* dx1 */
            dload 21 /* dx1 */
            dmul
            dload 23 /* dy1 */
            dload 23 /* dy1 */
            dmul
            dadd
            dstore 29 /* l1sq */
        start local 29 // double l1sq
        18: dload 17 /* dx3 */
            dload 17 /* dx3 */
            dmul
            dload 19 /* dy3 */
            dload 19 /* dy3 */
            dmul
            dadd
            dstore 31 /* l3sq */
        start local 31 // double l3sq
        19: .line 1023
            dload 27 /* dotsq */
            dload 29 /* l1sq */
            dload 31 /* l3sq */
            dmul
            ldc 4.0
            dload 27 /* dotsq */
            invokestatic java.lang.Math.ulp:(D)D
            dmul
            invokestatic com.sun.marlin.DHelpers.within:(DDD)Z
            ifeq 22
        20: .line 1024
            aload 0 /* this */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 13 /* x3 */
            dload 15 /* y3 */
            aload 3 /* leftOff */
            aload 4 /* rightOff */
            invokevirtual com.sun.marlin.DStroker.getLineOffsets:(DDDD[D[D)V
        21: .line 1025
            iconst_4
            ireturn
        22: .line 1031
      StackMap locals: double double double
      StackMap stack:
            dload 21 /* dx1 */
            dload 23 /* dy1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        23: .line 1032
            dload 17 /* dx3 */
            dload 19 /* dy3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        24: .line 1034
            dload 5 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            dadd
            dstore 33 /* x1p */
        start local 33 // double x1p
        25: .line 1035
            dload 7 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            dadd
            dstore 35 /* y1p */
        start local 35 // double y1p
        26: .line 1036
            dload 13 /* x3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_0
            daload
            dadd
            dstore 37 /* x3p */
        start local 37 // double x3p
        27: .line 1037
            dload 15 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_1
            daload
            dadd
            dstore 39 /* y3p */
        start local 39 // double y3p
        28: .line 1038
            dload 33 /* x1p */
            dload 35 /* y1p */
            dload 33 /* x1p */
            dload 21 /* dx1 */
            dadd
            dload 35 /* y1p */
            dload 23 /* dy1 */
            dadd
            dload 37 /* x3p */
            dload 39 /* y3p */
            dload 37 /* x3p */
            dload 17 /* dx3 */
            dsub
            dload 39 /* y3p */
            dload 19 /* dy3 */
            dsub
            aload 3 /* leftOff */
            invokestatic com.sun.marlin.DStroker.safeComputeMiter:(DDDDDDDD[D)V
        29: .line 1039
            aload 3 /* leftOff */
            iconst_0
            dload 33 /* x1p */
            dastore
            aload 3 /* leftOff */
            iconst_1
            dload 35 /* y1p */
            dastore
        30: .line 1040
            aload 3 /* leftOff */
            iconst_4
            dload 37 /* x3p */
            dastore
            aload 3 /* leftOff */
            iconst_5
            dload 39 /* y3p */
            dastore
        31: .line 1042
            dload 5 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            dsub
            dstore 33 /* x1p */
            dload 7 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            dsub
            dstore 35 /* y1p */
        32: .line 1043
            dload 13 /* x3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_0
            daload
            dsub
            dstore 37 /* x3p */
            dload 15 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset1:[D
            iconst_1
            daload
            dsub
            dstore 39 /* y3p */
        33: .line 1044
            dload 33 /* x1p */
            dload 35 /* y1p */
            dload 33 /* x1p */
            dload 21 /* dx1 */
            dadd
            dload 35 /* y1p */
            dload 23 /* dy1 */
            dadd
            dload 37 /* x3p */
            dload 39 /* y3p */
            dload 37 /* x3p */
            dload 17 /* dx3 */
            dsub
            dload 39 /* y3p */
            dload 19 /* dy3 */
            dsub
            aload 4 /* rightOff */
            invokestatic com.sun.marlin.DStroker.safeComputeMiter:(DDDDDDDD[D)V
        34: .line 1045
            aload 4 /* rightOff */
            iconst_0
            dload 33 /* x1p */
            dastore
            aload 4 /* rightOff */
            iconst_1
            dload 35 /* y1p */
            dastore
        35: .line 1046
            aload 4 /* rightOff */
            iconst_4
            dload 37 /* x3p */
            dastore
            aload 4 /* rightOff */
            iconst_5
            dload 39 /* y3p */
            dastore
        36: .line 1047
            bipush 6
            ireturn
        end local 39 // double y3p
        end local 37 // double x3p
        end local 35 // double y1p
        end local 33 // double x1p
        end local 31 // double l3sq
        end local 29 // double l1sq
        end local 27 // double dotsq
        end local 26 // boolean p2eqp3
        end local 25 // boolean p1eqp2
        end local 23 // double dy1
        end local 21 // double dx1
        end local 19 // double dy3
        end local 17 // double dx3
        end local 15 // double y3
        end local 13 // double x3
        end local 11 // double y2
        end local 9 // double x2
        end local 7 // double y1
        end local 5 // double x1
        end local 4 // double[] rightOff
        end local 3 // double[] leftOff
        end local 2 // int off
        end local 1 // double[] pts
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   37     0      this  Lcom/sun/marlin/DStroker;
            0   37     1       pts  [D
            0   37     2       off  I
            0   37     3   leftOff  [D
            0   37     4  rightOff  [D
            1   37     5        x1  D
            2   37     7        y1  D
            3   37     9        x2  D
            4   37    11        y2  D
            5   37    13        x3  D
            6   37    15        y3  D
            7   37    17       dx3  D
            8   37    19       dy3  D
            9   37    21       dx1  D
           10   37    23       dy1  D
           11   37    25    p1eqp2  Z
           12   37    26    p2eqp3  Z
           16   37    27     dotsq  D
           18   37    29      l1sq  D
           19   37    31      l3sq  D
           25   37    33       x1p  D
           26   37    35       y1p  D
           27   37    37       x3p  D
           28   37    39       y3p  D
    MethodParameters:
          Name  Flags
      pts       final
      off       final
      leftOff   final
      rightOff  final

  public void curveTo(double, double, double, double, double, double);
    descriptor: (DDDDDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=19, locals=20, args_size=7
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
        start local 9 // double x3
        start local 11 // double y3
         0: .line 1055
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            istore 13 /* outcode0 */
        start local 13 // int outcode0
         1: .line 1057
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            ifnull 23
         2: .line 1058
            dload 1 /* x1 */
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 14 /* outcode1 */
        start local 14 // int outcode1
         3: .line 1059
            dload 5 /* x2 */
            dload 7 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 15 /* outcode2 */
        start local 15 // int outcode2
         4: .line 1060
            dload 9 /* x3 */
            dload 11 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 16 /* outcode3 */
        start local 16 // int outcode3
         5: .line 1063
            iload 13 /* outcode0 */
            iload 14 /* outcode1 */
            ior
            iload 15 /* outcode2 */
            ior
            iload 16 /* outcode3 */
            ior
            istore 17 /* orCode */
        start local 17 // int orCode
         6: .line 1064
            iload 17 /* orCode */
            ifeq 22
         7: .line 1065
            iload 13 /* outcode0 */
            iload 14 /* outcode1 */
            iand
            iload 15 /* outcode2 */
            iand
            iload 16 /* outcode3 */
            iand
            istore 18 /* sideCode */
        start local 18 // int sideCode
         8: .line 1068
            iload 18 /* sideCode */
            ifne 18
         9: .line 1070
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.subdivide:Z
            ifeq 22
        10: .line 1072
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.subdivide:Z
        11: .line 1074
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.curveSplitter:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 1 /* x1 */
            dload 3 /* y1 */
        12: .line 1075
            dload 5 /* x2 */
            dload 7 /* y2 */
            dload 9 /* x3 */
            dload 11 /* y3 */
        13: .line 1076
            iload 17 /* orCode */
            aload 0 /* this */
        14: .line 1074
            invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveClipSplitter.splitCurve:(DDDDDDDDILcom/sun/marlin/DPathConsumer2D;)Z
            istore 19 /* ret */
        start local 19 // boolean ret
        15: .line 1078
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.subdivide:Z
        16: .line 1079
            iload 19 /* ret */
            ifeq 22
        17: .line 1080
            return
        end local 19 // boolean ret
        18: .line 1085
      StackMap locals: com.sun.marlin.DStroker double double double double double double int int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 16 /* outcode3 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        19: .line 1086
            aload 0 /* this */
            dload 9 /* x3 */
            dload 11 /* y3 */
            iload 13 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker._moveTo:(DDI)V
        20: .line 1087
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.opened:Z
        21: .line 1088
            return
        end local 18 // int sideCode
        22: .line 1092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 16 /* outcode3 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        end local 17 // int orCode
        end local 16 // int outcode3
        end local 15 // int outcode2
        end local 14 // int outcode1
        23: .line 1094
      StackMap locals: com.sun.marlin.DStroker double double double double double double int
      StackMap stack:
            aload 0 /* this */
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            dload 9 /* x3 */
            dload 11 /* y3 */
            iload 13 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker._curveTo:(DDDDDDI)V
        24: .line 1095
            return
        end local 13 // int outcode0
        end local 11 // double y3
        end local 9 // double x3
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0      this  Lcom/sun/marlin/DStroker;
            0   25     1        x1  D
            0   25     3        y1  D
            0   25     5        x2  D
            0   25     7        y2  D
            0   25     9        x3  D
            0   25    11        y3  D
            1   25    13  outcode0  I
            3   23    14  outcode1  I
            4   23    15  outcode2  I
            5   23    16  outcode3  I
            6   23    17    orCode  I
            8   22    18  sideCode  I
           15   18    19       ret  Z
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      x3    final
      y3    final

  private void _curveTo(double, double, double, double, double, double, int);
    descriptor: (DDDDDDI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=22, locals=29, args_size=8
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
        start local 9 // double x3
        start local 11 // double y3
        start local 13 // int outcode0
         0: .line 1103
            dload 1 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dstore 14 /* dxs */
        start local 14 // double dxs
         1: .line 1104
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dstore 16 /* dys */
        start local 16 // double dys
         2: .line 1105
            dload 9 /* x3 */
            dload 5 /* x2 */
            dsub
            dstore 18 /* dxf */
        start local 18 // double dxf
         3: .line 1106
            dload 11 /* y3 */
            dload 7 /* y2 */
            dsub
            dstore 20 /* dyf */
        start local 20 // double dyf
         4: .line 1108
            dload 14 /* dxs */
            dconst_0
            dcmpl
            ifne 10
            dload 16 /* dys */
            dconst_0
            dcmpl
            ifne 10
         5: .line 1109
            dload 5 /* x2 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dstore 14 /* dxs */
         6: .line 1110
            dload 7 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dstore 16 /* dys */
         7: .line 1111
            dload 14 /* dxs */
            dconst_0
            dcmpl
            ifne 10
            dload 16 /* dys */
            dconst_0
            dcmpl
            ifne 10
         8: .line 1112
            dload 9 /* x3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dstore 14 /* dxs */
         9: .line 1113
            dload 11 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dstore 16 /* dys */
        10: .line 1116
      StackMap locals: com.sun.marlin.DStroker double double double double double double int double double double double
      StackMap stack:
            dload 18 /* dxf */
            dconst_0
            dcmpl
            ifne 16
            dload 20 /* dyf */
            dconst_0
            dcmpl
            ifne 16
        11: .line 1117
            dload 9 /* x3 */
            dload 1 /* x1 */
            dsub
            dstore 18 /* dxf */
        12: .line 1118
            dload 11 /* y3 */
            dload 3 /* y1 */
            dsub
            dstore 20 /* dyf */
        13: .line 1119
            dload 18 /* dxf */
            dconst_0
            dcmpl
            ifne 16
            dload 20 /* dyf */
            dconst_0
            dcmpl
            ifne 16
        14: .line 1120
            dload 9 /* x3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dstore 18 /* dxf */
        15: .line 1121
            dload 11 /* y3 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dstore 20 /* dyf */
        16: .line 1124
      StackMap locals:
      StackMap stack:
            dload 14 /* dxs */
            dconst_0
            dcmpl
            ifne 21
            dload 16 /* dys */
            dconst_0
            dcmpl
            ifne 21
        17: .line 1127
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            ifnull 19
        18: .line 1128
            aload 0 /* this */
            iload 13 /* outcode0 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        19: .line 1130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            invokevirtual com.sun.marlin.DStroker.lineTo:(DD)V
        20: .line 1131
            return
        21: .line 1136
      StackMap locals:
      StackMap stack:
            dload 14 /* dxs */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 25
            dload 16 /* dys */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 25
        22: .line 1137
            dload 14 /* dxs */
            dload 14 /* dxs */
            dmul
            dload 16 /* dys */
            dload 16 /* dys */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 22 /* len */
        start local 22 // double len
        23: .line 1138
            dload 14 /* dxs */
            dload 22 /* len */
            ddiv
            dstore 14 /* dxs */
        24: .line 1139
            dload 16 /* dys */
            dload 22 /* len */
            ddiv
            dstore 16 /* dys */
        end local 22 // double len
        25: .line 1141
      StackMap locals:
      StackMap stack:
            dload 18 /* dxf */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 29
            dload 20 /* dyf */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 29
        26: .line 1142
            dload 18 /* dxf */
            dload 18 /* dxf */
            dmul
            dload 20 /* dyf */
            dload 20 /* dyf */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 22 /* len */
        start local 22 // double len
        27: .line 1143
            dload 18 /* dxf */
            dload 22 /* len */
            ddiv
            dstore 18 /* dxf */
        28: .line 1144
            dload 20 /* dyf */
            dload 22 /* len */
            ddiv
            dstore 20 /* dyf */
        end local 22 // double len
        29: .line 1147
      StackMap locals:
      StackMap stack:
            dload 14 /* dxs */
            dload 16 /* dys */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        30: .line 1148
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 14 /* dxs */
            dload 16 /* dys */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            iload 13 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker.drawJoin:(DDDDDDDDDDI)V
        31: .line 1150
            iconst_0
            istore 22 /* nSplits */
        start local 22 // int nSplits
        32: .line 1152
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lp:[D
            astore 24 /* l */
        start local 24 // double[] l
        33: .line 1154
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.monotonize:Z
            ifeq 39
        34: .line 1157
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            getfield com.sun.marlin.DRendererContext.monotonizer:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            dload 9 /* x3 */
            dload 11 /* y3 */
            invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.curve:(DDDDDDDD)Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
        35: .line 1156
            astore 25 /* monotonizer */
        start local 25 // com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        36: .line 1159
            aload 25 /* monotonizer */
            getfield com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.nbSplits:I
            istore 22 /* nSplits */
        37: .line 1160
            aload 25 /* monotonizer */
            getfield com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.middle:[D
            astore 23 /* mid */
        end local 25 // com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        start local 23 // double[] mid
        38: .line 1161
            goto 44
        end local 23 // double[] mid
        39: .line 1163
      StackMap locals: com.sun.marlin.DStroker double double double double double double int double double double double int top double[]
      StackMap stack:
            aload 24 /* l */
            astore 23 /* mid */
        start local 23 // double[] mid
        40: .line 1164
            aload 23 /* mid */
            iconst_0
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dastore
            aload 23 /* mid */
            iconst_1
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dastore
        41: .line 1165
            aload 23 /* mid */
            iconst_2
            dload 1 /* x1 */
            dastore
            aload 23 /* mid */
            iconst_3
            dload 3 /* y1 */
            dastore
        42: .line 1166
            aload 23 /* mid */
            iconst_4
            dload 5 /* x2 */
            dastore
            aload 23 /* mid */
            iconst_5
            dload 7 /* y2 */
            dastore
        43: .line 1167
            aload 23 /* mid */
            bipush 6
            dload 9 /* x3 */
            dastore
            aload 23 /* mid */
            bipush 7
            dload 11 /* y3 */
            dastore
        44: .line 1169
      StackMap locals: com.sun.marlin.DStroker double double double double double double int double double double double int double[] double[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rp:[D
            astore 25 /* r */
        start local 25 // double[] r
        45: .line 1171
            iconst_0
            istore 26 /* kind */
        start local 26 // int kind
        46: .line 1172
            iconst_0
            istore 27 /* i */
        start local 27 // int i
        47: iconst_0
            istore 28 /* off */
        start local 28 // int off
        48: goto 59
        49: .line 1173
      StackMap locals: com.sun.marlin.DStroker double double double double double double int double double double double int double[] double[] double[] int int int
      StackMap stack:
            aload 0 /* this */
            aload 23 /* mid */
            iload 28 /* off */
            aload 24 /* l */
            aload 25 /* r */
            invokevirtual com.sun.marlin.DStroker.computeOffsetCubic:([DI[D[D)I
            istore 26 /* kind */
        50: .line 1175
            aload 0 /* this */
            aload 24 /* l */
            iconst_0
            daload
            aload 24 /* l */
            iconst_1
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        51: .line 1177
            iload 26 /* kind */
            tableswitch { // 4 - 8
                    4: 55
                    5: 57
                    6: 57
                    7: 57
                    8: 52
              default: 57
          }
        52: .line 1179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 24 /* l */
            iconst_2
            daload
            aload 24 /* l */
            iconst_3
            daload
            aload 24 /* l */
            iconst_4
            daload
            aload 24 /* l */
            iconst_5
            daload
            aload 24 /* l */
            bipush 6
            daload
            aload 24 /* l */
            bipush 7
            daload
            invokevirtual com.sun.marlin.DStroker.emitCurveTo:(DDDDDD)V
        53: .line 1180
            aload 0 /* this */
            aload 25 /* r */
            iconst_0
            daload
            aload 25 /* r */
            iconst_1
            daload
            aload 25 /* r */
            iconst_2
            daload
            aload 25 /* r */
            iconst_3
            daload
            aload 25 /* r */
            iconst_4
            daload
            aload 25 /* r */
            iconst_5
            daload
            invokevirtual com.sun.marlin.DStroker.emitCurveToRev:(DDDDDD)V
        54: .line 1181
            goto 57
        55: .line 1183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 24 /* l */
            iconst_2
            daload
            aload 24 /* l */
            iconst_3
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        56: .line 1184
            aload 0 /* this */
            aload 25 /* r */
            iconst_0
            daload
            aload 25 /* r */
            iconst_1
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
        57: .line 1188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 25 /* r */
            iload 26 /* kind */
            iconst_2
            isub
            daload
            aload 25 /* r */
            iload 26 /* kind */
            iconst_1
            isub
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
        58: .line 1172
            iinc 27 /* i */ 1
            iinc 28 /* off */ 6
      StackMap locals:
      StackMap stack:
        59: iload 27 /* i */
            iload 22 /* nSplits */
            if_icmple 49
        end local 28 // int off
        end local 27 // int i
        60: .line 1191
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.prev:I
        61: .line 1192
            aload 0 /* this */
            dload 9 /* x3 */
            putfield com.sun.marlin.DStroker.cx0:D
        62: .line 1193
            aload 0 /* this */
            dload 11 /* y3 */
            putfield com.sun.marlin.DStroker.cy0:D
        63: .line 1194
            aload 0 /* this */
            dload 18 /* dxf */
            putfield com.sun.marlin.DStroker.cdx:D
        64: .line 1195
            aload 0 /* this */
            dload 20 /* dyf */
            putfield com.sun.marlin.DStroker.cdy:D
        65: .line 1196
            aload 0 /* this */
            aload 24 /* l */
            iload 26 /* kind */
            iconst_2
            isub
            daload
            aload 25 /* r */
            iload 26 /* kind */
            iconst_2
            isub
            daload
            dsub
            ldc 2.0
            ddiv
            putfield com.sun.marlin.DStroker.cmx:D
        66: .line 1197
            aload 0 /* this */
            aload 24 /* l */
            iload 26 /* kind */
            iconst_1
            isub
            daload
            aload 25 /* r */
            iload 26 /* kind */
            iconst_1
            isub
            daload
            dsub
            ldc 2.0
            ddiv
            putfield com.sun.marlin.DStroker.cmy:D
        67: .line 1198
            return
        end local 26 // int kind
        end local 25 // double[] r
        end local 24 // double[] l
        end local 23 // double[] mid
        end local 22 // int nSplits
        end local 20 // double dyf
        end local 18 // double dxf
        end local 16 // double dys
        end local 14 // double dxs
        end local 13 // int outcode0
        end local 11 // double y3
        end local 9 // double x3
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   68     0         this  Lcom/sun/marlin/DStroker;
            0   68     1           x1  D
            0   68     3           y1  D
            0   68     5           x2  D
            0   68     7           y2  D
            0   68     9           x3  D
            0   68    11           y3  D
            0   68    13     outcode0  I
            1   68    14          dxs  D
            2   68    16          dys  D
            3   68    18          dxf  D
            4   68    20          dyf  D
           23   25    22          len  D
           27   29    22          len  D
           32   68    22      nSplits  I
           38   39    23          mid  [D
           40   68    23          mid  [D
           33   68    24            l  [D
           36   38    25  monotonizer  Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
           45   68    25            r  [D
           46   68    26         kind  I
           47   60    27            i  I
           48   60    28          off  I
    MethodParameters:
          Name  Flags
      x1        final
      y1        final
      x2        final
      y2        final
      x3        final
      y3        final
      outcode0  final

  public void quadTo(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=15, args_size=5
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
         0: .line 1204
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cOutCode:I
            istore 9 /* outcode0 */
        start local 9 // int outcode0
         1: .line 1206
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            ifnull 21
         2: .line 1207
            dload 1 /* x1 */
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 10 /* outcode1 */
        start local 10 // int outcode1
         3: .line 1208
            dload 5 /* x2 */
            dload 7 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            invokestatic com.sun.marlin.DHelpers.outcode:(DD[D)I
            istore 11 /* outcode2 */
        start local 11 // int outcode2
         4: .line 1211
            iload 9 /* outcode0 */
            iload 10 /* outcode1 */
            ior
            iload 11 /* outcode2 */
            ior
            istore 12 /* orCode */
        start local 12 // int orCode
         5: .line 1212
            iload 12 /* orCode */
            ifeq 20
         6: .line 1213
            iload 9 /* outcode0 */
            iload 10 /* outcode1 */
            iand
            iload 11 /* outcode2 */
            iand
            istore 13 /* sideCode */
        start local 13 // int sideCode
         7: .line 1216
            iload 13 /* sideCode */
            ifne 16
         8: .line 1218
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.subdivide:Z
            ifeq 20
         9: .line 1220
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DStroker.subdivide:Z
        10: .line 1222
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.curveSplitter:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 1 /* x1 */
            dload 3 /* y1 */
        11: .line 1223
            dload 5 /* x2 */
            dload 7 /* y2 */
            iload 12 /* orCode */
            aload 0 /* this */
        12: .line 1222
            invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveClipSplitter.splitQuad:(DDDDDDILcom/sun/marlin/DPathConsumer2D;)Z
            istore 14 /* ret */
        start local 14 // boolean ret
        13: .line 1225
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.subdivide:Z
        14: .line 1226
            iload 14 /* ret */
            ifeq 20
        15: .line 1227
            return
        end local 14 // boolean ret
        16: .line 1232
      StackMap locals: com.sun.marlin.DStroker double double double double int int int int int
      StackMap stack:
            aload 0 /* this */
            iload 11 /* outcode2 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        17: .line 1233
            aload 0 /* this */
            dload 5 /* x2 */
            dload 7 /* y2 */
            iload 9 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker._moveTo:(DDI)V
        18: .line 1234
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.opened:Z
        19: .line 1235
            return
        end local 13 // int sideCode
        20: .line 1239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 11 /* outcode2 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        end local 12 // int orCode
        end local 11 // int outcode2
        end local 10 // int outcode1
        21: .line 1241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            iload 9 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker._quadTo:(DDDDI)V
        22: .line 1242
            return
        end local 9 // int outcode0
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lcom/sun/marlin/DStroker;
            0   23     1        x1  D
            0   23     3        y1  D
            0   23     5        x2  D
            0   23     7        y2  D
            1   23     9  outcode0  I
            3   21    10  outcode1  I
            4   21    11  outcode2  I
            5   21    12    orCode  I
            7   20    13  sideCode  I
           13   16    14       ret  Z
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final

  private void _quadTo(double, double, double, double, int);
    descriptor: (DDDDI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=22, locals=25, args_size=6
        start local 0 // com.sun.marlin.DStroker this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
        start local 9 // int outcode0
         0: .line 1249
            dload 1 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dstore 10 /* dxs */
        start local 10 // double dxs
         1: .line 1250
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dstore 12 /* dys */
        start local 12 // double dys
         2: .line 1251
            dload 5 /* x2 */
            dload 1 /* x1 */
            dsub
            dstore 14 /* dxf */
        start local 14 // double dxf
         3: .line 1252
            dload 7 /* y2 */
            dload 3 /* y1 */
            dsub
            dstore 16 /* dyf */
        start local 16 // double dyf
         4: .line 1254
            dload 10 /* dxs */
            dconst_0
            dcmpl
            ifne 5
            dload 12 /* dys */
            dconst_0
            dcmpl
            ifeq 6
      StackMap locals: com.sun.marlin.DStroker double double double double int double double double double
      StackMap stack:
         5: dload 14 /* dxf */
            dconst_0
            dcmpl
            ifne 8
            dload 16 /* dyf */
            dconst_0
            dcmpl
            ifne 8
         6: .line 1255
      StackMap locals:
      StackMap stack:
            dload 5 /* x2 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dsub
            dup2
            dstore 14 /* dxf */
            dstore 10 /* dxs */
         7: .line 1256
            dload 7 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dsub
            dup2
            dstore 16 /* dyf */
            dstore 12 /* dys */
         8: .line 1258
      StackMap locals:
      StackMap stack:
            dload 10 /* dxs */
            dconst_0
            dcmpl
            ifne 13
            dload 12 /* dys */
            dconst_0
            dcmpl
            ifne 13
         9: .line 1261
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.clipRect:[D
            ifnull 11
        10: .line 1262
            aload 0 /* this */
            iload 9 /* outcode0 */
            putfield com.sun.marlin.DStroker.cOutCode:I
        11: .line 1264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            invokevirtual com.sun.marlin.DStroker.lineTo:(DD)V
        12: .line 1265
            return
        13: .line 1269
      StackMap locals:
      StackMap stack:
            dload 10 /* dxs */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 17
            dload 12 /* dys */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 17
        14: .line 1270
            dload 10 /* dxs */
            dload 10 /* dxs */
            dmul
            dload 12 /* dys */
            dload 12 /* dys */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 18 /* len */
        start local 18 // double len
        15: .line 1271
            dload 10 /* dxs */
            dload 18 /* len */
            ddiv
            dstore 10 /* dxs */
        16: .line 1272
            dload 12 /* dys */
            dload 18 /* len */
            ddiv
            dstore 12 /* dys */
        end local 18 // double len
        17: .line 1274
      StackMap locals:
      StackMap stack:
            dload 14 /* dxf */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 21
            dload 16 /* dyf */
            invokestatic java.lang.Math.abs:(D)D
            ldc 0.1
            dcmpg
            ifge 21
        18: .line 1275
            dload 14 /* dxf */
            dload 14 /* dxf */
            dmul
            dload 16 /* dyf */
            dload 16 /* dyf */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            dstore 18 /* len */
        start local 18 // double len
        19: .line 1276
            dload 14 /* dxf */
            dload 18 /* len */
            ddiv
            dstore 14 /* dxf */
        20: .line 1277
            dload 16 /* dyf */
            dload 18 /* len */
            ddiv
            dstore 16 /* dyf */
        end local 18 // double len
        21: .line 1279
      StackMap locals:
      StackMap stack:
            dload 10 /* dxs */
            dload 12 /* dys */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lineWidth2:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            invokestatic com.sun.marlin.DStroker.computeOffset:(DDD[D)V
        22: .line 1280
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cdy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 10 /* dxs */
            dload 12 /* dys */
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmx:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cmy:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_0
            daload
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.offset0:[D
            iconst_1
            daload
            iload 9 /* outcode0 */
            invokevirtual com.sun.marlin.DStroker.drawJoin:(DDDDDDDDDDI)V
        23: .line 1282
            iconst_0
            istore 18 /* nSplits */
        start local 18 // int nSplits
        24: .line 1284
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.lp:[D
            astore 20 /* l */
        start local 20 // double[] l
        25: .line 1286
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.monotonize:Z
            ifeq 31
        26: .line 1289
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rdrCtx:Lcom/sun/marlin/DRendererContext;
            getfield com.sun.marlin.DRendererContext.monotonizer:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.quad:(DDDDDD)Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
        27: .line 1288
            astore 21 /* monotonizer */
        start local 21 // com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        28: .line 1291
            aload 21 /* monotonizer */
            getfield com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.nbSplits:I
            istore 18 /* nSplits */
        29: .line 1292
            aload 21 /* monotonizer */
            getfield com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.middle:[D
            astore 19 /* mid */
        end local 21 // com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer monotonizer
        start local 19 // double[] mid
        30: .line 1293
            goto 35
        end local 19 // double[] mid
        31: .line 1295
      StackMap locals: com.sun.marlin.DStroker double double double double int double double double double int top double[]
      StackMap stack:
            aload 20 /* l */
            astore 19 /* mid */
        start local 19 // double[] mid
        32: .line 1296
            aload 19 /* mid */
            iconst_0
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cx0:D
            dastore
            aload 19 /* mid */
            iconst_1
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.cy0:D
            dastore
        33: .line 1297
            aload 19 /* mid */
            iconst_2
            dload 1 /* x1 */
            dastore
            aload 19 /* mid */
            iconst_3
            dload 3 /* y1 */
            dastore
        34: .line 1298
            aload 19 /* mid */
            iconst_4
            dload 5 /* x2 */
            dastore
            aload 19 /* mid */
            iconst_5
            dload 7 /* y2 */
            dastore
        35: .line 1300
      StackMap locals: com.sun.marlin.DStroker double double double double int double double double double int double[] double[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DStroker.rp:[D
            astore 21 /* r */
        start local 21 // double[] r
        36: .line 1302
            iconst_0
            istore 22 /* kind */
        start local 22 // int kind
        37: .line 1303
            iconst_0
            istore 23 /* i */
        start local 23 // int i
        38: iconst_0
            istore 24 /* off */
        start local 24 // int off
        39: goto 50
        40: .line 1304
      StackMap locals: com.sun.marlin.DStroker double double double double int double double double double int double[] double[] double[] int int int
      StackMap stack:
            aload 0 /* this */
            aload 19 /* mid */
            iload 24 /* off */
            aload 20 /* l */
            aload 21 /* r */
            invokevirtual com.sun.marlin.DStroker.computeOffsetQuad:([DI[D[D)I
            istore 22 /* kind */
        41: .line 1306
            aload 0 /* this */
            aload 20 /* l */
            iconst_0
            daload
            aload 20 /* l */
            iconst_1
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        42: .line 1308
            iload 22 /* kind */
            tableswitch { // 4 - 6
                    4: 46
                    5: 48
                    6: 43
              default: 48
          }
        43: .line 1310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 20 /* l */
            iconst_2
            daload
            aload 20 /* l */
            iconst_3
            daload
            aload 20 /* l */
            iconst_4
            daload
            aload 20 /* l */
            iconst_5
            daload
            invokevirtual com.sun.marlin.DStroker.emitQuadTo:(DDDD)V
        44: .line 1311
            aload 0 /* this */
            aload 21 /* r */
            iconst_0
            daload
            aload 21 /* r */
            iconst_1
            daload
            aload 21 /* r */
            iconst_2
            daload
            aload 21 /* r */
            iconst_3
            daload
            invokevirtual com.sun.marlin.DStroker.emitQuadToRev:(DDDD)V
        45: .line 1312
            goto 48
        46: .line 1314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 20 /* l */
            iconst_2
            daload
            aload 20 /* l */
            iconst_3
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineTo:(DD)V
        47: .line 1315
            aload 0 /* this */
            aload 21 /* r */
            iconst_0
            daload
            aload 21 /* r */
            iconst_1
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
        48: .line 1319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 21 /* r */
            iload 22 /* kind */
            iconst_2
            isub
            daload
            aload 21 /* r */
            iload 22 /* kind */
            iconst_1
            isub
            daload
            invokevirtual com.sun.marlin.DStroker.emitLineToRev:(DD)V
        49: .line 1303
            iinc 23 /* i */ 1
            iinc 24 /* off */ 4
      StackMap locals:
      StackMap stack:
        50: iload 23 /* i */
            iload 18 /* nSplits */
            if_icmple 40
        end local 24 // int off
        end local 23 // int i
        51: .line 1322
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DStroker.prev:I
        52: .line 1323
            aload 0 /* this */
            dload 5 /* x2 */
            putfield com.sun.marlin.DStroker.cx0:D
        53: .line 1324
            aload 0 /* this */
            dload 7 /* y2 */
            putfield com.sun.marlin.DStroker.cy0:D
        54: .line 1325
            aload 0 /* this */
            dload 14 /* dxf */
            putfield com.sun.marlin.DStroker.cdx:D
        55: .line 1326
            aload 0 /* this */
            dload 16 /* dyf */
            putfield com.sun.marlin.DStroker.cdy:D
        56: .line 1327
            aload 0 /* this */
            aload 20 /* l */
            iload 22 /* kind */
            iconst_2
            isub
            daload
            aload 21 /* r */
            iload 22 /* kind */
            iconst_2
            isub
            daload
            dsub
            ldc 2.0
            ddiv
            putfield com.sun.marlin.DStroker.cmx:D
        57: .line 1328
            aload 0 /* this */
            aload 20 /* l */
            iload 22 /* kind */
            iconst_1
            isub
            daload
            aload 21 /* r */
            iload 22 /* kind */
            iconst_1
            isub
            daload
            dsub
            ldc 2.0
            ddiv
            putfield com.sun.marlin.DStroker.cmy:D
        58: .line 1329
            return
        end local 22 // int kind
        end local 21 // double[] r
        end local 20 // double[] l
        end local 19 // double[] mid
        end local 18 // int nSplits
        end local 16 // double dyf
        end local 14 // double dxf
        end local 12 // double dys
        end local 10 // double dxs
        end local 9 // int outcode0
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DStroker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   59     0         this  Lcom/sun/marlin/DStroker;
            0   59     1           x1  D
            0   59     3           y1  D
            0   59     5           x2  D
            0   59     7           y2  D
            0   59     9     outcode0  I
            1   59    10          dxs  D
            2   59    12          dys  D
            3   59    14          dxf  D
            4   59    16          dyf  D
           15   17    18          len  D
           19   21    18          len  D
           24   59    18      nSplits  I
           30   31    19          mid  [D
           32   59    19          mid  [D
           25   59    20            l  [D
           28   30    21  monotonizer  Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
           36   59    21            r  [D
           37   59    22         kind  I
           38   51    23            i  I
           39   51    24          off  I
    MethodParameters:
          Name  Flags
      x1        final
      y1        final
      x2        final
      y2        final
      outcode0  final
}
SourceFile: "DStroker.java"
InnerClasses:
  final PolyStack = com.sun.marlin.DHelpers$PolyStack of com.sun.marlin.DHelpers
  public final CurveBasicMonotonizer = com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer of com.sun.marlin.DTransformingPathConsumer2D
  final CurveClipSplitter = com.sun.marlin.DTransformingPathConsumer2D$CurveClipSplitter of com.sun.marlin.DTransformingPathConsumer2D