m8= IHRhYmxlc3Bvb24= IE5laWdoYm9yaG9vZA== KFRocm93YWJsZQ== PnY= b3Z5 WFhYWFhYWFg= aXN0aQ== IGJhcnQ= 77u/Cg== RW5jcnlwdA== PWVuZA== IGluY3Vy IHBlcnRpbmVudA== X01JTk9S KSI+Cg== Y2hpZWY= IHZk KGAK dXJneQ== YWJ5cmludGg= IFNoYXBlcw== IHZhZ3k= LmRkcw== bWVtY21w CUl0 c2VtZXN0ZXI= IEVtaXQ= IGluc2Fu IGJydXNoZWQ= X0ZBVEFM ImVycm9ycw== IGRpc3J1cHRpdmU= JW4= IGNvbXBvc2l0aW9ucw== IGJhY2hlY2E= IGRpc2FncmVlbWVudA== UHJvdGVjdA== TElLRQ== LkZpbGVOb3RGb3VuZEV4Y2VwdGlvbg== IHdlaXRlcmU= IE1vbmFjbw== Xzw/ IG1vZGVsZWQ= c3RlZWw= ZWVudGg= IFtdKS4= KHJlZ2V4 ZW5pZQ== LkZsdXNo LnBvcHVw IE92ZXJz LkRlYnVnZ2Vy PmA7Cg== bml0ZQ== LnF1b3Rl IGNvZw== IHdha2Vz IFdyZXN0bGluZw== SW50cm8= IHNlcmRl IHJldXNhYmxl IENvbXBvdW5k SW1wbE9wdGlvbnM= CUl0ZW0= IG51bU9m IENIUg== IEJvbHRvbg== UExVUw== Ym91bmRpbmc= KCsr ICIsIjsK IEd1ZXN0cw== IGRlcHJpdmVk IG1lbG9keQ== WklQ Pj4oKQ== IGNvbmNlZGVk X2RpZQ== IGpveXN0aWNr IGFuYXRvbXk= IFRvb2xTdHJpcA== IEVub3VnaA== Iio= aW50b3No aGFiaQ== IFN5cmFjdXNl IEluY3JlYXNlZA== TXVz LnBhdGllbnQ= IGluY3JlbWVudHM= IFBJWA== IGJvb3R5 LnByaXZhdGU= ZXJ0b2lyZQ== IGN1dHRlcg== IGJla2Fu IGRyYXdlcnM= X0FMSUFT QW5pbWF0aW5n X2Fuc3dlcnM= LmF0dGFjaw== d3JpdGVycw== IGdhYW4= aWtvbg== CWNvbnRyb2xsZXI= IGZhY2FkZQ== k+WQjQ== LHN0YXR1cw== LmZl IHBvc3Rwb25lZA== IEZvbnRz IEJlbmNobWFyaw== aWRlbnRhbA== IGNoaWxsaW5n IEtpZXY= IGJydXNoZXM= LXdoZWVs IEhpcmU= KHByb2M= IGNoZW1vdGhlcmFweQ== INCx0YvRgtGM IE5vbGFu KGllcnI= IEp1ZGU= LUF1Zw== dW1ub3M= Y29udmVyc2F0aW9u IEJlaGF2aW9yU3ViamVjdA== YmF1Z2g= IGd1aXRhcmlzdA==


ة. معاملات العملات المشفرة لا رجوع فيها تمامًا. بمجرد بيع عملتك المشفرة ، لن تتمكن من استعادتها ، حتى إذا تم عكس الدفع. لهذا السبب نوصيك بالبيع بطريقة دفع منخفضة المخاطر للمستخدمين ذوي الخبرة و كمية كبيرة من الصفقات السابقة وردود فعل بنسبة 100٪.';

  @override
  String get guide250Sbsell250Sbtitle => 'كيفية بيع مونيرو عبر الإنترنت';

  @override
  String get guide250Sbsell250Sbtitle57Sbagoradesk => 'كيفية بيع العملات الرقمية عبر الإنترنت';

  @override
  String get guide250Sbtelegram250Sbcard8722Sbtitle => 'إشعارات الهاتف المحمول Telegram';

  @override
  String get guide250Sbtelegram250Sbconclusion => 'تهانينا! الآن يمكنك الرد على عملائك على الفور!';

  @override
  String guide250Sbtelegram250Sbdisable8722Sbtext(Object accountSettings) {
    return 'إذا كنت ترغب في تعطيل الإشعارات من برنامج الروبوت الخاص بنا ، فانتقل مرة أخرى إلى علامة التبويب \"الإشعارات\" في $accountSettings وانقر على الزر الأحمر \"تعطيل إشعارات Telegram\".';
  }

  @override
  String get guide250Sbtelegram250Sbdisable8722Sbtext8722Sbaccount8722Sbsettings => 'إعدادات الحساب';

  @override
  String get guide250Sbtelegram250Sbdisable8722Sbtitle => 'كيفية تعطيل الإشعارات؟';

  @override
  String guide250Sbtelegram250Sbprologue8722Sb0(Object telegram, Object appName) {
    return 'يسمح لك $telegram بتلقي إشعارات $appName (مثل الصفقة الجديدة ، أو الدفع الجديد ، أو إنهاء الصفقة أو إخطارات رسائل الدردشة الجديدة) في شكل رسائل Telegram من روبوت الإخطار الخاص بنا.';
  }

  @override
  String guide250Sbtelegram250Sbprologue8722Sb1(Object officialFaq) {
    return 'Telegram هو تطبيق مراسلة للجوال. يمكنك قراءة المزيد حول ماهية Telegram في $officialFaq.';
  }

  @override
  String get guide250Sbtelegram250Sbprologue8722Sb18722Sbofficial8722Sbfaq => 'اكثر الاسئلة المتداولة الرسمية';

  @override
  String guide250Sbtelegram250Sbpro


 crdl.login("GeliebtLebhafterLeopard@spam.care", "coat-unadorned-glacier");
    expect(user.username).toBe("GeliebtLebhafterLeopard");
    expect(user.email).toBe("GeliebtLebhafterLeopard@spam.care");
    expect(await crdl.isLoggedIn()).toBe(true);
    await crdl.logout();
    expect(await crdl.isLoggedIn()).toBe(false);
});

test("CrDl setLang/getLang", async () => {
    jest.setTimeout(100000);
    const crdl = new CrDl();
    const languages: Language[] = ["enUS", "enGB", "esLA", "esES", "ptBR", "ptPT", "frFR", "deDE", "arME", "itIT", "ruRU"];

    expect(typeof (await crdl.getLang())).toBe("string");

    for (const lang of languages) {
        await crdl.setLang(lang);
        expect(await crdl.getLang()).toBe(lang);
    }
});

import { LanguageKeys } from '@lib/types/namespaces/LanguageKeys';
import { Channel, Guild } from 'discord.js';
import { Language, SchemaEntry, Serializer, SerializerUpdateContext } from 'klasa';

export default class extends Serializer {
	// eslint-disable-next-line @typescript-eslint/require-await
	public async validate(data: string | Channel, { entry, language, guild }: SerializerUpdateContext) {
		if (data instanceof Channel) return this.checkChannel(data, entry, language);
		const channel = Serializer.regex.channel.test(data)
			? (guild || this.client).channels.cache.get(Serializer.regex.channel.exec(data)![1])
			: null;
		if (channel) return this.checkChannel(channel, entry, language);
		throw language.get(LanguageKeys.Resolvers.InvalidChannel, { name: entry.key });
	}

	public serialize(value: Channel) {
		return value.id;
	}

	public stringify(value: string, guild: Guild) {
		return guild.channels.cache.get(value)!.name;
	}

	private checkChannel(data: Channel, entry: SchemaEntry, language: Language) {
		if (data.type === 'text' || data.type === 'category') return data;
		throw language.get(LanguageKeys.Resolvers.InvalidChannel, { name: entry.key });
	}
}
import { SimObject } from './SimObject';
import { Metric } from './Metric';

/**
 *
 */
export interface ForceBody<T> extends SimObject {
    /**
     * The metric must be known in order to compute the energies and angular velocity.
     */
    metric: Metric<T>;
    /**
     * A placeholder for applications to define a unique identifier.
     */
    uuid: string;
    /**
     * mass (scalar). In the case of relativistic systems, this is the rest mass.
     */
    M: T;
    /**
     * position (vector)
     */
    X: T;
    /**
     * attitude (spinor)
     */
    R: T;
    /**
     * momentum (vector)
     */
    P: T;
    /**
     * angular momentum (bivector)
     */
    L: T;
    /**
     * angular velocity (bivector)
     */
    Ω: T;
    /**
     * offset into state array
     */
    varsIndex: number;
    /**
     * computes the rotational kinetic energy.
     */
    rotationalEnergy(): T;
    /**
     * computes the translational kinetic energy.
     */
    translationalEnergy(): T;
    /**
     * updates the angular velocity from the angular momentum.
     */
    updateAngularVelocity(): void;
}
import { IMessageType } from '@interfaces/appConfig';

/**
 * Form data.
 */
export interface IFormData {
	/**
	 * Message types.
	 */
	messageTypes: IMessageType[];
	/**
	 * Group of spatial data.
	 */
	spatial: {
		/**
		 * ICAO codes of airports separated by space.
		 */
		airports: string;
		/**
		 * WMO codes of countries separated by space.
		 */
		countries: string;


flatMap { newValue ->
        val result = function(current, newValue)
        current = newValue
        result
    }
}package com.architect.atlas.common.helpers

import org.gradle.api.Project
import org.gradle.api.logging.Logger
import java.io.File
import java.text.Normalizer
import kotlin.math.abs

object AppleProjectFinder {
    enum class AppleTargetKind { IOS_APP, WATCH_APP_CONTAINER, WATCH_APP_EXTENSION, OTHER }

    data class XcodeTarget(
        val kind: AppleTargetKind,
        val name: String,
        /** Parent directory of the .xcodeproj (e.g., iosApp/). */
        val containerDir: File,
        /** Target-specific directory (usually Info.plist's parent). */
        val targetDir: File,
        /** Resolved Info.plist if available. */
        val infoPlist: File?
    )

    // ---------- Public helpers ----------

    fun Project.isWatchBuildNow(): Boolean {
        val env = System.getenv()
        val plat = env["PLATFORM_NAME"].orEmpty()
        val sdk = env["SDK_NAME"].orEmpty()
        if (plat.startsWith("watch") || sdk.startsWith("watch")) return true
        if (gradle.startParameter.taskNames.any {
                it.contains(
                    "watchos",
                    ignoreCase = true
                )
            }) return true
        return runCatching {
            gradle.taskGraph.allTasks.any {
                it.name.contains(
                    "watchos",
                    ignoreCase = true
                )
            }
        }
            .getOrDefault(false)
    }

    fun Project.isIPhoneBuildNow(): Boolean {
        val env = System.getenv()
        val plat = env["PLATFORM_NAME"].orEmpty()
        val sdk = env["SDK_NAME"].orEmpty()
        if (plat.startsWith("iphone") || sdk.startsWith("iphone")) return true
        if (gradle.startParameter.taskNames.any {
                it.contains(
                    "ios",
                    ignoreCase = true
                ) && !it.contains("watch", true)
            }) return true
        return runCatching {
            gradle.taskGraph.allTasks.any {
                it.name.contains(
                    "ios",
                    ignoreCase = true
                ) && !it.name.contains("watch", true)
            }
        }
            .getOrDefault(false)
    }

    fun findAllXcodeTargets(root: File, logger: Logger): List<XcodeTarget> {
        return root.walkTopDown()
            .filter { it.isDirectory && it.extension == "xcodeproj" }
            .flatMap { xproj ->
                val pbx = xproj.projectPbxproj()
                if (pbx.isFile) parseXcodeTargetsFrom(pbx, logger) else emptyList()
            }
            .toList()
    }

    // ---------- PBX parsing ----------

    fun File.projectPbxproj(): File =
        resolve("project.pbxproj").takeIf { it.isFile } ?: this

    fun parseXcodeTargetsFrom(projectFile: File, logger: Logger): List<XcodeTarget> {
        val text = projectFile.readText()

        val nativeTargetBlockRegex = Regex(
            """([A-F0-9]{24}) /\* .*? \*/ = \{\s*[^}]*?isa = PBXNativeTarget;([\s\S]*?)\};""",
            setOf(RegexOption.DOT_MATCHES_ALL)
        )
        val nameRegex = Regex("""\bname\s*=\s*("?)([^";]+)\1\s*;""")
        val productTypeRegex


 != nil)

			token := data.(*jwt.Token)
			claims := token.Claims.(*HeketiJwtClaims)
			tests.Assert(t, claims.Issuer == "admin")
			tests.Assert(t, claims.IssuedAt != 0)

			called = true

			rw.WriteHeader(http.StatusOK)
		}
		n.UseHandlerFunc(mw)

		// Create test server
		ts := httptest.NewServer(n)

		// Generate qsh
		qshstring := "GET&/"
		hash := sha256.New()
		hash.Write([]byte(qshstring))

		// Create token
		token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
			// Set issuer
			"iss": "admin",

			// Set issued at time
			// and set it to 139 as it is lesser than abs(-140)
			// That is the negative leeway set in ENV
			"iat": time.Now().Add(time.Second * 140).Unix(),

			// Set expiration
			"exp": time.Now().Add(time.Second * 180).Unix(),

			// Set qsh
			"qsh": hex.EncodeToString(hash.Sum(nil)),
		})

		tokenString, err := token.SignedString([]byte("Key"))
		tests.Assert(t, err == nil)

		// Setup header
		req, err := http.NewRequest("GET", ts.URL, nil)
		tests.Assert(t, err == nil)

		// Add 'bearer' string
		req.Header.Set("Authorization", "bearer "+tokenString)
		r, err := http.DefaultClient.Do(req)
		tests.Assert(t, err == nil)
		tests.Assert(t, r.StatusCode == http.StatusUnauthorized)
		tests.Assert(t, called == false)

		s, err := utils.GetStringFromResponse(r)
		tests.Assert(t, err == nil)
		tests.Assert(t, strings.Contains(s, "Token used before issued"), s)
		return
	} else {
		logger.Info("leeway env is not set")
		cmd := exec.Command(os.Args[0], "-test.run=TestJwtNegativeLeewayIATFailure")
		cmd.Env = append(os.Environ(), "HEKETI_JWT_IAT_LEEWAY_SECONDS=-140")
		cmd.Stdout = os.Stdout
		cmd.Stderr = os.Stderr
		err := cmd.Run()
		if e, ok := err.(*exec.ExitError); ok && e.Success() {
			return
		}
		tests.Assert(t, err == nil, err)
	}
}

func TestJwtUnknownUser(t *testing.T) {

	// Setup jwt
	c := &JwtAuthConfig{}
	c.Admin.PrivateKey = "Key"
	c.User.PrivateKey = "UserKey"
	j := NewJwtAuth(c)
	tests.Assert(t, j != nil)

	// Setup middleware framework
	n := negroni.New(j)
	tests.Assert(t, n != nil)

	// Create a simple middleware to check if it was called
	called := false
	mw := func(rw http.ResponseWriter, r *http.Request) {
		called = true
	}
	n.UseHandlerFunc(mw)

	// Create test server
	ts := httptest.NewServer(n)

	// Create token with invalid user
	token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
		// Set issuer
		"iss": "someotheruser",

		// Set issued at time
		"iat": time.Now().Unix(),

		// Set expiration
		"exp": time.Now().Add(time.Second * 10).Unix(),
	})
	tokenString, err := token.SignedString([]byte("Key"))
	tests.Assert(t, err == nil)

	// Setup header
	req, err := http.NewRequest("GET", ts.URL, nil)
	tests.Assert(t, err =


ze(
        options: BitmapFactory.Options,
        minSideLength: Int,
        maxNumOfPixels: Int
    ): Int {

        val w = options.outWidth.toDouble()
        val h = options.outHeight.toDouble()

        val lowerBound = when (maxNumOfPixels) {
            -1 -> 1
            else -> ceil(sqrt(w * h / maxNumOfPixels)).toInt()
        }

        val upperBound = when (minSideLength) {
            -1 -> 128
            else -> min(
                floor(w / minSideLength),
                floor(h / minSideLength)
            ).toInt()
        }

        if (upperBound < lowerBound) {
            // return the larger one when there is no overlapping zone.
            return lowerBound
        }

        return when {
            maxNumOfPixels == -1 && minSideLength == -1 -> {
                1
            }
            minSideLength == -1 -> {
                lowerBound
            }
            else -> {
                upperBound
            }
        }
    }

    /**
     * 高斯模糊
     */
    fun stackBlur(srcBitmap: Bitmap?): Bitmap? {
        if (srcBitmap == null) return null
        val rs = RenderScript.create(App.INSTANCE)
        val blurredBitmap = srcBitmap.copy(Config.ARGB_8888, true)

        //分配用于渲染脚本的内存
        val input = Allocation.createFromBitmap(
            rs,
            blurredBitmap,
            Allocation.MipmapControl.MIPMAP_FULL,
            Allocation.USAGE_SHARED
        )
        val output = Allocation.createTyped(rs, input.type)

        //加载我们想要使用的特定脚本的实例。
        val script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs))
        script.setInput(input)

        //设置模糊半径
        script.setRadius(8f)

        //启动 ScriptIntrinsicBlur
        script.forEach(output)

        //将输出复制到模糊的位图
        output.copyTo(blurredBitmap)

        return blurredBitmap
    }

    fun getMeanColor(bitmap: Bitmap): Int {
        val width: Int = bitmap.width
        val height: Int = bitmap.height
        var pixel: Int
        var pixelSumRed = 0
        var pixelSumBlue = 0
        var pixelSumGreen = 0
        for (i in 0..99) {
            for (j in 70..99) {
                pixel = bitmap.getPixel(
                    (i * width / 100.toFloat()).roundToInt(),
                    (j * height / 100.toFloat()).roundToInt()
                )
                pixelSumRed += Color.red(pixel)
                pixelSumGreen += Color.green(pixel)
                pixelSumBlue += Color.blue(pixel)
            }
        }
        val averagePixelRed = pixelSumRed / 3000
        val averagePixelBlue = pixelSumBlue / 3000
        val averagePixelGreen = pixelSumGreen / 3000
        return Color.rgb(
            averagePixelRed + 3,
            averagePixelGreen + 3,
            averagePixelBlue + 3
        )
    }

}
package com.novel.read.ui.end

import android.view.LayoutInflater
import android.view.ViewGroup
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.module.LoadMoreModule
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.novel.read.R
import com.novel.read.base.BaseBindingAdapter
import com.novel


.acceptFrame() // DATA
    peer.acceptFrame() // RST_STREAM
    peer.play()

    // Play it back.
    val connection = connect(peer)
    connection.writePingAndAwaitPong() // Make sure settings have been acked.
    val stream = connection.newStream(headerEntries("b", "banana"), true)
    connection.writePingAndAwaitPong() // Make sure the window update has been received.
    val sink = stream.sink
    stream.writeTimeout().timeout(500, TimeUnit.MILLISECONDS)
    sink.write(Buffer().writeUtf8("abcdef"), 6)
    val startNanos = System.nanoTime()
    assertFailsWith<InterruptedIOException> {
      sink.flush() // This will time out waiting on the write window.
    }
    val elapsedNanos = System.nanoTime() - startNanos
    awaitWatchdogIdle()
    // 200ms delta
    assertThat(TimeUnit.NANOSECONDS.toMillis(elapsedNanos).toDouble())
      .isCloseTo(500.0, 200.0)
    assertThat(connection.openStreamCount()).isEqualTo(0)

    // Verify the peer received what was expected.
    assertThat(peer.takeFrame().type).isEqualTo(Http2.TYPE_PING)
    assertThat(peer.takeFrame().type).isEqualTo(Http2.TYPE_HEADERS)
    assertThat(peer.takeFrame().type).isEqualTo(Http2.TYPE_PING)
    assertThat(peer.takeFrame().type).isEqualTo(Http2.TYPE_DATA)
    assertThat(peer.takeFrame().type).isEqualTo(Http2.TYPE_RST_STREAM)
  }

  @Test fun outgoingWritesAreBatched() {
    // Write the mocking script.
    peer.sendFrame().settings(Settings())
    peer.acceptFrame() // ACK
    peer.acceptFrame() // SYN_STREAM
    peer.sendFrame().headers(false, 3, headerEntries("a", "android"))
    peer.acceptFrame() // DATA
    peer.play()

    // Play it back.
    val connection = connect(peer)
    val stream = connection.newStream(headerEntries("b", "banana"), true)

    // two outgoing writes
    val sink = stream.sink
    sink.write(Buffer().writeUtf8("abcde"), 5)
    sink.write(Buffer().writeUtf8("fghij"), 5)
    sink.close()

    // verify the peer received one incoming frame
    assertThat(peer.takeFrame().type).isEqualTo(Http2.TYPE_HEADERS)
    val data = peer.takeFrame()
    assertThat(data.type).isEqualTo(Http2.TYPE_DATA)
    assertArrayEquals("abcdefghij".toByteArray(), data.data)
    assertThat(data.inFinished).isTrue()
  }

  @Test fun headers() {
    // Write the mocking script.
    peer.sendFrame().settings(Settings())
    peer.acceptFrame() // ACK
    peer.acceptFrame() // SYN_STREAM
    peer.acceptFrame() // PING
    peer
      .sendFrame()
      .headers(false, 3, headerEntries(Header.RESPONSE_STATUS_UTF8, "HTTP/1.1 100"))
    peer
      .sendFrame()
      .headers(false, 3, headerEntries(Header.RESPONSE_STATUS_UTF8, "HTTP/1.1 200"))
    peer.sendFrame().ping(true, Http2Connection.AWAIT_PING, 0)
    peer.play()

    // Play it back.
    val connection = connect(peer)
    val stream = connection.newStream(headerEntries("b", "banana"), true)
    connection.writePingAndAwaitPong() // Ensure that the HEADERS has been received.
    assertThat(stream.takeHeaders())
      .isEqualTo(headersOf(Header.RESPONSE_STATUS_UTF8, "HTTP/1.1 100"))
    assertThat(stream.takeHeaders())
      .isEqualTo(headersOf(Header.RESPON


Query" name:"AcceptLanguage"`
}

// GetNacosConfigResponse is the response struct for api GetNacosConfig
type GetNacosConfigResponse struct {
	*responses.BaseResponse
	Message       string        `json:"Message" xml:"Message"`
	RequestId     string        `json:"RequestId" xml:"RequestId"`
	ErrorCode     string        `json:"ErrorCode" xml:"ErrorCode"`
	Success       bool          `json:"Success" xml:"Success"`
	Configuration Configuration `json:"Configuration" xml:"Configuration"`
}

// CreateGetNacosConfigRequest creates a request to invoke GetNacosConfig API
func CreateGetNacosConfigRequest() (request *GetNacosConfigRequest) {
	request = &GetNacosConfigRequest{
		RpcRequest: &requests.RpcRequest{},
	}
	request.InitWithApiInfo("mse", "2019-05-31", "GetNacosConfig", "mse", "openAPI")
	request.Method = requests.POST
	return
}

// CreateGetNacosConfigResponse creates a response to parse from GetNacosConfig response
func CreateGetNacosConfigResponse() (response *GetNacosConfigResponse) {
	response = &GetNacosConfigResponse{
		BaseResponse: &responses.BaseResponse{},
	}
	return
}
package mse

//Licensed under the Apache License, Version 2.0 (the "License");
//you may not use this file except in compliance with the License.
//You may obtain a copy of the License at
//
//http://www.apache.org/licenses/LICENSE-2.0
//
//Unless required by applicable law or agreed to in writing, software
//distributed under the License is distributed on an "AS IS" BASIS,
//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//See the License for the specific language governing permissions and
//limitations under the License.
//
// Code generated by Alibaba Cloud SDK Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

// DataInGetGatewayAuthDetail is a nested struct in mse response
type DataInGetGatewayAuthDetail struct {
	Id                 int64              `json:"Id" xml:"Id"`
	Name               string             `json:"Name" xml:"Name"`
	GatewayUniqueId    string             `json:"GatewayUniqueId" xml:"GatewayUniqueId"`
	GatewayId          int64              `json:"GatewayId" xml:"GatewayId"`
	Type               string             `json:"Type" xml:"Type"`
	Issuer             string             `json:"Issuer" xml:"Issuer"`
	Jwks               string             `json:"Jwks" xml:"Jwks"`
	IsWhite            bool               `json:"IsWhite" xml:"IsWhite"`
	GmtCreate          string             `json:"GmtCreate" xml:"GmtCreate"`
	GmtModified        string             `json:"GmtModified" xml:"GmtModified"`
	TokenPosition      string             `json:"TokenPosition" xml:"TokenPosition"`
	TokenName          string             `json:"TokenName" xml:"TokenName"`
	TokenNamePrefix    string             `json:"TokenNamePrefix" xml:"TokenNamePrefix"`
	TokenPass          bool               `json:"TokenPass" xml:"TokenPass"`
	Status             bool               `json:"Status" xml:"Status"`
	RedirectUrl        string             `json:"RedirectUrl" xml:"RedirectUrl"`
	ClientId           string             `json:"ClientId" xml:"ClientId"`
	ClientSecret       string             `json:"ClientSecret" xml:"ClientSecret"`
	CookieDomain       string             `json:"CookieDomain" xml:"CookieDomain"`
	ScopesList         string             `json:"ScopesList" xml:"ScopesList"`
	LoginUrl           string             `json:"LoginUrl" xml:"LoginUrl"`
	Sub                string             `json:"Sub" xml:"Sub"`
	AuthResourceMode   int                `json:"AuthResourceMode" xml:"AuthResourceMode"`
	AuthResourceConfig string             `json:"AuthResourceConfig" xml:"AuthResourceConfig"`
	ExternalAuthZ      ExternalAuthZ      `json:"ExternalAuthZ" xml:"Exte


.mag_widget .mag_cover a{height:240px;display:block;overflow:hidden;-webkit-box-shadow:0 0 2px 0 #ddd;box-shadow:0 0 2px 0 #ddd}#article_sidebar .mag_widget .mag_cover a img{width:100%;-webkit-box-shadow:none;box-shadow:none}#article_sidebar .mag_widget .mag_links{float:left}#article_sidebar .mag_widget .mag_links a.blue_button{width:100%}#article_sidebar .mag_widget .mag_links ul{font-size:13px}#article_sidebar .mag_widget .mag_links li{float:left}#article_sidebar .mag_widget .mag_links li:last-child:before{content:"/";padding:0 10px}#article_sidebar .abo-offer{background-color:#eee}#article_sidebar .abo-offer .mag_image{text-align:center}#article_sidebar .abo-offer .mag_image img{max-width:150px}.rpwe-widget-title span{padding:0 15px}p.credit{float:right;text-align:right;font-size:10px;color:#818181;padding-left:10px}@media all and (max-width:500px){p.credit{padding-bottom:0px}}.post-author{margin:0;font-size:12px;line-height:normal;color:#9f9f9f;font-family:'Open Sans',sans-serif;font-weight:600}.entry-date{margin-bottom:16px;line-height:1.2px;padding-top:0px}@media all and (min-width:900px){.menu-item-object-fragdenprofi a{background:#262626 url(https://www.blinker.de/content/themes/angeln/images/frag_menu.png) top no-repeat!important;opacity:0.8}.menu-item-object-fragdenprofi a h3,.menu-item-object-fragdenprofi a img{display:none}}.header-wrapper{margin-top:4px}@media all and (max-width:899px){.header-wrapper{margin-top:0}}.header-wrapper .abo_ad{max-width:510px;display:inline-block}.header-wrapper .abo_ad img{width:100%}@media screen and (max-width:1049px){.header-wrapper .abo_ad{width:400px;height:auto;padding-top:8px}}@media screen and (max-width:918px){.header-wrapper .abo_ad{display:none}}.navbar-header{width:70%;max-width:225px;float:left;margin-right:60px}@media all and (max-width:899px){.navbar-header{max-width:150px}}.site-logo{padding:14px 0;width:225px;max-width:100%;height:60px}@media all and (max-width:899px){.site-logo{padding:3px 0;height:40px}}.site-logo img{max-width:100%;height:auto;max-height:100%}#nav{border-radius:0}@media all and (max-width:899px){#nav{position:fixed;left:0;right:0}}@media all and (max-width:899px) and (min-width:501px){#nav{margin:0;margin-left:15px;margin-right:15px}}#masthead{width:100%;margin:0 auto;height:102px;-webkit-box-sizing:border-box;box-sizing:border-box}@media all and (max-width:899px){#masthead{height:0px}}@media all and (max-width:899px){body{padding-top:44px}}.navbar{max-width:1105px;-webkit-box-shadow:none;box-shadow:none;margin:auto;border:0!important;padding:4px 15px;background:#262626}@media all and (max-width:899px){.navbar{height:auto;padding-bottom:0;position:fixed;top:0;left:15px;right:15px}}@media all and (max-wi


nit,
	.get_cpu_count = get_cpu_count,
	.get_smm_info = smm_info,
	.get_microcode_info = get_microcode_info,
	.pre_mp_smm_init = smm_initialize,
	.per_cpu_smm_trigger = per_cpu_smm_trigger,
	.relocation_handler = smm_relocation_handler,
	.post_mp_init = post_mp_init,
};

void mp_init_cpus(struct bus *cpu_bus)
{
	if (mp_init_with_smm(cpu_bus, &mp_ops))
		printk(BIOS_ERR, "MP initialization failure.\n");

	/* Thermal throttle activation offset */
	configure_tcc_thermal_target();
}

int soc_skip_ucode_update(u32 current_patch_id, u32 new_patch_id)
{
	if (!CONFIG(CHROMEOS))
		return 0;
	/*
	 * Locked RO Descriptor Implications:
	 *
	 * - A locked descriptor signals the RO binary is fixed; the FIT will load the
	 *   RO's microcode during system reset.
	 * - Attempts to load newer microcode from the RW CBFS will cause a boot-time
	 *   delay (~60ms, core-dependent), as the microcode must be reloaded on BSP+APs.
	 * - The kernel can load microcode updates without impacting AP FW boot time.
	 * - Skipping RW CBFS microcode loading is low-risk when the RO is locked,
	 *   prioritizing fast boot times.
	 */
	if (CONFIG(LOCK_MANAGEMENT_ENGINE) && current_patch_id)
		return 1;

	return 0;
}


ts.compose=o("compose"),t.exports.addConstructor=o("addConstructor")},function(t,e,n){"use strict";var r=n(36),i=n(47),o=n(430),u=n(48),s=n(70),a=Object.prototype.hasOwnProperty,c=1,f=2,l=3,h=4,p=1,d=2,y=3,w=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,v=/[\x85\u2028\u2029]/,g=/[,\[\]\{\}]/,M=/^(?:!|!!|![a-z\-]+!)$/i,_=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function m(t){return Object.prototype.toString.call(t)}function L(t){return 10===t||13===t}function b(t){return 9===t||32===t}function j(t){return 9===t||32===t||10===t||13===t}function x(t){return 44===t||91===t||93===t||123===t||125===t}function N(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function S(t){return 48===t?"\0":97===t?"":98===t?"\b":116===t?"\t":9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function D(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}for(var I=new Array(256),E=new Array(256),C=0;C<256;C++)I[C]=S(C)?1:0,E[C]=S(C);function T(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||s,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function A(t,e){return new i(e,new o(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function O(t,e){throw A(t,e)}function z(t,e){t.onWarning&&t.onWarning.call(null,A(t,e))}var k={YAML:function(t,e,n){var r,i,o;null!==t.version&&O(t,"duplication of %YAML directive"),1!==n.length&&O(t,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&O(t,"ill-formed argument of the YAML directive"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&O(t,"unacceptable YAML version of the document


        fun read(irq: Int, area: Int) = when (area) {
            IRQ_REQUEST_AREA -> this[irq].pending
            IRQ_ENABLE_AREA -> this[irq].enabled
            IRQ_INSERVICE_AREA -> TODO("In service check currently not supported")
            else -> throw IllegalArgumentException("Wrong IRQ area: $area")
        }

        /**
         * {RU}
         * Изменение состояния прерывания
         *
         * @param ea номер прерывания (irq)
         * @param ss тип запроса к прерыванию [IRQ_REQUEST_AREA], [IRQ_ENABLE_AREA], [IRQ_INSERVICE_AREA]
         * @param size размер адресного пространства (не используется)
         * @param value числовое значение для состояния прерывания (в большинстве )
         * @throws IllegalArgumentException при неверном номере прерывания
         * {RU}
         */
        override fun write(ea: ULong, ss: Int, size: Int, value: ULong) = write(ea.int, ss, value.truth)

        fun write(irq: Int, area: Int, value: Boolean) {
//            log.severe { "[${core.cpu.pc.hex8}] PIC: action=$area for vector=0x${irq.hex2} int=${this[irq]}" }
            when (area) {
                IRQ_REQUEST_AREA -> this[irq].pending = value
                IRQ_ENABLE_AREA -> this[irq].enabled = value
                IRQ_INSERVICE_AREA -> TODO("In service check currently not supported")
                else -> throw IllegalArgumentException("Wrong IRQ area: $area")
            }
        }

        override fun beforeRead(from: Port, ea: ULong, size: Int): Boolean = table[ea.int] != null
        override fun beforeWrite(from: Port, ea: ULong, size: Int, value: ULong): Boolean = table[ea.int] != null

        /**
         * {RU}
         * Сохранение состояния (сериализация)
         *
         * @param ctxt контекст объекта-сериализатора
         * @return отображение сохраняемых свойств объекта
         * {RU}
         */
        override fun serialize(ctxt: GenericSerializer): Map<String, Any> =
                mapOf("table" to table.filterNotNull().map { it.serialize(ctxt) })

        /**
         * {RU}
         * Восстановление состояния (десериализация)
         *
         * @param ctxt контекст объекта-сериализатора
         * @param snapshot отображение восстанавливаемых свойств объекта
         * {RU}
         */
        override fun deserialize(ctxt: GenericSerializer, snapshot: Map<String, Any>) {
            @Suppress("UNCHECKED_CAST")
            val tableSnapshot = snapshot["table"] as ArrayList<Map<String, String>>
            tableSnapshot.forEach {snp ->
                table.filterNotNull().first { it.name == snp["name"] }.deserialize(ctxt, snp)
            }
        }

        /**
         * {RU}Сброс прерываний{RU}
         */
        override fun reset() {
            super.reset()
            table.filterNotNull().forEach { it.reset() }
        }
    }
}/*
 *
 * This file is part of Kopycat emulator software.
 *
 * Copyright (C) 2023 INFORION, LLC
 *
 * This program is free software; you can redistribute it


.push(child[1]));

  let marginLeft = calcHMargin(nodes[0], nodes[1]);
  let padding = calcHPadding(node, nodes[0]);

  // 1.外层重新设置children
  node.children = nodes;
  nodes.forEach(item => item.parent = node);
  // 2.设置样式 fixme 上边距
  node.style.flexDirection = 'row';
  node.style.justifyContent = 'flex-start';
  node.style.flexWrap = 'wrap';
  nodes.forEach(item => {
    delMargin(item.style);
    item.style.marginRight = marginLeft;
  });
  log(`${node.attrs.className} 多行重复元素布局调整 `);
}

export function exit(node: ILayoutNode) {
}
import { Component, EventEmitter, Input, Output } from '@angular/core';

/**
 * Custom stiled checkbox
 */
@Component({
    selector: 'app-checkbox',
    templateUrl: './checkbox.component.html',
    styleUrls: ['./checkbox.component.css']
})
export class CheckboxComponent {

    /**
     * Is the checkbox checked by default
     */
    @Input() checked: boolean;

    /**
     * Emits event when the check status changes
     */
    @Output() checkedChange = new EventEmitter<boolean>();

    /**
     * Label of the checkbox
     */
    @Input() label = "";

    toggleValue() {
        this.checked = !this.checked;
        this.checkedChange.emit(this.checked);
    }
}
import { Component, NgZone, OnInit } from '@angular/core';
import { WeekDay } from '@angular/common';
import { AngularFireAuth } from '@angular/fire/auth';
import { AngularFirestore } from '@angular/fire/firestore';
import { firestore } from 'firebase/app';

interface AmountLeft {
  uid: string;
  amount: number;
  date: firestore.FieldValue;
}

@Component({
  selector: 'app-how-much-left',
  templateUrl: './how-much-left.component.html',
  styleUrls: ['./how-much-left.component.scss']
})
export class HowMuchLeftComponent {
  public doNotCountToday: boolean = false;
  public totalAmountLeft: number = 0;
  public nextPayDay: Date;
  public averageToSpendPerDay: number;
  public canSave = false;
  public saveButtonTitle = 'Save';

  public static readonly MS_IN_A_DAY = 24 * 60 * 60 * 1000;

  constructor(public auth: AngularFireAuth, private db: AngularFirestore) {}

  calculate(val: string): void {
    this.totalAmountLeft = parseFloat(val);

    if (
      isNaN(this.totalAmountLeft) ||
      !isFinite(this.totalAmountLeft) ||
      this.totalAmountLeft < 0
    ) {
      this.totalAmountLeft = 0;
      this.canSave = false;
      return;
    }

    this.nextPayDay = this.findNextPayDay();
    this.averageToSpendPerDay = this.totalAmountLeft / this.differenceInDays();

    if (
      !isNaN(this.averageToSpendPerDay) &&
      isFinite(this.averageToSpendPerDay)
    ) {
      this.canSave = true;
    }
  }

  findNextPayDay() {
    const now = new Date();
    now.setHours(0, 0, 0, 0);
    //getMonth() returns a 0-based index, but the month in new Date() requires
    //a 1-based index
    let monthNextPayDay =
      now.getDate() < 24 ? now.getMonth() + 1 : now.getMonth() + 2;
    let yearNextPayDay;
    if (monthNextPayDay <= 12) {
      yearNextPayDay = now.getFullYear();
    } else {
      monthNextPayDay = 1;
      yearNextPayDay


 this._value;

  static const CLAIMABLE_BALANCE_ID_TYPE_V0 =
      const XdrClaimableBalanceIDType._internal(0);

  static XdrClaimableBalanceIDType decode(XdrDataInputStream stream) {
    int value = stream.readInt();
    switch (value) {
      case 0:
        return CLAIMABLE_BALANCE_ID_TYPE_V0;
      default:
        throw Exception("Unknown enum value: $value");
    }
  }

  static void encode(
      XdrDataOutputStream stream, XdrClaimableBalanceIDType value) {
    stream.writeInt(value.value);
  }
}

class XdrClaimableBalanceID {
  XdrClaimableBalanceIDType _type;
  XdrClaimableBalanceIDType get discriminant => this._type;
  set discriminant(XdrClaimableBalanceIDType value) => this._type = value;

  XdrHash? _v0;
  XdrHash? get v0 => this._v0;
  set v0(XdrHash? value) => this._v0 = value;

  XdrClaimableBalanceID(this._type);

  static void encode(
      XdrDataOutputStream stream, XdrClaimableBalanceID encoded) {
    stream.writeInt(encoded.discriminant.value);
    switch (encoded.discriminant) {
      case XdrClaimableBalanceIDType.CLAIMABLE_BALANCE_ID_TYPE_V0:
        XdrHash.encode(stream, encoded.v0!);
        break;
    }
  }

  static XdrClaimableBalanceID decode(XdrDataInputStream stream) {
    XdrClaimableBalanceID decoded =
        XdrClaimableBalanceID(XdrClaimableBalanceIDType.decode(stream));
    switch (decoded.discriminant) {
      case XdrClaimableBalanceIDType.CLAIMABLE_BALANCE_ID_TYPE_V0:
        decoded.v0 = XdrHash.decode(stream);
        break;
    }
    return decoded;
  }

  static XdrClaimableBalanceID forId(String claimableBalanceId) {
    XdrClaimableBalanceID bId = XdrClaimableBalanceID(
        XdrClaimableBalanceIDType.CLAIMABLE_BALANCE_ID_TYPE_V0);

    var id = claimableBalanceId;
    if (id.startsWith("B")) {
      try {
        var bytes = StrKey.decodeClaimableBalanceId(claimableBalanceId);
        if (bytes.length == 33) { // has discriminant in front
          // remove discriminant since we only have CLAIMABLE_BALANCE_ID_TYPE_V0
          bytes = bytes.sublist(1);
        }
        id = Util.bytesToHex(bytes);

      } catch (_) {}
    }
    bId.v0 = Util.stringIdToXdrHash(id);
    return bId;
  }

  String get claimableBalanceIdString {
    return Util.bytesToHex(Uint8List.fromList([discriminant.value, ...v0!.hash]));
  }
}

class XdrClaimableBalanceEntry {
  XdrClaimableBalanceID _balanceID;

  XdrClaimableBalanceID get balanceID => this._balanceID;

  set balanceID(XdrClaimableBalanceID value) => this._balanceID = value;

  List<XdrClaimant> _claimants;

  List<XdrClaimant> get claimants => this._claimants;

  set claimants(List<XdrClaimant> value) => this._claimants = value;

  XdrAsset _asset;

  XdrAsset get asset => this._asset;

  set asset(XdrAsset value) => this._asset = value;

  XdrInt64 _amount;

  XdrInt64 get amount => this._amount;

  set amount(XdrInt64 value) => this._amount = value;

  XdrClaimableBalanceEntryExt _ext;

  XdrClaimableBalanceEntryExt get ext => this._ext;

  set ext(XdrClaimableBalanceEntryExt value) => this._ext =


name: {
				en: "Dual Calling",
				fr: "Double Appel",
				es: "Llamada Doble",
				it: "Duplice Richiamo",
				pt: "Chamado Duplo",
				de: "Doppelruf"
			},
			effect: {
				en: "Search your deck for up to 2 TAG TEAM cards, reveal them, and put them into your hand. Then, shuffle your deck.",
				fr: "Cherchez jusqu’à 2 cartes ESCOUADE dans votre deck, montrez-les, puis ajoutez-les à votre main. Mélangez ensuite votre deck.",
				es: "Busca en tu baraja hasta 2 cartas de equipo de RELEVOS, enséñalas y ponlas en tu mano. Después, baraja las cartas de tu baraja.",
				it: "Cerca nel tuo mazzo fino a due carte ALLEATI, mostrale e aggiungile alle carte che hai in mano. Poi rimischia le carte del tuo mazzo.",
				pt: "Procure por até 2 cartas ALIADOS no seu baralho, revele-as e coloque-as na sua mão. Em seguida, embaralhe o seu baralho.",
				de: "Durchsuche dein Deck nach bis zu 2 TAG TEAM Karten, zeige sie deinem Gegner und nimm sie auf deine Hand. Mische anschließend dein Deck."
			},

		},
		{
			cost: [
				"Colorless",
			],
			name: {
				en: "Dark Clamp",
				fr: "Pince des Ténèbres",
				es: "Tenaza Oscura",
				it: "Buiotenaglia",
				pt: "Grampo da Escuridão",
				de: "Dunkler Klammergriff"
			},
			effect: {
				en: "The Defending Pokémon can’t retreat during your opponent’s next turn.",
				fr: "Le Pokémon Défenseur ne peut pas battre en retraite pendant le prochain tour de votre adversaire.",
				es: "El Pokémon Defensor no puede retirarse durante el próximo turno de tu rival.",
				it: "Durante il prossimo turno del tuo avversario, il Pokémon difensore non può ritirarsi.",
				pt: "O Pokémon Defensor não poderá recuar durante a próxima vez de jogar do seu oponente.",
				de: "Das Verteidigende Pokémon kann sich während des nächsten Zuges deines Gegners nicht zurückziehen."
			},
			damage: 20,

		},
	],
	weaknesses: [
		{
			type: "Fire",
			value: "×2"
		},
	],
	resistances: [
		{
			type: "Psychic",
			value: "-20"
		},
	],
	retreat: 1,

}

export default card
import { GuildSettings, RolesAuto } from '#lib/database';
import { LanguageKeys } from '#lib/i18n/languageKeys';
import { SkyraCommand, SkyraCommandOptions } from '#lib/structures/commands/SkyraCommand';
import { GuildMessage } from '#lib/types';
import { PermissionLevels } from '#lib/types/Enums';
import { deepClone } from '@sapphire/utilities';
import { ApplyOptions, CreateResolvers } from '@skyra/decorators';
import { Role } from 'discord.js';

const SORT = (x: RolesAuto, y: RolesAuto) => Number(x.points > y.points) || Number(x.points === y.points) - 1;

@ApplyOptions<SkyraCommandOptions>({
	aliases: ['autoroles', 'levelrole', 'lvlrole'],
	cooldown: 10,
	description: LanguageKeys.Commands.Social.AutoRoleDescription,
	extendedHelp: LanguageKeys.Commands.Social.AutoRoleExtended,
	permissionLevel: PermissionLevels.Administrator,
	requiredGuildPermissions: ['MANAGE_ROLES'],
	runIn: ['text'],
	subcommands: true,
	usage: '<add|remove|update|show:default> (role:rolena


0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Natural language description of the characteristic

 definition[x] 	ΣI	1..1		What code or expression defines members?

 definitionReference	<td style="vertical-align: top; text-align : left


import re

from six import string_types

SPLIT_KEY_PATTERN = re.compile(r"\.|\[")

def get_value(record, key, default=None):
    """Return item as `dict.__getitem__` but using 'smart queries'.

    .. note::

        Accessing one value in a normal way, meaning d['a'], is almost as
        fast as accessing a regular dictionary. But using the special
        name convention is a bit slower than using the regular access:
        .. code-block:: python
            >>> %timeit x = dd['a[0].b']
            100000 loops, best of 3: 3.94 us per loop
            >>> %timeit x = dd['a'][0]['b']
            1000000 loops, best of 3: 598 ns per loop
    """

    def getitem(k, v, default):
        if isinstance(v, string_types):
            raise KeyError
        elif isinstance(v, dict):
            return v[k]
        elif "]" in k:
            k = k[:-1].replace("n", "-1")
            # Work around for list indexes and slices
            try:
                return v[int(k)]
            except IndexError:
                return default
            except ValueError:
                return v[
                    slice(
                        *map(
                            lambda x: int(x.strip()) if x.strip() else None,
                            k.split(":"),
                        )
                    )
                ]
        else:
            tmp = []
            for inner_v in v:
                try:
                    tmp.append(getitem(k, inner_v, default))
                except KeyError:
                    continue
            return tmp

    # Wrap a top-level list in a dict
    if isinstance(record, list):
        record = {"record": record}
        key = ".".join(["record", key])

    # Check if we are using python regular keys
    try:
        return record[key]
    except KeyError:
        pass

    keys = SPLIT_KEY_PATTERN.split(key)
    value = record
    for k in keys:
        try:
            value = getitem(k, value, default)
        except KeyError:
            return default
    return value


"""See https://github.com/numpy/numpy/pull/10676.

"""
import sys
import pytest

from . import util

class TestQuotedCharacter(util.F2PyTest):
    sources = [util.getpath("tests", "src", "quoted_character", "foo.f")]

    @pytest.mark.skipif(sys.platform == "win32",
                        reason="Fails with MinGW64 Gfortran (Issue #9673)")
    @pytest.mark.slow
    def test_quoted_character(self):
        assert self.module.foo() == (b"'", b'"', b";", b"!", b"(", b")")


ommon.truth.Truth.assertThat
import mega.privacy.android.app.presentation.passcode.mapper.PasscodeTypeMapper
import mega.privacy.android.app.presentation.passcode.model.PasscodeUIType
import mega.privacy.android.domain.entity.passcode.PasscodeType
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.DynamicTest
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.TestFactory
import org.junit.jupiter.api.assertThrows

class PasscodeTypeMapperTest {
    private lateinit var underTest: PasscodeTypeMapper

    @BeforeEach
    internal fun setUp() {
        underTest = PasscodeTypeMapper()
    }

    @TestFactory
    fun `test that non biometric types are mapped`() =
        mapOf(
            PasscodeType.Password to PasscodeUIType.Alphanumeric(false),
            PasscodeType.Pin(4) to PasscodeUIType.Pin(false, 4),
            PasscodeType.Pin(6) to PasscodeUIType.Pin(false, 6),
        ).map { (input, expected) ->
            DynamicTest.dynamicTest("Test that $input is mapped to $expected") {
                assertThat(underTest(input)).isEqualTo(expected)
            }
        }

    @TestFactory
    fun `test that biometric types are mapped to the fallback type`() =
        mapOf(
            PasscodeType.Biometric(PasscodeType.Password) to PasscodeUIType.Alphanumeric(true),
            PasscodeType.Biometric(PasscodeType.Pin(4)) to PasscodeUIType.Pin(true, 4),
            PasscodeType.Biometric(PasscodeType.Pin(6)) to PasscodeUIType.Pin(true, 6),
        ).map { (input, expected) ->
            DynamicTest.dynamicTest("Test that $input is mapped to $expected") {
                assertThat(underTest(input)).isEqualTo(expected)
            }
        }

    @Test
    fun `test that an exception is thrown if a biometric type has a biometric fallback`() {
        assertThrows<IllegalStateException> {
            underTest(
                PasscodeType.Biometric(
                    PasscodeType.Biometric(
                        PasscodeType.Password
                    )
                )
            )
        }
    }
}package mega.privacy.android.app.presentation.settings.camerauploads

import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.assertTextContains
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.performClick
import androidx.compose.ui.test.performScrollTo
import androidx.test.ext.junit.runners.AndroidJUnit4
import mega.privacy.android.app.R
import mega.privacy.android.app.fromId
import mega.privacy.android.app.presentation.settings.camerauploads.dialogs.FILE_UPLOAD_DIALOG
import mega.privacy.android.app.presentation.settings.camerauploads.dialogs.HOW_TO_UPLOAD_DIALOG
import mega.privacy.android.app.presentation.settings.camerauploads.dialogs.RELATED_NEW_LOCAL_FOLDER_WARNING_DIALOG
import mega.privacy.android.app.presentation.settings.camerauploads.dialogs.VIDEO_COMPRESSION_SIZE_INPUT_DIALOG
import mega.privacy.android.app.presentation.settings.camerauploads.dialogs.VIDEO_QUALITY_DIALOG
import mega.privacy.android.app.presentation.settings.camerauploads.model.SettingsCameraUploadsUiState
import mega.privacy.android.app.presentation.settings.camerauploads.model.UploadOptionUiItem
import mega.privacy.android.app.presentation.settings.camerauploads.model.VideoQualityUiItem
import mega.privacy.android.app.presentation.


-left-color:#fff}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#c8def4}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:#333}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:#fff}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:#fff}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:#fff;background-color:#0081c2;background-image:-moz-linear-gradient(top, #08c, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0077b3));background-image:-webkit-linear-gradient(top, #08c, #0077b3);background-image:-o-linear-gradient(top, #08c, #0077b3);background-image:linear-gradient(to bottom, #08c, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);zoom:1}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:#cbcbcb;border-bottom:1px solid #fff;cursor:default;filter:none}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#fff}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:2px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,0.2);z-index:1002;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons


 + 291]
# CHECK: {nf}	dec	byte ptr [r8 + 4*rax + 291]
# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xfe,0x8c,0x80,0x23,0x01,0x00,0x00]
         {nf}	dec	byte ptr [r8 + 4*rax + 291]
# CHECK: dec	bl, byte ptr [r8 + 4*rax + 291]
# CHECK: encoding: [0x62,0xd4,0x64,0x18,0xfe,0x8c,0x80,0x23,0x01,0x00,0x00]
         dec	bl, byte ptr [r8 + 4*rax + 291]
# CHECK: {nf}	dec	bl, byte ptr [r8 + 4*rax + 291]
# CHECK: encoding: [0x62,0xd4,0x64,0x1c,0xfe,0x8c,0x80,0x23,0x01,0x00,0x00]
         {nf}	dec	bl, byte ptr [r8 + 4*rax + 291]
# CHECK: {evex}	dec	word ptr [r8 + 4*rax + 291]
# CHECK: encoding: [0x62,0xd4,0x7d,0x08,0xff,0x8c,0x80,0x23,0x01,0x00,0x00]
         {evex}	dec	word ptr [r8 + 4*rax + 291]
# CHECK: {nf}	dec	word ptr [r8 + 4*rax + 291]
# CHECK: encoding: [0x62,0xd4,0x7d,0x0c,0xff,0x8c,0x80,0x23,0x01,0x00,0x00]
         {nf}	dec	word ptr [r8 + 4*rax + 291]
# CHECK: dec	dx, word ptr [r8 + 4*rax + 291]
# CHECK: encoding: [0x62,0xd4,0x6d,0x18,0xff,0x8c,0x80,0x23,0x01,0x00,0x00]
         dec	dx, word ptr [r8 + 4*rax + 291]
# CHECK: {nf}	dec	dx, word ptr [r8 + 4*rax + 291]
# CHECK: encoding: [0x62,0xd4,0x6d,0x1c,0xff,0x8c,0x80,0x23,0x01,0x00,0x00]
         {nf}	dec	dx, word ptr [r8 + 4*rax + 291]
# CHECK: {evex}	dec	dword ptr [r8 + 4*rax + 291]
# CHECK: encoding: [0x62,0xd4,0x7c,0x08,0xff,0x8c,0x80,0x23,0x01,0x00,0x00]
         {evex}	dec	dword ptr [r8 + 4*rax + 291]
# CHECK: {nf}	dec	dword ptr [r8 + 4*rax + 291]
# CHECK: encoding: [0x62,0xd4,0x7c,0x0c,0xff,0x8c,0x80,0x23,0x01,0x00,0x00]
         {nf}	dec	dword ptr [r8 + 4*rax + 291]
# CHECK: dec	ecx, dword ptr [r8 + 4*rax + 291]
# CHECK: encoding: [0x62,0xd4,0x74,0x18,0xff,0x8c,0x80,0x23,0x01,0x00,0x00]
         dec	ecx, dword ptr [r8 + 4*rax + 291]
# CHECK: {nf}	dec	ecx, dword ptr [r8 + 4*rax + 291]
# CHECK: encoding: [0x62,0xd4,0x74,0x1c,0xff,0x


//
// ClassDump By HuangBai Private
//  Copyright (C) 1997-2019 Steve Nygard. Updated HuangBai-2024
//

#import <objc/NSObject.h>

@class NSMutableArray, NSMutableDictionary, NSString, WCFinderCompleteHandler;

@interface WCFinderJSAPIFeedListBehavior : NSObject
{
    _Bool _allowTopPull;
    _Bool _allowInfiniteTopPull;
    _Bool _reportFeedRead;
    _Bool _feedFocusChangeNotify;
    _Bool _fromSearchTemplate;
    _Bool _delayCompleteCallback;
    WCFinderCompleteHandler *_completeHandler;
    CDUnknownBlockType _sendTemplateEvent;
    NSMutableArray *_completeActions;
    NSMutableDictionary *_bckInfo;
    NSString *_liteAppId;
}

+ (_Bool)boolValueForKey:(id)arg1 inDict:(id)arg2;
+ (id)behaviorDict:(id)arg1;
+ (id)behaviorWithParams:(id)arg1 event:(id)arg2;
- (void).cxx_destruct;
@property(retain, nonatomic) NSString *liteAppId; // @synthesize liteAppId=_liteAppId;
@property(nonatomic) _Bool delayCompleteCallback; // @synthesize delayCompleteCallback=_delayCompleteCallback;
@property(retain, nonatomic) NSMutableDictionary *bckInfo; // @synthesize bckInfo=_bckInfo;
@property(retain, nonatomic) NSMutableArray *completeActions; // @synthesize completeActions=_completeActions;
@property(copy, nonatomic) CDUnknownBlockType sendTemplateEvent; // @synthesize sendTemplateEvent=_sendTemplateEvent;
@property(nonatomic) _Bool fromSearchTemplate; // @synthesize fromSearchTemplate=_fromSearchTemplate;
@property(retain, nonatomic) WCFinderCompleteHandler *completeHandler; // @synthesize completeHandler=_completeHandler;
@property(nonatomic) _Bool feedFocusChangeNotify; // @synthesize feedFocusChangeNotify=_feedFocusChangeNotify;
@property(nonatomic) _Bool reportFeedRead; // @synthesize reportFeedRead=_reportFeedRead;
@property(nonatomic) _Bool allowInfiniteTopPull; // @synthesize allowInfiniteTopPull=_allowInfiniteTopPull;
@property(nonatomic) _Bool allowTopPull; // @synthesize allowTopPull=_allowTopPull;
- (void)updateBckInfo:(CDUnknownBlockType)arg1;
- (void)onComplete;
- (void)addCompleteAction:(CDUnknownBlockType)arg1;
- (id)createPlugin;
- (void)notifyTemplate:(id)arg1 params:(id)arg2;
- (_Bool)delayCallResultCallback;

@end


-foreground);
  font-family: var(--main-font);
  font-size: var(--font-size-3);
  line-height: 160%;
}

.link {
  color: var(--primary-color);
  font-family: var(--main-font);
  font-size: var(--font-size-3);
  line-height: 160%;
}

.controls {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-4);
}

.button {
  padding: var(--spacing-1) var(--spacing-2);
  font-size: var(--font-size-3);
}

@media screen and (min-width: 768px) {
  .wrapper {
    gap: var(--spacing-6);
    width: 730px;
    padding: var(--spacing-6);
  }

  .content {
    gap: var(--spacing-3);
  }

  .title {
    font-size: var(--font-size-10);
  }

  .description {
    font-size: var(--font-size-5);
  }

  .link {
    font-size: var(--font-size-5);
  }

  .controls {
    gap: var(--spacing-6);
  }

  .button {
    padding: var(--spacing-2) var(--spacing-3);
    font-size: var(--font-size-4);
  }
}
.markdownWrapper {
  font-family: var(--main-font);
  font-weight: 400;
  font-size: var(--font-size-4);
  line-height: 1.8em;
  color: var(--global-body-text);
  width: 100%;
  max-width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* Exclude code blocks from text wrapping */
.markdownWrapper :global(pre),
.markdownWrapper :global(pre code),
.markdownWrapper :global(pre > div) {
  word-wrap: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Headings */
.markdownWrapper :global(h1),
.markdownWrapper :global(h2),
.markdownWrapper :global(h3),
.markdownWrapper :global(h4),
.markdownWrapper :global(h5),
.markdownWrapper :global(h6) {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.25;
  color: var(--global-body-text);
}

/* First element spacing adjustments */
.markdownWrapper :global(*:first-child) {
  margin-top: 0;
}

.markdownWrapper :global(h1) {
  margin: 0.67em 0;
  font-weight: 600;
  padding-bottom: 0.3em;
  font-size: 2em;
  border-bottom: 1px solid var(--global-border);
}

.markdownWrapper :global(h2) {
  font-weight: 600;
  padding-bottom: 0.3em;
  font-size: 1.5em;
  border-bottom: 1px solid var(--global-border);
}

.markdownWrapper :global(h3) {
  font-weight: 600;
  font-size: 1.25em;
}

.markdownWrapper :global(h4) {
  font-weight: 600;
  font-size: 1em;
}

.markdownWrapper :global(h5) {
  font-weight: 600;
  font-size: 0.875em;
}

.markdownWrapper :global(h6) {
  font-weight: 600;
  font-size: 0.85em;
  color: var(--global-body-text-subtle);
}

/* Paragraphs */
.markdownWrapper :global(p) {
  margin-top: 0;
  margin-bottom: var(--spacing-2);
}

/* Lists */
.markdownWrapper :global(ul),
.markdownWrapper :global(ol) {
  margin-top: 0;
  margin-bottom: var(--sp


b enum Uninit {}

    impl private::Sealed for Init {}
    impl private::Sealed for Uninit {}

    unsafe impl InitMarker for Init {
        const IS_INITIALIZED: bool = true;
        type DerefTargetItem = u8;
    }
    unsafe impl InitMarker for Uninit {
        const IS_INITIALIZED: bool = false;
        type DerefTargetItem = MaybeUninit<u8>;
    }
} // pub mod init_marker
use self::init_marker::*;

/// A `#![no_std]`-friendly wrapper over the [`std::io::IoSliceMut`].
///
/// Internally, the struct will store the following based on crate features:
///
/// * `std` - wrapping [`std::io::IoSlice`] directly, with accessors for it as well as conversion
///   functions and From impls.
/// * `libc` (with `#[cfg(unix)]` - wrapping [`libc::iovec`] directly on platforms that support it.
/// * `winapi` (with `#[cfg(windows)]`) - wrapping `WSABUF` directly.
/// * (none) - wrapping a regular slice, that may not have the same ABI guarantees as the types
///   from std or libc have.
#[repr(transparent)]
#[derive(Clone, Copy)]
pub struct IoSlice<'a, I: InitMarker = Init> {
    #[cfg(all(unix, feature = "libc", not(all(feature = "redox_syscall"))))]
    inner: (libc::iovec, PhantomData<&'a [I::DerefTargetItem]>),

    #[cfg(feature = "redox_syscall")]
    inner: (IoVec, PhantomData<&'a [I::DerefTargetItem]>),

    #[cfg(all(windows, feature = "winapi"))]
    inner: (WSABUF, PhantomData<&'a [I::DerefTargetItem]>),

    #[cfg(not(any(all(unix, feature = "libc"), all(windows, feature = "winapi"))))]
    inner: &'a [I::DerefTargetItem],

    _marker: PhantomData<I>,
}

// SAFETY: This is safe because whatever pointer that is sent to this slice must be Send in the
// first place. Regular slices implement Send and Sync because of this.
unsafe impl<'a, I: InitMarker> Send for IoSlice<'a, I> {}
// SAFETY: Same as above.
unsafe impl<'a, I: InitMarker> Sync for IoSlice<'a, I> {}
impl<'a, I: InitMarker> Unpin for IoSlice<'a, I> {}

#[cfg(feature = "std")]
impl<'a, I: InitMarker> std::panic::UnwindSafe for IoSlice<'a, I> {}
#[cfg(feature = "std")]
impl<'a, I: InitMarker> std::panic::RefUnwindSafe for IoSlice<'a, I> {}

impl<'a, I: InitMarker> IoSlice<'a, I> {
    /// Convert a regular slice into an I/O slice.
    ///
    /// The initializedness of the resulting I/O slice is dependent on the `I` generic parameter,
    /// which by default is [`Init`]. Note that it is highly recommended not to call this
    /// with [`Uninit`], since immutable slices cannot be made initialized, and one
    /// therefore has to prove externally that the memory is in fact initialized before using it.
    #[inline]
    pub fn new(slice: &'a [u8]) -> Self {
        unsafe { Self::__construct(slice.as_ptr(), slice.len()) }
    }

    /// Cast any I/O slice into an [`Uninit`] slice, forgetting about the original
    /// initializedness.
    #[inline]
    pub fn as_uninit(&self) -> &IoSlice<'a, Uninit> {
        unsafe {


link'):
            raise ValidationError('Custom affiliations are not allowed', field_name='affiliation_data')

class BasicCategorySchema(mm.SQLAlchemyAutoSchema):
    class Meta:
        model = Category
        fields = ('id', 'title', 'url', 'chain_titles')

class FavoriteEventSchema(mm.SQLAlchemyAutoSchema):
    class Meta:
        model = Event
        fields = ('id', 'title', 'label_markup', 'url', 'location', 'chain_titles', 'start_dt', 'end_dt')

    location = fields.String(attribute='event.location.venue_name')
    chain_titles = fields.List(fields.String(), attribute='category.chain_titles')
    label_markup = fields.Function(lambda e: e.get_label_markup('mini'))


     66,    107,    194,    255,    255,
       166,    116,     76,     55,     53,    125,    255,    255
};

static const opus_uint8 silk_NLSF_PRED_WB_Q8[ 30 ] = {
       175,    148,    160,    176,    178,    173,    174,    164,
       177,    174,    196,    182,    198,    192,    182,     68,
        62,     66,     60,     72,    117,     85,     90,    118,
       136,    151,    142,    160,    142,    155
};

static const opus_int16 silk_NLSF_DELTA_MIN_WB_Q15[ 17 ] = {
       100,      3,     40,      3,      3,      3,      5,     14,
        14,     10,     11,      3,      8,      9,      7,      3,
       347
};

const silk_NLSF_CB_struct silk_NLSF_CB_WB =
{
    32,
    16,
    SILK_FIX_CONST( 0.15, 16 ),
    SILK_FIX_CONST( 1.0 / 0.15, 6 ),
    silk_NLSF_CB1_WB_Q8,
    silk_NLSF_CB1_WB_Wght_Q9,
    silk_NLSF_CB1_iCDF_WB,
    silk_NLSF_PRED_WB_Q8,
    silk_NLSF_CB2_SELECT_WB,
    silk_NLSF_CB2_iCDF_WB,
    silk_NLSF_CB2_BITS_WB_Q5,
    silk_NLSF_DELTA_MIN_WB_Q15,
};


.com",
        "name": "Alex Wilber"
      },
      "type": "Required"
    }
  ],
  "location": {
    "displayName": "Conf Room 3; Fourth Coffee; Home Office",
    "locationType": "Default"
  },
  "locations": [
    {
      "displayName": "Conf Room 3"
    },
    {
      "displayName": "Fourth Coffee",
      "address": {
        "street": "4567 Main St",
        "city": "Redmond",
        "state": "WA",
        "countryOrRegion": "US",
        "postalCode": "32008"
      },
      "coordinates": {
        "latitude": 47.672,
        "longitude": -102.103
      }
    },
    {
      "displayName": "Home Office"
    }
  ],
  "allowNewTimeProposals": true
}
```

# [C#](#tab/csharp)

```csharp

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var @event = new Event
{
	Subject = "Plan summer company picnic",
	Body = new ItemBody
	{
		ContentType = BodyType.Html,
		Content = "Let's kick-start this event planning!"
	},
	Start = new DateTimeTimeZone
	{
		DateTime = "2017-08-30T11:00:00",
		TimeZone = "Pacific Standard Time"
	},
	End = new DateTimeTimeZone
	{
		DateTime = "2017-08-30T12:00:00",
		TimeZone = "Pacific Standard Time"
	},
	Attendees = new List<Attendee>()
	{
		new Attendee
		{
			EmailAddress = new EmailAddress
			{
				Address = "DanaS@contoso.onmicrosoft.com",
				Name = "Dana Swope"
			},
			Type = AttendeeType.Required
		},
		new Attendee
		{
			EmailAddress = new EmailAddress
			{
				Address = "AlexW@contoso.onmicrosoft.com",
				Name = "Alex Wilber"
			},
			Type = AttendeeType.Required
		}
	},
	Location = new Location
	{
		DisplayName = "Conf Room 3; Fourth Coffee; Home Office",
		LocationType = LocationType.Default
	},
	Locations = new List<Location>()
	{
		new Location
		{
			DisplayName = "Conf Room 3"
		},
		new Location
		{
			DisplayName = "Fourth Coffee",
			Address = new PhysicalAddress
			{
				Street = "4567 Main St",
				City = "Redmond",
				State = "WA",
				CountryOrRegion = "US",
				PostalCode = "32008"
			},
			Coordinates = new OutlookGeoCoordinates
			{
				Latitude = 47.672,
				Longitude = -102.103
			}
		},
		new Location
		{
			DisplayName = "Home Office"
		}
	},
	AllowNewTimeProposals = true
};

await graphClient.Me.Events
	.Request()
	.Header("Prefer","outlook.timezone=\"Pacific Standard Time\"")
	.AddAsync(@event);

```

 [!IMPORTANT]
 Microsoft Graph SDKs use the v1.0 version of the API by default, and do not support all the types, properties, and APIs available in the beta version. For details about accessing the beta API with the SDK, see [Use the Microsoft Graph SDKs with the beta API](/graph/sdks/use-beta).

 For details about how to [add the SDK](/graph/sdks/sdk-installation) to your project and [create an authProvider](/graph/sdks/choose-authentication-providers) instance, see the [SDK documentation](/graph/sdks/sdks-overview).

#### Response
The following example response shows the created event that specifies information for t


ighbor nearest(Point p) {
    // Pass a copy of bounds because _nn might modify its HyperRect parameter
    return _nn(n, p, bounds.copy(), double.infinity);
  }

  // Private recursive helper for nearest neighbor search
  NearestNeighbor _nn(
    KdNode? kd, // Current node (nullable)
    Point target, // Target point
    HyperRect hr, // Hyper-rectangle for the current node's space
    double maxDistSqd, // Current best squared distance found so far
  ) {
    if (kd == null) {
      return NearestNeighbor(null, double.infinity, 0);
    }

    int nodesVisited = 1;
    final int s = kd.split;
    final Point pivot = kd.domElt;

    // Create copies for left and right potential subspaces
    final HyperRect leftHr = hr.copy();
    final HyperRect rightHr = hr.copy();

    // Adjust bounds for children
    leftHr.max[s] = pivot[s];
    rightHr.min[s] = pivot[s];

    // Determine which branch is nearer
    final bool targetInLeft = target[s] <= pivot[s];
    final KdNode? nearerKd = targetInLeft ? kd.left : kd.right;
    final HyperRect nearerHr = targetInLeft ? leftHr : rightHr;
    final KdNode? furtherKd = targetInLeft ? kd.right : kd.left;
    final HyperRect furtherHr = targetInLeft ? rightHr : leftHr;

    // Recurse down the nearer branch
    NearestNeighbor nearerResult = _nn(nearerKd, target, nearerHr, maxDistSqd);
    Point? nearest = nearerResult.nearest;
    double distSqd = nearerResult.distSqd;
    nodesVisited += nearerResult.nodesVisited;

    // Update the maximum distance squared if a closer point was found
    double maxDistSqd2 = (distSqd < maxDistSqd) ? distSqd : maxDistSqd;

    // Check the distance from the target to the splitting plane
    double d = pivot[s] - target[s];
    d *= d;

    // If the splitting plane is further than the current nearest, no need to check further branch
    if (d > maxDistSqd2) {
      return NearestNeighbor(nearest, distSqd, nodesVisited);
    }

    // Check distance from target to the pivot point itself
    d = pivot.sqd(target); // Use extension method
    if (d < distSqd) {
      nearest = pivot;
      distSqd = d;
      maxDistSqd2 = distSqd; // Update max distance again
    }

    // Recurse down the further branch if necessary
    NearestNeighbor furtherResult = _nn(
      furtherKd,
      target,
      furtherHr,
      maxDistSqd2,
    );
    nodesVisited += furtherResult.nodesVisited;

    // If the further branch found an even closer point
    if (furtherResult.distSqd < distSqd) {
      nearest = furtherResult.nearest;
      distSqd = furtherResult.distSqd;
    }

    return NearestNeighbor(nearest, distSqd, nodesVisited);
  }
}

// --- Helper Functions and Main ---

final rand = Random();

Point randomPt(int dim) => List.generate(dim, (_) => rand.nextDouble());

List<Point> randomPts(int dim, int n) => List.generate(n, (_) => randomPt(dim));

void showNearest(String heading, KdTree kd, Point p) {
  print('$heading:');
  print('Point


.box(13.0D, 0.0D, 10.5D, 16.0D, 16.0D, 13.5D)
	);
	private static final VoxelShape SOUTH_SUPPORTS_TALL = Shapes.or(
			Block.box(2.5D, 0.0D, 13.0D, 5.5D, 16.0D, 16.0D),
			Block.box(10.5D, 0.0D, 13.0D, 13.5D, 16.0D, 16.0D)
	);
	private static final VoxelShape WEST_SUPPORTS_TALL = Shapes.or(
			Block.box(0.0D, 0.0D, 2.5D, 3.0D, 16.0D, 5.5D),
			Block.box(0.0D, 0.0D, 10.5D, 3.0D, 16.0D, 13.5D)
	);

	private static final VoxelShape NORTH_SUPPORTS_SHORT = Shapes.or(
			Block.box(2.5D, 0.0D, 0.0D, 5.5D, 4.0D, 3.0D),
			Block.box(10.5D, 0.0D, 0.0D, 13.5D, 4.0D, 3.0D)
	);
	private static final VoxelShape EAST_SUPPORTS_SHORT = Shapes.or(
			Block.box(13.0D, 0.0D, 2.5D, 16.0D, 4.0D, 5.5D),
			Block.box(13.0D, 0.0D, 10.5D, 16.0D, 4.0D, 13.5D)
	);
	private static final VoxelShape SOUTH_SUPPORTS_SHORT = Shapes.or(
			Block.box(2.5D, 0.0D, 13.0D, 5.5D, 4.0D, 16.0D),
			Block.box(10.5D, 0.0D, 13.0D, 13.5D, 4.0D, 16.0D)
	);
	private static final VoxelShape WEST_SUPPORTS_SHORT = Shapes.or(
			Block.box(0.0D, 0.0D, 2.5D, 3.0D, 4.0D, 5.5D),
			Block.box(0.0D, 0.0D, 10.5D, 3.0D, 4.0D, 13.5D)
	);

	private static final VoxelShape NORTH_EXTENSION = Shapes.or(
			Block.box(2.5D, -8.0D, 0.0D, 5.5D, 0.0D, 3.0D),
			Block.box(10.5D, -8.0D, 0.0D, 13.5D, 0.0D, 3.0D)
	);
	private static final VoxelShape EAST_EXTENSION = Shapes.or(
			Block.box(13.0D, -8.0D, 2.5D, 16.0D, 0.0D, 5.5D),
			Block.box(13.0D, -8.0D, 10.5D, 16.0D, 0.0D, 13.5D)
	);
	private static final VoxelShape SOUTH_EXTENSION = Shapes.or(
			Block.box(2.5D, -8.0D, 13.0D, 5.5D, 0.0D, 16.0D),
			Block.box(10.5D, -8.0D, 13.0D, 13.5D, 0.0D, 16.0D)
	);
	private static final VoxelShape WEST_EXTENSION = Shapes.or(
			Block.box(0.0D, -8.0D, 2.5D, 3.0D, 0.0D, 5.5D),
			Block.box(0.0D, -8.0D, 10.5D, 3.0D, 0.0D, 13.5D)
	);

	private static final VoxelShape NORTH_TALL = Shapes.or(Block.box(0.0D, 12.0D, 0.0D, 16.0D, 16.0D, 4.0D), NORTH_SUPPORTS_TALL);
	private static final VoxelShape EAST_TALL = Shapes.or(Block.box(12.0D, 12.0D


d ever happen.
    /// This function exists, so that all operations are accounted for in the wrapping operations.
    pub const fn wrapping_rem(&self, rhs: &Self) -> Self {
        let (r, c) = self.ct_reduce(rhs);
        const_assert!(c == 1, "modulo zero");
        r
    }

    /// Perform checked reduction, returning a [`CtOption`] which `is_some`
    /// only if the rhs != 0
    pub fn checked_rem(&self, rhs: &Self) -> CtOption<Self> {
        let (r, c) = self.ct_reduce(rhs);
        CtOption::new(r, Choice::from(c))
    }
}

impl<const LIMBS: usize> Div<&NonZero<UInt<LIMBS>>> for &UInt<LIMBS>
where
    UInt<LIMBS>: Integer,
{
    type Output = UInt<LIMBS>;

    fn div(self, rhs: &NonZero<UInt<LIMBS>>) -> Self::Output {
        *self / *rhs
    }
}

impl<const LIMBS: usize> Div<&NonZero<UInt<LIMBS>>> for UInt<LIMBS>
where
    UInt<LIMBS>: Integer,
{
    type Output = UInt<LIMBS>;

    fn div(self, rhs: &NonZero<UInt<LIMBS>>) -> Self::Output {
        self / *rhs
    }
}

impl<const LIMBS: usize> Div<NonZero<UInt<LIMBS>>> for &UInt<LIMBS>
where
    UInt<LIMBS>: Integer,
{
    type Output = UInt<LIMBS>;

    fn div(self, rhs: NonZero<UInt<LIMBS>>) -> Self::Output {
        *self / rhs
    }
}

impl<const LIMBS: usize> Div<NonZero<UInt<LIMBS>>> for UInt<LIMBS>
where
    UInt<LIMBS>: Integer,
{
    type Output = UInt<LIMBS>;

    fn div(self, rhs: NonZero<UInt<LIMBS>>) -> Self::Output {
        let (q, _, _) = self.ct_div_rem(&rhs);
        q
    }
}

impl<const LIMBS: usize> DivAssign<&NonZero<UInt<LIMBS>>> for UInt<LIMBS>
where
    UInt<LIMBS>: Integer,
{
    fn div_assign(&mut self, rhs: &NonZero<UInt<LIMBS>>) {
        let (q, _, _) = self.ct_div_rem(rhs);
        *self = q
    }
}

impl<const LIMBS: usize> DivAssign<NonZero<UInt<LIMBS>>> for UInt<LIMBS>
where
    UInt<LIMBS>: Integer,
{
    fn div_assign(&mut self, rhs: NonZero<UInt<LIMBS>>) {
        *self /= &rhs;
    }
}

impl<const LIMBS: usize> Div<NonZero<UInt<LIMBS>>> for Wrapping<UInt<LIMBS>> {
    type Output = Wrapping<UInt<LIMBS>>;

    fn div(self, rhs: NonZero<UInt<LIMBS>>) -> Self::Output {
        Wrapping(self.0.wrapping_div(rhs.as_ref()))
    }
}

impl<const LIMBS: usize> Div<NonZero<UInt<LIMBS>>> for &Wrapping<UInt<LIMBS>> {
    type Output = Wrapping<UInt<LIMBS>>;

    fn div(self, rhs: NonZero<UInt<LIMBS>>) -> Self::Output {
        *self / rhs
    }
}

impl<const LIMBS: usize> Div<&NonZero<UInt<LIMBS>>> for &Wrapping<UInt<LIMBS>> {
    type Output = Wrapping<UInt<LIMBS>>;

    fn div(self, rhs: &NonZero<UInt<LIMBS>>) -> Self::Output {
        *self / *rhs
    }
}

impl<const LIMBS: usize> Div<&NonZero<UInt<LIMBS>>> for Wrapping<UInt<LIMBS>> {
    type Output = Wrapping<UInt<LIMBS>>;

    fn div(self, rhs: &NonZero<UInt<LIMBS>>) -> Self::Output {


/*  Part of SWI-Prolog

    Author:        Jan Wielemaker
    E-mail:        J.Wielemaker@vu.nl
    WWW:           http://www.swi-prolog.org
    Copyright (c)  2022, University of Amsterdam
                         VU University Amsterdam
		         CWI, Amsterdam
    All rights reserved.

    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    are met:

    1. Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in
       the documentation and/or other materials provided with the
       distribution.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
    FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
    COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
    BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
    ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGE.
*/

#include "pl-incl.h"
#ifndef PLBF_INCLUDED
#define PLBF_INCLUDED

#include "libbf/bf_gmp.h"

void initBF(void);
void bf_not_implemented(const char *msg);

#endif /*PLBF_INCLUDED*/


„OK“",
    "drapRescueUpdateSuccessful" : "Das Zwischenupdate wurde erfolgreich abgeschlossen.
Warten Sie, bis die LED des HmIP-DRAP blau blinkt, bzw. t%FCrkis leuchtet. Starten Sie dann das eigentliche Update, indem Sie erneut den “Update” Button klicken.",
    "hintSetReadyWeeklyProgram" : "Zum Konfigurieren des Wochenprogramms bitte den Fertig Button bet%E4tigen und das Ger%E4t anschlie%DFend in der Ger%E4teliste aufrufen.",
    "btnDirectFwUpload" : "Direkt auf CCU laden und installieren",
    "dialogSettingsCMLblAlternateSoftwareUpdate" : "Alternative Vorgehensweise:",
    "indoorAirQualityGood" : "Raumluftqualit%E4t: Gut",
    "indoorAirQualityMediocre" : "Raumluftqualit%E4t: Mittelm%E4%DFig

Der Raum sollte gel%FCftet werden.",
    "indoorAirQualityModerate" : "Raumluftqualit%E4t: M%E4%DFig

Der Raum sollte dringend gel%FCftet werden.",
    "indoorAirQualityLow" : "Raumluftqualit%E4t: Niedrig

Der Raum sollte unbedingt gel%FCftet werden.",
    "permissionTrue" : "Berechtigung
erteilt",
    "permissionFalse" : "Berechtigung
nicht erteilt",
    "permissionUnknown" : "Berechtigung
unbekannt",
    "modeBatNotSupported" : "(nicht unterst%FCtzt, da Batteriebetrieb)",
    "helpServoRampTime" :
      "Bei Wert 0 ist die Fahrzeit nur von der Stellzeit des Servos abh%E4ngig.

" +
      "Die Geschwindigkeit/Fahrzeit beeinflusst die Fahrzeit erst, wenn diese gr%F6%DFer ist, als die durch die Stellzeit des Servos bedingte Fahrzeit.",
    "codeInUse" : "Verwendete Codes",
    "codeIdle" : "--",
    "codeKnownCodeIDReceived" : "Code ID empfangen",
    "codeUnKnownCodeIDReceived" : "Unbekannt",
    "codeLearnModeForCodeIDStarted" : "Code wird angelernt",
    "codeLearnModeExitForCodeWithSuccess" : "Code erfolgreich angelernt",
    "codeLearnModeExitForCodeWithTimeout" : "Timeout beim Code anlernen",
    "codeLearnModeExitForCodeWithErrorDuplicateCode" : "Code schon vorhanden",
    "codeCodeErased" : "Code gel%F6scht",
    "codeManagement" : "Code
Management",
    "clearStatusMessages" : "Sperren
zur%FCcksetzen",
    "codeStartOfLearn" : "Code anlernen",
    "codeStopOfLearn" : "Anlernen beenden",
    "codeErase" : "Code l%F6schen",
    "clearAll" : "Alle",
    "hintFWITargetNotPossible" :
      "\n\nDie Kan%E4le 1 - 8 unterst%FCtzen die Astrofunktion nicht.\n\n" +
      "Nutzen Sie die Bedingung \"Feste Uhrzeit\"\n\n",
    "dialogCodeCommandTitle" : "Code Management",
    "dialogClearErrorTitle" : "Sperren zur%FCcksetzen",
    "channelRights" : "Kanalberechtigung",
    "hintDoorLockHoldTime" : "Beachten Sie, dass sich eine l%E4ngere Haltezeit negativ
auf die Batterielaufzeit des T%FCrsc


除此以外没有任何意义。 c:100

重点在于能否获得听者的认同 c:181

也只能到此为止了。也就是说，你不仅需要得到理解，更重要的是获得认同和共鸣 c:133

### 2．设定Issue——论点为何？

在使用逻辑思维归纳自己的主张时，首先必须做的事是明确“论点”。 c:357

只要明确论点，就能弄清自己应该思考什么、讨论什么了 c:102

但在商务场合中，每一句发言都必然包含着某些目的。为了接近目的，就必须清醒地意识到论点是什么， c:254

所谓商务活动中的好论点，就是最终能帮助企业提升价值的论点； c:426

在掌握了公司真实情况的基础上，每次都能准确地提示出“现在应该讨论什么”，是各位未来的领导者不可或缺的能力。 c:345

### 3．搭建框架就能弄清需要的信息

支撑每个分结论（根据）的事实和评论，都要尽可能做到MECE，不过并非百分百严密的那种，只要有MECE的“感觉”就可以了。不过，由于第二层分结论是直接支撑主张的重要“支柱”，所以需要确认是否存在重大疏漏或重复，平衡是否掌握得当。 c:279

### 4．真的如此吗？质疑事实

○不能有偏见身为人就不可避免地会存在偏见。人往往只能看见自己想看的东西。这叫作“证实偏差”，可以说是人类根源性的思考习惯。 c:556

### 5．逻辑搭建后深入彻底地思考

在实际操作中，需要多次重复自上而下和自下而上两个方向的思考和确认，反复调整，才能构成逻辑。金字塔结构的搭建需要思维的多次上下往复运动。 c:405

同样一个事实，完全可以以相反的方式做解读。而究其原因，在于每天的训练、经验、价值观和直觉的差距。 c:292

### 6．通过文章来表达

6．通过文章来表达■将金字塔结构改写为文本·文章完成金字塔后，最终的步骤是将它改写为文章的形式，以向他人传达 c:78

我认为本公司必须投放有特点的商品以笼络特定顾客层，否则难以维持在市场奠定的基础。
依据就是如下三点：“市场动


G-130: #913832;--weui-RED-BG-90: #D3625A;--weui-SECONDARY-BG: rgba(255, 255, 255, .15);--weui-SEPARATOR-0: rgba(255, 255, 255, .05);--weui-SEPARATOR-1: rgba(255, 255, 255, .15);--weui-STATELAYER-HOVERED: rgba(0, 0, 0, .02);--weui-STATELAYER-PRESSED: rgba(255, 255, 255, .1);--weui-STATELAYER-PRESSEDSTRENGTHENED: rgba(255, 255, 255, .2);--weui-YELLOW-100: #CC9C00;--weui-YELLOW-120: #A37C00;--weui-YELLOW-170: #3D2F00;--weui-YELLOW-80: #D6AF33;--weui-YELLOW-90: #D1A519;--weui-YELLOW-BG-100: #BF9100;--weui-YELLOW-BG-110: #AB8200;--weui-YELLOW-BG-130: #866500;--weui-YELLOW-BG-90: #C59C1A;--weui-FG-HALF: rgba(255, 255, 255, .65);--weui-RED: #FA5151;--weui-ORANGERED: #FF6146;--weui-ORANGE: #C87D2F;--weui-YELLOW: #CC9C00;--weui-GREEN: #74A800;--weui-LIGHTGREEN: #3EB575;--weui-TEXTGREEN: #259C5C;--weui-BRAND: #07C160;--weui-BLUE: #10AEFF;--weui-INDIGO: #1196FF;--weui-PURPLE: #8183FF;--weui-LINK: #7D90A9;--weui-REDORANGE: #FF6146;--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05);--weui-FG: #fff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-FG-5: rgba(255, 255, 255, .1);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-BG: #000;--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5)}}.wx-root[data-weui-mode=care][data-weui-theme=dark],body[data-weui-mode=care][data-weui-theme=dark]{--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-5: #2c2c2c;--weui-RED: #fa5151;--weui-ORANGERED: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--


"""create stock_prices table

Revision ID: e7d2b7c2871f
Revises: c6b516e182b2
Create Date: 2024-10-22 17:45:03.909055

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa

# revision identifiers, used by Alembic.
revision: str = 'e7d2b7c2871f'
down_revision: Union[str, None] = 'c6b516e182b2'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None

def upgrade():
    # Create stock_prices table
    op.create_table(
        'stock_prices',
        sa.Column('stock_symbol', sa.String(length=10), nullable=False),
        sa.Column('stock_price', sa.Numeric(10, 2), nullable=False),
        sa.Column(
            'timestamp',
            sa.TIMESTAMP,
            server_default=sa.func.current_timestamp(),
            nullable=False
        ),
    )

    op.create_table(
            'alerts',
            sa.Column('stock_symbol', sa.String(10), nullable=False),
            sa.Column('price_threshold', sa.Float, nullable=False),
            sa.Column('phone_number', sa.String(20), nullable=False),
            sa.Column('created_at', sa.DateTime, server_default=sa.func.now()),
            sa.UniqueConstraint('stock_symbol', name='alerts_unique_stock_symbol')
    )

def downgrade():
    op.drop_table('alerts')
    op.drop_table('stock_prices')


tch.Value
            if obj.TPI > 0:
                pitch = 25.4 / obj.TPI
            if pitch <= 0:
                Path.Log.error("Cannot create thread with pitch {}".format(pitch))
                return

            # rapid to clearance height
            for loc in holes:
                self.executeThreadMill(
                    obj,
                    FreeCAD.Vector(loc["x"], loc["y"], 0),
                    cmd,
                    zStart,
                    zFinal,
                    pitch,
                )
        else:
            Path.Log.error("No suitable Tool found for thread milling operation")

    def opSetDefaultValues(self, obj, job):
        Path.Log.track()
        obj.ThreadOrientation = RightHand
        obj.ThreadType = ThreadTypeMetricInternal6H
        obj.ThreadFit = 50
        obj.Pitch = 1
        obj.TPI = 0
        obj.Passes = 1
        obj.Direction = DirectionClimb
        obj.LeadInOut = False

    def isToolSupported(self, obj, tool):
        """Thread milling only supports thread milling cutters."""
        support = hasattr(tool, "Diameter") and hasattr(tool, "Crest")
        Path.Log.track(tool.Label, support)
        return support

def SetupProperties():
    setup = []
    setup.append("ThreadOrientation")
    setup.append("ThreadType")
    setup.append("ThreadName")
    setup.append("ThreadFit")
    setup.append("MajorDiameter")
    setup.append("MinorDiameter")
    setup.append("Pitch")
    setup.append("TPI")
    setup.append("Passes")
    setup.append("Direction")
    setup.append("LeadInOut")
    return setup

def Create(name, obj=None, parentJob=None):
    """Create(name) ... Creates and returns a thread milling operation."""
    if obj is None:
        obj = FreeCAD.ActiveDocument.addObject("Path::FeaturePython", name)
    obj.Proxy = ObjectThreadMilling(obj, name, parentJob)
    if obj.Proxy:
        obj.Proxy.findAllHoles(obj)
    return obj


MPL_FE_18, MPL_FE_17, MPL_FE_16, MPL_FE_15, MPL_FE_14, MPL_FE_13,  \
      MPL_FE_12, MPL_FE_11, MPL_FE_10, MPL_FE_9, MPL_FE_8, MPL_FE_7, MPL_FE_6, MPL_FE_5,       \
      MPL_FE_4, MPL_FE_3, MPL_FE_2, MPL_FE_1, MPL_FE_0)                                        \
  (x, __VA_ARGS__)

#define MPL_REGISTER(element) layout_.register_element(str.element);

#define MPL_REFLECTION(STRUCT, ...)                                     \
  namespace mpl {                                                       \
    template<>                                                          \
    class struct_builder<STRUCT> : public base_struct_builder<STRUCT> { \
      struct_layout<STRUCT> layout_;                                    \
                                                                        \
    public:                                                             \
      struct_builder() {                                                \
        STRUCT str;                                                     \
        layout_.register_struct(str);                                   \
        MPL_CALL_MACRO_X_FOR_EACH(MPL_REGISTER, __VA_ARGS__)            \
        define_struct(layout_);                                         \
      }                                                                 \
    };                                                                  \
  }

#endif
// STL
#include <iostream>
#include <string>
#include <stdexcept>
#include <chrono>

// GLM [https://glm.g-truc.net/0.9.9/api/index.html]
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>

// OpenGL
#include <gl/gl_glew.h>

// FreeGLUT [http://freeglut.sourceforge.net/]
#include <gl/freeglut.h>

// project includes
#include <gl/gl_debug.h>
#include <gl/gl_shader.h>

// preprocessor definitions

#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif

#define MAIN_LOOP_EVENT 1

// prototypes

void display( void );

// shader

std::string sh_vert = R"(
#version 400

layout (location = 0) in ivec2 inIPos;
layout (location = 1) in vec4 inColor;

out vec3 vertPos;
out vec4 vertCol;

uniform mat4 project;
uniform mat4 view;
uniform mat4 model;

void main()
{
    vec4 view_pos = view * model * vec4(vec2(inIPos)/1000.0, 0.0, 1.0);

    vertCol     = inColor;
		vertPos     = view_pos.xyz;
		gl_Position = project * vec4(view_pos.xyz, 1.0);
}


esome-dot-net-performance)
- [Cezary Piątek - Testing WebAPI with ApprovalTests.NET](https://cezarypiatek.github.io/post/testing-web-api-with-approval-tests/)
- [Pier-Luc Bonneville - Introducing the .NET Interactive Notebooks Razor extension](https://plbonneville.com/blog/introducing-the-dotnet-interactive-notebooks-razor-extension/)
- [Microsoft DevBlogs - Introducing Configurable Retry Logic in Microsoft.Data.SqlClient v3.0.0-Preview1](https://devblogs.microsoft.com/azure-sql/configurable-retry-logic-for-microsoft-data-sqlclient/)
- [Jimmy Bogard - Choosing a ServiceLifetime](https://jimmybogard.com/choosing-a-servicelifetime/)
- [ASP.NET Blog - Daniel Roth - ASP.NET Core updates in .NET 6 Preview 2](https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-6-preview-2/)
- [StrathWeb - Easy way to create a C# lambda expression from a string (with Roslyn)](https://www.strathweb.com/2018/01/easy-way-to-create-a-c-lambda-expression-from-a-string-with-roslyn/)
- [Ryujinx - Experimental Nintendo Switch Emulator written in C#](https://github.com/Ryujinx/Ryujinx)
- [Microsoft Docs - Type.IsAssignableTo](https://docs.microsoft.com/en-us/dotnet/api/system.type.isassignableto)
- [Mehdi Hadeli - Awesome .Net Core Education](https://github.com/mehdihadeli/awesome-dotnet-core-education)
- [Jeremy D. Miller - Improvements to Event Sourcing in Marten V4](https://jeremydmiller.com/2021/03/02/improvements-to-event-sourcing-in-marten-v4/)
- [Daniel Lemire - Parsing floating-point numbers really fast in C#](https://lemire.me/blog/2021/02/22/parsing-floating-point-numbers-really-fast-in-c)
- [Isaac Abraham - Custom Equality and Comparison in F#](https://www.compositional-it.com/news-blog/custom-equality-and-comparison-in-f/)
- [FASTER - A fast concurrent persistent key-value store and log, in C# and C++](https://microsoft.github.io/FASTER/)
- [Khalid Abuhakmeh - .NET OSS Docs With MarkdownSnippets](https://khalidabuhakmeh.com/dotnet-oss-docs-with-markdownsnippets)
- [David Fowler - .NET coding patterns](https://github.com/davidfowl/DotNetCodingPatterns)
- [.NET Runtime - Developers can have access to more options when configuring async awaitables](https://github.com/dotnet/runtime/issues/47525)
- [Microsoft - Dapr for .NET Developers](https://raw.githubusercontent.com/dotnet-architecture/eBooks/master/current/dapr-for-net-developers/Dapr-for-NET-Developers.pdf)
- [Matt Connew - CoreWCF 0.1.0 GA Release](https://corewcf.github.io/blog/2021/02/19/corewcf-ga-release)
- [.NET Blog - Richard Lander - Announcing .NET 6 Preview 1](https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-1)
- [Jeremy D. Miller - Event Sourcing with Marten V4: Aggregated Projections](https://jeremydmiller.com/2021/02/09/event-sourcing-with-marten-v4-aggregated-projections/)
- [Bartosz Adamczewski - Loop Optimizations in C# (and various other compilers)](https://leveluppp.ghost.io/loop-optimizations-in-various-compilers)
- [Brady Gaster


= ZET_FURY_PRO_SPEED_MAX;
    Spectrum.speed              = ZET_FURY_PRO_SPEED_DEF;
    modes.push_back(Spectrum);

    mode TwoColors;
    TwoColors.name              = "Two Colors"; // Should this be called "Flashing Two Colors" or smth like that maybe? Rapidly changes between 2 colors
    TwoColors.value             = ZET_FURY_PRO_MODE_TWO_COLORS;
    TwoColors.flags             = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR;
    TwoColors.color_mode        = MODE_COLORS_MODE_SPECIFIC;
    TwoColors.colors_min        = 2;
    TwoColors.colors_max        = 2;
    TwoColors.colors.resize(TwoColors.colors_max);
    modes.push_back(TwoColors);

    mode Reactive;
    Reactive.name               = "Reactive";
    Reactive.value              = ZET_FURY_PRO_MODE_REACTIVE;
    Reactive.flags              = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_MODE_SPECIFIC_COLOR | MODE_FLAG_HAS_RANDOM_COLOR | MODE_FLAG_HAS_SPEED;
    Reactive.color_mode         = MODE_COLORS_RANDOM;
    Reactive.speed_min          = ZET_FURY_PRO_SPEED_MIN;
    Reactive.speed_max          = ZET_FURY_PRO_SPEED_MAX;
    Reactive.speed              = ZET_FURY_PRO_SPEED_DEF;
    Reactive.colors_min         = 7;
    Reactive.colors_max         = 7;
    Reactive.colors.resize(Reactive.colors_max);
    modes.push_back(Reactive);

    mode Flicker;
    Flicker.name                = "Flicker"; // One color fluctuates around max brightness for some time, then changes to another
    Flicker.value               = ZET_FURY_PRO_MODE_FLICKER;
    Flicker.flags               = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_DIRECTION_LR;
    Flicker.color_mode          = MODE_COLORS_NONE;
    Flicker.speed_min           = ZET_FURY_PRO_SPEED_MIN;
    Flicker.speed_max           = ZET_FURY_PRO_SPEED_MAX;
    Flicker.speed               = ZET_FURY_PRO_SPEED_DEF;
    Flicker.direction           = MODE_DIRECTION_RIGHT;
    modes.push_back(Flicker);

    mode Rain;
    Rain.name                   = "Rain"; // More like bad LSD trip
    Rain.value                  = ZET_FURY_PRO_MODE_RAIN;
    Rain.flags                  = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_SPEED;
    Rain.color_mode             = MODE_COLORS_NONE;
    Rain.speed_min              = ZET_FURY_PRO_SPEED_MIN;
    Rain.speed_max              = ZET_FURY_PRO_SPEED_MAX;
    Rain.speed                  = ZET_FURY_PRO_SPEED_DEF;
    modes.push_back(Rain);

    mode Snake;
    Snake.name                  = "Snake";
    Snake.value                 = ZET_FURY_PRO_MODE_SNAKE;
    Snake.flags                 = MODE_FLAG_AUTOMATIC_SAVE | MODE_FLAG_HAS_SPEED;
    Snake.color_mode            = MODE_COLORS_NONE;
    Snake.speed_min             = ZET_FURY_PRO_SPEED_MIN;
    Snake.speed_max             = ZET_FURY_PRO_SPEED_MAX;
    Snake.speed                 = ZET_FURY_PRO_SPEED_DEF;
    modes.push_back(Snake);

    SetupZones();
}

RGBController_Sinowealth1007::~RGBController_Sinowealth1007()
{
    delete controller;
}

void RGBController_Sinowealth1007::SetupZones()
{
    /*---------------------------------------------------------*\
    | Create a single zone                                      |
    \*---------------------------------------------------------*/
    zo


RevoluteJoint:
                link->R().noalias() = parent->R() * link->Rb() * AngleAxisd(link->q(), link->a());
                link->p().noalias() = parent->R() * link->b() + parent->p();
                link->sw().noalias() = parent->R() * (link->Rb() * link->a());
                link->sv().noalias() = link->p().cross(link->sw());
                link->w().noalias() = link->dq() * link->sw() + parent->w();
                break;

            case Link::FixedJoint:
            default:
                link->p().noalias() = parent->R() * link->b() + parent->p();
                link->R().noalias() = parent->R() * link->Rb();
                link->w() = parent->w();
                link->vo() = parent->vo();
                link->sw().setZero();
                link->sv().setZero();
                link->cv().setZero();
                link->cw().setZero();
                goto COMMON_CALCS_FOR_ALL_JOINT_TYPES;
            }

            link->vo().noalias() = link->dq() * link->sv() + parent->vo();

            const Vector3 dsv = parent->w().cross(link->sv()) + parent->vo().cross(link->sw());
            const Vector3 dsw = parent->w().cross(link->sw());
            link->cv().noalias() = link->dq() * dsv;
            link->cw().noalias() = link->dq() * dsw;
        }

COMMON_CALCS_FOR_ALL_JOINT_TYPES:

        link->v().noalias() = link->vo() + link->w().cross(link->p());

        link->wc().noalias() = link->R() * link->c() + link->p();
        const Matrix3 Iw = link->R() * link->I() * link->R().transpose();
        const Matrix3 c_hat = hat(link->wc());
        link->Iww().noalias() = link->m() * c_hat * c_hat.transpose() + Iw;
        link->Iwv().noalias() = link->m() * c_hat;

        const Vector3 P = link->m() * (link->vo() + link->w().cross(link->wc()));
        const Vector3 L = link->Iww() * link->w() + link->m() * link->wc().cross(link->vo());

        link->pf().noalias() = link->w().cross(P);
        link->ptau().noalias() = link->vo().cross(P) + link->w().cross(L);
    }
}

/**
   calculate the mass matrix using the unit vector method
   \todo replace the unit vector method here with
   a more efficient method that only requires O(n) computation time
*/
void ForwardDynamicsCBM::calcMassMatrix()
{
    auto root = subBody->rootLink();
    const int numLinks = subBody->numLinks();

    // preserve and clear the joint accelerations
    for(int i=1; i < numLinks; ++i){
        auto link = subBody->link(i);
        ddqorg[i] = link->ddq();
        uorg  [i] = link->u();
        link->ddq() = 0.0;
    }

    // preserve and clear the root link acceleration
    dvoorg = root->dvo();
    dworg  = root->dw();
    root->dvo() = -g - root_w_x_v;   // dv = g, dw = 0
    root->dw().setZero();

    setColumnOfMassMatrix(b1, 0);

    if(unknown_rootDof){
        for(int i=0


rt_close(
            model_out["feedback"], expected_feedback, rtol=tolerance, atol=tolerance
        )

        expected_derivative = feedback_output_golden["derivative"]
        torch.testing.assert_close(
            model_out["derivative"],
            expected_derivative,
            rtol=tolerance,
            atol=tolerance,
        )

        expected_depth_dilated = feedback_output_golden["depth_dilated"]
        torch.testing.assert_close(
            model_out["depth_dilated"],
            expected_depth_dilated,
            rtol=tolerance,
            atol=tolerance,
        )

if __name__ == "__main__":
    unittest.main()


有 5 名学生被除名。

**第 3 轮(技术)(2 小时):**
1。给定一个 500MB 大小的文件，其中包含学生的 cgpa，作为一个没有空格和任何其他分隔符的单个流。我必须告诉他们区分不同 cgpa 的逻辑。
此外，我需要告诉他们应该使用哪种数据结构来有效地存储 cgpa。
2。[给定一个链接列表，我必须告诉它是否包含一个循环](https://practice.geeksforgeeks.org/problems/detect-loop-in-linked-list/1)。如果存在循环，那么哪些节点是孤立节点(即不在循环中的节点)。
3。给定一个正数数组，我必须告诉他们数组元素的平方根是否存在于同一个数组中。如果存在，则显示该号码。
4。[给定一个包含面额(即不同硬币的价值)和总和的数组。我必须找到达到这个数字所需的最小硬币数。](https://practice.geeksforgeeks.org/problems/number-of-coins/0)
本轮后有 2 名同学入围。

**第 4 轮(HR 面试)(30-45 分钟):**
1。自我介绍
2。你的优点和缺点是什么？
3。你将来想成为什么样的人？
4。给我的情况是，如果我被选中，我不得不在某个项目上工作到深夜，这个项目的截止日期就要到了。那我会有什么反应？
5。问我的兴趣爱好。

如果你喜欢极客博客并想投稿，你也可以写一篇文章并把你的文章邮寄到 contribute@geeksforgeeks.org。看到你的文章出现在极客博客主页上，帮助其他极客。

## 相关实践问题

[Number of Coins](https://practice.geeksforgeeks.org/problems/number-of-coins/0)[All Practice Problems for Accolite](https://practice.geeksforgeeks.org/company/Accolite/) !# 通过用位于相邻元素中间的元素替换每个元素来重新排列给定的数组

> 原文:[https://www . geeksforgeeks . org/通过用相邻元素的平均值替换每个元素来重新排列给定的数组/](https://www.geeksforgeeks.org/rearrange-given-array-by-replacing-every-element-with-the-element-located-at-mean-of-adjacent-elements/)

给定数组 **arr[]** 。数组只包含从 **0** 到 **N-1** 的数字，其中 **N** 是**arr【】**的大小。任务是修改数组，使每个 **i** 从 **0≤i < N** ，**arr[I]= arr[(arr[I-1]+arr[I+1])/2]**

有几


Inst::Copy {
                    offset: iter_offset,
                },
                expr_for.iter.span(),
            );

            self.asm.push_with_comment(
                Inst::CallInstance {
                    hash: *runestick::NEXT,
                    args: 0,
                },
                span,
                "next",
            );
            self.asm.push(
                Inst::Replace {
                    offset: binding_offset,
                },
                expr_for.var.span(),
            );
        }

        // test loop condition and unwrap the option.
        // TODO: introduce a dedicated instruction for this :|.
        {
            self.asm.push(
                Inst::Copy {
                    offset: binding_offset,
                },
                expr_for.var.span(),
            );
            self.asm.push(Inst::IsValue, expr_for.span());
            self.asm.jump_if_not(end_label, expr_for.span());
            self.asm.push(
                Inst::Copy {
                    offset: binding_offset,
                },
                expr_for.var.span(),
            );
            // unwrap the optional value.
            self.asm.push(Inst::Unwrap, expr_for.span());
            self.asm.push(
                Inst::Replace {
                    offset: binding_offset,
                },
                expr_for.var.span(),
            );
        }

        self.compile((&*expr_for.body, Needs::None))?;
        self.asm.jump(start_label, span);
        self.asm.label(end_label)?;

        // Drop the iterator.
        self.asm.push(
            Inst::Drop {
                offset: iter_offset,
            },
            span,
        );

        self.clean_last_scope(span, loop_scope_expected, Needs::None)?;

        // NB: If a value is needed from a for loop, encode it as a unit.
        if needs.value() {
            self.asm.push(Inst::Unit, span);
        }

        // NB: breaks produce their own value.
        self.asm.label(break_label)?;
        Ok(())
    }
}
<filename>migration-engine/migration-engine-tests/tests/migrations/mssql.rs
use migration_engine_tests::sql::*;
use quaint::connector::Queryable;

#[test_connector(tags(Mssql))]
async fn shared_default_constraints_are_ignored_issue_5423(api: &TestApi) -> TestResult {
    api.database()
        .raw_cmd(&format!("CREATE DEFAULT [{}].catcat AS 'musti'", api.schema_name()))
        .await?;

    api.database()
        .raw_cmd(&format!(
            r#"
                CREATE TABLE [{0}].cats (
                    id INT IDENTITY PRIMARY KEY,
                    name NVARCHAR(255) NOT NULL
                )
            "#,
            api.schema_name()
        ))
        .await?;

    api.database()
        .raw_cmd(&format!(
            "sp_bindefault '{0}.catcat', '{0}.cats.name'",
            api.schema_name()
        ))
        .await?;

    let dm = api.native_types_datamodel(
        r#"
        model cats {
            id Int @id @default(autoincrement())
            name String @test_db.NVarChar(255)
        }
    "#,
    );

    api.schema_push(dm)
        .migration_id(Some("first"))
        .send()
        .await?
        .assert_green()?
        .assert_no_steps()?;

    Ok(())
}
//! Contains `/Objects/Geometry(Shape)` node-related stuff.

use std::io::Read;
use fbx_binary_reader::EventReader;
use definitions::Definitions;
use error::Result;
use node_loader::{NodeLoader, NodeLoaderCommon, RawNodeInfo, ignore_current_node};
use objects::properties::ObjectProperties;

#[derive(Debug, Clone)]
pub struct Shape {
    pub id: i64