text:
Panagiotis G. Ipeirotis (born 1976 in Serres, Greece) is a professor and George A. Kellner Faculty Fellow at the Department of Technology, Operations, and Statistics at Leonard N. Stern School of Business of New York University.

He is known for his work on crowdsourcing (especially Amazon Mechanical Turk) and on integrating human and machine intelligence.

He also worked on the intersection of data mining with economics, through the EconoMining project. The finding that good spelling and grammar can lead to improved product sales was discussed in the media.

He is the author of the blog "A Computer Scientist in a Business School", where he often writes about crowdsourcing and other topics. Many of his blog posts are frequently cited in the press and in academic papers.

Career
In 2004, Panos Ipeirotis was awarded a Ph.D. in Computer Science from Columbia University. In the same year, he joined New York University Stern School of Business where he is currently a professor and George A. Kellner Faculty Fellow at the Department of Information, Operations, and Management Sciences. He also worked for oDesk (now UpWork) as Academic-in-Residence, and at Google as a visiting scientist.

Awards
Ipeirotis is the recipient of the 2015 Lagrange Prize in Complex systems for his contributions in the field of Social media, User-generated content, and Crowdsourcing. Additionally, he has received nine "Best Paper" awards and nominations and a CAREER award from the National Science Foundation.

References

1976 births
Living people
Columbia University alumni
Greek emigrants to the United States
New York University faculty
American computer scientists


text:
Q: Eisenstein Series in Mathematica? Mathematica doesn't seem to have built-in tools to deal with the Eisenstein series:
$$\begin{align*}
E_{2}(\tau)&= 1-24 \sum_{n=1}^{\infty} \frac{n e^{2 \pi i n \tau}}{1-e^{2 \pi i n \tau}}\\
E_{4}(\tau)&= 1+240 \sum_{n=1}^{\infty} \frac{n^{3} e^{2 \pi i n \tau}}{1-e^{2 \pi i n \tau}}
\end{align*}$$
I'm wondering what is the best way to deal with this.  Just messing around, informally, on Wolfram, it seems like these series all converge pretty fast.  Can I carry out the sums manually in Mathematica including a small number of terms?  Or is there a better way?  I'm worried this is prone to severe inaccuracy for $\Im(\tau)$ either large or small, both cases I'm interested in.
If it simplifies anything, I only need the cases $\Re(\tau) \in \mathbb{Z}$ where the series outputs real numbers.

A: The above expression for EisensteinE[2, q] is a bit slow.  Here is a faster version using double precision arithmetic:
EisensteinE[2, tau_Complex /; Im[tau] > 0] := ee2Upper[tau];
ee2Upper = Compile[
    {{tauIn, _Complex}},
    Block[{tau = tauIn, f, k, q, qp, s},
         tau -= Round[Re[tau]];
         If[7 Im[tau] < 6,
            f = ee2Upper[-1/tau]; (f/tau + 6 I/Pi)/tau,
            q = Exp[2 Pi I tau]; f = s = 0.0 + 0.0 I; qp = 1.0 + 0.0 I;
            k = 0;
            While[k++; qp *= q; f = s + k qp/(1 - qp);
                  Abs[s - f] > MachinePrecision, s = f];
            1 - 24 f]],
    {{ee2Upper[_], _Complex}}];

Note that it is expressed in terms of τ instead of q.

A: Since 11.2 (2017) Mathematica does have the built-in tools to deal with the Eisenstein series:
$$G_{2k}(\tau)=\sum_{(m,n)}{'}\frac{1}{(m+n \tau)^{2k}}$$
being the functions:
WeierstrassInvariantG2
WeierstrassInvariantG3

Calculating $G_{2k}(\tau)$ can be implemented as follows:
g2[2, t_] = WeierstrassInvariantG2[{1/2, t/2}]/60;
g2[3, t_] = WeierstrassInvariantG3[{1/2, t/2}]/140;
g2[m_, t_] :=  3 Sum[(2 r - 1) (2 m - 2 r - 1) g2[r, t] g2[m - r, t], {r, 2, m - 2}]/((2 m + 1) (m - 3) (2 m - 1))

( Updated 17/6-'21 ):
nEisensteinG2K[2, t_]=nEisensteinG2K[2, {1, t}];
nEisensteinG2K[3, t_]=nEisensteinG2K[3, {1, t}];
nEisensteinG2K[2, {w1_, w3_}]=WeierstrassInvariantG2[{w1/2,w3/2}]/60;
nEisensteinG2K[3, {w1_, w3_}]=WeierstrassInvariantG3[{w1/2,w3/2}]/140;
nEisensteinG2K[m_, {w1_, w3_}]:= 3 Sum[(2 r - 1) (2 m - 2 r - 1) nEisensteinG2K[r, {w1, w3}] nEisensteinG2K[m - r, {w1, w3}], {r, 2, m - 2}]/((2 m + 1) (m - 3) (2 m - 1))

Source/Reference:
Modular Functions and Dirichlet Series in Number Theory, Tom Apostol ( Chapter 1 Par 1.9 "The Eisenstein series and the invariants g2 and g3" )

A: Since EllipticTheta[] is a built-in function, and since the Eisenstein series $E_4(q)$ and $E_6(q)$ are expressible in terms of theta functions (I use the nome $q$ as the argument in this answer, but you can convert to your convention by using the relation with the period ratio $\tau$: $q=\exp(2\pi i \tau)$), and since the higher-order Eisenstein series (note that they are only defined for even orders!) can be generated from $E_4(q)$ and $E_6(q)$ through a recurrence (see e.g. Apostol's book), it is relatively straightforward to write Mathematica routines for these functions:
SetAttributes[EisensteinE, {Listable, NHoldFirst}];

EisensteinE[4, q_] := (EllipticTheta[2, 0, q]^8 + EllipticTheta[3, 0, q]^8 +
                       EllipticTheta[4, 0, q]^8)/2

EisensteinE[6, q_] := With[{q2 = EllipticTheta[2, 0, q]^4,
                            q3 = EllipticTheta[3, 0, q]^4,
                            q4 = EllipticTheta[4, 0, q]^4},
                           (q2 + q3) (q3 + q4) (q4 - q2)/2

EisensteinE[n_Integer?EvenQ, q_] /; n > 2 := (6/((6 - n) (n^2 - 1) BernoulliB[n]))
Sum[Binomial[n, 2 k + 4] (2 k + 3) (n - 2 k - 5)
    BernoulliB[2 k + 4] BernoulliB[n - 2 k - 4]
    EisensteinE[2 k + 4, q] EisensteinE[n - 2 k - 4, q], {k, 0, n/2 - 4}]

Here are a few examples:
(* "equianharmonic case" *)
{ω1, ω3} = {1, (1 + I Sqrt[3])/2};
N[WeierstrassInvariants[{ω1, ω3}]] // Quiet // Chop
   {0, 12.825381829368068}

2 {60, 140} Zeta[{4, 6}] EisensteinE[{4, 6}, Exp[I π ω3/ω1]]/(2 ω1)^{4, 6}
// N // Chop
   {0, 12.825381829368068}

(* "lemniscatic case" *)
{ω1, ω3} = {1, I};
N[WeierstrassInvariants[{ω1, ω3}]] // Quiet // Chop
   {11.817045008077123, 0}

2 {60, 140} Zeta[{4, 6}] EisensteinE[{4, 6}, Exp[I π ω3/ω1]]/(2 ω1)^{4, 6}
// N // Chop
   {11.817045008077123, 0}

Using techniques similar to the one used in this answer, here are domain-colored plots of $E_4(q)$ (left) and $E_6(q)$ (right) over the unit disk, using the DLMF coloring scheme:

Now, one may ask: what about $E_2(q)$? This function is what is termed as a "quasi-modular" form, whose behavior with respect to modular transformations is completely different from the other $E_{2k}(q)$. Due to this unusual state of affairs (i.e. not expressible entirely in terms of theta functions), one needs a different formula for $E_2(q)$; one useful formula can be found hidden deep within Abramowitz and Stegun:
EisensteinE[2, q_] := With[{q3 = EllipticTheta[3, 0, q]^2}, 6/π
                           EllipticE[InverseEllipticNomeQ[q]] q3 -
                           q3^2 - EllipticTheta[4, 0, q]^4]

Test:
Series[EisensteinE[2, q], {q, 0, 12}]
   1 - 24 q^2 - 72 q^4 - 96 q^6 - 168 q^8 - 144 q^10 - 288 q^12 + O[q]^13

1 - Sum[24 DivisorSigma[1, k] q^(2 k), {k, 1, 6}]
   1 - 24 q^2 - 72 q^4 - 96 q^6 - 168 q^8 - 144 q^10 - 288 q^12

Unfortunately, altho this version is great for symbolic use, it is not too good for numerical evaluation, as can be seen from the following attempt to generate a domain-colored plot from it:

The relatively complicated branch cut structure is apparently inherited from the branch cuts of the complete elliptic integral of the second kind $E(m)$ not being canceled out by the inverse nome.
Thus, I shall present another routine for numerically evaluating $E_2(q)$, based on recursing the quasi-modular relation (note the use of $\tau$ instead of $q$)
$$E_2\left(-\frac1{\tau}\right)=\tau^2 E_2(\tau)-\frac{6i\tau}{\pi}$$
before the actual numerical evaluation of the series:
e2[zz_ /; (InexactNumberQ[zz] && Im[zz] > 0)] :=
   Block[{τ = SetPrecision[zz, 1. Precision[zz]], r = False, f, k, pr, q, qp, s},
         τ -= Round[Re[τ]]; pr = Precision[τ];
         If[7 Im[τ] < 6,
            r = True; f = e2[SetPrecision[-1/τ, pr]],
            q = SetPrecision[Exp[2 π I τ], pr]; f = s = 0; qp = 1;
            k = 0;
            While[k++; qp *= q; f = s + k qp/(1 - qp); s != f, s = f];
            f = 1 - 24 f];
         If[r, (f/τ + 6 I/π)/τ, f] /; NumberQ[f]]

EisensteinE[2, q_?InexactNumberQ] :=
   If[q == 0, N[1, Internal`PrecAccur[q]], e2[Log[q]/(I π)]]

(Note that the subroutine e2[] actually takes the period ratio $\tau$ as the argument; if your preferred convention is to use $\tau$ instead of $q$, you can make that the main routine and skip the conversion to $q$ altogether.)
This now gives a proper-looking plot:

(Thanks to მამუკა ჯიბლაძე for convincing me to look further into this.)

Finally, if you prefer the function $G_{2k}(q)$, here is the corresponding formula:
EisensteinG[n_Integer?EvenQ, q_] := 2 Zeta[n] EisensteinE[n, q]

redpajama_set_name: RedPajamaStackExchange


We help torture survivors to obtain justice and reparation.
Welcome to our London Marathon team page! REDRESS works on behalf of torture survivors free of charge. Fundraising provides a significant contribution towards enabling this important work.
"Gaia, sempre avanti, brava ! "
I'm I am running to raise funds for Nelson Goh because of the important work they do (please see below).
I'm I am Running the 2019 London Marathon for Alex Smith because to support a great charity and see if I get round!
I'm Fundraising for Ana Ortega Villegas because no one deserves to be a victim of torture.


text:
.class public Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;
.super Ljava/lang/Object;
.source "PropertyValuesHolder.java"

# interfaces
.implements Ljava/lang/Cloneable;

# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$1;,
        Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$FloatPropertyValuesHolder;,
        Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$IntPropertyValuesHolder;
    }
.end annotation

# static fields
.field private static DOUBLE_VARIANTS:[Ljava/lang/Class;

.field private static FLOAT_VARIANTS:[Ljava/lang/Class;

.field private static INTEGER_VARIANTS:[Ljava/lang/Class;

.field private static final sFloatEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

.field private static final sGetterPropertyMap:Ljava/util/HashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/HashMap",
            "<",
            "Ljava/lang/Class;",
            "Ljava/util/HashMap",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/reflect/Method;",
            ">;>;"
        }
    .end annotation
.end field

.field private static final sIntEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

.field private static final sSetterPropertyMap:Ljava/util/HashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/HashMap",
            "<",
            "Ljava/lang/Class;",
            "Ljava/util/HashMap",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/reflect/Method;",
            ">;>;"
        }
    .end annotation
.end field

# instance fields
.field private mAnimatedValue:Ljava/lang/Object;

.field private mEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

.field private mGetter:Ljava/lang/reflect/Method;

.field mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

.field final mPropertyMapLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;

.field mPropertyName:Ljava/lang/String;

.field mSetter:Ljava/lang/reflect/Method;

.field final mTmpValueArray:[Ljava/lang/Object;

.field mValueType:Ljava/lang/Class;

# direct methods
.method static constructor <clinit>()V
    .locals 8

    .prologue
    const/4 v7, 0x4

    const/4 v6, 0x3

    const/4 v5, 0x2

    const/4 v4, 0x1

    const/4 v3, 0x0

    .line 80
    new-instance v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/IntEvaluator;

    invoke-direct {v0}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/IntEvaluator;-><init>()V

    sput-object v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->sIntEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

    .line 81
    new-instance v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/FloatEvaluator;

    invoke-direct {v0}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/FloatEvaluator;-><init>()V

    sput-object v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->sFloatEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

    .line 90
    const/4 v0, 0x6

    new-array v0, v0, [Ljava/lang/Class;

    sget-object v1, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    aput-object v1, v0, v3

    const-class v1, Ljava/lang/Float;

    aput-object v1, v0, v4

    sget-object v1, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    aput-object v1, v0, v5

    sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    aput-object v1, v0, v6

    const-class v1, Ljava/lang/Double;

    aput-object v1, v0, v7

    const/4 v1, 0x5

    const-class v2, Ljava/lang/Integer;

    aput-object v2, v0, v1

    sput-object v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->FLOAT_VARIANTS:[Ljava/lang/Class;

    .line 92
    const/4 v0, 0x6

    new-array v0, v0, [Ljava/lang/Class;

    sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    aput-object v1, v0, v3

    const-class v1, Ljava/lang/Integer;

    aput-object v1, v0, v4

    sget-object v1, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    aput-object v1, v0, v5

    sget-object v1, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    aput-object v1, v0, v6

    const-class v1, Ljava/lang/Float;

    aput-object v1, v0, v7

    const/4 v1, 0x5

    const-class v2, Ljava/lang/Double;

    aput-object v2, v0, v1

    sput-object v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->INTEGER_VARIANTS:[Ljava/lang/Class;

    .line 94
    const/4 v0, 0x6

    new-array v0, v0, [Ljava/lang/Class;

    sget-object v1, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    aput-object v1, v0, v3

    const-class v1, Ljava/lang/Double;

    aput-object v1, v0, v4

    sget-object v1, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    aput-object v1, v0, v5

    sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    aput-object v1, v0, v6

    const-class v1, Ljava/lang/Float;

    aput-object v1, v0, v7

    const/4 v1, 0x5

    const-class v2, Ljava/lang/Integer;

    aput-object v2, v0, v1

    sput-object v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->DOUBLE_VARIANTS:[Ljava/lang/Class;

    .line 100
    new-instance v0, Ljava/util/HashMap;

    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V

    sput-object v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->sSetterPropertyMap:Ljava/util/HashMap;

    .line 102
    new-instance v0, Ljava/util/HashMap;

    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V

    sput-object v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->sGetterPropertyMap:Ljava/util/HashMap;

    return-void
.end method

.method private constructor <init>(Ljava/lang/String;)V
    .locals 1
    .param p1, "propertyName"    # Ljava/lang/String;

    .prologue
    const/4 v0, 0x0

    .line 131
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 56
    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mSetter:Ljava/lang/reflect/Method;

    .line 65
    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mGetter:Ljava/lang/reflect/Method;

    .line 76
    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    .line 107
    new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock;

    invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;-><init>()V

    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyMapLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;

    .line 110
    const/4 v0, 0x1

    new-array v0, v0, [Ljava/lang/Object;

    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mTmpValueArray:[Ljava/lang/Object;

    .line 132
    iput-object p1, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyName:Ljava/lang/String;

    .line 133
    return-void
.end method

.method synthetic constructor <init>(Ljava/lang/String;Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$1;)V
    .locals 0
    .param p1, "x0"    # Ljava/lang/String;
    .param p2, "x1"    # Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$1;

    .prologue
    .line 36
    invoke-direct {p0, p1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;-><init>(Ljava/lang/String;)V

    return-void
.end method

.method static getMethodName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    .locals 3
    .param p0, "prefix"    # Ljava/lang/String;
    .param p1, "propertyName"    # Ljava/lang/String;

    .prologue
    .line 726
    if-eqz p1, :cond_0

    invoke-virtual {p1}, Ljava/lang/String;->length()I

    move-result v2

    if-nez v2, :cond_1

    .line 732
    .end local p0    # "prefix":Ljava/lang/String;
    :cond_0
    :goto_0
    return-object p0

    .line 730
    .restart local p0    # "prefix":Ljava/lang/String;
    :cond_1
    const/4 v2, 0x0

    invoke-virtual {p1, v2}, Ljava/lang/String;->charAt(I)C

    move-result v2

    invoke-static {v2}, Ljava/lang/Character;->toUpperCase(C)C

    move-result v0

    .line 731
    .local v0, "firstLetter":C
    const/4 v2, 0x1

    invoke-virtual {p1, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v1

    .line 732
    .local v1, "theRest":Ljava/lang/String;
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    goto :goto_0
.end method

.method private getPropertyFunction(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
    .locals 13
    .param p1, "targetClass"    # Ljava/lang/Class;
    .param p2, "prefix"    # Ljava/lang/String;
    .param p3, "valueType"    # Ljava/lang/Class;

    .prologue
    .line 381
    const/4 v6, 0x0

    .line 382
    .local v6, "returnVal":Ljava/lang/reflect/Method;
    iget-object v10, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyName:Ljava/lang/String;

    invoke-static {p2, v10}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->getMethodName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v5

    .line 383
    .local v5, "methodName":Ljava/lang/String;
    const/4 v0, 0x0

    .line 384
    .local v0, "args":[Ljava/lang/Class;
    if-nez p3, :cond_0

    .line 386
    :try_start_0
    invoke-virtual {p1, v5, v0}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
    :try_end_0
    .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v6

    :goto_0
    move-object v7, v6

    .line 422
    .end local v6    # "returnVal":Ljava/lang/reflect/Method;
    .local v7, "returnVal":Ljava/lang/reflect/Method;
    :goto_1
    return-object v7

    .line 387
    .end local v7    # "returnVal":Ljava/lang/reflect/Method;
    .restart local v6    # "returnVal":Ljava/lang/reflect/Method;
    :catch_0
    move-exception v2

    .line 388
    .local v2, "e":Ljava/lang/NoSuchMethodException;
    const-string v10, "PropertyValuesHolder"

    new-instance v11, Ljava/lang/StringBuilder;

    invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {p1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v12

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v11

    const-string v12, " - "

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v11

    const-string v12, "Couldn\'t find no-arg method for property "

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v11

    iget-object v12, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyName:Ljava/lang/String;

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v11

    const-string v12, ": "

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v11

    invoke-virtual {v11, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v11

    invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v11

    invoke-static {v10, v11}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_0

    .line 392
    .end local v2    # "e":Ljava/lang/NoSuchMethodException;
    :cond_0
    const/4 v10, 0x1

    new-array v0, v10, [Ljava/lang/Class;

    .line 394
    iget-object v10, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    const-class v11, Ljava/lang/Float;

    invoke-virtual {v10, v11}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v10

    if-eqz v10, :cond_1

    .line 395
    sget-object v9, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->FLOAT_VARIANTS:[Ljava/lang/Class;

    .line 404
    .local v9, "typeVariants":[Ljava/lang/Class;
    :goto_2
    move-object v1, v9

    .local v1, "arr$":[Ljava/lang/Class;
    array-length v4, v1

    .local v4, "len$":I
    const/4 v3, 0x0

    .local v3, "i$":I
    :goto_3
    if-ge v3, v4, :cond_4

    aget-object v8, v1, v3

    .line 405
    .local v8, "typeVariant":Ljava/lang/Class;
    const/4 v10, 0x0

    aput-object v8, v0, v10

    .line 407
    :try_start_1
    invoke-virtual {p1, v5, v0}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v6

    .line 409
    iput-object v8, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;
    :try_end_1
    .catch Ljava/lang/NoSuchMethodException; {:try_start_1 .. :try_end_1} :catch_1

    move-object v7, v6

    .line 410
    .end local v6    # "returnVal":Ljava/lang/reflect/Method;
    .restart local v7    # "returnVal":Ljava/lang/reflect/Method;
    goto :goto_1

    .line 396
    .end local v1    # "arr$":[Ljava/lang/Class;
    .end local v3    # "i$":I
    .end local v4    # "len$":I
    .end local v7    # "returnVal":Ljava/lang/reflect/Method;
    .end local v8    # "typeVariant":Ljava/lang/Class;
    .end local v9    # "typeVariants":[Ljava/lang/Class;
    .restart local v6    # "returnVal":Ljava/lang/reflect/Method;
    :cond_1
    iget-object v10, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    const-class v11, Ljava/lang/Integer;

    invoke-virtual {v10, v11}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v10

    if-eqz v10, :cond_2

    .line 397
    sget-object v9, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->INTEGER_VARIANTS:[Ljava/lang/Class;

    .restart local v9    # "typeVariants":[Ljava/lang/Class;
    goto :goto_2

    .line 398
    .end local v9    # "typeVariants":[Ljava/lang/Class;
    :cond_2
    iget-object v10, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    const-class v11, Ljava/lang/Double;

    invoke-virtual {v10, v11}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v10

    if-eqz v10, :cond_3

    .line 399
    sget-object v9, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->DOUBLE_VARIANTS:[Ljava/lang/Class;

    .restart local v9    # "typeVariants":[Ljava/lang/Class;
    goto :goto_2

    .line 401
    .end local v9    # "typeVariants":[Ljava/lang/Class;
    :cond_3
    const/4 v10, 0x1

    new-array v9, v10, [Ljava/lang/Class;

    .line 402
    .restart local v9    # "typeVariants":[Ljava/lang/Class;
    const/4 v10, 0x0

    iget-object v11, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    aput-object v11, v9, v10

    goto :goto_2

    .line 411
    .restart local v1    # "arr$":[Ljava/lang/Class;
    .restart local v3    # "i$":I
    .restart local v4    # "len$":I
    .restart local v8    # "typeVariant":Ljava/lang/Class;
    :catch_1
    move-exception v10

    .line 404
    add-int/lit8 v3, v3, 0x1

    goto :goto_3

    .line 416
    .end local v8    # "typeVariant":Ljava/lang/Class;
    :cond_4
    const-string v10, "PropertyValuesHolder"

    new-instance v11, Ljava/lang/StringBuilder;

    invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V

    const-string v12, "Couldn\'t find "

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v11

    invoke-virtual {v11, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v11

    const-string v12, "ter property "

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v11

    iget-object v12, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyName:Ljava/lang/String;

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v11

    const-string v12, " for "

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v11

    .line 418
    invoke-virtual {p1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v12

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v11

    const-string v12, " with value type "

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v11

    iget-object v12, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v11

    invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v11

    .line 416
    invoke-static {v10, v11}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto/16 :goto_0
.end method

.method public static varargs ofFloat(Ljava/lang/String;[F)Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;
    .locals 1
    .param p0, "propertyName"    # Ljava/lang/String;
    .param p1, "values"    # [F

    .prologue
    .line 176
    new-instance v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$FloatPropertyValuesHolder;

    invoke-direct {v0, p0, p1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$FloatPropertyValuesHolder;-><init>(Ljava/lang/String;[F)V

    return-object v0
.end method

.method public static varargs ofInt(Ljava/lang/String;[I)Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;
    .locals 1
    .param p0, "propertyName"    # Ljava/lang/String;
    .param p1, "values"    # [I

    .prologue
    .line 154
    new-instance v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$IntPropertyValuesHolder;

    invoke-direct {v0, p0, p1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$IntPropertyValuesHolder;-><init>(Ljava/lang/String;[I)V

    return-object v0
.end method

.method public static varargs ofKeyframe(Ljava/lang/String;[Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;)Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;
    .locals 3
    .param p0, "propertyName"    # Ljava/lang/String;
    .param p1, "values"    # [Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;

    .prologue
    .line 250
    invoke-static {p1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->ofKeyframe([Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;)Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    move-result-object v0

    .line 251
    .local v0, "keyframeSet":Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;
    instance-of v2, v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/IntKeyframeSet;

    if-eqz v2, :cond_0

    .line 252
    new-instance v1, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$IntPropertyValuesHolder;

    check-cast v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/IntKeyframeSet;

    .end local v0    # "keyframeSet":Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;
    invoke-direct {v1, p0, v0}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$IntPropertyValuesHolder;-><init>(Ljava/lang/String;Lcom/actionbarsherlock/internal/nineoldandroids/animation/IntKeyframeSet;)V

    .line 260
    :goto_0
    return-object v1

    .line 253
    .restart local v0    # "keyframeSet":Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;
    :cond_0
    instance-of v2, v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/FloatKeyframeSet;

    if-eqz v2, :cond_1

    .line 254
    new-instance v1, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$FloatPropertyValuesHolder;

    check-cast v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/FloatKeyframeSet;

    .end local v0    # "keyframeSet":Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;
    invoke-direct {v1, p0, v0}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder$FloatPropertyValuesHolder;-><init>(Ljava/lang/String;Lcom/actionbarsherlock/internal/nineoldandroids/animation/FloatKeyframeSet;)V

    goto :goto_0

    .line 257
    .restart local v0    # "keyframeSet":Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;
    :cond_1
    new-instance v1, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;

    invoke-direct {v1, p0}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;-><init>(Ljava/lang/String;)V

    .line 258
    .local v1, "pvh":Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;
    iput-object v0, v1, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    .line 259
    const/4 v2, 0x0

    aget-object v2, p1, v2

    invoke-virtual {v2}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;->getType()Ljava/lang/Class;

    move-result-object v2

    iput-object v2, v1, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    goto :goto_0
.end method

.method public static varargs ofObject(Ljava/lang/String;Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;[Ljava/lang/Object;)Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;
    .locals 1
    .param p0, "propertyName"    # Ljava/lang/String;
    .param p1, "evaluator"    # Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;
    .param p2, "values"    # [Ljava/lang/Object;

    .prologue
    .line 204
    new-instance v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;

    invoke-direct {v0, p0}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;-><init>(Ljava/lang/String;)V

    .line 205
    .local v0, "pvh":Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;
    invoke-virtual {v0, p2}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->setObjectValues([Ljava/lang/Object;)V

    .line 206
    invoke-virtual {v0, p1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->setEvaluator(Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;)V

    .line 207
    return-object v0
.end method

.method private setupGetter(Ljava/lang/Class;)V
    .locals 3
    .param p1, "targetClass"    # Ljava/lang/Class;

    .prologue
    .line 475
    sget-object v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->sGetterPropertyMap:Ljava/util/HashMap;

    const-string v1, "get"

    const/4 v2, 0x0

    invoke-direct {p0, p1, v0, v1, v2}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->setupSetterOrGetter(Ljava/lang/Class;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mGetter:Ljava/lang/reflect/Method;

    .line 476
    return-void
.end method

.method private setupSetterOrGetter(Ljava/lang/Class;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
    .locals 5
    .param p1, "targetClass"    # Ljava/lang/Class;
    .param p3, "prefix"    # Ljava/lang/String;
    .param p4, "valueType"    # Ljava/lang/Class;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class;",
            "Ljava/util/HashMap",
            "<",
            "Ljava/lang/Class;",
            "Ljava/util/HashMap",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/reflect/Method;",
            ">;>;",
            "Ljava/lang/String;",
            "Ljava/lang/Class;",
            ")",
            "Ljava/lang/reflect/Method;"
        }
    .end annotation

    .prologue
    .line 439
    .local p2, "propertyMapMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/Class;Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;>;"
    const/4 v2, 0x0

    .line 444
    .local v2, "setterOrGetter":Ljava/lang/reflect/Method;
    :try_start_0
    iget-object v3, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyMapLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;

    invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;

    move-result-object v3

    invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->lock()V

    .line 445
    invoke-virtual {p2, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/util/HashMap;

    .line 446
    .local v1, "propertyMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;"
    if-eqz v1, :cond_0

    .line 447
    iget-object v3, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyName:Ljava/lang/String;

    invoke-virtual {v1, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v3

    move-object v0, v3

    check-cast v0, Ljava/lang/reflect/Method;

    move-object v2, v0

    .line 449
    :cond_0
    if-nez v2, :cond_2

    .line 450
    invoke-direct {p0, p1, p3, p4}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->getPropertyFunction(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v2

    .line 451
    if-nez v1, :cond_1

    .line 452
    new-instance v1, Ljava/util/HashMap;

    .end local v1    # "propertyMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;"
    invoke-direct {v1}, Ljava/util/HashMap;-><init>()V

    .line 453
    .restart local v1    # "propertyMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;"
    invoke-virtual {p2, p1, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 455
    :cond_1
    iget-object v3, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyName:Ljava/lang/String;

    invoke-virtual {v1, v3, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    .line 458
    :cond_2
    iget-object v3, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyMapLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;

    invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;

    move-result-object v3

    invoke-virtual {v3}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V

    .line 460
    return-object v2

    .line 458
    .end local v1    # "propertyMap":Ljava/util/HashMap;, "Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;"
    :catchall_0
    move-exception v3

    iget-object v4, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyMapLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;

    invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;

    move-result-object v4

    invoke-virtual {v4}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V

    throw v3
.end method

.method private setupValue(Ljava/lang/Object;Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;)V
    .locals 4
    .param p1, "target"    # Ljava/lang/Object;
    .param p2, "kf"    # Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;

    .prologue
    .line 537
    :try_start_0
    iget-object v2, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mGetter:Ljava/lang/reflect/Method;

    if-nez v2, :cond_0

    .line 538
    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v1

    .line 539
    .local v1, "targetClass":Ljava/lang/Class;
    invoke-direct {p0, v1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->setupGetter(Ljava/lang/Class;)V

    .line 541
    .end local v1    # "targetClass":Ljava/lang/Class;
    :cond_0
    iget-object v2, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mGetter:Ljava/lang/reflect/Method;

    const/4 v3, 0x0

    new-array v3, v3, [Ljava/lang/Object;

    invoke-virtual {v2, p1, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    invoke-virtual {p2, v2}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;->setValue(Ljava/lang/Object;)V
    :try_end_0
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_0
    .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_1

    .line 547
    :goto_0
    return-void

    .line 542
    :catch_0
    move-exception v0

    .line 543
    .local v0, "e":Ljava/lang/reflect/InvocationTargetException;
    const-string v2, "PropertyValuesHolder"

    invoke-virtual {v0}, Ljava/lang/reflect/InvocationTargetException;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_0

    .line 544
    .end local v0    # "e":Ljava/lang/reflect/InvocationTargetException;
    :catch_1
    move-exception v0

    .line 545
    .local v0, "e":Ljava/lang/IllegalAccessException;
    const-string v2, "PropertyValuesHolder"

    invoke-virtual {v0}, Ljava/lang/IllegalAccessException;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_0
.end method

# virtual methods
.method calculateValue(F)V
    .locals 1
    .param p1, "fraction"    # F

    .prologue
    .line 652
    iget-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    invoke-virtual {v0, p1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->getValue(F)Ljava/lang/Object;

    move-result-object v0

    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mAnimatedValue:Ljava/lang/Object;

    .line 653
    return-void
.end method

.method public clone()Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;
    .locals 3

    .prologue
    .line 576
    :try_start_0
    invoke-super {p0}, Ljava/lang/Object;->clone()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;

    .line 577
    .local v1, "newPVH":Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;
    iget-object v2, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyName:Ljava/lang/String;

    iput-object v2, v1, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyName:Ljava/lang/String;

    .line 579
    iget-object v2, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    invoke-virtual {v2}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->clone()Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    move-result-object v2

    iput-object v2, v1, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    .line 580
    iget-object v2, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

    iput-object v2, v1, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;
    :try_end_0
    .catch Ljava/lang/CloneNotSupportedException; {:try_start_0 .. :try_end_0} :catch_0

    .line 584
    .end local v1    # "newPVH":Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;
    :goto_0
    return-object v1

    .line 582
    :catch_0
    move-exception v0

    .line 584
    .local v0, "e":Ljava/lang/CloneNotSupportedException;
    const/4 v1, 0x0

    goto :goto_0
.end method

.method public bridge synthetic clone()Ljava/lang/Object;
    .locals 1
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/CloneNotSupportedException;
        }
    .end annotation

    .prologue
    .line 35
    invoke-virtual {p0}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->clone()Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;

    move-result-object v0

    return-object v0
.end method

.method getAnimatedValue()Ljava/lang/Object;
    .locals 1

    .prologue
    .line 704
    iget-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mAnimatedValue:Ljava/lang/Object;

    return-object v0
.end method

.method public getPropertyName()Ljava/lang/String;
    .locals 1

    .prologue
    .line 695
    iget-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyName:Ljava/lang/String;

    return-object v0
.end method

.method init()V
    .locals 2

    .prologue
    .line 616
    iget-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

    if-nez v0, :cond_0

    .line 619
    iget-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    const-class v1, Ljava/lang/Integer;

    if-ne v0, v1, :cond_2

    sget-object v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->sIntEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

    :goto_0
    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

    .line 623
    :cond_0
    iget-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

    if-eqz v0, :cond_1

    .line 626
    iget-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    iget-object v1, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

    invoke-virtual {v0, v1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->setEvaluator(Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;)V

    .line 628
    :cond_1
    return-void

    .line 619
    :cond_2
    iget-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    const-class v1, Ljava/lang/Float;

    if-ne v0, v1, :cond_3

    sget-object v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->sFloatEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

    goto :goto_0

    :cond_3
    const/4 v0, 0x0

    goto :goto_0
.end method

.method setAnimatedValue(Ljava/lang/Object;)V
    .locals 4
    .param p1, "target"    # Ljava/lang/Object;

    .prologue
    .line 599
    iget-object v1, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mSetter:Ljava/lang/reflect/Method;

    if-eqz v1, :cond_0

    .line 601
    :try_start_0
    iget-object v1, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mTmpValueArray:[Ljava/lang/Object;

    const/4 v2, 0x0

    invoke-virtual {p0}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object;

    move-result-object v3

    aput-object v3, v1, v2

    .line 602
    iget-object v1, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mSetter:Ljava/lang/reflect/Method;

    iget-object v2, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mTmpValueArray:[Ljava/lang/Object;

    invoke-virtual {v1, p1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_0
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_0
    .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_1

    .line 609
    :cond_0
    :goto_0
    return-void

    .line 603
    :catch_0
    move-exception v0

    .line 604
    .local v0, "e":Ljava/lang/reflect/InvocationTargetException;
    const-string v1, "PropertyValuesHolder"

    invoke-virtual {v0}, Ljava/lang/reflect/InvocationTargetException;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_0

    .line 605
    .end local v0    # "e":Ljava/lang/reflect/InvocationTargetException;
    :catch_1
    move-exception v0

    .line 606
    .local v0, "e":Ljava/lang/IllegalAccessException;
    const-string v1, "PropertyValuesHolder"

    invoke-virtual {v0}, Ljava/lang/IllegalAccessException;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_0
.end method

.method public setEvaluator(Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;)V
    .locals 1
    .param p1, "evaluator"    # Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

    .prologue
    .line 641
    iput-object p1, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mEvaluator:Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;

    .line 642
    iget-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    invoke-virtual {v0, p1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->setEvaluator(Lcom/actionbarsherlock/internal/nineoldandroids/animation/TypeEvaluator;)V

    .line 643
    return-void
.end method

.method public varargs setFloatValues([F)V
    .locals 1
    .param p1, "values"    # [F

    .prologue
    .line 327
    sget-object v0, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    .line 328
    invoke-static {p1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->ofFloat([F)Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    move-result-object v0

    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    .line 329
    return-void
.end method

.method public varargs setIntValues([I)V
    .locals 1
    .param p1, "values"    # [I

    .prologue
    .line 309
    sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    .line 310
    invoke-static {p1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->ofInt([I)Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    move-result-object v0

    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    .line 311
    return-void
.end method

.method public varargs setKeyframes([Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;)V
    .locals 4
    .param p1, "values"    # [Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;

    .prologue
    .line 337
    array-length v2, p1

    .line 338
    .local v2, "numKeyframes":I
    const/4 v3, 0x2

    invoke-static {v2, v3}, Ljava/lang/Math;->max(II)I

    move-result v3

    new-array v1, v3, [Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;

    .line 339
    .local v1, "keyframes":[Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;
    const/4 v3, 0x0

    aget-object v3, p1, v3

    invoke-virtual {v3}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;->getType()Ljava/lang/Class;

    move-result-object v3

    iput-object v3, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    .line 340
    const/4 v0, 0x0

    .local v0, "i":I
    :goto_0
    if-ge v0, v2, :cond_0

    .line 341
    aget-object v3, p1, v0

    aput-object v3, v1, v0

    .line 340
    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    .line 343
    :cond_0
    new-instance v3, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    invoke-direct {v3, v1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;-><init>([Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;)V

    iput-object v3, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    .line 344
    return-void
.end method

.method public varargs setObjectValues([Ljava/lang/Object;)V
    .locals 1
    .param p1, "values"    # [Ljava/lang/Object;

    .prologue
    .line 360
    const/4 v0, 0x0

    aget-object v0, p1, v0

    invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    .line 361
    invoke-static {p1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->ofObject([Ljava/lang/Object;)Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    move-result-object v0

    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    .line 362
    return-void
.end method

.method public setPropertyName(Ljava/lang/String;)V
    .locals 0
    .param p1, "propertyName"    # Ljava/lang/String;

    .prologue
    .line 671
    iput-object p1, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyName:Ljava/lang/String;

    .line 672
    return-void
.end method

.method setupEndValue(Ljava/lang/Object;)V
    .locals 2
    .param p1, "target"    # Ljava/lang/Object;

    .prologue
    .line 570
    iget-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    iget-object v0, v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->mKeyframes:Ljava/util/ArrayList;

    iget-object v1, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    iget-object v1, v1, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->mKeyframes:Ljava/util/ArrayList;

    invoke-virtual {v1}, Ljava/util/ArrayList;->size()I

    move-result v1

    add-int/lit8 v1, v1, -0x1

    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;

    invoke-direct {p0, p1, v0}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->setupValue(Ljava/lang/Object;Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;)V

    .line 571
    return-void
.end method

.method setupSetter(Ljava/lang/Class;)V
    .locals 3
    .param p1, "targetClass"    # Ljava/lang/Class;

    .prologue
    .line 468
    sget-object v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->sSetterPropertyMap:Ljava/util/HashMap;

    const-string v1, "set"

    iget-object v2, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mValueType:Ljava/lang/Class;

    invoke-direct {p0, p1, v0, v1, v2}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->setupSetterOrGetter(Ljava/lang/Class;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    iput-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mSetter:Ljava/lang/reflect/Method;

    .line 469
    return-void
.end method

.method setupSetterAndGetter(Ljava/lang/Object;)V
    .locals 6
    .param p1, "target"    # Ljava/lang/Object;

    .prologue
    .line 505
    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v3

    .line 506
    .local v3, "targetClass":Ljava/lang/Class;
    iget-object v4, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mSetter:Ljava/lang/reflect/Method;

    if-nez v4, :cond_0

    .line 507
    invoke-virtual {p0, v3}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V

    .line 509
    :cond_0
    iget-object v4, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    iget-object v4, v4, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->mKeyframes:Ljava/util/ArrayList;

    invoke-virtual {v4}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v1

    .local v1, "i$":Ljava/util/Iterator;
    :cond_1
    :goto_0
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v4

    if-eqz v4, :cond_3

    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;

    .line 510
    .local v2, "kf":Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;
    invoke-virtual {v2}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;->hasValue()Z

    move-result v4

    if-nez v4, :cond_1

    .line 511
    iget-object v4, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mGetter:Ljava/lang/reflect/Method;

    if-nez v4, :cond_2

    .line 512
    invoke-direct {p0, v3}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->setupGetter(Ljava/lang/Class;)V

    .line 515
    :cond_2
    :try_start_0
    iget-object v4, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mGetter:Ljava/lang/reflect/Method;

    const/4 v5, 0x0

    new-array v5, v5, [Ljava/lang/Object;

    invoke-virtual {v4, p1, v5}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v4

    invoke-virtual {v2, v4}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;->setValue(Ljava/lang/Object;)V
    :try_end_0
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_0
    .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_1

    goto :goto_0

    .line 516
    :catch_0
    move-exception v0

    .line 517
    .local v0, "e":Ljava/lang/reflect/InvocationTargetException;
    const-string v4, "PropertyValuesHolder"

    invoke-virtual {v0}, Ljava/lang/reflect/InvocationTargetException;->toString()Ljava/lang/String;

    move-result-object v5

    invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_0

    .line 518
    .end local v0    # "e":Ljava/lang/reflect/InvocationTargetException;
    :catch_1
    move-exception v0

    .line 519
    .local v0, "e":Ljava/lang/IllegalAccessException;
    const-string v4, "PropertyValuesHolder"

    invoke-virtual {v0}, Ljava/lang/IllegalAccessException;->toString()Ljava/lang/String;

    move-result-object v5

    invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_0

    .line 523
    .end local v0    # "e":Ljava/lang/IllegalAccessException;
    .end local v2    # "kf":Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;
    :cond_3
    return-void
.end method

.method setupStartValue(Ljava/lang/Object;)V
    .locals 2
    .param p1, "target"    # Ljava/lang/Object;

    .prologue
    .line 558
    iget-object v0, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    iget-object v0, v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->mKeyframes:Ljava/util/ArrayList;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;

    invoke-direct {p0, p1, v0}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->setupValue(Ljava/lang/Object;Lcom/actionbarsherlock/internal/nineoldandroids/animation/Keyframe;)V

    .line 559
    return-void
.end method

.method public toString()Ljava/lang/String;
    .locals 2

    .prologue
    .line 709
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v1, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mPropertyName:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ": "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget-object v1, p0, Lcom/actionbarsherlock/internal/nineoldandroids/animation/PropertyValuesHolder;->mKeyframeSet:Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;

    invoke-virtual {v1}, Lcom/actionbarsherlock/internal/nineoldandroids/animation/KeyframeSet;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

redpajama_set_name: RedPajamaGithub


text:
module MQTTPipe
  module Types
    refine Float.singleton_class do
      def packer_code; 0xC7; end

      def from_packed _, raw
        Packer.read_packed_bytes 4, from: raw, as: 'e'
      end
    end

    refine Float do
      def to_packed
        [self.class.packer_code, self].pack 'Ce'
      end
    end
  end
end


text:
Versols-et-Lapeyre (okzitanisch: Verzòls e La Pèira) ist eine französische Gemeinde des Départements Aveyron in der Region Okzitanien (vor 2016: Midi-Pyrénées) mit  Einwohnern (Stand: ). Administrativ ist sie dem Kanton Saint-Affrique und dem Arrondissement Millau zugeteilt. Die Einwohner werden Lapeyrois und Versoliens genannt.

Geografie
Versols-et-Lapeyre liegt etwa 25 Kilometer südsüdwestlich von Millau und etwa 59 Kilometer südsüdöstlich von Rodez in der historischen Region der Rouergue. Umgeben wird Versols-et-Lapeyre von den Nachbargemeinden Saint-Affrique im Norden, Saint-Jean-et-Saint-Paul im Nordosten, Saint-Félix-de-Sorgues im Osten und Südosten sowie Gissac im Süden und Westen.

Bevölkerungsentwicklung

Sehenswürdigkeiten
 Dolmen
 Kirche Saint-Thomas
 frühere Kirche Saint-Roch aus dem 11. Jahrhundert, seit 1928 Monument historique
 Schloss Versols aus dem 15. Jahrhundert, Monument historique seit 1988
 Burg Montalègre aus dem 13. Jahrhundert, Monument historique seit 1978

Weblinks

Ort in Okzitanien

redpajama_set_name: RedPajamaWikipedia


Lavender essential oil is the most versatile and well-used of all the essential oils. It is a balancing oil and does tend towards sedating or calming. It may be used to treat irritability, depression, insomnia and nervous tension. It also has mild analgesic properties, which makes it beneficial for the treatment of headaches and all forms of muscular pains. Lavender is extremely useful in a variety of skin conditions and as a first-aid remedy. It can be used on burns and stings and may help dermatitis, eczema and acne.
Ingredients: unfractionated coconut oil (Cocos nucifera), olive oil (Olea europaea), beeswax (cera alba), vitamin E (tocopherol), lavender essential oil (Lavandula angustifolia).


text:
The Bruce Scribes
Scrupulous Scribbling for a Saner Society
The paradisiacal perils of entrepreneurship
By brucescribe Business, Economy
The enterprising East Coast
It's always cause for rueful amusement when a major Canadian financial institution expresses delighted surprise upon discovering that people in the Atlantic region are among the most entrepreneurially minded in the nation.
To hear the Bay Street bankers crow, you'd think they'd come across a family of duck-billed platypuses living in a corner office: Why looky here. . .a true wonder of nature, don't you know.
According to a recent missive from a spokesman for RBC, "When it comes to entrepreneurial spirit, Atlantic Canada leads the nation with 93 per cent of people expressing desire to work from themselves. That's much higher than the national average of 84 per cent."
The poll's findings continue in a news release: "Over half of Canadians (57 per cent) are entrepreneurs at heart and have thought of owning their own business, according to a recent RBC Small Business survey. While one-third (36 per cent) of Canadians who have thought of owning a business have actually started one, 84 per cent of those who have not started a business say they would rather work for themselves than for someone else."
Adds Sarah Adams, vice-president, Small Business, RBC, "Entrepreneurs play a key role in our economy by creating jobs, stimulating growth and encouraging innovation and creativity. They are the backbone of our economy so it's important that we provide them with the advice and support so that they can compete and be successful."
The research also finds that young people, age 18-34, are most inclined of any demographic group to at least "think" about starting a business; they are, however, the least likely to do so, thanks to empty-pocket syndrome? "In addition to lack of capital," the survey reports, "34 per cent did not know how to start and almost one-in-four (23 per cent) said they had too much debt, such as student loans."
What's more, "The survey also found that respondents who thought of owning a business had been engaged in entrepreneurial activities as children such as doing yard work (49 per cent), shoveling driveways (37 per cent), creating a lemonade stand (22 per cent), painting (22 percent), selling crafts that they had made (17 per cent) and walking dogs/pet sitting (13 per cent)."
Finally, "Of those who started their own business, 40 per cent saved their own money; 35 per cent started small or with a side business to test the waters; 28 per cent got moral or financial support from family/friends; and 21 per cent contacted a financial institution/accountant/lawyer."
As for the allegedly preternatural interest in small business and entrepreneurship in Atlantic Canada, it's not hard to understand. When jobs are scarce – as they have been on the East Coast for generations – you're often better off making one for yourself.
That's what I did, although my reasons weren't tinged with the desperation associated with sudden, involuntary unemployment.
I left the Big Smoke, and a good job working for a major national newspaper, some 25 years ago, of my own free will.
Somehow, coming back to the region where I was raised seemed to me to be the right move. The proposition of being my own boss amid a whole population of self-employed bosses was decidedly comforting. Besides, when a good deal of the people you meet are working for themselves, the networking opportunities are virtually endless.
Somebody once wrote that entrepreneurship is "the pursuit of opportunity without regard to resources currently controlled". That is to say, it's perilous – which is why, perhaps, it's much at home in Atlantic Canada, where we never go a day without risk.
Tagged entrepreneurship, RBC Small Business Survey
The life deeply lived
The hellaciously happy life of Marq de Villiers
When people are strange
Dave O'Connor gets the party started
ROCKET MAN: Will Canso become the next Cape Canaveral?
Arts Business Climate Communications Corporate Responsibility Culture Democracy Demographics Economy Education Employment Energy Environment Government Humour Idiocracy Law Media Municipal Affairs Oil and Gas Personal History Politics Science Security Society Technology Trade Uncategorized Wealth Workplace
Atlantic Canada Barack Obama Blaine Higgs Brian Gallant Canada CIA climate change Conference Board of Canada Corridor Resources Council of Atlantic Premiers David Alward David Campbell democracy Dominic Cardy Dominic LeBlanc Donald Savoie Donald Trump downtown events centre early childhood development Early Childhood Education economic development economics Energy East pipeline entrepreneurship environment Fair Elections Act fracking Frank McKenna global warming Globe and Mail government Government of Canada Greater Moncton greenhouse gas emissions Guysborough County health care HST hydraulic fracturing Immigration income inequality Innovation Jason Kenney Jim Flaherty Joe Oliver Justin Trudeau literacy marijuana Mike Duffy Moncton Moncton events centre natural resources New Brunswick New Brunswick debt New Brunswick deficit New Brunswick election 2014 New Brunswick Premier Brian Gallant Nigel Wright OECD oil sands Pamela Wallin Petitcodiac River Prime Minister Stephen Harper privacy recession Rob Ford Roger Melanson Saint John Senate of Canada shale gas Stephen Harper Supreme Court of Canada Technology The Atlantic Thomas Mulcair unemployment
© Alec Bruce and The Bruce Scribes 2013/2019. Unauthorized use and/or duplication of this material without express and written permission from this site's author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Alec Bruce and The Bruce Scribes with appropriate and specific direction to the original content.

redpajama_set_name: RedPajamaCommonCrawl


the village church she'd robbed in another lifetime.
considering… What more can you ask of a person?
her white head pendent, if I should have a child.
—in for a penny, in for a pound.
to yoke our fears and fantasies; go for broke.


Tech Session – CANCELLED !!
This unique Tech Session will involve putting a "Jumbo" engine to work to make something really 'Cool'.
If that's not enough to get you there, the draw of seeing a well-organized, orderly, well equipped garage should be. Use a trip to Glenn and Julie Stephens as a goal setting session for your own garage.


text:
sanpedroarts.org
Cover letter of excellence
Write a speech
What Is Annotated Bibliography – What Does it Serve?
Let's start with parts, defining and explaining what each term means.
Bibliography – Often called a "list of works cited" or "list of references", the bibliography is a list, usually found at the end of the work, which displays all the sources used in your work. In this list, you can have websites, books, newspapers, magazines or other types of sources.
Annotated Bibliography – Also known as Annotated Bibliography, is a list of citations from books, articles, and documents that you used to search for your topic. Each citation, or source in the list, is followed by a brief descriptive and evaluative paragraph (four to five sentences, usually about 150 words), which may also include its relevance to the topic. This paragraph corresponds to the annotation. The aim of the annotation is to inform the reader of the relevance, accuracy and quality of the cited sources. It should provide a clear indication of the relevance, accuracy, and quality of each source.
Almost all academic papers require you to validate the information provided and its sources. This task is done through direct and indirect citations. Each listed source, also called a "citation", shares information about the author, title, year of publication, and other items. Citations are provided so that others can find the sources by themselves if they want to research more about the subject.
It may happen that your teacher asks you to include an annotated bibliography. This type of bibliography includes three items for each source:
The quote
A brief summary of the source
Your personal thoughts and understanding about information
Annotations Versus Summaries
The abstract is a purely descriptive condensation, often found at the beginning of scholarly articles or periodic indexes.
The annotations are descriptive and critical. They can describe the author's point of view, authority, or clarity and appropriateness of expression.
How to Make Annotated Bibliography
How you will build your annotated bibliography will depend on the policy you are applying for. Your teacher should tell you whether you should use the ABNT, APA, MLA or other style.
Initial Process:
The creation of an annotated bibliography requires the application of a series of intellectual abilities: concise exposition, succinct analysis and informed research.
First, locate and record quotes from books, journals, and documents that may contain useful information and ideas about your topic. Briefly review and review items of interest. Then choose the papers that provide a variety of perspectives on your topic.
Cite the book, article, or document using the appropriate style.
Write a concise note that summarizes the central theme and scope of the book or article. Include one or more sentences that:
assess the author's authority or experience
comment the audience
compare or contrast this work with another you cited, or
your topic of bibliography
Create the quote in the requested style
Write a few sentences summarizing the source. What does it mean? What was the main point?
Was the source useful for your specific case? How did she help answer your research questions? How was this font different from the other fonts used? Has the source changed your thinking about the research topic? How did the source affect you?
Respect the formatting of the citation according to the regulations (author's last name, work name, date, page, etc.)
Citations are listed alphabetically – Format your work according to the guidelines. If there is no mandatory organization, you can order in several ways:
Chronologically (date of publication or time when the subject was discussed, etc.)
By format (book, article, website, etc.)
By subtopic
Remember if:
Summary / Description – provides a concise overview of the main arguments, evidence presented and conclusions
Critique / evaluation – in addition to providing an overview, it analyzes the content; comments on the strengths and weaknesses of the arguments, evidence and conclusions; explains the usefulness of the source for your research topic.
Combination – Most bibliographic work requires you to include an overview and evaluative comments.
General orientations
Carefully read the instructions given by your teacher. If you still have questions, check with your teacher about the type of annotated bibliography that is required. Always follow the rules of the style guide (ABNT, APA, MLA, Chicago, etc.) that is indicated in the course assignment instructions; The style guide will detail what information should be included for each font type and how it should be formatted.
Examples of Annotated Bibliography
Descriptive type summary (in APA style)
Sampson, R.J., Raudenbush, S.W., & Earls, F. (1997). Neighborhoods and violent crimes: a multilevel study of collective efficacy. Science, 277, 918-924.
Analysis of the data collected by the Chicago Neighborhoods Human Development Project indicates that, while racial and socioeconomic inequalities are relevant factors, they are not the singular or primary influences on neighborhood crime. The findings suggest that violence in the neighborhood is predicted by measures of informal social control, social cohesion, and confidence and perceptions of violence. Consistent with the social organization model, collective effectiveness is shown to mediate the influence of residential stability on predicting neighborhood violence.
Note: The above example is taken from:
Brossoie, N., Graham, B., & Lee, S. (2005). Families and communities: an annotated bibliography. Family Relations: Interdisciplinary Journal of Applied Family Studies, 54 (5), 666-675. Doi: 10.1111 / j.1741-3729.2005.00350.x
Example for a magazine article
This example uses the APA style for the journal citation:
Waite, L.J., Goldschneider, F.K., & Witsberger, C. (1986). Unfamiliar life and erosion of traditional family orientations among young adults. American Sociological Review, 51, 541-554.
Authors, researchers from the Rand Corporation and Brown University, use data from the National Longitudinal Surveys of Young Women to test the hypothesis that the unfamiliar life of young adults alters their attitudes, values, plans and expectations away from their beliefs in traditional sexual roles. They find their hypothesis strongly supported in young women, while the effects were smaller in studies of young males. Increase time away from parents before marrying increased individualism, self-sufficiency, and changes in attitudes about families. In contrast, an earlier Williams study cited below does not show significant gender differences in sexual role attitudes as a result of unfamiliar life.
This example uses the MLA style for the journal citation:
Waite, Linda J., et al. "Unfamiliar life and erosion of traditional family orientations among young adults." American Sociological Review, vol. 51, no. 4, 1986, pp. 541-554.
Do not Forget References
Each time you quote or refer to another person's work in your role, you must identify the source with a reference number. These numbers appear in the list of references consecutively, in the same order as they appear in the text. Once a source is mentioned, the same number is used in all subsequent references. No distinction is made between printed reference and electronic reference when quoting within the text.
The reference number is overwritten after the end point if it is at the end of a sentence or after a comma if it is in the middle of a sentence. If you are citing the same source again, use the same reference number – "This was demonstrated by Smith," but not by Jones. ² "


text:
Joni Mitchell, 'Cactus Tree'
by Jeff Meshel
jmeshel.com
Joni Mitchell, Nashville, 1969 (Photo: Rod Pennington)
I often judge the quality of my state of mind in inverse proportion to the size of my New CDs folder - the larger it's grown, the higher my stress level. Right now there's a debilitating 16 Mb in there. Ok, some of it I'll never get to (the 10-CD set of the Kronos Quartet, some Brazilian pre-bossa nova pop compilations); some I really should (36 CDs by artists I'll be seeing in two weeks at a jazz festival); some I will just out of compulsiveness and contrariness (Meredith Monk's 'extended vocals' - she's won two Guggenheim Fellowships, a MacArthur "Genius" Award, and she makes Yoko Ono sound like Diana Krall; Uri Caine's inexplicable but engaging reworking of Gustav Mahler's Jewish themes in a free jazz setting replete with hazanut and Three Blind Mice); and some I actually enjoy (my new infatuation, a 40-year old alto sax player/composer named David Binney, with his cohort pianist Edward Simon).
But when those 16 Mb become just too overwhelming (the pressure! the pressure!) I sometimes take refuge in an old, familiar friend. Which is what I've been doing for the past few days, Joni Mitchell's first album, "Song to a Seagull" (1968), especially the last song, 'Cactus Tree'.
Don't ask me why that song. Just because it's beautiful music.
Rebellious young Joni Anderson left Saskatoon, Saskatchewan at 21 for Toronto, to become a folk singer. She got pregnant, gave the baby away for adoption, married a folk singer named Chuck Mitchell, and began playing around Detroit and the East Coast. A prolific songwriter even then, a number of her songs were picked up in 1967 by well-known folkies - Tom Rush ('Urge for Going'), Judy Collins ('Both Sides Now', 'Michael from Mountains', 'Chelsea Morning'), Buffy Saint-Marie ('The Circle Game'), Fairport Convention ('Eastern Rain'). In early 1967 her marriage dissolved, and she moved by herself to New York City. David Crosby, recently expelled from The Byrds for overall weirdness, heard her singing in a club in Coconut Grove,Florida, and convinced lean and hungry Reprise Records to let him produce her in an acoustic album.
Joni Mitchell, 'Urge for Going', CBC, 1966
Joni Mitchell, 'Eastern Rain', England, 1967
What was brand new when her album was released? "The Notorious Byrd Brothers", "The Graduate" soundtrack, the first Blood, Sweat & Tears, Otis Redding's "Dock of the Bay", Vanilla Fudge's "The Beat Goes On", the Mothers of Invention's "We're Only In it For the Money", Dylan's "John Wesley Harding", Traffic's "Mr Fantasy", The Stones' "Their Satanic Majesties' Request", Laura Nyro's "Eli and the 13th Confession", Leonard Cohen's first album.
What excited me when I first saw "Song to a Seagull" on the shelf? Not the mother-earth hippie queen look (Judy Collins had already ruined that niche), not the music (I'd vaguely heard of 'Urge for Going', and Judy Collins' 'Both Sides Now' was cloyingly diabetes-inducing). It was the small print on the back of the album, Produced by David Crosby, Bass by Stephen Stills (the driving force behind the still-extant Buffalo Springfield). The best member of The Byrds collaborating with the best member of Buffalo Springfield? Both with a melodic, acoustic bent? Wow, that could be a really fruitful partnership. This was months before I read a blurb in Rolling Stone that the two of them were hanging out with an ex-Hollie, thinking of forming a new group. Of course, CS&N, together with Joni Mitchell, would soon form the core of a Laurel Canyon social and sexual circle which would produce some of the best music in the last half century.
Joni Mitchell & Johnny Cash, 'Long Black Veil' ("The Johnny Cash Show")
Joni Mitchell, 'Both Sides Now' (Johnny Cash Show)
I saw and met Joni Mitchell once - in Nashville, outside the Grand Ole Opry, on June 17, 1969, where I had driven with my friend and photographer (now author) Rod Pennington to see Bob Dylan make his first announced appearance in two full years, on The Johnny Cash Show. We were the only two long-hairs in the entire Confederacy. We were hanging around the artists' entrance when Joni drove up. I was virtually the only person in Tennessee who had ever heard of Dylan, let alone Joni Mitchell. I was chatting with her when The Man drove up. Rod tells me I jettisoned Joni in mid-sentence to run and catch a glimpse of the living legend, and that she looked rather hurt.
I'd like to take this opportunity to apologize in public, Joni. I hope and assume you've forgotten the incident.
But I've had a long and intense musical relationship with Joni for these 40-some years now. In each of the first eight years of her recording career she created a masterpiece. Some were love at first hearing, some took me even decades to embrace. One thing I've learned with Joni Mitchell - the more you focus and dig and concentrate and delve, the more you discover. You always get more than your money's worth.
"Song to a Seagull" is one of her more elusive albums. The next two albums, "Clouds" and "Ladies of the Canyon" were chock full of memorable songs - 'Both Sides Now', 'Chelsea Morning', '(He Sang Real Good) For Free', 'Woodstock', 'Big Yellow Taxi', 'The Circle Game'. But this first album had only three songs which reached out to grab even a serious listener, the first three cuts on the album, all energetic, melodic, thematically clear, accessible, even memorable. But then comes a series of six minor songs in minor keys. Then our SoTW, 'Cactus Tree', the last track, hiding behind that six-song string of bummers.
Live on the BBC, 1970: 'For Free', 'My Old Man', 'Chelsea Morning', 'Big Yellow Taxi', 'Cactus Tree':
The album is a series of thematically connected vignettes. The liner notes indicated that the 10 songs were divided into two cycles, "I Came to the City" and "Out of the City and Down to the Seaside". The auteur speaks in a clear, distinct voice throughout, spinning her tapestry of events and relationships in the cusp of freedom; her home and her child and her marriage, even her initial struggle for recognition left behind. Now she's in New York, she's getting acclaim, she's having relationships. Even the weak songs combine to give a rich picture of this life. 'Marcie' a solitary, anonymous young woman, lost in the city. 'Nathan La Franeer', her encounter with a rapacious cabbie. 'Sisotowbell Lane', an idyll of domestic bliss, replete with rocking chairs and curtains. Dawntreader, which sinks in the obscurity of "peridots and periwinkle blue medallions". 'The Pirate Of Penance', a seafaring allegory. 'Song to a Seagull', strong lyrically, but underdeveloped melodically.
Joni Mitchell's Website, videos by decade
Mama Cass, Mary Travers & Joni Mitchell – I Shall Be Released
But before them we have the three gems that open the album. 'I Had a King', a declaration of independence from her ex-husband, moving on with determination, without regrets or recriminations ("There's no one to blame/No there's no one to name as a traitor here"). It's immediately followed by 'Michael from Mountains' an exhilarating paean to new-found love, a beautiful, weaving melody, a stunning performance, a moving song. And then the best song on the album, 'Night in the City'. It's the only really produced song on the album, Joni on guitars, Joni on tinkly piano (the only cut to use a keyboard), a great vocal canon, Stills' knockout bass, giving an impetus to the mix that renders drums unnecessary.
Much of the little I understand of the female psyche I've learned from Joni Mitchell. I don't take her to be emblematic of Womanhood. She's an individual, with a unique vision of the world, but one that is profoundly female. She has thoughts and feelings and desires and disinclinations that seem to me engendered in that other side of the fence, visions and versions that would never cross my testeronic landscape.
'Cactus Tree' is a catalogue of her ex-lovers. She's new to the city, untethered and unbridled, liberated, exploiting to the fullest the sexual freedom just becoming available to the fairer sex circa the spring of 1968. The imagery is seaside hippie throughout, the schooners and the beads and the flowers and the harbors. And her endless list of lovers, almost bragging about her promiscuity.
The first three verses talk about one man each, him wanting her, her valuing her freedom too much to commit. Remarkably, she presents the view of the relationship through the men's eyes, not through her own. It's such a personal, intimate song - yet she chooses to spend most of it looking through the male eyes, perhaps to define her 'self' via her lovers.
At the beginning of the fourth verse, our narrator appears casually, almost obscured in the crowd of her lovers - "There's a lady in the city and she thinks she loves them all." 'Love', Joni? She has a genuine affection towards each and every one, albeit transient. But we're talking about a girl who knows how to have a good time. Every night, a new good time.
"She has brought them to her senses" - not 'brought them to their senses', because she's done the opposite, she's confused them. How has she done that? With her womanly passion, by making love to them, by taking them to her sensual place, the place of her senses. "They have laughed inside her laughter", profoundly intimate, but don't take it too seriously. "She rallies her defenses". You can come inside me, you can laugh with me inside me, but only for a little while. Then you have to go, because I have to go. "For she fears that one will ask her for eternity - and she's so busy being free."
"She will love them when she sees them," each and every one on his own terms. For the time that she sees him. Till she moves on. And if they try to hold her, they lose her. Don't forget, this was March, 1968 - the very dawn of the sexual revolution. Prior to this, women did not have sex outside marriage. Certainly not with innumerable partners. And they certainly didn't talk about it.
And then that evocative line, 'you know there may be more'. On the recorded version, there's catch in her voice - second thoughts? Regrets? Confession? It's certainly not 'matter-of-factual'. She has doubts about her butterflyness? The vestiges of her mother's moral system? Self-criticism that this is her limited and limiting modus operandi?
"She only means to please them". That's the key line for me. A man's ultimate goal is to achieve pleasure. A woman's ultimate goal is to give pleasure. It's hardwired into our brains and our psyches and our genitalia. But "Her heart is full and hollow like a cactus tree". Who knows if a cactus tree really is full and hollow? Go ask a botanist, but who cares? Joni knows, and that's all that matters.
Two years later, in this stunning performance on the BBC, there is no catch in her voice. But the melody is so melancholy. So what's the point? My gut tells me that she's undercutting the validity of the narrator's point of view, that we aren't meant to buy into it without reservation, that there's an implicit self-criticism, the speaker towards her life, Joni toward her song, the listener towards the work of art. That she's too busy being free. Joni's a consummate enough artist to work on that level of complexity. But that's certainly arguable here. Indeed, 43 years later, I continue to debate it with myself.
And this is just the first album. "And you know there may be more." Well, there were, another seven or so masterpieces. And her relationships deepened, and she got her very large heart broken. Over and over. And in her magnanimous femininity, she invites us in to partake of it all. She brings us to her senses. Thanks, Joni.
Added to Library on February 19, 2018. ( 3,580)
Comments on Joni Mitchell, 'Cactus Tree'


When you want to express your love on one person, you just give one kiss. Because a kiss express your affection, friendship, love, greeting, peace, passion. There are some types of kisses are given and taken from your lovable once. Kissing on lips is one type that expresses your love and affection. Not only people, birds and animals also kissing. Kissing between adults has lot of meanings. But the kisses between babies have only one meaning that is true pure expression of love. Here I will post some photographs about kisses between babies. When I see these photos I am pushed to my childhood days. Because that time only we are feel free without any tension. That times only the blind love form. This love causes lot of happy. All humans had the experience about this love. I hope you all like these photos and one second you will back to your childhood.


Based in the high-tech capital of the California Bay Area, the Arbor Dental Group provides dental care to a young and vibrant community bursting with families. This practice has made it their mission to provide excellent care in a comfortable and welcoming environment that will have their patients returning for years to come. To this end, they've developed a relaxing spa-like atmosphere to help make every visit to their office a pleasant one. When Optimized360 designed their custom dental website, we took steps to incorporate that feeling into their design to create a consistent flow of experience from website to the office.
The design of this website uses a clever combination of colors and style elements to present a website that gives authoritative air with a welcoming atmosphere. The first thing a visitor sees when they hit this website is the bright blue of the San Jose sky and a friendly blue button directing them to make an appointment. At the top of the page can be found a selection of services they offer as well as the phone number and social media links, encouraging efficiency of use and accessibility. Below are a series of young fresh faces representative of their community and the bright smiles Arbor Dental can help the visitor obtain.
When used in website design black provides an authoritative air, and in this specific presentation, it gives the reassuring and uplifting blue a distinct pop that draws in the eye. In areas where the practice's services are described on a black header with a white base is used to present the information to the client, blending professionalism and authority into a single and effective element. These colors serve to establish a narrative of excellent care with comfort and reliability.
There are two dreams being sold by the introduction to this website, the refreshing environment of the San Jose area and how amazing your smile can be in and around town. The logo is an incredible work art and compliments the rest of the website quite well, while the layout moving down the page provides clear, inviting links to the services offered by this facility. Once the visitor reaches the lower areas of the website, they find a scrolling list of testimonies along with additional links to social media accounts and organizations that the facility is endorsed by.
Laid back, but on the go, best describes the target audience of this website, an audience that will appreciate the immediate availability of an appointment form and phone number, as well as the direct links to Yelp where they can take advantage of crowd-sourced reviews.
Young, fresh, and in touch with the lifestyle of modern families, Arbor Dental Group's website is a beautiful piece of design with a strong eye to its target audience. The sharpness of the design helps to draw in visitors and keep them looking for information from this authority on dental care. The expanse of procedures ensures that they'll be able to make this their destination dental spot while the spa atmosphere will ensure they enjoy a comfortable and relaxed visit.


We are thrilled to bring you personalized pillows for your porch in adorable and trendy patterns by Clairebella! Do you have an outdoor space you need to spruce up this spring? Or maybe you are lucky enough to have a special get away spot that takes in the great outdoors like a lake house or a beach house! These personalized pillows are perfect for customizing your outdoor spaces.
You will love the vibrant colors of these Modern outdoor pillows available in three sizes depending on the statement you want to make. Available in 14, 16 or 18 inches square, they are mildew resistant and water resistant and made in a poly blend outdoor fabric.
We love to suggest these decorative pillows as a housewarming gift idea, for what could be better than a pillow custom created for the gift recipient in their colors for under $50. This red pillow below is done in Clairebella's diamonds pattern with just a single initial monogram.
Choose from dozens of designer patterns, insert a monogram or a title for these pillows and it will be the best seat on the porch worth of a decorator magazine photograph!