iement, mais j\'ai oublié d\'appuyer sur le bouton \"J\'ai payé\", ou je n\'ai pas appuyé à temps';

  @override
  String get faq250Sbquestion8722Sb25 => 'Comment les litiges vont-ils être traités ?';

  @override
  String get faq250Sbquestion8722Sb26 => 'J\'ai envoyé du Monero à une mauvaise adresse, puis-je le récupérer ?';

  @override
  String get faq250Sbquestion8722Sb2657Sbagoradesk => 'J\'ai envoyé des jetons de crypto-monnaie à une mauvaise adresse, puis-je les récupérer ?';

  @override
  String get faq250Sbquestion8722Sb27 => 'À quelle fréquence les prix des annonces sont-ils mis à jour ?';

  @override
  String get faq250Sbquestion8722Sb28 => 'Qu\'est-ce qu\'un prix fluctuant ?';

  @override
  String get faq250Sbquestion8722Sb29 => 'Quels sont les frais ?';

  @override
  String get faq250Sbquestion8722Sb3 => 'Comment activer l\'authentification à deux facteurs 2FA ?';

  @override
  String get faq250Sbquestion8722Sb30 => 'Avez-vous une application mobile ? / Comment puis-je recevoir des notifications mobiles ?';

  @override
  String get faq250Sbquestion8722Sb32 => 'Qu\'est-ce qu\'une priorité de transaction ?';

  @override
  String get faq250Sbquestion8722Sb32250Sb1 => 'Qu\'est-ce qu\'un taux de frais ?';

  @override
  String faq250Sbquestion8722Sb33(Object appName) {
    return 'Comment puis-je retirer du Monero vers un autre portefeuille de crypto-monnaie depuis mon portefeuille $appName ?';
  }

  @override
  String faq250Sbquestion8722Sb3357Sbagoradesk(Object appName) {
    return 'Comment puis-je retirer d\'autres crypto-monnaies de mon portefeuille $appName ?';
  }

  @override
  String get faq250Sbquestion8722Sb5 => 'J\'ai perdu mon deuxième facteur d\'authentification (2FA), que dois-je faire ?';

  @override
  String get faq250Sbquestion8722Sb6 => 'Avez-vous un site .onion / un service caché Tor ?';

  @override
  String get faq250Sbquestion8722Sb7 => 'Avez-vous un site I2P ?';

  @override
  String get faq250Sbquestion8722Sb8 => 'Avez-vous un programme de parrainage ?';

  @override
  String get faq250Sbquestion8722Sb9 => 'Quelle est la différence entre une transaction en ligne et une transaction locale ?';

  @override
  String get faq250Sbtitle => 'Questions fréquemment posées';

  @override
  String get feedback250Sbnone => 'Pas encore d\'évaluation';

  @override
  String feedback250Sbtitle(Object user) {
    return 'Évaluation de $user';
  }

  @override
  String fees250Sbtitle(Object appName) {
    return 'Frais sur $appName';
  }

  @override
  String fees250Sbtrading250Sbtext(Object appName) {
    return 'L\'enregistrement, l\'achat et la vente de Monero sont entièrement gratuits.
Les utilisateurs de $appName qui créent des annonces se voient facturer 1% de frais de protection contre l\'arbitrage pour chaque transaction effectuée.';
  }

  @override
  String fees250Sbtrading250Sbtext57Sbagoradesk(Object appName) {
    return 'L\'enregistrement, l\'achat et la vente de crypto-monnaies sont entièrement gratuits.
Les utilisateurs de $


/*=auto=========================================================================

  Portions (c) Copyright 2006 Brigham and Women's Hospital (BWH) All Rights Reserved.

  See COPYRIGHT.txt
  or http://www.slicer.org/copyright/copyright.txt for details.

=========================================================================auto=*/

#ifndef __vtkFSSurfaceWFileReader_h
#define __vtkFSSurfaceWFileReader_h

#include "FreeSurferConfigure.h"
#include "vtkFreeSurferExport.h"

// VTK includes
#include <vtkDataReader.h>

class vtkFloatArray;

/// \brief Read a surface w file (*.w) file
/// from Freesurfer tools.
///
/// Reads a surface w file file from FreeSurfer and outputs a
/// vtkFloatArray. Use the SetFileName function to specify the file
/// name. The number of values in the array should be equal to the
/// number of vertices/points in the surface.
class VTK_FreeSurfer_EXPORT vtkFSSurfaceWFileReader : public vtkDataReader
{
public:
  static vtkFSSurfaceWFileReader *New();
  vtkTypeMacro(vtkFSSurfaceWFileReader,vtkDataReader);
  void PrintSelf(ostream& os, vtkIndent indent) override;

  vtkFloatArray *GetOutput();
  void SetOutput(vtkFloatArray *output);

  int ReadWFile();

  vtkGetMacro(NumberOfVertices,int);
  vtkSetMacro(NumberOfVertices,int);

  enum
  {
    /// error codes
    FS_ERROR_W_NONE = 0,
    FS_ERROR_W_OUTPUT_NULL = 1,
    FS_ERROR_W_NO_FILENAME = 2,
    FS_ERROR_W_OPEN = 3,
    FS_ERROR_W_NUM_VALUES = 4,
    FS_ERROR_W_ALLOC = 5,
    FS_ERROR_W_EOF = 6,
    /// file type magic numbers
    FS_NEW_SCALAR_MAGIC_NUMBER = 16777215,
  };

protected:
  vtkFSSurfaceWFileReader();
  ~vtkFSSurfaceWFileReader() override;

  vtkFloatArray * Scalars;

  /// this is the number of vertices in the associated model file,
  /// there may not be as many value in this scalar file as there
  /// are vertices
  int NumberOfVertices;

  int ReadInt3 (FILE* iFile, int& oInt);
  int ReadInt2 (FILE* iFile, int& oInt);
  int ReadFloat (FILE* iFile, float& oInt);

private:
  vtkFSSurfaceWFileReader(const vtkFSSurfaceWFileReader&);  /// Not implemented.
  void operator=(const vtkFSSurfaceWFileReader&);  /// Not implemented.
};

#endif


_logged_in.get(
            reverse("v1:reports-details", args=(report_id,))
        )
        assert details_response.ok, details_response.json()

        deployments_response = client_logged_in.get(
            reverse("v1:reports-deployments", args=(report_id,))
        )
        assert deployments_response.ok, deployments_response.json()

        full_report_response = client_logged_in.get(
            reverse("v1:reports-detail", args=(report_id,))
        )
        assert full_report_response.ok

        with tarfile.open(fileobj=BytesIO(full_report_response.content)) as tarball:
            tarball_details_dict = load_json_from_tarball(
                f"report_id_{report_id}/details-{report_id}.json", tarball
            )
            assert tarball_details_dict == details_response.json()

            tarball_deployments_dict = load_json_from_tarball(
                f"report_id_{report_id}/deployments-{report_id}.json", tarball
            )
            assert tarball_deployments_dict == deployments_response.json()


        name: "Ore Concentrate",
        input: vec![
            (Item::Group(NonBasicOre), 20),
        ],
        output: (OreConcentrate, 1),
        profession: Profession::Stonemasonry,
        menu: geomancy_components,
    });

    ret.push(Recipe {
        name: "Soil",
        input: vec![
            (Item::Crafted(Gravel), 8),
            (Item::Crafted(Mulch), 8),
            (Item::Crafted(OreConcentrate), 8),
        ],
        output: (Soil, 1),
        profession: Profession::Stonemasonry,
        menu: geomancy_components,
    });

    let stonemasonry_components = "Stonemasonry components";

    ret.push(Recipe {
        name: "Bricks",
        input: vec![
            (Item::Group(NonBasicStone), 20),
            (Item::Group(NonBasicStone), 20),
            (Item::Group(NonBasicStone), 20),
            (Item::Base(Dust), 5),
        ],
        output: (Bricks, 1),
        profession: Profession::Stonemasonry,
        menu: stonemasonry_components,
    });

    ret.push(Recipe {
        name: "Carpentry Nails",
        input: vec![
            (Item::Group(NonBasicOre), 15),
            (Item::Group(NonBasicOre), 15),
            (Item::Group(NonBasicOre), 15),
            (Item::Base(Dust), 5),
        ],
        output: (Nails, 1),
        profession: Profession::Stonemasonry,
        menu: stonemasonry_components,
    });

    ret.push(Recipe {
        name: "Diamond cutting blade",
        input: vec![
            (Item::Group(Ore), 9),
            (Item::Base(CuttingGrit), 3),
        ],
        output: (DiamondCuttingBlade, 1),
        profession: Profession::Stonemasonry,
        menu: stonemasonry_components,
    });

    ret.push(Recipe {
        name: "FloorTiles",
        input: vec![
            (Item::Group(NonBasicStoneOrWood), 20),
            (Item::Group(NonBasicStoneOrWood), 20),
            (Item::Group(NonBasicStoneOrWood), 20),
            (Item::Base(Dust), 5),
        ],
        output: (FloorTiles, 1),
        profession: Profession::Stonemasonry,
        menu: stonemasonry_components,
    });

    ret.push(Recipe {
        name: "Grinding wheel",
        input: vec![
            (Item::Group(NonBasicStone), 2),
			(Item::Group(NonBasicStone), 2),
			(Item::Group(NonBasicStone), 2),
        ],
        output: (GrindingWheel, 1),
        profession: Profession::Stonemasonry,
        menu: stonemasonry_components,
    });

    ret.push(Recipe {
        name: "Polishing paste",
        input: vec![
            (Item::Crafted(PowderedStone), 4),
            (Item::Base(WaterFlask), 1),
        ],
        output: (DiamondCuttingBlade, 1),
        profession: Profession::Stonemasonry,
        menu: stonemasonry_components,
    });

    ret.push(Recipe {
        name: "Quality Assurance Control Kit",
        input: vec![
            (Item::Group(NonBasicOre), 20),
            (Item::Base(Dust), 15),
            (Item::Group(NonBasicWood), 20),
            (Item::Group(Hide), 20),
            (Item::Group(NonBasicStone), 20),
        ],
        output: (QualityAssurance, 1),
        profession: Profession::Stonemasonry,
        menu: stonemasonry_components,
    });

    ret.push(Recipe {
        name: "Wood Shing


:= fmt.Sprint(v.Interface())
		if s != table.want {
			t.Errorf("constructed array = %s, want %s", s, table.want)
		}

		if table.comparable != at.Comparable() {
			t.Errorf("constructed array (%#v) is comparable=%v, want=%v", v.Interface(), at.Comparable(), table.comparable)
		}
		if table.comparable {
			if table.n > 0 {
				if DeepEqual(vnot.Interface(), v.Interface()) {
					t.Errorf(
						"arrays (%#v) compare ok (but should not)",
						v.Interface(),
					)
				}
			}
			if !DeepEqual(vok.Interface(), v.Interface()) {
				t.Errorf(
					"arrays (%#v) compare NOT-ok (but should)",
					v.Interface(),
				)
			}
		}
	}

	// check that type already in binary is found
	type T int
	checkSameType(t, Zero(ArrayOf(5, TypeOf(T(1)))).Interface(), [5]T{})
}

func TestArrayOfGC(t *testing.T) {
	type T *uintptr
	tt := TypeOf(T(nil))
	const n = 100
	var x []interface{}
	for i := 0; i < n; i++ {
		v := New(ArrayOf(n, tt)).Elem()
		for j := 0; j < v.Len(); j++ {
			p := new(uintptr)
			*p = uintptr(i*n + j)
			v.Index(j).Set(ValueOf(p).Convert(tt))
		}
		x = append(x, v.Interface())
	}
	runtime.GC()

	for i, xi := range x {
		v := ValueOf(xi)
		for j := 0; j < v.Len(); j++ {
			k := v.Index(j).Elem().Interface()
			if k != uintptr(i*n+j) {
				t.Errorf("lost x[%d][%d] = %d, want %d", i, j, k, i*n+j)
			}
		}
	}
}

func TestArrayOfAlg(t *testing.T) {
	at := ArrayOf(6, TypeOf(byte(0)))
	v1 := New(at).Elem()
	v2 := New(at).Elem()
	if v1.Interface() != v1.Interface() {
		t.Errorf("constructed array %v not equal to itself", v1.Interface())
	}
	v1.Index(5).Set(ValueOf(byte(1)))
	if i1, i2 := v1.Interface(), v2.Interface(); i1 == i2 {
		t.Errorf("constructed arrays %v and %v should not be equal", i1, i2)
	}

	at = ArrayOf(6, TypeOf([]int(nil)))
	v1 = New(at).Elem()
	shouldPanic(func() { _ = v1.Interface() == v1.Interface() })
}

func TestArrayOfGenericAlg(t *testing.T) {
	at1 := ArrayOf(5, TypeOf(string("")))
	at := ArrayOf(6, at1)
	v1 := New(at).Elem()
	v2 := New(at).Elem()
	if v1.Interface() != v1.Interface() {
		t.Errorf("constructed array %v not equal to itself", v1.Interface())
	}

	v1.Index(0).Index(0).Set(ValueOf("abc"))
	v2.Index(0).Index(0).Set(ValueOf("efg"))
	if i1, i2 := v1.Interface(), v2.Interface(); i1 == i2 {
		t.Errorf("constructed arrays %v and %v should not be equal", i1, i2)
	}

	v1.Index(0).Index(0).Set(ValueOf("abc"))
	v2.Index(0


    {T("CASE"),        fun_case,       MAX_ARG, 2, MAX_ARG, FN_NOEVAL, CA_PUBLIC},
    {T("CAT"),         fun_cat,        MAX_ARG, 0, MAX_ARG,         0, CA_PUBLIC},
    {T("CEIL"),        fun_ceil,       MAX_ARG, 1,       1,         0, CA_PUBLIC},
    {T("CEMIT"),       fun_cemit,      MAX_ARG, 2,       2,         0, CA_PUBLIC},
    {T("CENTER"),      fun_center,     MAX_ARG, 2,       3,         0, CA_PUBLIC},
    {T("CHANNELS"),    fun_channels,   MAX_ARG, 0,       1,         0, CA_PUBLIC},
    {T("CHANOBJ"),     fun_chanobj,    MAX_ARG, 1,       1,         0, CA_WIZARD},
    {T("CHILDREN"),    fun_children,   MAX_ARG, 1,       1,         0, CA_PUBLIC},
    {T("CHOOSE"),      fun_choose,     MAX_ARG, 2,       3,         0, CA_PUBLIC},
    {T("CHR"),         fun_chr,        MAX_ARG, 1,       1,         0, CA_PUBLIC},
    {T("CMDS"),        fun_cmds,       MAX_ARG, 1,       1,         0, CA_PUBLIC},
    {T("COLORDEPTH"),  fun_colordepth, MAX_ARG, 1,       1,         0, CA_PUBLIC},
    {T("COLUMNS"),     fun_columns,    MAX_ARG, 2,       4,         0, CA_PUBLIC},
    {T("COMALIAS"),    fun_comalias,   MAX_ARG, 2,       2,         0, CA_PUBLIC},
    {T("COMP"),        fun_comp,       MAX_ARG, 2,       2,         0, CA_PUBLIC},
    {T("COMTITLE"),    fun_comtitle,   MAX_ARG, 2,       2,         0, CA_PUBLIC},
    {T("CON"),         fun_con,        MAX_ARG, 1,       1,         0, CA_PUBLIC},
    {T("CONFIG"),      fun_config,     MAX_ARG, 0,       1,         0, CA_PUBLIC},
    {T("CONN"),        fun_conn,       MAX_ARG, 1,       1,         0, CA_PUBLIC},
    {T("CONNLAST"),    fun_connlast,   MAX_ARG, 1,       1,         0, CA_PUBLIC},
    {T("CONNLEFT"),    fun_connleft,   MAX_ARG, 1,       1,         0, CA_PUBLIC},
    {T("CONNMAX"),     fun_connmax,    MAX_ARG, 1,       1,         0, CA_PUBLIC},
    {T("CONNNUM"),     fun_connnum,    MAX_ARG, 1,       1,         0, CA_PUBLIC},
    {T("CONNRECORD"),  fun_connrecord, MAX_ARG, 0,       0,         0, CA_PUBLIC},
    {T("CONNTOTAL"),   fun_conntotal,  MAX_ARG, 1,       1,         0, CA_PUBLIC},
    {T("CONTROLS"),    fun_controls,   MAX_ARG, 2,       2,         0, CA_PUBLIC},
    {T("CONVSECS"),    fun_convsecs,   MAX_ARG, 1,       3,         0, CA_PUBLIC},
    {T("CONVTIME"),    fun_convtime,   MAX_ARG, 1,       3,         0, CA_PUBLIC},
    {T("COR"),         fun_cor,        MAX_ARG, 0, MAX_ARG, FN_NOEVAL, CA_PUBLIC},
    {T("CORBOOL"),     fun_corbool,    MAX_ARG, 0, MAX_ARG, FN_NOEVAL, CA_PUBLIC},
    {T("COS"),         fun_cos,        MAX_ARG, 1,       2,


margin-bottom:calc(var(--spacing)*0);border-radius:var(--radius-lg);background-color:var(--color-white);font-family:var(--font-family),ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:color-mix(in oklab,var(--gray-950)10%,transparent);overflow:hidden}.fi-fo-file-upload .filepond--root:where(.dark,.dark *){background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--root:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.fi-fo-file-upload .filepond--root:where(.dark,.dark *){--tw-ring-color:#fff3}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--root:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.fi-fo-file-upload .filepond--root[data-disabled=disabled]{background-color:var(--gray-50)}.fi-fo-file-upload .filepond--root[data-disabled=disabled]:where(.dark,.dark *){--tw-ring-color:#ffffff1a;background-color:#0000}@supports (color:color-mix(in lab, red, red)){.fi-fo-file-upload .filepond--root[data-disabled=disabled]:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.fi-fo-file-upload .filepond--root[data-style-panel-layout=compact\ circle]{border-radius:3.40282e38px}.fi-fo-file-upload .filepond--panel-root{background-color:#0000}.fi-fo-file-upload .filepond--drop-label label{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--gray-600);padding:calc(var(--spacing)*3)!important}.fi-fo-file-upload .filepond--drop-label label:where(.dark,.dark *){color:var(--gray-400)}.fi-fo-file-upload .filepond--label-action{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--primary-600);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,r


  width: 873px;
  min-height: 205px;
  height: auto;
  margin: 27px 64px 0 -194px;
}

.u-section-1 .u-container-layout-2 {
  padding: 13px 30px;
}

.u-section-1 .u-icon-1 {
  width: 167px;
  height: 167px;
  margin: 17px 20px 0 auto;
  padding: 0;
}

.u-section-1 .u-text-4 {
  font-weight: 400;
  margin: -122px auto 0 0;
}

.u-section-1 .u-btn-1 {
  margin: -199px 401px 60px auto;
}

.u-section-1 .u-icon-2 {
  font-size: 5.5626em;
}

@media (max-width: 1199px) {
  .u-section-1 .u-sheet-1 {
    min-height: 389px;
  }

  .u-section-1 .u-text-1 {
    font-size: 4.5rem;
  }

  .u-section-1 .u-text-2 {
    margin-right: 0;
    margin-left: 0;
  }

  .u-section-1 .u-layout-wrap-1 {
    margin-left: 197px;
  }

  .u-section-1 .u-group-1 {
    width: 410px;
    height: auto;
  }

  .u-section-1 .u-btn-1 {
    margin-right: 0;
  }
}

@media (max-width: 991px) {
  .u-section-1 .u-sheet-1 {
    min-height: 82px;
  }

  .u-section-1 .u-layout-wrap-1 {
    width: 720px;
    margin-left: 0;
  }

  .u-section-1 .u-layout-cell-1 {
    min-height: 100px;
  }

  .u-section-1 .u-text-3 {
    margin-right: 20px;
    margin-left: 40px;
  }

  .u-section-1 .u-group-1 {
    width: 300px;
    margin-right: 0;
    margin-left: 0;
  }
}

@media (max-width: 767px) {
  .u-section-1 .u-text-1 {
    font-size: 3.75rem;
    margin-left: 152px;
  }

  .u-section-1 .u-layout-wrap-1 {
    width: 540px;
  }

  .u-section-1 .u-text-3 {
    margin-right: 0;
    margin-left: 0;
  }

  .u-section-1 .u-container-layout-2 {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media (max-width: 575px) {
  .u-section-1 .u-text-1 {
    font-size: 3rem;
    margin-left: 96px;
  }

  .u-section-1 .u-layout-wrap-1 {
    width: 340px;
  }

  .u-section-1 .u-text-3 {
    font-size: 1.875rem;
  }
}.u-section-2 .u-sheet-1 {
  min-height: 664px;
}

.u-section-2 .u-text-1 {
  margin: 54px auto 0 633px;
}

.u-section-2 .u-text-2 {
  margin: 20px auto 0 293px;
}

.u-section-2 .u-list-1 {
  width: 1453px;
  margin: 39px auto 0 52px;
}

.u-section-2 .u-repeater-1 {
  grid-auto-columns: calc(25% - 10.5px);
  grid-template-columns: repeat(4, calc(25% - 10.5px


&=~2097152,d&=~2048,d&=~32768,d&=~524288;var E=0;for(var I in lt.flagsForNodeMap)d&I&&(E|=lt.flagsForNodeMap[I],d^=I);if(d)throw new S.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=lt.realPath(d),I;try{I=Oe.lstatSync(E)}catch(D){throw D.code?new S.ErrnoError(lt.convertNodeCode(D)):D}return lt.isWindows&&!I.blksize&&(I.blksize=4096),lt.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=lt.realPath(d);try{if(E.mode!==void 0&&(Oe.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var D=new Date(E.timestamp);Oe.utimesSync(I,D,D)}E.size!==void 0&&Oe.truncateSync(I,E.size)}catch(M){throw M.code?new S.ErrnoError(lt.convertNodeCode(M)):M}},lookup:function(d,E){var I=St.join2(lt.realPath(d),E),D=lt.getMode(I);return lt.createNode(d,E,D)},mknod:function(d,E,I,D){var M=lt.createNode(d,E,I,D),z=lt.realPath(M);try{S.isDir(M.mode)?Oe.mkdirSync(z,M.mode):Oe.writeFileSync(z,"",{mode:M.mode})}catch(ie){throw ie.code?new S.ErrnoError(lt.convertNodeCode(ie)):ie}return M},rename:function(d,E,I){var D=lt.realPath(d),M=St.join2(lt.realPath(E),I);try{Oe.renameSync(D,M)}catch(z){throw z.code?new S.ErrnoError(lt.convertNodeCode(z)):z}d.name=I},unlink:function(d,E){var I=St.join2(lt.realPath(d),E);try{Oe.unlinkSync(I)}catch(D){throw D.code?new S.ErrnoError(lt.convertNodeCode(D)):D}},rmdir:function(d,E){var I=St.join2(lt.realPath(d),E);try{Oe.rmdirSync(I)}catch(D){throw D.code?new S.ErrnoError(lt.convertNodeCode(D)):D}},readdir:function(d){var E=lt.realPath(d);try{return Oe.readdirSync(E)}catch(I){throw I.code?new S.ErrnoError(lt.convertNodeCode(I)):I}},symlink:function(d,E,I){var D=St.join2(lt.realPath(d),E);try{Oe.symlinkSync(I,D)}catch(M){throw M.code?new S.ErrnoError(lt.convertNodeCode(M)):M}},readlink:function(d){var E=lt.realPath(d);try{return E=Oe.readlinkSync(E),E=Hu.relative(Hu.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new S.ErrnoError(lt.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=lt.realPath(d.node);try{S.isFile(d.node.mode)&&(d.nfd=Oe.openSync(E,lt.flagsForNode(d.flags)))}catch(I){throw I.code?new S.ErrnoError(lt.conv


return response;
    }
  };
}
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'dart:io';

import 'package:path/path.dart' as path;

import 'task_result.dart';
import 'utils.dart';

final String platformLineSep = Platform.isWindows ? '\r\n' : '\n';

final List<String> flutterAssets = <String>[
  'assets/flutter_assets/AssetManifest.json',
  'assets/flutter_assets/NOTICES.Z',
  'assets/flutter_assets/fonts/MaterialIcons-Regular.otf',
  'assets/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf',
];

final List<String> debugAssets = <String>[
  'assets/flutter_assets/isolate_snapshot_data',
  'assets/flutter_assets/kernel_blob.bin',
  'assets/flutter_assets/vm_snapshot_data',
];

final List<String> baseApkFiles = <String> [
  'classes.dex',
  'AndroidManifest.xml',
];

/// Runs the given [testFunction] on a freshly generated Flutter project.
Future<void> runProjectTest(Future<void> Function(FlutterProject project) testFunction) async {
  final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_gradle_plugin_test.');
  final FlutterProject project = await FlutterProject.create(tempDir, 'hello');

  try {
    await testFunction(project);
  } finally {
    rmTree(tempDir);
  }
}

/// Runs the given [testFunction] on a freshly generated Flutter plugin project.
Future<void> runPluginProjectTest(Future<void> Function(FlutterPluginProject pluginProject) testFunction) async {
  final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_gradle_plugin_test.');
  final FlutterPluginProject pluginProject = await FlutterPluginProject.create(tempDir, 'aaa');

  try {
    await testFunction(pluginProject);
  } finally {
    rmTree(tempDir);
  }
}

/// Runs the given [testFunction] on a freshly generated Flutter module project.
Future<void> runModuleProjectTest(Future<void> Function(FlutterModuleProject moduleProject) testFunction) async {
  final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_gradle_module_test.');
  final FlutterModuleProject moduleProject = await FlutterModuleProject.create(tempDir, 'hello_module');

  try {
    await testFunction(moduleProject);
  } finally {
    rmTree(tempDir);
  }
}

/// Returns the list of files inside an Android Package Kit.
Future<Iterable<String>> getFilesInApk(String apk) async {
  if (!File(apk).existsSync()) {
    throw TaskResult.failure(
        'Gradle did not produce an output artifact file at: $apk');
  }
  final String files = await _evalApkAnalyzer(
    <String>[
      'files',
      'list',
      apk,
    ]
  );
  return files.split('\n').map((String file) => file.substring(1).trim());
}
/// Returns the list of files inside an Android App Bundle.
Future<Iterable<String>> getFilesInAppBundle(String bundle) {
  return getFilesInApk(bundle);
}

/// Returns the list of files inside an Android Archive.
Future<Iterable<String>> getFilesInAar(String aar) {
  return getFilesInApk(aar);
}

TaskResult failure(String message, ProcessResult result) {
  print('Unexpected process result:');
  print('Exit code: ${result.exitCode}');
  print('Std out  :\n${result.stdout}');
  print('Std err  :\n${result.stderr}');
  return TaskResult.failure(message);
}

bool hasMultipleOccurrences(String text, Pattern pattern) {
  return text.indexOf(pattern) != text.lastIndexOf(pattern);
}

/// The Android home directory.
String get _


|疫情影响|新冠疫情对国际贸易造成了怎样的影响？|
|社交媒体|如何在社交媒体上创造更多的用户互动和增加用户粘性？|
|广告投放|如何根据产品特点选择最合适的广告投放平台和方式？|
|餐饮业|如何在现在的市场环境下成功开展餐饮行业？|
|旅游规划|如何规划一次完美的自驾游路线，让旅途更加愉快？|
|医疗保健|如何提高医院服务的质量，让患者更加满意？|
|城市规划|如何根据城市不同的特点制定最佳的城市发展规划？|
|购物|如何在淘宝上找到最便宜的商品？|
|旅游|在巴厘岛旅游，哪些景点是必去的？|
|科技|一台电脑被黑客攻击后，如何保护其中的重要数据？|
|健康|怎么样预防感冒和流感？|
|文化|如何理解中国传统文化中的“君子”概念？|
|教育|大学生该如何规划自己的职业生涯？|
|历史|二战期间，日本的军国主义思想对于其战争行为有何影响？|
|社会|如何有效地应对心理压力？|
|金融|如何评估一只股票的投资价值？|
|环境|如何减少塑料污染并保护海洋生态？|
| 分类 | 这本小说属于哪个流派？ |
| 生成 | 描述一下你最理想的度假胜地是什么样子。 |
| 编辑 | 能否修改这篇文章中的语法错误和拼写错误？ |
| 开放生成 | 给我讲一个有趣的童话故事。 |
| 分类 | 这款电影属于哪个类型？ |
| 编辑 | 把这个句子改成更正式的语言。 |
| 开放生成 | 请描述一下你昨天晚上做的梦。 |
| 分类 | 这首歌曲的风格是什么？ |
| 编辑 | 这篇论文需要增加多少字数才能达到要求？ |
| 开放生成 | 假设你可以时间旅行，你会去哪个时代？为什么？ |
|-|-|
|电影推荐|能否根据我的喜好推荐一部适合我观看的电影？|
|健康咨询|请问我有哪些不良习惯会对身体造成危害？|
|文本生成|请帮我生成一


//
// Socket.h
//
// SmallSockets Library (http://smallsockets.sourceforge.net/)
//
// Copyright (C) 2001 Steven Frank (stevenf@panic.com)
//
// This software is provided 'as-is', without any express or implied
// warranty. In no event will the authors be held liable for any damages
// arising from the use of this software.
//
// Permission is granted to anyone to use this software for any purpose,
// including commercial applications, and to alter it and redistribute it
// freely, subject to the following restrictions:
//
//     1. The origin of this software must not be misrepresented; you must
//        not claim that you wrote the original software. If you use this
//        software in a product, an acknowledgment in the product
//        documentation (and/or about box) would be appreciated but is not
//        required.
//
//     2. Altered source versions must be plainly marked as such, and must
//        not be misrepresented as being the original software.
//
//     3. This notice may not be removed or altered from any source
//        distribution.
//

#import "AbstractSocket.h"

@interface Socket : AbstractSocket
{
}

// Convenience constructor

+ (Socket*)socket;

// Receiving connections

- (Socket*)acceptConnectionAndKeepListening;

@end


reateSessionDescriptionWithStream(2);
    EXPECT_TRUE(session1_.set_local_description(sdesc));

    session1_.SetState(cricket::Session::STATE_SENTPRACCEPT);
    EXPECT_EQ(cricket::BaseSession::ERROR_NONE, session1_.error());
    EXPECT_TRUE(media_channel1_->HasRecvStream(1));
    EXPECT_TRUE(media_channel1_->HasSendStream(2));

    // Send ACCEPT
    sdesc = CreateSessionDescriptionWithStream(3);
    EXPECT_TRUE(session1_.set_local_description(sdesc));

    session1_.SetState(cricket::Session::STATE_SENTACCEPT);
    EXPECT_EQ(cricket::BaseSession::ERROR_NONE, session1_.error());
    EXPECT_TRUE(media_channel1_->HasRecvStream(1));
    EXPECT_FALSE(media_channel1_->HasSendStream(2));
    EXPECT_TRUE(media_channel1_->HasSendStream(3));
  }

  void TestReceivePrAnswer() {
    CreateChannels(0, 0);

    // Set up the initial session description.
    cricket::SessionDescription* sdesc = CreateSessionDescriptionWithStream(1);
    EXPECT_TRUE(session1_.set_local_description(sdesc));

    session1_.SetError(cricket::BaseSession::ERROR_NONE);
    session1_.SetState(cricket::Session::STATE_SENTINITIATE);
    EXPECT_EQ(cricket::BaseSession::ERROR_NONE, session1_.error());
    EXPECT_TRUE(media_channel1_->HasSendStream(1));

    // Receive PRANSWER
    sdesc = CreateSessionDescriptionWithStream(2);
    EXPECT_TRUE(session1_.set_remote_description(sdesc));

    session1_.SetState(cricket::Session::STATE_RECEIVEDPRACCEPT);
    EXPECT_EQ(cricket::BaseSession::ERROR_NONE, session1_.error());
    EXPECT_TRUE(media_channel1_->HasSendStream(1));
    EXPECT_TRUE(media_channel1_->HasRecvStream(2));

    // Receive ACCEPT
    sdesc = CreateSessionDescriptionWithStream(3);
    EXPECT_TRUE(session1_.set_remote_description(sdesc));

    session1_.SetState(cricket::Session::STATE_RECEIVEDACCEPT);
    EXPECT_EQ(cricket::BaseSession::ERROR_NONE, session1_.error());
    EXPECT_TRUE(media_channel1_->HasSendStream(1));
    EXPECT_FALSE(media_channel1_->HasRecvStream(2));
    EXPECT_TRUE(media_channel1_->HasRecvStream(3));
  }

  void TestFlushRtcp() {
    bool send_rtcp1;

    CreateChannels(RTCP, RTCP);
    EXPECT_TRUE(SendInitiate());
    EXPECT_TRUE(SendAccept());
    EXPECT_EQ(2U, GetTransport1()->channels().size());
    EXPECT_EQ(2U, GetTransport2()->channels().size());

    // Send RTCP1 from a different thread.
    CallOnThreadAndWaitForDone(&ChannelTest<T>::SendRtcp1, &send_rtcp1);
    EXPECT_TRUE(send_rtcp1);
    // The sending message is only posted.  channel2_ should be empty.
    EXPECT_TRUE(CheckNoRtcp2());

    // When channel1_ is deleted, the RTCP packet should be sent out to
    // channel2_.
    channel1_.reset();
    EXPECT_TRUE(CheckRtcp2());
  }

  void TestChangeStateError() {
    CreateChannels(RTCP, RTCP);
    EXPECT_TRUE(SendInitiate());
    media_channel2_->set_fail_set_send(true);
    EXPECT_TRUE(channel2_->Enable(true));
    EXPECT_EQ(cricket::VoiceMediaChannel::ERROR_REC_DEVICE_OPEN_FAILED,
              error_);
  }

  void TestSrtpError() {
    static const unsigned char kBadPacket[] = {


.log(Status)

// // let status = Status.Ready;
// // status = Color.Green;  // Error

// // 类

// // 类与对象字面量和接口差不多，但有一点不同：类有静态部分和实例部分的类型。比较两个类类型的对象时，只有实例的成员
// // 会比较。静态成员和构造函数不在比较的范围内。

// class Animal {
//     feet: number;
//     constructor(name: string, numFeet: number) {}
// }

// class Size {
//     feet: number;
//     constructor(numFeet: number) {}
// }

// var z: Animal

// var s: Size

// z = s
// s = z

// console.log(z,s)

// interface Empty<T> {
// }
// let q: Empty<number>;
// let w: Empty<string>;

// q = w;  // OK, because y matches structure of x
// console.log(q,w)

// // 上面代码里，x和y是兼容的，因为它们的机构使用类型参数时并没有上面不同。把这个例子改变一个，增加一个成员，
// // 就能看出是如何工作的了；
// interface NotEmpty<T> {
//     data: T
// }
// let e: NotEmpty<string>
// let r: NotEmpty<number>

// // e = r // error, beause x and y are not compatible
// console.log(e, r)

// // 在这里，泛型类型在使用
// // 对于没制定泛型类型的泛型参数时，会把所有泛型参数当成any比较。然后用结果类型进行比较，就像上面第一个例子
// // 比如

// let identity = function<T>(x: T): T {
//     // ...
// }

// let reverse = function<U>(y: U): U {
//     // ...
// }

// identity =reverse //ok, beause (x: any) => any matches (y: any) => any

// // 高级主题

// // 子类型与赋值

// // 目前位置，我们使用了"兼容性",它在语言规范中没有定义。在ts里，有两种兼容性：子类型和赋值。它们的不同点在于，
// // 赋值扩展了子类型兼容性，增加了一些规则，允许和any来回赋值，一级enum和对应数字值之间的来回赋值。

// // 语言里的不同地方分别使用了它们之中的机制。实际上，类型兼容性是由赋值兼容性来控制的，
// // 即使在implements和extends语句也不例外。import DoorModel from '../model/door';

export function createDoors(
  quantity: number,
  doorHasGift: number
): DoorModel[] {
  return Array.from({ length: quantity }, (_, index) => {
    const number = index + 1;
    const hasGift = number === doorHasGift;
    return new DoorModel(number, hasGift);
  });
}

export function updateDoors(
  doors: DoorModel[],
  modifiedDoor: DoorModel
): DoorModel[] {
  return doors.map((actualDoor) =>


# return marginal effect
    return reference_percent - protected_percent

def smd(valid, x_name, yhat_name, reference, protected):

    """ Calculates standardized mean difference between a protected and reference group:
        (mean(yhat | x_j=protected) - mean(yhat | x_j=reference))/sigma(yhat).
        Prints intermediate values.

        :param valid: Pandas dataframe containing j and predicted (yhat) values.
        :param x_name: name of demographic column containing reference and protected group labels.
        :param yhat_name: Name of predicted value column.
        :param reference: name of reference group in x_name.
        :param protected: name of protected group in x_name.

    Returns:
       Standardized mean difference as a formatted string.

    """

    # yhat mean for j=reference
    reference_yhat_mean = valid[valid[x_name] == reference][yhat_name].mean()
    print(reference.title() + ' mean yhat: %.2f' % reference_yhat_mean)

    # yhat mean for j=protected
    protected_yhat_mean = valid[valid[x_name] == protected][yhat_name].mean()
    print(protected.title() + ' mean yhat: %.2f' % protected_yhat_mean)

    # std for yhat
    sigma = valid[yhat_name].std()
    print(yhat_name.title() + ' std. dev.:  %.2f' % sigma)

    return (protected_yhat_mean - reference_yhat_mean) / sigma


rameter
            // to this method, like BeforeInvoke(), we have to do it this way.  Should we return a correlation state
            // from BeforeInvoke() to get to this?
            OperationContext.Current.Channel.Extensions.Remove(UnityContextChannelExtension.Current);
        }

        /// <summary>
        /// Initializes the operation thread by adding the <see cref="UnityContextChannelExtension"/> to the WCF client channel.
        /// </summary>
        /// <param name="instanceContext">The service instance for the operation.</param>
        /// <param name="channel">The client channel.</param>
        /// <param name="message">The incoming message.</param>
        /// <returns>A correlation object passed back as a parameter of the AfterInvoke method.</returns>
        public object BeforeInvoke(InstanceContext instanceContext, IClientChannel channel, Message message)
        {
            if (channel == null)
            {
                throw new ArgumentNullException("channel");
            }

            channel.Extensions.Add(new UnityContextChannelExtension());
            return null;
        }
    }
}


n = Math.min(it.tempMin.toInt(), min)
            max = Math.max(it.tempMax.toInt(), max)
        }

        mForecastAdapter15d?.setRange(min, max)
    }

    /**
     * 空气质量
     */
    private fun showAirNow(airNow: Air) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            mBinding.tvAirCondition.text =
                getString(R.string.air_condition, airNow.aqi, airNow.category)

            TextViewCompat.setCompoundDrawableTintList(
                mBinding.tvAirCondition, ColorStateList.valueOf(
                    WeatherUtil.getAirColor(
                        requireContext(),
                        airNow.aqi
                    )
                )
            )
            mBinding.tvAirCondition.visibility = View.VISIBLE
        } else {
            mBinding.tvAirCondition.visibility = View.GONE
        }
        airQualityBinding.airConditionView.setValue(airNow.aqi.toInt(), airNow.category)

        airQualityBinding.tvTodayPm25.text = airNow.pm2p5
        airQualityBinding.tvTodaySo2.text = airNow.so2
        airQualityBinding.tvTodayCo.text = airNow.co
        airQualityBinding.tvTodayPm10.text = airNow.pm10
        airQualityBinding.tvTodayNo2.text = airNow.no2
        airQualityBinding.tvTodayO3.text = airNow.o3
    }

    /**
     * 预警
     */
    private fun showWarnings(warnings: List<Warning>) {
        mBinding.alarmFlipper.visibility = View.VISIBLE
        mBinding.alarmFlipper.setInAnimation(requireContext(), R.anim.bottom_in)
        mBinding.alarmFlipper.setOutAnimation(requireContext(), R.anim.top_out)
        mBinding.alarmFlipper.flipInterval = 4000
        for (warning in warnings) {
            val level: String = warning.level
            val tip = warning.typeName + level + "预警"
            val warningRes = WeatherUtil.getWarningRes(requireContext(), level)
            val textView: TextView = layoutInflater.inflate(R.layout.item_warning, null) as TextView
            textView.background = warningRes.first
            textView.text = tip
            textView.setOnClickListener {
//                toastCenter(warning.text)
                AlarmDialog(requireContext()).apply {
                    setContent(tip, warning.text)
                    show()
                }
            }
            textView.setTextColor(warningRes.second)
            mBinding.alarmFlipper.addView(textView)
        }
        if (warnings.size > 1) {
            mBinding.alarmFlipper.startFlipping()
        }
    }

    /**
     * 逐小时天气
     */
    private fun showHourly(hourlyWeatherList: List<Hourly>) {
        val data: MutableList<Hourly> = ArrayList()
        val end = if (hourlyWeatherList.size > 23) 23 else hourlyWeatherList.size - 1
        for (i in 0..end) {
            data.add(hourlyWeatherList[i])
            val condCode = data[i].icon
            var time = data[i].fxTime
            time = time.substring(time.length - 11, time.length - 9)
            val hourNow = time.toInt()
            if (hourNow in 6..19) {
                data[i].icon = condCode + "d"
            } else {
                data[i].icon = condCode + "n"
            }
        }
        var minTmp = data[0].temp.toInt()
        var maxTmp = minTmp
        for (i in data.indices) {
            val tmp = data[i].temp.toInt()
            minTmp = Math.min(tmp, minTmp)
            maxTmp =


 will serve as the control plane node.

2. Clone the repository and navigate to the [`utils/`](../utils/) folder:

   ```bash
   git clone https://github.com/vllm-project/production-stack.git
   cd production-stack/utils
   ```

3. Execute the script [`install-calico.sh`](../utils/install-calico.sh):

   ```bash
   bash install-calico.sh
   ```

4. **Expected Output:**
   - Confirmation that the `Tigera` operator and its associated custom resources have been successfully installed.
   - Verification message using:

     ```bash
     kubectl get pods -o wide
     ```

   Example output:

   ```plaintext
   NAMESPACE          NAME                                                          READY   STATUS      RESTARTS      AGE   IP                NODE                       NOMINATED NODE   READINESS
   GATES
   calico-apiserver   calico-apiserver-cccf4bb9f-8lbc7                              1/1     Running     0             21h   192.168.190.7     instance-20250503-060921   <none>           <none>
   calico-apiserver   calico-apiserver-cccf4bb9f-knn9c                              1/1     Running     0             21h   192.168.190.4     instance-20250503-060921   <none>           <none>
   calico-system      calico-kube-controllers-56dfdbb787-c24gd                      1/1     Running     0             21h   192.168.190.2     instance-20250503-060921   <none>           <none>
   calico-system      calico-node-dtbcq                                             1/1     Running     0             21h   10.xxx.xxx.xxx       instance-20250503-060921   <none>           <none>
   calico-system      calico-node-jptsp                                             1/1     Running     0             33m   10.xxx.xxx.xxx      insudevmachine             <none>           <none>
   calico-system      calico-typha-b7d75bc58-h6vrb                                  1/1     Running     0             37m   10.xxx.xxx.xxx        instance-20250503-060921   <none>           <none>
   calico-system      csi-node-driver-884sn                                         2/2     Running     0             26m   192.168.165.193   insudevmachine             <none>           <none>
   calico-system      csi-node-driver-bb7dl                                         2/2     Running     0             21h   192.168.190.1     instance-20250503-060921   <none>           <none>
   calico-system      goldmane-7b5b4cd5d9-6bk5p                                     1/1     Running     0             21h   192.168.190.6     instance-20250503-060921   <none>           <none>
   calico-system      whisker-5dbf545674-hnkpz                                      2/2     Running     0             21h   192.168.190.8     instance-20250503-060921   <none>           <none>
   ...
   kube-system        coredns-668d6bf9bc-5hvx7                                      1/1     Running     0             21h   192.168.190.3     instance-20250503-060921   <none>           <none>
   kube-system        coredns-668d6bf9bc-wb7qq                                      1/1     Running     0             21h   192.168.190.5     instance-20250503-060921   <none>           <none>
   ```

   Ensure that the status of each node is marked as “Ready” and that the CoreDNS pods are running:

   ```bash
   kubectl get nodes

   # NAME


_72);
    }
}

pub fn serialize_structure_describe_events_detection_job_input(
    object: &mut smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DescribeEventsDetectionJobInput,
) {
    if let Some(var_73) = &input.job_id {
        object.key("JobId").string(var_73);
    }
}

pub fn serialize_structure_describe_key_phrases_detection_job_input(
    object: &mut smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DescribeKeyPhrasesDetectionJobInput,
) {
    if let Some(var_74) = &input.job_id {
        object.key("JobId").string(var_74);
    }
}

pub fn serialize_structure_describe_pii_entities_detection_job_input(
    object: &mut smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DescribePiiEntitiesDetectionJobInput,
) {
    if let Some(var_75) = &input.job_id {
        object.key("JobId").string(var_75);
    }
}

pub fn serialize_structure_describe_sentiment_detection_job_input(
    object: &mut smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DescribeSentimentDetectionJobInput,
) {
    if let Some(var_76) = &input.job_id {
        object.key("JobId").string(var_76);
    }
}

pub fn serialize_structure_describe_topics_detection_job_input(
    object: &mut smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DescribeTopicsDetectionJobInput,
) {
    if let Some(var_77) = &input.job_id {
        object.key("JobId").string(var_77);
    }
}

pub fn serialize_structure_detect_dominant_language_input(
    object: &mut smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DetectDominantLanguageInput,
) {
    if let Some(var_78) = &input.text {
        object.key("Text").string(var_78);
    }
}

pub fn serialize_structure_detect_entities_input(
    object: &mut smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DetectEntitiesInput,
) {
    if let Some(var_79) = &input.text {
        object.key("Text").string(var_79);
    }
    if let Some(var_80) = &input.language_code {
        object.key("LanguageCode").string(var_80.as_str());
    }
    if let Some(var_81) = &input.endpoint_arn {
        object.key("EndpointArn").string(var_81);
    }
}

pub fn serialize_structure_detect_key_phrases_input(
    object: &mut smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DetectKeyPhrasesInput,
) {
    if let Some(var_82) = &input.text {
        object.key("Text").string(var_82);
    }
    if let Some(var_83) = &input.language_code {
        object.key("LanguageCode").string(var_83.as_str());
    }
}

pub fn serialize_structure_detect_pii_entities_input(
    object: &mut smithy_json::serialize::JsonObjectWriter,
    input: &crate::input::DetectPiiEntitiesInput,
) {
    if let Some(var_84) = &input.text {
        object.key("Text").string(var_84);
    }
    if let Some(var_85) = &input.language_code {
        object.key("LanguageCode").string(var_85.as_str());
    }
}

pub fn serialize


 (ex: `%utctime%`) will not be precise.

#### ADD
  `ADD1` to `ADD16`: Add a value to `VARx`
  Syntax: `ADDx value`
  Usage: `ADD1 15`
  Result: `VAR1 = VAR1 + 15`

#### SUBTRACT
  `SUB1 `to `SUB16`: Subtract a value from `VARx`
  Syntax: `SUBx value`
  Usage: `SUB1 15`
  Result: `VAR1 = VAR1 - 15`

#### MULTIPLY
  `MULT1 `to `MULT16`: Multiply a value to `VARx`
  Syntax: `MULTx value`
  Usage: `MULT1 15`
  Result: `VAR1 = VAR1 * 15`

#### SCALE A VALUE
  `SCALE1 `to `SCALE16`: Scale a value from a low and high limit to another low and high limit and store it in `VARx` (directly equivalent to MAP arduino command)

  Syntax: `SCALEx value, fromLow, fromHigh, toLow, toHigh`

  where,

  _value_: the number to scale
  _fromLow_: the lower bound of the value’s current range
  _fromHigh_: the upper bound of the value’s current range
  _toLow_: the lower bound of the value’s target range
  _toHigh_: the upper bound of the value’s target range

  _(omitted values are taken as zero)_

  Usage: `SCALE1 15, 0, 100, 0, 1000`
  Result: `VAR1 = 150`

----------------------------------------------------------------------------

### Transmit sensor value only when a delta is reached

Send only when the sensor value changes by a certain amount.

```haskell
Rule1
  ON SI7021#temperature>%var1% DO Backlog var1 %value%; publish stat/mqttTopic/temp %value%; var2 %value%; add1 2; sub2 2 ENDON
  ON SI7021#temperature<%var2% DO Backlog var2 %value%; publish stat/mqttTopic/temp %value%; var1 %value%; add1 2; sub2 2 ENDON
```

This example explains expands on the above example while matching typical sensor data.
Helpful for HA tasmota integration sensors when polling and adding in delta value changes.

Normal polling data below
```haskell
23:58:41 MQT: tele/ds1820/SENSOR = {"Time":"2021-01-13T23:58:41","DS18B20":{"Id":"030597946B04","Temperature":20.9},"TempUnit":"C"}
```
The matching rule.

```haskell
Rule1
  ON DS18B20#temperature>%var1% DO Backlog var1 %value%; publish tele/ds1820/SENSOR {"Time":"%timestamp%","DS18B20":{"Id":"030597946B04","Temperature":%value%},"TempUnit":"C"}; var2 %value%; add1 0.5; sub2 0.5 ENDON
  ON DS18B20#temperature<%var2% DO Backlog var2 %value%; publish tele/ds1820/SENSOR {"Time":"%TIMESTAMP%","DS18B20":{"Id":"030597946B04","Temperature":%value%},"TempUnit":"C"}; var1 %value%; add1 0.5; sub2 0.5 ENDON
```

-----------------------------------------------------------------------------

### Adjust a value and send it over MQTT
This example adds 2 degrees to the measured temperature and then sends that value to an MQTT topic.

```haskell
Rule1
  ON tele-SI7021#temperature DO Backlog var1 %value%; add1 2; event sendtemp ENDON
  ON event#sendtemp DO publish stat/mqttTopic/temp %var1% ENDON
```

------------------------------------------------------------------------------

### Control relays via serial

This example switches connected relays over the software serial on and off.

Write the following rules:

```haskell
rule1
  ON SSerialReceived#Data=on DO Power1 1 ENDON
  ON SSerialReceived#Data=off DO Power1 0 ENDON
```

receiving `on` and `off` results in

```
MQT: tele/mqttTopic/RESULT = {"SSerialReceived":"on"}
RUL: SSERIALRECEIVED#DATA=ON performs "Power1 1"
MQT: stat/mqttTopic/RESULT = {"POWER":"ON"}


till in phase "+sub.phase+": "+sub);
                    if (verbose() <= 1)  return false;  // fail now
                }
            }
        }
        return true;
    }

    private static void printCDecl(Band b) {
        if (b instanceof MultiBand) {
            MultiBand mb = (MultiBand) b;
            for (int i = 0; i < mb.bandCount; i++) {
                printCDecl(mb.bands[i]);
            }
            return;
        }
        String ixS = "NULL";
        if (b instanceof CPRefBand) {
            Index ix = ((CPRefBand)b).index;
            if (ix != null)  ixS = "INDEX("+ix.debugName+")";
        }
        Coding[] knownc = { BYTE1, CHAR3, BCI5, BRANCH5, UNSIGNED5,
                            UDELTA5, SIGNED5, DELTA5, MDELTA5 };
        String[] knowns = { "BYTE1", "CHAR3", "BCI5", "BRANCH5", "UNSIGNED5",
                            "UDELTA5", "SIGNED5", "DELTA5", "MDELTA5" };
        Coding rc = b.regularCoding;
        int rci = Arrays.asList(knownc).indexOf(rc);
        String cstr;
        if (rci >= 0)
            cstr = knowns[rci];
        else
            cstr = "CODING"+rc.keyString();
        System.out.println("  BAND_INIT(\""+b.name()+"\""
                           +", "+cstr+", "+ixS+"),");
    }

    private Map<Band, Band> prevForAssertMap;

    // DEBUG ONLY:  Record something about the band order.
    boolean notePrevForAssert(Band b, Band p) {
        if (prevForAssertMap == null)
            prevForAssertMap = new HashMap<>();
        prevForAssertMap.put(b, p);
        return true;
    }

    // DEBUG ONLY:  Validate next input band, ensure bands are read in sequence
    private boolean assertReadyToReadFrom(Band b, InputStream in) throws IOException {
        Band p = prevForAssertMap.get(b);
        // Any previous band must be done reading before this one starts.
        if (p != null && phaseCmp(p.phase(), DISBURSE_PHASE) < 0) {
            Utils.log.warning("Previous band not done reading.");
            Utils.log.info("    Previous band: "+p);
            Utils.log.info("        Next band: "+b);
            assert(verbose > 0);  // die unless verbose is true
        }
        String name = b.name;
        if (optDebugBands && !name.startsWith("(")) {
            assert(bandSequenceList != null);
            // Verify synchronization between reader & writer:
            String inName = bandSequenceList.removeFirst();
            // System.out.println("Reading: " + name);
            if (!inName.equals(name)) {
                Utils.log.warning("Expected " + name + " but read: " + inName);
                return false;
            }
            Utils.log.info("Read band in sequence: " + name);
        }
        return true;
    }

    // DEBUG ONLY:  Make sure a bunch of cprefs are correct.
    private boolean assertValidCPRefs(CPRefBand b) {
        if (b.index == null)  return true;
        int limit = b.index.size()+1;
        for (int i = 0; i < b.length(); i++) {
            int v = b.valueAtForDebug(i);
            if (v < 0 || v >= limit) {
                Utils.log.warning("CP ref out of range "+
                                   "["+i+"] = "+v+" in "+b);
                return false;
            }
        }
        return true;
    }

    /*
     * DEBUG ONLY:  write the bands to a list and read back the list in order,
     * this works perfectly if we use the java packer and unpacker, typically
     *


eturn args.Error(0)
}

func (m *mockTargetManager) PutRetentionPolicy(target Target) {
	m.Called(target)
}

func TestSender(t *testing.T) {
	logger := testutil.NewNopLogger()

	t.Run("Send/Success", func(t *testing.T) {
		batch := newLogEventBatch(Target{Group: "G", Stream: "S"}, nil)

		doneCallbackCalled := false
		doneCallback := func() {
			doneCallbackCalled = true
		}
		batch.append(newLogEvent(time.Now(), "Test message", doneCallback))

		stateCallbackCalled := false
		batch.addStateCallback(func() {
			stateCallbackCalled = true
		})

		mockService := new(mockLogsService)
		mockManager := new(mockTargetManager)
		mockService.On("PutLogEvents", mock.Anything).Return(&cloudwatchlogs.PutLogEventsOutput{}, nil).Once()

		s := newSender(logger, mockService, mockManager, time.Second, make(chan struct{}))
		s.Send(batch)

		mockService.AssertExpectations(t)
		assert.True(t, stateCallbackCalled, "State callback was not called in success scenario")
		assert.True(t, doneCallbackCalled, "Done callback was not called in success scenario")
	})

	t.Run("Send/RejectedLogEvents", func(t *testing.T) {
		batch := newLogEventBatch(Target{Group: "G", Stream: "S"}, nil)
		batch.append(newLogEvent(time.Now(), "Test message", nil))

		rejectedInfo := &cloudwatchlogs.RejectedLogEventsInfo{
			TooOldLogEventEndIndex:   aws.Int64(1),
			TooNewLogEventStartIndex: aws.Int64(2),
			ExpiredLogEventEndIndex:  aws.Int64(3),
		}

		mockService := new(mockLogsService)
		mockManager := new(mockTargetManager)
		mockService.On("PutLogEvents", mock.Anything).Return(&cloudwatchlogs.PutLogEventsOutput{RejectedLogEventsInfo: rejectedInfo}, nil).Once()

		s := newSender(logger, mockService, mockManager, time.Second, make(chan struct{}))
		s.Send(batch)

		mockService.AssertExpectations(t)
	})

	t.Run("Send/ResourceNotFound", func(t *testing.T) {
		batch := newLogEventBatch(Target{Group: "G", Stream: "S"}, nil)
		batch.append(newLogEvent(time.Now(), "Test message", nil))

		mockService := new(mockLogsService)
		mockManager := new(mockTargetManager)
		mockService.On("PutLogEvents", mock.Anything).
			Return(&cloudwatchlogs.PutLogEventsOutput{}, &cloudwatchlogs.ResourceNotFoundException{}).Twice()
		mockManager.On("InitTarget", mock.Anything).Return(errors.New("test")).Once()
		mockManager.On("InitTarget", mock.Anything).Return(nil).Once()
		mockService.On("PutLogEvents", mock.Anything).Return(&cloudwatchlogs.PutLogEventsOutput{}, nil).Once()

		s := newSender(logger, mockService, mockManager, time.Second, make(chan struct{}))
		s.Send(batch)

		mockService.AssertExpectations(t)
		mockManager.AssertExpectations(t)
	})

	t.Run("Error/InvalidParameter", func(t *testing.T) {
		batch := newLogEventBatch(Target{Group: "G", Stream: "S"}, nil)

		doneCallbackCalled := false
		doneCallback := func() {
			doneCallbackCalled = true
		}
		batch.append(newLogEvent(time.Now(), "Test message", doneCallback))

		stateCallbackCalled := false
		batch.addStateCallback(func() {


es_not_have_the_accurate_type()
      {
         A.CallTo(() => _derivedField.IsDerivedTypeFor<PopulationAnalysisParameterField>()).Returns(false);
         sut.IsDerivedTypeFor<PopulationAnalysisParameterField>().ShouldBeFalse();
      }
   }

   public class When_parsing_an_expression : concern_for_PopulationAnalysisGroupingField
   {
      [Observation]
      public void should_find_fields_in_expression()
      {
         var testExpression = "[Field1] + [Field2]";
         var test = new PopulationAnalysisExpressionField(testExpression);
         test.FindFieldsIn(testExpression).ShouldContain("Field1");
         test.FindFieldsIn(testExpression).ShouldContain("Field2");
      }
   }
}


 save(self, dirName='Result'):

        """
        描述: 该函数将在字符串dirName所指向的文件夹下保存种群的信息，其中：
        "Encoding.txt"保存种群的染色体编码；
        "Field.csv"保存种群染色体的译码矩阵；
        "Chrom.csv"保存种群的染色体矩阵；
        "ObjV.csv"保存种群的目标函数矩阵；
        "FitnV.csv"保存种群个体的适应度列向量；
        "CV.csv"保存种群个体的违反约束程度矩阵；
        "Phen.csv"保存种群染色体表现型矩阵；
        注意：该函数不会对种群的合法性进行检查。

        """

        if self.sizes > 0:
            if not os.path.exists(dirName):
                os.makedirs(dirName)
            with open(dirName + '/Encoding.txt', 'w') as file:
                file.write(str(self.Encoding))
                file.close()
            if self.Encoding is not None:
                np.savetxt(dirName + '/Field.csv', self.Field, delimiter=',')
                np.savetxt(dirName + '/Chrom.csv', self.Chrom, delimiter=',')
            if self.ObjV is not None:
                np.savetxt(dirName + '/ObjV.csv', self.ObjV, delimiter=',')
            if self.FitnV is not None:
                np.savetxt(dirName + '/FitnV.csv', self.FitnV, delimiter=',')
            if self.CV is not None:
                np.savetxt(dirName + '/CV.csv', self.CV, delimiter=',')
            if self.Phen is not None:
                np.savetxt(dirName + '/Phen.csv', self.Phen, delimiter=',')
            print('种群信息导出完毕。')


# @Time    : 5/11/18 4:00 PM
# @Author  : Huaizheng Zhang
# @Site    : zhanghuaizheng.info
# @File    : camera_view_detector.py

import os
from datetime import datetime, timedelta
import scenedetect
from scenedetect.video_manager import VideoManager
from scenedetect.scene_manager import SceneManager
from scenedetect.stats_manager import StatsManager
from scenedetect.detectors import ContentDetector

class Shot_Detector(object):
    '''
    This is for detect shot in videos. In other words, the frames in each shot are very similar.
    '''
    def __init__(self):
        '''
        Init the detection manager.
        '''

        print("Init the shot detector")
        print("PySceneDetect version being used: %s" % str(scenedetect.__version__))
        self.stats_manager = StatsManager()
        self.scene_manager = SceneManager(self.stats_manager)
        self.scene_manager.add_detector(ContentDetector())

    def detect(self, video_path):
        '''

        :param video_path:

        :return: the boundary of each shot:
        '''
        if not os.path.exists(video_path):
            print('The video does not exist!')

        self.video_manager = VideoManager([video_path])
        self.base_timecode = self.video_manager.get_base_timecode()
        self.video_manager.set_downscale_factor()
        self.video_manager.start()
        self.scene_manager.detect_scenes(frame_source=self.video_manager)

        scene_list = self.scene_manager.get_scene_list(self.base_timecode)

        split_frames = [0]
        split_time = [0]
        print('List of scenes obtained:')
        for i, scene in enumerate(scene_list):
            print('    Scene %2d: Start %s / Frame %d, End %s / Frame %d' % (
                i + 1,
                scene[0].get_timecode(), scene[0].get_frames(),
                scene[1].get_timecode(), scene[1].get_frames(),))
            split_frames.append(scene[1].get_frames())
            split_time.append(self.__time_trans(scene[1].get_timecode()))
        self.video_manager.release()

        return split_frames, split_time

    def __time_trans(self, second_time):
        # TODO better time transform
        temp = datetime.strptime(second_time, '%H:%M:%S.%f')
        milliseconds = (temp - datetime(1900, 1, 1)) // timedelta(milliseconds=1)
        return milliseconds


calendar.interface';

@Injectable({
  providedIn: 'root',
})
export class CalendarCreatorService {
  public calendar: Observable<any>;
  private trainingPlan: TrainingPlan;
  constructor() {}

  private makeMonths = (trainingPlan: TrainingPlan): Date[] => {
    return eachMonthOfInterval({
      start: new Date(trainingPlan.date_from),
      end: new Date(trainingPlan.date_to),
    });
  };

  private makeMonth = (date: Date): Date[] =>
    eachDayOfInterval({
      start: date,
      end: lastDayOfMonth(date),
    });

  private addOriginalPage = (
    date: Date,
    index: number
  ): Partial<CalendarDay> => ({
    date,
    originalPage: index,
  });

  private addDayBeforeAndAfter = (
    month: Partial<CalendarDay>[]
  ): Partial<CalendarDay>[] => {
    const daysToAddToFinishLastWeek = 7 - getDay(month[month.length - 1].date);
    const daysToAddBefore =
      getDay(month[0].date) === 0 ? 6 : getDay(month[0].date) - 1;
    const daysToAddAfter =
      month.length + daysToAddBefore + daysToAddToFinishLastWeek < 42
        ? daysToAddToFinishLastWeek + 7
        : daysToAddToFinishLastWeek;
    for (let db = 0; db < daysToAddBefore; db++) {
      month.unshift({
        date: sub(month[0].date, {
          days: 1,
        }),
        originalPage: null,
      });
    }
    for (let da = 0; da < daysToAddAfter; da++) {
      month.push({
        date: add(month[month.length - 1].date, {
          days: 1,
        }),
        originalPage: null,
      });
    }
    return month;
  };

  private makePagination = (
    day: Partial<CalendarDay>,
    index: number
  ): Partial<CalendarDay> => ({
    ...day,
    page: [index],
  });

  private mergeDuplicate = (
    element: Partial<CalendarDay>,
    elementToMerge: Partial<CalendarDay>
  ): Partial<CalendarDay> => {
    element.page = [...element.page, ...elementToMerge.page];
    element.originalPage =
      element.originalPage !== null
        ? element.originalPage
        : elementToMerge.originalPage;
    return element;
  };

  private addData = (day: Partial<CalendarDay>) => {
    const associations = this.trainingPlan.calendar_assocs
      ? this.trainingPlan.calendar_assocs.filter((asso) =>
          isEqual(new Date(asso.calendar_date), day.date)
        )
      : [];
    const comments = this.trainingPlan.calendar_comments
      ? this.trainingPlan.calendar_comments.filter((comment) =>
          isEqual(new Date(comment.comment_day), day.date)
        )
      : [];
    day.associations = [...associations];
    day.comments = [...comments];
    day.trainingSessions = this.trainingPlan.training_sesion_number;
    return day;
  };

  private mergeDuplicatesAndAddData = (
    array: Partial<CalendarDay>[],
    currentElement: Partial<CalendarDay>
  ): Partial<CalendarDay>[] => {
    const day = this.addData(currentElement);
    const duplicateIndex = array.findIndex((el) => isEqual(el.date, day.date));
    duplicateIndex > -1
      ? (array[duplicateIndex] = this.mergeDuplicate(
          array[duplicateIndex],
          day
        ))
      : array.push(day);
    return array;
  };

  private createObservable = () => {
    this.calendar = from(this.makeMonths(this.trainingPlan));
    return this.calendar.pipe(
      map((data) => this.makeMonth(data)),
      mergeMap((data, index) =>
        from(data).pipe(
          m


tialize accumulators with the biases.
      vmovaps  ymm6, [r9 + 0]
      vmovaps  ymm11, [r9 + 32]
      vmovaps ymm7, ymm6
      vmovaps ymm8, ymm6
      vmovaps ymm9, ymm6
      vmovaps ymm10, ymm6
      vmovaps ymm12, ymm11
      vmovaps ymm13, ymm11
      vmovaps ymm3, ymm11
      vmovaps ymm4, ymm11
      add r9, 64

.Linner_loop:
      vmovaps  ymm14, [r9 + 0]
      vmovaps  ymm15, [r9 + 32]
      add r9, 64
      vbroadcastss ymm2, dword ptr [rcx + r11]
      vfmadd231ps  ymm6, ymm2, ymm14
      vfmadd231ps  ymm11, ymm2, ymm15
      vbroadcastss ymm2, dword ptr [rax + r11]
      vfmadd231ps  ymm7, ymm2, ymm14
      vfmadd231ps  ymm12, ymm2, ymm15
      vbroadcastss ymm2, dword ptr [r15 + r11]
      vfmadd231ps  ymm8, ymm2, ymm14
      vfmadd231ps  ymm13, ymm2, ymm15
      vbroadcastss ymm2, dword ptr [r14 + r11]
      vfmadd231ps  ymm9, ymm2, ymm14
      vfmadd231ps  ymm3, ymm2, ymm15
      vbroadcastss ymm2, dword ptr [r10 + r11]
      vfmadd231ps  ymm10, ymm2, ymm14
      vfmadd231ps  ymm4, ymm2, ymm15

      add r11, 4
      cmp rdx, r11
      jne .Linner_loop

.Linner_loop_end:
      # Min/max clamping.
      vminps  ymm6, ymm1, ymm6
      vminps  ymm8, ymm1, ymm8
      vminps  ymm10, ymm1, ymm10
      vminps  ymm12, ymm1, ymm12
      vminps  ymm3, ymm1, ymm3
      vminps  ymm7, ymm1, ymm7
      vminps  ymm9, ymm1, ymm9
      vminps  ymm11, ymm1, ymm11
      vminps  ymm13, ymm1, ymm13
      vminps  ymm4, ymm1, ymm4
      vmaxps  ymm6, ymm0, ymm6
      vmaxps  ymm8, ymm0, ymm8
      vmaxps  ymm10, ymm0, ymm10
      vmaxps  ymm12, ymm0, ymm12
      vmaxps  ymm3, ymm0, ymm3
      vmaxps  ymm7, ymm0, ymm7
      vmaxps  ymm9, ymm0, ymm9
      vmaxps  ymm11, ymm0, ymm11
      vmaxps  ymm13, ymm0, ymm13
      vmaxps  ymm4, ymm0, ymm4

      # Pop output pointers from the stack.
      mov rcx, [rsp + 24]
      mov rax, [rsp + 40]
      mov r15, [rsp + 56]
      mov r14, [rsp + 72]
      mov r10, [rsp + 88]

      # Check whether full or partial store.
      cmp rsi, 16
      jl .Ltail_8
      vmovups  [rcx], ymm6
      vmovups  [rcx + 32], ymm11
      vmovups  [rax], ymm7
      vmovups  [rax + 32], ymm12
      vmovups  [r15], ymm8
      vmovups  [r15 + 32], ymm13
      vmovups  [r14], ymm9
      vmovups  [r14 + 32], ymm3
      vmovups  [r10], ymm10
      vmovups  [r10 + 32], ymm4
      add rcx, 64
      add rax, 64
      add r15, 64
      add r14, 64
      add r10, 64


is subscription.
  late final _SynchronousSubscriptionEntry<T> _entry =
      _SynchronousSubscriptionEntry(this);

  /// Constructs a new subscription so that [func] executes on certain events.
  SynchronousSubscription(this.func);

  /// Cancels the subscription, so that [func] will no longer be called when
  /// the listened-to event occurs.
  ///
  /// Calling this will make [isActive] `false`.
  void cancel() {
    if (!_cancelled) {
      _entry.unlink();
    }
    _cancelled = true;
  }
}

/// An entry in the linked list of subscriptions for a [SynchronousEmitter].
final class _SynchronousSubscriptionEntry<T>
    extends LinkedListEntry<_SynchronousSubscriptionEntry<T>> {
  /// The subscription that this entry represents.
  final SynchronousSubscription<T> subscription;

  /// Constructs a new entry for the linked list of subscriptions.
  _SynchronousSubscriptionEntry(this.subscription);
}
// Copyright (C) 2021-2025 Intel Corporation
// SPDX-License-Identifier: BSD-3-Clause
//
// conditional_assign.dart
// Definition for conditional assignment.
//
// 2024 December
// Author: Max Korbel <max.korbel@intel.com>

import 'package:meta/meta.dart';
import 'package:rohd/rohd.dart';
import 'package:rohd/src/modules/conditionals/ssa.dart';

/// An assignment that only happens under certain conditions.
///
/// [Logic] has a short-hand for creating [ConditionalAssign] via the
///  `<` operator.
class ConditionalAssign extends Conditional {
  /// The input to this assignment.
  final Logic receiver;

  /// The output of this assignment.
  final Logic driver;

  /// Conditionally assigns [receiver] to the value of [driver].
  ConditionalAssign(this.receiver, this.driver) {
    if (driver.width != receiver.width) {
      throw PortWidthMismatchException.equalWidth(receiver, driver);
    }
  }

  @override
  String toString() => '${receiver.name} < ${driver.name}';

  @override
  late final List<Logic> receivers = [receiver];

  @override
  @protected
  List<Logic> calculateReceivers() => receivers;

  @override
  late final List<Logic> drivers = [driver];

  @override
  late final List<Conditional> conditionals = const [];

  /// A cached copy of the result of [receiverOutput] to save on lookups.
  late final Logic _receiverOutput = receiverOutput(receiver);

  @override
  void execute(Set<Logic>? drivenSignals,
      [void Function(Logic toGuard)? guard]) {
    if (guard != null) {
      guard(driver);
    }

    final currentValue = driverValue(driver);
    if (!currentValue.isValid) {
      // Use bitwise & to turn Z's into X's, but keep valid signals as-is.
      // It's too pessimistic to convert the whole bus to X.
      _receiverOutput.put(currentValue & currentValue);
    } else {
      _receiverOutput.put(currentValue);
    }

    if (drivenSignals != null &&
        (!drivenSignals.contains(receiver) || receiver.value.isValid)) {
      drivenSignals.add(receiver);
    }
  }

  @override
  String verilogContents(int indent, Map<String, String> inputsNameMap,
      Map<String, String> outputsNameMap, String assignOperator) {
    final padding = Conditional.calcPadding(indent);
    final driverName = inputsNameMap[driverInput(driver).name]!;
    final receiverName = outputsNameMap[receiverOutput(receiver).name]!;
    return '$padding$receiverName $assignOperator $driverName;';
  }

  @override
  Map<Logic, Logic> processSsa(Map<Logic, Logic> currentMappings,
      {required int context}) {
    Conditional.connect


surveyID != ""
}
// Copyright 2023 The Skaffold Authors
//
// 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.

package main

import (
	"log"
	"os"
	"os/signal"
	"runtime/coverage"
	"syscall"
)

var onlyOneCoverageSignalHandler = make(chan struct{})

// SetupCoverageSignalHandler creates a channel and relays the provided signals
// to this channel. It also starts a goroutine that receives on that channel.
// When the goroutine receives a signal, it writes profile data files to the
// directory specified by the `GOCOVERDIR` environment variable. After writing
// the data, the goroutine clears the coverage counters.
//
// Clearing the counters is only possible if the binary was built with
// `-covermode=atomic`.
//
// If no signals are provided as arguments, the function defaults to relaying
// `SIGUSR1`.
//
// If the `GOCOVERDIR` environment variable is _not_ set, this function does
// nothing.
//
// References:
// - https://go.dev/testing/coverage/
// - https://pkg.go.dev/runtime/coverage
func SetupCoverageSignalHandler(signals ...os.Signal) {
	close(onlyOneCoverageSignalHandler) // panics when called twice

	// Default to USR1 signal if no signals provided in the function argument.
	if len(signals) < 1 {
		signals = []os.Signal{syscall.SIGUSR1}
	}

	// Set up the signal handler only if GOCOVERDIR is set.
	coverDir, exists := os.LookupEnv("GOCOVERDIR")
	if !exists {
		return
	}

	log.Printf("Configuring coverage profile data signal handler, listening for %v", signals)
	c := make(chan os.Signal)
	signal.Notify(c, signals...)
	go func() {
		for {
			signal := <-c
			log.Printf("Got %v, writing coverage profile data files to %q", signal, coverDir)
			if err := coverage.WriteCountersDir(coverDir); err != nil {
				log.Printf("Could not write coverage profile data files to the directory %q: %+v", coverDir, err)
			}
			if err := coverage.ClearCounters(); err != nil {
				log.Printf("Could not reset coverage counter variables: %+v", err)
			}
		}
	}()
}
package main

import (
	"context"
	"encoding/json"
	"fmt"
	"log"
	"net/http"
	"os"
	"time"

	"go.mongodb.org/mongo-driver/mongo"
	"go.mongodb.org/mongo-driver/mongo/options"
	"go.mongodb.org/mongo-driver/mongo/readpref"
)

// guestbookEntry represents the message object returned in the API.
type guestbookEntry struct {
	Author  string    `json:"author" bson:"author"`
	Message string    `json:"message" bson:"message"`
	Date    time.Time `json:"date" bson:"date"`
}

type guestbookServer struct {
	db database
}

// main starts a server listening on $PORT responding to requests "GET
// /messages" and "


al.ScriptIntents
import org.autojs.autojs.external.fileprovider.AppFileProvider
import org.autojs.autojs.external.shortcut.Shortcut
import org.autojs.autojs.external.shortcut.ShortcutActivity
import org.autojs.autojs.runtime.api.Mime
import org.autojs.autojs.runtime.exception.ScriptInterruptedException
import org.autojs.autojs.script.ScriptSource
import org.autojs.autojs.ui.edit.EditActivity
import org.autojs.autojs.util.FileUtils
import org.autojs.autojs.util.IntentUtils
import org.autojs.autojs.util.IntentUtils.ToastExceptionHolder
import org.autojs.autojs.util.ViewUtils
import org.autojs.autojs.util.WorkingDirectoryUtils
import org.autojs.autojs6.R
import org.mozilla.javascript.RhinoException
import java.io.File
import java.io.FileFilter

/**
 * Created by Stardust on May 3, 2017.
 */
object Scripts {

    private val globalAppContext: Context = GlobalAppContext.get()

    const val ACTION_ON_EXECUTION_FINISHED = "ACTION_ON_EXECUTION_FINISHED"
    const val EXTRA_EXCEPTION_MESSAGE = "message"
    const val EXTRA_EXCEPTION_LINE_NUMBER = "lineNumber"
    const val EXTRA_EXCEPTION_COLUMN_NUMBER = "columnNumber"

    @JvmField
    val FILE_FILTER = FileFilter { file ->
        file.isDirectory ||
        file.name.endsWith(FileUtils.TYPE.JAVASCRIPT.extension, true) ||
        file.name.endsWith(FileUtils.TYPE.AUTO.extension, true)
    }

    private val BROADCAST_SENDER_SCRIPT_EXECUTION_LISTENER = object : SimpleScriptExecutionListener() {

        override fun onSuccess(execution: ScriptExecution, result: Any?) {
            globalAppContext.sendBroadcast(Intent(ACTION_ON_EXECUTION_FINISHED))
        }

        override fun onException(execution: ScriptExecution, e: Throwable) {
            val rhinoException = getRhinoException(e)
            var line = -1
            var col = 0
            if (rhinoException != null) {
                line = rhinoException.lineNumber()
                col = rhinoException.columnNumber()
            }
            if (ScriptInterruptedException.causedByInterrupt(e)) {
                globalAppContext.sendBroadcast(
                    Intent(ACTION_ON_EXECUTION_FINISHED)
                        .putExtra(EXTRA_EXCEPTION_LINE_NUMBER, line)
                        .putExtra(EXTRA_EXCEPTION_COLUMN_NUMBER, col)
                )
            } else {
                globalAppContext.sendBroadcast(
                    Intent(ACTION_ON_EXECUTION_FINISHED)
                        .putExtra(EXTRA_EXCEPTION_MESSAGE, e.message)
                        .putExtra(EXTRA_EXCEPTION_LINE_NUMBER, line)
                        .putExtra(EXTRA_EXCEPTION_COLUMN_NUMBER, col)
                )
            }
        }

    }

    @JvmStatic
    fun openByOtherApps(uri: Uri) {
        IntentUtils.viewFile(
            globalAppContext,
            uri,
            Mime.TEXT_PLAIN,
            AppFileProvider.AUTHORITY,
            ToastExceptionHolder(globalAppContext),
        )
    }

    @JvmStatic
    fun openByOtherApps(file: File) {
        openByOtherApps(Uri.fromFile(file))
    }

    fun createShortcut(context: Context, scriptFile: ScriptFile) {
        Shortcut(context).name(scriptFile.simplifiedName)
            .targetClass(ShortcutActivity::class.java)
            .iconRes(R.drawable.ic_node_js_black)
            .extras(Intent().putExtra(ScriptIntents.EXTRA_KEY_PATH, scriptFile.path))
            .send()
    }

    @JvmStatic
    fun edit(context: Context, file: ScriptFile) {
        EditActivity.editFile(context, file.simplifiedName, file


  min-height: 16px;
}
div.inline-notice,
div.page-notice,
section.page-notice {
  margin: 8px 0;
}
span.inline-notice,
span.page-notice,
a.page-notice,
button.page-notice {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
div.inline-notice,
div.page-notice,
section.page-notice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
a.page-notice {
  color: inherit;
  text-decoration: none;
}
button.page-notice {
  border-left: 0 none;
  border-right: 0 none;
  cursor: pointer;
  text-align: left;
  width: 100%;
}
.page-notice--fluid {
  width: 100%;
}
.flyout-notice--confirmation {
  border-top: 2px solid #5ba71b;
}
.flyout-notice--information {
  border-top: 2px solid #0654ba;
}
.flyout-notice--priority {
  border-top: 2px solid #dd1e31;
}
.inline-notice--priority {
  font-weight: 500;
}
.flyout-notice--priority,
.inline-notice--priority,
.page-notice--priority,
a.page-notice--priority {
  color: #dd1e31;
}
.page-notice__status span {
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  height: 24px;
  margin-left: 8px;
  margin-top: 4px;
  width: 24px;
}
.page-notice--priority .page-notice__status span,
.inline-notice--priority .inline-notice__status span {
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2732%27%20height%3D%2732%27%3E%3Cpath%20fill%3D%22%23dd1e31%22%20d%3D%22M15.991%2018.996c0%200%200%200%200%200-0.625%200-1.132-0.507-1.132-1.132%200%200%200%200%200%200v-8.737c-0.006-0.043-0.009-0.094-0.009-0.145%200-0.625%200.507-1.132%201.132-1.132s1.132%200.507%201.132%201.132c0%200.051-0.003%200.101-0.010%200.15l0.001%208.732c0%200%200%200%200%200%200%200.618-0.496%201.121-1.112%201.131z%22%3E%3C/path%3E%0A%20%20%20%20%20%20%20%20%3Cpath%20fill%3D%22%23dd1e31%22%20d%3D%22M17.401%2022.855c0%200.748-0.606%201.354-1.354%201.354s-1.354-0.606-1.354-1.354c0-0.748%200.606-1.354%201.354-1.354s1.354%200.606%201.354%201.354


 systems for custom phases as long as
// they have the flecs::Phase tag.

// Dummy system
void Sys(flecs::iter& it) {
    std::cout << "system " << it.system().name() << "\n";
}

int main(int argc, char *argv[]) {
    flecs::world ecs(argc, argv);

    // Create two custom phases that branch off of EcsOnUpdate. Note that the
    // phases have the Phase tag, which is necessary for the builtin pipeline
    // to discover which systems it should run.
    flecs::entity Physics = ecs.entity()
        .add(flecs::Phase)
        .depends_on(flecs::OnUpdate);

    flecs::entity Collisions = ecs.entity()
        .add(flecs::Phase)
        .depends_on(Physics);

    // Create 3 dummy systems.
    ecs.system("CollisionSystem")
        .kind(Collisions)
        .run(Sys);

    ecs.system("PhysicsSystem")
        .kind(Physics)
        .run(Sys);

    ecs.system("GameSystem")
        .kind(flecs::OnUpdate)
        .run(Sys);

    // Run pipeline
    ecs.progress();

    // Output
    //   system GameSystem
    //   system PhysicsSystem
    //   system CollisionSystem
}
#include <explorer.h>
#include <iostream>

using mass = flecs::units::mass;

struct Mass {
    double value;
};

int main(int argc, char *argv[]) {
    // Passing in the command line arguments will allow the explorer to display
    // the application name.
    flecs::world world(argc, argv);

    world.import<flecs::units>();
    world.import<flecs::stats>(); // Collect statistics periodically

    // Mass component
    world.component<Mass>()
        .member<double, mass::KiloGrams>("value");

    // Simple hierarchy
    flecs::entity Sun = world.entity("Sun")
        .set<Mass>({1.988500e31});

    flecs::entity Earth = world.scope(Sun).entity("Earth")
        .set<Mass>({5.9722e24});

    world.scope(Earth).entity("Moon")
        .set<Mass>({7.34767309e22});

    // Run application with REST interface. When the application is running,
    // navigate to https://flecs.dev/explorer to inspect it!
    //
    // See docs/FlecsRemoteApi.md#explorer for more information.
    // return world.app().enable_rest().run();
}
#include <basics.h>
#include <iostream>

// Observers provide a mechanism for responding to builtin and user defined
// events. They are similar to systems, in that they have the same callback
// signature and use the same query interface to match with entities, but
// instead of a phase they have an event kind.
//
// The most commonly used builtin events are:
//  - flecs::OnAdd: a component was added
//  - flecs::OnRemove: a component was removed
//  - flecs::OnSet: a component's value was changed
//
// The OnAdd and OnRemove events are only thrown when a component is
// actually added or removed. If an application invokes add and the entity
// already has the component, no event is emitted. Similarly, if an application
// invokes remove for a component the entity doesn't have, no event is
// emitted. That is in contrast to OnSet, which is invoked each time set
// or modified is invoked.
//
// Observers are different from component hooks in a number of ways:
//  - A component can only have one hook, whereas it can match many observers
//  - A hook matches one component, whereas observers can match complex queries
//  - Hooks are for add/set/remove events, observers can match custom events.

struct Position {
    double x, y;
};

int mai


Provider")

  > - `formatProductLevelQuantities($inventoryLevelRepository)`[[?]](https://github.com/oroinc/orocommerce/tree/5.0.0/src/Oro/Bundle/InventoryBundle/Inventory/LowInventoryProvider.php#L178 "Oro\Bundle\InventoryBundle\Inventory\LowInventoryProvider")
  > - `formatProductLevelQuantities($productLevelQuantities)`[[?]](https://github.com/oroinc/orocommerce/tree/5.1.0/src/Oro/Bundle/InventoryBundle/Inventory/LowInventoryProvider.php#L142 "Oro\Bundle\InventoryBundle\Inventory\LowInventoryProvider")

* The following methods in class `InventoryLevelHandler`[[?]](https://github.com/oroinc/orocommerce/tree/5.1.0/src/Oro/Bundle/InventoryBundle/Form/Handler/InventoryLevelHandler.php#L25 "Oro\Bundle\InventoryBundle\Form\Handler\InventoryLevelHandler") were changed:
  > - `__construct(FormInterface $form, ObjectManager $manager, Request $request, RoundingServiceInterface $rounding, InventoryManager $inventoryManager)`[[?]](https://github.com/oroinc/orocommerce/tree/5.0.0/src/Oro/Bundle/InventoryBundle/Form/Handler/InventoryLevelHandler.php#L45 "Oro\Bundle\InventoryBundle\Form\Handler\InventoryLevelHandler")
  > - `__construct(ObjectManager $manager, RoundingServiceInterface $rounding, InventoryManager $inventoryManager)`[[?]](https://github.com/oroinc/orocommerce/tree/5.1.0/src/Oro/Bundle/InventoryBundle/Form/Handler/InventoryLevelHandler.php#L25 "Oro\Bundle\InventoryBundle\Form\Handler\InventoryLevelHandler")

  > - `process()`[[?]](https://github.com/oroinc/orocommerce/tree/5.0.0/src/Oro/Bundle/InventoryBundle/Form/Handler/InventoryLevelHandler.php#L62 "Oro\Bundle\InventoryBundle\Form\Handler\InventoryLevelHandler")
  > - `process($data, FormInterface $form, Request $request)`[[?]](https://github.com/oroinc/orocommerce/tree/5.1.0/src/Oro/Bundle/InventoryBundle/Form/Handler/InventoryLevelHandler.php#L38 "Oro\Bundle\InventoryBundle\Form\Handler\InventoryLevelHandler")

* The `CreateOrderEventListener::__construct(InventoryQuantityManager $quantityManager, InventoryStatusHandler $statusHandler, DoctrineHelper $doctrineHelper, CheckoutLineItemsManager $checkoutLineItemsManager)`[[?]](https://github.com/oroinc/orocommerce/tree/5.0.0/src/Oro/Bundle/InventoryBundle/EventListener/CreateOrderEventListener.php#L45 "Oro\Bundle\InventoryBundle\EventListener\CreateOrderEventListener") method was changed to `CreateOrderEventListener::__construct(InventoryQuantityManager $quantityManager, InventoryStatusHandler $statusHandler, ManagerRegistry $doctrine, CheckoutLineItemsManager $checkoutLineItemsManager)`[[?]](https://github.com/oroinc/orocommerce/tree/5.1.0/src/Oro/Bundle/InventoryBundle/EventListener/CreateOrderEventListener.php#L31 "Oro\Bundle\InventoryBundle\EventListener\CreateOrderEventListener")
* The `CreateOrderLineItemValidationListener::__construct(InventoryQuantityManager $inventoryQuantityManager, DoctrineHelper $doctrineHelper, TranslatorInterface $translator, CheckoutLineItemsManager $checkoutLineItemsManager)`[[?]](https://github.com/oroinc/orocommerce/tree/5.0.0/src/Oro/Bundle/InventoryBundle/EventListener/CreateOrderLineItemValidationListener.php#L49 "Oro\Bundle\InventoryBundle\EventListener\Crea


import argparse

from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import torch
from tqdm import tqdm

from manopth import argutils
from manopth.manolayer import ManoLayer
from manopth.demo import display_hand

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--batch_size', default=1, type=int)
    parser.add_argument('--cuda', action='store_true')
    parser.add_argument(
        '--no_display',
        action='store_true',
        help="Disable display output of ManoLayer given random inputs")
    parser.add_argument('--side', default='left', choices=['left', 'right'])
    parser.add_argument('--random_shape', action='store_true', help="Random hand shape")
    parser.add_argument('--rand_mag', type=float, default=1, help="Controls pose variability")
    parser.add_argument(
        '--flat_hand_mean',
        action='store_true',
        help="Use flat hand as mean instead of average hand pose")
    parser.add_argument(
        '--iters',
        type=int,
        default=1,
        help=
        "Use for quick profiling of forward and backward pass accross ManoLayer"
    )
    parser.add_argument('--mano_root', default='mano/models')
    parser.add_argument('--root_rot_mode', default='axisang', choices=['rot6d', 'axisang'])
    parser.add_argument('--no_pca', action='store_true', help="Give axis-angle or rotation matrix as inputs instead of PCA coefficients")
    parser.add_argument('--joint_rot_mode', default='axisang', choices=['rotmat', 'axisang'], help="Joint rotation inputs")
    parser.add_argument(
        '--mano_ncomps', default=6, type=int, help="Number of PCA components")
    args = parser.parse_args()

    argutils.print_args(args)

    layer = ManoLayer(
        flat_hand_mean=args.flat_hand_mean,
        side=args.side,
        mano_root=args.mano_root,
        ncomps=args.mano_ncomps,
        use_pca=not args.no_pca,
        root_rot_mode=args.root_rot_mode,
        joint_rot_mode=args.joint_rot_mode)
    if args.root_rot_mode == 'axisang':
        rot = 3
    else:
        rot = 6
    print(rot)
    if args.no_pca:
        args.mano_ncomps = 45

    # Generate random pose coefficients
    pose_params = args.rand_mag * torch.rand(args.batch_size, args.mano_ncomps + rot)
    pose_params.requires_grad = True
    if args.random_shape:
        shape = torch.rand(args.batch_size, 10)
    else:
        shape = torch.zeros(1)  # Hack to act like None for PyTorch JIT
    if args.cuda:
        pose_params = pose_params.cuda()
        shape = shape.cuda()
        layer.cuda()

    # Loop for forward/backward quick profiling
    for idx in tqdm(range(args.iters)):
        # Forward pass
        verts, Jtr = layer(pose_params, th_betas=shape)

        # Backward pass
        loss = torch.norm(verts)
        loss.backward()

    if not args.no_display:
        verts, Jtr = layer(pose_params, th_betas=shape)
        joints = Jtr.cpu().detach()
        verts = verts.cpu().detach()

        # Draw obtained vertices and joints
        display_hand({
            'verts': verts,
            'joints': joints
        },
                     mano_faces=layer.th_faces)


class EdgeArrayArrayIterator(APIObject,IDisposable,IEnumerator):
 """
 An iterator to an array or edge arrays.

 EdgeArrayArrayIterator()
 """
 def Dispose(self):
  """ Dispose(self: EdgeArrayArrayIterator,A_0: bool) """
  pass
 def MoveNext(self):
  """
  MoveNext(self: EdgeArrayArrayIterator) -> bool

   Move the iterator one item forward.

   Returns: Returns True if the iterator was successfully moved forward one item and the

    Current

     property will return a valid item. False will be returned

    it the iterator has reached the end of

     the array.
  """
  pass
 def next(self,*args):
  """ next(self: object) -> object """
  pass
 def ReleaseManagedResources(self,*args):
  """ ReleaseManagedResources(self: APIObject) """
  pass
 def ReleaseUnmanagedResources(self,*args):
  """ ReleaseUnmanagedResources(self: APIObject) """
  pass
 def Reset(self):
  """
  Reset(self: EdgeArrayArrayIterator)

   Bring the iterator back to the start of the array.
  """
  pass
 def __enter__(self,*args):
  """ __enter__(self: IDisposable) -> object """
  pass
 def __exit__(self,*args):
  """ __exit__(self: IDisposable,exc_type: object,exc_value: object,exc_back: object) """
  pass
 def __init__(self,*args):
  """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
  pass
 def __iter__(self,*args):
  """ __iter__(self: IEnumerator) -> object """
  pass
 Current=property(lambda self: object(),lambda self,v: None,lambda self: None)
 """Retrieves the item that is the current focus of the iterator.

Get: Current(self: EdgeArrayArrayIterator) -> object

"""


, e: E) -> Result<E::Ok, E::Error> {
        e.encode_str(&self.id)
    }
}

impl<'en> IntoStream<'en> for Id {
    fn into_stream<E: Encoder<'en>>(self, e: E) -> Result<E::Ok, E::Error> {
        e.encode_str(&self.id)
    }
}
extern crate bomberman_wasm;

#[cfg(test)]
mod test {
  use bomberman_wasm::models::{Bomb, Tile, Tiles};

  #[test]
  fn explosion_includes_soft_blocks() {
    let tiles = (0..9).map(|i| {
      if i % 2 == 1 { Tile::SoftBlock } else { Tile::Empty }
    }).collect();
    let tiles = Tiles::new(tiles, 3, 3);
    let bomb = Bomb::new(1, 1, 1.0, 1.0);

    let explosion = bomb.calc_explosion(&tiles);

    assert_eq!(explosion.x, 1);
    assert_eq!(explosion.y, 1);
    assert_eq!(explosion.left, 1);
    assert_eq!(explosion.right, 1);
    assert_eq!(explosion.up, 1);
    assert_eq!(explosion.down, 1);
  }

  #[test]
  fn explosion_does_not_include_hard_blocks() {
    let tiles = (0..9).map(|i| {
      if i % 2 == 1 { Tile::HardBlock } else { Tile::Empty }
    }).collect();
    let tiles = Tiles::new(tiles, 3, 3);
    let bomb = Bomb::new(1, 1, 1.0, 1.0);

    let explosion = bomb.calc_explosion(&tiles);

    assert_eq!(explosion.x, 1);
    assert_eq!(explosion.y, 1);
    assert_eq!(explosion.left, 0);
    assert_eq!(explosion.right, 0);
    assert_eq!(explosion.up, 0);
    assert_eq!(explosion.down, 0);
  }

  #[test]
  fn explosion_includes_powerups() {
    let tiles = (0..9).map(|i| {
      match i {
        1 => Tile::PowerupBombNumber,
        3 => Tile::PowerupBombPower,
        5 => Tile::PowerupSpeed,
        7 => Tile::PowerupBoots,
        _ => Tile::Empty,
      }
    }).collect();
    let tiles = Tiles::new(tiles, 3, 3);
    let bomb = Bomb::new(1, 1, 1.0, 1.0);

    let explosion = bomb.calc_explosion(&tiles);

    assert_eq!(explosion.x, 1);
    assert_eq!(explosion.y, 1);
    assert_eq!(explosion.left, 1);
    assert_eq!(explosion.right, 1);
    assert_eq!(explosion.up, 1);
    assert_eq!(explosion.down, 1);
  }

  #[test]
  fn explosion_does_not_go_out_of_bounds_at_top_left() {
    let tiles = vec![Tile::Empty; 9];
    let tiles = Tiles::new(tiles, 3, 3);
    let bomb = Bomb::new(1, 1, 0.0, 0.0);

    let explosion = bomb.calc_explosion(&tiles);

    assert_eq!(explosion.x, 0);
    assert_eq!(explosion.y, 0);
    assert_eq!(explosion.left, 0);
    assert_eq!(explosion.right, 1);
    assert_eq!(explosion.up, 0);
    assert_eq!(explosion.down, 1);
  }

  #[test]
  fn explosion_does_not_go_out_of_bounds_at_bottom_right() {
    let tiles = vec![Tile::Empty; 9];
    let tiles = Til


bo?q=%23%E4%BD%A0%E4%BC%9A%E4%B8%BA%E5%8F%A6%E4%B8%80%E5%8D%8A%E5%88%A0%E9%99%A4%E6%9C%8B%E5%8F%8B%E7%9A%84%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F%E5%90%97%23)
    - 《女儿们的恋爱4》中孟子义好友曹曦月提问男嘉宾王厚杰 是否愿意为了另一半删除最好的异性朋友联系方式，王厚杰回答“会”。你会为另一半删除朋友的联系方式吗？
    - 7282讨论 4935.2万阅读
1. [#现代潮流如何演绎古代文明#](https://s.weibo.com/weibo?q=%23%E7%8E%B0%E4%BB%A3%E6%BD%AE%E6%B5%81%E5%A6%82%E4%BD%95%E6%BC%94%E7%BB%8E%E5%8F%A4%E4%BB%A3%E6%96%87%E6%98%8E%23)
    - 五千年中华文明瑰宝发起终极跨界，用现代潮流的方式打开古代文物！这就是潮流总决赛选手们的文创设计十分高能快来看看吧！
    - 1万讨论 2742.3万阅读
1. [#明日5第五期观后感#](https://s.weibo.com/weibo?q=%23%E6%98%8E%E6%97%A55%E7%AC%AC%E4%BA%94%E6%9C%9F%E8%A7%82%E5%90%8E%E6%84%9F%23)
    - 看完明日创作计划第五期，你们有什么感想想要说说呢？
    - 93万讨论 8740.5万阅读
1. [#郑州40万辆泡水车去哪儿了#](https://s.weibo.com/weibo?q=%23%E9%83%91%E5%B7%9E40%E4%B8%87%E8%BE%86%E6%B3%A1%E6%B0%B4%E8%BD%A6%E5%8E%BB%E5%93%AA%E5%84%BF%E4%BA%86%23)
    - 泡水车流向市场的渠道无非是由二手车商直接从车主手中收购，经维修后流入二手车市场，或者是保险公司进行残值处理的“全损车”，由维修厂等竞拍后修复转售，“第二种情况更多一些”。
    - 4450讨论 2.6亿阅读
1. [#周生如故和一生一世前后呼应的情节#](https://s.weibo.com/weibo?q=%23%E5%91%A8%E7%94%9F%E5%A6%82%E6%95%85%E5%92%8C%E4%B8%80%E7


ttVals::pto()` are routed through a central point
    // because that ensures consistency, but we often have a mutable borrow on other
    // pieces of `self` that prevents that.
    // An associated function avoids another borrow on `&self`.
    fn pto_raw_inner(rtt_vals: &RttVals, space: PNSpace) -> Duration {
        rtt_vals.pto(space)
    }

    // Borrow checker hack, see above.
    fn pto_period_inner(
        rtt_vals: &RttVals,
        pto_state: &Option<PtoState>,
        pn_space: PNSpace,
    ) -> Duration {
        Self::pto_raw_inner(rtt_vals, pn_space)
            .checked_mul(1 << pto_state.as_ref().map_or(0, |p| p.count))
            .unwrap_or(LOCAL_IDLE_TIMEOUT * 2)
    }

    /// Get the Base PTO value, which is derived only from the `RTT` and `RTTvar` values.
    /// This is for those cases where you need a value for the time you might sensibly
    /// wait for a packet to propagate.  Using `3*pto_raw(..)` is common.
    pub fn pto_raw(&self, space: PNSpace) -> Duration {
        Self::pto_raw_inner(&self.rtt_vals, space)
    }

    /// Get the current PTO period for the given packet number space.
    /// Unlike `pto_raw`, this includes calculation for the exponential backoff.
    fn pto_period(&self, pn_space: PNSpace) -> Duration {
        Self::pto_period_inner(&self.rtt_vals, &self.pto_state, pn_space)
    }

    // Calculate PTO time for the given space.
    fn pto_time(&self, pn_space: PNSpace) -> Option<Instant> {
        if self.confirmed_time.is_none() && pn_space == PNSpace::ApplicationData {
            None
        } else if let Some(space) = self.spaces.get(pn_space) {
            space.pto_base_time().map(|t| t + self.pto_period(pn_space))
        } else {
            None
        }
    }

    /// Find the earliest PTO time for all active packet number spaces.
    /// Ignore Application if either Initial or Handshake have an active PTO.
    fn earliest_pto(&self) -> Option<Instant> {
        if self.confirmed_time.is_some() {
            self.pto_time(PNSpace::ApplicationData)
        } else {
            self.pto_time(PNSpace::Initial)
                .iter()
                .chain(self.pto_time(PNSpace::Handshake).iter())
                .min()
                .cloned()
        }
    }

    fn fire_pto(&mut self, pn_space: PNSpace, allow_probes: PNSpaceSet) {
        if let Some(st) = &mut self.pto_state {
            st.pto(pn_space, allow_probes);
        } else {
            self.pto_state = Some(PtoState::new(pn_space, allow_probes));
        }
        qlog::metrics_updated(
            &mut self.qlog,
            &[QlogMetric::PtoCount(
                self.pto_state.as_ref().unwrap().count(),
            )],
        );
    }

    /// This checks whether the PTO timer has fired and fires it if needed.
    /// When it has, mark a few packets as "lost" for the purposes of having frames
    /// regenerated in subsequent packets.  The packets aren't truly lost, so
    /// we have to clone the `SentPacket` instance.
    fn maybe_fire_pto(&mut self, now: Instant, lost: &mut Vec<SentPacket>) {
        let mut pto_space = None;
        // The spaces in which we will allow probing.
        let mut allow_probes = PNSpaceSet::default();
        for pn_space in PNSpace::


eric_cols[0]
            temporal_mean = df.groupby(date_col)[value_col].mean()
            fig.add_trace(
                go.Scatter(x=temporal_mean.index, y=temporal_mean.values,
                          mode='lines', name=f'{value_col} Trend'),
                row=2, col=2
            )

        # Update layout
        fig.update_layout(
            title_text="Clinical Data Interactive Dashboard",
            showlegend=True,
            height=800
        )

        if output_path:
            fig.write_html(output_path)
            logger.info(f"Interactive dashboard saved to {output_path}")

        fig.show()

    def save_all_plots(self, df: pd.DataFrame, output_dir: str) -> None:
        """
        Generate and save all standard clinical plots.

        Args:
            df: DataFrame containing clinical data
            output_dir: Directory to save plots
        """
        output_path = Path(output_dir)
        output_path.mkdir(parents=True, exist_ok=True)

        logger.info(f"Generating all clinical plots in {output_dir}")

        # Generate all plots
        try:
            self.plot_risk_factor_distributions(df,
                output_path=str(output_path / 'risk_factor_distributions.png'))
        except Exception as e:
            logger.warning(f"Failed to generate risk factor distributions: {e}")

        try:
            self.plot_correlation_heatmap(df,
                output_path=str(output_path / 'correlation_heatmap.png'))
        except Exception as e:
            logger.warning(f"Failed to generate correlation heatmap: {e}")

        try:
            self.plot_metabolic_syndrome_analysis(df,
                output_path=str(output_path / 'metabolic_syndrome_analysis.png'))
        except Exception as e:
            logger.warning(f"Failed to generate metabolic syndrome analysis: {e}")

        try:
            self.create_interactive_dashboard(df,
                output_path=str(output_path / 'interactive_dashboard.html'))
        except Exception as e:
            logger.warning(f"Failed to generate interactive dashboard: {e}")

        logger.info("All clinical plots generated successfully")


"VS_NUSHI_HIKOU_2ND_EV_B"
    elseif 1 == A1_2 then
      L2_2 = "VS_NUSHI_HAGANE_2ND_EV_B"
    elseif 2 == A1_2 then
      L2_2 = "VS_NUSHI_IWA_2ND_EV_B"
    elseif 3 == A1_2 then
      L2_2 = "VS_NUSHI_JIMEN_2ND_EV_B"
    elseif 4 == A1_2 then
      L2_2 = "VS_NUSHI_DRAGON_2ND_EV_B"
    else
      L2_2 = nil
    end
  elseif 2 == L3_2 then
    if 0 == A1_2 then
      L2_2 = "VS_NUSHI_HIKOU_2ND_EV_C"
    elseif 1 == A1_2 then
      L2_2 = "VS_NUSHI_HAGANE_2ND_EV_C"
    elseif 2 == A1_2 then
      L2_2 = "VS_NUSHI_IWA_2ND_EV_C"
    elseif 3 == A1_2 then
      L2_2 = "VS_NUSHI_JIMEN_2ND_EV_C"
    elseif 4 == A1_2 then
      L2_2 = "VS_NUSHI_DRAGON_2ND_EV_C"
    else
      L2_2 = nil
    end
  elseif 3 == L3_2 then
    if 0 == A1_2 then
      L2_2 = "VS_NUSHI_HIKOU_2ND_BATTLE"
    elseif 1 == A1_2 then
      L2_2 = "VS_NUSHI_HAGANE_2ND_BATTLE"
    elseif 2 == A1_2 then
      L2_2 = "VS_NUSHI_IWA_2ND_BATTLE"
    elseif 3 == A1_2 then
      L2_2 = "VS_NUSHI_JIMEN_2ND_BATTLE"
    elseif 4 == A1_2 then
      L2_2 = "VS_NUSHI_DRAGON_2ND_BATTLE"
    else
      L2_2 = nil
    end
  elseif 4 == L3_2 then
    if 0 == A1_2 then
      L2_2 = "VS_NUSHI_HIKOU_2ND_WIN"
    elseif 1 == A1_2 then
      L2_2 = "VS_NUSHI_HAGANE_2ND_WIN"
    elseif 2 == A1_2 then
      L2_2 = "VS_NUSHI_IWA_2ND_WIN"
    elseif 3 == A1_2 then
      L2_2 = "VS_NUSHI_JIMEN_2ND_WIN"
    elseif 4 == A1_2 then
      function L4_2()
        local L0_3, L1_3
        L0_3 = nil
        L1_3 = CD6E40BD5CE9657FC
        L1_3 = L1_3.S643F130630AFAA29
        if not L1_3 then
          L0_3 = "VS_NUSHI_DRAGON_2ND_WIN"
        else
          L0_3 = "VS_NUSHI_DRAGON_3RD_WIN"
        end
        return L0_3
      end
      L4_2 = L4_2()
      L2_2 = L4_2
    else
      L2_2 = nil
    end
  elseif 5 == L3_2 then
    if 0 == A1_2 then
      L2_2 = "VS_NUSHI_HIKOU_2ND_WIN_DEMO"
    elseif 1 == A1_2 then
      L2_2 = "VS_NUSHI_HAGANE_


 1323.835 | 1218.417 | -7.96% |
|  aliyun_ecs.g8i.large |  gson | 985.241 | 1018.019 | 3.33% |
|  aliyun_ecs.g8y.large |  gson | 1338.74 | 1484.494 | 10.89% |
|  orangepi5p |  gson | 1043.902 | 1096.793 | 5.07% |
## 11 EishayParseUTF8BytesPretty
| aliyun ecs spec | jdk version 	|	fastjson2	|	fastjson1	|	jackson	|	gson |
|-----|-----|----------|----------|----------|-----|
| aliyun_ecs.g8i.large | jdk1.8.0_371	|	1765.587	|	548.961 (31.09%)	|	1037.987 (58.79%)	|	713.592 (40.42%) |
|  | jdk-11.0.19	|	1591.899	|	539.805 (33.91%)	|	1004.984 (63.13%)	|	706.299 (44.37%) |
|  | jdk-17.0.7	|	2066.62	|	576.715 (27.91%)	|	947.916 (45.87%)	|	745.389 (36.07%) |
|  | graalvm_17.0.7+8.1	|	2074.906	|	790.539 (38.1%)	|	1074.671 (51.79%)	|	908.508 (43.79%) |
| aliyun_ecs.g8y.large | jdk1.8.0_371	|	1813.87	|	833.009 (45.92%)	|	1434.672 (79.09%)	|	914.953 (50.44%) |
|  | jdk-11.0.19	|	3140.695	|	830.401 (26.44%)	|	1351.382 (43.03%)	|	1082.025 (34.45%) |
|  | jdk-17.0.7	|	3214.929	|	888.816 (27.65%)	|	1392.019 (43.3%)	|	1060.657 (32.99%) |
|  | graalvm_17.0.7+8.1	|	3482.32	|	1086.35 (31.2%)	|	1337.733 (38.41%)	|	1247.382 (35.82%) |
| orangepi5p | jdk1.8.0_371	|	2343.465	|	652.82 (27.86%)	|	1250.401 (53.36%)	|	727.628 (31.05%) |
|  | jdk-11.0.19	|	2227.612	|	652.677 (29.3%)	|	1227.034 (55.08%)	|	781.262 (35.07%) |
|  | jdk-17.0.7	|	2570.856	|	732.027 (28.47%)	|	1205.866 (46.91%)	|	777.779 (30.25%) |
|  | graalvm_17.0.7+8.1	|	2627.663	|	804.617 (30.62%)	|	1088.258 (41.42%)	|	904.101 (34.41%) |

### 11.1 jdk17 vs graalvm17
|  ecs | library | jdk-17.0.7 | graalvm-jdk-17.0.7+8.1 | delta |
|-----|-----|-----|-----|-----|
|  aliyun_ecs.g8i.large |  fastjson2 | 2066.62 | 2074.906 | 0.4% |
|  aliyun_ecs.g8y.large |  fastjson2 | 3214.929 | 3482.32