text:
Q: Paypal Pro not working on Magento 1.2 I am facing one problem regarding Paypal Pro transaction ...
I am using PayFlow Pro method for my website payment i have entered all the information from admin panel but when i checkout (onnepage checkout) and click on place order button after filling my credit card information it show me "User authentication failed" error message and transaction failed there i have check innoDB support in my database also and there is no special char in my password still its not happening ...
anybody please help me out with this i have been tring this from past 4 days ...  :(

A: Magento 1.2 is a pretty old version of Magento.  I wouldn't be surprised if PayPal has sunset and/or changed the API this version of Magento used.  Also, given Magento 1.2 was an early version of the platform, chances are your system has customizations which may be interfering with PayPal. It's also possible you have a credentials problem.  Sometimes a User authentication failed is just a user who failed to authenticate.
The right thing to do here would be update your client's store so they're running a modern piece of software.  If that's not feasible (i.e. you don't have the expertise needed and don't wish to develop it), then your only other option is to debug and fix the PayPal API requests.
Modern versions of Magento use the following payment module for Payflow Pro.
app/code/core/Mage/Paypal/Model/Payflowpro.php

I'm not sure if that's the case for Magento 1.2.  Look for classes in
app/code/core/Mage/Paypal

which extend Mage_Payment_Model_Method_Cc or Mage_Payment_Model_Method_Abstract.

redpajama_set_name: RedPajamaStackExchange


text:
Q: glossaries: \printindex with children and non-bold entries Let's consider a (slightly modified) example from Differences between "xindy" and "makeindex":
\documentclass{article}
\usepackage{fontspec}
\usepackage[danish]{babel}
\usepackage[index,style=indexgroup,xindy]{glossaries}
\makeglossaries
\newterm{ænder}
\newterm{zebra}
\newterm{aardvark}
\newterm[parent=ænder]{gråand}
\begin{document}
\Gls[format=textbf]{ænder}
\Gls{zebra}
\newpage
\Gls{aardvark}
\Gls{zebra}
\newpage
\Gls{zebra}
\Gls{ænder}
\Gls{aardvark}
\Gls{gråand}
\printindex
\end{document}

We save the above code as test.tex, run xelatex test && xindy -I xindy -L danish -C utf8 -M "test" -t "test.ilg" -o "test.ind" "test.idx" && xelatex test and get a fully bold index:

How to keep the headings bold but not the entries? In the example, we want normalfont "zebra", "ænder", "gråand", and "aardvark" on the last page instead of bold-faced entries. The headings "Indeks", "Z", "Æ", and "Å" should still be bold. Needless to say, we prefer a possibly clear, simple and automatic solution ;-).

A: I have checked in the log file and found that the bold font originates from the macro \glstreenamefmt, so to get rid of it we redefine
\renewcommand\glstreenamefmt[1]{#1}

Unfortunately, then the headings also lose the boldness, but we can put it back in using
\renewcommand\glstreegroupheaderfmt[1]{\textbf{#1}}

Full example:
\documentclass{article}
\usepackage{fontspec}
\usepackage[danish]{babel}
\usepackage[index,style=indexgroup,xindy]{glossaries}
\renewcommand\glstreenamefmt[1]{#1}
\renewcommand\glstreegroupheaderfmt[1]{\textbf{#1}}
\makeglossaries
\newterm{ænder}
\newterm{zebra}
\newterm{aardvark}
\newterm[parent=ænder]{gråand}
\begin{document}
\Gls[format=textbf]{ænder}
\Gls{zebra}
\newpage
\Gls{aardvark}
\Gls{zebra}
\newpage
\Gls{zebra}
\Gls{ænder}
\Gls{aardvark}
\Gls{gråand}
\printindex
\end{document}


text:
Q: Android не может найти класс в Google Play Console пишет такой сбой в ANR ошибках, не могу понять в чем причина и как это править.
Кто сталкивался с такой проблемой и решил ее напишите пожалуйста каким образом у вас это удалось.
Эта проблема на 30 устройствах, все они имеют Android 4.
java.lang.ClassNotFoundException

dalvik.system.BaseDexClassLoader.findClass

java.lang.RuntimeException:
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2264)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2390)
  at android.app.ActivityThread.access$800 (ActivityThread.java:151)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1321)
  at android.os.Handler.dispatchMessage (Handler.java:110)
  at android.os.Looper.loop (Looper.java:193)
  at android.app.ActivityThread.main (ActivityThread.java:5292)
  at java.lang.reflect.Method.invokeNative (Native Method)
  at java.lang.reflect.Method.invoke (Method.java:515)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:824)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:640)
  at dalvik.system.NativeStart.main (Native Method)
Caused by: java.lang.ClassNotFoundException:
  at dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56)
  at java.lang.ClassLoader.loadClass (ClassLoader.java:497)
  at java.lang.ClassLoader.loadClass (ClassLoader.java:457)
  at android.app.Instrumentation.newActivity (Instrumentation.java:1061)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2255


text:
Q: Adding random coloring variable to styling textlinks using Jquery As the title says i'm trying to style all my textlinks to a random coloring variable using jquery.
For the last few days i get the random color variable up and running but i can't "connect" it to my css stylesheet or create script to have all the links the color of my random color variable.
i'm also trying to style the overall textlink styling like removing an underscore, might be super easy but it got me up the last 2 nights....
see here my variable:
$(function(){
    //col's voor random color balkon
    var col = 'rgb('+ (Math.floor(Math.random()*256)) +',' + (Math.floor(Math.random()*256)) + ','+(Math.floor(Math.random()*256))+')';

my script:
$("a") .add("a") .css("color", "col");

A: Isn't "col" your variable? Also why the .add("a"), doesn't the links already exists? If so, you should use it like so:
$("a").css("color", col);

As for your other question, I'm not too sure what you're asking.

A: Removing link underscoring
In your CSS file you can put:
a { text-decoration: none; }

Add Colour To Links
To colour all your links differently, use:
$(document).ready(function () {
  $('a').each(function() {
     var col = 'rgb('+ (Math.floor(Math.random()*256)) +',' + (Math.floor(Math.random()*256)) + ','+(Math.floor(Math.random()*256))+')';
     $(this).css('color', col);
    });
});

If you would prefer to have all your links 1 colour chosen at random, use jValdron's example:
$("a").css("color", col);

Removing underscore and random color links
If you don't want to put the link underscore removal in an external css file or at the top in <style></style> tags, you can add it to the above function:
$(document).ready(function () {
    $('a').each(function() {
        var col = 'rgb('+ (Math.floor(Math.random()*256)) +',' + (Math.floor(Math.random()*256)) + ','+(Math.floor(Math.random()*256))+')';
        $(this).css('color', col);
        $(this).css('text-decoration', none);
    });
});


text:
Q: 1 field have multiple values in solr how to define.? I want to store product specification attirbutes in solr.but how i don't know?
for example 1 product have scree-size , weight , colour etc
and other product have only weight , ram , memory
so how i can make schema.xml for store this.
please give me idea or hint.
Regards.

A: You can define them all in the schema, without setting them as 'required' fields.


text:
Q: JSP include page. Pass back the parameter to the caller I have a jsp file. on that jsp file i have a variable let say an integer. so i would like to call another jsp file and pass this integer variable to the file. then after the called file finish executing, i will pass back the parameter to  the caller file. example:
        int count = 0;
        .
        .
        .
        .
        <jsp:include page="anotherfile.jsp">
            <jsp:param name="count" value='<%=count%>'
        </jsp:include>
        .
        .
        out.println(count);

now, anotherfile.jsp will do its process and change the value of count variable. then the caller will output the count.
Note: using <%@ include page="anotherfile.jsp" %> to call the file is not an option now because it will cause exceeding the 65535 bytes limit error to occur
Please help


text:
Q: What was the motivation behind the fraction ideal's name? The fraction ideal is the ideal
$$(I:J)=\{x\in R:xJ\subseteq I\}$$where $I, J$ are ideals in $R$.
My question is, why is it called a fraction ideal? (Sometimes it is called the "Ideal quotient of $I$ by $J$".) After learning about the isomorphism theorems, I kind of see why the quotient ring is called that. Correct me if I am wrong, but we are, in a way, dividing by the ideal, taking representatives from the ring.
I understand how the fraction ideal is defined, but I do not see how this fraction ideal is analogous to a fraction.


text:
Q: Unchecked overriding (well, I seem to need my generics method) I've got generic interface Operand:
public interface Operand<T extends Operand<T>> {
    T add(Operand<T> op);
    T sub(Operand<T> op);
    T mul(Operand<T> op);
    T div(Operand<T> op);
}

which is implemented by 2 classes:
public class DoubleOperand implements Operand<DoubleOperand> {
    ...
}

public class RationalOperand implements Operand<RationalOperand> {
    ...
}

I've written "factory" interface implemented by DoubleOperandFactory and RationalOperandFactory classes:
public interface OperandFactory {
    <T extends Operand<T>> Operand<T> valueOf(String s);
}

public class DoubleOperandFactory implements OperandFactory{
    @Override
    public Operand<DoubleOperand> valueOf(String s) { ... }
}

public class RationalOperandFactory implements OperandFactory {
    @Override
    public Operand<RationalOperand> valueOf(String s) { ... }
}

In my program I use an enum which objects store instance of the particular Factory:
public enum OperandType {
    DOUBLE(new DoubleOperandFactory()), RATIONAL(new RationalOperandFactory());
    private OperandFactory fact;
    OperandType(OperandFactory fact){ this.fact = fact; }
    public OperandFactory getFact() { return fact; }
}

Now I'm getting message warning "Unchecked overriding" on both factory classes, due to unchecked conversion and I'm pretty confused about this. First thing which I tried is (as it was most commonly answered here in similar topics) to replace generic method with generic factory interface, but finally it turns into impossibility to use them with the enum which should return particular factory, without <?>, as I have to create a List of operands (of generic type T extends Operand<T> for now)  and fill it with the objects produced by selected factory. What would be the best way to reorganize this code?

A: public interface OperandFactory {
    <T extends Operand<T>> Operand<T> valueOf(String s);
}

This interface does not do what you think it does.
This interface advertises that an instance of it can generate any type of operand you want.  It doesn't just generate one particular kind of operand.  It generates all of them.
This is not what you actually have.
What you need instead is
 public interface OperandFactory<T extends Operand<T>> {
    T valueOf(String s);
 }

...and then to give up on the enum, because you can't have enums that have different types in them like that.  That's just not a thing you're allowed to do in Java.


text:
Q: Can a Tri-State buffer be used with AC signals? I'm trying to switch an analog audio line from its given channel to analog ground when a specific line goes low (in this case, the DACs charge pump goes low when it shuts down).
Would a tri-state buffer degrade or in anyway impact the AC signal going from the A side to the Y side?

A: No, there are specialised "analogue switch" ICs for this.

A: Any digital logic part will seriously distort an analog audio signal.
A digital gate will only output either a logic High or a logic Low, with nothing in between, while an analog signal must smoothly vary between its positive and negative peaks.


text:
Q: Can not read property 'prototype' of null bing maps and Angular4 i am trying to make and bing component in angular 4 and it wont let me render the map at all..
This is my index.html file:
<!doctype html>

  <meta charset="utf-8">
  <title>Microsoft</title>
  <base href="/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">

  <app-root></app-root>

this is my component:
 export class AppComponent implements OnInit {
  @ViewChild('myMap') myMap;
  title = 'app';

  ngOnInit() {
    if(Microsoft !== undefined){
    var map = new Microsoft.Maps.Map(this.myMap.nativeElement, {
      credentials: 'key goes here'
    });
  }}
}

component HTML File:

I don't know what i am doing wrong. but i can't get the map to load. it's throwing can not read property 'prototype' of null error.

A: At the time ngOnInit() is executed, #myMap doesn't exists, so move the code to   ngAfterViewChecked().

A: Elements queried with the @ViewChild decorator aren't available until the ngAfterViewInit() lifecycle check is ran. They will be undefined in ngOnInit(). Try moving that declaration to
ngAfterViewInit() {
  if(Microsoft !== undefined){
    var map = new Microsoft.Maps.Map(this.myMap.nativeElement, {
    credentials: 'key goes here'
    });
 }
}

Although I don't see in your code where the 'Microsoft' object is being defined. Are you importing that separately and you just didn't include it?

A: I finally figured it out. well, its actually my colleague.
So the idea is to wait till the document is ready and then load the component.
So in the app component:
disclaimer: Do not copy this code, It will not work. I am just free handing here.
@Component({
    selector: 'app-root',
    template: '<bing-maps *ngIf="ready"></bing-maps'

})
export class app implements onInit {
ready: boolean;

constructor() {}
ngOnInit(){

document.onreadystatechange = () => {
     if(document.readyState === "complete"){
        this.ready = true
     }
   }

}

}

thats the idea, in the bing-maps component you you have the div with the id="myMap" and in its onInit() you give the credentials.


text:
Q: Parsing nested json to find value of an object I am trying to find the value of statement object in below json file.
I am trying below code but its erroring out.
import cx_Oracle
import json
import pandas as pd
f = open('test.json')
records = json.load(f)
pd.json_normalize(records, record_path = ['ddl'], meta =['op_type', 'op_ts','pos','xid'])

Above gives SyntaxError: invalid character ''' (U+2018).
test.json is as follows:
[
  {
    "op_type": "DDL",
    "op_ts": "2023-02-16T05:30:04.000Z",
    "pos": "G-AQAAAMQNAAAAAAAAAAAAAAAAAAAGAAoAAA==8057790.6.13.989",
    "xid": "0.6.13.989",
    "ddl": {
      "object": {
        "catalog": "",
        "schema": "TKGGU1",
        "object": "SRCTAB2"
      },
      "statement": "create table srctab2"
    }
  }
]

A: You're using the wrong quotes:
pd.json_normalize(records, record_path = ['ddl'], ...
                                          ^   ^
                                          |   |

Don't use ' and ' but use ' instead.
import cx_Oracle
import json
import pandas as pd

f = open('test.json')
records = json.load(f)
pd.json_normalize(records, record_path = ['ddl'], meta =['op_type', 'op_ts', 'pos', 'xid'])


text:
Q: Get time of missed call from Skype for Business? I'm a long time user of Skype-for-not-business and am used to getting good info about missed calls.
More recently we've started using Skype for Business (out of necessity to work with clients) and when I miss a call will, it just shows the date of the call, but no time.
How can I see the time of the call?


text:
Q: Get string length in pixels I have a layout that looks as follows:
|User Name      |      |
|email@mail.com | info |

And I need to set user's first name and second name if it fits into TextView and only first name if first name and second name is too long for current screen.
For example for "Tom Smith":
|Tom Smith      |      |
|email@mail.com | info |

and for "Tom VeryVeryVeryLongSurname":
|Tom            |      |
|email@mail.com | info |

How can I get a name size with specified text size and compare it with TextView width?
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

        <TextView
            android:id="@+id/email"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>

    <TextView
        android:id="@+id/info"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="bottom"/>
</LinearLayout>

A: See TextPaint#getTextBounds method http://developer.android.com/reference/android/graphics/Paint.html#getTextBounds%28char[],%20int,%20int,%20android.graphics.Rect%29
And other from the TextPaint and Paint classes
Paint.html#measureText seems to be even more matching what you are looking for.
http://developer.android.com/reference/android/graphics/Paint.html#measureText%28java.lang.CharSequence,%20int,%20int%29
Anyway look at the android.graphics.Paint class.


text:
Q: Sequelize: Unique validation with soft deleted registers I'm using sequelize, my model 'users', has a field 'email' that has the unique validation.
But when i try to create a new register using the same email of a old register soft deleted, the validation triggers and not allow me to continue.
Is this a bug, the unique validation need a specific parameter for that or it is supposed to work this way?
Email on model:
email: {
    type: Sequelize.STRING(191),
    allowNull: false,
    unique: {
       msg: 'Email já cadastrado.'
    },
    validate: {
       isEmail: {
           msg: 'Formato de email inválido.'
       },
       notEmpty:{
           msg: 'Email deve ser informado.'
       }
    }
}

The version of sequelize i'm using is: 4.17.2

A: This is not a bug - it is enforcing a unique index on the database table. A "soft" delete just marks the record as deleted (isDeleted=true for example) but it is not actually removed from the database table. Assuming the database did allow you to create a duplicate value in the unique column, this would then cause a problem if you ever un-deleted the soft-deleted item with the conflicting name.
The functionality it seems you are going for is possible, but you will need to enforce the logic programmatically in your app rather than at the database level.


text:
Q: Pass QQmlListProperty from QML to C++ as parameter I have a QML ProviderItem that has objects property returning list of QObject-derived objects.
I want to pass this list to another QML ConsumerItem as property for its function consumeAll. The problem is that I always get empty QQmlListProperty with all callback functions set to 0 and data pointer set to 0 (I think these are default-constructed values)
Something like this:
ProviderItem.h
class ProviderItem : public QObject, public QQmlParserStatus
{
    Q_OBJECT
public:
    Q_PROPERTY(QQmlListProperty<QObject> objects READ objects NOTIFY objectsChanged)

    QQmlListProperty<QObject> objects();
    static int objects_count(QQmlListProperty<QObject> *);
    static QObject* objects_at(QQmlListProperty<QObject> *, int);

private:
    QList<QObject*> m_objects;
}

ProviderItem.cpp
QQmlListProperty<QObject> ProviderItemPrivate::objects()
{
    return QQmlListProperty<QObject>(this, nullptr,
         ProviderItem::objects_count,
         ProviderItem::objects_at);
}

QObject* ProviderItem::objects_at(QQmlListProperty<QObject> *prop, int index)
{
    ProviderItem* provider = qobject_cast<ProviderItem*>(prop->object)
    return provider->m_objects.at(index);
}

int ProviderItem::objects_count(QQmlListProperty<QObject> *prop)
{
    ProviderItem* provider = qobject_cast<ProviderItem*>(prop->object)
    return provider->m_objects.count();
}

ConsumerItem.h
class ConsumerItem: public QObject
{
    Q_OBJECT
public:
    Q_INVOKABLE void consumeAll(QQmlListProperty<QObject> obj);
};

ConsumerItem.cpp
void ConsumerItem::consumeAll(QQmlListProperty<QObject> obj)
{
    qDebug() << obj.count(); // thows exeption as count callback is 0
}

main.qml
Provider {
    id: objectProvider
}

Consumer {
    id: objectConsumer
}

Connections {
    target: objectProvider
    onObjectsChanged: {
        console.debug(objectProvider.objects)        // gives [object Object]
        objectConsumer.consumeAll(objectProvider.objects)

        var test = objectProvider.objects
        console.debug(test)                          // gives [object Object]
        Thermonav.testList(objectProvider.objects)
    }
}

Obviously ProviderItem and ConsumerItem are registered:
main.cpp
qmlRegisterType<ProviderItem>(uri, major, minor, "Provider");
qmlRegisterType<ConsumerItem>(uri, major, minor, "Consumer");

I have also tried:
Q_INVOKABLE void consumeAll(QVariantMap obj);
Q_INVOKABLE void consumeAll(QQmlListProperty<QObject> obj);
Q_INVOKABLE void consumeAll(void* p);
Q_INVOKABLE void consumeAll(QVariant p);

but every time I get default-costructed values.
According to this article:

When integrating with C++, note that any QQmlListProperty value passed into QML from C++ is automatically converted into a list value, and vice-versa.

so output in qml [object Object] looks legit to me, as "list" is not js data type. But it also says that QML list should be converted back in QQmlListProperty that definitely not working for me (or I am doing it wrong).
I am using Qt 5.12.0
So how do I pass QQmlListProperty created in C++ to QML list and then to QQmlListProperty in C++?

A: If you use QVariant and print:
class ConsumerItem: public QObject
{
    Q_OBJECT
public:
    using QObject::QObject;
    Q_INVOKABLE void consumeAll(QVariant objects){
        qDebug() << objects;
    }
};

You get:
QVariant(QQmlListReference, )

So the solution is to use QQmlListReference:
class ConsumerItem: public QObject
{
    Q_OBJECT
public:
    using QObject::QObject;
    Q_INVOKABLE void consumeAll(const QQmlListReference & objects){
        qDebug() << objects.count();
    }
};

Complete code:
main.cpp
#include <QtQml>
#include <QtGui>
class Product: public QObject{
    Q_OBJECT
    Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
public:
    Product(const QString & name="", QObject* parent=nullptr):
        QObject(parent), m_name(name){}
    QString name() const{return m_name;}
    void setName(const QString &name){
        if(m_name == name) return;
        m_name = name;
        Q_EMIT nameChanged(m_name);
    }
    Q_SIGNAL void nameChanged(const QString &);
private:
    QString m_name;
};

class ProviderItem: public QObject{
    Q_OBJECT
    Q_PROPERTY(QQmlListProperty<Product> products READ products NOTIFY productsChanged)
public:
    using QObject::QObject;
    QQmlListProperty<Product> products(){
        return QQmlListProperty<Product>(this, this,
                                         &ProviderItem::appendProduct,
                                         &ProviderItem::productCount,
                                         &ProviderItem::product,
                                         &ProviderItem::clearProducts);
    }
    void appendProduct(Product* p) {
        m_products.append(p);
        Q_EMIT productsChanged();
    }
    int productCount() const{return m_products.count();}
    Product *product(int index) const{ return m_products.at(index);}
    void clearProducts() {
        m_products.clear();
        Q_EMIT productsChanged();
    }
    Q_SIGNAL void productsChanged();
private:
    static void appendProduct(QQmlListProperty<Product>* list, Product* p) {
        reinterpret_cast<ProviderItem* >(list->data)->appendProduct(p);
    }
    static void clearProducts(QQmlListProperty<Product>* list) {
        reinterpret_cast<ProviderItem* >(list->data)->clearProducts();
    }
    static Product* product(QQmlListProperty<Product>* list, int i) {
        return reinterpret_cast<ProviderItem* >(list->data)->product(i);
    }
    static int productCount(QQmlListProperty<Product>* list) {
        return reinterpret_cast<ProviderItem* >(list->data)->productCount();
    }
    QVector<Product *> m_products;
};

class ConsumerItem: public QObject
{
    Q_OBJECT
public:
    using QObject::QObject;
    Q_INVOKABLE void consumeAll(const QQmlListReference & products){
        for(int i=0; i<products.count(); ++i){
            if(Product *product = qobject_cast<Product *>(products.at(i))){
                qDebug()<< product->name();
            }
        }
    }
};

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QGuiApplication app(argc, argv);
    qmlRegisterType<Product>("foo", 1, 0, "Product");
    qmlRegisterType<ProviderItem>("foo", 1, 0, "Provider");
    qmlRegisterType<ConsumerItem>("foo", 1, 0, "Consumer");
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;
    return app.exec();
}
#include "main.moc"

main.qml
import QtQuick 2.9
import QtQuick.Window 2.2
import foo 1.0

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")
    function create_product(){
        var product = Qt.createQmlObject('import foo 1.0; Product {}',
                                         provider,
                                         "dynamicSnippet1");
        product.name = "product"+provider.products.length;
        provider.products.push(product)
    }
    Timer {
        interval: 1000; running: true; repeat: true
        onTriggered: create_product()
    }
    Provider{
        id: provider
        onProductsChanged: consumer.consumeAll(provider.products)
        products: [
            Product{name: "product0"},
            Product{name: "product1"},
            Product{name: "product2"}
        ]
    }
    Consumer{
        id: consumer
    }
}


text:
Q: Are the Black Terror and Knight-Wing based on any pre-existing fictional superheroes? I just read the short story "The Black Terror Rides Again" by Thaddeus Howze. It's just a few-minutes read and much more interesting if you learn about the characters bit by bit through the story, so do go and read it before checking this spoilertag:

 There was once a superhero called the Black Terror, with his sidekick/son Knight-Wing, who was the scourge of Chicago criminals for twenty years. Slowly his superhuman powers receded with age, and he became more ruthless and disproportionate. The Justice Legion recruited his son and he continued alone, until his son had to take him down as he'd become more of a supervillain than a superhero. Now both of them live together, but the Black Terror still wants to go out and fight crime, under his new guise as the Sand Man. The Justice Legion were never able to catch him and bring him in.

I don't know much about superhero fiction, all the Marvel and DC characters and so on, but Thaddeus Howze does. Did he base his characters in this story on some existing superheroes in the literature? Does this storyline bear some striking similarities to a specific Marvel/DC story, for example, or is it completely his own innovation?


text:
Q: Generics: why won't this compile? Given the following code:
class A<T>
{
  internal void Add(T obj) { }
}

class C { }

class B<T> where T : C
{
  public B()
  {
    A<T> a = new A<T>();
    a.Add(new C());
  }
}

The call to Add does not compile. It does when I cast it to T first:
a.Add((T)new C());

It might be the sleep deprivation, but what am I missing here?
If T is of type C (note the constraint on B), then why isn't A<T> equivalent to A<C>?

A: Because if B were declared with a type of D, which would be a class which extends C, then adding a new C would violate the type.

A: because T could be a subclass of C.
you can't add a Animal bob = new Fish() to a List<Giraffe>

A: A.Add() is expecting a T.  You're giving it a C.  This is okay as long as the compiler knows that a C is a T.
But that's not what your constraint says.  It only says that a T is a C, which is the opposite.


text:
Q: Task Scheduler IID_ILogonTrigger undefined I found a sample code from MSDN which triggers notepad.exe on user logon,
but as i'm trying to compile the program using g++ task.cpp -o task.exe -lole32 -loleaut32 -luuid
in this code block
ILogonTrigger *pLogonTrigger = NULL;
hr = pTrigger->QueryInterface(
        IID_ILogonTrigger, (void**) &pLogonTrigger );
pTrigger->Release();
if( FAILED(hr) )
{
    printf("\nQueryInterface call failed for ILogonTrigger: %x", hr );
    pRootFolder->Release();
    pTask->Release();
    CoUninitialize();
    return 1;
}

It says ILogonTrigger and IID_ILogonTrigger is not defined. I checked my header file and tried to swap with the once i got from other compilers, it got even worse. How to code it so that I can get the same user logon trigger ?
The err:
task.cpp:208:5: error: 'ILogonTrigger' was not declared in this scope
  208 |     ILogonTrigger *pLogonTrigger = NULL;
      |     ^~~~~~~~~~~~~
task.cpp:208:20: error: 'pLogonTrigger' was not declared in this scope; did you mean 'pTrigger'?
  208 |     ILogonTrigger *pLogonTrigger = NULL;
      |                    ^~~~~~~~~~~~~
      |                    pTrigger
task.cpp:210:13: error: 'IID_ILogonTrigger' was not declared in this scope; did you mean 'IID_ITaskTrigger'?
  210 |             IID_ILogonTrigger, (void**) &pLogonTrigger );
      |             ^~~~~~~~~~~~~~~~~
      |             IID_ITaskTrigger

this is my header file if it can help solve the problem.


text:
Q: How can i return List of directories instead of url's?
Possible Duplicate:
How can i get a string and return each time a string from array?

I have this function :
private List<string> getLinks(HtmlAgilityPack.HtmlDocument document)
        {

            List<string> mainLinks = new List<string>();
            var linkNodes = document.DocumentNode.SelectNodes("//a[@href]");
            if (linkNodes != null)
            {
                foreach (HtmlNode link in linkNodes)
                {
                    var href = link.Attributes["href"].Value;
                    if (href.StartsWith("http://") == true || href.StartsWith("https://") == true || href.StartsWith("www") == true) // filter for http
                    {
                        mainLinks.Add(href);
                    }
                }
            }

            return mainLinks;

        }

Its getting one url and return list of url's.
Instead i want that the function will get a directory for example c:\
And it will return me a List of all directories in c:\
Not subsirectories just the directories in c:\ in my case it should be a List with a 14 directories.
Meaning in each index in the List a directory.
How can i do it ? Tried with Directory and DirectoryInfo but i just got messed up.

A: The static method Directory.EnumerateDirectories(string path) returns
An enumerable collection of the full names (including paths) for the directories in the directory specified by path.

Source: MSDN
You can use the methods in the class Path to get the name of a directory, e.g. Path.GetDirectoryName(string path). Read the documentation carefully at MSDN.


text:
Q: discord.js v12 checking if a user starts streaming This works as intended till it crashes. Every time a users starts streaming, it posts their stream link.
The problem is that after like 5min the bot crashes and i get the error below.
let oldStreamingStatus = oldMember.activities.find(activity =>  activity.type  === 'STREAMING') ? true : false;
                                   ^
TypeError: Cannot read property 'activities' of undefined

my code below.
client.on('presenceUpdate', (oldMember, newMember) => {

let oldStreamingStatus = oldMember.activities.find(activity => activity.type === 'STREAMING') ? true : false;
let newStreamingStatus = newMember.activities.find(activity => activity.type === 'STREAMING') ? true : false;

if (oldStreamingStatus == newStreamingStatus) {
    return;
}

if (newStreamingStatus) {
    if (newMember.member.roles.cache.some(r => ["Raider","Trial"].includes(r.name))) {
        const activity = newMember.activities.find(activity => activity.type === 'STREAMING')
        // console.log(newMember.activities)
        client.channels.cache.get("731911793257087006").send(`Hey! ${activity.url} is streaming!`);
        return;
    } else
        return;
    }});

I tried this code below. But it posts another message if someone changes their activity or if they are currently STREAMING and then start LISTENING to Spotify.
  client.on("presenceUpdate", (oldPresence, newPresence) => {

  if (!newPresence.activities) return false;

  newPresence.activities.forEach(activity => {
    if (activity.type == "STREAMING") {
        console.log(`${newPresence.user.tag} is streaming at ${activity.url}.`);
       };
        });
   });

Seems like i need 10 reputation to post the pictures in the right way. I do apologize for that.

A: If we will follow the discord.js documentation we can see that 'oldMember' is optional:

And exception message says:

Cannot read property 'activities' of undefined

Add additional check :
client.on('presenceUpdate', (oldMember, newMember) => {
    if(!oldMember){
        //skip actions or get streaming status based only on newMember activities...
    }

before the rest of your code.


text:
Q: jQuery-ui: enabling disabled button doesn't restore event I have a problem: after enable button, it look like enabled but isn't clickable. (reloading page fix this problem, but i won't do it). Firstly, on (document).ready, i disable this button.
For enable i do:
$("#submit_order").attr('disabled', false).removeClass( 'ui-state-disabled' );

for disable:
$("#submit_order").attr('disabled', true).addClass( 'ui-state-disabled' );

HTML code:
<button id="submit_order">Send an order</button>

button jQuery code:
$( "#submit_order" )
    .button()
    .click(function() {
          $( "#dialog-form" ).dialog( "open" );
});

When i clicked this button after enabling, code above didn't invoke.

A: Yes, previous answers may work for you, but for me the events weren't firing when I "re-enabled" the button with .removeAttr("disabled") and using .removeClass("ui-state-disabled").
The official answer appears to be
$(".selector").button("option", "disabled", true);

to disable, and
$(".selector").button("option", "disabled", false);

to enable a jQueryUI button()
from http://jqueryui.com/demos/button/#option-disabled

A: When You are writing
$("#submit_order").attr(...)

it means that you use stanadard attributes.
You are inconsistent: once You are using mentioned above method, and another time you are writing:
$( "#submit_order" ).button().....

try this:
$("#submit_order").button().attr('disabled', false).removeClass( 'ui-state-disabled' );

$("#submit_order").button().attr('disabled', true).addClass( 'ui-state-disabled' );

A: As I remember jQueryUI extends jQuery library by providing different components where most of them have methods enable() and disable().
You may try alternative (IMHO more preferred) way:
$('#submit_order').button().enable();
   and
$('#submit_order').button().disable();

this will free Your mind from manual managing attributes - JQUI do this self.
This is powerful, because you may create buttons using different underlying elements (so that enabling and disabling them will use different methods)
ex. Standard button uses attribute disabled="disabled" (browser implementation - standard)
But button made from anchor doesn't support this at all.

A: To enable try like this:
$('#submit_order').removeAttr('disabled').removeClass('ui-state-disabled');

and to disable:
$('#submit_order').attr('disabled', 'disabled').addClass('ui-state-disabled');


text:
Q: Mixture / Union of Measures defined on disjoint subsets Suppose I have a partition of $\mathbb{R}^N$
$$
\mathbb{R}^N = \bigcup_{i \in \mathbb{R}} \mathcal{X}_i \qquad \qquad \text{with } \mathcal{X_i} \cap \mathcal{X}_j = \emptyset \text{ if } i \neq j
$$
and that for each value of $i\in\mathbb{R}^N$ I have a measure $\pi_i: \mathcal{X}_i \to [0, +\infty)$. Since all together the measures $\{\pi_i\}_{i\in \mathbb{R}}$ can "measure" the whole of $\mathbb{R}^N$, I would like to gather them together into one measure
$$
\pi: \mathbb{R}^N \to [0, +\infty)
$$
defined as
$$
\pi(A) = \sum_{i\in\mathbb{R}} \pi_i(A \cap \mathcal{X}_i)
$$

Does this measure $\pi$ have a name?(e.g. mixture/union of measures) Essentially I would like to be able to write something like this $\pi = \bigotimes_{i\in\mathbb{R}} \pi_i$, is this doable?

A: You are asking about a "sum" over the uncountable index set $\mathbb{R}$. This is problematical. If you think of the plane as the infinite disjoint union of a pencil of parallel lines, you cannot recover the area of a set from the area (measure) of its intersection with each of the lines by summing. You need an integral of some kind to formalize Cavalieri's principle.
I am sure this is discussed in the literature but I don't see immediately how to look up a reference.
Edit
Searches for measurable foliation and measurable fibration lead to some links that may be helpful (and many that are probably more technical that what you need).


text:
Q: JavaScript doesn't work inside of ng-view I've been trying to use JavaScript and jQuery to validate or to auto-fill forms inside ng-view.
I've read several articles like:
AngularJS ng-view not loading js
jquery bxslider is not working with templates inside ng view
Angularjs does not load scripts within ng-view
I have an app with has a master index page that display another page content through ng-view
page (A) - display data from the database.
page (b) - fill-out form page where I have my JavaScript and jQuery validation.
So far if I put jQuery after AngularJs my ng-view works and it displays data from the database correctly, but my JavaScript doesn't work. If I do the opposite, including jQuery before AngularJs, my javascript works but page (a) gets this error message:


text:
Q: Google maps class not working I have Google maps in my android application , On most of my android devices my google maps is working fine, but on one device it my google maps is not working.
My google maps class is:
public class Map extends  Activity {

    // Google Map
    private GoogleMap googleMap;
    Intent intent;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map);

        try {
            // Loading map
            initilizeMap();

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    /**
     * function to load map. If map is not created it will create it for you
     * */
    private void initilizeMap() {
          double latitude = 0 ;
          double longitude = 0;

        if (googleMap == null) {
            googleMap = ((MapFragment) getFragmentManager().findFragmentById(
                    R.id.map)).getMap();

            intent=getIntent();

            String location=intent.getStringExtra("location");

      /*      GPS gps = new GPS(this);
            if(gps.canGetLocation()){ // gps enabled} // return boolean true/false

           latitude=gps.getLatitude(); // returns latitude
           longitude=gps.getLongitude(); // returns longitude
            }
            */

        //  Toast.makeText(getApplicationContext(), location, Toast.LENGTH_LONG).show();
            String[] arr = location.split(" ", 2);
            latitude=Double.valueOf(arr[0]);
            longitude=Double.valueOf(arr[1]);

            //    googleMap.setMyLocationEnabled(true);
            // create marker
            MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude));

            // adding marker
            googleMap.addMarker(marker);
            CameraUpdate center=
                    CameraUpdateFactory.newLatLng(new LatLng(latitude,
                                                            longitude));
                CameraUpdate zoom=CameraUpdateFactory.zoomTo(15);

                googleMap.moveCamera(center);
                googleMap.animateCamera(zoom);

            // check if map is created successfully or not

            if (googleMap == null) {
                Toast.makeText(getApplicationContext(),
                        "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                        .show();
            }
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        initilizeMap();
    }

}

My logcat for this device is:
10-24 03:46:02.535: D/ActivityThread(3501): ACT-AM_ON_PAUSE_CALLED ActivityRecord{418378f0 token=android.os.BinderProxy@41837140 {soft.b.peopleassist/soft.b.peopleassist.Respond}}
10-24 03:46:02.546: D/ActivityThread(3501): ACT-PAUSE_ACTIVITY handled : 1 / android.os.BinderProxy@41837140
10-24 03:46:02.551: D/ThemeManager(3501): packageName=====soft.b.peopleassist
10-24 03:46:02.551: D/ThemeManager(3501): packageName=soft.b.peopleassist
10-24 03:46:02.551: D/RRR(3501): path=other/bottom/bottom7.png
10-24 03:46:02.553: D/ThemeManager(3501): sIconWidth=64----sIconHeight=64
10-24 03:46:02.555: D/ThemeManagerHH(3501): infoDrawable=72
10-24 03:46:02.589: W/GooglePlayServicesUtil(3501): Google Play services is missing.
10-24 03:46:02.590: W/GooglePlayServicesUtil(3501): Google Play services is missing.
10-24 03:46:02.593: W/GooglePlayServicesUtil(3501): Google Play services is missing.
10-24 03:46:02.596: W/GooglePlayServicesUtil(3501): Google Play services is missing.
10-24 03:46:02.598: W/GooglePlayServicesUtil(3501): Google Play services is missing.
10-24 03:46:02.603: W/GooglePlayServicesUtil(3501): Google Play services is missing.
10-24 03:46:02.605: W/System.err(3501): java.lang.NullPointerException
10-24 03:46:02.606: W/System.err(3501):     at soft.b.peopleassist.Map.initilizeMap(Map.java:76)
10-24 03:46:02.607: W/System.err(3501):     at soft.b.peopleassist.Map.onCreate(Map.java:30)
10-24 03:46:02.607: W/System.err(3501):     at android.app.Activity.performCreate(Activity.java:4510)
10-24 03:46:02.608: W/System.err(3501):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
10-24 03:46:02.609: W/System.err(3501):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2048)
10-24 03:46:02.609: W/System.err(3501):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2111)
10-24 03:46:02.610: W/System.err(3501):     at android.app.ActivityThread.access$600(ActivityThread.java:134)
10-24 03:46:02.610: W/System.err(3501):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1251)
10-24 03:46:02.610: W/System.err(3501):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-24 03:46:02.611: W/System.err(3501):     at android.os.Looper.loop(Looper.java:137)
10-24 03:46:02.612: W/System.err(3501):     at android.app.ActivityThread.main(ActivityThread.java:4666)
10-24 03:46:02.612: W/System.err(3501):     at java.lang.reflect.Method.invokeNative(Native Method)
10-24 03:46:02.613: W/System.err(3501):     at java.lang.reflect.Method.invoke(Method.java:511)
10-24 03:46:02.614: W/System.err(3501):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
10-24 03:46:02.614: W/System.err(3501):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
10-24 03:46:02.615: W/System.err(3501):     at dalvik.system.NativeStart.main(Native Method)
10-24 03:46:02.617: W/GooglePlayServicesUtil(3501): Google Play services is missing.
10-24 03:46:02.618: D/AndroidRuntime(3501): Shutting down VM
10-24 03:46:02.619: W/dalvikvm(3501): threadid=1: thread exiting with uncaught exception (group=0x40e61258)
10-24 03:46:02.624: E/AndroidRuntime(3501): FATAL EXCEPTION: main
10-24 03:46:02.624: E/AndroidRuntime(3501): java.lang.RuntimeException: Unable to resume activity {soft.b.peopleassist/soft.b.peopleassist.Map}: java.lang.NullPointerException
10-24 03:46:02.624: E/AndroidRuntime(3501):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2602)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2630)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2116)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at android.app.ActivityThread.access$600(ActivityThread.java:134)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1251)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at android.os.Looper.loop(Looper.java:137)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at android.app.ActivityThread.main(ActivityThread.java:4666)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at java.lang.reflect.Method.invokeNative(Native Method)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at java.lang.reflect.Method.invoke(Method.java:511)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at dalvik.system.NativeStart.main(Native Method)
10-24 03:46:02.624: E/AndroidRuntime(3501): Caused by: java.lang.NullPointerException
10-24 03:46:02.624: E/AndroidRuntime(3501):     at soft.b.peopleassist.Map.initilizeMap(Map.java:76)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at soft.b.peopleassist.Map.onResume(Map.java:98)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1159)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at android.app.Activity.performResume(Activity.java:4584)
10-24 03:46:02.624: E/AndroidRuntime(3501):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2588)
10-24 03:46:02.624: E/AndroidRuntime(3501):     ... 12 more

A: It is clear from the logcat that your device doesnt have google play services and since to use the map you need google play services that is why it crashes.
W/GooglePlayServicesUtil(3501): Google Play services is missing.

According to this, it is a well-known issue that many Gingerbread phones don't ship with Google Play Service, so instead you need to workaround it checking for installation on app startup, and safely tell the users that their devices doesnt support it or prevent these devices from download the apps in the market.
hope this can helped you around, and gave you a clue of what to do.

A: Before using google maps API , you need to check whether google play services are available on the device.
  public static boolean isGooglePlayServicesAvailable(SplashScreenActivity context) {
        int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(context);
        if (ConnectionResult.SUCCESS == status) {
            return true;
        } else {
            //GooglePlayServicesUtil.getErrorDialog(status, context, 0).show();
            return false;
        }
    }

If the google play services are not available, you can navigate the user to playstore to install google play services.
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id="+ GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE)));


text:
Q: Equals over String literal and String coming from NumberFormat fails due to different byte representation I was playing around with Java 9 with the prod code. And I found a couple of Formatting tests failing.
After some research, I was able to create a class to reproduce the issue. Which happens in Java 9 but not in Java 8.
The class is here
https://pastebin.com/87sA5WMb
import java.text.*;
import java.util.*;

public class FormatFails {
    public static void main(String... args){

        Currency currency = Currency.getInstance("EUR");
        NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(Locale.FRANCE);
        currencyFormatter.setMaximumFractionDigits(0);
        currencyFormatter.setMinimumFractionDigits(0);
        currencyFormatter.setCurrency(currency);

        String expected = "123 457 €";
        String obtained = currencyFormatter.format(123456.789);
        System.out.println(expected);
        System.out.println(obtained);
        System.out.println(expected.equals(obtained));

        System.out.format("Bytes from expected: %s\n",Arrays.toString(expected.getBytes()));
        System.out.format("Bytes from obtained: %s\n",Arrays.toString(obtained.getBytes()));
    }

}

Basically comparing 2 strings:

*

*An string literal and

*A formatted string in Locale.FRANCE produced using NumberFormat

Using equals on both fails, because of the following:
123 457 €
123 457 €
false
Bytes from expected: [49, 50, 51, -62, -96, 52, 53, 55, 32, -30, -126, -84]
Bytes from obtained: [49, 50, 51, -62, -96, 52, 53, 55, -62, -96, -30, -126, -84]

As you can see there are a different number of bytes and different representation. I don't know how to work around this and more important which is the change in Java9 that is affecting the code.
The result using plain old Java 8 is as follows:
123 457 €
123 457 €
true
Bytes from expected: [49, 50, 51, -62, -96, 52, 53, 55, 32, -30, -126, -84]
Bytes from obtained: [49, 50, 51, -62, -96, 52, 53, 55, 32, -30, -126, -84]

Java 9 version used
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)

which is the latest version available.

A: JDK 9 has moved to use CDLR locale data by default. Links to the JEP and more information on this can be found in the JDK 9 release notes (see http://jdk.java.net/9/release-notes#JDK-8008577). The release note and JEP document the system property can you can use to configure the JDK to use the legacy JRE locale data where needed.


text:
Q: Azure B2C Custom Policy + OpenID connect c# library I setup Azure B2C and a custom policy, in Azure portal it states the discovery endpoint is:
https://TENANT_NAME.b2clogin.com/TENANT_NAME.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1A_signup_signin
However, when setting it up via OpenId library (Microsoft.AspNetCore.Authentication.OpenIdConnect):
builder.AddOpenIdConnect(openIdProvider.IdentityProviderId, openIdProvider.IdentityProviderName,
options =>
{
    options.SignInScheme = Constants.SignInScheme;
    options.SignOutScheme = IdentityServerConstants.SignoutScheme;
    options.Authority = "https://TENANT_NAME.b2clogin.com/TENANT_NAME.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1A_signup_signin"
    options.ClientId = openIdProvider.OpenIdClientId;
    options.ClientSecret = openIdProvider.OpenIdClientSecret;
})

I get the following error:
InvalidOperationException: IDX20803: Unable to obtain configuration from: 'https://TENANT_NAME.b2clogin.com/TENANT_NAME.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1A_signup_signin/.well-known/openid-configuration'.
For some reason it's appending "/.well-known/openid-configuration", this work perfectly fine with Azure AD because I am not using a query string param. I assume the library is appending that string because the url doesn't end with "/.well-known/openid-configuration".
Is there a way to fix this? Or force OpenId to use the actual URL I specified?
Is there anyway to fix this? I have to use 2.2.0 (https://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.OpenIdConnect/2.2.0) of the library.

A: You can use the alternative url format which works well if you use "pure" OpenIdConnect.
// Authority
https://tenant_name.b2clogin.com/TENANT_NAME.onmicrosoft.com/B2C_1A_signup_signin/v2.0/

// OpenIdConnect Config URL
https://tenant_name.b2clogin.com/TENANT_NAME.onmicrosoft.com/B2C_1A_signup_signin/v2.0/.well-known/openid-configuration


text:
Q: What is ONLINE_JUDGE in most people code? Most of the people write this in their code.
What dose it mean?
what is the use of #ifndef.
#ifndef ONLINE_JUDGE
   freopen("E://ADpan//in.in", "r", stdin);
   freopen("E://ADpan//out.out", "w", stdout);
#endif

A: A cursory google search led to this post. To summarize: there are online coding competitions where predefined input is sent to stdin and expected on stdout. When testing and developing locally, some people prefer to hack their program to read from files instead, so they do not have to do something like
test_program < input | diff - expected_output

Finally, the ONLINE_JUDGE macro is defined in the competition environment, so that uses stdin/stdout, while a local compilation will not have that macro and thus read from those files.

A: This line of code is used by competitive programmers who code in a text editor instead of an  an IDE. By default the ONLINE_JUDGE constant is defined when submitting code in most online judges ex: codeforces or codechef. It helps the code to determine whether the code is being run on an online judge or on a local system machine. This line of code is used for the code to read & write from a file rather than stdin when running on a local machine as well as reading & writing from stdin and stdout, respectively when run in an online judge.

A: As a competitive programmer, this is something I use a lot. This means that during testing and implementation, you can do specific things - in this case, you are reading stdin and stdout from files to make debugging easier. When the code is compiled online and submitted, the ONLINE_JUDGE flag is set so that this doesn't run and they can use specific files to validate your program.

A: Regarding the first part of your question about freopen():
In competitive programming, many contests request input and output from standard input/output. However, some problems (for example, many of the USACO problems) require you to read and write from a file. The freopen() command is defined in the <stdio.h> header file and allows you to redirect the input/output streams to files. You can choose to read or write to a file, along with some other ways to manipulate the file like append. The documentation can be found here.
In order to answer the second part of your problem "what is #ifndef", you need to know a few things:

*

*The C++ preprocessor performs preliminary operations on the code before passing it to the compiler. For example, you can define certain shortcuts that make the programming process easier.

*The #include "filename" directive is replaced by the textual contents of the file. Files can include each other, for example, "Person1.h" can include "Person2.h" and vice versa.

*In C++, classes, and functions can only be defined once (except for overloads) in the whole program.

Now, to answer your question:
#ifndef is a preprocessor directive which stands for "if not defined" that is always paired with #define and #endif and usually acts as an include guard. This prevents situations where files include each other infinitely, or each define the same class/function twice, both of which will cause errors. For example:
//file "person1.h"
#include "person2.h"
#ifndef PERSON1_H
#define PERSON1_H
class Person {
    int age;
};
#endif

//file "person2.h"
#include "person1.h"
#ifndef PERSON2_H
#define PERSON2_H
class Person {
    int age;
};
#endif

If you didn't put #ifndef in the files above, then person1.h would replace the first line with the textual contents of person2.h, but notice that person2.h also has an #include person1.h which would create an infinite loop. In addition, you would also have the Person class defined twice, which is illegal.


text:
Q: How to bind divider position to pixels instead of percentage on SplitPanes in JavaFX? After resizing the window my SplitPane's divider moves to another position according to the given percentage (e.g.: dividerPositions="0.05").
But I want it to stay on the same position after resizing (like it was bound to pixel size and not percentage) where it was set before. I don't want it "move" (follow the percentage constraint) while resizing it's parent pane.
Is it possible to do this somehow?
(I would like to fix this preferably from code, the CSS solution is secondary for me)
The perfect solution for me would something be similar to this:
<SplitPane orientation="VERTICAL" dividerPositionFromTop="100px"
           AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
           AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" >
...
</SplitPane>

Where dividerPositionFromTop sadly does not exist by my knowledge.

A: You can add a listener to the heightProperty of your SplitPane and recalculate the percentage value:
SplitPane splitPane = new SplitPane();

splitPane.heightProperty().addListener(new ChangeListener<Number>() {
    @Override
    public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
        double height = splitPane.getHeight();
        double dividerPositionFromTop = 100;
        splitPane.setDividerPosition(0, dividerPositionFromTop/height);
    }
});
splitPane.getItems().addAll(new TextArea("1"), new TextArea("2"));
splitPane.setOrientation(Orientation.VERTICAL);


text:
Q: How to parse complex JSON object in Unity with C# ^--- For rebuttal of assertion that question is a mere duplicate, see Note at bottom.
spoiler: see bottom of question for final code based on carldevelopsforcoffee's accepted answer that works.
Original question:
I'm attempting to parse a complex JSON file (see below) using C# in Unity (2018.1, VS2015 if it matters) using UnityEngine.JsonUtility.FromJson(). The parser code is listed below.
The top-level variables (sweepIndex, totalRadials, etc) all parse fine into the Sweep object, but the 'radials' array appears to be getting skipped (the List of Radial objects in Sweep ends up null).
If it's not obvious from the JSON, it has the following structure:

*

*A top-level "Sweep" object with 13 simple values and an array of Radial objects.

*Each Radial object in the List has 4 simple values, and an array of doubles
Formatted JSON to illustrate structure:
(edited & truncated for clarity... full JSON is String in class below)
{"sweepIndex":0,
"totalRadials":720,
"beamWidth":0.949999988079071,
"startingUnixtime":1536864392000,
"endingUnixtime":1536863574000,
"totalGatesPerRay":1832,
"gateDepthMeters":250.0,
"distanceToFirstGateMeters":2125.0,
"meanElevationDeg":0.5275726318359375,
"originLatitude":33.989444444444445,
"originLongitude":-78.42888888888889,
"originAltitude":20.0,
"deviantOriginCount":0,
"radials": [
    {"radialNumber":0,"azimuthDeg":263.21319580078125,"elevationDeg":0.53009033203125,"duration":66521592,
        "gateIntensity":[-5.5,-1.0,1.0,3.0,13.5,-15.0,-13.0,-11.5,-10.5,-7.5]},
    {"radialNumber":1,"azimuthDeg":263.7432861328125,"elevationDeg":0.5328369140625,"duration":66521616,
        "gateIntensity":[-9.5,-1.0,-4.5,-2.5,5.0,-4.0,9.0,-8.5,-1.5,-9.0]}
]}

I'm the one generating the JSON file (using Netcdf-Java to inhale the raw level-2 radar data and spit it out as JSON for the Unity app to consume), so I could probably change the JSON if it made my life enormously easier... but I'd really prefer to not substantially change the overall structure (Sweep Object with array of Radial Objects with array of doubles).
The class:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;

namespace Assets.Scripts {
    public class RadarData {
        private String site;
        private Sweep sweep;

        public RadarData(String site) {
            this.site = site;
            String src = @"{""sweepIndex"":0,""totalRadials"":720,""beamWidth"":0.949999988079071,""startingUnixtime"":1536863321000,""endingUnixtime"":1536863574000,""totalGatesPerRay"":1832,""gateDepthMeters"":250.0,""distanceToFirstGateMeters"":2125.0,""meanElevationDeg"":0.5275726318359375,""originLatitude"":33.989444444444445,""originLongitude"":-78.42888888888889,""originAltitude"":20.0,""deviantOriginCount"":0,""radials"":[{""radialNumber"":0,""azimuthDeg"":263.21319580078125,""elevationDeg"":0.53009033203125,""duration"":66521592,""gateIntensity"":[-5.5,-1.0,1.0,3.0,13.5,-15.0,-13.0,-11.5,-10.5,-7.5,-5.0,-3.5,-2.0,-19.5,-13.5,-11.0,-9.0,-6.0,-6.0,-6.0,-6.5,-7.0,-3.5,-4.5,-5.5,-6.5,-13.0,-11.0,-9.5,-11.5,-11.5,-11.0,-10.5,-7.0,-5.0,-3.5,-10.5,-9.5,-9.0,-8.5,-1.0,-1.5,-2.5,-4.0,-6.0,-11.5,-5.5,6.5,-0.5,-10.0,-14.5,-2.5,9.5,5.0,11.0,-1.0,-4.0,-4.0,-4.5,-5.0,-6.0,-7.0,-1.0,6.0,-9.0,-5.5,-9.0,-3.5,3.5,-0.5,14.0,-7.0,14.5,7.0,13.5,0.0,3.0,-6.0,-9.0,-1.5,-0.5,-2.5,2.5,2.0,1.0,0.0,-1.0,-0.5,-3.5,-2.5,5.5,1.5,2.0,-4.5,-7.5,-4.0,-2.0,-2.0,-2.0,-2.0,-2.0,-0.5,0.0,3.5,-8.0,-3.5,-2.5,4.5,-5.0,-2.5,-1.0,-2.0,-2.5,4.5,-3.5,1.5,-6.5,-4.5,-6.5,1.0,-2.5,-2.5,-1.5,-2.0,-0.5,-4.0,1.0,-2.5,-2.0,-5.0,1.5,3.5,2.0,-6.5,2.5,5.0,1.0,4.0,-2.5,-4.5,2.5,-5.5,2.0,-3.5,0.5,0.0,-0.5,3.0,6.5,-7.0,-2.0,0.5,-1.0,3.0,2.0,-1.0,3.0,1.0,1.5,-1.0,-1.0,5.0,-1.0,2.5,-5.0,-2.0,-7.5,5.5,0.0,-1.5,2.5,2.0,2.5,4.5,1.0,-1.5,3.5,1.5,2.5,5.0,-4.0,0.5,-1.0,6.0,3.0,2.0,5.0,-2.0,-1.5,5.5,5.0,4.0,3.5,2.5,1.5,1.5,-1.5,2.5,-2.0,0.5,-1.0,-1.0,-1.0,0.5,-2.5,0.0,-1.5,-0.5,0.5,3.0,0.5,0.5,-3.0,-2.5,-2.0,-2.0,-1.5,0.5,-4.5,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-3.0,-2.0,-4.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-2.5,-3.0,-1.0,0.5,-1.5,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,0.5,2.0,-3.0,-1.0,-1.5,-3.5,-2.0,-1.0,-1.0,-2.0,-1.0,-1.0,-1.0,-1.0,0.5,-1.5,1.5,-1.0,-1.0,-1.0,-0.5,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0]},{""radialNumber"":1,""azimuthDeg"":263.7432861328125,""elevationDeg"":0.5328369140625,""duration"":66521616,""gateIntensity"":[-9.5,-1.0,-4.5,-2.5,5.0,-4.0,9.0,-8.5,-1.5,-9.0,-13.5,-0.5,-4.5,-14.0,-4.5,-11.0,-9.0,-8.0,-7.0,-6.0,-5.0,-3.0,-7.0,-10.0,-11.5,-10.0,-7.0,-8.5,-11.0,-13.0,-5.5,-5.0,-7.0,-10.0,-7.5,-10.5,-11.0,-11.0,-11.5,-12.5,-5.0,-6.0,-6.5,-7.0,-8.0,-9.0,-3.5,4.5,4.5,-8.5,-8.5,-2.0,13.0,9.5,1.0,-4.5,-0.5,-4.5,-5.5,1.0,0.5,-0.5,-2.0,-4.5,-9.5,-0.5,4.5,-13.0,-0.5,1.0,2.5,3.5,4.5,3.5,2.0,0.0,-5.5,-4.5,1.0,-0.5,3.0,-6.5,-3.5,-1.5,0.0,1.0,2.0,-2.0,-3.0,-4.5,-5.0,-5.5,-6.0,-7.0,-7.0,-6.5,-6.5,-6.0,-4.5,-3.0,-2.0,4.0,-2.5,-0.5,-9.0,-4.0,3.0,4.5,6.5,4.5,-1.5,-3.5,4.0,-1.0,0.0,5.0,1.0,-4.0,-1.0,-2.0,-0.5,-4.0,-0.5,1.0,3.5,0.0,1.0,-6.0,-1.5,-5.5,-5.5,-5.5,-5.5,-5.5,2.0,1.5,4.5,3.0,2.5,0.0,2.0,-7.5,8.0,-1.5,0.5,-1.5,2.0,2.5,3.5,3.5,2.0,0.5,-0.5,-1.5,-1.0,0.0,0.0,2.0,-0.5,-2.5,-6.0,5.0,2.5,3.0,-5.5,-1.0,-4.0,4.5,1.0,-2.5,4.0,-3.0,-1.5,-0.5,0.0,1.0,-2.0,-2.5,-0.5,-7.0,4.5,4.5,3.0,-0.5,-6.5,-1.0,1.5,3.0,4.0,6.0,5.5,5.0,4.0,3.5,2.0,1.5,-4.0,2.0,0.5,1.0,-0.5,2.5,2.0,0.5,-2.0,-1.5,-1.0,-4.0,-5.5,-0.5,2.5,-5.0,0.0,-4.5,4.5,0.5,-2.0,1.5,-1.0,-3.5,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.5,-3.0,-1.5,-1.0,-1.0,-1.0,-1.0,-1.5,-2.5,1.5,-3.5,-3.5,-1.0,-1.0,-1.0,-3.5,1.5,0.5,-3.5,-1.0,-2.0,-1.5,-4.0,-3.5,-1.0,-1.0,-1.0,-1.0,-0.5,0.0,-1.0,-1.0,-1.0,-3.0,-4.0,-1.0,-1.0,-1.0,-3.5,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-3.5,-2.0,1.5,-1.0,0.0,-3.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0]}]}";
            this.sweep = JsonUtility.FromJson<Sweep>(src);
        }

        public String toString() {
            StringBuilder s = new StringBuilder();

            s.AppendFormat("{0} at ({1},{2}), elevation={3}m\n", site, sweep.originLatitude, sweep.originLongitude, sweep.originAltitude);
            foreach (Radial r in sweep.radials) {
                s.AppendFormat("\tRadial #{0} -- az={1}, el={2}\n", r.radialNumber, r.azimuthDeg, r.elevationDeg);
            }

            return s.ToString();
        }

    }

    public class Sweep {
        public int sweepIndex;
        public int totalRadials;
        public float beamWidth;
        public long startingUnixtime;
        public long endingUnixtime;
        public int totalGatesPerRay;
        public float gateDepthMeters;
        public float meanElevationDeg;
        public double originLatitude;
        public double originLongitude;
        public float originAltitude;
        public int deviantOriginCount;
        public List<Radial> radials;
    }

    public class Radial {
        public int radialNumber;
        public float azimuthDeg;
        public float elevationDeg;
        public long duration;
        public List<double> gateIntensity;

    }

}

Note:
The question for which the user "Programmer" has stated that this is an alleged duplicate has an answer that doesn't actually solve my stated problem -- complex JSON in Unity. It establishes that Unity's built in JsonUtility class is inadequate for parsing complex JSON, while offering no real alternative.
There are questions on SO about using third-party Json libraries with C#... but using third-party libraries with C# in a Unity project is considerably harder and more specific of a task if they aren't already available as a .unitypackage, especially if it needs to be capable of ultimately working on platforms besides Windows (eg, Android, Magic Leap, Oculus, etc).
That's why the accepted answer to this question is valuable & adds concrete value to SO as a resource... it identifies a solution that addresses the questions's three specific issues -- complex Json, C#, and getting it to work in Unity in a platform-agnostic manner.
Final working code (based on accepted answer)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;

using JsonFx.Json;
using UnityEditor;

namespace Assets.Scripts {
    public class RadarData {
        private String site;
        private Sweep sweep;

        public RadarData(String site) {
            this.site = site;
            TextAsset src = AssetDatabase.LoadAssetAtPath("Assets/RadarData/" + site + ".json", typeof(TextAsset)) as TextAsset;

            var reader = new JsonReader();
            dynamic output = reader.Read(src.ToString());

            sweep = new Sweep();
            sweep.sweepIndex = output["sweepIndex"];
            sweep.beamWidth = (float) output["beamWidth"];
            sweep.startingUnixtime = output["startingUnixtime"];
            sweep.endingUnixtime = output["endingUnixtime"];
            sweep.totalGatesPerRay = output["totalGatesPerRay"];
            sweep.gateDepthMeters = (float)(output["gateDepthMeters"]);
            sweep.meanElevationDeg = (float)(output["meanElevationDeg"]);
            sweep.originLatitude = (float)(output["originLatitude"]);
            sweep.originLongitude = (float)(output["originLongitude"]);
            sweep.originAltitude = (float)(output["originAltitude"]);
            sweep.deviantOriginCount = output["deviantOriginCount"];

            Dictionary<String,object>[] radials = output["radials"];
            sweep.setRadials(radials);
        }

        public Sweep getSweep(int sweepNumber) {
            return sweep;
        }

        public String toString() {
            return sweep.ToString();
        }

    }

    public class Sweep {
        public int sweepIndex;
        public int totalRadials;
        public float beamWidth;
        public long startingUnixtime;
        public long endingUnixtime;
        public int totalGatesPerRay;
        public float gateDepthMeters;
        public float meanElevationDeg;
        public float originLatitude;
        public float originLongitude;
        public float originAltitude;
        public int deviantOriginCount;
        public List<Radial> radials;

        public void setRadials(Dictionary<String,object>[] src) {

            radials = new List<Radial>();
            foreach (Dictionary<String,object> rad in src) {
                radials.Add(new Radial(rad));
            }
        }

        override public String ToString() {
            StringBuilder s = new StringBuilder();

            s.AppendFormat("Sweep[index={0}... {1} Radials]", sweepIndex, radials.Count());

            return s.ToString();
        }
    }

    public class Radial {
        public int radialNumber;
        public double azimuthDeg;
        public double elevationDeg;
        public long duration;
        public double[] gateIntensity;

        public Radial(Dictionary<String,object> d) {
            radialNumber = (int)(d["radialNumber"]);
            azimuthDeg = (double)(d["azimuthDeg"]);
            elevationDeg = (double)(d["elevationDeg"]);
            duration = long.Parse(d["duration"].ToString());
            gateIntensity = (double[])(d["gateIntensity"]);
        }
    }
}

A: Copy paste your json and http://json2csharp.com/
You will get this:
public class Radial
{
    public int radialNumber { get; set; }
    public double azimuthDeg { get; set; }
    public double elevationDeg { get; set; }
    public int duration { get; set; }
    public List<double> gateIntensity { get; set; }
}

public class RootObject
{
    public int sweepIndex { get; set; }
    public int totalRadials { get; set; }
    public double beamWidth { get; set; }
    public long startingUnixtime { get; set; }
    public long endingUnixtime { get; set; }
    public int totalGatesPerRay { get; set; }
    public double gateDepthMeters { get; set; }
    public double distanceToFirstGateMeters { get; set; }
    public double meanElevationDeg { get; set; }
    public double originLatitude { get; set; }
    public double originLongitude { get; set; }
    public double originAltitude { get; set; }
    public int deviantOriginCount { get; set; }
    public List<Radial> radials { get; set; }
}

Then you can use the JsonUtility but you first need to modify some content.
Add Serializable attribute to each class and remove the property extension to make those basic variables.
[Serializable]
public class Radial
{
    public int radialNumber;
    public double azimuthDeg;
    public double elevationDeg;
    public int duration;
    public List<double> gateIntensity;
}
[Serializable]
public class RootObject
{
    public int sweepIndex;
   // same with all following items
}

RootObject is the top class of your json, it has no name in the json so default is generated. You can change RootObject to anything you want like JsonResponse.
This is now ready to use like this:
void Start()
{
     string json = GetJsonFile(); // From download or text file
     RootObject ro = JsonUtility.FromJson<RootObject>(json);
     print( ro.radials[0].radialNumber);
}

A: I use JsonFx for my data classes in Unity.
Example Class:
using JsonFx.Json;

[Serializable]
[JsonName("MyData")]
public class MyData
{
    public int id;
    public string name;
    public int[] stuff;
}

Sample json:
{
    "__Type": "MyData, Assembly-CSharp",
    "id": 1,
    "name": "new_data",
    "stuff" :
       [
         0,
         1,
         2
        ]
 }

Creating your data object from json :
// Json to MyData object:
// Assume I downloaded a json file
string jsonData = System.Text.Encoding.UTF8.GetString (www.bytes);
jsonData = jsonData.Trim ();
MyData data = MyData.Deserialize(jsonData);

Creating your json file from a data object
// MyData object to Json
// Use MyData data object
string file = "mydata.json";
JsonWriterSettings settings = new JsonWriterSettings ();
settings.PrettyPrint = true;
settings.TypeHintName = "__Type";

JsonWriter writer = new JsonWriter (file, settings);
writer.Write (data);
writer.TextWriter.Flush ();
writer.TextWriter.Close ();

A: There is an online service that can auto-convert from Json to Poco, for instance

*

*http://json2csharp.com/

*http://jsonutils.com/

*https://quicktype.io/
In VisualStudio, there is also a menu that does so:


text:
Q: SMS status callback response in Twilio I'm using Twilio api to send SMS and I'm specifying the StatusCallBackUrl to get the response from the Twilio when the SMS has been sent.
The credential that I've been using are not test credentials.
I want to know where I'm doing wrong because after I send the SMS I'm not getting the response from Twilio, however, I've enabled the cross-origin to accept the response from Twilio.
I just console the response so that to know what are the structure of the response and what model it send the data.
This is my example call back URL:
public const String callBackUrl = "http://example.com/api/Reports/ProcessSmsResponse";

This is how I'm sending SMS through Twilio:
twilio = new Twilio.TwilioRestClient(this.TwilioAccount, this.TwilioAuthToken);

var message = twilio.SendMessage("+965478", "+987456", "test body", callBackUrl);

This the method which just print the SMS callback response:
[HttpPost]
public void ProcessSmsResponse()
{
    Logger.WriteLog(LogLevel.INFO, "ProcessSmsResponse");
    Logger.WriteLog(LogLevel.INFO, Request.Content);
}

A: I was handling the request result in an in proper manner, the proper way is:
string queryString = Request.Content.ReadAsStringAsync().Result;

This would return me the queryString which Twilio posted to my action as callback response. Further, I just parsed the query string to get the query string parameter
var data = HttpUtility.ParseQueryString(queryString);

These are the parameter which I'm getting in Twilio SMSCallBack response:
To, From, Body, SmsSid, SmsStatus, MessageSid, AccountSid, ApiVersion,
MessageStatus, ErrorCode (it would be optional if there is any error we would get this parameter)
For ErrorCode refer to this link.


text:
Q: Are there any equivalents to the futex in Linux/Unix? I'm looking for something could be used for polling (like select, kqueue, epoll i.e. not busy polling) in C/C++. In other word, I need to block a thread, and then wake it up in another thread  with as little overhead as possible.
A mutex + condition variable works, but there is a lot of overhead. A futex also works, but that's for Linux only (or maybe not?). Extra synchronization is not required as long as the polling itself works properly, e.g. no race when I call wait and wake in two threads.
Edit: If such a "facility" doesn't exist in FreeBSD, how to create one with C++11 built-in types and system calls?
Edit2: Since this question is migrated to SO, I'd like to make it more general (not for FreeBSD only)

A: You want semaphores and not mutexes for the signaling between the to threads..
http://man7.org/linux/man-pages/man3/sem_wait.3.html
Semaphores can be used like a counter such as if you have a queue, you increment (post) to the semaphore every time you insert a message, and your receiver decrement (wait) on the semaphore for every message it takes out.   If the counter reach zero the receiver will block until something is posted.
So a typical pattern is to combine a mutex and a semaphore like;
sender:
    mutex.lock
    insert message in shared queue
    mutex.unlock
    semaphore.post

receiver:
    semaphore.wait
    mutex.lock
    dequeue message from shared structure
    mutex.unlock

A: semaphores are not mutexes, and would work with slightly less overhead (avoiding the mutex+condvar re-lock, for example)
Note that since any solution where a thread sleeps until woken will involve a kernel syscall, it still isn't cheap. Assuming x86_64 glibc and the FreeBSD libc are both reasonable implementations, the unavoidable cost seems to be:

*

*user-mode synchronisation of the count (with a CAS or similar)

*kernel management of the wait queue and thread sleep/wait

I assume the mutex + condvar overhead you're worried about is the cond_wait->re-lock->unlock sequence, which is indeed avoided here.


text:
Q: Failed to get access to local media on android webview I am trying to make a webview that contains a webRTC, but when I try to give join to access a room, I get the following error: "Failed to get access to local media. Error name was NotAllowedError. Countinuing without sendig to stream". Thanks in advance.
Here is a screenshot
@SuppressLint("SetJavaScriptEnable")
private void initWebView(){
    webView = findViewById(R.id.WebViewID);
    webView.setWebChromeClient(new WebChromeClient(){

        @Nullable
        @Override
        public Bitmap getDefaultVideoPoster() {
            return Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888);
        }
    });

    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setUseWideViewPort(true);
    webSettings.setLoadWithOverviewMode(true);
    webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
    webSettings.setMediaPlaybackRequiresUserGesture(false);
    webView.loadUrl(url);
}

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

A: It is not enough to declare permissions in the manifest by:
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

You will have to either ask for these permissions to be granted by the user in code (reference) or go manually to permissions settings in the device and grant the desired application Camera and Microphone permissions. Doing so should resolve the issue.


text:
Q: Using MATLAB to determine root locus plot Using matlab (R2007b), is it possible to get the asymptotic centroid, asymptotic angles and the break away and break in points for a root locus plot and its jw axis crossing?

A: As far as I know...
You simply translate each corresponding formula into a MATLAB expression and write a procedure which includes the necessary steps.
There is an rlocus() function in the Control System Toolbox.