public static double CustomBezierEase(double percent, BezierEasePoint[] pts)
 {
     int i;
     var ttl = pts[pts.Length - 1].X;
     var cur = ttl * percent;
     for (i = 0; cur > pts[i + 1].X; i++) { }
     var o = pts[i];
     var o2 = pts[i + 1];
     percent = (cur - o.X) / (o2.X - o.X);
     return QuadBezEase(percent, o.Y, o2.Y, o.Y2) / ttl;
 }
 public static PercentHandler CreateCustomBezierEase(BezierEasePoint[] pts)
 {
     return p => CustomBezierEase(p, pts);
 }